|
|
|
@ -106,28 +106,9 @@ export default () => { |
|
|
|
* @param {Editor} em |
|
|
|
* @private |
|
|
|
*/ |
|
|
|
postLoad(em) { |
|
|
|
const ev = 'add remove'; |
|
|
|
const rules = this.getAll(); |
|
|
|
const um = em.get('UndoManager'); |
|
|
|
um && um.add(rules); |
|
|
|
em.stopListening(rules, ev, this.handleChange); |
|
|
|
em.listenTo(rules, ev, this.handleChange); |
|
|
|
rules.each(rule => this.handleChange(rule, null, { avoidStore: 1 })); |
|
|
|
}, |
|
|
|
|
|
|
|
/** |
|
|
|
* Handle rule changes |
|
|
|
* @private |
|
|
|
*/ |
|
|
|
handleChange(model, val, opts = {}) { |
|
|
|
const ev = 'change:style'; |
|
|
|
const um = em.get('UndoManager'); |
|
|
|
um && um.add(model); |
|
|
|
const handleUpdates = em.handleUpdates.bind(em); |
|
|
|
em.stopListening(model, ev, handleUpdates); |
|
|
|
em.listenTo(model, ev, handleUpdates); |
|
|
|
!opts.avoidStore && handleUpdates('', '', opts); |
|
|
|
postLoad() { |
|
|
|
const um = em && em.get('UndoManager'); |
|
|
|
um && um.add(this.getAll()); |
|
|
|
}, |
|
|
|
|
|
|
|
/** |
|
|
|
|