enhance(ux): batch toggling ordered list blocks within the blocks context menu

This commit is contained in:
charlie
2023-04-26 16:46:21 +08:00
parent f55ccda97e
commit 8c4124152f
4 changed files with 36 additions and 5 deletions

View File

@@ -64,6 +64,8 @@
(declare set-block-property!)
(declare remove-block-property!)
(declare batch-add-block-property!)
(declare batch-remove-block-property!)
(defn get-block-own-order-list-type
[block]
@@ -87,6 +89,16 @@
[block]
(some-> block (set-block-own-order-list-type! "number")))
(defn toggle-blocks-as-own-order-list!
[blocks]
(when (seq blocks)
(let [has-ordered? (some own-order-number-list? blocks)
blocks-uuids (some->> blocks (map :block/uuid) (remove nil?))
order-list-prop :logseq.order-list-type]
(if has-ordered?
(batch-remove-block-property! blocks-uuids order-list-prop)
(batch-add-block-property! blocks-uuids order-list-prop "number")))))
(defn get-selection-and-format
[]
(when-let [block (state/get-edit-block)]