diff --git a/backbone.geppetto.js b/backbone.geppetto.js index 7327fca..d649969 100755 --- a/backbone.geppetto.js +++ b/backbone.geppetto.js @@ -209,37 +209,37 @@ return target.listenToOnce(this.vent, eventName, callback, target); }, - dispatch: function dispatch(eventName, eventData) { + dispatch: function dispatch(eventName, eventData, options) { if (!_.isUndefined(eventData) && !_.isObject(eventData)) { throw "Event payload must be an object"; } eventData = eventData || {}; eventData.eventName = eventName; - this.vent.trigger(eventName, eventData); + this.vent.trigger(eventName, eventData, options); }, - dispatchToParent: function dispatchToParent(eventName, eventData) { + dispatchToParent: function dispatchToParent(eventName, eventData, options) { if (this.parentContext) { - this.parentContext.vent.trigger(eventName, eventData); + this.parentContext.vent.trigger(eventName, eventData, options); } }, - dispatchToParents: function dispatchToParents(eventName, eventData) { + dispatchToParents: function dispatchToParents(eventName, eventData, options) { if (this.parentContext && !(eventData && eventData.propagationDisabled)) { - this.parentContext.vent.trigger(eventName, eventData); + this.parentContext.vent.trigger(eventName, eventData, options); if (this.parentContext) { - this.parentContext.dispatchToParents(eventName, eventData); + this.parentContext.dispatchToParents(eventName, eventData, options); } } }, - dispatchGlobally: function dispatchGlobally(eventName, eventData) { + dispatchGlobally: function dispatchGlobally(eventName, eventData, options) { _.each(contexts, function(context) { if (!context) { return true; } - context.vent.trigger(eventName, eventData); + context.vent.trigger(eventName, eventData, options); }); }, @@ -251,13 +251,14 @@ throw "Command must be constructable"; } - this.vent.listenTo(this.vent, eventName, function(eventData) { + this.vent.listenTo(this.vent, eventName, function(eventData, options) { - var commandInstance = new CommandConstructor(context, eventName, eventData); + var commandInstance = new CommandConstructor(context, eventName, eventData, options); commandInstance.context = context; commandInstance.eventName = eventName; commandInstance.eventData = eventData; + commandInstance.eventOptions = options; context.resolve(commandInstance, wiring); if (_.isFunction(commandInstance.execute)) { commandInstance.execute();