Tienson Qin 9 месяцев назад
Родитель
Сommit
b9c385d2e3

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

@@ -159,7 +159,7 @@
     (hooks/use-effect!
      (fn []
        (p/let [repo (state/get-current-repo)
-               properties (db-async/<db-based-get-all-properties repo)
+               properties (db-async/db-based-get-all-properties repo)
                classes (->> (db-model/get-all-classes repo)
                             (remove ldb/built-in?))]
          (set-classes! classes)

+ 20 - 11
src/main/frontend/components/property/value.cljs

@@ -661,11 +661,7 @@
                                       (conj (:block/uuid block))) ; break cycle
                       options (if (ldb/class? block)
                                 (model/get-all-classes repo)
-                                (when (ldb/internal-page? block)
-                                  (cond->>
-                                   (->> (model/get-all-pages repo)
-                                        (filter ldb/internal-page?)
-                                        (remove ldb/built-in?)))))
+                                result)
                       excluded-options (remove (fn [e] (contains? exclude-ids (:block/uuid e))) options)]
                   excluded-options)
 
@@ -817,14 +813,27 @@
                            class?
                            (conj (frontend.db/entity :logseq.class/Tag)))
         parent-property? (= (:db/ident property) :logseq.property/parent)]
-    (when (and (not parent-property?) (seq non-root-classes))
-      ;; effect runs once
-      (hooks/use-effect!
-       (fn []
+
+    ;; effect runs once
+    (hooks/use-effect!
+     (fn []
+       (cond
+         (and parent-property? (not (ldb/class? block))
+              (ldb/internal-page? block))
+         (p/let [result (db-async/<get-tag-pages repo (:db/id (db/entity :logseq.class/Page)))
+                 result' (->> result
+                              (remove ldb/built-in?))]
+           (set-result! result'))
+
+         parent-property?
+         nil
+
+         (seq non-root-classes)
          (p/let [result (p/all (map (fn [class] (db-async/<get-tag-objects repo (:db/id class))) non-root-classes))
                  result' (distinct (apply concat result))]
-           (set-result! result')))
-       []))
+           (set-result! result'))))
+     [])
+
     (select-node property opts' result)))
 
 (rum/defcs select < rum/reactive db-mixins/query

+ 4 - 4
src/main/frontend/db/async.cljs

@@ -51,7 +51,7 @@
     (p/let [templates (<get-all-templates repo)]
       (get templates name))))
 
-(defn <db-based-get-all-properties
+(defn db-based-get-all-properties
   "Return seq of all property names except for private built-in properties."
   [graph & {:keys [remove-built-in-property? remove-non-queryable-built-in-property?]
             :or {remove-built-in-property? true
@@ -80,7 +80,7 @@
   [& {:as opts}]
   (when-let [graph (state/get-current-repo)]
     (if (config/db-based-graph? graph)
-      (<db-based-get-all-properties graph opts)
+      (db-based-get-all-properties graph opts)
       (p/let [properties (file-async/<file-based-get-all-properties graph)
               hidden-properties (set (map name (property-util/hidden-properties)))]
         (remove #(hidden-properties (:block/title %)) properties)))))
@@ -274,8 +274,8 @@
 
 (defn <get-tag-pages
   [graph tag-id]
-  (<q graph {:transact-db? true}
-      '[:find [(pull ?page [:db/id :block/uuid :block/name :block/title :block/created-at :block/updated-at])]
+  (<q graph {:transact-db? false}
+      '[:find [(pull ?page [:db/id :block/uuid :block/name :block/title :block/created-at :block/updated-at]) ...]
         :in $ ?tag-id
         :where
         [?page :block/tags ?tag-id]