mirror of
https://github.com/penpot/penpot.git
synced 2025-03-15 17:21:17 -05:00
Fix race condition on page delete.
This commit is contained in:
parent
f43faa30b6
commit
7caba13173
2 changed files with 11 additions and 7 deletions
|
@ -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
|
||||
|
||||
|
|
|
@ -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}
|
||||
|
|
Loading…
Add table
Reference in a new issue