fix: can't open empty block with arrow left and right

This commit is contained in:
Tienson Qin
2025-06-30 19:07:05 +08:00
parent c953973cd6
commit fa0777c65a
4 changed files with 14 additions and 7 deletions

View File

@@ -1205,16 +1205,22 @@ Similar to re-frame subscriptions"
(defn- set-selection-blocks-aux!
[blocks]
(set-state! :view/selected-blocks nil)
(let [selected-ids (set (get-selected-block-ids @(:selection/blocks @state)))
(let [selected-blocks @(:selection/blocks @state)
selected-ids (set (get-selected-block-ids selected-blocks))
_ (set-state! :selection/blocks blocks)
new-ids (set (get-selection-block-ids))
removed (set/difference selected-ids new-ids)]
(mark-dom-blocks-as-selected blocks)
(doseq [id removed]
(doseq [node (dom/sel (util/format "[blockid='%s']" id))]
(if (= (count blocks) 1)
(doseq [node selected-blocks]
(dom/remove-class! node "selected")
(when (dom/has-class? node "ls-table-row")
(.blur node))))))
(.blur node)))
(doseq [id removed]
(doseq [node (dom/sel (util/format "[blockid='%s']" id))]
(dom/remove-class! node "selected")
(when (dom/has-class? node "ls-table-row")
(.blur node)))))))
(defn set-selection-blocks!
([blocks]