An implementation of the mediator pattern for use with RainCatcher modules.
Method | Description |
---|---|
mediator#publish( channel, [data] ) |
Publish data to a channel |
mediator#subscribe( channel, callback ) |
Subscribe to events in a channel |
mediator#remove( channel, [identifier] ) |
Unsubscribe to events in a channel |
mediator#once( channel, callback ) |
A one-time subscribtion to events in a channel |
mediator#promise( channel ) |
A promise-based API for mediator#once |
Besides the above operations, the current operations are available :
Method | Description |
---|---|
mediator#subscribeForScope( channel, scope, callback ) |
Subscribe to events in a channel and unsubscribe when the scope is destroyed |
This module is packaged in a CommonJS format, exporting the name of the Angular namespace. The module can be included in an angular.js as follows:
angular.module('app', [
, require('fh-wfm-mediator')
...
])
Inject the mediator
service to broadcast and subscribe to events
.controller('MyController', function (mediator) {
...
}
Require the module to get an instance of the mediator. Be sure to use that same instance throughout the application to maintain a single list of subscribers.
mediator = require('fh-wfm-mediator/lib/mediator')