diff --git a/client/galaxy/scripts/mvc/history/history-contents.js b/client/galaxy/scripts/mvc/history/history-contents.js index 165f5ff41a6..c67545895ee 100644 --- a/client/galaxy/scripts/mvc/history/history-contents.js +++ b/client/galaxy/scripts/mvc/history/history-contents.js @@ -41,10 +41,13 @@ var HistoryContents = Backbone.Collection.extend( BASE_MVC.LoggableMixin ).exten case 'list:paired': return new HDCA_MODEL.HistoryListPairedDatasetCollection( attrs, options ); } - throw new TypeError( 'Unknown collection_type: ' + attrs.collection_type ); + // This is a hack inside a hack: + // Raise a plain object with validationError to fake a model.validationError + // (since we don't have a model to use validate with) + // (the outer hack being the mixed content/model function in this collection) + return { validationError : 'Unknown collection_type: ' + attrs.history_content_type }; } - // TODO: Handle unknown history_content_type... - throw new TypeError( 'Unknown history_content_type: ' + attrs.history_content_type ); + return { validationError : 'Unknown history_content_type: ' + attrs.history_content_type }; }, /** Set up. diff --git a/static/maps/mvc/history/history-contents.js.map b/static/maps/mvc/history/history-contents.js.map index 7ceee9929f7..98f1fdc9f7d 100644 --- a/static/maps/mvc/history/history-contents.js.map +++ b/static/maps/mvc/history/history-contents.js.map @@ -1 +1 @@ -{"version":3,"file":"history-contents.js","sources":["../../../src/mvc/history/history-contents.js"],"names":["define","HISTORY_CONTENT","HDA_MODEL","HDCA_MODEL","BASE_MVC","HistoryContents","Backbone","Collection","extend","LoggableMixin","model","attrs","options","history_content_type","HistoryDatasetAssociation","collection_type","HistoryListDatasetCollection","HistoryPairDatasetCollection","HistoryListPairedDatasetCollection","TypeError","initialize","models","this","historyId","prototype","idAttribute","on","debug","arguments","urlRoot","galaxy_config","root","url","ids","map","item","get","notReady","filter","content","inReadyState","running","idList","each","isRunning","push","getByHid","hid","_","first","getVisible","show_deleted","show_hidden","filters","filteredHdas","isVisible","filter_fn","isFunction","haveDetails","all","hasDetails","fetchAllDetails","detailsFlag","details","data","fetch","ajaxQueue","ajaxFn","deferred","jQuery","Deferred","startingLength","length","responses","resolve","ajaxFns","chain","reverse","i","xhr","call","done","response","notify","curr","total","always","shift","value","isCopyable","contentsJSON","copyableModelClasses","isObject","id","contains","model_class","copy","json","type","contentType","isString","LibraryDatasetDatasetAssociation","HistoryDatasetCollectionAssociation","collection","post","source","add","fail","trigger","matches","matchesWhat","set","type_id","typeIdStr","createHDCA","elementIdentifiers","collectionType","name","contents","typeToModel","list","paired","hdca","history_id","element_identifiers","save","status","message","clone","print","c","elements","toString","join"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"history-contents.js","sources":["../../../src/mvc/history/history-contents.js"],"names":["define","HISTORY_CONTENT","HDA_MODEL","HDCA_MODEL","BASE_MVC","HistoryContents","Backbone","Collection","extend","LoggableMixin","model","attrs","options","history_content_type","HistoryDatasetAssociation","collection_type","HistoryListDatasetCollection","HistoryPairDatasetCollection","HistoryListPairedDatasetCollection","validationError","initialize","models","this","historyId","prototype","idAttribute","on","debug","arguments","urlRoot","galaxy_config","root","url","ids","map","item","get","notReady","filter","content","inReadyState","running","idList","each","isRunning","push","getByHid","hid","_","first","getVisible","show_deleted","show_hidden","filters","filteredHdas","isVisible","filter_fn","isFunction","haveDetails","all","hasDetails","fetchAllDetails","detailsFlag","details","data","fetch","ajaxQueue","ajaxFn","deferred","jQuery","Deferred","startingLength","length","responses","resolve","ajaxFns","chain","reverse","i","xhr","call","done","response","notify","curr","total","always","shift","value","isCopyable","contentsJSON","copyableModelClasses","isObject","id","contains","model_class","copy","json","type","contentType","isString","LibraryDatasetDatasetAssociation","HistoryDatasetCollectionAssociation","collection","post","source","add","fail","trigger","matches","matchesWhat","set","type_id","typeIdStr","createHDCA","elementIdentifiers","collectionType","name","contents","typeToModel","list","paired","hdca","history_id","element_identifiers","save","status","message","clone","print","c","elements","toString","join"],"mappings":"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"} \ No newline at end of file diff --git a/static/scripts/mvc/history/history-contents.js b/static/scripts/mvc/history/history-contents.js index 1673afa6ea7..7ac018a9a02 100644 --- a/static/scripts/mvc/history/history-contents.js +++ b/static/scripts/mvc/history/history-contents.js @@ -1,2 +1,2 @@ -define(["mvc/history/history-content-model","mvc/history/hda-model","mvc/history/hdca-model","mvc/base-mvc","utils/localization"],function(a,b,c,d){var e=Backbone.Collection.extend(d.LoggableMixin).extend({model:function(a,d){if("dataset"===a.history_content_type)return new b.HistoryDatasetAssociation(a,d);if("dataset_collection"===a.history_content_type){switch(a.collection_type){case"list":return new c.HistoryListDatasetCollection(a,d);case"paired":return new c.HistoryPairDatasetCollection(a,d);case"list:paired":return new c.HistoryListPairedDatasetCollection(a,d)}throw new TypeError("Unknown collection_type: "+a.collection_type)}throw new TypeError("Unknown history_content_type: "+a.history_content_type)},initialize:function(a,b){b=b||{},this.historyId=b.historyId,this.model.prototype.idAttribute="type_id",this.on("all",function(){this.debug(this+".event:",arguments)})},urlRoot:galaxy_config.root+"api/histories",url:function(){return this.urlRoot+"/"+this.historyId+"/contents"},ids:function(){return this.map(function(a){return a.get("id")})},notReady:function(){return this.filter(function(a){return!a.inReadyState()})},running:function(){var a=[];return this.each(function(b){var c=!b.inReadyState();c&&a.push(b.get("id"))}),a},getByHid:function(a){return _.first(this.filter(function(b){return b.get("hid")===a}))},getVisible:function(a,b,c){c=c||[],this.debug("checking isVisible");var d=new e(this.filter(function(c){return c.isVisible(a,b)}));return _.each(c,function(a){_.isFunction(a)&&(d=new e(d.filter(a)))}),d},haveDetails:function(){return this.all(function(a){return a.hasDetails()})},fetchAllDetails:function(a){a=a||{};var b={details:"all"};return a.data=a.data?_.extend(a.data,b):b,this.fetch(a)},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},isCopyable:function(a){var b=["HistoryDatasetAssociation","HistoryDatasetCollectionAssociation"];return _.isObject(a)&&a.id&&_.contains(b,a.model_class)},copy:function(a){var b,c,d;_.isString(a)?(b=a,d="hda",c="dataset"):(b=a.id,d={HistoryDatasetAssociation:"hda",LibraryDatasetDatasetAssociation:"ldda",HistoryDatasetCollectionAssociation:"hdca"}[a.model_class]||"hda",c="hdca"===d?"dataset_collection":"dataset");var e=this,f=jQuery.post(this.url(),{content:b,source:d,type:c}).done(function(a){e.add([a])}).fail(function(){e.trigger("error",e,f,{},"Error copying contents",{type:c,id:b,source:d})});return f},matches:function(a){return this.filter(function(b){return b.matches(a)})},set:function(b,c){_.each(b,function(b){b.type_id&&b.get&&b.get("type_id")||(b.type_id=a.typeIdStr(b.history_content_type,b.id))}),Backbone.Collection.prototype.set.call(this,b,c)},createHDCA:function(a,b,d){var e=this,f={list:c.HistoryListDatasetCollection,paired:c.HistoryPairDatasetCollection},g=new f[b]({history_id:this.historyId,name:d,element_identifiers:a});return g.save().done(function(){e.add(g)}).fail(function(a,b,c){e.trigger("error",a,b,c)})},clone:function(){var a=Backbone.Collection.prototype.clone.call(this);return a.historyId=this.historyId,a},print:function(){var a=this;a.each(function(b){a.debug(b),b.elements&&a.debug(" elements:",b.elements)})},toString:function(){return["HistoryContents(",[this.historyId,this.length].join(),")"].join("")}});return{HistoryContents:e}}); +define(["mvc/history/history-content-model","mvc/history/hda-model","mvc/history/hdca-model","mvc/base-mvc","utils/localization"],function(a,b,c,d){var e=Backbone.Collection.extend(d.LoggableMixin).extend({model:function(a,d){if("dataset"===a.history_content_type)return new b.HistoryDatasetAssociation(a,d);if("dataset_collection"===a.history_content_type){switch(a.collection_type){case"list":return new c.HistoryListDatasetCollection(a,d);case"paired":return new c.HistoryPairDatasetCollection(a,d);case"list:paired":return new c.HistoryListPairedDatasetCollection(a,d)}return{validationError:"Unknown collection_type: "+a.history_content_type}}return{validationError:"Unknown history_content_type: "+a.history_content_type}},initialize:function(a,b){b=b||{},this.historyId=b.historyId,this.model.prototype.idAttribute="type_id",this.on("all",function(){this.debug(this+".event:",arguments)})},urlRoot:galaxy_config.root+"api/histories",url:function(){return this.urlRoot+"/"+this.historyId+"/contents"},ids:function(){return this.map(function(a){return a.get("id")})},notReady:function(){return this.filter(function(a){return!a.inReadyState()})},running:function(){var a=[];return this.each(function(b){var c=!b.inReadyState();c&&a.push(b.get("id"))}),a},getByHid:function(a){return _.first(this.filter(function(b){return b.get("hid")===a}))},getVisible:function(a,b,c){c=c||[],this.debug("checking isVisible");var d=new e(this.filter(function(c){return c.isVisible(a,b)}));return _.each(c,function(a){_.isFunction(a)&&(d=new e(d.filter(a)))}),d},haveDetails:function(){return this.all(function(a){return a.hasDetails()})},fetchAllDetails:function(a){a=a||{};var b={details:"all"};return a.data=a.data?_.extend(a.data,b):b,this.fetch(a)},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},isCopyable:function(a){var b=["HistoryDatasetAssociation","HistoryDatasetCollectionAssociation"];return _.isObject(a)&&a.id&&_.contains(b,a.model_class)},copy:function(a){var b,c,d;_.isString(a)?(b=a,d="hda",c="dataset"):(b=a.id,d={HistoryDatasetAssociation:"hda",LibraryDatasetDatasetAssociation:"ldda",HistoryDatasetCollectionAssociation:"hdca"}[a.model_class]||"hda",c="hdca"===d?"dataset_collection":"dataset");var e=this,f=jQuery.post(this.url(),{content:b,source:d,type:c}).done(function(a){e.add([a])}).fail(function(){e.trigger("error",e,f,{},"Error copying contents",{type:c,id:b,source:d})});return f},matches:function(a){return this.filter(function(b){return b.matches(a)})},set:function(b,c){_.each(b,function(b){b.type_id&&b.get&&b.get("type_id")||(b.type_id=a.typeIdStr(b.history_content_type,b.id))}),Backbone.Collection.prototype.set.call(this,b,c)},createHDCA:function(a,b,d){var e=this,f={list:c.HistoryListDatasetCollection,paired:c.HistoryPairDatasetCollection},g=new f[b]({history_id:this.historyId,name:d,element_identifiers:a});return g.save().done(function(){e.add(g)}).fail(function(a,b,c){e.trigger("error",a,b,c)})},clone:function(){var a=Backbone.Collection.prototype.clone.call(this);return a.historyId=this.historyId,a},print:function(){var a=this;a.each(function(b){a.debug(b),b.elements&&a.debug(" elements:",b.elements)})},toString:function(){return["HistoryContents(",[this.historyId,this.length].join(),")"].join("")}});return{HistoryContents:e}}); //# sourceMappingURL=../../../maps/mvc/history/history-contents.js.map \ No newline at end of file