From 668a17c2aff3bdcb330cdd5c08891770c40163c2 Mon Sep 17 00:00:00 2001 From: Tienson Qin Date: Mon, 7 Aug 2023 17:31:34 +0800 Subject: [PATCH] enhance: be able to collapse/expand properties --- .../src/logseq/graph_parser/property.cljs | 9 ++++++--- src/main/frontend/components/block.cljs | 2 +- src/main/frontend/components/property.cljs | 2 +- src/main/frontend/handler/editor.cljs | 2 ++ src/main/frontend/handler/repo.cljs | 20 +++++++++---------- 5 files changed, 20 insertions(+), 15 deletions(-) diff --git a/deps/graph-parser/src/logseq/graph_parser/property.cljs b/deps/graph-parser/src/logseq/graph_parser/property.cljs index abbd0c1546..177fb2e2b0 100644 --- a/deps/graph-parser/src/logseq/graph_parser/property.cljs +++ b/deps/graph-parser/src/logseq/graph_parser/property.cljs @@ -169,9 +169,11 @@ ;; FIXME: no support for built-in-extended-properties (def db-built-in-properties - {:alias {:schema {:type :page + {:alias {:original-name "Alias" + :schema {:type :page :cardinality :many}} - :tags {:schema {:type :page + :tags {:original-name "Tags" + :schema {:type :page :cardinality :many}} :background-color {:schema {:type :default}} :heading {:schema {:type :any}} ; number (1-6) or boolean for auto heading @@ -190,7 +192,8 @@ :logseq.order-list-type {:schema {:type :checkbox}} :logseq.tldraw.page {:schema {:type :map}} :logseq.tldraw.shape {:schema {:type :map}} - :icon {:schema {:type :map}} + :icon {:original-name "Icon" + :schema {:type :map}} :public {:schema {:type :checkbox}} :filters {:schema {:type :map}} :exclude-from-graph-view {:schema {:type :checkbox}}}) diff --git a/src/main/frontend/components/block.cljs b/src/main/frontend/components/block.cljs index dfb36858ca..5ee6932fdd 100644 --- a/src/main/frontend/components/block.cljs +++ b/src/main/frontend/components/block.cljs @@ -2867,7 +2867,7 @@ hide-block-refs-count? (and (:embed? config) (= (:block/uuid block) (:embed-id config)))] (block-content-or-editor config block edit-input-id block-id edit? hide-block-refs-count? selected?)) - (when (config/db-based-graph? repo) + (when (and (config/db-based-graph? repo) (not collapsed?)) (db-properties-cp config block edit-input-id diff --git a/src/main/frontend/components/property.cljs b/src/main/frontend/components/property.cljs index 1876e6849e..de3892797d 100644 --- a/src/main/frontend/components/property.cljs +++ b/src/main/frontend/components/property.cljs @@ -465,7 +465,7 @@ (or (seq properties) (:page-configure? opts)) - [:a {:style {:margin-left 3} + [:a {:style {:margin-left 2} :title "Add another property" :on-click (fn [] (property-handler/set-editing-new-property! edit-input-id) diff --git a/src/main/frontend/handler/editor.cljs b/src/main/frontend/handler/editor.cljs index 79863f8c79..d49c9f035e 100644 --- a/src/main/frontend/handler/editor.cljs +++ b/src/main/frontend/handler/editor.cljs @@ -3352,6 +3352,8 @@ (or (db-model/has-children? block-id) (valid-dsl-query-block? block) (valid-custom-query-block? block) + (seq (:block/properties block)) + (seq (:block/alias block)) (and (:outliner/block-title-collapse-enabled? (state/get-config)) (block-with-title? (:block/format block) diff --git a/src/main/frontend/handler/repo.cljs b/src/main/frontend/handler/repo.cljs index 8dd21b7277..5e6efc6527 100644 --- a/src/main/frontend/handler/repo.cljs +++ b/src/main/frontend/handler/repo.cljs @@ -548,7 +548,7 @@ _ (state/add-repo! {:url full-graph-name}) _ (route-handler/redirect-to-home!) _ (db/transact! full-graph-name [(react/kv :db/type "db")] - {:skip-persist? true}) + {:skip-persist? true}) initial-files [{:block/uuid (db/new-block-id) :file/path (str "logseq/" "config.edn") :file/content config/config-default-content} @@ -559,15 +559,15 @@ :file/path (str "logseq/" "custom.js") :file/content ""}] default-properties (map - (fn [[k-keyword {:keys [schema]}]] - (let [k-name (name k-keyword)] - (outliner-core/block-with-timestamps - {:block/schema schema - :block/original-name k-name - :block/name (util/page-name-sanity-lc k-name) - :block/uuid (db/new-block-id) - :block/type "property"}))) - gp-property/db-built-in-properties) + (fn [[k-keyword {:keys [schema original-name]}]] + (let [k-name (name k-keyword)] + (outliner-core/block-with-timestamps + {:block/schema schema + :block/original-name (or original-name k-name) + :block/name (util/page-name-sanity-lc k-name) + :block/uuid (db/new-block-id) + :block/type "property"}))) + gp-property/db-built-in-properties) initial-data (concat initial-files default-properties) _ (db/transact! full-graph-name initial-data) _ (repo-config-handler/set-repo-config-state! full-graph-name config/config-default-content)