mirror of https://github.com/logseq/logseq
feat(ui): WIP number list block (own-property)
parent
cc58ea4888
commit
ba42b12b09
|
@ -252,6 +252,12 @@
|
||||||
["Toggle Number list" [[:editor/clear-current-slash]
|
["Toggle Number list" [[:editor/clear-current-slash]
|
||||||
[:editor/toggle-children-number-list]] "Make children as number list"]]
|
[:editor/toggle-children-number-list]] "Make children as number list"]]
|
||||||
|
|
||||||
|
;; order list
|
||||||
|
[["Number list" [[:editor/clear-current-slash]
|
||||||
|
[:editor/toggle-own-number-list]] "Number list"]
|
||||||
|
["Bullet list" [[:editor/clear-current-slash]
|
||||||
|
[:editor/remove-own-number-list]] "Bullet list"]]
|
||||||
|
|
||||||
;; task management
|
;; task management
|
||||||
(get-preferred-workflow)
|
(get-preferred-workflow)
|
||||||
|
|
||||||
|
@ -660,6 +666,10 @@
|
||||||
(when-let [block (state/get-edit-block)]
|
(when-let [block (state/get-edit-block)]
|
||||||
(state/pub-event! [:editor/toggle-children-number-list block])))
|
(state/pub-event! [:editor/toggle-children-number-list block])))
|
||||||
|
|
||||||
|
(defmethod handle-step :editor/toggle-own-number-list [[_]]
|
||||||
|
(when-let [block (state/get-edit-block)]
|
||||||
|
(state/pub-event! [:editor/toggle-own-number-list block])))
|
||||||
|
|
||||||
(defmethod handle-step :editor/show-date-picker [[_ type]]
|
(defmethod handle-step :editor/show-date-picker [[_ type]]
|
||||||
(if (and
|
(if (and
|
||||||
(contains? #{:scheduled :deadline} type)
|
(contains? #{:scheduled :deadline} type)
|
||||||
|
|
|
@ -297,10 +297,10 @@
|
||||||
(let [order-block-fn? #(some-> % :block/properties :logseq.order-list-type (= order-list-type))
|
(let [order-block-fn? #(some-> % :block/properties :logseq.order-list-type (= order-list-type))
|
||||||
prev-block-fn #(some->> (:db/id %) (db-model/get-prev-sibling (state/get-current-repo)))
|
prev-block-fn #(some->> (:db/id %) (db-model/get-prev-sibling (state/get-current-repo)))
|
||||||
prev-block (prev-block-fn block)]
|
prev-block (prev-block-fn block)]
|
||||||
(if prev-block
|
(letfn [(order-sibling-list [b]
|
||||||
(letfn [(sibling-list [b]
|
(lazy-seq
|
||||||
(lazy-seq
|
(when (order-block-fn? b)
|
||||||
(when (order-block-fn? b)
|
(cons b (order-sibling-list (prev-block-fn b))))))
|
||||||
(cons b (sibling-list (prev-block-fn b))))))]
|
(order-parent-list [b])]
|
||||||
(count (sibling-list block)))
|
(if prev-block
|
||||||
1)))
|
(count (order-sibling-list block)) 1))))
|
|
@ -87,6 +87,10 @@
|
||||||
[block]
|
[block]
|
||||||
(= (get-block-own-order-list-type block) "number"))
|
(= (get-block-own-order-list-type block) "number"))
|
||||||
|
|
||||||
|
(defn make-block-as-own-order-list!
|
||||||
|
[block]
|
||||||
|
(some-> block (set-block-own-order-list-type! "number")))
|
||||||
|
|
||||||
(defn get-selection-and-format
|
(defn get-selection-and-format
|
||||||
[]
|
[]
|
||||||
(when-let [block (state/get-edit-block)]
|
(when-let [block (state/get-edit-block)]
|
||||||
|
@ -2537,7 +2541,9 @@
|
||||||
"properties-drawer" (dwim-in-properties state))
|
"properties-drawer" (dwim-in-properties state))
|
||||||
|
|
||||||
(and (string/blank? content)
|
(and (string/blank? content)
|
||||||
(own-order-number-list? block))
|
(own-order-number-list? block)
|
||||||
|
(not (some-> (db-model/get-block-parent (:block/uuid block))
|
||||||
|
(own-order-number-list?))))
|
||||||
(remove-block-own-order-list-type! block)
|
(remove-block-own-order-list-type! block)
|
||||||
|
|
||||||
(and
|
(and
|
||||||
|
|
|
@ -959,6 +959,12 @@
|
||||||
(editor-handler/remove-block-property! uuid :logseq.children-as)
|
(editor-handler/remove-block-property! uuid :logseq.children-as)
|
||||||
(editor-handler/set-block-property! uuid :logseq.children-as "number-list"))))
|
(editor-handler/set-block-property! uuid :logseq.children-as "number-list"))))
|
||||||
|
|
||||||
|
(defmethod handle :editor/toggle-own-number-list [[_ block]]
|
||||||
|
(when block
|
||||||
|
(if (editor-handler/own-order-number-list? block)
|
||||||
|
(editor-handler/remove-block-own-order-list-type! block)
|
||||||
|
(editor-handler/make-block-as-own-order-list! block))))
|
||||||
|
|
||||||
(defn run!
|
(defn run!
|
||||||
[]
|
[]
|
||||||
(let [chan (state/get-events-chan)]
|
(let [chan (state/get-events-chan)]
|
||||||
|
|
Loading…
Reference in New Issue