mirror of
https://github.com/penpot/penpot.git
synced 2025-06-02 05:11:39 +02:00
🐛 Fix problem with undo operation and children order
This commit is contained in:
parent
899dc5b680
commit
7efc1a0366
3 changed files with 12 additions and 8 deletions
|
@ -350,6 +350,8 @@
|
|||
(let [page-id (:current-page-id state)
|
||||
objects (wsh/lookup-page-objects state page-id)
|
||||
|
||||
ids (cp/clean-loops objects ids)
|
||||
|
||||
groups-to-unmask
|
||||
(reduce (fn [group-ids id]
|
||||
;; When the shape to delete is the mask of a masked group,
|
||||
|
@ -387,10 +389,12 @@
|
|||
ids)
|
||||
|
||||
all-children
|
||||
(reduce (fn [res id]
|
||||
(into res (cp/get-children id objects)))
|
||||
(d/ordered-set)
|
||||
ids)
|
||||
(->> ids
|
||||
(reduce (fn [res id]
|
||||
(into res (cp/get-children id objects)))
|
||||
[])
|
||||
(reverse)
|
||||
(into (d/ordered-set)))
|
||||
|
||||
empty-parents
|
||||
(into (d/ordered-set) empty-parents-xform all-parents)
|
||||
|
|
|
@ -6,7 +6,6 @@
|
|||
|
||||
(ns app.main.data.workspace.undo
|
||||
(:require
|
||||
[app.common.pages :as cp]
|
||||
[app.common.pages.spec :as spec]
|
||||
[app.common.spec :as us]
|
||||
[cljs.spec.alpha :as s]
|
||||
|
@ -31,13 +30,13 @@
|
|||
(subvec undo (- cnt MAX-UNDO-SIZE))
|
||||
undo)))
|
||||
|
||||
;; TODO: Review the necessity of this method
|
||||
(defn materialize-undo
|
||||
[changes index]
|
||||
[_changes index]
|
||||
(ptk/reify ::materialize-undo
|
||||
ptk/UpdateEvent
|
||||
(update [_ state]
|
||||
(-> state
|
||||
(update :workspace-data cp/process-changes changes)
|
||||
(assoc-in [:workspace-undo :index] index)))))
|
||||
|
||||
(defn- add-undo-entry
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue