🐛 Fix problem with undo operation and children order

This commit is contained in:
alonso.torres 2021-07-15 13:20:12 +02:00 committed by Andrey Antukh
parent 899dc5b680
commit 7efc1a0366
3 changed files with 12 additions and 8 deletions

View file

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

View file

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