libraries: provide select all/none options when importing

improve UX by using autofocus in modals
fix a bug with selecting all folder items and deleting
This commit is contained in:
Martin Cech
2016-03-21 17:26:01 -04:00
parent 162f6d49af
commit 4b1b15aee8
9 changed files with 43 additions and 26 deletions
@@ -482,6 +482,13 @@ var FolderToolbarView = Backbone.View.extend({
}
});
$('.libimport-select-all').bind("click", function(){
$('#jstree_browser').jstree("check_all");
});
$('.libimport-select-none').bind("click", function(){
$('#jstree_browser').jstree("uncheck_all");
});
this.renderSelectBoxes();
options.disabled_jstree_element = 'folders';
this.renderJstree( options );
@@ -637,7 +644,9 @@ var FolderToolbarView = Backbone.View.extend({
* @see renderJstree
*/
importFromJstreePath: function ( that, options ){
var selected_nodes = $( '#jstree_browser' ).jstree().get_selected( true );
var all_nodes = $( '#jstree_browser' ).jstree().get_selected( true );
// remove the disabled elements that could have been trigerred with the 'select all'
selected_nodes = _.filter(all_nodes, function(node){ return node.state.disabled == false; })
var preserve_dirs = this.modal.$el.find( '.preserve-checkbox' ).is( ':checked' );
var link_data = this.modal.$el.find( '.link-checkbox' ).is( ':checked' );
var file_type = this.select_extension.value();
@@ -868,8 +877,6 @@ var FolderToolbarView = Backbone.View.extend({
* @param {array} lddas_set array of lddas to delete
*/
chainCallDeletingItems: function( items_to_delete ){
console.log('chaincall');
console.log(items_to_delete);
var self = this;
this.deleted_items = new mod_library_model.Folder();
var popped_item = items_to_delete.pop();
@@ -900,8 +907,6 @@ var FolderToolbarView = Backbone.View.extend({
console.error('Unknown library item type found.');
console.error(item.type || item.model_class);
}
console.log('updated item')
console.log(updated_item);
Galaxy.libraries.folderListView.collection.add( updated_item );
}
self.chainCallDeletingItems( items_to_delete );
@@ -949,7 +954,7 @@ var FolderToolbarView = Backbone.View.extend({
var dataset_ids = [];
var folder_ids = [];
checkedValues.each(function(){
if ($(this.parentElement.parentElement).data('id') !== '') {
if ($(this.parentElement.parentElement).data('id') !== undefined) {
if ($(this.parentElement.parentElement).data('id').substring(0,1) == 'F'){
folder_ids.push($(this.parentElement.parentElement).data('id'));
} else {
@@ -972,7 +977,6 @@ var FolderToolbarView = Backbone.View.extend({
var folder = new mod_library_model.FolderAsModel({id:folder_ids[i]});
items_to_delete.push(folder);
}
console.log(items_to_delete);
this.options.chain_call_control.total_number = items_total.length;
// call the recursive function to call ajax one after each other (request FIFO queue)
@@ -1194,7 +1198,7 @@ var FolderToolbarView = Backbone.View.extend({
tmpl_array.push('<div id="new_folder_modal">');
tmpl_array.push('<form>');
tmpl_array.push('<input type="text" name="Name" value="" placeholder="Name">');
tmpl_array.push('<input type="text" name="Name" value="" placeholder="Name" autofocus>');
tmpl_array.push('<input type="text" name="Description" value="" placeholder="Description">');
tmpl_array.push('</form>');
tmpl_array.push('</div>');
@@ -1269,16 +1273,15 @@ var FolderToolbarView = Backbone.View.extend({
var tmpl_array = [];
tmpl_array.push('<div id="file_browser_modal">');
tmpl_array.push('<div class="alert alert-info jstree-files-message">All files you select will be imported into the current folder.</div>');
tmpl_array.push('<div class="alert alert-info jstree-files-message">All files you select will be imported into the current folder ignoring their folder structure.</div>');
tmpl_array.push('<div class="alert alert-info jstree-folders-message" style="display:none;">All files within the selected folders and their subfolders will be imported into the current folder.</div>');
tmpl_array.push('<div style="margin-bottom:1em;">');
tmpl_array.push('<label class="radio-inline">');
tmpl_array.push(' <input title="Switch to selecting files" type="radio" name="jstree-radio" value="jstree-disable-folders" checked="checked"> Files');
tmpl_array.push('<label title="Switch to selecting files" class="radio-inline import-type-switch">');
tmpl_array.push(' <input type="radio" name="jstree-radio" value="jstree-disable-folders" checked="checked"> Choose Files');
tmpl_array.push('</label>');
tmpl_array.push('<label class="radio-inline">');
tmpl_array.push(' <input title="Switch to selecting folders" type="radio" name="jstree-radio" value="jstree-disable-files"> Folders');
tmpl_array.push('<label title="Switch to selecting folders" class="radio-inline import-type-switch">');
tmpl_array.push(' <input type="radio" name="jstree-radio" value="jstree-disable-files"> Choose Folders');
tmpl_array.push('</label>');
tmpl_array.push('</div>');
tmpl_array.push('<div style="margin-bottom:1em;">');
@@ -1291,9 +1294,16 @@ var FolderToolbarView = Backbone.View.extend({
tmpl_array.push('Link files instead of copying');
tmpl_array.push(' </label>');
tmpl_array.push('</div>');
tmpl_array.push('<button title="Select all files" type="button" class="button primary-button libimport-select-all">');
tmpl_array.push('Select all');
tmpl_array.push('</button>');
tmpl_array.push('<button title="Select no files" type="button" class="button primary-button libimport-select-none">');
tmpl_array.push('Select none');
tmpl_array.push('</button>');
tmpl_array.push('<hr />');
// append jstree object here
tmpl_array.push('<div id="jstree_browser">');
tmpl_array.push('</div>');
tmpl_array.push('<hr />');
tmpl_array.push('<p>You can set extension type and genome for all imported datasets at once:</p>');
tmpl_array.push('<div>');
@@ -1322,7 +1332,7 @@ var FolderToolbarView = Backbone.View.extend({
tmpl_array.push(' </label>');
tmpl_array.push('</div>');
tmpl_array.push('<textarea id="import_paths" class="form-control" rows="5" placeholder="Absolute paths (or paths relative to Galaxy root) separated by newline"></textarea>');
tmpl_array.push('<textarea id="import_paths" class="form-control" rows="5" placeholder="Absolute paths (or paths relative to Galaxy root) separated by newline" autofocus></textarea>');
tmpl_array.push('<hr />');
tmpl_array.push('<p>You can set extension type and genome for all imported datasets at once:</p>');
@@ -15,7 +15,7 @@ var LibraryToolbarView = Backbone.View.extend({
},
events: {
'click #create_new_library_btn' : 'showLibraryModal',
'click #create_new_library_btn' : 'createLibraryFromModal',
'click #include_deleted_chk' : 'includeDeletedChecked',
'click #lib_page_size_prompt' : 'showPageSizePrompt',
'keyup .library-search-input' : 'searchLibraries'
@@ -58,7 +58,7 @@ var LibraryToolbarView = Backbone.View.extend({
* User clicked on 'New library' button. Show modal to
* satisfy the wish.
*/
showLibraryModal : function (event){
createLibraryFromModal : function (event){
event.preventDefault();
event.stopPropagation();
var self = this;
@@ -240,7 +240,7 @@ var LibraryToolbarView = Backbone.View.extend({
return _.template([
'<div id="new_library_modal">',
'<form>',
'<input type="text" name="Name" value="" placeholder="Name">',
'<input type="text" name="Name" value="" placeholder="Name" autofocus>',
'<input type="text" name="Description" value="" placeholder="Description">',
'<input type="text" name="Synopsis" value="" placeholder="Synopsis">',
'</form>',
+7
View File
@@ -234,3 +234,10 @@ span.expandLink {
margin-left: auto;
margin-right: auto;
}
.import-type-switch{
text-decoration: underline;
}
.libimport-select-none,
.libimport-select-all{
margin-left: 0.5em;
}
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
{"version":3,"file":"library-librarytoolbar-view.js","sources":["../../../src/mvc/library/library-librarytoolbar-view.js"],"names":["define","mod_toastr","mod_library_model","LibraryToolbarView","Backbone","View","extend","el","defaults","search_term","events","click #create_new_library_btn","click #include_deleted_chk","click #lib_page_size_prompt","keyup .library-search-input","initialize","options","this","_","render","toolbar_template","templateToolBar","is_admin","is_anonym","Galaxy","user","isAdmin","isAnonymous","$el","html","admin_user","anon_user","find","checked","libraries","preferences","get","renderPaginator","paginator_template","templatePaginator","show_page","parseInt","page_count","total_libraries_count","libraries_shown","showLibraryModal","event","preventDefault","stopPropagation","self","modal","show","closing_events","title","body","templateNewLibraryInModal","buttons","Create","createNewLibrary","Close","hide","libraryDetails","serializeNewLibrary","validateNewLibrary","library","Library","save","success","libraryListView","collection","add","clearLibraryModal","error","model","response","responseJSON","err_msg","showPageSizePrompt","library_page_size","prompt","set","$","val","name","description","synopsis","includeDeletedChecked","target","with_deleted","searchLibraries","template","join"],"mappings":"AAAAA,QACE,cACA,6BACF,SAASC,EACAC,GAKT,GAAIC,GAAqBC,SAASC,KAAKC,QACrCC,GAAI,UAEJC,UACEC,YAAa,IAGfC,QACEC,gCAAkC,mBAClCC,6BAAkC,wBAClCC,8BAAkC,qBAClCC,8BAAkC,mBAGpCC,WAAY,SAAUC,GACpBC,KAAKD,QAAUE,EAAEV,SAAUS,KAAKD,YAAeA,EAASC,KAAKT,UAC7DS,KAAKE,UAGPA,OAAQ,WACN,GAAIC,GAAmBH,KAAKI,kBACxBC,GAAW,EACXC,GAAY,CACXC,QAAOC,OACVH,EAAWE,OAAOC,KAAKC,UACvBH,EAAYC,OAAOC,KAAKE,eAE1BV,KAAKW,IAAIC,KAAKT,GAAoBU,WAAYR,EAAUS,UAAWR,KAC9DD,IACHL,KAAKW,IAAII,KAAM,wBAAyB,GAAGC,QAAUT,OAAOU,UAAUC,YAAYC,IAAK,kBAO3FC,gBAAiB,SAAUrB,GACzBC,KAAKD,QAAUE,EAAEZ,OAAQW,KAAKD,QAASA,EACvC,IAAIsB,GAAqBrB,KAAKsB,mBAC9BtB,MAAKW,IAAII,KAAM,sBAAuBH,KAAMS,GAC1CE,UAAWC,SAAUxB,KAAKD,QAAQwB,WAClCE,WAAYD,SAAUxB,KAAKD,QAAQ0B,YACnCC,sBAAuB1B,KAAKD,QAAQ2B,sBACpCC,gBAAiB3B,KAAKD,QAAQ4B,oBAQlCC,iBAAmB,SAAUC,GAC3BA,EAAMC,iBACND,EAAME,iBACN,IAAIC,GAAOhC,IACXA,MAAKiC,MAAQ1B,OAAO0B,MACpBjC,KAAKiC,MAAMC,MACTC,gBAAkB,EAClBC,MAAkB,qBAClBC,KAAkBrC,KAAKsC,4BACvBC,SACEC,OAAgB,WAAaR,EAAKS,oBAClCC,MAAgB,WAAaV,EAAKC,MAAMU,YAQ9CF,iBAAkB,WAChB,GAAIG,GAAiB5C,KAAK6C,qBAC1B,IAAI7C,KAAK8C,mBAAmBF,GAAgB,CAC1C,GAAIG,GAAU,GAAI9D,GAAkB+D,QAChChB,EAAOhC,IACX+C,GAAQE,KAAKL,GACXM,QAAS,SAAUH,GACjBxC,OAAOU,UAAUkC,gBAAgBC,WAAWC,IAAIN,GAChDf,EAAKC,MAAMU,OACXX,EAAKsB,oBACL/C,OAAOU,UAAUkC,gBAAgBjD,SACjClB,EAAWkE,QAAQ,qBAErBK,MAAO,SAASC,EAAOC,GAEnBzE,EAAWuE,MADwB,mBAA1BE,GAASC,aACDD,EAASC,aAAaC,QAEtB,4BAKvB3E,GAAWuE,MAAM,6BAEnB,QAAO,GAMTK,mBAAoB,WAClB,GAAIC,GAAoBC,OAAQ,kDAAmDvD,OAAOU,UAAUC,YAAYC,IAAK,qBACzF,OAArB0C,GAAiCA,GAAqBrC,SAAUqC,KACrEtD,OAAOU,UAAUC,YAAY6C,KAAOF,kBAAqBrC,SAAUqC,KACnEtD,OAAOU,UAAUkC,gBAAgBjD,QAAUqB,UAAW,MAO1D+B,kBAAoB,WAClBU,EAAE,sBAAsBC,IAAI,IAC5BD,EAAE,6BAA6BC,IAAI,IACnCD,EAAE,0BAA0BC,IAAI,KAMlCpB,oBAAsB,WACpB,OACEqB,KAAMF,EAAE,sBAAsBC,MAC9BE,YAAaH,EAAE,6BAA6BC,MAC5CG,SAAUJ,EAAE,0BAA0BC,QAO1CnB,mBAAoB,SAAUF,GAC1B,MAA+B,KAAxBA,EAAesB,MAM1BG,sBAAuB,SAAUxC,GAC3BA,EAAMyC,OAAOtD,SACbT,OAAOU,UAAUC,YAAY6C,KAAOQ,cAAgB,IACpDhE,OAAOU,UAAUkC,gBAAgBjD,WAEjCK,OAAOU,UAAUC,YAAY6C,KAAOQ,cAAgB,IACpDhE,OAAOU,UAAUkC,gBAAgBjD,WAQvCsE,gBAAiB,WACf,GAAIhF,GAAcwE,EAAE,yBAAyBC,KAC7CjE,MAAKD,QAAQP,YAAcA,EAC3Be,OAAOU,UAAUkC,gBAAgBqB,gBAAgBhF,IAGnDY,gBAAiB,WACf,MAAOH,GAAEwE,UACP,wCACE,0BACE,6BACE,yCACE,wFACA,0DAEA,UACA,wCACE,+FACF,SAEA,kCACI,4DACE,UACE,4EACF,WACF,SACA,oGACE,wIACJ,UACF,UACA,qGACE,iGACE,yGACF,OACF,UACF,UACF,SACF,SACA,+BAEA,SACF,UACAC,KAAK,MAGTpD,kBAAmB,WACjB,MAAOrB,GAAEwE,UACT,wCACE,uCACA,gDACE,+EACA,sGACF,iBACE,+EACA,yFACF,UACA,iBACE,gGACA,sGACF,UACE,sBACE,wEACF,QACF,4CACE,yFACA,wGACF,iBACE,uGACA,yHACF,UACF,QACA,mCACE,sLACF,WACEC,KAAK,MAGTpC,0BAA2B,WACzB,MAAOrC,GAAEwE,UACP,+BACE,SACE,8DACA,4EACA,sEACF,UACF,UACAC,KAAK,OAIX,QACExF,mBAAoBA"}
{"version":3,"file":"library-librarytoolbar-view.js","sources":["../../../src/mvc/library/library-librarytoolbar-view.js"],"names":["define","mod_toastr","mod_library_model","LibraryToolbarView","Backbone","View","extend","el","defaults","search_term","events","click #create_new_library_btn","click #include_deleted_chk","click #lib_page_size_prompt","keyup .library-search-input","initialize","options","this","_","render","toolbar_template","templateToolBar","is_admin","is_anonym","Galaxy","user","isAdmin","isAnonymous","$el","html","admin_user","anon_user","find","checked","libraries","preferences","get","renderPaginator","paginator_template","templatePaginator","show_page","parseInt","page_count","total_libraries_count","libraries_shown","createLibraryFromModal","event","preventDefault","stopPropagation","self","modal","show","closing_events","title","body","templateNewLibraryInModal","buttons","Create","createNewLibrary","Close","hide","libraryDetails","serializeNewLibrary","validateNewLibrary","library","Library","save","success","libraryListView","collection","add","clearLibraryModal","error","model","response","responseJSON","err_msg","showPageSizePrompt","library_page_size","prompt","set","$","val","name","description","synopsis","includeDeletedChecked","target","with_deleted","searchLibraries","template","join"],"mappings":"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"}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -1 +1 @@
a{text-decoration:underline}label{font-weight:normal}.libraryRow{background-color:#ebd9b2}.datasetHighlighted{background-color:#f9f9f9}.libraryItemDeleted-True{font-style:italic}div.libraryItemBody{padding:4px 4px 2px 4px}li.folderRow,li.datasetRow{border-top:solid 1px #c6bfa8}li.folderRow:hover,li.datasetRow:hover{background-color:#f9f9f9}td.right-center{vertical-align:middle !important;text-align:right}.library-genome-select{max-width:350px}.library-extension-select{max-width:140px}.library_table td{border-top:1px solid #5f6990 !important}.library_table th{border-bottom:2px solid #5f6990 !important}.library_table a{color:#0A143D}.library_table a:hover{color:maroon}.library_style_container{width:95%;margin:auto;margin-top:2em;overflow:auto !important}.library_style_container tr{height:32px}tr.light td{background-color:white;color:black}tr.light:hover td{background-color:#f5e8cc}tr.dark td{background-color:#d6b161;color:white}tr.dark:hover td{background-color:#ebd4a4;color:white}a.dark{color:white}.dataset_table tr{border-bottom:1px solid #5f6990 !important}.dataset_table th{border:none !important}.dataset_table td{border:none !important}.dataset_table .dataset-first-column{width:30%}th.button_heading{width:2em}.bigdrop.select2-container .select2-results{max-height:300px}.bigdrop .select2-results{max-height:300px}.select2-container-multi{width:100%}.roles-selection{width:66%}#library_toolbar{margin-bottom:.5em}#library_toolbar span{margin-right:.2em}#library_toolbar .toolbar-item{margin-left:1em}#libraries_element button,#folder_items_element button{margin-left:.5em}img.expanderIcon{padding-right:4px}input.datasetCheckbox,li,ul{padding:0;margin:0}.rowTitle{padding:2px}ul{list-style:none}.libraryTitle th{text-align:left}pre.peek{background:white;color:black;overflow:auto}pre.peek th{color:white;background:#ebd9b2}.help-button{float:right}span.expandLink{padding-left:12px;display:inline-block;vertical-align:middle;background:url(../images/silk/resultset_next.png) no-repeat}.folderRow.expanded span.expandLink{background:url(../images/silk/resultset_bottom.png) no-repeat}.folderRow span.rowIcon{float:left;margin-right:5px;width:16px;height:16px;display:inline-block;vertical-align:middle;background:url(../images/silk/folder.png)}.libraryItem-error{margin-right:2px;padding:0 2px 0 2px;border:1px solid #dd1b15;background:#f9c7c5}.libraryItem-queued{margin-right:2px;padding:0 2px 0 2px;border:1px solid #bfbfbf;background:#eee}.libraryItem-running{margin-right:2px;padding:0 2px 0 2px;border:1px solid #AAAA66;background:#FFFFCC}.libraryItem-upload{margin-right:2px;padding:0 2px 0 2px;border:1px solid #119ac2;background:#a8e5f7}.pagination-sm{height:15px}.library-paginator{margin-left:2em}.paginator-bottom{width:27em;margin-left:auto;margin-right:auto}
a{text-decoration:underline}label{font-weight:normal}.libraryRow{background-color:#ebd9b2}.datasetHighlighted{background-color:#f9f9f9}.libraryItemDeleted-True{font-style:italic}div.libraryItemBody{padding:4px 4px 2px 4px}li.folderRow,li.datasetRow{border-top:solid 1px #c6bfa8}li.folderRow:hover,li.datasetRow:hover{background-color:#f9f9f9}td.right-center{vertical-align:middle !important;text-align:right}.library-genome-select{max-width:350px}.library-extension-select{max-width:140px}.library_table td{border-top:1px solid #5f6990 !important}.library_table th{border-bottom:2px solid #5f6990 !important}.library_table a{color:#0A143D}.library_table a:hover{color:maroon}.library_style_container{width:95%;margin:auto;margin-top:2em;overflow:auto !important}.library_style_container tr{height:32px}tr.light td{background-color:white;color:black}tr.light:hover td{background-color:#f5e8cc}tr.dark td{background-color:#d6b161;color:white}tr.dark:hover td{background-color:#ebd4a4;color:white}a.dark{color:white}.dataset_table tr{border-bottom:1px solid #5f6990 !important}.dataset_table th{border:none !important}.dataset_table td{border:none !important}.dataset_table .dataset-first-column{width:30%}th.button_heading{width:2em}.bigdrop.select2-container .select2-results{max-height:300px}.bigdrop .select2-results{max-height:300px}.select2-container-multi{width:100%}.roles-selection{width:66%}#library_toolbar{margin-bottom:.5em}#library_toolbar span{margin-right:.2em}#library_toolbar .toolbar-item{margin-left:1em}#libraries_element button,#folder_items_element button{margin-left:.5em}img.expanderIcon{padding-right:4px}input.datasetCheckbox,li,ul{padding:0;margin:0}.rowTitle{padding:2px}ul{list-style:none}.libraryTitle th{text-align:left}pre.peek{background:white;color:black;overflow:auto}pre.peek th{color:white;background:#ebd9b2}.help-button{float:right}span.expandLink{padding-left:12px;display:inline-block;vertical-align:middle;background:url(../images/silk/resultset_next.png) no-repeat}.folderRow.expanded span.expandLink{background:url(../images/silk/resultset_bottom.png) no-repeat}.folderRow span.rowIcon{float:left;margin-right:5px;width:16px;height:16px;display:inline-block;vertical-align:middle;background:url(../images/silk/folder.png)}.libraryItem-error{margin-right:2px;padding:0 2px 0 2px;border:1px solid #dd1b15;background:#f9c7c5}.libraryItem-queued{margin-right:2px;padding:0 2px 0 2px;border:1px solid #bfbfbf;background:#eee}.libraryItem-running{margin-right:2px;padding:0 2px 0 2px;border:1px solid #AAAA66;background:#FFFFCC}.libraryItem-upload{margin-right:2px;padding:0 2px 0 2px;border:1px solid #119ac2;background:#a8e5f7}.pagination-sm{height:15px}.library-paginator{margin-left:2em}.paginator-bottom{width:27em;margin-left:auto;margin-right:auto}.import-type-switch{text-decoration:underline}.libimport-select-none,.libimport-select-all{margin-left:.5em}