_.invoke(behaviors, 'destroy', args);
},
bindUIElements: function(bindUIElements, behaviors) {
bindUIElements.apply(this);
_.invoke(behaviors, bindUIElements);
},
unbindUIElements: function(unbindUIElements, behaviors) {
unbindUIElements.apply(this);
_.invoke(behaviors, unbindUIElements);
},
triggerMethod: function(triggerMethod, behaviors) {
var args = _.tail(arguments, 2);
triggerMethod.apply(this, args);
_.each(behaviors, function(b) {
triggerMethod.apply(b, args);
});
},
delegateEvents: function(delegateEvents, behaviors) {
var args = _.tail(arguments, 2);
delegateEvents.apply(this, args);
_.each(behaviors, function(b) {
Marionette.bindEntityEvents(b, this.model, Marionette.getOption(b, 'modelEvents'));
Marionette.bindEntityEvents(b, this.collection, Marionette.getOption(b, 'collectionEvents'));
}, this);
},
undelegateEvents: function(undelegateEvents, behaviors) {
var args = _.tail(arguments, 2);
undelegateEvents.apply(this, args);
_.each(behaviors, function(b) {
Marionette.unbindEntityEvents(b, this.model, Marionette.getOption(b, 'modelEvents'));
Marionette.unbindEntityEvents(b, this.collection, Marionette.getOption(b, 'collectionEvents'));
}, this);
},
behaviorEvents: function(behaviorEvents, behaviors) {
var _behaviorsEvents = {};
var viewUI = _.result(this, 'ui');
_.each(behaviors, function(b, i) {
var _events = {};
var behaviorEvents = _.clone(_.result(b, 'events')) || {};
var behaviorUI = _.result(b, 'ui');