diff --git a/src/dom_components/index.js b/src/dom_components/index.js index b61b8a19d..a287a28d7 100644 --- a/src/dom_components/index.js +++ b/src/dom_components/index.js @@ -253,12 +253,14 @@ module.exports = () => { const comps = model.get('components'); const um = em.get('UndoManager'); const handleUpdates = em.handleUpdates.bind(em); + const handleChanges = this.handleChanges.bind(this); + const handleRemoves = this.handleRemoves.bind(this); um && um.add(model) && comps && um.add(comps); const evn = 'change:style change:content change:attributes change:src'; - [ [comps, 'add', this.handleChanges], - [comps, 'remove', this.handleRemoves], - [model, evn, handleUpdates], + [ [model, evn, handleUpdates], + [comps, 'add', handleChanges], + [comps, 'remove', handleRemoves], [model.get('classes'), 'add remove', handleUpdates], ].forEach(els => { em.stopListening(els[0], els[1], els[2]); diff --git a/src/editor/model/Editor.js b/src/editor/model/Editor.js index 4c6636504..e440f22cf 100644 --- a/src/editor/model/Editor.js +++ b/src/editor/model/Editor.js @@ -264,43 +264,6 @@ module.exports = Backbone.Model.extend({ that.um.redo(true); that.trigger('component:update'); }); - - var beforeCache; - const customUndoType = { - on: function (model, value, opts) { - var opt = opts || {}; - if(!beforeCache){ - beforeCache = model.previousAttributes(); - } - if (opt && opt.avoidStore) { - return; - } else { - var obj = { - object: model, - before: beforeCache, - after: model.toJSON() - }; - beforeCache = null; - return obj; - } - }, - undo: function (model, bf, af, opt) { - model.set(bf); - // Update also inputs inside Style Manager - that.trigger('change:selectedComponent'); - }, - redo: function (model, bf, af, opt) { - model.set(af); - // Update also inputs inside Style Manager - that.trigger('change:selectedComponent'); - } - }; - - UndoManager.removeUndoType("change"); - UndoManager.addUndoType("change:style", customUndoType); - UndoManager.addUndoType("change:attributes", customUndoType); - UndoManager.addUndoType("change:content", customUndoType); - UndoManager.addUndoType("change:src", customUndoType); } }, */