diff --git a/client/galaxy/scripts/utils/ajax-queue.js b/client/galaxy/scripts/utils/ajax-queue.js index 345b4b52203..9e00033ebe8 100644 --- a/client/galaxy/scripts/utils/ajax-queue.js +++ b/client/galaxy/scripts/utils/ajax-queue.js @@ -114,7 +114,7 @@ AjaxQueue.prototype.progress = function progress( fn ){ * @returns {Deferred} the queue's main deferred */ AjaxQueue.create = function create( initialFunctions ){ - return new AjaxQeueue( initialFunctions ).deferred; + return new AjaxQueue( initialFunctions ).deferred; }; diff --git a/static/maps/utils/ajax-queue.js.map b/static/maps/utils/ajax-queue.js.map index e28630892a2..a2f133b265b 100644 --- a/static/maps/utils/ajax-queue.js.map +++ b/static/maps/utils/ajax-queue.js.map @@ -1 +1 @@ -{"version":3,"file":"ajax-queue.js","sources":["../../src/utils/ajax-queue.js"],"names":["define","AjaxQueue","initialFunctions","self","this","deferred","jQuery","Deferred","queue","responses","numToProcess","running","init","start","NamedAjaxQueue","names","call","prototype","forEach","fn","add","index","length","push","fnIndex","xhr","done","response","notify","curr","total","always","shift","stop","causeFail","msg","reject","resolve","fail","progress","create","AjaxQeueue","constructor","obj","hasOwnProperty","Error","JSON","stringify","name","clear"],"mappings":"AAAAA,UACG,WAWH,QAASC,GAAWC,GAEhB,GAAIC,GAAOC,IAeX,OAbAD,GAAKE,SAAWC,OAAOC,WAEvBJ,EAAKK,SAELL,EAAKM,aAELN,EAAKO,aAAe,EAEpBP,EAAKQ,SAAU,EAEfR,EAAKS,KAAMV,OACXC,EAAKU,QAEEV,EAsGX,QAASW,GAAgBZ,GACrB,GAAIC,GAAOC,IAGX,OAFAD,GAAKY,SACLd,EAAUe,KAAMZ,KAAMF,GACfC,EAoCP,MA1IJF,GAAUgB,UAAUL,KAAO,SAAeV,GACtC,GAAIC,GAAOC,IACXF,GAAiBgB,QAAS,SAAUC,GAChChB,EAAKiB,IAAKD,MAKlBlB,EAAUgB,UAAUG,IAAM,SAAcD,GAEpC,GAAIhB,GAAOC,KACPiB,EAAQjB,KAAKI,MAAMc,MACvBlB,MAAKM,cAAgB,EAErBN,KAAKI,MAAMe,KAAM,WACb,GAAIC,GAAUH,EACVI,EAAMN,GAEVM,GAAIC,KAAM,SAAUC,GAChBxB,EAAKE,SAASuB,QAASC,KAAML,EAASM,MAAO3B,EAAKO,aAAciB,SAAUA,MAI9EF,EAAIM,OAAQ,SAAUJ,GAClBxB,EAAKM,UAAUc,KAAMI,GACjBxB,EAAKK,MAAMc,OACXnB,EAAKK,MAAMwB,UAEX7B,EAAK8B,YAOrBhC,EAAUgB,UAAUJ,MAAQ,WACpBT,KAAKI,MAAMc,SACXlB,KAAKO,SAAU,EACfP,KAAKI,MAAMwB,YAQnB/B,EAAUgB,UAAUgB,KAAO,SAAeC,EAAWC,GAYjD,MAVA/B,MAAKO,SAAU,EACfP,KAAKI,SACD0B,EAEA9B,KAAKC,SAAS+B,OAAQD,GAEtB/B,KAAKC,SAASgC,QAASjC,KAAKK,WAEhCL,KAAKM,aAAe,EACpBN,KAAKC,SAAWC,OAAOC,WAChBH,MAKXH,EAAUgB,UAAUS,KAAO,SAAeP,GACtC,MAAOf,MAAKC,SAASqB,KAAMP,IAG/BlB,EAAUgB,UAAUqB,KAAO,SAAenB,GACtC,MAAOf,MAAKC,SAASiC,KAAMnB,IAG/BlB,EAAUgB,UAAUc,OAAS,SAAiBZ,GAC1C,MAAOf,MAAKC,SAAS0B,OAAQZ,IAGjClB,EAAUgB,UAAUsB,SAAW,SAAmBpB,GAC9C,MAAOf,MAAKC,SAASkC,SAAUpB,IAMnClB,EAAUuC,OAAS,SAAiBtC,GAChC,MAAO,IAAIuC,YAAYvC,GAAmBG,UAqB9CS,EAAeG,UAAY,GAAIhB,GAC/Ba,EAAeG,UAAUyB,YAAc5B,EAGvCA,EAAeG,UAAUG,IAAM,SAAcuB,GAGzC,IAAOA,EAAIC,eAAgB,UAAYD,EAAIC,eAAgB,MACvD,KAAM,IAAIC,OAAO,oEAAsEC,KAAKC,UAAWJ,GAEvGvC,MAAKW,MAAM6B,eAAgBD,EAAIK,QAInC5C,KAAKW,MAAO4B,EAAIK,OAAS,EAEzB/C,EAAUgB,UAAUG,IAAIJ,KAAMZ,KAAMuC,EAAIxB,MAK5CL,EAAeG,UAAUgC,MAAQ,WAC7B7C,KAAKW,UAMTD,EAAe0B,OAAS,SAAiBtC,GACrC,MAAO,IAAIY,GAAgBZ,GAAmBG,WAM1CJ,UAAkBA,EAClBa,eAAkBA"} \ No newline at end of file +{"version":3,"file":"ajax-queue.js","sources":["../../src/utils/ajax-queue.js"],"names":["define","AjaxQueue","initialFunctions","self","this","deferred","jQuery","Deferred","queue","responses","numToProcess","running","init","start","NamedAjaxQueue","names","call","prototype","forEach","fn","add","index","length","push","fnIndex","xhr","done","response","notify","curr","total","always","shift","stop","causeFail","msg","reject","resolve","fail","progress","create","constructor","obj","hasOwnProperty","Error","JSON","stringify","name","clear"],"mappings":"AAAAA,UACG,WAWH,QAASC,GAAWC,GAEhB,GAAIC,GAAOC,IAeX,OAbAD,GAAKE,SAAWC,OAAOC,WAEvBJ,EAAKK,SAELL,EAAKM,aAELN,EAAKO,aAAe,EAEpBP,EAAKQ,SAAU,EAEfR,EAAKS,KAAMV,OACXC,EAAKU,QAEEV,EAsGX,QAASW,GAAgBZ,GACrB,GAAIC,GAAOC,IAGX,OAFAD,GAAKY,SACLd,EAAUe,KAAMZ,KAAMF,GACfC,EAoCP,MA1IJF,GAAUgB,UAAUL,KAAO,SAAeV,GACtC,GAAIC,GAAOC,IACXF,GAAiBgB,QAAS,SAAUC,GAChChB,EAAKiB,IAAKD,MAKlBlB,EAAUgB,UAAUG,IAAM,SAAcD,GAEpC,GAAIhB,GAAOC,KACPiB,EAAQjB,KAAKI,MAAMc,MACvBlB,MAAKM,cAAgB,EAErBN,KAAKI,MAAMe,KAAM,WACb,GAAIC,GAAUH,EACVI,EAAMN,GAEVM,GAAIC,KAAM,SAAUC,GAChBxB,EAAKE,SAASuB,QAASC,KAAML,EAASM,MAAO3B,EAAKO,aAAciB,SAAUA,MAI9EF,EAAIM,OAAQ,SAAUJ,GAClBxB,EAAKM,UAAUc,KAAMI,GACjBxB,EAAKK,MAAMc,OACXnB,EAAKK,MAAMwB,UAEX7B,EAAK8B,YAOrBhC,EAAUgB,UAAUJ,MAAQ,WACpBT,KAAKI,MAAMc,SACXlB,KAAKO,SAAU,EACfP,KAAKI,MAAMwB,YAQnB/B,EAAUgB,UAAUgB,KAAO,SAAeC,EAAWC,GAYjD,MAVA/B,MAAKO,SAAU,EACfP,KAAKI,SACD0B,EAEA9B,KAAKC,SAAS+B,OAAQD,GAEtB/B,KAAKC,SAASgC,QAASjC,KAAKK,WAEhCL,KAAKM,aAAe,EACpBN,KAAKC,SAAWC,OAAOC,WAChBH,MAKXH,EAAUgB,UAAUS,KAAO,SAAeP,GACtC,MAAOf,MAAKC,SAASqB,KAAMP,IAG/BlB,EAAUgB,UAAUqB,KAAO,SAAenB,GACtC,MAAOf,MAAKC,SAASiC,KAAMnB,IAG/BlB,EAAUgB,UAAUc,OAAS,SAAiBZ,GAC1C,MAAOf,MAAKC,SAAS0B,OAAQZ,IAGjClB,EAAUgB,UAAUsB,SAAW,SAAmBpB,GAC9C,MAAOf,MAAKC,SAASkC,SAAUpB,IAMnClB,EAAUuC,OAAS,SAAiBtC,GAChC,MAAO,IAAID,GAAWC,GAAmBG,UAqB7CS,EAAeG,UAAY,GAAIhB,GAC/Ba,EAAeG,UAAUwB,YAAc3B,EAGvCA,EAAeG,UAAUG,IAAM,SAAcsB,GAGzC,IAAOA,EAAIC,eAAgB,UAAYD,EAAIC,eAAgB,MACvD,KAAM,IAAIC,OAAO,oEAAsEC,KAAKC,UAAWJ,GAEvGtC,MAAKW,MAAM4B,eAAgBD,EAAIK,QAInC3C,KAAKW,MAAO2B,EAAIK,OAAS,EAEzB9C,EAAUgB,UAAUG,IAAIJ,KAAMZ,KAAMsC,EAAIvB,MAK5CL,EAAeG,UAAU+B,MAAQ,WAC7B5C,KAAKW,UAMTD,EAAe0B,OAAS,SAAiBtC,GACrC,MAAO,IAAIY,GAAgBZ,GAAmBG,WAM1CJ,UAAkBA,EAClBa,eAAkBA"} \ No newline at end of file diff --git a/static/scripts/utils/ajax-queue.js b/static/scripts/utils/ajax-queue.js index 4a57547b7c3..0baa3205bb9 100644 --- a/static/scripts/utils/ajax-queue.js +++ b/static/scripts/utils/ajax-queue.js @@ -1,2 +1,58 @@ -define([],function(){function a(a){var b=this;return b.deferred=jQuery.Deferred(),b.queue=[],b.responses=[],b.numToProcess=0,b.running=!1,b.init(a||[]),b.start(),b}function b(b){var c=this;return c.names={},a.call(this,b),c}return a.prototype.init=function(a){var b=this;a.forEach(function(a){b.add(a)})},a.prototype.add=function(a){var b=this,c=this.queue.length;this.numToProcess+=1,this.queue.push(function(){var d=c,e=a();e.done(function(a){b.deferred.notify({curr:d,total:b.numToProcess,response:a})}),e.always(function(a){b.responses.push(a),b.queue.length?b.queue.shift()():b.stop()})})},a.prototype.start=function(){this.queue.length&&(this.running=!0,this.queue.shift()())},a.prototype.stop=function(a,b){return this.running=!1,this.queue=[],a?this.deferred.reject(b):this.deferred.resolve(this.responses),this.numToProcess=0,this.deferred=jQuery.Deferred(),this},a.prototype.done=function(a){return this.deferred.done(a)},a.prototype.fail=function(a){return this.deferred.fail(a)},a.prototype.always=function(a){return this.deferred.always(a)},a.prototype.progress=function(a){return this.deferred.progress(a)},a.create=function(a){return new AjaxQeueue(a).deferred},b.prototype=new a,b.prototype.constructor=b,b.prototype.add=function(b){if(!b.hasOwnProperty("name")||!b.hasOwnProperty("fn"))throw new Error('NamedAjaxQueue.add requires an object with both "name" and "fn": '+JSON.stringify(b));this.names.hasOwnProperty(b.name)||(this.names[b.name]=!0,a.prototype.add.call(this,b.fn))},b.prototype.clear=function(){this.names={}},b.create=function(a){return new b(a).deferred},{AjaxQueue:a,NamedAjaxQueue:b}}); -//# sourceMappingURL=../../maps/utils/ajax-queue.js.map \ No newline at end of file +define([], function() { + function AjaxQueue(initialFunctions) { + var self = this; + return self.deferred = jQuery.Deferred(), self.queue = [], self.responses = [], + self.numToProcess = 0, self.running = !1, self.init(initialFunctions || []), self.start(), + self; + } + function NamedAjaxQueue(initialFunctions) { + var self = this; + return self.names = {}, AjaxQueue.call(this, initialFunctions), self; + } + return AjaxQueue.prototype.init = function(initialFunctions) { + var self = this; + initialFunctions.forEach(function(fn) { + self.add(fn); + }); + }, AjaxQueue.prototype.add = function(fn) { + var self = this, index = this.queue.length; + this.numToProcess += 1, this.queue.push(function() { + var fnIndex = index, xhr = fn(); + xhr.done(function(response) { + self.deferred.notify({ + curr: fnIndex, + total: self.numToProcess, + response: response + }); + }), xhr.always(function(response) { + self.responses.push(response), self.queue.length ? self.queue.shift()() : self.stop(); + }); + }); + }, AjaxQueue.prototype.start = function() { + this.queue.length && (this.running = !0, this.queue.shift()()); + }, AjaxQueue.prototype.stop = function(causeFail, msg) { + return this.running = !1, this.queue = [], causeFail ? this.deferred.reject(msg) : this.deferred.resolve(this.responses), + this.numToProcess = 0, this.deferred = jQuery.Deferred(), this; + }, AjaxQueue.prototype.done = function(fn) { + return this.deferred.done(fn); + }, AjaxQueue.prototype.fail = function(fn) { + return this.deferred.fail(fn); + }, AjaxQueue.prototype.always = function(fn) { + return this.deferred.always(fn); + }, AjaxQueue.prototype.progress = function(fn) { + return this.deferred.progress(fn); + }, AjaxQueue.create = function(initialFunctions) { + return new AjaxQueue(initialFunctions).deferred; + }, NamedAjaxQueue.prototype = new AjaxQueue(), NamedAjaxQueue.prototype.constructor = NamedAjaxQueue, + NamedAjaxQueue.prototype.add = function(obj) { + if (!obj.hasOwnProperty("name") || !obj.hasOwnProperty("fn")) throw new Error('NamedAjaxQueue.add requires an object with both "name" and "fn": ' + JSON.stringify(obj)); + this.names.hasOwnProperty(obj.name) || (this.names[obj.name] = !0, AjaxQueue.prototype.add.call(this, obj.fn)); + }, NamedAjaxQueue.prototype.clear = function() { + this.names = {}; + }, NamedAjaxQueue.create = function(initialFunctions) { + return new NamedAjaxQueue(initialFunctions).deferred; + }, { + AjaxQueue: AjaxQueue, + NamedAjaxQueue: NamedAjaxQueue + }; +}); \ No newline at end of file diff --git a/templates/webapps/galaxy/history/shared_grid.mako b/templates/webapps/galaxy/history/shared_grid.mako index 7d6e57ef0f2..fc628bec039 100644 --- a/templates/webapps/galaxy/history/shared_grid.mako +++ b/templates/webapps/galaxy/history/shared_grid.mako @@ -8,7 +8,17 @@ ## define the module required below ${copy_dialog_hack()}