From cd49a2d4ce1ee79e60115db5e96308ecc7960635 Mon Sep 17 00:00:00 2001 From: Artur Arseniev Date: Mon, 25 Oct 2021 17:16:33 +0200 Subject: [PATCH] Track component selectors in UndoManager. Closes #3879 --- src/dom_components/model/Component.js | 2 ++ src/selector_manager/model/Selector.js | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/dom_components/model/Component.js b/src/dom_components/model/Component.js index d347fbdc0..70aa0eb01 100644 --- a/src/dom_components/model/Component.js +++ b/src/dom_components/model/Component.js @@ -199,6 +199,7 @@ export default class Component extends Model.extend(Styleable) { const comps = this.components(); if (um && !this.__hasUm) { um.add(comps); + um.add(this.getSelectors()); this.__hasUm = 1; } opts.recursive && comps.map(c => c.__postAdd(opts)); @@ -209,6 +210,7 @@ export default class Component extends Model.extend(Styleable) { const um = em && em.get('UndoManager'); if (um) { um.remove(this.components()); + um.remove(this.getSelectors()); delete this.__hasUm; } } diff --git a/src/selector_manager/model/Selector.js b/src/selector_manager/model/Selector.js index ced200d6f..e35821c8b 100644 --- a/src/selector_manager/model/Selector.js +++ b/src/selector_manager/model/Selector.js @@ -21,7 +21,8 @@ export default class Selector extends Model { type: TYPE_CLASS, active: true, private: false, - protected: false + protected: false, + _undo: true }; }