Przeglądaj źródła

fix: all-page-tags filter

Tienson Qin 4 lat temu
rodzic
commit
dd18c4901d

+ 10 - 9
src/main/frontend/db/model.cljs

@@ -50,15 +50,16 @@
 
 (defn get-tag-pages
   [repo tag-name]
-  (d/q '[:find ?original-name ?name
-         :in $ ?tag
-         :where
-         [?e :page/name ?tag]
-         [?page :page/tags ?e]
-         [?page :page/original-name ?original-name]
-         [?page :page/name ?name]]
-       (conn/get-conn repo)
-       (string/lower-case tag-name)))
+  (when tag-name
+    (d/q '[:find ?original-name ?name
+           :in $ ?tag
+           :where
+           [?e :page/name ?tag]
+           [?page :page/tags ?e]
+           [?page :page/original-name ?original-name]
+           [?page :page/name ?name]]
+         (conn/get-conn repo)
+         (string/lower-case tag-name))))
 
 (defn get-all-tagged-pages
   [repo]

+ 1 - 2
src/main/frontend/db/query_dsl.cljs

@@ -301,8 +301,7 @@
                 [(list 'contains? tags '?tag)]]))))
 
        (= 'all-page-tags fe)
-       [['?page :page/tags '?t]
-        ['?t :page/name '?p]]
+       [['?e :page/tags '?p]]
 
        :else
        nil))))

+ 1 - 2
src/test/frontend/db/query_dsl_test.cljs

@@ -251,8 +251,7 @@ parent: child page 2
   (testing "all-page-tags queries"
     (are [x y] (= (q-count x) y)
       "(all-page-tags)"
-      {:query '[[?page :page/tags ?t]
-                [?t :page/name ?p]]
+      {:query '[[?e :page/tags ?p]]
        :count 3}))
 
   (testing "page-tags queries"