Răsfoiți Sursa

fix: load page tags

Tienson Qin 1 an în urmă
părinte
comite
bee1cbfeb5

+ 13 - 6
deps/db/src/logseq/db/sqlite/common_db.cljs

@@ -52,6 +52,10 @@
     :else
     block))
 
+(defn- with-tags
+  [db block]
+  (update block :block/tags (fn [tags] (d/pull-many db '[*] (map :db/id tags)))))
+
 (defn- mark-block-fully-loaded
   [b]
   (assoc b :block.temp/fully-loaded? true))
@@ -82,8 +86,9 @@
           (assoc :children (get-children (:block/_parent block)))))
       (when-let [block (or block (d/entity db [:block/name name]))]
         (cond->
-         {:block (-> (d/pull db '[*] (:db/id block))
-                     mark-block-fully-loaded)}
+         {:block (->> (d/pull db '[*] (:db/id block))
+                      (with-tags db)
+                      mark-block-fully-loaded)}
           children?
           (assoc :children
                  (if (contains? (:block/type block) "whiteboard")
@@ -113,10 +118,12 @@
 
 (defn get-structured-blocks
   [db]
-  (->> (d/datoms db :avet :block/type)
-       (keep (fn [e]
-               (when (contains? #{"closed value"} (:v e))
-                 (d/pull db '[*] (:e e)))))))
+  (let [special-pages (map #(d/pull db '[*] [:block/name %]) #{"tags"})
+        closed-values (->> (d/datoms db :avet :block/type)
+                           (keep (fn [e]
+                                   (when (contains? #{"closed value"} (:v e))
+                                     (d/pull db '[*] (:e e))))))]
+    (concat special-pages closed-values)))
 
 (defn get-initial-data
   "Returns initial data"

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

@@ -852,7 +852,7 @@
      [:section.flex.items-center.p-1.embed-header
       [:div.mr-3 svg/page]
       (page-cp config {:block/name page-name})]
-     (if (state/sub-async-query-loading page-name)
+     (if (and page-name (state/sub-async-query-loading page-name))
        [:span "Loading..."]
        (when (and
               (not= (util/page-name-sanity-lc (or current-page ""))

+ 1 - 1
src/main/frontend/components/page.cljs

@@ -461,7 +461,7 @@
              (db-async/<get-block (state/get-current-repo) page-name')
              (assoc state ::page-name page-name')))}
   [state {:keys [repo page-name preview? sidebar?] :as option}]
-  (let [loading? (state/sub-async-query-loading (::page-name state))]
+  (let [loading? (when (::page-name state)  (state/sub-async-query-loading (::page-name state)))]
     (when-let [path-page-name (get-path-page-name state page-name)]
       (let [current-repo (state/sub :git/current-repo)
             repo (or repo current-repo)