Browse Source

fix(editor): aliases support searching

Also, fixed 1029
Tienson Qin 5 years ago
parent
commit
153108b75b

+ 1 - 2
src/main/frontend/components/block.cljs

@@ -245,7 +245,7 @@
   [{:keys [html-export? label children contents-page?] :as config} page]
   (when-let [page-name (:page/name page)]
     (let [source-page (model/get-alias-source-page (state/get-current-repo)
-                                                   page-name)
+                                                   (string/lower-case page-name))
           original-page-name (get page :page/original-name page-name)
           original-page-name (if (date/valid-journal-title? original-page-name)
                                (string/capitalize original-page-name)
@@ -336,7 +336,6 @@
 (rum/defc page-embed < rum/reactive db-mixins/query
   [config page-name]
   (let [page-name (string/lower-case page-name)
-        page-original-name (:page/original-name (db/entity [:page/name page-name]))
         current-page (state/get-current-page)]
     [:div.color-level.embed.embed-page.bg-base-2
      {:class (if (:sidebar? config) "in-sidebar")}

+ 2 - 1
src/main/frontend/components/search.cljs

@@ -177,7 +177,8 @@
 
                           :block
                           (let [{:block/keys [page content indexes]} data]
-                            (let [page (:page/original-name page)]
+                            (let [page (or (:page/original-name page)
+                                           (:page/name page))]
                               [:div.flex-1
                                [:div.text-sm.font-medium page]
                                (highlight-fuzzy content indexes)]))

+ 3 - 2
src/main/frontend/db/model.cljs

@@ -88,9 +88,10 @@
 (defn get-pages
   [repo]
   (->> (d/q
-        '[:find ?page-name
+        '[:find ?page-original-name
           :where
-          [?page :page/original-name ?page-name]]
+          [?page :page/name ?page-name]
+          [(get-else $ ?page :page/original-name ?page-name) ?page-original-name]]
         (conn/get-conn repo))
        (map first)))
 

+ 3 - 2
src/main/frontend/search.cljs

@@ -214,13 +214,14 @@
             pages (:page/name datoms)
             blocks (:block/content datoms)]
         (when (seq pages)
-          (let [pages-result (db/pull-many '[:db/id :page/original-name] (set (map :e pages)))
+          (let [pages-result (db/pull-many '[:db/id :page/name :page/original-name] (set (map :e pages)))
                 pages-to-add-set (->> (filter :added pages)
                                       (map :e)
                                       (set))
                 pages-to-add (->> (filter (fn [page]
                                             (contains? pages-to-add-set (:db/id page))) pages-result)
-                                  (map (fn [p] {:name (:page/original-name p)}))
+                                  (map (fn [p] {:name (or (:page/original-name p)
+                                                          (:page/name p))}))
                                   (set))
                 pages-to-remove-set (->> (remove :added pages)
                                          (map :v)