浏览代码

fix: delete a block adds other blocks

Tienson Qin 4 年之前
父节点
当前提交
8bc6d887a0
共有 1 个文件被更改,包括 13 次插入12 次删除
  1. 13 12
      src/main/frontend/modules/outliner/core.cljs

+ 13 - 12
src/main/frontend/modules/outliner/core.cljs

@@ -164,18 +164,19 @@
                        (conj children-ids block-id))
                      [block-id]))
           txs (map (fn [id] [:db.fn/retractEntity [:block/uuid id]]) ids)
-          txs (or (let [immediate-children (db/get-block-immediate-children (state/get-current-repo) block-id)]
-                    (when (seq immediate-children)
-                      (let [left-id (tree/-get-id (tree/-get-left this))]
-                        (concat txs
-                                (map-indexed (fn [idx child]
-                                               (let [parent [:block/uuid left-id]]
-                                                 (cond->
-                                                  {:db/id (:db/id child)
-                                                   :block/parent parent}
-                                                  (zero? idx)
-                                                   (assoc :block/left parent))))
-                                             immediate-children)))))
+          txs (if-not children?
+                (let [immediate-children (db/get-block-immediate-children (state/get-current-repo) block-id)]
+                  (when (seq immediate-children)
+                    (let [left-id (tree/-get-id (tree/-get-left this))]
+                      (concat txs
+                              (map-indexed (fn [idx child]
+                                             (let [parent [:block/uuid left-id]]
+                                               (cond->
+                                                 {:db/id (:db/id child)
+                                                  :block/parent parent}
+                                                 (zero? idx)
+                                                 (assoc :block/left parent))))
+                                           immediate-children)))))
                   txs)]
       (swap! txs-state concat txs)
       block-id))