Browse Source

fix: parent refs are not included in filters

related to #6490
Tienson Qin 3 years ago
parent
commit
b6ecc7f6e3
1 changed files with 7 additions and 8 deletions
  1. 7 8
      src/main/frontend/handler/block.cljs

+ 7 - 8
src/main/frontend/handler/block.cljs

@@ -248,18 +248,17 @@
   (reset! *swipe nil))
 
 (defn get-blocks-refed-pages
-  [aliases ref-blocks]
-  (let [refs (->> (mapcat :block/refs ref-blocks)
-                  (remove #(aliases (:db/id %))))
-        pages (->> (map :block/page ref-blocks)
-                   (distinct)
-                   (remove #(aliases (:db/id %))))
-        all-refs (concat pages refs)]
+  [aliases [block & children]]
+  (let [children-refs (mapcat :block/refs children)
+        refs (->>
+              (:block/path-refs block)
+              (concat children-refs)
+              (remove #(aliases (:db/id %))))]
     (keep (fn [ref]
             (when (:block/name ref)
               {:db/id (:db/id ref)
                :block/name (:block/name ref)
-               :block/original-name (:block/original-name ref)})) all-refs)))
+               :block/original-name (:block/original-name ref)})) refs)))
 
 (defn filter-blocks
   [ref-blocks filters]