Files
galaxy/static/scripts/mvc/upload/default/default-row.js
T

2 lines
5.6 KiB
JavaScript

define(["utils/utils","mvc/upload/upload-model","mvc/upload/upload-settings","mvc/ui/ui-popover","mvc/ui/ui-select"],function(a,b,c,d,e){return Backbone.View.extend({status_classes:{init:"upload-icon-button fa fa-trash-o",queued:"upload-icon fa fa-spinner fa-spin",running:"upload-icon fa fa-spinner fa-spin",success:"upload-icon-button fa fa-check",error:"upload-icon-button fa fa-exclamation-triangle"},initialize:function(a,b){var c=this;this.app=a,this.model=b.model,this.setElement(this._template(b.model)),this.$mode=this.$(".upload-mode"),this.$title=this.$(".upload-title"),this.$text=this.$(".upload-text"),this.$size=this.$(".upload-size"),this.$info_text=this.$(".upload-info-text"),this.$info_progress=this.$(".upload-info-progress"),this.$text_content=this.$(".upload-text-content"),this.$settings=this.$(".upload-settings"),this.$symbol=this.$(".upload-symbol"),this.$progress_bar=this.$(".upload-progress-bar"),this.$percentage=this.$(".upload-percentage"),this.settings=new d.View({title:"Upload configuration",container:this.$(".upload-settings"),placement:"bottom"});var f=this.app.select_genome.value(),g=this.app.select_extension.value();this.select_genome=new e.View({css:"upload-genome",data:c.app.list_genomes,container:this.$(".upload-genome"),value:f,onchange:function(a){c.model.set("genome",a)}}),this.select_extension=new e.View({css:"upload-extension",data:c.app.list_extensions,container:this.$(".upload-extension"),value:g,onchange:function(a){c.model.set("extension",a)}}),this.model.set({genome:f,extension:g}),this.$symbol.on("click",function(){c._removeRow()}),this.$(".upload-extension-info").on("click",function(a){c.app.showExtensionInfo({$el:$(a.target),title:c.select_extension.text(),extension:c.select_extension.value()})}).on("mousedown",function(a){a.preventDefault()}),this.$settings.on("click",function(){c._showSettings()}).on("mousedown",function(a){a.preventDefault()}),this.$text_content.on("change input",function(a){c.model.set({url_paste:$(a.target).val(),file_size:$(a.target).val().length})}),this.listenTo(this.model,"change:percentage",function(){c._refreshPercentage()}),this.listenTo(this.model,"change:status",function(){c._refreshStatus()}),this.listenTo(this.model,"change:info",function(){c._refreshInfo()}),this.listenTo(this.model,"change:genome",function(){c._refreshGenome()}),this.listenTo(this.model,"change:extension",function(){c._refreshExtension()}),this.listenTo(this.model,"change:file_size",function(){c._refreshFileSize()}),this.listenTo(this.model,"remove",function(){c.remove()}),this.app.collection.on("reset",function(){c.remove()})},render:function(){var b=this.model.attributes;this.$title.html(_.escape(b.file_name)),this.$size.html(a.bytesToString(b.file_size)),this.$mode.removeClass().addClass("upload-mode").addClass("text-primary"),"new"==b.file_mode?(this.$text.css({width:this.$el.width()-16+"px",top:this.$el.height()-8+"px"}).show(),this.$el.height(this.$el.height()-8+this.$text.height()+16),this.$mode.addClass("fa fa-edit")):"local"==b.file_mode?this.$mode.addClass("fa fa-laptop"):"ftp"==b.file_mode&&this.$mode.addClass("fa fa-folder-open-o")},remove:function(){this.select_genome.remove(),this.select_extension.remove(),Backbone.View.prototype.remove.apply(this)},_refreshExtension:function(){this.select_extension.value(this.model.get("extension"))},_refreshGenome:function(){this.select_genome.value(this.model.get("genome"))},_refreshInfo:function(){var a=this.model.get("info");a?this.$info_text.html("<strong>Failed: </strong>"+a).show():this.$info_text.hide()},_refreshPercentage:function(){var a=parseInt(this.model.get("percentage"));this.$progress_bar.css({width:a+"%"}),this.$percentage.html(100!=a?a+"%":"Adding to history...")},_refreshStatus:function(){var a=this.model.get("status");this.$symbol.removeClass().addClass("upload-symbol").addClass(this.status_classes[a]),this.model.set("enabled","init"==a);var b=this.model.get("enabled");this.$text_content.attr("disabled",!b),b?(this.select_genome.enable(),this.select_extension.enable()):(this.select_genome.disable(),this.select_extension.disable()),"success"==a&&(this.$el.addClass("success"),this.$percentage.html("100%")),"error"==a&&(this.$el.addClass("danger"),this.$info_progress.hide())},_refreshFileSize:function(){this.$size.html(a.bytesToString(this.model.get("file_size")))},_removeRow:function(){-1!==["init","success","error"].indexOf(this.model.get("status"))&&this.app.collection.remove(this.model)},_showSettings:function(){this.settings.visible?this.settings.hide():(this.settings.empty(),this.settings.append(new c(this).$el),this.settings.show())},_template:function(a){return'<tr id="upload-row-'+a.id+'" class="upload-row"><td><div class="upload-text-column"><div class="upload-mode"/><div class="upload-title"/><div class="upload-text"><div class="upload-text-info">You can tell Galaxy to download data from web by entering URL in this box (one per line). You can also directly paste the contents of a file.</div><textarea class="upload-text-content form-control"/></div></div></td><td><div class="upload-size"/></td><td><div class="upload-extension" style="float: left;"/>&nbsp;&nbsp<div class="upload-extension-info upload-icon-button fa fa-search"/></td><td><div class="upload-genome"/></td><td><div class="upload-settings upload-icon-button fa fa-gear"/></td><td><div class="upload-info"><div class="upload-info-text"/><div class="upload-info-progress progress"><div class="upload-progress-bar progress-bar progress-bar-success"/><div class="upload-percentage">0%</div></div></div></td><td><div class="upload-symbol '+this.status_classes.init+'"/></td></tr>'}})});
//# sourceMappingURL=../../../../maps/mvc/upload/default/default-row.js.map