Browse Source

Listen to `styleable:change` in style manager

pull/856/head
Artur Arseniev 9 years ago
parent
commit
c34e010278
  1. 9
      src/domain_abstract/model/Styleable.js
  2. 5
      src/style_manager/view/PropertyView.js

9
src/domain_abstract/model/Styleable.js

@ -39,7 +39,14 @@ export default {
const propNew = { ...prop };
this.set('style', propNew, opts);
const diff = shallowDiff(propOrig, propNew);
keys(diff).forEach(pr => this.trigger(`change:style:${pr}`));
keys(diff).forEach(pr => {
const em = this.em;
this.trigger(`change:style:${pr}`);
if (em) {
em.trigger(`styleable:change`);
em.trigger(`styleable:change:${pr}`);
}
});
return propNew;
},

5
src/style_manager/view/PropertyView.js

@ -66,6 +66,7 @@ module.exports = Backbone.View.extend({
}
em && em.on(`update:component:style:${this.property}`, this.targetUpdated);
em && em.on(`styleable:change:${this.property}`, this.targetUpdated);
this.listenTo(this.propTarget, 'update', this.targetUpdated);
this.listenTo(model, 'destroy remove', this.remove);
this.listenTo(model, 'change:value', this.modelValueChanged);
@ -111,10 +112,10 @@ module.exports = Backbone.View.extend({
/**
* Clear the property from the target
*/
clear() {
clear(e) {
e && e.stopPropagation();
const target = this.getTargetModel();
target.removeStyle(this.model.get('property'));
this.targetUpdated();
},
/**

Loading…
Cancel
Save