Преглед изворни кода

fix: query builder not working for multi-word task values

Another fix for https://github.com/logseq/db-test/issues/215
Gabriel Horner пре 11 месеци
родитељ
комит
6848f98be9

+ 2 - 1
src/main/frontend/handler/query/builder.cljs

@@ -147,8 +147,9 @@
     (and (vector? f) (= :priority (keyword (first f))))
     (vec (cons (symbol :priority) (map symbol (rest f))))
 
+    ;; Stringify task property values to support multi-word values like "In Review"
     (and (vector? f) (= :task (keyword (first f))))
-    (vec (cons (symbol :task) (map symbol (rest f))))
+    (vec (cons (symbol :task) (map str (rest f))))
 
     (and (vector? f) (= :page-ref (keyword (first f))))
     (->page-ref (second f))

+ 2 - 2
src/test/frontend/handler/query/builder_test.cljs

@@ -26,8 +26,8 @@
          (str '(and [[foo]] [[bar]]))))
   (is (= (str (query-builder/->dsl [:and [:page-ref "foo"] [:or [:page-ref "bar"] [:property :key :value]]]))
          (str '(and [[foo]] (or [[bar]] (property :key :value))))))
-  (is (= (str (query-builder/->dsl [:and [:priority "A"] [:task "NOW"]]))
-         (str '(and (priority A) (task NOW))))))
+  (is (= (str (query-builder/->dsl [:and [:priority "A"] [:task "In Review"]]))
+         (str '(and (priority A) (task "In Review"))))))
 
 (deftest from-dsl
   (is (= (query-builder/from-dsl '(and [[foo]] [[bar]]))