Tienson Qin 2 лет назад
Родитель
Сommit
a9074f74f4

+ 9 - 6
deps/outliner/src/logseq/outliner/core.cljs

@@ -632,12 +632,15 @@
                            left-exists-in-blocks? (contains? ids (:db/id (:block/left block)))
                            parent (compute-block-parent block parent target-block prev-hop top-level? sibling? get-new-id outliner-op replace-empty-target? idx)
                            left (compute-block-left blocks block left target-block prev-hop idx replace-empty-target? left-exists-in-blocks? get-new-id)
-                           m {:block/uuid uuid
+                           m {:db/id (:db/id block)
+                              :block/uuid uuid
                               :block/page target-page
                               :block/parent parent
                               :block/left left}]
                        (cond-> (if (de/entity? block)
-                                 m
+                                 (do
+                                   (prn :debug :level (:block/level block))
+                                   (assoc m :block/level (:block/level block)))
                                  (merge block m))
                            ;; We'll keep the original `:db/id` if it's a move operation,
                            ;; e.g. internal cut or drag and drop shouldn't change the ids.
@@ -762,10 +765,10 @@
         tx' (insert-blocks-aux blocks' target-block' insert-opts)]
     (if (some (fn [b] (or (nil? (:block/parent b)) (nil? (:block/left b)))) tx')
       (throw (ex-info "Invalid outliner data"
-                        {:opts insert-opts
-                         :tx (vec tx')
-                         :blocks (vec blocks)
-                         :target-block target-block'}))
+                      {:opts insert-opts
+                       :tx (vec tx')
+                       :blocks (vec blocks)
+                       :target-block target-block'}))
       (let [uuids-tx (->> (map :block/uuid tx')
                           (remove nil?)
                           (map (fn [uuid] {:block/uuid uuid})))

+ 18 - 19
src/main/frontend/modules/outliner/pipeline.cljs

@@ -69,25 +69,24 @@
       (do
         (react/clear-query-state!)
         (ui-handler/re-render-root!))
-      (do
-        (when-not (:graph/importing @state/state)
-          (react/refresh! repo tx-report affected-keys)
-
-          (when-let [state (:ui/restore-cursor-state @state/state)]
-            (when (or undo? redo?)
-              (restore-cursor-and-app-state! state undo?)
-              (state/set-state! :ui/restore-cursor-state nil)))
-
-          (state/set-state! :editor/start-pos nil)
-
-          (when (and state/lsp-enabled?
-                     (seq blocks)
-                     (<= (count blocks) 1000))
-            (state/pub-event! [:plugin/hook-db-tx
-                               {:blocks  blocks
-                                :deleted-block-uuids deleted-block-uuids
-                                :tx-data (:tx-data tx-report)
-                                :tx-meta (:tx-meta tx-report)}])))))
+      (when-not (:graph/importing @state/state)
+        (react/refresh! repo tx-report affected-keys)
+
+        (when-let [state (:ui/restore-cursor-state @state/state)]
+          (when (or undo? redo?)
+            (restore-cursor-and-app-state! state undo?)
+            (state/set-state! :ui/restore-cursor-state nil)))
+
+        (state/set-state! :editor/start-pos nil)
+
+        (when (and state/lsp-enabled?
+                   (seq blocks)
+                   (<= (count blocks) 1000))
+          (state/pub-event! [:plugin/hook-db-tx
+                             {:blocks  blocks
+                              :deleted-block-uuids deleted-block-uuids
+                              :tx-data (:tx-data tx-report)
+                              :tx-meta (:tx-meta tx-report)}]))))
 
     (when-let [deleting-block-id (:ui/deleting-block @state/state)]
       (when (some (fn [datom] (and