diff --git a/libs/src/LSPlugin.ts b/libs/src/LSPlugin.ts index d7da70fd08..569f2ad7b7 100644 --- a/libs/src/LSPlugin.ts +++ b/libs/src/LSPlugin.ts @@ -834,7 +834,10 @@ export interface IEditorProxy extends Record { upsertBlockProperty: ( block: BlockIdentity | EntityID, key: string, - value: any + value: any, + options?: Partial<{ + reset: boolean + }> ) => Promise removeBlockProperty: (block: BlockIdentity | EntityID, key: string) => Promise diff --git a/src/main/logseq/api/editor.cljs b/src/main/logseq/api/editor.cljs index 56d145a9ba..cdb9cb5a06 100644 --- a/src/main/logseq/api/editor.cljs +++ b/src/main/logseq/api/editor.cljs @@ -419,7 +419,10 @@ (p/let [key' (api-block/sanitize-user-property-name key) opts (bean/->clj options) block (clj value)] + value (bean/->clj value) + opts (cond-> opts + (boolean? (:reset opts)) + (assoc :reset-property-values (:reset opts)))] (when block (db-based-api/upsert-block-property this block key' value opts)))))