mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-09-24 16:30:27 +08:00
1 line
668 B
JavaScript
1 line
668 B
JavaScript
define(["utils/utils"],function(a){return Backbone.Model.extend({queue:[],process:{},counter:0,initialize:function(){this.on("refresh",function(){if(this.queue.length>0&&this.ready()){var b=this.queue[0];this.queue.splice(0,1);b&&b()}})},execute:function(b){this.queue.push(b);this.trigger("refresh")},register:function(){var b=a.uuid();this.process[b]=true;this.counter++;console.debug("Deferred:register() - Registering "+b);return b},done:function(b){if(this.process[b]){delete this.process[b];this.counter--;console.debug("Deferred:done() - Unregistering "+b);this.trigger("refresh")}},reset:function(){this.queue=[]},ready:function(){return(this.counter==0)}})}); |