Name: events
Owner: The Miso Project
Description: Basic event subscription & binding that can be easily attached to any object. Currently used in most of our libraries.
Created: 2012-11-14 19:13:23.0
Updated: 2017-10-19 07:56:44.0
Pushed: 2012-11-16 18:30:27.0
Homepage: null
Size: 231
Language: JavaScript
GitHub Committers
User | Most Recent Commit | # Commits |
---|
Other Committers
User | Most Recent Commit | # Commits |
---|
Miso.Events is a small collection of methods that enables an object to publish events and allows others to subscribe to it.
To add it to your code, mix it in like so:
yourObject = {};
tend(yourObject, Miso.Events);
If you have a constructor, make sure to extend the prototype:
YourObject = function() {};
tend(YourObject.prototype, Miso.Events);
this.publish(name, *...)
Allows an evented object to publish/broadcast an event to its subscribers.
myObject = function(){
is.publish('initialized', 1, 2, 3);
anObject.subscribe(name, callback, options)
Allows one to subscribe to events events.
Options can include:
context
- an alternate context rather than the object itself.token
- a Unique token by which the subscription is identifiedpriority
- Allows rearranging the existing callbacks by priority.myObject = {};
tend(myObject, Miso.Events);
ject.subscribe('greet', function() {
nsole.log("say hi");
`anObject.subscribeOnce(name, callback, options);
When wanting to react to an event only the first time it triggers, use the subscribeOnce method. The rest of the parameters are identical to the subscribe
ones.
Allows unsubscringing from a specific event.
myObject.unsubscribe(name, identifier)
The identifeir can be:
You can omit the identifier to unsubscribe all events for a particular name
.
To build Miso.Events you'll need npm, node.js's package management system and grunt
npm install
To build Miso.Events, call
grunt
from the project root.
Please submit an issue or find @iros (@ireneros on twitter) or @alexgraul.