Browse Source

fix: no need to query memory db for objects

Tienson Qin 7 tháng trước cách đây
mục cha
commit
48e8ab4f97
2 tập tin đã thay đổi với 10 bổ sung38 xóa
  1. 10 17
      src/main/frontend/components/objects.cljs
  2. 0 21
      src/main/frontend/db/async.cljs

+ 10 - 17
src/main/frontend/components/objects.cljs

@@ -44,12 +44,11 @@
    :disable-hide? true})
 
 (rum/defc class-objects-inner < rum/static
-  [config class objects properties]
-  (let [[data set-data!] (rum/use-state objects)
+  [config class properties]
+  (let [[data set-data!] (rum/use-state nil)
         ;; Properties can be nil for published private graphs
         properties' (remove nil? properties)
-        columns* (views/build-columns config properties' {:add-tags-column? (or (= (:db/ident class) :logseq.class/Root)
-                                                                                (> (count (distinct (mapcat :block/tags objects))) 1))})
+        columns* (views/build-columns config properties' {:add-tags-column? true})
         columns (cond
                   (= (:db/ident class) :logseq.class/Pdf-annotation)
                   (remove #(contains? #{:logseq.property/ls-type} (:id %)) columns*)
@@ -101,8 +100,7 @@
                                        (let [page-ids (map :db/id pages)
                                              tx-data (map (fn [pid] [:db/retract pid :block/tags (:db/id class)]) page-ids)]
                                          (when (seq tx-data)
-                                           (outliner-op/transact! tx-data {:outliner-op :save-block}))))
-                                      (set-data! (get-class-objects class)))))})))
+                                           (outliner-op/transact! tx-data {:outliner-op :save-block})))))))})))
 
 (rum/defcs class-objects < rum/reactive db-mixins/query mixins/container-id
   [state class {:keys [current-page? sidebar?]}]
@@ -111,12 +109,9 @@
           config {:container-id (:container-id state)
                   :current-page? current-page?
                   :sidebar? sidebar?}
-          properties (outliner-property/get-class-properties class)
-          repo (state/get-current-repo)
-          objects (->> (db-model/sub-class-objects repo (:db/id class))
-                       (map (fn [row] (assoc row :id (:db/id row)))))]
+          properties (outliner-property/get-class-properties class)]
       [:div.ml-1
-       (class-objects-inner config class objects properties)])))
+       (class-objects-inner config class properties)])))
 
 (defn- get-property-related-objects [repo property]
   (->> (db-model/get-property-related-objects repo (:db/id property))
@@ -135,8 +130,8 @@
     block))
 
 (rum/defc property-related-objects-inner < rum/static
-  [config property objects properties]
-  (let [[data set-data!] (rum/use-state objects)
+  [config property properties]
+  (let [[data set-data!] (rum/use-state nil)
         columns (views/build-columns config properties)]
     (views/view {:config config
                  :data data
@@ -174,8 +169,6 @@
           config {:container-id (:container-id state)
                   :current-page? current-page?}
           ;; Show tags to help differentiate property rows
-          properties [property' (db/entity :block/tags)]
-          repo (state/get-current-repo)
-          objects (get-property-related-objects repo property)]
+          properties [property' (db/entity :block/tags)]]
       [:div.ml-1
-       (property-related-objects-inner config property' objects properties)])))
+       (property-related-objects-inner config property' properties)])))

+ 0 - 21
src/main/frontend/db/async.cljs

@@ -109,22 +109,6 @@
         (concat [default-value-id] result)
         result))))
 
-(comment
-  (defn <get-block-property-value-entity
-    [graph property-id value]
-    (p/let [result (<q graph {}
-                       '[:find [(pull ?vid [*]) ...]
-                         :in $ ?property-id ?value
-                         :where
-                         [?b ?property-id ?vid]
-                         [(not= ?vid :logseq.property/empty-placeholder)]
-                         (or
-                          [?vid :logseq.property/value ?value]
-                          [?vid :block/title ?value])]
-                       property-id
-                       value)]
-      (db/entity (:db/id (first result))))))
-
 ;; TODO: batch queries for better performance and UX
 (defn <get-block
   [graph name-or-uuid & {:keys [children? nested-children?]
@@ -369,8 +353,3 @@
                            (recur (cons item others) time'))))
                      (quot time 1000)))]
         [status-history time]))))
-
-(defn <fetch-all-pages
-  [graph]
-  (when-let [^Object worker @db-browser/*worker]
-    (.fetch-all-pages worker graph)))