0
Fork 0
mirror of https://github.com/penpot/penpot.git synced 2025-03-15 17:21:17 -05:00

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)
(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

View file

@ -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}