From 5bbc43b30df45870f063aeb1f3e0085cf78b6733 Mon Sep 17 00:00:00 2001 From: defclass Date: Wed, 9 Dec 2020 11:10:56 +0800 Subject: [PATCH] fix(publishing): fix delete project problem --- src/main/frontend/components/publishing.cljs | 5 +++-- src/main/frontend/handler/page.cljs | 6 ++---- src/main/frontend/state.cljs | 9 +++++++++ 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/src/main/frontend/components/publishing.cljs b/src/main/frontend/components/publishing.cljs index 4781e5c56a..3782dc0ddc 100644 --- a/src/main/frontend/components/publishing.cljs +++ b/src/main/frontend/components/publishing.cljs @@ -66,6 +66,7 @@ (p/let [result (project-handler/delete-project current-project)] (when (:result result) (reset! editor-state :display) + (state/reset-published-pages) (doseq [{:keys [title]} pages] (page-handler/page-add-properties! title {:published false})) (state/remove-current-project) @@ -80,10 +81,10 @@ (reset! editor-state :display)) :background "pink")]])))) -(rum/defcs my-publishing +(rum/defc my-publishing < rum/reactive db-mixins/query (rum/local :display ::project-state) - [state] + [] (let [current-repo (state/sub :git/current-repo) projects (state/sub [:me :projects]) current-project (project-handler/get-current-project current-repo projects)] diff --git a/src/main/frontend/handler/page.cljs b/src/main/frontend/handler/page.cljs index 82a238f995..af487b54b5 100644 --- a/src/main/frontend/handler/page.cljs +++ b/src/main/frontend/handler/page.cljs @@ -448,10 +448,8 @@ (log/debug :page/get-page-list result) (let [data (:result result)] (if (sequential? data) - (do - (when-let [repo (state/get-current-repo)] - (state/set-state! [:me :published-pages repo] data)) - (resolve data)) + (do (state/set-published-pages data) + (resolve data)) (log/error :page/http-get-list-result-malformed result)))) (fn [error] (log/error :page/http-get-list-failed error) diff --git a/src/main/frontend/state.cljs b/src/main/frontend/state.cljs index a6f61b684d..137540f79c 100644 --- a/src/main/frontend/state.cljs +++ b/src/main/frontend/state.cljs @@ -936,6 +936,15 @@ ;; THINK: new block, indent/outdent, drag && drop, etc. (set-editor-last-input-time! repo time)) +(defn set-published-pages + [pages] + (when-let [repo (get-current-repo)] + (set-state! [:me :published-pages repo] pages))) + +(defn reset-published-pages + [] + (set-published-pages [])) + (defn set-db-persisted! [repo value] (swap! state assoc-in [:db/persisted? repo] value))