Improved page deletion process.

This commit is contained in:
Andrey Antukh 2016-03-29 22:14:53 +03:00
parent 90957190db
commit 6f90f343e6
2 changed files with 8 additions and 10 deletions

View file

@ -177,24 +177,23 @@
;; --- Delete Page (by id) ;; --- Delete Page (by id)
(defrecord DeletePage [id next] (defrecord DeletePage [id callback]
rs/WatchEvent rs/WatchEvent
(-apply-watch [_ state s] (-apply-watch [_ state s]
(letfn [(on-success [_] (letfn [(on-success [_]
(rx/of (rs/swap #(stpr/purge-page % id)))
(rs/swap #(stpr/purge-page % id))
next))
(on-failure [e] (on-failure [e]
(uum/error (tr "errors.delete-page")) (uum/error (tr "errors.delete-page"))
(rx/empty))] (rx/empty))]
(->> (rp/do :delete/page id) (->> (rp/do :delete/page id)
(rx/mapcat on-success) (rx/map on-success)
(rx/tap callback)
(rx/filter identity) (rx/filter identity)
(rx/catch on-failure))))) (rx/catch on-failure)))))
(defn delete-page (defn delete-page
([id] (DeletePage. id nil)) ([id] (DeletePage. id (constantly nil)))
([id next] (DeletePage. id next))) ([id callback] (DeletePage. id callback)))
;; --- Pinned Page History Fetched ;; --- Pinned Page History Fetched

View file

@ -55,9 +55,8 @@
(delete [event] (delete [event]
(dom/prevent-default event) (dom/prevent-default event)
(dom/stop-propagation event) (dom/stop-propagation event)
(let [next (dp/go-to (:project page)) (let [next #(rs/emit! (dp/go-to (:project page)))]
event (udp/delete-page (:id page) next)] (rs/emit! (udp/delete-page (:id page) next))))]
(rs/emit! event)))]
(html (html
[:li {:class (when active? "selected") [:li {:class (when active? "selected")
:on-click navigate} :on-click navigate}