Add the ability to fire signals on your objects. Signals are events, but hard coded into the object
and don't rely on strings like other events and `eventables`
Requires
- module:base
- module:signals
- module:base/logger
Classes
Type Definitions
-
SignalOptions
-
Properties:
Name Type Argument Description memorizeboolean <optional>
If Signal should keep record of previously dispatched parameters and automatically execute listener. Defaults to `false` paramsarray <optional>
Default parameters passed to listener during `Signal.raise`/`Signal.fire`/`Signal.trigger` and SignalBinding.execute. (curried parameters). Defaults to `null` contextobject <optional>
When provided the signal will be raised in the context of this object. Defaults to `this` - the signal host Example
signals:{ opened: null, twisted: { memorize:true }, applied: { memorize: false, params:[one, two] } } // Setting the context initially can be a hassle, so this also supports a function that returns a hash signals: function(){ return { opened: null, twisted: { memorize:true }, applied: { memorize: false, params:[one, two] }, reversed: {context: someOtherRuntimeObject} }; }