|
|
|
@ -91,15 +91,35 @@ module.exports = () => { |
|
|
|
rules.add(c.rules); |
|
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
* Do stuff after load |
|
|
|
* @param {Editor} em |
|
|
|
* @private |
|
|
|
*/ |
|
|
|
postLoad(em) { |
|
|
|
em.listenRules(this.getAll()); |
|
|
|
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)); |
|
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
* Handle rule changes |
|
|
|
* @private |
|
|
|
*/ |
|
|
|
handleChange(model) { |
|
|
|
const ev = 'change:style'; |
|
|
|
const handleUpdates = em.handleUpdates.bind(em); |
|
|
|
em.stopListening(model, ev, handleUpdates); |
|
|
|
em.listenTo(model, ev, handleUpdates); |
|
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
* Load data from the passed object, if the object is empty will try to fetch them |
|
|
|
* autonomously from the storage manager. |
|
|
|
|