From fc518f0756d831cdfb79f1fffd0275da849320f9 Mon Sep 17 00:00:00 2001 From: Gabriel Horner Date: Fri, 9 Aug 2024 14:39:50 -0400 Subject: [PATCH] fix: block not collapsing for simple queries --- deps/common/src/logseq/common/util/macro.cljs | 4 +-- src/main/frontend/handler/editor.cljs | 28 ++++++++++--------- 2 files changed, 17 insertions(+), 15 deletions(-) diff --git a/deps/common/src/logseq/common/util/macro.cljs b/deps/common/src/logseq/common/util/macro.cljs index 248bee0d51..c910de7f7a 100644 --- a/deps/common/src/logseq/common/util/macro.cljs +++ b/deps/common/src/logseq/common/util/macro.cljs @@ -2,8 +2,8 @@ "Core vars and util fns for user macros e.g. {{foo}}" (:require [clojure.string :as string])) -(def left-braces "Opening characters for block-ref" "{{") -(def right-braces "Closing characters for block-ref" "}}") +(def left-braces "Opening characters for macro" "{{") +(def right-braces "Closing characters for macro" "}}") (defn macro? [*s] diff --git a/src/main/frontend/handler/editor.cljs b/src/main/frontend/handler/editor.cljs index f58c018ae1..7a93d9a7d3 100644 --- a/src/main/frontend/handler/editor.cljs +++ b/src/main/frontend/handler/editor.cljs @@ -3398,18 +3398,20 @@ (defn- valid-dsl-query-block? "Whether block has a valid dsl query." - [block] - (->> (:block/macros (db/entity (:db/id block))) - (some (fn [macro] - (let [properties (:block/properties macro) - macro-name (pu/lookup properties :logseq.property/macro-name) - macro-arguments (pu/lookup properties :logseq.property/macro-arguments)] - (when-let [query-body (and (= "query" macro-name) (not-empty (string/join " " macro-arguments)))] - (seq (:query - (try - (query-dsl/parse-query query-body) - (catch :default _e - nil)))))))))) + [block repo] + (if (config/db-based-graph? repo) + (string/includes? (:block/title block) "{{query") + (->> (:block/macros (db/entity (:db/id block))) + (some (fn [macro] + (let [properties (:block/properties macro) + macro-name (:logseq.macro-name properties) + macro-arguments (:logseq.macro-arguments properties)] + (when-let [query-body (and (= "query" macro-name) (not-empty (string/join " " macro-arguments)))] + (seq (:query + (try + (query-dsl/parse-query query-body) + (catch :default _e + nil))))))))))) (defn- valid-custom-query-block? "Whether block has a valid custom query." @@ -3437,7 +3439,7 @@ (remove db-property/db-attribute-properties) (remove #(outliner-property/property-with-other-position? (db/entity %))))] (or (db-model/has-children? block-id) - (valid-dsl-query-block? block) + (valid-dsl-query-block? block repo) (valid-custom-query-block? block) (and db-based? (seq property-keys)