diff --git a/client/galaxy/scripts/mvc/dataset/dataset-model.js b/client/galaxy/scripts/mvc/dataset/dataset-model.js index b563965cedf..6c38e09f54d 100644 --- a/client/galaxy/scripts/mvc/dataset/dataset-model.js +++ b/client/galaxy/scripts/mvc/dataset/dataset-model.js @@ -57,7 +57,7 @@ var DatasetAssociation = Backbone.Model.extend( BASE_MVC.LoggableMixin ).extend( this._setUpListeners(); }, - + /** returns misc. web urls for rendering things like re-run, display, etc. */ _generateUrls : function(){ //TODO: would be nice if the API did this @@ -251,6 +251,11 @@ var DatasetAssociationCollection = Backbone.Collection.extend( BASE_MVC.Loggable urlRoot : (( window.galaxy_config && galaxy_config.root )?( galaxy_config.root ):( '/' )) + 'api/datasets', + /** url fn */ + url : function(){ + return this.urlRoot + }, + // ........................................................................ common queries /** Get the ids of every item in this collection * @returns array of encoded ids diff --git a/static/maps/mvc/dataset/dataset-model.js.map b/static/maps/mvc/dataset/dataset-model.js.map index 23f361a2975..a451c4f1ac5 100644 --- a/static/maps/mvc/dataset/dataset-model.js.map +++ b/static/maps/mvc/dataset/dataset-model.js.map @@ -1 +1 @@ -{"version":3,"file":"dataset-model.js","sources":["../../../src/mvc/dataset/dataset-model.js"],"names":["define","STATES","BASE_MVC","_l","searchableMixin","SearchableModelMixin","DatasetAssociation","Backbone","Model","extend","LoggableMixin","mixin","defaults","state","NEW","deleted","purged","name","accessible","data_type","file_ext","file_size","meta_files","misc_blurb","misc_info","tags","initialize","attributes","options","this","debug","get","set","NOT_VIEWABLE","urls","_generateUrls","_setUpListeners","id","purge","display","edit","download","report_error","rerun","show_params","visualization","meta_download","root","window","galaxy_config","_","each","value","key","on","currModel","newState","log","inReadyState","trigger","previous","toJSON","json","prototype","call","isDeletedOrPurged","ready","contains","READY_STATES","hasDetails","has","hasData","fetch","dataset","always","delete","jQuery","when","save","undelete","url","hda","xhr","ajax","done","fail","error","messageBuriedInUnfortunatelyFormattedError","responseJSON","responseText","indexOf","searchAttributes","searchAliases","title","format","database","blurb","description","info","tag","toString","nameAndId","DatasetAssociationCollection","Collection","model","urlRoot","ids","map","item","notReady","filter","content","haveDetails","all","ajaxQueue","ajaxFn","deferred","Deferred","startingLength","length","responses","resolve","ajaxFns","chain","reverse","i","response","notify","curr","total","push","shift","matches","matchesWhat","join"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"dataset-model.js","sources":["../../../src/mvc/dataset/dataset-model.js"],"names":["define","STATES","BASE_MVC","_l","searchableMixin","SearchableModelMixin","DatasetAssociation","Backbone","Model","extend","LoggableMixin","mixin","defaults","state","NEW","deleted","purged","name","accessible","data_type","file_ext","file_size","meta_files","misc_blurb","misc_info","tags","initialize","attributes","options","this","debug","get","set","NOT_VIEWABLE","urls","_generateUrls","_setUpListeners","id","purge","display","edit","download","report_error","rerun","show_params","visualization","meta_download","root","window","galaxy_config","_","each","value","key","on","currModel","newState","log","inReadyState","trigger","previous","toJSON","json","prototype","call","isDeletedOrPurged","ready","contains","READY_STATES","hasDetails","has","hasData","fetch","dataset","always","delete","jQuery","when","save","undelete","url","hda","xhr","ajax","done","fail","error","messageBuriedInUnfortunatelyFormattedError","responseJSON","responseText","indexOf","searchAttributes","searchAliases","title","format","database","blurb","description","info","tag","toString","nameAndId","DatasetAssociationCollection","Collection","model","urlRoot","ids","map","item","notReady","filter","content","haveDetails","all","ajaxQueue","ajaxFn","deferred","Deferred","startingLength","length","responses","resolve","ajaxFns","chain","reverse","i","response","notify","curr","total","push","shift","matches","matchesWhat","join"],"mappings":"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"} \ No newline at end of file diff --git a/static/scripts/mvc/dataset/dataset-model.js b/static/scripts/mvc/dataset/dataset-model.js index 715a159df44..76ee5214d46 100644 --- a/static/scripts/mvc/dataset/dataset-model.js +++ b/static/scripts/mvc/dataset/dataset-model.js @@ -1,2 +1,2 @@ -define(["mvc/dataset/states","mvc/base-mvc","utils/localization"],function(a,b,c){var d=b.SearchableModelMixin,e=Backbone.Model.extend(b.LoggableMixin).extend(b.mixin(d,{defaults:{state:a.NEW,deleted:!1,purged:!1,name:"(unnamed dataset)",accessible:!0,data_type:"",file_ext:"",file_size:0,meta_files:[],misc_blurb:"",misc_info:"",tags:[]},initialize:function(b,c){this.debug(this+"(Dataset).initialize",b,c),this.get("accessible")||this.set("state",a.NOT_VIEWABLE),this.urls=this._generateUrls(),this._setUpListeners()},_generateUrls:function(){var a=this.get("id");if(!a)return{};var b={purge:"datasets/"+a+"/purge_async",display:"datasets/"+a+"/display/?preview=True",edit:"datasets/"+a+"/edit",download:"datasets/"+a+"/display?to_ext="+this.get("file_ext"),report_error:"dataset/errors?id="+a,rerun:"tool_runner/rerun?id="+a,show_params:"datasets/"+a+"/show_params",visualization:"visualization",meta_download:"dataset/get_metadata_file?hda_id="+a+"&metadata_name="},c=window.galaxy_config&&galaxy_config.root?galaxy_config.root:"/";return _.each(b,function(a,d){b[d]=c+a}),this.urls=b,b},_setUpListeners:function(){this.on("change:state",function(a,b){this.log(this+" has changed state:",a,b),this.inReadyState()&&this.trigger("state:ready",a,b,this.previous("state"))}),this.on("change:id change:file_ext",function(){this._generateUrls()})},toJSON:function(){var a=Backbone.Model.prototype.toJSON.call(this);return _.extend(a,{urls:this.urls})},isDeletedOrPurged:function(){return this.get("deleted")||this.get("purged")},inReadyState:function(){var b=_.contains(a.READY_STATES,this.get("state"));return this.isDeletedOrPurged()||b},hasDetails:function(){return _.has(this.attributes,"genome_build")},hasData:function(){return this.get("file_size")>0},fetch:function(a){var b=this;return Backbone.Model.prototype.fetch.call(this,a).always(function(){b._generateUrls()})},"delete":function(a){return this.get("deleted")?jQuery.when():this.save({deleted:!0},a)},undelete:function(a){return!this.get("deleted")||this.get("purged")?jQuery.when():this.save({deleted:!1},a)},purge:function(a){if(this.get("purged"))return jQuery.when();a=a||{},a.url=this.urls.purge;var b=this,d=jQuery.ajax(a);return d.done(function(){b.set({deleted:!0,purged:!0})}),d.fail(function(d){var e=c("Unable to purge dataset"),f="Removal of datasets by users is not allowed in this Galaxy instance";d.responseJSON&&d.responseJSON.error?e=d.responseJSON.error:-1!==d.responseText.indexOf(f)&&(e=f),d.responseText=e,b.trigger("error",b,d,a,c(e),{error:e})}),d},searchAttributes:["name","file_ext","genome_build","misc_blurb","misc_info","annotation","tags"],searchAliases:{title:"name",format:"file_ext",database:"genome_build",blurb:"misc_blurb",description:"misc_blurb",info:"misc_info",tag:"tags"},toString:function(){var a=this.get("id")||"";return this.get("name")&&(a='"'+this.get("name")+'",'+a),"Dataset("+a+")"}})),f=Backbone.Collection.extend(b.LoggableMixin).extend({model:e,urlRoot:(window.galaxy_config&&galaxy_config.root?galaxy_config.root:"/")+"api/datasets",ids:function(){return this.map(function(a){return a.get("id")})},notReady:function(){return this.filter(function(a){return!a.inReadyState()})},haveDetails:function(){return this.all(function(a){return a.hasDetails()})},ajaxQueue:function(a,b){var c=jQuery.Deferred(),d=this.length,e=[];if(!d)return c.resolve([]),c;var f=this.chain().reverse().map(function(g,h){return function(){var i=a.call(g,b);i.done(function(a){c.notify({curr:h,total:d,response:a,model:g})}),i.always(function(a){e.push(a),f.length?f.shift()():c.resolve(e)})}}).value();return f.shift()(),c},matches:function(a){return this.filter(function(b){return b.matches(a)})},toString:function(){return["DatasetAssociationCollection(",this.length,")"].join("")}});return{DatasetAssociation:e,DatasetAssociationCollection:f}}); +define(["mvc/dataset/states","mvc/base-mvc","utils/localization"],function(a,b,c){var d=b.SearchableModelMixin,e=Backbone.Model.extend(b.LoggableMixin).extend(b.mixin(d,{defaults:{state:a.NEW,deleted:!1,purged:!1,name:"(unnamed dataset)",accessible:!0,data_type:"",file_ext:"",file_size:0,meta_files:[],misc_blurb:"",misc_info:"",tags:[]},initialize:function(b,c){this.debug(this+"(Dataset).initialize",b,c),this.get("accessible")||this.set("state",a.NOT_VIEWABLE),this.urls=this._generateUrls(),this._setUpListeners()},_generateUrls:function(){var a=this.get("id");if(!a)return{};var b={purge:"datasets/"+a+"/purge_async",display:"datasets/"+a+"/display/?preview=True",edit:"datasets/"+a+"/edit",download:"datasets/"+a+"/display?to_ext="+this.get("file_ext"),report_error:"dataset/errors?id="+a,rerun:"tool_runner/rerun?id="+a,show_params:"datasets/"+a+"/show_params",visualization:"visualization",meta_download:"dataset/get_metadata_file?hda_id="+a+"&metadata_name="},c=window.galaxy_config&&galaxy_config.root?galaxy_config.root:"/";return _.each(b,function(a,d){b[d]=c+a}),this.urls=b,b},_setUpListeners:function(){this.on("change:state",function(a,b){this.log(this+" has changed state:",a,b),this.inReadyState()&&this.trigger("state:ready",a,b,this.previous("state"))}),this.on("change:id change:file_ext",function(){this._generateUrls()})},toJSON:function(){var a=Backbone.Model.prototype.toJSON.call(this);return _.extend(a,{urls:this.urls})},isDeletedOrPurged:function(){return this.get("deleted")||this.get("purged")},inReadyState:function(){var b=_.contains(a.READY_STATES,this.get("state"));return this.isDeletedOrPurged()||b},hasDetails:function(){return _.has(this.attributes,"genome_build")},hasData:function(){return this.get("file_size")>0},fetch:function(a){var b=this;return Backbone.Model.prototype.fetch.call(this,a).always(function(){b._generateUrls()})},"delete":function(a){return this.get("deleted")?jQuery.when():this.save({deleted:!0},a)},undelete:function(a){return!this.get("deleted")||this.get("purged")?jQuery.when():this.save({deleted:!1},a)},purge:function(a){if(this.get("purged"))return jQuery.when();a=a||{},a.url=this.urls.purge;var b=this,d=jQuery.ajax(a);return d.done(function(){b.set({deleted:!0,purged:!0})}),d.fail(function(d){var e=c("Unable to purge dataset"),f="Removal of datasets by users is not allowed in this Galaxy instance";d.responseJSON&&d.responseJSON.error?e=d.responseJSON.error:-1!==d.responseText.indexOf(f)&&(e=f),d.responseText=e,b.trigger("error",b,d,a,c(e),{error:e})}),d},searchAttributes:["name","file_ext","genome_build","misc_blurb","misc_info","annotation","tags"],searchAliases:{title:"name",format:"file_ext",database:"genome_build",blurb:"misc_blurb",description:"misc_blurb",info:"misc_info",tag:"tags"},toString:function(){var a=this.get("id")||"";return this.get("name")&&(a='"'+this.get("name")+'",'+a),"Dataset("+a+")"}})),f=Backbone.Collection.extend(b.LoggableMixin).extend({model:e,urlRoot:(window.galaxy_config&&galaxy_config.root?galaxy_config.root:"/")+"api/datasets",url:function(){return this.urlRoot},ids:function(){return this.map(function(a){return a.get("id")})},notReady:function(){return this.filter(function(a){return!a.inReadyState()})},haveDetails:function(){return this.all(function(a){return a.hasDetails()})},ajaxQueue:function(a,b){var c=jQuery.Deferred(),d=this.length,e=[];if(!d)return c.resolve([]),c;var f=this.chain().reverse().map(function(g,h){return function(){var i=a.call(g,b);i.done(function(a){c.notify({curr:h,total:d,response:a,model:g})}),i.always(function(a){e.push(a),f.length?f.shift()():c.resolve(e)})}}).value();return f.shift()(),c},matches:function(a){return this.filter(function(b){return b.matches(a)})},toString:function(){return["DatasetAssociationCollection(",this.length,")"].join("")}});return{DatasetAssociation:e,DatasetAssociationCollection:f}}); //# sourceMappingURL=../../../maps/mvc/dataset/dataset-model.js.map \ No newline at end of file