Listen to events

objs.on("name", function(data) {

})

if you want to proxy events:

objs.onAll(function(evtName, data) {

})

learn more

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"
});