From 261b5a6b28b22c1b63100d4816ce4a06f0e5f339 Mon Sep 17 00:00:00 2001 From: Tienson Qin Date: Wed, 19 Jul 2023 21:46:00 +0800 Subject: [PATCH] No need to set block ids for db based graphs --- src/main/frontend/handler/editor.cljs | 17 ++++++------ src/main/frontend/handler/property.cljs | 35 ++++++++++++++----------- 2 files changed, 28 insertions(+), 24 deletions(-) diff --git a/src/main/frontend/handler/editor.cljs b/src/main/frontend/handler/editor.cljs index 8f5b73640b..15236e5927 100644 --- a/src/main/frontend/handler/editor.cljs +++ b/src/main/frontend/handler/editor.cljs @@ -841,14 +841,15 @@ "Persist block uuid to file if the uuid is valid, and it's not persisted in file. Accepts a list of uuids." [block-ids] - (let [block-ids (remove nil? block-ids) - col (map (fn [block-id] - (when-let [block (db/entity [:block/uuid block-id])] - (when-not (:block/pre-block? block) - [block-id :id (str block-id)]))) - block-ids) - col (remove nil? col)] - (editor-property/batch-set-block-property! col))) + (when-not (config/db-based-graph? (state/get-current-repo)) + (let [block-ids (remove nil? block-ids) + col (map (fn [block-id] + (when-let [block (db/entity [:block/uuid block-id])] + (when-not (:block/pre-block? block) + [block-id :id (str block-id)]))) + block-ids) + col (remove nil? col)] + (editor-property/batch-set-block-property! col)))) (defn copy-block-ref! ([block-id] diff --git a/src/main/frontend/handler/property.cljs b/src/main/frontend/handler/property.cljs index 4243bfeeab..80bf39ad32 100644 --- a/src/main/frontend/handler/property.cljs +++ b/src/main/frontend/handler/property.cljs @@ -116,24 +116,26 @@ (defn- upsert-property! [repo property k-name property-uuid property-type] - (when (and property (nil? (:block/type property))) - (db/transact! repo [(outliner-core/block-with-updated-at - {:block/schema {:type property-type} - :block/uuid property-uuid - :block/type "property"})] - {:outliner-op :update-property})) - (when (nil? property) ;if property not exists yet - (db/transact! repo [(outliner-core/block-with-timestamps - {:block/schema {:type property-type} - :block/original-name k-name - :block/name (util/page-name-sanity-lc k-name) - :block/uuid property-uuid - :block/type "property"})] - {:outliner-op :create-new-property}))) + (let [k-name (name k-name)] + (when (and property (nil? (:block/type property))) + (db/transact! repo [(outliner-core/block-with-updated-at + {:block/schema {:type property-type} + :block/uuid property-uuid + :block/type "property"})] + {:outliner-op :update-property})) + (when (nil? property) ;if property not exists yet + (db/transact! repo [(outliner-core/block-with-timestamps + {:block/schema {:type property-type} + :block/original-name k-name + :block/name (util/page-name-sanity-lc k-name) + :block/uuid property-uuid + :block/type "property"})] + {:outliner-op :create-new-property})))) (defn add-property! [repo block k-name v & {:keys [old-value]}] - (let [property (db/pull repo '[*] [:block/name (gp-util/page-name-sanity-lc k-name)]) + (let [k-name (name k-name) + property (db/pull repo '[*] [:block/name (gp-util/page-name-sanity-lc k-name)]) v (if property v (or v ""))] (when (some? v) (let [property-uuid (or (:block/uuid property) (random-uuid)) @@ -262,7 +264,8 @@ (defn class-add-property! [repo class k-name] (when (= "class" (:block/type class)) - (let [property (db/pull repo '[*] [:block/name (gp-util/page-name-sanity-lc k-name)]) + (let [k-name (name k-name) + property (db/pull repo '[*] [:block/name (gp-util/page-name-sanity-lc k-name)]) property-uuid (or (:block/uuid property) (random-uuid)) property-type (get-in property [:block/schema :type] :default) {:keys [properties] :as class-schema} (:block/schema class)