🎉 Group component sync changes in a single undo

This commit is contained in:
Andrés Moya 2023-03-17 17:05:36 +01:00
parent fe898315c3
commit ad786ab95f
7 changed files with 142 additions and 116 deletions

View file

@ -39,6 +39,12 @@
[changes stack-undo?]
(assoc changes :stack-undo? stack-undo?))
(defn set-undo-group
[changes undo-group]
(cond-> changes
(some? undo-group)
(assoc :undo-group undo-group)))
(defn with-page
[changes page]
(vary-meta changes assoc
@ -80,7 +86,8 @@
[changes1 changes2]
{:redo-changes (d/concat-vec (:redo-changes changes1) (:redo-changes changes2))
:undo-changes (d/concat-vec (:undo-changes changes1) (:undo-changes changes2))
:origin (:origin changes1)})
:origin (:origin changes1)
:undo-group (:undo-group changes1)})
; TODO: remove this when not needed
(defn- assert-page-id