Fix uploadbox trigger for local upload

This commit is contained in:
guerler
2015-07-18 16:42:30 -04:00
parent 3678c111a6
commit 04eadf4bfc
5 changed files with 46 additions and 72 deletions
+1 -1
View File
@@ -1,2 +1,2 @@
define(["utils/utils","mvc/ui/ui-modal","mvc/ui/ui-tabs","mvc/upload/upload-button","mvc/upload/upload-view-default"],function(a,b,c,d,e){return Backbone.View.extend({options:{nginx_upload_path:"",ftp_upload_site:"n/a",default_genome:"?",default_extension:"auto",height:500,width:900,auto:{id:"auto",text:"Auto-detect",description:"This system will try to detect the file type automatically. If your file is not detected properly as one of the known formats, it most likely means that it has some format problems (e.g., different number of columns on different rows). You can still coerce the system to set your data to the format you think it should be. You can also upload compressed files, which will automatically be decompressed."}},modal:null,ui_button:null,current_history:null,list_extensions:[],list_genomes:[],initialize:function(b){var c=this;this.options=a.merge(b,this.options),this.ui_button=new d.Model,this.ui_button_view=new d.View({model:this.ui_button,onclick:function(a){a.preventDefault(),c.show()},onunload:function(){}}),$(".with-upload-button").append(this.ui_button_view.$el);var c=this;a.get({url:galaxy_config.root+"api/datatypes?extension_only=False",success:function(a){for(key in a)c.list_extensions.push({id:a[key].extension,text:a[key].extension,description:a[key].description,description_url:a[key].description_url});c.list_extensions.sort(function(a,b){return a.text>b.text?1:a.text<b.text?-1:0}),c.options.datatypes_disable_auto||c.list_extensions.unshift(c.options.auto)}}),a.get({url:galaxy_config.root+"api/genomes",success:function(a){for(key in a)c.list_genomes.push({id:a[key][1],text:a[key][0]});c.list_genomes.sort(function(a,b){return a.id==c.options.default_genome?-1:b.id==c.options.default_genome?1:a.text>b.text?1:a.text<b.text?-1:0})}})},show:function(){var a=this;return Galaxy.currHistoryPanel&&Galaxy.currHistoryPanel.model?(this.refresh(),this.modal||(this.tabs=new c.View,this.default_view=new e(this),this.tabs.add({id:"default",title:"Regular",$el:this.default_view.$el}),this.tabs.add({id:"composite",title:"Composite",$el:$("<div>Composite upload panel</div>")}),this.modal=new b.View({title:"Download data directly from web or upload files from your disk",body:this.tabs.$el,height:this.options.height,width:this.options.width,closing_events:!0}),this.modal.$el.find(".modal-header").css({border:"none","padding-bottom":"0px"})),void this.modal.show()):void window.setTimeout(function(){a.show()},500)},refresh:function(){this.current_user=Galaxy.currUser.get("id"),this.current_history=null,this.current_user&&(this.current_history=Galaxy.currHistoryPanel.model.get("id"))}})});
define(["utils/utils","mvc/ui/ui-modal","mvc/ui/ui-tabs","mvc/upload/upload-button","mvc/upload/upload-view-default"],function(a,b,c,d,e){return Backbone.View.extend({options:{nginx_upload_path:"",ftp_upload_site:"n/a",default_genome:"?",default_extension:"auto",height:500,width:900,auto:{id:"auto",text:"Auto-detect",description:"This system will try to detect the file type automatically. If your file is not detected properly as one of the known formats, it most likely means that it has some format problems (e.g., different number of columns on different rows). You can still coerce the system to set your data to the format you think it should be. You can also upload compressed files, which will automatically be decompressed."}},modal:null,ui_button:null,current_history:null,list_extensions:[],list_genomes:[],initialize:function(b){var c=this;this.options=a.merge(b,this.options),this.ui_button=new d.Model,this.ui_button_view=new d.View({model:this.ui_button,onclick:function(a){a.preventDefault(),c.show()},onunload:function(){}}),$(".with-upload-button").append(this.ui_button_view.$el);var c=this;a.get({url:galaxy_config.root+"api/datatypes?extension_only=False",success:function(a){for(key in a)c.list_extensions.push({id:a[key].extension,text:a[key].extension,description:a[key].description,description_url:a[key].description_url});c.list_extensions.sort(function(a,b){return a.text>b.text?1:a.text<b.text?-1:0}),c.options.datatypes_disable_auto||c.list_extensions.unshift(c.options.auto)}}),a.get({url:galaxy_config.root+"api/genomes",success:function(a){for(key in a)c.list_genomes.push({id:a[key][1],text:a[key][0]});c.list_genomes.sort(function(a,b){return a.id==c.options.default_genome?-1:b.id==c.options.default_genome?1:a.text>b.text?1:a.text<b.text?-1:0})}})},show:function(){var a=this;return Galaxy.currHistoryPanel&&Galaxy.currHistoryPanel.model?(this.refresh(),this.modal||(this.tabs=new c.View,this.default_view=new e(this),this.tabs.add({id:"regular",title:"Regular",$el:this.default_view.$el}),this.tabs.add({id:"composite",title:"Composite",$el:$("<div>Composite upload panel</div>")}),this.modal=new b.View({title:"Download data directly from web or upload files from your disk",body:this.tabs.$el,height:this.options.height,width:this.options.width,closing_events:!0}),this.modal.$el.find(".modal-header").css({border:"none","padding-bottom":"0px"})),void this.modal.show()):void window.setTimeout(function(){a.show()},500)},refresh:function(){this.current_user=Galaxy.currUser.get("id"),this.current_history=null,this.current_user&&(this.current_history=Galaxy.currHistoryPanel.model.get("id"))}})});
//# sourceMappingURL=../../../maps/mvc/upload/upload-view.js.map
+1 -1
View File
@@ -1,2 +1,2 @@
!function(a){jQuery.event.props.push("dataTransfer");var b={url:"",paramname:"content",maxfilesize:2048,dragover:function(){},dragleave:function(){},announce:function(){},initialize:function(){},progress:function(){},success:function(){},error:function(a,b,c){alert(c)},complete:function(){},error_filesize:"File exceeds 2GB. Please use an FTP client.",error_default:"Please make sure the file is available.",error_server:"Upload request failed.",error_login:"Uploads require you to log in.",error_missing:"No upload content available."},c={},d={},e=0,f=0,g=!1,h=!1,i=null,j=null;a.fn.uploadbox=function(k){function l(a){return a.dataTransfer?(p(a.dataTransfer.files),a.preventDefault(),!1):void 0}function m(a){a.preventDefault(),c.dragover.call(a)}function n(a){a.stopPropagation(),c.dragleave.call(a)}function o(a){a.lengthComputable&&c.progress(this.index,this.file,Math.round(100*a.loaded/a.total))}function p(a){if(!g){for(var b=e,h=0;h<a.length;h++){var i=String(e++);d[i]=a[h],c.announce(i,d[i],""),f++}return b}}function q(a){d[a]&&(delete d[a],f--)}function r(){if(0==f||h)return h=!1,g=!1,void c.complete();g=!0;var a=-1;for(var b in d){a=b;break}var e=d[a];q(a);var i=e.size,j=(e.mode,1048576*c.maxfilesize);if(j>i||"ftp"==e.mode){var k=c.initialize(a,e);k?s(a,e,k):u(a,e,c.error_missing)}else u(a,e,c.error_filesize)}function s(a,b,d){var e=new FormData;for(var f in d)e.append(f,d[f]);b.size>0&&c.paramname&&e.append(c.paramname,b,b.name),j=new XMLHttpRequest,j.open("POST",c.url,!0),j.setRequestHeader("Accept","application/json"),j.setRequestHeader("Cache-Control","no-cache"),j.setRequestHeader("X-Requested-With","XMLHttpRequest"),j.onreadystatechange=function(){if(j.readyState==j.DONE){var d=null;if(j.responseText)try{d=jQuery.parseJSON(j.responseText)}catch(e){d=j.responseText}if(j.status<200||j.status>299){var f=j.statusText;403==j.status?f=c.error_login:0==j.status?f=c.error_server:f||(f=c.error_default),u(a,b,f+" ("+j.status+")")}else t(a,b,d)}},j.upload.index=a,j.upload.file=b,j.upload.addEventListener("progress",o,!1),j.send(e)}function t(a,b,d){c.success(a,b,d),r()}function u(a,b,d){c.error(a,b,d),r()}function v(){a("#uploadbox_input").trigger("click")}function w(a){for(a in d)q(a)}function x(){g||(g=!0,r())}function y(){h=!0}function z(b){return c=a.extend({},c,b)}function A(){return window.File&&window.FormData&&window.XMLHttpRequest&&window.FileList}return c=a.extend({},b,k),i=this,i.append('<input id="uploadbox_input" type="file" style="display: none" multiple>'),i.on("drop",l),i.on("dragover",m),i.on("dragleave",n),a("#uploadbox_input").change(function(b){p(b.target.files),a(this).val("")}),{select:v,add:p,remove:q,start:x,stop:y,reset:w,configure:z,compatible:A}}}(jQuery);
!function(a){jQuery.event.props.push("dataTransfer");var b={url:"",paramname:"content",maxfilesize:2048,dragover:function(){},dragleave:function(){},announce:function(){},initialize:function(){},progress:function(){},success:function(){},error:function(a,b,c){alert(c)},complete:function(){},error_filesize:"File exceeds 2GB. Please use an FTP client.",error_default:"Please make sure the file is available.",error_server:"Upload request failed.",error_login:"Uploads require you to log in.",error_missing:"No upload content available."},c={},d={},e=0,f=0,g=!1,h=!1,i=null,j=null;a.fn.uploadbox=function(k){function l(a){return a.dataTransfer?(p(a.dataTransfer.files),a.preventDefault(),!1):void 0}function m(a){a.preventDefault(),c.dragover.call(a)}function n(a){a.stopPropagation(),c.dragleave.call(a)}function o(a){a.lengthComputable&&c.progress(this.index,this.file,Math.round(100*a.loaded/a.total))}function p(a){if(!g){for(var b=e,h=0;h<a.length;h++){var i=String(e++);d[i]=a[h],c.announce(i,d[i],""),f++}return b}}function q(a){d[a]&&(delete d[a],f--)}function r(){if(0==f||h)return h=!1,g=!1,void c.complete();g=!0;var a=-1;for(var b in d){a=b;break}var e=d[a];q(a);var i=e.size,j=(e.mode,1048576*c.maxfilesize);if(j>i||"ftp"==e.mode){var k=c.initialize(a,e);k?s(a,e,k):u(a,e,c.error_missing)}else u(a,e,c.error_filesize)}function s(a,b,d){var e=new FormData;for(var f in d)e.append(f,d[f]);b.size>0&&c.paramname&&e.append(c.paramname,b,b.name),j=new XMLHttpRequest,j.open("POST",c.url,!0),j.setRequestHeader("Accept","application/json"),j.setRequestHeader("Cache-Control","no-cache"),j.setRequestHeader("X-Requested-With","XMLHttpRequest"),j.onreadystatechange=function(){if(j.readyState==j.DONE){var d=null;if(j.responseText)try{d=jQuery.parseJSON(j.responseText)}catch(e){d=j.responseText}if(j.status<200||j.status>299){var f=j.statusText;403==j.status?f=c.error_login:0==j.status?f=c.error_server:f||(f=c.error_default),u(a,b,f+" ("+j.status+")")}else t(a,b,d)}},j.upload.index=a,j.upload.file=b,j.upload.addEventListener("progress",o,!1),j.send(e)}function t(a,b,d){c.success(a,b,d),r()}function u(a,b,d){c.error(a,b,d),r()}function v(){B.trigger("click")}function w(a){for(a in d)q(a)}function x(){g||(g=!0,r())}function y(){h=!0}function z(b){return c=a.extend({},c,b)}function A(){return window.File&&window.FormData&&window.XMLHttpRequest&&window.FileList}c=a.extend({},b,k),i=this;var B=a('<input id="uploadbox_input" type="file" style="display: none" multiple/>');return i.append(B),i.on("drop",l),i.on("dragover",m),i.on("dragleave",n),B.change(function(b){p(b.target.files),a(this).val("")}),{select:v,add:p,remove:q,start:x,stop:y,reset:w,configure:z,compatible:A}}}(jQuery);
//# sourceMappingURL=../../maps/utils/uploadbox.js.map