diff --git a/src/uxbox/data/pages.cljs b/src/uxbox/data/pages.cljs index e46f359c7..e64713d5e 100644 --- a/src/uxbox/data/pages.cljs +++ b/src/uxbox/data/pages.cljs @@ -177,21 +177,24 @@ ;; --- Delete Page (by id) -(defrecord DeletePage [id] +(defrecord DeletePage [id next] rs/WatchEvent (-apply-watch [_ state s] (letfn [(on-success [_] - (rs/swap #(stpr/purge-page % id))) + (rx/of + (rs/swap #(stpr/purge-page % id)) + next)) (on-failure [e] (uum/error (tr "errors.delete-page")) (rx/empty))] (->> (rp/do :delete/page id) - (rx/map on-success) + (rx/mapcat on-success) + (rx/filter identity) (rx/catch on-failure))))) (defn delete-page - [id] - (DeletePage. id)) + ([id] (DeletePage. id nil)) + ([id next] (DeletePage. id next))) ;; --- Pinned Page History Fetched diff --git a/src/uxbox/ui/workspace/sidebar/sitemap.cljs b/src/uxbox/ui/workspace/sidebar/sitemap.cljs index 90fddf58d..786f222d4 100644 --- a/src/uxbox/ui/workspace/sidebar/sitemap.cljs +++ b/src/uxbox/ui/workspace/sidebar/sitemap.cljs @@ -52,8 +52,9 @@ delete (fn [e] (dom/prevent-default e) (dom/stop-propagation e) - (rs/emit! (udp/delete-page (:id page)) - (dp/go-to (:project page))))] + (let [next (dp/go-to (:project page)) + event (udp/delete-page (:id page) next)] + (rs/emit! event)))] (html [:li {:class (when active? "selected") :on-click navigate}