浏览代码

fix: backspace in the beginning of a node should keep its properties

When its prev block's title is empty.

Related to https://github.com/logseq/db-test/issues/470
Tienson Qin 1 月之前
父节点
当前提交
abd1d070f5
共有 1 个文件被更改,包括 14 次插入1 次删除
  1. 14 1
      src/main/frontend/handler/editor.cljs

+ 14 - 1
src/main/frontend/handler/editor.cljs

@@ -852,7 +852,7 @@
                   nil
 
                   (and concat-prev-block? input-empty? delete-concat?)
-                  (let [children (:block/_parent (db/entity (:db/id current-block)))]
+                  (let [children (:block/_parent (db/entity (:db/id current-block)))] ; del
                     (p/do!
                      (ui-outliner-tx/transact!
                       transact-opts
@@ -872,6 +872,19 @@
                       (delete-block-aux! current-block))
                      (edit-block! (db/entity (:db/id next-block)) 0)))
 
+                  (and concat-prev-block? (string/blank? (:block/title prev-block)) (not delete-concat?)) ; backspace
+                  (p/do!
+                   (ui-outliner-tx/transact!
+                    transact-opts
+                    (when-not (= (:db/id (:block/parent block)) (:db/id (:block/parent prev-block)))
+                      (outliner-op/move-blocks!
+                       [block]
+                       prev-block
+                       {:sibling? true}))
+
+                    (delete-block-aux! prev-block))
+                   (edit-block! (db/entity (:db/id current-block)) 0))
+
                   concat-prev-block?
                   (let [children (:block/_parent (db/entity (:db/id block)))]
                     (p/do!