mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-11-03 04:43:11 +08:00
3 lines
10 KiB
JavaScript
3 lines
10 KiB
JavaScript
define("mvc/upload/default/default-view",["exports","backbone","underscore","utils/localization","mvc/upload/upload-model","mvc/upload/default/default-row","mvc/upload/upload-ftp","mvc/upload/upload-extension","mvc/ui/ui-popover","mvc/ui/ui-select","mvc/ui/ui-misc","mvc/lazy/lazy-limited","utils/uploadbox"],function(t,e,n,o,i,s,a,u,l,c,r,d){"use strict";function h(t){return t&&t.__esModule?t:{default:t}}function p(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}Object.defineProperty(t,"__esModule",{value:!0});var f=p(e),_=p(n),b=h(o),v=h(i),g=h(s),m=h(a),x=h(u),w=h(l),z=h(c),y=h(r),S=h(d);t.default=f.View.extend({upload_size:0,collection:new v.default.Collection,counter:{announce:0,success:0,error:0,running:0,reset:function(){this.announce=this.success=this.error=this.running=0}},initialize:function(t){var e=this;this.app=t,this.options=t.options,this.list_extensions=t.list_extensions,this.list_genomes=t.list_genomes,this.ui_button=t.ui_button,this.ftp_upload_site=t.currentFtp(),this.setElement(this._template()),this.$uploadbox=this.$(".upload-box"),this.$uploadtable=this.$(".upload-table"),this.btnLocal=new y.default.Button({id:"btn-local",title:(0,b.default)("Choose local file"),onclick:function(){e.uploadbox.select()},icon:"fa fa-laptop"}),this.btnFtp=new y.default.Button({id:"btn-ftp",title:(0,b.default)("Choose FTP file"),onclick:function(){e._eventFtp()},icon:"fa fa-folder-open-o"}),this.btnCreate=new y.default.Button({id:"btn-new",title:"Paste/Fetch data",onclick:function(){e._eventCreate()},icon:"fa fa-edit"}),this.btnStart=new y.default.Button({id:"btn-start",title:(0,b.default)("Start"),onclick:function(){e._eventStart()}}),this.btnStop=new y.default.Button({id:"btn-stop",title:(0,b.default)("Pause"),onclick:function(){e._eventStop()}}),this.btnReset=new y.default.Button({id:"btn-reset",title:(0,b.default)("Reset"),onclick:function(){e._eventReset()}}),this.btnClose=new y.default.Button({id:"btn-close",title:(0,b.default)("Close"),onclick:function(){e.app.modal.hide()}}),_.each([this.btnLocal,this.btnFtp,this.btnCreate,this.btnStop,this.btnReset,this.btnStart,this.btnClose],function(t){e.$(".upload-buttons").prepend(t.$el)}),this.uploadbox=this.$uploadbox.uploadbox({url:this.app.options.upload_path,announce:function(t,n){e._eventAnnounce(t,n)},initialize:function(t){return e.app.toData([e.collection.get(t)],e.history_id)},progress:function(t,n){e._eventProgress(t,n)},success:function(t,n){e._eventSuccess(t,n)},error:function(t,n){e._eventError(t,n)},warning:function(t,n){e._eventWarning(t,n)},complete:function(){e._eventComplete()},ondragover:function(){e.$uploadbox.addClass("highlight")},ondragleave:function(){e.$uploadbox.removeClass("highlight")}}),this.ftp=new w.default.View({title:(0,b.default)("FTP files"),container:this.btnFtp.$el}),this.select_extension=new z.default.View({css:"upload-footer-selection",container:this.$(".upload-footer-extension"),data:_.filter(this.list_extensions,function(t){return!t.composite_files}),value:this.options.default_extension,onchange:function(t){e._changeExtension(t)}}),this.$(".upload-footer-extension-info").on("click",function(t){new x.default({$el:$(t.target),title:e.select_extension.text(),extension:e.select_extension.value(),list:e.list_extensions,placement:"top"})}).on("mousedown",function(t){t.preventDefault()}),this.select_genome=new z.default.View({css:"upload-footer-selection",container:this.$(".upload-footer-genome"),data:this.list_genomes,value:this.options.default_genome,onchange:function(t){e._changeGenome(t)}}),this.loader=new S.default({$container:this.$uploadbox,collection:this.collection,new_content:function(t){var n=new g.default(e,{model:t});return e.$uploadtable.find("> tbody:first").append(n.$el),n.render(),n}}),this.collection.on("remove",function(t){e._eventRemove(t)}),this.render()},render:function(){var t="";t=0===this.counter.announce?this.uploadbox.compatible()?" ":"Browser does not support Drag & Drop. Try Firefox 4+, Chrome 7+, IE 10+, Opera 12+ or Safari 6+.":0===this.counter.running?"You added "+this.counter.announce+" file(s) to the queue. Add more files or click 'Start' to proceed.":"Please wait..."+this.counter.announce+" out of "+this.counter.running+" remaining.",this.$(".upload-top-info").html(t);var e=0===this.counter.running&&this.counter.announce+this.counter.success+this.counter.error>0,n=0===this.counter.running&&this.counter.announce>0,o=0===this.counter.running,i=this.counter.announce+this.counter.success+this.counter.error>0;this.btnReset[e?"enable":"disable"](),this.btnStart[n?"enable":"disable"](),this.btnStart.$el[n?"addClass":"removeClass"]("btn-primary"),this.btnStop[this.counter.running>0?"enable":"disable"](),this.btnLocal[o?"enable":"disable"](),this.btnFtp[o?"enable":"disable"](),this.btnCreate[o?"enable":"disable"](),this.btnFtp.$el[this.ftp_upload_site?"show":"hide"](),this.$(".upload-table")[i?"show":"hide"](),this.$(".upload-helper")[i?"hide":"show"]()},_eventAnnounce:function(t,e){this.counter.announce++;var n=new v.default.Model({id:t,file_name:e.name,file_size:e.size,file_mode:e.mode||"local",file_path:e.path,file_data:e});this.render(),this.collection.add(n)},_eventProgress:function(t,e){var n=this.collection.get(t);n.set({percentage:e,status:"running",info:""}),this.ui_button.model.set("percentage",this._uploadPercentage(e,n.get("file_size")))},_eventSuccess:function(t,e){var n=this.collection.get(t);n.set({percentage:100,status:"success"}),this.ui_button.model.set("percentage",this._uploadPercentage(100,n.get("file_size"))),this.upload_completed+=100*n.get("file_size"),this.counter.announce--,this.counter.success++,this.render(),Galaxy.currHistoryPanel.refreshContents()},_eventWarning:function(t,e){this.collection.get(t).set({status:"warning",info:e})},_eventError:function(t,e){var n=this.collection.get(t);n.set({percentage:100,status:"error",info:e}),this.ui_button.model.set({percentage:this._uploadPercentage(100,n.get("file_size")),status:"danger"}),this.upload_completed+=100*n.get("file_size"),this.counter.announce--,this.counter.error++,this.render()},_eventComplete:function(){this.collection.each(function(t){"queued"==t.get("status")&&t.set("status","init")}),this.counter.running=0,this.render()},_eventRemove:function(t){var e=t.get("status");"success"==e?this.counter.success--:"error"==e?this.counter.error--:this.counter.announce--,this.uploadbox.remove(t.id),this.render()},_eventFtp:function(){if(this.ftp.visible)this.ftp.hide();else{this.ftp.empty();var t=this;this.ftp.append(new m.default({collection:this.collection,ftp_upload_site:this.ftp_upload_site,onadd:function(e){return t.uploadbox.add([{mode:"ftp",name:e.path,size:e.size,path:e.path}])},onremove:function(e){t.collection.remove(e)}}).$el),this.ftp.show()}},_eventCreate:function(){this.uploadbox.add([{name:"New File",size:0,mode:"new"}])},_eventStart:function(){if(0!==this.counter.announce&&0===this.counter.running){var t=this;this.upload_size=0,this.upload_completed=0,this.collection.each(function(e){"init"==e.get("status")&&(e.set("status","queued"),t.upload_size+=e.get("file_size"))}),this.ui_button.model.set({percentage:0,status:"success"}),this.counter.running=this.counter.announce,this.history_id=this.app.currentHistory(),this._uploadFtp(),this.uploadbox.start({id:Galaxy.user.id,chunk_upload_size:this.app.options.chunk_upload_size}),this.render()}},_eventStop:function(){this.counter.running>0&&(this.ui_button.model.set("status","info"),$(".upload-top-info").html("Queue will pause after completing the current file..."),this.uploadbox.stop())},_eventReset:function(){0===this.counter.running&&(this.collection.reset(),this.counter.reset(),this.uploadbox.reset(),this.select_extension.value(this.options.default_extension),this.select_genome.value(this.options.default_genome),this.ui_button.model.set("percentage",0),this.render())},_changeExtension:function(t,e){var n=this;this.collection.each(function(o){"init"!=o.get("status")||o.get("extension")!=n.options.default_extension&&e||o.set("extension",t)})},_changeGenome:function(t,e){var n=this;this.collection.each(function(o){"init"!=o.get("status")||o.get("genome")!=n.options.default_genome&&e||o.set("genome",t)})},_uploadFtp:function(){var t=this,e=[];this.collection.each(function(n){"queued"==n.get("status")&&"ftp"==n.get("file_mode")&&(t.uploadbox.remove(n.id),e.push(n))}),e.length>0&&$.uploadpost({data:this.app.toData(e),url:this.app.options.upload_path,success:function(n){_.each(e,function(e){t._eventSuccess(e.id)})},error:function(n){_.each(e,function(e){t._eventError(e.id,n)})}})},_uploadPercentage:function(t,e){return(this.upload_completed+t*e)/this.upload_size},_template:function(){return'<div class="upload-view-default">\n <div class="upload-top">\n <h6 class="upload-top-info"/>\n </div>\n <div class="upload-box">\n <div class="upload-helper">\n <i class="fa fa-files-o"/>Drop files here\n </div>\n <table class="upload-table ui-table-striped" style="display: none;">\n <thead>\n <tr>\n <th>Name</th>\n <th>Size</th>\n <th>Type</th>\n <th>Genome</th>\n <th>Settings</th>\n <th>Status</th>\n <th/>\n </tr>\n </thead>\n <tbody/>\n </table>\n </div>\n <div class="upload-footer">\n <span class="upload-footer-title">Type (set all):</span>\n <span class="upload-footer-extension"/>\n <span class="upload-footer-extension-info upload-icon-button fa fa-search"/>\n <span class="upload-footer-title">Genome (set all):</span>\n <span class="upload-footer-genome"/>\n </div>\n <div class="upload-buttons"/>\n </div>'}})});
|
|
//# sourceMappingURL=../../../../maps/mvc/upload/default/default-view.js.map
|