diff --git a/client/galaxy/scripts/mvc/history/history-model.js b/client/galaxy/scripts/mvc/history/history-model.js index fabc8fa7a99..484884d44ab 100644 --- a/client/galaxy/scripts/mvc/history/history-model.js +++ b/client/galaxy/scripts/mvc/history/history-model.js @@ -531,11 +531,9 @@ var HistoryCollection = Backbone.Collection.extend( BASE_MVC.LoggableMixin ).ext this.remove( history ); } }, - // listen for a history copy, adding it to the beginning of the collection + // listen for a history copy, setting it to current 'copied' : function( original, newData ){ - var history = new History( newData, [] ); - this.unshift( history ); - this.trigger( 'new-current', history, this ); + this.setCurrent( new History( newData, [] ) ); }, // when a history is made current, track the id in the collection 'set-as-current' : function( history ){ @@ -582,10 +580,8 @@ var HistoryCollection = Backbone.Collection.extend( BASE_MVC.LoggableMixin ).ext * and set allFetched/fire 'all-fetched' when xhr returns */ fetch : function( options ){ - console.debug( 'fetch', this.allFetched ); options = options || {}; if( this.allFetched ){ return jQuery.when({}); } - console.debug( 'fetching' ); var collection = this, fetchOptions = _.defaults( options, { remove : false, @@ -615,13 +611,25 @@ var HistoryCollection = Backbone.Collection.extend( BASE_MVC.LoggableMixin ).ext var collection = this, xhr = jQuery.getJSON( galaxy_config.root + 'history/create_new_current' ); return xhr.done( function( newData ){ - var history = new History( newData, [], historyOptions || {} ); - // new histories go in the front - collection.unshift( history ); - collection.trigger( 'new-current', history, this ); + collection.setCurrent( new History( newData, [], historyOptions || {} ) ); }); }, + /** set the current history to the given history, placing it first in the collection. + * Pass standard bbone options for use in unshift. + * @triggers new-current passed history and this collection + */ + setCurrent : function( history, options ){ + options = options || {}; + // new histories go in the front + this.unshift( history, options ); + this.currentHistoryId = history.get( 'id' ); + if( !options.silent ){ + this.trigger( 'new-current', history, this ); + } + return this; + }, + /** override to reset allFetched flag to false */ reset : function( models, options ){ this.allFetched = false; diff --git a/static/maps/mvc/history/history-model.js.map b/static/maps/mvc/history/history-model.js.map index 314cae1b0f0..6ab99ce41da 100644 --- a/static/maps/mvc/history/history-model.js.map +++ b/static/maps/mvc/history/history-model.js.map @@ -1 +1 @@ -{"version":3,"file":"history-model.js","sources":["../../../src/mvc/history/history-model.js"],"names":["define","HISTORY_CONTENTS","UTILS","BASE_MVC","History","Backbone","Model","extend","LoggableMixin","mixin","SearchableModelMixin","defaults","model_class","id","name","state","diskSize","deleted","urlRoot","galaxy_config","root","initialize","historyJSON","contentsJSON","options","this","logger","log","contents","HistoryContents","historyId","get","_setUpListeners","updateTimeoutId","on","model","xhr","msg","details","errorHandler","listenTo","trigger","apply","concat","jQuery","makeArray","arguments","newId","clearUpdateTimeout","nice_size","bytesToString","toJSON","_","prototype","call","key","ownedByCurrUser","Galaxy","currUser","isAnonymous","contentsCount","reduce","values","memo","num","searchAttributes","searchAliases","title","tag","checkForUpdates","onReadyCallback","running","length","setUpdateTimeout","isFunction","delay","UPDATE_DELAY","history","setTimeout","refresh","clearTimeout","detailIds","data","join","fetch","done","_delete","when","save","purge","purged","undelete","copy","current","undefined","Error","postData","history_id","post","then","response","newHistory","setAsCurrent","getJSON","toString","getHistoryData","getHistory","ajax","isEmpty","historyData","empty","getContents","detailIdsFn","hdcaDetailIds","dataset_details","dataset_collection_details","df","Deferred","historyFn","contentsFn","historyXHR","json","notify","status","fail","reject","contentsXHR","resolve","ControlledFetchMixin","_buildFetchData","traditional","Collection","_fetchOptions","fetchDefaults","_fetchDefaults","pick","filters","has","_buildFetchFilters","filterMap","q","qv","each","v","k","push","HistoryCollection","DEFAULT_ORDER","sortOrders","update_time","getter","h","Date","asc","update_time-asc","name-dsc","size","size-asc","models","includeDeleted","setOrder","order","currentHistoryId","allFetched","setUpListeners","window","url","view","change:deleted","debug","remove","copied","original","newData","unshift","set-as-current","oldCurrentId","sort","collection","sortOrder","isUndefined","comparator","a","b","fetchOptions","offset","limit","fetchData","numFetched","isArray","create","hdas","historyOptions","reset"],"mappings":"AAAAA,QACI,+BACA,cACA,eACA,sBACD,SAAUC,EAAkBC,EAAOC,GAWtC,GAAIC,GAAUC,SAASC,MAAMC,OAAQJ,EAASK,eAAgBD,OACtDJ,EAASM,MAAON,EAASO,sBAM7BC,UACIC,YAAkB,UAClBC,GAAkB,KAClBC,KAAkB,kBAClBC,MAAkB,MAElBC,SAAkB,EAClBC,SAAkB,GAItBC,QAASC,cAAcC,KAAO,gBAQ9BC,WAAa,SAAUC,EAAaC,EAAcC,GAC9CA,EAAUA,MACVC,KAAKC,OAASF,EAAQE,QAAU,KAChCD,KAAKE,IAAKF,KAAO,eAAgBH,EAAaC,EAAcC,GAG5DC,KAAKE,IAAK,6BAA8BJ,GACxCE,KAAKG,SAAW,GAAI3B,GAAiB4B,gBAAiBN,OAAsBO,UAAWL,KAAKM,IAAK,QAOjGN,KAAKO,kBAGLP,KAAKQ,gBAAkB,MAQ3BD,gBAAkB,WACdP,KAAKS,GAAI,QAAS,SAAUC,EAAOC,EAAKZ,EAASa,EAAKC,GAClDb,KAAKc,aAAcJ,EAAOC,EAAKZ,EAASa,EAAKC,KAI7Cb,KAAKG,UACLH,KAAKe,SAAUf,KAAKG,SAAU,QAAS,WACnCH,KAAKgB,QAAQC,MAAOjB,MAAQ,kBAAmBkB,OAAQC,OAAOC,UAAWC,eAIjFrB,KAAKS,GAAI,YAAa,SAAUC,EAAOY,GAC/BtB,KAAKG,WACLH,KAAKG,SAASE,UAAYiB,IAE/BtB,OAWPc,aAAe,WAEXd,KAAKuB,sBAITC,UAAY,WACR,MAAO/C,GAAMgD,cAAezB,KAAKM,IAAK,SAAU,EAAM,IAI1DoB,OAAS,WACL,MAAOC,GAAE7C,OAAQF,SAASC,MAAM+C,UAAUF,OAAOG,KAAM7B,OACnDwB,UAAYxB,KAAKwB,eAKzBlB,IAAM,SAAUwB,GACZ,MAAY,cAARA,EACO9B,KAAKwB,YAET5C,SAASC,MAAM+C,UAAUtB,IAAIW,MAAOjB,KAAMqB,YAOrDU,gBAAkB,WAEd,MAAKC,SAAWA,OAAOC,SAInBD,OAAOC,SAASC,eAAiBF,OAAOC,SAAS7C,KAAOY,KAAKM,IAAK,YAC3D,GAEJ,GANI,GAUf6B,cAAgB,WACZ,MAAOR,GAAES,OAAQT,EAAEU,OAAQrC,KAAKM,IAAK,kBAAqB,SAAUgC,EAAMC,GAAO,MAAOD,GAAOC,GAAQ,IAK3GC,kBACI,OAAQ,aAAc,QAI1BC,eACIC,MAAc,OACdC,IAAc,QASlBC,gBAAkB,SAAUC,GAcxB,MATI7C,MAAKG,SAAS2C,UAAUC,OACxB/C,KAAKgD,oBAGLhD,KAAKgB,QAAS,SACVW,EAAEsB,WAAYJ,IACdA,EAAgBhB,KAAM7B,OAGvBA,MAIXgD,iBAAmB,SAAUE,GACzBA,EAAQA,GAASvE,EAAQwE,YACzB,IAAIC,GAAUpD,IAOd,OAJAA,MAAKuB,qBACLvB,KAAKQ,gBAAkB6C,WAAY,WAC/BD,EAAQE,WACTJ,GACIlD,KAAKQ,iBAIhBe,mBAAqB,WACbvB,KAAKQ,kBACL+C,aAAcvD,KAAKQ,iBACnBR,KAAKQ,gBAAkB,OAS/B8C,QAAU,SAAUE,EAAWzD,GAE3ByD,EAAYA,MACZzD,EAAUA,KACV,IAAIqD,GAAUpD,IAGdD,GAAQ0D,KAAO1D,EAAQ0D,SACnBD,EAAUT,SACVhD,EAAQ0D,KAAK5C,QAAU2C,EAAUE,KAAM,KAE3C,IAAI/C,GAAMX,KAAKG,SAASwD,MAAO5D,EAO/B,OANAY,GAAIiD,KAAM,WACNR,EAAQR,gBAAiB,WAErB5C,KAAK2D,YAGNhD,GAKXkD,QAAU,SAAU9D,GAChB,MAAIC,MAAKM,IAAK,WAAsBa,OAAO2C,OACpC9D,KAAK+D,MAAQvE,SAAS,GAAQO,IAGzCiE,MAAQ,SAAUjE,GACd,MAAIC,MAAKM,IAAK,UAAqBa,OAAO2C,OACnC9D,KAAK+D,MAAQvE,SAAS,EAAMyE,QAAQ,GAAQlE,IAGvDmE,SAAW,SAAUnE,GACjB,MAAKC,MAAKM,IAAK,WACRN,KAAK+D,MAAQvE,SAAS,GAASO,GADDoB,OAAO2C,QAUhDK,KAAO,SAAUC,EAAS/E,GAEtB,GADA+E,EAAwBC,SAAZD,EAAwB,GAAY,GAC3CpE,KAAKZ,GACN,KAAM,IAAIkF,OAAO,iDAGrB,IAAIC,IAAaC,WAAcxE,KAAKZ,GAChCgF,KACAG,EAASH,SAAU,GAEnB/E,IACAkF,EAASlF,KAAOA,EAKpB,IAAI+D,GAAUpD,KACVmE,EAAOhD,OAAOsD,KAAMzE,KAAKP,QAAS8E,EAEtC,OAAIH,GACOD,EAAKO,KAAM,SAAUC,GACxB,GAAIC,GAAa,GAAIjG,GAASgG,EAC9B,OAAOC,GAAWC,eACbjB,KAAM,WACHR,EAAQpC,QAAS,SAAUoC,EAASuB,OAI7CR,EAAKP,KAAM,SAAUe,GACxBvB,EAAQpC,QAAS,SAAUoC,EAASuB,MAI5CE,aAAe,WACX,GAAIzB,GAAUpD,KACVW,EAAMQ,OAAO2D,QAASpF,cAAcC,KAAO,6BAA+BK,KAAKZ,GAKnF,OAHAuB,GAAIiD,KAAM,WACNR,EAAQpC,QAAS,iBAAkBoC,KAEhCzC,GAIXoE,SAAW,WACP,MAAO,WAAa/E,KAAKM,IAAK,MAAS,IAAMN,KAAKM,IAAK,QAAW,OAQ1E3B,GAAQwE,aAAe,IAGvBxE,EAAQqG,eAAiB,SAAyB3E,EAAWN,GASzD,QAASkF,KAEL,MAAkB,YAAd5E,EACOc,OAAO2D,QAASpF,cAAcC,KAAO,gCAEzCwB,OAAO+D,KAAMxF,cAAcC,KAAO,iBAAmBU,GAEhE,QAAS8E,GAASC,GAEd,MAAOA,IAAeA,EAAYC,MAEtC,QAASC,GAAaF,GAGlB,GAAID,EAASC,GAAiB,QAE1BzD,GAAEsB,WAAYsC,KACdA,EAAcA,EAAaH,IAE3BzD,EAAEsB,WAAYuC,KACdA,EAAgBA,EAAeJ,GAEnC,IAAI3B,KASJ,OARI8B,GAAYxC,SACZU,EAAKgC,gBAAkBF,EAAY7B,KAAM,MAEzC8B,EAAczC,SAGdU,EAAKiC,2BAA6BF,EAAc9B,KAAM,MAEnDvC,OAAO+D,KAAMxF,cAAcC,KAAO,iBAAmByF,EAAYhG,GAAK,aAAeqE,KAAMA,IAvCtG1D,EAAUA,KACV,IAAIwF,GAAcxF,EAAQwF,gBACtBC,EAAgBzF,EAAQyF,kBAGxBG,EAAKxE,OAAOyE,WACZ/F,EAAc,KAuCdgG,EAAY9F,EAAQ8F,WAAaZ,EACjCa,EAAa/F,EAAQ+F,YAAcR,EAGnCS,EAAaF,EAAWxF,EAC5B0F,GAAWnC,KAAM,SAAUoC,GAEvBnG,EAAcmG,EACdL,EAAGM,QAASC,OAAQ,yBAA0BrG,YAAaA,MAE/DkG,EAAWI,KAAM,SAAUxF,GAEvBgF,EAAGS,OAAQzF,EAAK,wBAGpB,IAAI0F,GAAcN,EAAWrB,KAAMoB,EAWnC,OAVAO,GAAY3B,KAAM,SAAU5E,GACxB6F,EAAGM,QAASC,OAAQ,0BAA2BrG,YAAaA,EAAaC,aAAcA,IAEvF6F,EAAGW,QAASzG,EAAaC,KAE7BuG,EAAYF,KAAM,SAAUxF,GAExBgF,EAAGS,OAAQzF,EAAK,wBAA0ByC,QAASvD,MAGhD8F,EAKX,IAAIY,IAGA5C,MAAQ,SAAU5D,GAKd,MAJAA,GAAUA,MACVA,EAAQ0D,KAAO1D,EAAQ0D,MAAQzD,KAAKwG,gBAAiBzG,GAErDA,EAAQ0G,aAAc,EACf7H,SAAS8H,WAAW9E,UAAU+B,MAAM9B,KAAM7B,KAAMD,IAI3D4G,eAEI,QAEA,QAEA,SAEA,OAEA,QAIJH,gBAAkB,SAAUzG,GACxB,GAAI0D,MACAmD,EAAgB5G,KAAK6G,gBACzB9G,GAAU4B,EAAEzC,SAAUa,MAAe6G,GACrCnD,EAAO9B,EAAEmF,KAAM/G,EAASC,KAAK2G,cAE7B,IAAII,GAAUpF,EAAEqF,IAAKjH,EAAS,WAAaA,EAAQgH,QAAYH,EAAcG,WAI7E,OAHKpF,GAAEwD,QAAS4B,IACZpF,EAAE7C,OAAQ2E,EAAMzD,KAAKiH,mBAAoBF,IAEtCtD,GAIXoD,eAAiB,WAEb,UAIJI,mBAAqB,SAAUF,GAC3B,GAAIG,IACAC,KACAC,MAQJ,OANAzF,GAAE0F,KAAMN,EAAS,SAAUO,EAAGC,GACtBD,KAAM,IAAQA,EAAI,QAClBA,KAAM,IAASA,EAAI,SACvBJ,EAAUC,EAAEK,KAAMD,GAClBL,EAAUE,GAAGI,KAAMF,KAEhBJ,IAQXO,EAAoB7I,SAAS8H,WAAW5H,OAAQJ,EAASK,eAAgBD,OAAQyH,GAAuBzH,QAExG4B,MAAU/B,EAMV+I,cAAgB,cAKhBC,YACIC,aACIC,OAAS,SAAUC,GAAK,MAAO,IAAIC,MAAMD,EAAExH,IAAK,iBAChD0H,KAAM,GAEVC,mBACIJ,OAAS,SAAUC,GAAK,MAAO,IAAIC,MAAMD,EAAExH,IAAK,iBAChD0H,KAAM,GAEV3I,MACIwI,OAAS,SAAUC,GAAK,MAAOA,GAAExH,IAAK,SACtC0H,KAAM,GAEVE,YACIL,OAAS,SAAUC,GAAK,MAAOA,GAAExH,IAAK,SACtC0H,KAAM,GAEVG,MACIN,OAAS,SAAUC,GAAK,MAAOA,GAAExH,IAAK,SACtC0H,KAAM,GAEVI,YACIP,OAAS,SAAUC,GAAK,MAAOA,GAAExH,IAAK,SACtC0H,KAAM,IAIdpI,WAAa,SAAUyI,EAAQtI,GAC3BA,EAAUA,MACVC,KAAKE,IAAK,+BAAgCmB,WAI1CrB,KAAKsI,eAAiBvI,EAAQuI,iBAAkB,EAEhDtI,KAAKuI,SAAUxI,EAAQyI,OAASxI,KAAK0H,eAErC1H,KAAKyI,iBAAmB1I,EAAQ0I,iBAEhCzI,KAAK0I,WAAa3I,EAAQ2I,aAAc,EAKxC1I,KAAK2I,kBAGTlJ,SAAYmJ,OAAOlJ,cAAeA,cAAcC,KAAO,KAAQ,gBAC/DkJ,IAAU,WAAY,MAAO7I,MAAKP,SAGlCoH,eAAiB,WAEb,GAAI3H,IACAsJ,MAAUxI,KAAKwI,MACfM,KAAU,WAQd,OANK9I,MAAKsI,iBACNpJ,EAAS6H,SACLvH,SAAU,EACVyE,QAAU,IAGX/E,GAIXyJ,eAAiB,WACb3I,KAAKS,IAEDsI,iBAAmB,SAAU3F,GAEzBpD,KAAKgJ,MAAO,iBAAkBhJ,KAAKsI,eAAgBlF,EAAQ9C,IAAK,aAC3DN,KAAKsI,gBAAkBlF,EAAQ9C,IAAK,YACrCN,KAAKiJ,OAAQ7F,IAIrB8F,OAAW,SAAUC,EAAUC,GAC3B,GAAIhG,GAAU,GAAIzE,GAASyK,KAC3BpJ,MAAKqJ,QAASjG,GACdpD,KAAKgB,QAAS,cAAeoC,EAASpD,OAG1CsJ,iBAAmB,SAAUlG,GACzB,GAAImG,GAAevJ,KAAKyI,gBACxBzI,MAAKgB,QAAS,oBAAqBuI,GACnCvJ,KAAKyI,iBAAmBrF,EAAQhE,KAErCY,OAIPwJ,KAAO,SAAUzJ,GAGb,MAFAA,GAAUA,MACVC,KAAKuI,SAAUxI,EAAQyI,OAChB5J,SAAS8H,WAAW9E,UAAU4H,KAAK3H,KAAM7B,KAAMD,IAM1DwI,SAAW,SAAUC,GACjB,GAAIiB,GAAazJ,KACb0J,EAAY1J,KAAK2H,WAAYa,EACjC,KAAI7G,EAAEgI,YAAaD,GAgBnB,MAdAD,GAAWjB,MAAQA,EACnBiB,EAAWG,WAAa,SAAqBC,EAAGC,GAC5C,GAAIrB,GAAmBgB,EAAWhB,gBAElC,OAAIoB,GAAEzK,KAAOqJ,EAA2B,GACpCqB,EAAE1K,KAAOqJ,EAA2B,GAExCoB,EAAIH,EAAU7B,OAAQgC,GACtBC,EAAIJ,EAAU7B,OAAQiC,GACfJ,EAAU1B,IACT6B,IAAMC,EAAI,EAAQD,EAAIC,EAAK,EAAI,GAC/BD,IAAMC,EAAI,EAAQD,EAAIC,EAAI,GAAM,IAE5CL,EAAWzI,QAAS,gBAAiByI,EAAWjB,MAAOiB,GAChDA,GAMX9F,MAAQ,SAAU5D,GAGd,GADAA,EAAUA,MACNC,KAAK0I,WAAc,MAAOvH,QAAO2C,QAErC,IAAI2F,GAAazJ,KACb+J,EAAepI,EAAEzC,SAAUa,GACvBkJ,QAAS,EACTe,OAASP,EAAW1G,QAAU,EAAK0G,EAAW1G,OAAS,EAAM,EAC7DyF,MAASiB,EAAWjB,QAExByB,EAAQlK,EAAQkK,KAKpB,OAJKtI,GAAEgI,YAAaM,KAChBF,EAAaE,MAAQA,GAGlB1D,EAAqB5C,MAAM9B,KAAM7B,KAAM+J,GACzCnG,KAAM,SAAyBsG,GAC5B,GAAIC,GAAaxI,EAAEyI,QAASF,GAAaA,EAAUnH,OAAS,IAEvDkH,GAAsBA,EAAbE,KACVV,EAAWf,YAAa,EACxBe,EAAWzI,QAAS,cAAeyI,OAOnDY,OAAS,SAAiB5G,EAAM6G,EAAMC,GAElC,GAAId,GAAazJ,KACbW,EAAMQ,OAAO2D,QAASpF,cAAcC,KAAO,6BAC/C,OAAOgB,GAAIiD,KAAM,SAAUwF,GACvB,GAAIhG,GAAU,GAAIzE,GAASyK,KAAamB,MAExCd,GAAWJ,QAASjG,GACpBqG,EAAWzI,QAAS,cAAeoC,EAASpD,SAKpDwK,MAAQ,SAAUnC,EAAQtI,GAEtB,MADAC,MAAK0I,YAAa,EACX9J,SAAS8H,WAAW9E,UAAU4I,MAAM3I,KAAM7B,KAAMqI,EAAQtI,IAGnEgF,SAAU,WACN,MAAO,qBAAuB/E,KAAK+C,OAAS,MAKpD,QACIpE,QAAoBA,EACpB8I,kBAAoBA"} \ No newline at end of file +{"version":3,"file":"history-model.js","sources":["../../../src/mvc/history/history-model.js"],"names":["define","HISTORY_CONTENTS","UTILS","BASE_MVC","History","Backbone","Model","extend","LoggableMixin","mixin","SearchableModelMixin","defaults","model_class","id","name","state","diskSize","deleted","urlRoot","galaxy_config","root","initialize","historyJSON","contentsJSON","options","this","logger","log","contents","HistoryContents","historyId","get","_setUpListeners","updateTimeoutId","on","model","xhr","msg","details","errorHandler","listenTo","trigger","apply","concat","jQuery","makeArray","arguments","newId","clearUpdateTimeout","nice_size","bytesToString","toJSON","_","prototype","call","key","ownedByCurrUser","Galaxy","currUser","isAnonymous","contentsCount","reduce","values","memo","num","searchAttributes","searchAliases","title","tag","checkForUpdates","onReadyCallback","running","length","setUpdateTimeout","isFunction","delay","UPDATE_DELAY","history","setTimeout","refresh","clearTimeout","detailIds","data","join","fetch","done","_delete","when","save","purge","purged","undelete","copy","current","undefined","Error","postData","history_id","post","then","response","newHistory","setAsCurrent","getJSON","toString","getHistoryData","getHistory","ajax","isEmpty","historyData","empty","getContents","detailIdsFn","hdcaDetailIds","dataset_details","dataset_collection_details","df","Deferred","historyFn","contentsFn","historyXHR","json","notify","status","fail","reject","contentsXHR","resolve","ControlledFetchMixin","_buildFetchData","traditional","Collection","_fetchOptions","fetchDefaults","_fetchDefaults","pick","filters","has","_buildFetchFilters","filterMap","q","qv","each","v","k","push","HistoryCollection","DEFAULT_ORDER","sortOrders","update_time","getter","h","Date","asc","update_time-asc","name-dsc","size","size-asc","models","includeDeleted","setOrder","order","currentHistoryId","allFetched","setUpListeners","window","url","view","change:deleted","debug","remove","copied","original","newData","setCurrent","set-as-current","oldCurrentId","sort","collection","sortOrder","isUndefined","comparator","a","b","fetchOptions","offset","limit","fetchData","numFetched","isArray","create","hdas","historyOptions","unshift","silent","reset"],"mappings":"AAAAA,QACI,+BACA,cACA,eACA,sBACD,SAAUC,EAAkBC,EAAOC,GAWtC,GAAIC,GAAUC,SAASC,MAAMC,OAAQJ,EAASK,eAAgBD,OACtDJ,EAASM,MAAON,EAASO,sBAM7BC,UACIC,YAAkB,UAClBC,GAAkB,KAClBC,KAAkB,kBAClBC,MAAkB,MAElBC,SAAkB,EAClBC,SAAkB,GAItBC,QAASC,cAAcC,KAAO,gBAQ9BC,WAAa,SAAUC,EAAaC,EAAcC,GAC9CA,EAAUA,MACVC,KAAKC,OAASF,EAAQE,QAAU,KAChCD,KAAKE,IAAKF,KAAO,eAAgBH,EAAaC,EAAcC,GAG5DC,KAAKE,IAAK,6BAA8BJ,GACxCE,KAAKG,SAAW,GAAI3B,GAAiB4B,gBAAiBN,OAAsBO,UAAWL,KAAKM,IAAK,QAOjGN,KAAKO,kBAGLP,KAAKQ,gBAAkB,MAQ3BD,gBAAkB,WACdP,KAAKS,GAAI,QAAS,SAAUC,EAAOC,EAAKZ,EAASa,EAAKC,GAClDb,KAAKc,aAAcJ,EAAOC,EAAKZ,EAASa,EAAKC,KAI7Cb,KAAKG,UACLH,KAAKe,SAAUf,KAAKG,SAAU,QAAS,WACnCH,KAAKgB,QAAQC,MAAOjB,MAAQ,kBAAmBkB,OAAQC,OAAOC,UAAWC,eAIjFrB,KAAKS,GAAI,YAAa,SAAUC,EAAOY,GAC/BtB,KAAKG,WACLH,KAAKG,SAASE,UAAYiB,IAE/BtB,OAWPc,aAAe,WAEXd,KAAKuB,sBAITC,UAAY,WACR,MAAO/C,GAAMgD,cAAezB,KAAKM,IAAK,SAAU,EAAM,IAI1DoB,OAAS,WACL,MAAOC,GAAE7C,OAAQF,SAASC,MAAM+C,UAAUF,OAAOG,KAAM7B,OACnDwB,UAAYxB,KAAKwB,eAKzBlB,IAAM,SAAUwB,GACZ,MAAY,cAARA,EACO9B,KAAKwB,YAET5C,SAASC,MAAM+C,UAAUtB,IAAIW,MAAOjB,KAAMqB,YAOrDU,gBAAkB,WAEd,MAAKC,SAAWA,OAAOC,SAInBD,OAAOC,SAASC,eAAiBF,OAAOC,SAAS7C,KAAOY,KAAKM,IAAK,YAC3D,GAEJ,GANI,GAUf6B,cAAgB,WACZ,MAAOR,GAAES,OAAQT,EAAEU,OAAQrC,KAAKM,IAAK,kBAAqB,SAAUgC,EAAMC,GAAO,MAAOD,GAAOC,GAAQ,IAK3GC,kBACI,OAAQ,aAAc,QAI1BC,eACIC,MAAc,OACdC,IAAc,QASlBC,gBAAkB,SAAUC,GAcxB,MATI7C,MAAKG,SAAS2C,UAAUC,OACxB/C,KAAKgD,oBAGLhD,KAAKgB,QAAS,SACVW,EAAEsB,WAAYJ,IACdA,EAAgBhB,KAAM7B,OAGvBA,MAIXgD,iBAAmB,SAAUE,GACzBA,EAAQA,GAASvE,EAAQwE,YACzB,IAAIC,GAAUpD,IAOd,OAJAA,MAAKuB,qBACLvB,KAAKQ,gBAAkB6C,WAAY,WAC/BD,EAAQE,WACTJ,GACIlD,KAAKQ,iBAIhBe,mBAAqB,WACbvB,KAAKQ,kBACL+C,aAAcvD,KAAKQ,iBACnBR,KAAKQ,gBAAkB,OAS/B8C,QAAU,SAAUE,EAAWzD,GAE3ByD,EAAYA,MACZzD,EAAUA,KACV,IAAIqD,GAAUpD,IAGdD,GAAQ0D,KAAO1D,EAAQ0D,SACnBD,EAAUT,SACVhD,EAAQ0D,KAAK5C,QAAU2C,EAAUE,KAAM,KAE3C,IAAI/C,GAAMX,KAAKG,SAASwD,MAAO5D,EAO/B,OANAY,GAAIiD,KAAM,WACNR,EAAQR,gBAAiB,WAErB5C,KAAK2D,YAGNhD,GAKXkD,QAAU,SAAU9D,GAChB,MAAIC,MAAKM,IAAK,WAAsBa,OAAO2C,OACpC9D,KAAK+D,MAAQvE,SAAS,GAAQO,IAGzCiE,MAAQ,SAAUjE,GACd,MAAIC,MAAKM,IAAK,UAAqBa,OAAO2C,OACnC9D,KAAK+D,MAAQvE,SAAS,EAAMyE,QAAQ,GAAQlE,IAGvDmE,SAAW,SAAUnE,GACjB,MAAKC,MAAKM,IAAK,WACRN,KAAK+D,MAAQvE,SAAS,GAASO,GADDoB,OAAO2C,QAUhDK,KAAO,SAAUC,EAAS/E,GAEtB,GADA+E,EAAwBC,SAAZD,EAAwB,GAAY,GAC3CpE,KAAKZ,GACN,KAAM,IAAIkF,OAAO,iDAGrB,IAAIC,IAAaC,WAAcxE,KAAKZ,GAChCgF,KACAG,EAASH,SAAU,GAEnB/E,IACAkF,EAASlF,KAAOA,EAKpB,IAAI+D,GAAUpD,KACVmE,EAAOhD,OAAOsD,KAAMzE,KAAKP,QAAS8E,EAEtC,OAAIH,GACOD,EAAKO,KAAM,SAAUC,GACxB,GAAIC,GAAa,GAAIjG,GAASgG,EAC9B,OAAOC,GAAWC,eACbjB,KAAM,WACHR,EAAQpC,QAAS,SAAUoC,EAASuB,OAI7CR,EAAKP,KAAM,SAAUe,GACxBvB,EAAQpC,QAAS,SAAUoC,EAASuB,MAI5CE,aAAe,WACX,GAAIzB,GAAUpD,KACVW,EAAMQ,OAAO2D,QAASpF,cAAcC,KAAO,6BAA+BK,KAAKZ,GAKnF,OAHAuB,GAAIiD,KAAM,WACNR,EAAQpC,QAAS,iBAAkBoC,KAEhCzC,GAIXoE,SAAW,WACP,MAAO,WAAa/E,KAAKM,IAAK,MAAS,IAAMN,KAAKM,IAAK,QAAW,OAQ1E3B,GAAQwE,aAAe,IAGvBxE,EAAQqG,eAAiB,SAAyB3E,EAAWN,GASzD,QAASkF,KAEL,MAAkB,YAAd5E,EACOc,OAAO2D,QAASpF,cAAcC,KAAO,gCAEzCwB,OAAO+D,KAAMxF,cAAcC,KAAO,iBAAmBU,GAEhE,QAAS8E,GAASC,GAEd,MAAOA,IAAeA,EAAYC,MAEtC,QAASC,GAAaF,GAGlB,GAAID,EAASC,GAAiB,QAE1BzD,GAAEsB,WAAYsC,KACdA,EAAcA,EAAaH,IAE3BzD,EAAEsB,WAAYuC,KACdA,EAAgBA,EAAeJ,GAEnC,IAAI3B,KASJ,OARI8B,GAAYxC,SACZU,EAAKgC,gBAAkBF,EAAY7B,KAAM,MAEzC8B,EAAczC,SAGdU,EAAKiC,2BAA6BF,EAAc9B,KAAM,MAEnDvC,OAAO+D,KAAMxF,cAAcC,KAAO,iBAAmByF,EAAYhG,GAAK,aAAeqE,KAAMA,IAvCtG1D,EAAUA,KACV,IAAIwF,GAAcxF,EAAQwF,gBACtBC,EAAgBzF,EAAQyF,kBAGxBG,EAAKxE,OAAOyE,WACZ/F,EAAc,KAuCdgG,EAAY9F,EAAQ8F,WAAaZ,EACjCa,EAAa/F,EAAQ+F,YAAcR,EAGnCS,EAAaF,EAAWxF,EAC5B0F,GAAWnC,KAAM,SAAUoC,GAEvBnG,EAAcmG,EACdL,EAAGM,QAASC,OAAQ,yBAA0BrG,YAAaA,MAE/DkG,EAAWI,KAAM,SAAUxF,GAEvBgF,EAAGS,OAAQzF,EAAK,wBAGpB,IAAI0F,GAAcN,EAAWrB,KAAMoB,EAWnC,OAVAO,GAAY3B,KAAM,SAAU5E,GACxB6F,EAAGM,QAASC,OAAQ,0BAA2BrG,YAAaA,EAAaC,aAAcA,IAEvF6F,EAAGW,QAASzG,EAAaC,KAE7BuG,EAAYF,KAAM,SAAUxF,GAExBgF,EAAGS,OAAQzF,EAAK,wBAA0ByC,QAASvD,MAGhD8F,EAKX,IAAIY,IAGA5C,MAAQ,SAAU5D,GAKd,MAJAA,GAAUA,MACVA,EAAQ0D,KAAO1D,EAAQ0D,MAAQzD,KAAKwG,gBAAiBzG,GAErDA,EAAQ0G,aAAc,EACf7H,SAAS8H,WAAW9E,UAAU+B,MAAM9B,KAAM7B,KAAMD,IAI3D4G,eAEI,QAEA,QAEA,SAEA,OAEA,QAIJH,gBAAkB,SAAUzG,GACxB,GAAI0D,MACAmD,EAAgB5G,KAAK6G,gBACzB9G,GAAU4B,EAAEzC,SAAUa,MAAe6G,GACrCnD,EAAO9B,EAAEmF,KAAM/G,EAASC,KAAK2G,cAE7B,IAAII,GAAUpF,EAAEqF,IAAKjH,EAAS,WAAaA,EAAQgH,QAAYH,EAAcG,WAI7E,OAHKpF,GAAEwD,QAAS4B,IACZpF,EAAE7C,OAAQ2E,EAAMzD,KAAKiH,mBAAoBF,IAEtCtD,GAIXoD,eAAiB,WAEb,UAIJI,mBAAqB,SAAUF,GAC3B,GAAIG,IACAC,KACAC,MAQJ,OANAzF,GAAE0F,KAAMN,EAAS,SAAUO,EAAGC,GACtBD,KAAM,IAAQA,EAAI,QAClBA,KAAM,IAASA,EAAI,SACvBJ,EAAUC,EAAEK,KAAMD,GAClBL,EAAUE,GAAGI,KAAMF,KAEhBJ,IAQXO,EAAoB7I,SAAS8H,WAAW5H,OAAQJ,EAASK,eAAgBD,OAAQyH,GAAuBzH,QAExG4B,MAAU/B,EAMV+I,cAAgB,cAKhBC,YACIC,aACIC,OAAS,SAAUC,GAAK,MAAO,IAAIC,MAAMD,EAAExH,IAAK,iBAChD0H,KAAM,GAEVC,mBACIJ,OAAS,SAAUC,GAAK,MAAO,IAAIC,MAAMD,EAAExH,IAAK,iBAChD0H,KAAM,GAEV3I,MACIwI,OAAS,SAAUC,GAAK,MAAOA,GAAExH,IAAK,SACtC0H,KAAM,GAEVE,YACIL,OAAS,SAAUC,GAAK,MAAOA,GAAExH,IAAK,SACtC0H,KAAM,GAEVG,MACIN,OAAS,SAAUC,GAAK,MAAOA,GAAExH,IAAK,SACtC0H,KAAM,GAEVI,YACIP,OAAS,SAAUC,GAAK,MAAOA,GAAExH,IAAK,SACtC0H,KAAM,IAIdpI,WAAa,SAAUyI,EAAQtI,GAC3BA,EAAUA,MACVC,KAAKE,IAAK,+BAAgCmB,WAI1CrB,KAAKsI,eAAiBvI,EAAQuI,iBAAkB,EAEhDtI,KAAKuI,SAAUxI,EAAQyI,OAASxI,KAAK0H,eAErC1H,KAAKyI,iBAAmB1I,EAAQ0I,iBAEhCzI,KAAK0I,WAAa3I,EAAQ2I,aAAc,EAKxC1I,KAAK2I,kBAGTlJ,SAAYmJ,OAAOlJ,cAAeA,cAAcC,KAAO,KAAQ,gBAC/DkJ,IAAU,WAAY,MAAO7I,MAAKP,SAGlCoH,eAAiB,WAEb,GAAI3H,IACAsJ,MAAUxI,KAAKwI,MACfM,KAAU,WAQd,OANK9I,MAAKsI,iBACNpJ,EAAS6H,SACLvH,SAAU,EACVyE,QAAU,IAGX/E,GAIXyJ,eAAiB,WACb3I,KAAKS,IAEDsI,iBAAmB,SAAU3F,GAEzBpD,KAAKgJ,MAAO,iBAAkBhJ,KAAKsI,eAAgBlF,EAAQ9C,IAAK,aAC3DN,KAAKsI,gBAAkBlF,EAAQ9C,IAAK,YACrCN,KAAKiJ,OAAQ7F,IAIrB8F,OAAW,SAAUC,EAAUC,GAC3BpJ,KAAKqJ,WAAY,GAAI1K,GAASyK,QAGlCE,iBAAmB,SAAUlG,GACzB,GAAImG,GAAevJ,KAAKyI,gBACxBzI,MAAKgB,QAAS,oBAAqBuI,GACnCvJ,KAAKyI,iBAAmBrF,EAAQhE,KAErCY,OAIPwJ,KAAO,SAAUzJ,GAGb,MAFAA,GAAUA,MACVC,KAAKuI,SAAUxI,EAAQyI,OAChB5J,SAAS8H,WAAW9E,UAAU4H,KAAK3H,KAAM7B,KAAMD,IAM1DwI,SAAW,SAAUC,GACjB,GAAIiB,GAAazJ,KACb0J,EAAY1J,KAAK2H,WAAYa,EACjC,KAAI7G,EAAEgI,YAAaD,GAgBnB,MAdAD,GAAWjB,MAAQA,EACnBiB,EAAWG,WAAa,SAAqBC,EAAGC,GAC5C,GAAIrB,GAAmBgB,EAAWhB,gBAElC,OAAIoB,GAAEzK,KAAOqJ,EAA2B,GACpCqB,EAAE1K,KAAOqJ,EAA2B,GAExCoB,EAAIH,EAAU7B,OAAQgC,GACtBC,EAAIJ,EAAU7B,OAAQiC,GACfJ,EAAU1B,IACT6B,IAAMC,EAAI,EAAQD,EAAIC,EAAK,EAAI,GAC/BD,IAAMC,EAAI,EAAQD,EAAIC,EAAI,GAAM,IAE5CL,EAAWzI,QAAS,gBAAiByI,EAAWjB,MAAOiB,GAChDA,GAMX9F,MAAQ,SAAU5D,GAEd,GADAA,EAAUA,MACNC,KAAK0I,WAAc,MAAOvH,QAAO2C,QACrC,IAAI2F,GAAazJ,KACb+J,EAAepI,EAAEzC,SAAUa,GACvBkJ,QAAS,EACTe,OAASP,EAAW1G,QAAU,EAAK0G,EAAW1G,OAAS,EAAM,EAC7DyF,MAASiB,EAAWjB,QAExByB,EAAQlK,EAAQkK,KAKpB,OAJKtI,GAAEgI,YAAaM,KAChBF,EAAaE,MAAQA,GAGlB1D,EAAqB5C,MAAM9B,KAAM7B,KAAM+J,GACzCnG,KAAM,SAAyBsG,GAC5B,GAAIC,GAAaxI,EAAEyI,QAASF,GAAaA,EAAUnH,OAAS,IAEvDkH,GAAsBA,EAAbE,KACVV,EAAWf,YAAa,EACxBe,EAAWzI,QAAS,cAAeyI,OAOnDY,OAAS,SAAiB5G,EAAM6G,EAAMC,GAElC,GAAId,GAAazJ,KACbW,EAAMQ,OAAO2D,QAASpF,cAAcC,KAAO,6BAC/C,OAAOgB,GAAIiD,KAAM,SAAUwF,GACvBK,EAAWJ,WAAY,GAAI1K,GAASyK,KAAamB,WAQzDlB,WAAa,SAAUjG,EAASrD,GAQ5B,MAPAA,GAAUA,MAEVC,KAAKwK,QAASpH,EAASrD,GACvBC,KAAKyI,iBAAmBrF,EAAQ9C,IAAK,MAChCP,EAAQ0K,QACTzK,KAAKgB,QAAS,cAAeoC,EAASpD,MAEnCA,MAIX0K,MAAQ,SAAUrC,EAAQtI,GAEtB,MADAC,MAAK0I,YAAa,EACX9J,SAAS8H,WAAW9E,UAAU8I,MAAM7I,KAAM7B,KAAMqI,EAAQtI,IAGnEgF,SAAU,WACN,MAAO,qBAAuB/E,KAAK+C,OAAS,MAKpD,QACIpE,QAAoBA,EACpB8I,kBAAoBA"} \ No newline at end of file diff --git a/static/scripts/mvc/history/history-model.js b/static/scripts/mvc/history/history-model.js index 9a595cfff4a..86b7876c36b 100644 --- a/static/scripts/mvc/history/history-model.js +++ b/static/scripts/mvc/history/history-model.js @@ -1,2 +1,2 @@ -define(["mvc/history/history-contents","utils/utils","mvc/base-mvc","utils/localization"],function(a,b,c){var d=Backbone.Model.extend(c.LoggableMixin).extend(c.mixin(c.SearchableModelMixin,{defaults:{model_class:"History",id:null,name:"Unnamed History",state:"new",diskSize:0,deleted:!1},urlRoot:galaxy_config.root+"api/histories",initialize:function(b,c,d){d=d||{},this.logger=d.logger||null,this.log(this+".initialize:",b,c,d),this.log("creating history contents:",c),this.contents=new a.HistoryContents(c||[],{historyId:this.get("id")}),this._setUpListeners(),this.updateTimeoutId=null},_setUpListeners:function(){this.on("error",function(a,b,c,d,e){this.errorHandler(a,b,c,d,e)}),this.contents&&this.listenTo(this.contents,"error",function(){this.trigger.apply(this,["error:contents"].concat(jQuery.makeArray(arguments)))}),this.on("change:id",function(a,b){this.contents&&(this.contents.historyId=b)},this)},errorHandler:function(){this.clearUpdateTimeout()},nice_size:function(){return b.bytesToString(this.get("size"),!0,2)},toJSON:function(){return _.extend(Backbone.Model.prototype.toJSON.call(this),{nice_size:this.nice_size()})},get:function(a){return"nice_size"===a?this.nice_size():Backbone.Model.prototype.get.apply(this,arguments)},ownedByCurrUser:function(){return Galaxy&&Galaxy.currUser?Galaxy.currUser.isAnonymous()||Galaxy.currUser.id!==this.get("user_id")?!1:!0:!1},contentsCount:function(){return _.reduce(_.values(this.get("state_details")),function(a,b){return a+b},0)},searchAttributes:["name","annotation","tags"],searchAliases:{title:"name",tag:"tags"},checkForUpdates:function(a){return this.contents.running().length?this.setUpdateTimeout():(this.trigger("ready"),_.isFunction(a)&&a.call(this)),this},setUpdateTimeout:function(a){a=a||d.UPDATE_DELAY;var b=this;return this.clearUpdateTimeout(),this.updateTimeoutId=setTimeout(function(){b.refresh()},a),this.updateTimeoutId},clearUpdateTimeout:function(){this.updateTimeoutId&&(clearTimeout(this.updateTimeoutId),this.updateTimeoutId=null)},refresh:function(a,b){a=a||[],b=b||{};var c=this;b.data=b.data||{},a.length&&(b.data.details=a.join(","));var d=this.contents.fetch(b);return d.done(function(){c.checkForUpdates(function(){this.fetch()})}),d},_delete:function(a){return this.get("deleted")?jQuery.when():this.save({deleted:!0},a)},purge:function(a){return this.get("purged")?jQuery.when():this.save({deleted:!0,purged:!0},a)},undelete:function(a){return this.get("deleted")?this.save({deleted:!1},a):jQuery.when()},copy:function(a,b){if(a=void 0!==a?a:!0,!this.id)throw new Error("You must set the history ID before copying it.");var c={history_id:this.id};a&&(c.current=!0),b&&(c.name=b);var e=this,f=jQuery.post(this.urlRoot,c);return a?f.then(function(a){var b=new d(a);return b.setAsCurrent().done(function(){e.trigger("copied",e,a)})}):f.done(function(a){e.trigger("copied",e,a)})},setAsCurrent:function(){var a=this,b=jQuery.getJSON(galaxy_config.root+"history/set_as_current?id="+this.id);return b.done(function(){a.trigger("set-as-current",a)}),b},toString:function(){return"History("+this.get("id")+","+this.get("name")+")"}}));d.UPDATE_DELAY=4e3,d.getHistoryData=function(a,b){function c(){return"current"===a?jQuery.getJSON(galaxy_config.root+"history/current_history_json"):jQuery.ajax(galaxy_config.root+"api/histories/"+a)}function d(a){return a&&a.empty}function e(a){if(d(a))return[];_.isFunction(f)&&(f=f(a)),_.isFunction(g)&&(g=g(a));var b={};return f.length&&(b.dataset_details=f.join(",")),g.length&&(b.dataset_collection_details=g.join(",")),jQuery.ajax(galaxy_config.root+"api/histories/"+a.id+"/contents",{data:b})}b=b||{};var f=b.detailIdsFn||[],g=b.hdcaDetailIds||[],h=jQuery.Deferred(),i=null,j=b.historyFn||c,k=b.contentsFn||e,l=j(a);l.done(function(a){i=a,h.notify({status:"history data retrieved",historyJSON:i})}),l.fail(function(a){h.reject(a,"loading the history")});var m=l.then(k);return m.then(function(a){h.notify({status:"contents data retrieved",historyJSON:i,contentsJSON:a}),h.resolve(i,a)}),m.fail(function(a){h.reject(a,"loading the contents",{history:i})}),h};var e={fetch:function(a){return a=a||{},a.data=a.data||this._buildFetchData(a),a.traditional=!0,Backbone.Collection.prototype.fetch.call(this,a)},_fetchOptions:["order","limit","offset","view","keys"],_buildFetchData:function(a){var b={},c=this._fetchDefaults();a=_.defaults(a||{},c),b=_.pick(a,this._fetchOptions);var d=_.has(a,"filters")?a.filters:c.filters||{};return _.isEmpty(d)||_.extend(b,this._buildFetchFilters(d)),b},_fetchDefaults:function(){return{}},_buildFetchFilters:function(a){var b={q:[],qv:[]};return _.each(a,function(a,c){a===!0&&(a="True"),a===!1&&(a="False"),b.q.push(c),b.qv.push(a)}),b}},f=Backbone.Collection.extend(c.LoggableMixin).extend(e).extend({model:d,DEFAULT_ORDER:"update_time",sortOrders:{update_time:{getter:function(a){return new Date(a.get("update_time"))},asc:!1},"update_time-asc":{getter:function(a){return new Date(a.get("update_time"))},asc:!0},name:{getter:function(a){return a.get("name")},asc:!0},"name-dsc":{getter:function(a){return a.get("name")},asc:!1},size:{getter:function(a){return a.get("size")},asc:!1},"size-asc":{getter:function(a){return a.get("size")},asc:!0}},initialize:function(a,b){b=b||{},this.log("HistoryCollection.initialize",arguments),this.includeDeleted=b.includeDeleted||!1,this.setOrder(b.order||this.DEFAULT_ORDER),this.currentHistoryId=b.currentHistoryId,this.allFetched=b.allFetched||!1,this.setUpListeners()},urlRoot:(window.galaxy_config?galaxy_config.root:"/")+"api/histories",url:function(){return this.urlRoot},_fetchDefaults:function(){var a={order:this.order,view:"detailed"};return this.includeDeleted||(a.filters={deleted:!1,purged:!1}),a},setUpListeners:function(){this.on({"change:deleted":function(a){this.debug("change:deleted",this.includeDeleted,a.get("deleted")),!this.includeDeleted&&a.get("deleted")&&this.remove(a)},copied:function(a,b){var c=new d(b,[]);this.unshift(c),this.trigger("new-current",c,this)},"set-as-current":function(a){var b=this.currentHistoryId;this.trigger("no-longer-current",b),this.currentHistoryId=a.id}},this)},sort:function(a){return a=a||{},this.setOrder(a.order),Backbone.Collection.prototype.sort.call(this,a)},setOrder:function(a){var b=this,c=this.sortOrders[a];if(!_.isUndefined(c))return b.order=a,b.comparator=function(a,d){var e=b.currentHistoryId;return a.id===e?-1:d.id===e?1:(a=c.getter(a),d=c.getter(d),c.asc?a===d?0:a>d?1:-1:a===d?0:a>d?-1:1)},b.trigger("changed-order",b.order,b),b},fetch:function(a){if(a=a||{},this.allFetched)return jQuery.when({});var b=this,c=_.defaults(a,{remove:!1,offset:b.length>=1?b.length-1:0,order:b.order}),d=a.limit;return _.isUndefined(d)||(c.limit=d),e.fetch.call(this,c).done(function(a){var c=_.isArray(a)?a.length:0;(!d||d>c)&&(b.allFetched=!0,b.trigger("all-fetched",b))})},create:function(a,b,c){var e=this,f=jQuery.getJSON(galaxy_config.root+"history/create_new_current");return f.done(function(a){var b=new d(a,[],c||{});e.unshift(b),e.trigger("new-current",b,this)})},reset:function(a,b){return this.allFetched=!1,Backbone.Collection.prototype.reset.call(this,a,b)},toString:function(){return"HistoryCollection("+this.length+")"}});return{History:d,HistoryCollection:f}}); +define(["mvc/history/history-contents","utils/utils","mvc/base-mvc","utils/localization"],function(a,b,c){var d=Backbone.Model.extend(c.LoggableMixin).extend(c.mixin(c.SearchableModelMixin,{defaults:{model_class:"History",id:null,name:"Unnamed History",state:"new",diskSize:0,deleted:!1},urlRoot:galaxy_config.root+"api/histories",initialize:function(b,c,d){d=d||{},this.logger=d.logger||null,this.log(this+".initialize:",b,c,d),this.log("creating history contents:",c),this.contents=new a.HistoryContents(c||[],{historyId:this.get("id")}),this._setUpListeners(),this.updateTimeoutId=null},_setUpListeners:function(){this.on("error",function(a,b,c,d,e){this.errorHandler(a,b,c,d,e)}),this.contents&&this.listenTo(this.contents,"error",function(){this.trigger.apply(this,["error:contents"].concat(jQuery.makeArray(arguments)))}),this.on("change:id",function(a,b){this.contents&&(this.contents.historyId=b)},this)},errorHandler:function(){this.clearUpdateTimeout()},nice_size:function(){return b.bytesToString(this.get("size"),!0,2)},toJSON:function(){return _.extend(Backbone.Model.prototype.toJSON.call(this),{nice_size:this.nice_size()})},get:function(a){return"nice_size"===a?this.nice_size():Backbone.Model.prototype.get.apply(this,arguments)},ownedByCurrUser:function(){return Galaxy&&Galaxy.currUser?Galaxy.currUser.isAnonymous()||Galaxy.currUser.id!==this.get("user_id")?!1:!0:!1},contentsCount:function(){return _.reduce(_.values(this.get("state_details")),function(a,b){return a+b},0)},searchAttributes:["name","annotation","tags"],searchAliases:{title:"name",tag:"tags"},checkForUpdates:function(a){return this.contents.running().length?this.setUpdateTimeout():(this.trigger("ready"),_.isFunction(a)&&a.call(this)),this},setUpdateTimeout:function(a){a=a||d.UPDATE_DELAY;var b=this;return this.clearUpdateTimeout(),this.updateTimeoutId=setTimeout(function(){b.refresh()},a),this.updateTimeoutId},clearUpdateTimeout:function(){this.updateTimeoutId&&(clearTimeout(this.updateTimeoutId),this.updateTimeoutId=null)},refresh:function(a,b){a=a||[],b=b||{};var c=this;b.data=b.data||{},a.length&&(b.data.details=a.join(","));var d=this.contents.fetch(b);return d.done(function(){c.checkForUpdates(function(){this.fetch()})}),d},_delete:function(a){return this.get("deleted")?jQuery.when():this.save({deleted:!0},a)},purge:function(a){return this.get("purged")?jQuery.when():this.save({deleted:!0,purged:!0},a)},undelete:function(a){return this.get("deleted")?this.save({deleted:!1},a):jQuery.when()},copy:function(a,b){if(a=void 0!==a?a:!0,!this.id)throw new Error("You must set the history ID before copying it.");var c={history_id:this.id};a&&(c.current=!0),b&&(c.name=b);var e=this,f=jQuery.post(this.urlRoot,c);return a?f.then(function(a){var b=new d(a);return b.setAsCurrent().done(function(){e.trigger("copied",e,a)})}):f.done(function(a){e.trigger("copied",e,a)})},setAsCurrent:function(){var a=this,b=jQuery.getJSON(galaxy_config.root+"history/set_as_current?id="+this.id);return b.done(function(){a.trigger("set-as-current",a)}),b},toString:function(){return"History("+this.get("id")+","+this.get("name")+")"}}));d.UPDATE_DELAY=4e3,d.getHistoryData=function(a,b){function c(){return"current"===a?jQuery.getJSON(galaxy_config.root+"history/current_history_json"):jQuery.ajax(galaxy_config.root+"api/histories/"+a)}function d(a){return a&&a.empty}function e(a){if(d(a))return[];_.isFunction(f)&&(f=f(a)),_.isFunction(g)&&(g=g(a));var b={};return f.length&&(b.dataset_details=f.join(",")),g.length&&(b.dataset_collection_details=g.join(",")),jQuery.ajax(galaxy_config.root+"api/histories/"+a.id+"/contents",{data:b})}b=b||{};var f=b.detailIdsFn||[],g=b.hdcaDetailIds||[],h=jQuery.Deferred(),i=null,j=b.historyFn||c,k=b.contentsFn||e,l=j(a);l.done(function(a){i=a,h.notify({status:"history data retrieved",historyJSON:i})}),l.fail(function(a){h.reject(a,"loading the history")});var m=l.then(k);return m.then(function(a){h.notify({status:"contents data retrieved",historyJSON:i,contentsJSON:a}),h.resolve(i,a)}),m.fail(function(a){h.reject(a,"loading the contents",{history:i})}),h};var e={fetch:function(a){return a=a||{},a.data=a.data||this._buildFetchData(a),a.traditional=!0,Backbone.Collection.prototype.fetch.call(this,a)},_fetchOptions:["order","limit","offset","view","keys"],_buildFetchData:function(a){var b={},c=this._fetchDefaults();a=_.defaults(a||{},c),b=_.pick(a,this._fetchOptions);var d=_.has(a,"filters")?a.filters:c.filters||{};return _.isEmpty(d)||_.extend(b,this._buildFetchFilters(d)),b},_fetchDefaults:function(){return{}},_buildFetchFilters:function(a){var b={q:[],qv:[]};return _.each(a,function(a,c){a===!0&&(a="True"),a===!1&&(a="False"),b.q.push(c),b.qv.push(a)}),b}},f=Backbone.Collection.extend(c.LoggableMixin).extend(e).extend({model:d,DEFAULT_ORDER:"update_time",sortOrders:{update_time:{getter:function(a){return new Date(a.get("update_time"))},asc:!1},"update_time-asc":{getter:function(a){return new Date(a.get("update_time"))},asc:!0},name:{getter:function(a){return a.get("name")},asc:!0},"name-dsc":{getter:function(a){return a.get("name")},asc:!1},size:{getter:function(a){return a.get("size")},asc:!1},"size-asc":{getter:function(a){return a.get("size")},asc:!0}},initialize:function(a,b){b=b||{},this.log("HistoryCollection.initialize",arguments),this.includeDeleted=b.includeDeleted||!1,this.setOrder(b.order||this.DEFAULT_ORDER),this.currentHistoryId=b.currentHistoryId,this.allFetched=b.allFetched||!1,this.setUpListeners()},urlRoot:(window.galaxy_config?galaxy_config.root:"/")+"api/histories",url:function(){return this.urlRoot},_fetchDefaults:function(){var a={order:this.order,view:"detailed"};return this.includeDeleted||(a.filters={deleted:!1,purged:!1}),a},setUpListeners:function(){this.on({"change:deleted":function(a){this.debug("change:deleted",this.includeDeleted,a.get("deleted")),!this.includeDeleted&&a.get("deleted")&&this.remove(a)},copied:function(a,b){this.setCurrent(new d(b,[]))},"set-as-current":function(a){var b=this.currentHistoryId;this.trigger("no-longer-current",b),this.currentHistoryId=a.id}},this)},sort:function(a){return a=a||{},this.setOrder(a.order),Backbone.Collection.prototype.sort.call(this,a)},setOrder:function(a){var b=this,c=this.sortOrders[a];if(!_.isUndefined(c))return b.order=a,b.comparator=function(a,d){var e=b.currentHistoryId;return a.id===e?-1:d.id===e?1:(a=c.getter(a),d=c.getter(d),c.asc?a===d?0:a>d?1:-1:a===d?0:a>d?-1:1)},b.trigger("changed-order",b.order,b),b},fetch:function(a){if(a=a||{},this.allFetched)return jQuery.when({});var b=this,c=_.defaults(a,{remove:!1,offset:b.length>=1?b.length-1:0,order:b.order}),d=a.limit;return _.isUndefined(d)||(c.limit=d),e.fetch.call(this,c).done(function(a){var c=_.isArray(a)?a.length:0;(!d||d>c)&&(b.allFetched=!0,b.trigger("all-fetched",b))})},create:function(a,b,c){var e=this,f=jQuery.getJSON(galaxy_config.root+"history/create_new_current");return f.done(function(a){e.setCurrent(new d(a,[],c||{}))})},setCurrent:function(a,b){return b=b||{},this.unshift(a,b),this.currentHistoryId=a.get("id"),b.silent||this.trigger("new-current",a,this),this},reset:function(a,b){return this.allFetched=!1,Backbone.Collection.prototype.reset.call(this,a,b)},toString:function(){return"HistoryCollection("+this.length+")"}});return{History:d,HistoryCollection:f}}); //# sourceMappingURL=../../../maps/mvc/history/history-model.js.map \ No newline at end of file