A ver, no es facil de explicar,
1- La idea seria tener una cola de efectos, y agregar a esta los efectos para que se ejecuten en orden,
Queue/Chain
Código Javascript
:
Ver originalvar queue = new JSPlus.Events.Queue();
queue.add(new JSPlus.Gradiente.Transicion(el, {
onStart: function(){...},
onStep: function(){...},
onComplete: function(){...}
}));
...
queue.callChain();
para que esto funcione correctamente en el complete de cada efecto tiene que haber un callChain, que se mueva al siguiente efecto y lo ejecute, ahora para la parte del bubbling, hay que simular una jerarquia(como la que tiene el DOM), modificando la clase events,
Bubbling
2- La idea seria envolver en un try & catch la ejecución de los eventos y guardar los posibles errores en un stack, para luego comprobar si hay errores, y hacer un rethrow o descartarlos silenciosamente.
Código Javascript
:
Ver originalnew JSPlus.Gradiente.Transicion(el, {
onStart: function(){...},
onStep: function(){...},
onComplete: function(){
if(this.hasErrors()){
throw new Error('An error has occured: ' + this.getErrorsAsString());
}
}
});
3- Fue una mala traducción, se refiere a que el handler pueda cancelar o parar la ejecución de algún procedimiento, podría ser el caso de onStep, si hay un error hacer un cancel y que salte directamente al complete o podrías eliminar todos los handlers ante un cancel, pero eso ya depende de como lo quieras implementar.
Saludos.