Pārlūkot izejas kodu

Edit block earlier to not slow down editing when deleting a block

Tienson Qin 1 gadu atpakaļ
vecāks
revīzija
1249b26b4c

+ 1 - 1
src/main/frontend/handler/code.cljs

@@ -14,8 +14,8 @@
 (defn save-code-editor!
   []
   (let [{:keys [config state editor]} (get @state/state :editor/code-block-context)]
-    (state/set-block-component-editing-mode! false)
     (when editor
+      (state/set-block-component-editing-mode! false)
       (.save editor)
       (let [textarea (.getTextArea editor)
             ds (.-dataset textarea)

+ 4 - 3
src/main/frontend/handler/editor.cljs

@@ -2813,10 +2813,11 @@
             (p/do!
              (save-current-block!)
              (remove-block-own-order-list-type! block))
-            (p/let [*edit-block-fn (atom nil)
-                    _result (delete-block! repo false :*edit-block-fn *edit-block-fn)]
+            (let [*edit-block-fn (atom nil)
+                  result (delete-block! repo false :*edit-block-fn *edit-block-fn)]
               (when-let [f @*edit-block-fn]
-                (f))))))
+                (state/set-state! :editor/cached-edit-block-fn f))
+              result))))
 
       (and (> current-pos 1)
            (= (util/nth-safe value (dec current-pos)) commands/command-trigger))

+ 4 - 0
src/main/frontend/modules/outliner/pipeline.cljs

@@ -47,6 +47,10 @@
         tx-report {:tx-meta tx-meta
                    :tx-data tx-data}]
 
+    (when-let [edit-block-f (:editor/cached-edit-block-fn @state/state)]
+      (edit-block-f)
+      (state/set-state! :editor/cached-edit-block-fn nil))
+
     (let [conn (db/get-db repo false)
           tx-report (d/transact! conn tx-data tx-meta)]
       (when local-tx?