mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-10-25 00:12:08 +08:00
2 lines
6.1 KiB
JavaScript
2 lines
6.1 KiB
JavaScript
define(["libs/toastr","mvc/library/library-model"],function(a,b){var c=Backbone.View.extend({el:"#center",defaults:{search_term:""},events:{"click #create_new_library_btn":"showLibraryModal","click #include_deleted_chk":"includeDeletedChecked","click #lib_page_size_prompt":"showPageSizePrompt","keyup .library-search-input":"searchLibraries"},initialize:function(a){this.options=_.defaults(this.options||{},a,this.defaults),this.render()},render:function(){var a=this.templateToolBar(),b=!1,c=!0;Galaxy.currUser&&(b=Galaxy.currUser.isAdmin(),c=Galaxy.currUser.isAnonymous()),this.$el.html(a({admin_user:b,anon_user:c})),b&&(this.$el.find("#include_deleted_chk")[0].checked=Galaxy.libraries.preferences.get("with_deleted"))},renderPaginator:function(a){this.options=_.extend(this.options,a);var b=this.templatePaginator();this.$el.find("#library_paginator").html(b({show_page:parseInt(this.options.show_page),page_count:parseInt(this.options.page_count),total_libraries_count:this.options.total_libraries_count,libraries_shown:this.options.libraries_shown}))},showLibraryModal:function(a){a.preventDefault(),a.stopPropagation();var b=this;this.modal=Galaxy.modal,this.modal.show({closing_events:!0,title:"Create New Library",body:this.templateNewLibraryInModal(),buttons:{Create:function(){b.createNewLibrary()},Close:function(){b.modal.hide()}}})},createNewLibrary:function(){var c=this.serializeNewLibrary();if(this.validateNewLibrary(c)){var d=new b.Library,e=this;d.save(c,{success:function(b){Galaxy.libraries.libraryListView.collection.add(b),e.modal.hide(),e.clearLibraryModal(),Galaxy.libraries.libraryListView.render(),a.success("Library created.")},error:function(b,c){a.error("undefined"!=typeof c.responseJSON?c.responseJSON.err_msg:"An error occured.")}})}else a.error("Library's name is missing.");return!1},showPageSizePrompt:function(){var a=prompt("How many libraries per page do you want to see?",Galaxy.libraries.preferences.get("library_page_size"));null!=a&&a==parseInt(a)&&(Galaxy.libraries.preferences.set({library_page_size:parseInt(a)}),Galaxy.libraries.libraryListView.render({show_page:1}))},clearLibraryModal:function(){$("input[name='Name']").val(""),$("input[name='Description']").val(""),$("input[name='Synopsis']").val("")},serializeNewLibrary:function(){return{name:$("input[name='Name']").val(),description:$("input[name='Description']").val(),synopsis:$("input[name='Synopsis']").val()}},validateNewLibrary:function(a){return""!==a.name},includeDeletedChecked:function(a){a.target.checked?(Galaxy.libraries.preferences.set({with_deleted:!0}),Galaxy.libraries.libraryListView.render()):(Galaxy.libraries.preferences.set({with_deleted:!1}),Galaxy.libraries.libraryListView.render())},searchLibraries:function(){var a=$(".library-search-input").val();this.options.search_term=a,Galaxy.libraries.libraryListView.searchLibraries(a)},templateToolBar:function(){return _.template(['<div class="library_style_container">','<div id="toolbar_form">','<div id="library_toolbar">','<form class="form-inline" role="form">','<span><strong><a href="#" title="Go to first page">DATA LIBRARIES</a></strong></span>','<span id="library_paginator" class="library-paginator">',"</span>",'<div class="form-group toolbar-item">','<input type="text" class="form-control library-search-input" placeholder="Search" size="30">',"</div>","<% if(admin_user === true) { %>",'<div class="checkbox toolbar-item" style="height: 20px;">',"<label>",'<input id="include_deleted_chk" type="checkbox"> include deleted </input>',"</label>","</div>",'<span class="toolbar-item" data-toggle="tooltip" data-placement="top" title="Create New Library">','<button id="create_new_library_btn" class="primary-button btn-xs" type="button"><span class="fa fa-plus"></span> New Library</button>',"</span>","<% } %>",'<span class="help-button" data-toggle="tooltip" data-placement="top" title="Visit Libraries Wiki">','<a href="https://wiki.galaxyproject.org/DataLibraries/screen/ListOfLibraries" target="_blank">','<button class="primary-button" type="button"><span class="fa fa-question-circle"></span> Help</button>',"</a>","</span>","</form>","</div>","</div>",'<div id="libraries_element">',"</div>","</div>"].join(""))},templatePaginator:function(){return _.template(['<ul class="pagination pagination-sm">',"<% if ( ( show_page - 1 ) > 0 ) { %>","<% if ( ( show_page - 1 ) > page_count ) { %>",'<li><a href="#page/1"><span class="fa fa-angle-double-left"></span></a></li>','<li class="disabled"><a href="#page/<% print( show_page ) %>"><% print( show_page - 1 ) %></a></li>',"<% } else { %>",'<li><a href="#page/1"><span class="fa fa-angle-double-left"></span></a></li>','<li><a href="#page/<% print( show_page - 1 ) %>"><% print( show_page - 1 ) %></a></li>',"<% } %>","<% } else { %>",'<li class="disabled"><a href="#page/1"><span class="fa fa-angle-double-left"></span></a></li>','<li class="disabled"><a href="#page/<% print( show_page ) %>"><% print( show_page - 1 ) %></a></li>',"<% } %>",'<li class="active">','<a href="#page/<% print( show_page ) %>"><% print( show_page ) %></a>',"</li>","<% if ( ( show_page ) < page_count ) { %>",'<li><a href="#page/<% print( show_page + 1 ) %>"><% print( show_page + 1 ) %></a></li>','<li><a href="#page/<% print( page_count ) %>"><span class="fa fa-angle-double-right"></span></a></li>',"<% } else { %>",'<li class="disabled"><a href="#page/<% print( show_page ) %>"><% print( show_page + 1 ) %></a></li>','<li class="disabled"><a href="#page/<% print( page_count ) %>"><span class="fa fa-angle-double-right"></span></a></li>',"<% } %>","</ul>",'<span id="lib_page_size_prompt">',' showing <a data-toggle="tooltip" data-placement="top" title="Click to change the number of libraries on page"><%- libraries_shown %></a> of <%- total_libraries_count %> libraries',"</span>"].join(""))},templateNewLibraryInModal:function(){return _.template(['<div id="new_library_modal">',"<form>",'<input type="text" name="Name" value="" placeholder="Name">','<input type="text" name="Description" value="" placeholder="Description">','<input type="text" name="Synopsis" value="" placeholder="Synopsis">',"</form>","</div>"].join(""))}});return{LibraryToolbarView:c}});
|
|
//# sourceMappingURL=../../../maps/mvc/library/library-librarytoolbar-view.js.map
|