Module: mixins/signalable

mixins/signalable

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

Classes

Signal

Type Definitions

SignalOptions

Properties:
Name Type Argument Description
memorize boolean <optional>
If Signal should keep record of previously dispatched parameters and automatically execute listener. Defaults to `false`
params array <optional>
Default parameters passed to listener during `Signal.raise`/`Signal.fire`/`Signal.trigger` and SignalBinding.execute. (curried parameters). Defaults to `null`
context object <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}
    };
}