add 'create history &import to it' feature

various refactorings and fixes to UX glitches
This commit is contained in:
Martin Cech
2016-03-25 15:24:23 -04:00
parent 0d5001eea7
commit 87ea37ca28
7 changed files with 302 additions and 274 deletions
@@ -1039,7 +1039,7 @@ var LibraryDatasetView = Backbone.View.extend({
templateBulkImportInModal: function(){
return _.template([
'<span id="history_modal_combo_bulk" style="width:90%; margin-left: 1em; margin-right: 1em; ">',
'<span class="library-modal-item">',
'Select history: ',
'<select id="dataset_import_single" name="dataset_import_single" style="width:50%; margin-bottom: 1em; "> ',
'<% _.each(histories, function(history) { %>', //history select btn
@@ -21,7 +21,7 @@ var FolderToolbarView = Backbone.View.extend({
'click #include_deleted_datasets_chk' : 'checkIncludeDeleted',
'click #toolbtn_bulk_delete' : 'deleteSelectedItems',
'click .toolbtn-show-locinfo' : 'showLocInfo',
'click #page_size_prompt' : 'showPageSizePrompt'
'click .page_size_prompt' : 'showPageSizePrompt'
},
@@ -245,10 +245,31 @@ var FolderToolbarView = Backbone.View.extend({
*/
importAllIntoHistory : function (){
this.modal.disableButton('Import');
var history_id = $("select[name=dataset_import_bulk] option:selected").val();
var history_name = $("select[name=dataset_import_bulk] option:selected").text();
// we can save last used history to pre-select it next time
this.options.last_used_history_id = history_id;
var new_history_name = $('input[name=history_name]').val();
var that = this;
if (new_history_name !== ''){
$.post( Galaxy.root + 'api/histories', {name: new_history_name})
.done(function( new_history ) {
console.log(new_history.name);
that.options.last_used_history_id = new_history.id;
that.processImportToHistory(new_history.id, new_history.name);
})
.fail(function( xhr, status, error ) {
mod_toastr.error('An error ocurred.');
})
.always(function() {
that.modal.enableButton('Import');
});
} else {
var history_id = $("select[name=dataset_import_bulk] option:selected").val();
this.options.last_used_history_id = history_id;
var history_name = $("select[name=dataset_import_bulk] option:selected").text();
this.processImportToHistory(history_id, history_name);
this.modal.enableButton('Import');
}
},
processImportToHistory: function( history_id, history_name ){
var dataset_ids = [];
var folder_ids = [];
$('#folder_table').find(':checked').each(function(){
@@ -1055,79 +1076,89 @@ var FolderToolbarView = Backbone.View.extend({
},
templateToolBar: function(){
tmpl_array = [];
// CONTAINER START
tmpl_array.push('<div class="library_style_container">');
// TOOLBAR START
tmpl_array.push(' <div id="library_toolbar">');
tmpl_array.push('<form class="form-inline" role="form">');
tmpl_array.push(' <span><strong>DATA LIBRARIES</strong></span>');
tmpl_array.push(' <span class="library-paginator folder-paginator">');
return _.template([
// container start
'<div class="library_style_container">',
// toolbar start
'<div id="library_toolbar">',
'<form class="form-inline" role="form">',
'<span><strong>DATA LIBRARIES</strong></span>',
// paginator will append here
'<span class="library-paginator folder-paginator"></span>',
'<div class="checkbox toolbar-item logged-dataset-manipulation" style="height: 20px; display:none;">',
'<label>',
'<input id="include_deleted_datasets_chk" type="checkbox"> include deleted </input>',
'</label>',
'</div>',
'<button style="display:none;" data-toggle="tooltip" data-placement="top" title="Create New Folder" id="toolbtn_create_folder" class="btn btn-default primary-button add-library-items" type="button">',
'<span class="fa fa-plus"></span><span class="fa fa-folder"></span>',
'</button>',
'<% if(mutiple_add_dataset_options) { %>',
'<div class="btn-group add-library-items" style="display:none;">',
'<button title="Add Datasets to Current Folder" id="" type="button" class="primary-button dropdown-toggle" data-toggle="dropdown">',
'<span class="fa fa-plus"></span><span class="fa fa-file"></span><span class="caret"></span>',
'</button>',
'<ul class="dropdown-menu" role="menu">',
'<li><a href="#folders/<%= id %>/import/history"> from History</a></li>',
'<% if(Galaxy.config.user_library_import_dir !== null) { %>',
'<li><a href="#folders/<%= id %>/import/userdir"> from User Directory</a></li>',
'<% } %>',
'<% if(Galaxy.config.allow_library_path_paste) { %>',
'<li class="divider"></li>',
'<li class="dropdown-header">Admins only</li>',
'<% if(Galaxy.config.library_import_dir !== null) { %>',
'<li><a href="#folders/<%= id %>/import/importdir">from Import Directory</a></li>',
'<% } %>',
'<% if(Galaxy.config.allow_library_path_paste) { %>',
'<li><a href="#folders/<%= id %>/import/path">from Path</a></li>',
'<% } %>',
'<% } %>',
'</ul>',
'</div>',
'<% } else { %>',
'<a data-placement="top" title="Add Datasets to Current Folder" style="display:none;" class="btn btn-default add-library-items" href="#folders/<%= id %>/import/history" role="button">',
'<span class="fa fa-plus"></span><span class="fa fa-file"></span>',
'</a>',
'<% } %>',
'<button data-toggle="tooltip" data-placement="top" title="Import selected datasets into history" id="toolbtn_bulk_import" class="primary-button dataset-manipulation" style="margin-left: 0.5em; display:none;" type="button">',
'<span class="fa fa-book"></span>',
'&nbsp;to History',
'</button>',
'<div id="toolbtn_dl" class="btn-group dataset-manipulation" style="margin-left: 0.5em; display:none; ">',
'<button title="Download selected datasets as archive" id="drop_toggle" type="button" class="primary-button dropdown-toggle" data-toggle="dropdown">',
'<span class="fa fa-download"></span> Download <span class="caret"></span>',
'</button>',
'<ul class="dropdown-menu" role="menu">',
'<li><a href="#/folders/<%= id %>/download/tgz">.tar.gz</a></li>',
'<li><a href="#/folders/<%= id %>/download/tbz">.tar.bz</a></li>',
'<li><a href="#/folders/<%= id %>/download/zip">.zip</a></li>',
'</ul>',
'</div>',
'<button data-toggle="tooltip" data-placement="top" title="Mark selected items deleted" id="toolbtn_bulk_delete" class="primary-button logged-dataset-manipulation" style="margin-left: 0.5em; display:none; " type="button">',
'<span class="fa fa-times"></span> Delete</button>',
'<button data-id="<%- id %>" data-toggle="tooltip" data-placement="top" title="Show location information" class="primary-button toolbtn-show-locinfo" style="margin-left: 0.5em;" type="button">',
'<span class="fa fa-info-circle"></span>',
'&nbsp;Location Info',
'</button>',
'<span class="help-button" data-toggle="tooltip" data-placement="top" title="Visit Libraries Wiki">',
'<a href="https://wiki.galaxyproject.org/DataLibraries/screen/FolderContents" target="_blank">',
'<button class="primary-button" type="button">',
'<span class="fa fa-question-circle"></span>',
'&nbsp;Help',
'</button>',
'</a>',
'</span>',
'</div>',
'</form>',
// toolbar end
'<div id="folder_items_element">',
'</div>',
// container end
'</div>',
// paginator will append here
tmpl_array.push(' </span>');
tmpl_array.push('<div class="checkbox toolbar-item logged-dataset-manipulation" style="height: 20px; display:none;">');
tmpl_array.push('<label>');
tmpl_array.push('<input id="include_deleted_datasets_chk" type="checkbox"> include deleted </input>');
tmpl_array.push('</label>');
tmpl_array.push('</div>');
tmpl_array.push(' <button style="display:none;" data-toggle="tooltip" data-placement="top" title="Create New Folder" id="toolbtn_create_folder" class="btn btn-default primary-button add-library-items" type="button"><span class="fa fa-plus"></span> <span class="fa fa-folder"></span></button>');
'<div class="folder-paginator paginator-bottom"></div>'
tmpl_array.push('<% if(mutiple_add_dataset_options) { %>');
tmpl_array.push(' <div class="btn-group add-library-items" style="display:none;">');
tmpl_array.push(' <button title="Add Datasets to Current Folder" id="" type="button" class="primary-button dropdown-toggle" data-toggle="dropdown">');
tmpl_array.push(' <span class="fa fa-plus"></span> <span class="fa fa-file"></span> <span class="caret"></span>');
tmpl_array.push(' </button>');
tmpl_array.push(' <ul class="dropdown-menu" role="menu">');
tmpl_array.push(' <li><a href="#folders/<%= id %>/import/history"> from History</a></li>');
tmpl_array.push('<% if(Galaxy.config.user_library_import_dir !== null) { %>');
tmpl_array.push(' <li><a href="#folders/<%= id %>/import/userdir"> from User Directory</a></li>');
tmpl_array.push('<% } %>');
tmpl_array.push('<% if(Galaxy.config.allow_library_path_paste) { %>');
tmpl_array.push(' <li class="divider"></li>');
tmpl_array.push(' <li class="dropdown-header">Admins only</li>');
tmpl_array.push('<% if(Galaxy.config.library_import_dir !== null) { %>');
tmpl_array.push(' <li><a href="#folders/<%= id %>/import/importdir">from Import Directory</a></li>');
tmpl_array.push('<% } %>');
tmpl_array.push('<% if(Galaxy.config.allow_library_path_paste) { %>');
tmpl_array.push(' <li><a href="#folders/<%= id %>/import/path">from Path</a></li>');
tmpl_array.push('<% } %>');
tmpl_array.push('<% } %>');
tmpl_array.push(' </ul>');
tmpl_array.push(' </div>');
tmpl_array.push('<% } else { %>');
tmpl_array.push(' <a data-placement="top" title="Add Datasets to Current Folder" style="display:none;" class="btn btn-default add-library-items" href="#folders/<%= id %>/import/history" role="button"><span class="fa fa-plus"></span> <span class="fa fa-file"></span></span></a>');
tmpl_array.push('<% } %>');
tmpl_array.push(' <button data-toggle="tooltip" data-placement="top" title="Import selected datasets into history" id="toolbtn_bulk_import" class="primary-button dataset-manipulation" style="margin-left: 0.5em; display:none;" type="button"><span class="fa fa-book"></span> to History</button>');
tmpl_array.push(' <div id="toolbtn_dl" class="btn-group dataset-manipulation" style="margin-left: 0.5em; display:none; ">');
tmpl_array.push(' <button title="Download selected datasets as archive" id="drop_toggle" type="button" class="primary-button dropdown-toggle" data-toggle="dropdown">');
tmpl_array.push(' <span class="fa fa-download"></span> Download <span class="caret"></span>');
tmpl_array.push(' </button>');
tmpl_array.push(' <ul class="dropdown-menu" role="menu">');
tmpl_array.push(' <li><a href="#/folders/<%= id %>/download/tgz">.tar.gz</a></li>');
tmpl_array.push(' <li><a href="#/folders/<%= id %>/download/tbz">.tar.bz</a></li>');
tmpl_array.push(' <li><a href="#/folders/<%= id %>/download/zip">.zip</a></li>');
tmpl_array.push(' </ul>');
tmpl_array.push(' </div>');
tmpl_array.push(' <button data-toggle="tooltip" data-placement="top" title="Mark selected items deleted" id="toolbtn_bulk_delete" class="primary-button logged-dataset-manipulation" style="margin-left: 0.5em; display:none; " type="button"><span class="fa fa-times"></span> Delete</button>');
tmpl_array.push(' <button data-id="<%- id %>" data-toggle="tooltip" data-placement="top" title="Show location information" class="primary-button toolbtn-show-locinfo" style="margin-left: 0.5em;" type="button"><span class="fa fa-info-circle"></span> Location Info</button>');
tmpl_array.push(' <span class="help-button" data-toggle="tooltip" data-placement="top" title="Visit Libraries Wiki"><a href="https://wiki.galaxyproject.org/DataLibraries/screen/FolderContents" target="_blank"><button class="primary-button" type="button"><span class="fa fa-question-circle"></span> Help</button></a></span>');
tmpl_array.push(' </div>');
tmpl_array.push('</form>');
// TOOLBAR END
tmpl_array.push(' <div id="folder_items_element">');
tmpl_array.push(' </div>');
tmpl_array.push('</div>');
tmpl_array.push('<div class="folder-paginator paginator-bottom"></div>');
// CONTAINER END
return _.template(tmpl_array.join(''));
].join(''));
},
templateLocInfoInModal: function(){
@@ -1194,226 +1225,208 @@ var FolderToolbarView = Backbone.View.extend({
},
templateNewFolderInModal: function(){
tmpl_array = [];
tmpl_array.push('<div id="new_folder_modal">');
tmpl_array.push('<form>');
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>');
return _.template(tmpl_array.join(''));
return _.template([
'<div id="new_folder_modal">',
'<form>',
'<input type="text" name="Name" value="" placeholder="Name" autofocus>',
'<input type="text" name="Description" value="" placeholder="Description">',
'</form>',
'</div>'
].join(''));
},
templateBulkImportInModal : function(){
var tmpl_array = [];
tmpl_array.push('<span id="history_modal_combo_bulk" style="width:90%; margin-left: 1em; margin-right: 1em; ">');
tmpl_array.push('Select history: ');
tmpl_array.push('<select id="dataset_import_bulk" name="dataset_import_bulk" style="width:50%; margin-bottom: 1em; "> ');
tmpl_array.push(' <% _.each(histories, function(history) { %>'); //history select box
tmpl_array.push(' <option value="<%= _.escape(history.get("id")) %>"><%= _.escape(history.get("name")) %></option>');
tmpl_array.push(' <% }); %>');
tmpl_array.push('</select>');
tmpl_array.push('</span>');
return _.template(tmpl_array.join(''));
return _.template([
'<div>',
'<div class="library-modal-item">',
'Select history: ',
'<select id="dataset_import_bulk" name="dataset_import_bulk" style="width:50%; margin-bottom: 1em; " autofocus>',
'<% _.each(histories, function(history) { %>',
'<option value="<%= _.escape(history.get("id")) %>"><%= _.escape(history.get("name")) %></option>',
'<% }); %>',
'</select>',
'</div>',
'<div class="library-modal-item">',
'or create new: ',
'<input type="text" name="history_name" value="" placeholder="name of the new history" style="width:50%;">',
'</input>',
'</div>',
'</div>'
].join(''));
},
templateImportIntoHistoryProgressBar : function (){
var tmpl_array = [];
tmpl_array.push('<div class="import_text">');
tmpl_array.push('Importing selected datasets to history <b><%= _.escape(history_name) %></b>');
tmpl_array.push('</div>');
tmpl_array.push('<div class="progress">');
tmpl_array.push(' <div class="progress-bar progress-bar-import" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width: 00%;">');
tmpl_array.push(' <span class="completion_span">0% Complete</span>');
tmpl_array.push(' </div>');
tmpl_array.push('</div>');
tmpl_array.push('');
return _.template(tmpl_array.join(''));
return _.template([
'<div class="import_text">',
'Importing selected datasets to history <b><%= _.escape(history_name) %></b>',
'</div>',
'<div class="progress">',
'<div class="progress-bar progress-bar-import" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width: 00%;">',
'<span class="completion_span">0% Complete</span>',
'</div>',
'</div>'
].join(''));
},
templateAddingDatasetsProgressBar: function (){
var tmpl_array = [];
tmpl_array.push('<div class="import_text">');
tmpl_array.push('Adding selected datasets to library folder <b><%= _.escape(folder_name) %></b>');
tmpl_array.push('</div>');
tmpl_array.push('<div class="progress">');
tmpl_array.push(' <div class="progress-bar progress-bar-import" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width: 00%;">');
tmpl_array.push(' <span class="completion_span">0% Complete</span>');
tmpl_array.push(' </div>');
tmpl_array.push('</div>');
tmpl_array.push('');
return _.template(tmpl_array.join(''));
return _.template([
'<div class="import_text">',
'Adding selected datasets to library folder <b><%= _.escape(folder_name) %></b>',
'</div>',
'<div class="progress">',
'<div class="progress-bar progress-bar-import" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width: 00%;">',
'<span class="completion_span">0% Complete</span>',
'</div>',
'</div>'
].join(''));
},
templateDeletingDatasetsProgressBar: function (){
var tmpl_array = [];
tmpl_array.push('<div class="import_text">');
tmpl_array.push('</div>');
tmpl_array.push('<div class="progress">');
tmpl_array.push(' <div class="progress-bar progress-bar-import" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width: 00%;">');
tmpl_array.push(' <span class="completion_span">0% Complete</span>');
tmpl_array.push(' </div>');
tmpl_array.push('</div>');
tmpl_array.push('');
return _.template(tmpl_array.join(''));
return _.template([
'<div class="import_text">',
'</div>',
'<div class="progress">',
'<div class="progress-bar progress-bar-import" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width: 00%;">',
'<span class="completion_span">0% Complete</span>',
'</div>',
'</div>'
].join(''));
},
templateBrowserModal: function(){
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 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 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 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;">');
tmpl_array.push('<label class="checkbox-inline jstree-preserve-structure" style="display:none;">');
tmpl_array.push(' <input class="preserve-checkbox" type="checkbox" value="preserve_directory_structure">');
tmpl_array.push('Preserve directory structure');
tmpl_array.push(' </label>');
tmpl_array.push('<label class="checkbox-inline jstree-link-files" style="display:none;">');
tmpl_array.push(' <input class="link-checkbox" type="checkbox" value="link_files">');
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>');
tmpl_array.push('Type: <span id="library_extension_select" class="library-extension-select" />');
tmpl_array.push(' Genome: <span id="library_genome_select" class="library-genome-select" />');
tmpl_array.push('</div>');
tmpl_array.push('</div>');
return _.template(tmpl_array.join(''));
return _.template([
'<div id="file_browser_modal">',
'<div class="alert alert-info jstree-files-message">All files you select will be imported into the current folder ignoring their folder structure.</div>',
'<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>',
'<div style="margin-bottom:1em;">',
'<label title="Switch to selecting files" class="radio-inline import-type-switch">',
'<input type="radio" name="jstree-radio" value="jstree-disable-folders" checked="checked"> Choose Files',
'</label>',
'<label title="Switch to selecting folders" class="radio-inline import-type-switch">',
'<input type="radio" name="jstree-radio" value="jstree-disable-files"> Choose Folders',
'</label>',
'</div>',
'<div style="margin-bottom:1em;">',
'<label class="checkbox-inline jstree-preserve-structure" style="display:none;">',
'<input class="preserve-checkbox" type="checkbox" value="preserve_directory_structure">',
'Preserve directory structure',
'</label>',
'<label class="checkbox-inline jstree-link-files" style="display:none;">',
'<input class="link-checkbox" type="checkbox" value="link_files">',
'Link files instead of copying',
'</label>',
'</div>',
'<button title="Select all files" type="button" class="button primary-button libimport-select-all">',
'Select all',
'</button>',
'<button title="Select no files" type="button" class="button primary-button libimport-select-none">',
'Select none',
'</button>',
'<hr />',
// append jstree object here
'<div id="jstree_browser">',
'</div>',
'<hr />',
'<p>You can set extension type and genome for all imported datasets at once:</p>',
'<div>',
'Type: <span id="library_extension_select" class="library-extension-select" />',
'Genome: <span id="library_genome_select" class="library-genome-select" />',
'</div>',
'</div>'
].join(''));
},
templateImportPathModal: function(){
var tmpl_array = [];
tmpl_array.push('<div id="file_browser_modal">');
tmpl_array.push('<div class="alert alert-info jstree-folders-message">All files within the given folders and their subfolders will be imported into the current folder.</div>');
tmpl_array.push('<div style="margin-bottom: 0.5em;">');
tmpl_array.push('<label class="checkbox-inline jstree-preserve-structure">');
tmpl_array.push(' <input class="preserve-checkbox" type="checkbox" value="preserve_directory_structure">');
tmpl_array.push('Preserve directory structure');
tmpl_array.push(' </label>');
tmpl_array.push('<label class="checkbox-inline jstree-link-files">');
tmpl_array.push(' <input class="link-checkbox" type="checkbox" value="link_files">');
tmpl_array.push('Link files instead of copying');
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" autofocus></textarea>');
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>');
tmpl_array.push('Type: <span id="library_extension_select" class="library-extension-select" />');
tmpl_array.push(' Genome: <span id="library_genome_select" class="library-genome-select" />');
tmpl_array.push('</div>');
tmpl_array.push('</div>');
return _.template(tmpl_array.join(''));
return _.template([
'<div id="file_browser_modal">',
'<div class="alert alert-info jstree-folders-message">All files within the given folders and their subfolders will be imported into the current folder.</div>',
'<div style="margin-bottom: 0.5em;">',
'<label class="checkbox-inline jstree-preserve-structure">',
'<input class="preserve-checkbox" type="checkbox" value="preserve_directory_structure">',
'Preserve directory structure',
'</label>',
'<label class="checkbox-inline jstree-link-files">',
'<input class="link-checkbox" type="checkbox" value="link_files">',
'Link files instead of copying',
'</label>',
'</div>',
'<textarea id="import_paths" class="form-control" rows="5" placeholder="Absolute paths (or paths relative to Galaxy root) separated by newline" autofocus></textarea>',
'<hr />',
'<p>You can set extension type and genome for all imported datasets at once:</p>',
'<div>',
'Type: <span id="library_extension_select" class="library-extension-select" />',
'Genome: <span id="library_genome_select" class="library-genome-select" />',
'</div>',
'</div>'
].join(''));
},
templateAddFilesFromHistory: function (){
var tmpl_array = [];
tmpl_array.push('<div id="add_files_modal">');
tmpl_array.push('<div id="history_modal_combo_bulk">');
tmpl_array.push('Select history: ');
tmpl_array.push('<select id="dataset_add_bulk" name="dataset_add_bulk" style="width:66%; "> ');
tmpl_array.push(' <% _.each(histories, function(history) { %>'); //history select box
tmpl_array.push(' <option value="<%= _.escape(history.get("id")) %>"><%= _.escape(history.get("name")) %></option>');
tmpl_array.push(' <% }); %>');
tmpl_array.push('</select>');
tmpl_array.push('</div>');
tmpl_array.push('<br/>');
tmpl_array.push('<div id="selected_history_content">');
tmpl_array.push('</div>');
tmpl_array.push('</div>');
return _.template(tmpl_array.join(''));
return _.template([
'<div id="add_files_modal">',
'<div>',
'Select history: ',
'<select id="dataset_add_bulk" name="dataset_add_bulk" style="width:66%; "> ',
'<% _.each(histories, function(history) { %>', //history select box
'<option value="<%= _.escape(history.get("id")) %>"><%= _.escape(history.get("name")) %></option>',
'<% }); %>',
'</select>',
'</div>',
'<br/>',
'<div id="selected_history_content">',
'</div>',
'</div>'
].join(''));
},
templateHistoryContents: function (){
var tmpl_array = [];
tmpl_array.push('<strong>Choose the datasets to import:</strong>');
tmpl_array.push('<ul>');
tmpl_array.push(' <% _.each(history_contents, function(history_item) { %>');
tmpl_array.push(' <li data-id="<%= _.escape(history_item.get("id")) %>">');
tmpl_array.push(' <input style="margin: 0;" type="checkbox"> <%= _.escape(history_item.get("hid")) %>: <%= _.escape(history_item.get("name")) %>');
tmpl_array.push(' </li>');
tmpl_array.push(' <% }); %>');
tmpl_array.push('</ul>');
return _.template(tmpl_array.join(''));
return _.template([
'<strong>Choose the datasets to import:</strong>',
'<ul>',
'<% _.each(history_contents, function(history_item) { %>',
'<li data-id="<%= _.escape(history_item.get("id")) %>">',
'<input style="margin: 0;" type="checkbox"> <%= _.escape(history_item.get("hid")) %>: <%= _.escape(history_item.get("name")) %>',
'</li>',
'<% }); %>',
'</ul>'
].join(''));
},
templatePaginator: function(){
tmpl_array = [];
tmpl_array.push(' <ul class="pagination pagination-sm">');
tmpl_array.push(' <% if ( ( show_page - 1 ) > 0 ) { %>');
tmpl_array.push(' <% if ( ( show_page - 1 ) > page_count ) { %>'); // we are on higher page than total page count
tmpl_array.push(' <li><a href="#folders/<%= id %>/page/1"><span class="fa fa-angle-double-left"></span></a></li>');
tmpl_array.push(' <li class="disabled"><a href="#folders/<%= id %>/page/<% print( show_page ) %>"><% print( show_page - 1 ) %></a></li>');
tmpl_array.push(' <% } else { %>');
tmpl_array.push(' <li><a href="#folders/<%= id %>/page/1"><span class="fa fa-angle-double-left"></span></a></li>');
tmpl_array.push(' <li><a href="#folders/<%= id %>/page/<% print( show_page - 1 ) %>"><% print( show_page - 1 ) %></a></li>');
tmpl_array.push(' <% } %>');
tmpl_array.push(' <% } else { %>'); // we are on the first page
tmpl_array.push(' <li class="disabled"><a href="#folders/<%= id %>/page/1"><span class="fa fa-angle-double-left"></span></a></li>');
tmpl_array.push(' <li class="disabled"><a href="#folders/<%= id %>/page/<% print( show_page ) %>"><% print( show_page - 1 ) %></a></li>');
tmpl_array.push(' <% } %>');
tmpl_array.push(' <li class="active">');
tmpl_array.push(' <a href="#folders/<%= id %>/page/<% print( show_page ) %>"><% print( show_page ) %></a>');
tmpl_array.push(' </li>');
tmpl_array.push(' <% if ( ( show_page ) < page_count ) { %>');
tmpl_array.push(' <li><a href="#folders/<%= id %>/page/<% print( show_page + 1 ) %>"><% print( show_page + 1 ) %></a></li>');
tmpl_array.push(' <li><a href="#folders/<%= id %>/page/<% print( page_count ) %>"><span class="fa fa-angle-double-right"></span></a></li>');
tmpl_array.push(' <% } else { %>');
tmpl_array.push(' <li class="disabled"><a href="#folders/<%= id %>/page/<% print( show_page ) %>"><% print( show_page + 1 ) %></a></li>');
tmpl_array.push(' <li class="disabled"><a href="#folders/<%= id %>/page/<% print( page_count ) %>"><span class="fa fa-angle-double-right"></span></a></li>');
tmpl_array.push(' <% } %>');
tmpl_array.push(' </ul>');
tmpl_array.push(' <span>');
tmpl_array.push(' showing <a data-toggle="tooltip" data-placement="top" title="Click to change the number of items on page" id="page_size_prompt"><%- items_shown %></a> of <%- total_items_count %> items');
tmpl_array.push(' </span>');
return _.template(tmpl_array.join(''));
return _.template([
'<ul class="pagination pagination-sm">',
'<% if ( ( show_page - 1 ) > 0 ) { %>',
'<% if ( ( show_page - 1 ) > page_count ) { %>', // we are on higher page than total page count
'<li><a href="#folders/<%= id %>/page/1"><span class="fa fa-angle-double-left"></span></a></li>',
'<li class="disabled"><a href="#folders/<%= id %>/page/<% print( show_page ) %>"><% print( show_page - 1 ) %></a></li>',
'<% } else { %>',
'<li><a href="#folders/<%= id %>/page/1"><span class="fa fa-angle-double-left"></span></a></li>',
'<li><a href="#folders/<%= id %>/page/<% print( show_page - 1 ) %>"><% print( show_page - 1 ) %></a></li>',
'<% } %>',
'<% } else { %>', // we are on the first page
'<li class="disabled"><a href="#folders/<%= id %>/page/1"><span class="fa fa-angle-double-left"></span></a></li>',
'<li class="disabled"><a href="#folders/<%= id %>/page/<% print( show_page ) %>"><% print( show_page - 1 ) %></a></li>',
'<% } %>',
'<li class="active">',
'<a href="#folders/<%= id %>/page/<% print( show_page ) %>"><% print( show_page ) %></a>',
'</li>',
'<% if ( ( show_page ) < page_count ) { %>',
'<li><a href="#folders/<%= id %>/page/<% print( show_page + 1 ) %>"><% print( show_page + 1 ) %></a></li>',
'<li><a href="#folders/<%= id %>/page/<% print( page_count ) %>"><span class="fa fa-angle-double-right"></span></a></li>',
'<% } else { %>',
'<li class="disabled"><a href="#folders/<%= id %>/page/<% print( show_page ) %>"><% print( show_page + 1 ) %></a></li>',
'<li class="disabled"><a href="#folders/<%= id %>/page/<% print( page_count ) %>"><span class="fa fa-angle-double-right"></span></a></li>',
'<% } %>',
'</ul>',
'<span>',
'showing&nbsp;',
'<a data-toggle="tooltip" data-placement="top" title="Click to change the number of items on page" class="page_size_prompt">',
'<%- items_shown %>',
'</a>',
'&nbsp;of <%- total_items_count %> items',
'</span>'
].join(''));
},
});
+6
View File
@@ -240,6 +240,7 @@ span.expandLink {
width: 27em;
margin-left: auto;
margin-right: auto;
margin-top: 2em;
}
.import-type-switch{
text-decoration: underline;
@@ -248,3 +249,8 @@ span.expandLink {
.libimport-select-all{
margin-left: 0.5em;
}
.library-modal-item{
width:90%;
margin-left: 1em;
margin-right: 1em;
}
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
+5 -1
View File
@@ -1 +1,5 @@
a{text-decoration:underline}label{font-weight:normal}.library_style_container .fa{font-size:12px}.library_style_container .fa-globe{font-size:initial}.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}
<<<<<<< HEAD
a{text-decoration:underline}label{font-weight:normal}.library_style_container .fa{font-size:12px}.library_style_container .fa-globe{font-size:initial}.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}
=======
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;margin-top:2em}.import-type-switch{text-decoration:underline}.libimport-select-none,.libimport-select-all{margin-left:.5em}.library-modal-item{width:90%;margin-left:1em;margin-right:1em}
>>>>>>> add 'create history &import to it' feature