From 6f90f343e6c7c67593b9b052f517226908521e05 Mon Sep 17 00:00:00 2001 From: Andrey Antukh Date: Tue, 29 Mar 2016 22:14:53 +0300 Subject: [PATCH] Improved page deletion process. --- src/uxbox/data/pages.cljs | 13 ++++++------- src/uxbox/ui/workspace/sidebar/sitemap.cljs | 5 ++--- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/src/uxbox/data/pages.cljs b/src/uxbox/data/pages.cljs index e64713d5e1..13e315b13c 100644 --- a/src/uxbox/data/pages.cljs +++ b/src/uxbox/data/pages.cljs @@ -177,24 +177,23 @@ ;; --- Delete Page (by id) -(defrecord DeletePage [id next] +(defrecord DeletePage [id callback] rs/WatchEvent (-apply-watch [_ state s] (letfn [(on-success [_] - (rx/of - (rs/swap #(stpr/purge-page % id)) - next)) + (rs/swap #(stpr/purge-page % id))) (on-failure [e] (uum/error (tr "errors.delete-page")) (rx/empty))] (->> (rp/do :delete/page id) - (rx/mapcat on-success) + (rx/map on-success) + (rx/tap callback) (rx/filter identity) (rx/catch on-failure))))) (defn delete-page - ([id] (DeletePage. id nil)) - ([id next] (DeletePage. id next))) + ([id] (DeletePage. id (constantly nil))) + ([id callback] (DeletePage. id callback))) ;; --- Pinned Page History Fetched diff --git a/src/uxbox/ui/workspace/sidebar/sitemap.cljs b/src/uxbox/ui/workspace/sidebar/sitemap.cljs index 5f1d106b0f..5bf2ad35af 100644 --- a/src/uxbox/ui/workspace/sidebar/sitemap.cljs +++ b/src/uxbox/ui/workspace/sidebar/sitemap.cljs @@ -55,9 +55,8 @@ (delete [event] (dom/prevent-default event) (dom/stop-propagation event) - (let [next (dp/go-to (:project page)) - event (udp/delete-page (:id page) next)] - (rs/emit! event)))] + (let [next #(rs/emit! (dp/go-to (:project page)))] + (rs/emit! (udp/delete-page (:id page) next))))] (html [:li {:class (when active? "selected") :on-click navigate}