Browse Source

fix: display original page name

Tienson Qin 4 years ago
parent
commit
d53ed3fb69

+ 5 - 31
src/main/frontend/components/right_sidebar.cljs

@@ -11,6 +11,7 @@
             [frontend.handler.graph :as graph-handler]
             [frontend.state :as state]
             [frontend.db :as db]
+            [frontend.db.model :as db-model]
             [frontend.util :as util]
             [frontend.date :as date]
             [medley.core :as medley]
@@ -72,30 +73,6 @@
                                     {:page page}))))}
           page]))]))
 
-(rum/defcs foldable-list <
-  (rum/local false ::fold?)
-  [state page l]
-  (let [fold? (get state ::fold?)]
-    [:div
-     [:div.flex.flex-row.items-center.mb-1
-      [:a.control.opacity-50.hover:opacity-100
-       {:on-click #(swap! fold? not)
-        :style {:width "0.75rem"}}
-       (when (seq l)
-         (if @fold?
-           svg/arrow-down-v2
-           svg/arrow-right-v2))]
-
-      [:a.ml-2 {:key (str "contents-" page)
-                :href (rfe/href :page {:name page})}
-       (util/capitalize-all page)]]
-     (when (seq l)
-       [:div.contents-list.ml-4 {:class (if @fold? "hidden" "initial")}
-        (for [{:keys [page list]} l]
-          (rum/with-key
-            (foldable-list page list)
-            (str "toc-item-" page)))])]))
-
 (rum/defc contents < rum/reactive db-mixins/query
   []
   [:div.contents.flex-col.flex.ml-3
@@ -122,7 +99,7 @@
     [(t :right-side-bar/help) (onboarding/help)]
 
     :page-graph
-    [(str (t :right-side-bar/graph-ref) (util/capitalize-all block-data))
+    [(str (t :right-side-bar/graph-ref) (db-model/get-page-original-name block-data))
      (page-graph block-data)]
 
     :block-ref
@@ -145,15 +122,12 @@
           (block-cp repo idx block-data)]]))
 
     :page
-    (let [page-name (:page/name block-data)
-          page (db/pull [:page/name (string/lower-case page-name)])
-          page-name (or (:page/original-name page)
-                        (:page/name page))]
+    (let [page-name (:page/name block-data)]
       [[:a {:href (rfe/href :page {:name page-name})
             :on-click (fn [e]
                         (when (gobj/get e "shiftKey")
                           (.preventDefault e)))}
-        page-name]
+        (db-model/get-page-original-name page-name)]
        [:div.ml-2
         (page-cp repo page-name)]])
 
@@ -170,7 +144,7 @@
                                                        :sidebar? true
                                                        :page-name page-name})]
       [[:a {:href (str "/page/" (util/url-encode page-name))}
-        (util/capitalize-all page-name)]
+        (db-model/get-page-original-name page-name)]
        [:div.ml-2.slide.mt-2
         (slide/slide sections)]])
 

+ 7 - 0
src/main/frontend/db/model.cljs

@@ -716,6 +716,13 @@
               (or file-name first-block-name)
               (or first-block-name file-name)))))))
 
+(defn get-page-original-name
+  [page-name]
+  (when page-name
+    (let [page (db-utils/pull [:page/name (string/lower-case page-name)])]
+      (or (:page/original-name page)
+          (:page/name page)))))
+
 (defn get-block-content
   [utf8-content block]
   (let [meta (:block/meta block)]

+ 1 - 1
src/main/frontend/handler/graph.cljs

@@ -51,7 +51,7 @@
                        (map string/lower-case))
         names (db/pull-many '[:page/name :page/original-name] (mapv (fn [page] [:page/name page]) all-pages))
         names (zipmap (map :page/name names)
-                      (map (fn [x] (get x :page/original-name (util/capitalize-all (:page/name x)))) names))
+                      (map (fn [x] (get x :page/original-name (:page/name x))) names))
         nodes (mapv (fn [node] (assoc node :id (get names (:id node)))) nodes)
         links (mapv (fn [{:keys [source target]}]
                       {:source (get names source)

+ 4 - 1
src/main/frontend/handler/route.cljs

@@ -60,7 +60,10 @@
               (str (subs content 0 48) "...")
               content))
           "Page no longer exists!!")
-        (util/capitalize-all (util/url-decode name))))
+        (let [page (util/url-decode name)
+              page (db/pull [:page/name (string/lower-case page)])]
+          (or (:page/original-name page)
+              (:page/name page)))))
     :tag
     (str "#" (util/url-decode (:name path-params)))
     :diff