Files
galaxy/static/scripts/mvc/library/library-folderrow-view.js
T
Martin Cech 5def7ee035 refactor rest of JS templates;
move all text outside of the fontawesome spans
convert console. calls to Galaxy.emit calls
2016-03-29 12:38:21 -04:00

2 lines
10 KiB
JavaScript

define(["libs/toastr","mvc/library/library-model","mvc/library/library-dataset-view"],function(a,b,c){var d=Backbone.View.extend({events:{"click .undelete_dataset_btn":"undeleteDataset","click .undelete_folder_btn":"undeleteFolder","click .edit_folder_btn":"startModifications","click .cancel_folder_btn":"cancelModifications","click .save_folder_btn":"saveModifications"},defaults:{type:null,visibility_config:{edit_folder_btn:!0,save_folder_btn:!1,cancel_folder_btn:!1,permission_folder_btn:!0},edit_mode:!1},initialize:function(a){this.options=_.defaults(a||{},this.defaults),this.render(this.options)},render:function(a){this.options=_.extend(this.options,a);var b=this.options.model,c=null;return"folder"===b.get("type")||"LibraryFolder"===b.get("model_class")?(this.options.type="folder",this.prepareButtons(b),c=b.get("deleted")?this.templateRowDeletedFolder():this.templateRowFolder()):"file"===b.get("type")||"LibraryDatasetDatasetAssociation"===b.get("model_class")||"LibraryDataset"===b.get("model_class")?(this.options.type="file",c=b.get("deleted")?this.templateRowDeletedFile():this.templateRowFile()):(Galaxy.emit.error("Unknown library item type found."),Galaxy.emit.error(b.get("type")||b.get("model_class"))),this.setElement(c({content_item:b,edit_mode:this.options.edit_mode,button_config:this.options.visibility_config})),this.$el.show(),this},prepareButtons:function(a){vis_config=this.options.visibility_config,this.options.edit_mode===!1?(vis_config.save_folder_btn=!1,vis_config.cancel_folder_btn=!1,a.get("deleted")===!0?(vis_config.edit_folder_btn=!1,vis_config.permission_folder_btn=!1):a.get("deleted")===!1&&(vis_config.save_folder_btn=!1,vis_config.cancel_folder_btn=!1,a.get("can_modify")===!0&&(vis_config.edit_folder_btn=!0),a.get("can_manage")===!0&&(vis_config.permission_folder_btn=!0))):this.options.edit_mode===!0&&(vis_config.edit_folder_btn=!1,vis_config.permission_folder_btn=!1,vis_config.save_folder_btn=!0,vis_config.cancel_folder_btn=!0),this.options.visibility_config=vis_config},showDatasetDetails:function(){Galaxy.libraries.datasetView=new c.LibraryDatasetView({id:this.id})},undeleteDataset:function(c){$(".tooltip").hide();var d=this,e=$(c.target).closest("tr").data("id"),f=Galaxy.libraries.folderListView.collection.get(e);f.url=f.urlRoot+f.id+"?undelete=true",f.destroy({success:function(c,f){Galaxy.libraries.folderListView.collection.remove(e);var g=new b.Item(f);Galaxy.libraries.folderListView.collection.add(g),Galaxy.libraries.folderListView.collection.sortByNameAsc(),a.success("Dataset undeleted. Click this to see it.","",{onclick:function(){var a=d.model.get("folder_id");window.location="#folders/"+a+"/datasets/"+d.id}})},error:function(b,c){a.error("undefined"!=typeof c.responseJSON?"Dataset was not undeleted. "+c.responseJSON.err_msg:"An error occured! Dataset was not undeleted. Please try again.")}})},undeleteFolder:function(c){$(".tooltip").hide();var d=$(c.target).closest("tr").data("id"),e=Galaxy.libraries.folderListView.collection.get(d);e.url=e.urlRoot+e.id+"?undelete=true",e.destroy({success:function(c,e){Galaxy.libraries.folderListView.collection.remove(d);var f=new b.FolderAsModel(e);Galaxy.libraries.folderListView.collection.add(f),Galaxy.libraries.folderListView.collection.sortByNameAsc(),a.success("Folder undeleted.")},error:function(b,c){a.error("undefined"!=typeof c.responseJSON?"Folder was not undeleted. "+c.responseJSON.err_msg:"An error occured! Folder was not undeleted. Please try again.")}})},startModifications:function(){this.options.edit_mode=!0,this.repaint()},cancelModifications:function(){this.options.edit_mode=!1,this.repaint()},saveModifications:function(){var b=Galaxy.libraries.folderListView.collection.get(this.$el.data("id")),c=!1,d=this.$el.find(".input_folder_name").val();if("undefined"!=typeof d&&d!==b.get("name")){if(!(d.length>2))return void a.warning("Folder name has to be at least 3 characters long.");b.set("name",d),c=!0}var e=this.$el.find(".input_folder_description").val();if("undefined"!=typeof e&&e!==b.get("description")&&(b.set("description",e),c=!0),c){var f=this;b.save(null,{patch:!0,success:function(b){f.options.edit_mode=!1,f.repaint(b),a.success("Changes to folder saved.")},error:function(b,c){a.error("undefined"!=typeof c.responseJSON?c.responseJSON.err_msg:"An error occured while attempting to update the folder.")}})}else this.options.edit_mode=!1,this.repaint(b),a.info("Nothing has changed.")},repaint:function(){$(".tooltip").hide();var a=this.$el;this.render(),a.replaceWith(this.$el),this.$el.find("[data-toggle]").tooltip()},templateRowFolder:function(){return _.template(['<tr class="folder_row light library-row" data-id="<%- content_item.id %>">',"<td>",'<span title="Folder" class="fa fa-folder-o"/>',"</td>",'<td style="text-align: center; "><input style="margin: 0;" type="checkbox"></td>',"<% if(!edit_mode) { %>","<td>",'<a href="#folders/<%- content_item.id %>"><%- content_item.get("name") %></a>',"</td>","<td>",'<%- content_item.get("description") %>',"</td>","<% } else if(edit_mode){ %>",'<td><textarea rows="4" class="form-control input_folder_name" placeholder="name" ><%- content_item.get("name") %></textarea></td>','<td><textarea rows="4" class="form-control input_folder_description" placeholder="description" ><%- content_item.get("description") %></textarea></td>',"<% } %>","<td>folder</td>","<td></td>","<td>",'<%= _.escape(content_item.get("update_time")) %>',"</td>","<td>","<% if(edit_mode) { %>",'<button data-toggle="tooltip" data-placement="top" title="Save changes" class="primary-button btn-xs save_folder_btn" type="button" style="<% if(button_config.save_folder_btn === false) { print("display:none;") } %>">','<span class="fa fa-floppy-o"/>',"&nbsp;Save","</button>",'<button data-toggle="tooltip" data-placement="top" title="Discard changes" class="primary-button btn-xs cancel_folder_btn" type="button" style="<% if(button_config.cancel_folder_btn === false) { print("display:none;") } %>">','<span class="fa fa-times"/>',"&nbsp;Cancel","</button>","<% } else if (!edit_mode){%>",'<button data-toggle="tooltip" data-placement="top" title="Modify \'<%- content_item.get("name") %>\'" class="primary-button btn-xs edit_folder_btn" type="button" style="<% if(button_config.edit_folder_btn === false) { print("display:none;") } %>">','<span class="fa fa-pencil"/>',"</button>",'<a href="#/folders/<%- content_item.id %>/permissions">','<button data-toggle="tooltip" data-placement="top" class="primary-button btn-xs permission_folder_btn" title="Manage \'<%- content_item.get("name") %>\'" style="<% if(button_config.permission_folder_btn === false) { print("display:none;") } %>">','<span class="fa fa-group"/>',"</button>","</a>","<% } %>","</td>","</tr>"].join(""))},templateRowFile:function(){return _.template(['<tr class="dataset_row light library-row" data-id="<%- content_item.id %>">',"<td>",'<span title="Dataset" class="fa fa-file-o"/>',"</td>",'<td style="text-align: center; ">','<input style="margin: 0;" type="checkbox">',"</td>","<td>",'<a href="#folders/<%- content_item.get("folder_id") %>/datasets/<%- content_item.id %>" class="library-dataset">','<%- content_item.get("name") %>',"<a>","</td>",'<td><%- content_item.get("message") %></td>','<td><%= _.escape(content_item.get("file_ext")) %></td>','<td><%= _.escape(content_item.get("file_size")) %></td>','<td><%= _.escape(content_item.get("update_time")) %></td>',"<td>",'<% if (content_item.get("is_unrestricted")) { %>','<span data-toggle="tooltip" data-placement="top" title="Unrestricted dataset" style="color:grey;" class="fa fa-globe fa-lg"/>',"<% } %>",'<% if (content_item.get("is_private")) { %>','<span data-toggle="tooltip" data-placement="top" title="Private dataset" style="color:grey;" class="fa fa-key fa-lg"/>',"<% } %>",'<% if ((content_item.get("is_unrestricted") === false) && (content_item.get("is_private") === false)) { %>','<span data-toggle="tooltip" data-placement="top" title="Restricted dataset" style="color:grey;" class="fa fa-shield fa-lg"/>',"<% } %>",'<% if (content_item.get("can_manage")) { %>','<a href="#folders/<%- content_item.get("folder_id") %>/datasets/<%- content_item.id %>/permissions">','<button data-toggle="tooltip" data-placement="top" class="primary-button btn-xs permissions-dataset-btn" title="Manage permissions">','<span class="fa fa-group"/>',"</button>","</a>","<% } %>","</td>","</tr>"].join(""))},templateRowDeletedFile:function(){return _.template(['<tr class="active deleted_dataset library-row" data-id="<%- content_item.id %>">',"<td>",'<span title="Dataset" class="fa fa-file-o"/>',"</td>","<td></td>",'<td style="color:grey;">','<%- content_item.get("name") %>',"</td>","<td>",'<%- content_item.get("message") %>',"</td>","<td>",'<%= _.escape(content_item.get("file_ext")) %>',"</td>","<td>",'<%= _.escape(content_item.get("file_size")) %>',"</td>","<td>",'<%= _.escape(content_item.get("update_time")) %>',"</td>","<td>",'<span data-toggle="tooltip" data-placement="top" title="Marked deleted" style="color:grey;" class="fa fa-ban fa-lg"/>','<button data-toggle="tooltip" data-placement="top" title="Undelete <%- content_item.get("name") %>" class="primary-button btn-xs undelete_dataset_btn" type="button" style="margin-left:1em;">','<span class="fa fa-unlock"/>',"&nbsp;Undelete","</button>","</td>","</tr>"].join(""))},templateRowDeletedFolder:function(){return _.template(['<tr class="active deleted_folder light library-row" data-id="<%- content_item.id %>">',"<td>",'<span title="Folder" class="fa fa-folder-o"/>',"</td>","<td></td>",'<td style="color:grey;">','<%- content_item.get("name") %>',"</td>","<td>",'<%- content_item.get("description") %>',"</td>","<td>","folder","</td>","<td></td>","<td>",'<%= _.escape(content_item.get("update_time")) %>',"</td>","<td>",'<span data-toggle="tooltip" data-placement="top" title="Marked deleted" style="color:grey;" class="fa fa-ban fa-lg"/>','<button data-toggle="tooltip" data-placement="top" title="Undelete <%- content_item.get("name") %>" class="primary-button btn-xs undelete_folder_btn" type="button" style="margin-left:1em;">','<span class="fa fa-unlock"/>',"&nbsp;Undelete","</button>","</td>","</tr>"].join(""))}});return{FolderRowView:d}});
//# sourceMappingURL=../../../maps/mvc/library/library-folderrow-view.js.map