瀏覽代碼

fix: insert-new-block doesn't trigger save previous block

Junyi Du 3 年之前
父節點
當前提交
cf6de97d79
共有 1 個文件被更改,包括 5 次插入1 次删除
  1. 5 1
      src/main/frontend/handler/editor.cljs

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

@@ -552,6 +552,7 @@
          :pos pos}))))
 
 (defn insert-new-block!
+  "Won't save previous block content - remember to save!"
   ([state]
    (insert-new-block! state nil))
   ([_state block-value]
@@ -1268,6 +1269,7 @@
      (save-block-aux! block value {}))))
 
 (defn save-current-block!
+  "skip-properties? if set true, when editing block is likely be properties, skip saving"
   ([]
    (save-current-block! {}))
   ([{:keys [force? skip-properties?] :as opts}]
@@ -2053,6 +2055,7 @@
                 "END"
                 (do
                   (cursor/move-cursor-to-end input)
+                  (save-current-block!)
                   (insert-new-block! state))
                 ;; cursor in other positions of :ke|y: or ke|y::, move to line end for inserting value.
                 (if (property/property-key-exist? format content property-key)
@@ -2289,7 +2292,8 @@
             :else
             (profile
              "Insert block"
-             (insert-new-block! state))))))))
+             (do (save-current-block!)
+                 (insert-new-block! state)))))))))
 
 (defn keydown-new-block-handler [state e]
   (if (state/doc-mode-enter-for-new-line?)