From b5f695fd19ef207a161b8f5997f48e3e19ca81f2 Mon Sep 17 00:00:00 2001 From: Tienson Qin Date: Tue, 23 Feb 2021 18:41:02 +0800 Subject: [PATCH] fix: Changing page title bugs https://github.com/logseq/logseq/issues/1341 --- src/main/frontend/components/editor.cljs | 9 ++++++--- src/main/frontend/handler/file.cljs | 4 ++-- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/main/frontend/components/editor.cljs b/src/main/frontend/components/editor.cljs index 82434256fb..918a2df294 100644 --- a/src/main/frontend/components/editor.cljs +++ b/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)} diff --git a/src/main/frontend/handler/file.cljs b/src/main/frontend/handler/file.cljs index fe74dc2877..c1d67c21b7 100644 --- a/src/main/frontend/handler/file.cljs +++ b/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)