Events
Improve this page
Listen to events
objs.on("name", function(data) {
})
if you want to proxy events:
objs.onAll(function(evtName, data) {
})
Expose your events
The registry now listen to every snippet that contains //@biojs-instance=<variable>
and display the event console on the first received event.
Have a look at the MSA component or Muts-Needle as an example.
Guidelines for events
You can choose any library that supports the choosen syntax.
Please provide
objs.on("name", function(data) {})
objs.off("name", function(data) {})
objs.once("name", function(data) {})
objs.trigger("name", function(data) {})
objs.onAll(function(eventName, data) {}) // (optional)
Here is a list of some popular libraries that offer this functionality:
Not all of them use the same method names or signatures. Please try to adapt those the signatures given above if you want to use them.
How to use
1. install
npm install biojs-events --save
2. Mix the events capability with your object
After the code of your BioJS component add the events capability by mixing you component prototype with the event class
require('biojs-events').mixin(my_component.prototype);
3. Trigger events
Now in your code you can use the events methods (trigger, off,on,once):
this.trigger('onSomethingChanged', {
data : "some data"
});
and of course listen to your own events:
this.on('onSomethingChanged', function(data){
console.log(data); // will print "some data"
});