diff --git a/static/scripts/packed/galaxy.library.js b/static/scripts/packed/galaxy.library.js new file mode 100644 index 00000000000..6d639732a77 --- /dev/null +++ b/static/scripts/packed/galaxy.library.js @@ -0,0 +1 @@ +var view=null;var library_router=null;var responses=[];define(["galaxy.modal","galaxy.masthead","utils/galaxy.utils","libs/toastr"],function(j,k,g,m){var e=Backbone.Model.extend({urlRoot:"/api/libraries"});var n=Backbone.Collection.extend({url:"/api/libraries",model:e});var h=Backbone.Model.extend({urlRoot:"/api/libraries/datasets"});var c=Backbone.Collection.extend({model:h});var d=Backbone.Model.extend({defaults:{folder:new c(),full_path:"unknown",urlRoot:"/api/folders/",id:"unknown"},parse:function(q){this.full_path=q[0].full_path;this.get("folder").reset(q[1].folder_contents);return q}});var b=Backbone.Model.extend({urlRoot:"/api/histories/"});var i=Backbone.Model.extend({url:"/api/histories/"});var o=Backbone.Collection.extend({url:"/api/histories",model:i});var p=Backbone.Router.extend({routes:{"":"libraries","folders/:id":"folder_content","folders/:folder_id/download/:format":"download"}});var l=Backbone.View.extend({el:"#center",progress:0,progressStep:1,lastSelectedHistory:"",modal:null,folders:null,initialize:function(){this.folders=[];this.queue=jQuery.Deferred();this.queue.resolve()},templateFolder:function(){var q=[];q.push('
');q.push('

New Data Libraries. This is work in progress. Report problems & ideas to Marten.

');q.push('
');q.push(' ');q.push(' ');q.push(' ");q.push("
");q.push('
');q.push('Libraries | ');q.push("<% _.each(path, function(path_item) { %>");q.push("<% if (path_item[0] != id) { %>");q.push('<%- path_item[1] %> | ');q.push("<% } else { %>");q.push('<%- path_item[1] %>');q.push("<% } %>");q.push("<% }); %>");q.push("
");q.push('');q.push(" ");q.push(' ');q.push(' ');q.push(" ");q.push(" ");q.push(" ");q.push(" ");q.push(" ");q.push(" ");q.push(" ");q.push(' ');q.push(" ");q.push(" ");q.push(" ");q.push(" ");q.push(" ");q.push(" <% _.each(items, function(content_item) { %>");q.push(' ');q.push(' <% if (content_item.get("type") === "folder") { %>');q.push(" ");q.push(' ');q.push(' ");q.push(" ");q.push(' ');q.push(" <% } else { %>");q.push(' ');q.push(" ");q.push(' ');q.push(' ');q.push(' ');q.push(" <% } %> ");q.push(' ');q.push(" ");q.push(" <% }); %>");q.push(" ");q.push(" ");q.push("
viewnamedata typesizedate
<%- content_item.get("name") %>');q.push(' <% if (content_item.get("item_count") === 0) { %>');q.push(' (empty folder)');q.push(" <% } %>");q.push(" folder<%= _.escape(content_item.get("item_count")) %> item(s)");q.push(' ");q.push(" <%- content_item.get("name") %><%= _.escape(content_item.get("data_type")) %><%= _.escape(content_item.get("readable_size")) %><%= _.escape(content_item.get("time_updated")) %>
");q.push("
");return q.join("")},templateDatasetModal:function(){var q=[];q.push('
');q.push(' ');q.push(" ");q.push(' ');q.push(' ');q.push(" ");q.push(" ");q.push(' ');q.push(' ');q.push(" ");q.push(" ");q.push(' ');q.push(' ');q.push(" ");q.push(' ');q.push(" ");q.push(" ");q.push(" ");q.push(' ');q.push(' ');q.push(" ");q.push(" ");q.push(' ');q.push(' ');q.push(" ");q.push(' ');q.push(' ');q.push(' ');q.push(" ");q.push(' ');q.push(' <% if (item.get("metadata_comment_lines") === "") { %>');q.push(' ');q.push(" <% } else { %>");q.push(' ');q.push(" <% } %>");q.push(" ");q.push(" ");q.push(' ');q.push(' ');q.push(" ");q.push(" ");q.push(' ');q.push(' ');q.push(" ");q.push(" ");q.push(' ');q.push(' ');q.push(" ");q.push("
">Name<%= _.escape(item.get("name")) %>
Data type<%= _.escape(item.get("data_type")) %>
Genome build<%= _.escape(item.get("genome_build")) %>
Size<%= _.escape(size) %>
Date uploaded<%= _.escape(item.get("date_uploaded")) %>
Uploaded by<%= _.escape(item.get("uploaded_by")) %>
Data Lines<%= _.escape(item.get("metadata_data_lines")) %>
Comment Lines<%= _.escape(item.get("metadata_comment_lines")) %>unknown
Number of Columns<%= _.escape(item.get("metadata_columns")) %>
Column Types<%= _.escape(item.get("metadata_column_types")) %>
Miscellaneous information<%= _.escape(item.get("misc_blurb")) %>
");q.push('
');q.push("   
");q.push("
");return q.join("")},templateHistorySelectInModal:function(){var q=[];q.push('');q.push("Select history: ");q.push('");q.push("");return q.join("")},templateBulkImportInModal:function(){var q=[];q.push('');q.push("Select history: ");q.push('");q.push("");return q.join("")},size_to_string:function(q){var r="";if(q>=100000000000){q=q/100000000000;r="TB"}else{if(q>=100000000){q=q/100000000;r="GB"}else{if(q>=100000){q=q/100000;r="MB"}else{if(q>=100){q=q/100;r="KB"}else{q=q*10;r="b"}}}}return(Math.round(q)/10)+r},events:{"click #select-all-checkboxes":"selectAll","click .folder_row":"selectClickedRow","click #toolbtn_bulk_import":"modalBulkImport","click #toolbtn_dl":"bulkDownload","click .library-dataset":"showDatasetDetails","click #toolbtn_create_folder":"createFolderModal","click .btn_open_folder":"navigateToFolder"},render:function(q){$("#center").css("overflow","auto");view=this;var s=this;var r=new d({id:q.id});r.url=r.attributes.urlRoot+q.id+"/contents";r.fetch({success:function(t){for(var v=0;v0){$(this.modal.elMain).find("#dataset_import_single").val(r.lastSelectedHistory)}this.modal.show()},downloadCurrent:function(){this.modal.disableButton("Import");this.modal.disableButton("Download");var q=[];q.push($("#id_row").attr("data-id"));var r="/api/libraries/datasets/download/uncompressed";var s={ldda_ids:q};folderContentView.processDownload(r,s);this.modal.enableButton("Import");this.modal.enableButton("Download")},importCurrentIntoHistory:function(){this.modal.disableButton("Import");this.modal.disableButton("Download");var s=$(this.modal.elMain).find("select[name=dataset_import_single] option:selected").val();this.lastSelectedHistory=s;var q=$("#id_row").attr("data-id");var t=new b();var r=this;t.url=t.urlRoot+s+"/contents";t.save({content:q,source:"library"},{success:function(){m.success("Dataset imported");r.modal.enableButton("Import");r.modal.enableButton("Download")},error:function(){m.error("An error occured! Dataset not imported. Please try again.");r.modal.enableButton("Import");r.modal.enableButton("Download")}})},selectAll:function(r){var q=r.target.checked;that=this;$(":checkbox").each(function(){this.checked=q;$row=$(this.parentElement.parentElement);(q)?that.makeDarkRow($row):that.makeWhiteRow($row)});this.checkTools()},selectClickedRow:function(r){var t="";var q;var s;if(r.target.localName==="input"){t=r.target;q=$(r.target.parentElement.parentElement);s="input"}else{if(r.target.localName==="td"){t=$("#"+r.target.parentElement.id).find(":checkbox")[0];q=$(r.target.parentElement);s="td"}}if(t===""){r.stopPropagation();return}if(t.checked){if(s==="td"){t.checked="";this.makeWhiteRow(q)}else{if(s==="input"){this.makeDarkRow(q)}}}else{if(s==="td"){t.checked="selected";this.makeDarkRow(q)}else{if(s==="input"){this.makeWhiteRow(q)}}}this.checkTools()},makeDarkRow:function(q){q.removeClass("light");q.find("a").removeClass("light");q.addClass("dark");q.find("a").addClass("dark")},makeWhiteRow:function(q){q.removeClass("dark");q.find("a").removeClass("dark");q.addClass("light");q.find("a").addClass("light")},checkTools:function(){var q=$("#folder_table").find(":checked");if(q.length>0){$("#toolbtn_bulk_import").show();$("#toolbtn_dl").show()}else{$("#toolbtn_bulk_import").hide();$("#toolbtn_dl").hide()}},modalBulkImport:function(){var r=this;var q=new o();q.fetch({success:function(s){var t=_.template(r.templateBulkImportInModal(),{histories:s.models});r.modal=new j.GalaxyModal({title:"Import into History",body:t,buttons:{Import:function(){r.importAllIntoHistory()},Close:function(){r.modal.hide();$(".modal").remove();r.modal=null}}});r.modal.show()}})},importAllIntoHistory:function(){this.modal.disableButton("Import");var s=$("select[name=dataset_import_bulk] option:selected").val();var w=$("select[name=dataset_import_bulk] option:selected").text();var y=[];$("#folder_table").find(":checked").each(function(){if(this.parentElement.parentElement.id!=""){y.push(this.parentElement.parentElement.id)}});var x=_.template(this.templateProgressBar(),{history_name:w});$(this.modal.elMain).find(".modal-body").html(x);var t=100/y.length;this.initProgress(t);var q=[];for(var r=y.length-1;r>=0;r--){library_dataset_id=y[r];var u=new b();var v=this;u.url=u.urlRoot+s+"/contents";u.content=library_dataset_id;u.source="library";q.push(u)}this.chainCall(q)},chainCall:function(r){var q=this;var s=r.pop();if(typeof s==="undefined"){m.success("All datasets imported");this.modal.hide();q.modal.enableButton("Import");return}var t=$.when(s.save({content:s.content,source:s.source})).done(function(u){q.updateProgress();responses.push(u);q.chainCall(r)})},initProgress:function(q){this.progress=0;this.progressStep=q},updateProgress:function(){this.progress+=this.progressStep;$(".progress-bar").width(Math.round(this.progress)+"%");txt_representation=Math.round(this.progress)+"% Complete";$(".completion_span").text(txt_representation)},templateProgressBar:function(){var q=[];q.push('
');q.push("Importing selected datasets to history <%= _.escape(history_name) %>");q.push("
");q.push('
');q.push('
');q.push(' 0% Complete');q.push("
");q.push("
");q.push("");return q.join("")},download:function(q,u){var s=[];$("#folder_table").find(":checked").each(function(){if(this.parentElement.parentElement.id!=""){s.push(this.parentElement.parentElement.id)}});var r="/api/libraries/datasets/download/"+u;var t={ldda_ids:s};this.processDownload(r,t,"get")},processDownload:function(r,s,t){if(r&&s){s=typeof s=="string"?s:$.param(s);var q="";$.each(s.split("&"),function(){var u=this.split("=");q+=''});$('
'+q+"
").appendTo("body").submit().remove();m.info("Your download will begin soon")}},createFolderModal:function(){m.info("This will create folder...in the future")}});var a=Backbone.View.extend({el:"#center",events:{"click #create_new_library_btn":"show_library_modal"},initialize:function(){},template_library_list:function(){tmpl_array=[];tmpl_array.push('
');tmpl_array.push("");tmpl_array.push('

New Data Libraries. This is work in progress. Report problems & ideas to Marten.

');tmpl_array.push('New Library');tmpl_array.push('');tmpl_array.push(" ");tmpl_array.push(' ');tmpl_array.push(" ");tmpl_array.push(" ");tmpl_array.push(" ");tmpl_array.push(" ");tmpl_array.push(" ");tmpl_array.push(" ");tmpl_array.push(" <% _.each(libraries, function(library) { %>");tmpl_array.push(" ");tmpl_array.push(' ');tmpl_array.push(' ');tmpl_array.push(' ');tmpl_array.push(' ');tmpl_array.push(' ');tmpl_array.push(" ");tmpl_array.push(" <% }); %>");tmpl_array.push(" ");tmpl_array.push("
namedescriptionsynopsismodel type
<%- library.get("name") %><%= _.escape(library.get("description")) %><%= _.escape(library.get("synopsis")) %><%= _.escape(library.get("model_class")) %>
");tmpl_array.push("
");return tmpl_array.join("")},render:function(){$("#center").css("overflow","auto");var q=this;libraries=new n();libraries.fetch({success:function(r){var s=_.template(q.template_library_list(),{libraries:r.models});q.$el.html(s)},error:function(s,r){if(r.statusCode().status===403){m.error("Please log in first. Redirecting to login page in 3s.");setTimeout(q.redirectToLogin,3000)}else{m.error("An error occured. Please try again.")}}})},redirectToHome:function(){window.location="../"},redirectToLogin:function(){window.location="/user/login"},modal:null,show_library_modal:function(r){r.preventDefault();r.stopPropagation();var q=this;this.modal=new j.GalaxyModal({title:"Create New Library",body:this.template_new_library(),buttons:{Create:function(){q.create_new_library_event()},Close:function(){q.modal.hide()}}});this.modal.show()},create_new_library_event:function(){var s=this.serialize_new_library();if(this.validate_new_library(s)){var r=new e();var q=this;r.save(s,{success:function(t){q.modal.hide();q.clear_library_modal();q.render();m.success("Library created")},error:function(){m.error("An error occured :(")}})}else{m.error("Library's name is missing")}return false},clear_library_modal:function(){$("input[name='Name']").val("");$("input[name='Description']").val("");$("input[name='Synopsis']").val("")},serialize_new_library:function(){return{name:$("input[name='Name']").val(),description:$("input[name='Description']").val(),synopsis:$("input[name='Synopsis']").val()}},validate_new_library:function(q){return q.name!==""},template_new_library:function(){tmpl_array=[];tmpl_array.push('
');tmpl_array.push("
");tmpl_array.push('');tmpl_array.push('');tmpl_array.push('');tmpl_array.push("
");tmpl_array.push("
");return tmpl_array.join("")}});var f=Backbone.View.extend({folderContentView:null,galaxyLibraryview:null,initialize:function(){folderContentView=new l();galaxyLibraryview=new a();library_router=new p();library_router.on("route:libraries",function(){galaxyLibraryview.render()});library_router.on("route:folder_content",function(q){folderContentView.render({id:q})});library_router.on("route:download",function(q,r){if($("#center").find(":checked").length===0){library_router.navigate("folders/"+q,{trigger:true,replace:true})}else{folderContentView.download(q,r);library_router.navigate("folders/"+q,{trigger:false,replace:true})}});Backbone.history.start();return this}});return{GalaxyApp:f}}); \ No newline at end of file diff --git a/static/scripts/packed/libs/toastr.js b/static/scripts/packed/libs/toastr.js new file mode 100644 index 00000000000..60d2425f251 --- /dev/null +++ b/static/scripts/packed/libs/toastr.js @@ -0,0 +1 @@ +(function(a){a([],function(){var b=jQuery;return(function(){var d="2.0.1";var m;var e;var t=0;var c={error:"error",info:"info",success:"success",warning:"warning"};var s={clear:l,error:o,getContainer:p,info:r,options:{},subscribe:g,success:f,version:d,warning:n};return s;function o(v,w,u){return k({type:c.error,iconClass:i().iconClasses.error,message:v,optionsOverride:u,title:w})}function r(v,w,u){return k({type:c.info,iconClass:i().iconClasses.info,message:v,optionsOverride:u,title:w})}function g(u){e=u}function f(v,w,u){return k({type:c.success,iconClass:i().iconClasses.success,message:v,optionsOverride:u,title:w})}function n(v,w,u){return k({type:c.warning,iconClass:i().iconClasses.warning,message:v,optionsOverride:u,title:w})}function l(u){var v=i();if(!m){p(v)}if(u&&b(":focus",u).length===0){u[v.hideMethod]({duration:v.hideDuration,easing:v.hideEasing,complete:function(){j(u)}});return}if(m.children().length){m[v.hideMethod]({duration:v.hideDuration,easing:v.hideEasing,complete:function(){m.remove()}})}}function h(){return{tapToDismiss:true,toastClass:"toast",containerId:"toast-container",debug:false,showMethod:"fadeIn",showDuration:300,showEasing:"swing",onShown:undefined,hideMethod:"fadeOut",hideDuration:1000,hideEasing:"swing",onHidden:undefined,extendedTimeOut:1000,iconClasses:{error:"toast-error",info:"toast-info",success:"toast-success",warning:"toast-warning"},iconClass:"toast-info",positionClass:"toast-top-right",timeOut:5000,titleClass:"toast-title",messageClass:"toast-message",target:"body",closeHtml:"",newestOnTop:true}}function q(u){if(!e){return}e(u)}function k(v){var F=i(),D=v.iconClass||F.iconClass;if(typeof(v.optionsOverride)!=="undefined"){F=b.extend(F,v.optionsOverride);D=v.optionsOverride.iconClass||D}t++;m=p(F);var E=null,y=b("
"),A=b("
"),u=b("
"),B=b(F.closeHtml),z={toastId:t,state:"visible",startTime:new Date(),options:F,map:v};if(v.iconClass){y.addClass(F.toastClass).addClass(D)}if(v.title){A.append(v.title).addClass(F.titleClass);y.append(A)}if(v.message){u.append(v.message).addClass(F.messageClass);y.append(u)}if(F.closeButton){B.addClass("toast-close-button");y.prepend(B)}y.hide();if(F.newestOnTop){m.prepend(y)}else{m.append(y)}y[F.showMethod]({duration:F.showDuration,easing:F.showEasing,complete:F.onShown});if(F.timeOut>0){E=setTimeout(x,F.timeOut)}y.hover(w,C);if(!F.onclick&&F.tapToDismiss){y.click(x)}if(F.closeButton&&B){B.click(function(G){G.stopPropagation();x(true)})}if(F.onclick){y.click(function(){F.onclick();x()})}q(z);if(F.debug&&console){console.log(z)}return y;function x(G){if(b(":focus",y).length&&!G){return}return y[F.hideMethod]({duration:F.hideDuration,easing:F.hideEasing,complete:function(){j(y);if(F.onHidden){F.onHidden()}z.state="hidden";z.endTime=new Date(),q(z)}})}function C(){if(F.timeOut>0||F.extendedTimeOut>0){E=setTimeout(x,F.extendedTimeOut)}}function w(){clearTimeout(E);y.stop(true,true)[F.showMethod]({duration:F.showDuration,easing:F.showEasing})}}function p(u){if(!u){u=i()}m=b("#"+u.containerId);if(m.length){return m}m=b("
").attr("id",u.containerId).addClass(u.positionClass);m.appendTo(b(u.target));return m}function i(){return b.extend({},h(),s.options)}function j(u){if(!m){m=p()}if(u.is(":visible")){return}u.remove();u=null;if(m.children().length===0){m.remove()}}})()})}(typeof define==="function"&&define.amd?define:function(b,a){if(typeof module!=="undefined"&&module.exports){module.exports=a(require(b[0]))}else{window.toastr=a(window.jQuery)}})); \ No newline at end of file