Browse Source

Add `onAll` method to Component model

This allows to pass a callback function with executes on any component
inside the model
pull/1229/head
Artur Arseniev 8 years ago
parent
commit
816b39f48d
  1. 6
      src/block_manager/view/BlockView.js
  2. 13
      src/dom_components/model/Component.js

6
src/block_manager/view/BlockView.js

@ -62,6 +62,12 @@ module.exports = Backbone.View.extend({
if (model.get('select')) {
em.setSelected(result);
}
if (model.get('resetId')) {
result.onAll(model => {
console.log(model, model.get);
});
}
}
em.set({

13
src/dom_components/model/Component.js

@ -841,6 +841,19 @@ const Component = Backbone.Model.extend(Styleable).extend(
const em = this.em;
const event = 'component:update' + (property ? `:${property}` : '');
em && em.trigger(event, this);
},
/**
* Execute callback function on all components
* @param {Function} clb Callback function, the model is passed as an argument
* @return {self}
*/
onAll(clb) {
if (isFunction(clb)) {
clb(this);
this.components().forEach(model => model.onAll(clb));
}
return this;
}
},
{

Loading…
Cancel
Save