瀏覽代碼

fix: Changing page title bugs

https://github.com/logseq/logseq/issues/1341
Tienson Qin 4 年之前
父節點
當前提交
b5f695fd19
共有 2 個文件被更改,包括 8 次插入5 次删除
  1. 6 3
      src/main/frontend/components/editor.cljs
  2. 2 2
      src/main/frontend/handler/file.cljs

+ 6 - 3
src/main/frontend/components/editor.cljs

@@ -713,9 +713,12 @@
                                 (not (string/blank? value))
                                 (not= (string/trim value) (string/trim content)))
                            (let [old-page-name (db/get-file-page path false)]
-                             (page-handler/rename-when-alter-title-property! old-page-name path format content value)
-                             (file/alter-file (state/get-current-repo) path (string/trim value)
-                                              {:re-render-root? true}))))
+                             (p/let [new-name (page-handler/rename-when-alter-title-property! old-page-name path format content value)
+                                     new-path (if new-name
+                                                (page-handler/compute-new-file-path path new-name)
+                                                path)]
+                               (file/alter-file (state/get-current-repo) new-path (string/trim value)
+                                                {:re-render-root? true})))))
                        (when-not (contains? #{:insert :indent-outdent :auto-save} (state/get-editor-op))
                          (editor-handler/save-block! (get-state state) value))))
                    state)}

+ 2 - 2
src/main/frontend/handler/file.cljs

@@ -180,7 +180,7 @@
         (reset-file! repo path content))
       (db/set-file-content! repo path content))
     (util/p-handle
-     (fs/write-file! repo (config/get-repo-dir repo) path content {:old-content original-content})
+     (fs/write-file! repo (config/get-repo-dir repo) path content (when original-content {:old-content original-content}))
      (fn [_]
        (git-handler/git-add repo path update-status?)
        (when (= path (config/get-config-path repo))
@@ -188,7 +188,7 @@
        (when (= path (config/get-custom-css-path repo))
          (ui-handler/add-style-if-exists!))
        (when re-render-root? (ui-handler/re-render-root!))
-       (when add-history?
+       (when (and add-history? original-content)
          (history/add-history! repo [[path original-content content]])))
      (fn [error]
        (println "Write file failed, path: " path ", content: " content)