Show More
@@ -8787,12 +8787,17 b' input.engine_num_input {' | |||
|
8787 | 8787 | font-weight: bold; |
|
8788 | 8788 | } |
|
8789 | 8789 | #tree-selector { |
|
8790 | display: inline-block; | |
|
8791 | 8790 | padding-right: 0px; |
|
8792 | 8791 | } |
|
8793 | #tree-selector input[type=checkbox] { | |
|
8792 | #button-select-all { | |
|
8793 | min-width: 50px; | |
|
8794 | } | |
|
8795 | #select-all { | |
|
8794 | 8796 | margin-left: 7px; |
|
8795 | vertical-align: baseline; | |
|
8797 | margin-right: 2px; | |
|
8798 | } | |
|
8799 | .menu_icon { | |
|
8800 | margin-right: 2px; | |
|
8796 | 8801 | } |
|
8797 | 8802 | .tab-content .row { |
|
8798 | 8803 | margin-left: 0px; |
@@ -122,12 +122,16 b' define([' | |||
|
122 | 122 | $('.delete-button').click($.proxy(this.delete_selected, this)); |
|
123 | 123 | |
|
124 | 124 | // Bind events for selection menu buttons. |
|
125 | $('#tree-selector .select-all').click($.proxy(this.select_all, this)); | |
|
126 | $('#tree-selector .select-notebooks').click($.proxy(this.select_notebooks, this)); | |
|
127 | $('#tree-selector .select-running-notebooks').click($.proxy(this.select_running_notebooks, this)); | |
|
128 | $('#tree-selector .select-files').click($.proxy(this.select_files, this)); | |
|
129 | $('#tree-selector .select-directories').click($.proxy(this.select_directories, this)); | |
|
130 | $('#tree-selector .deselect-all').click($.proxy(this.deselect_all, this)); | |
|
125 | $('#selector-menu').click(function(event){that.select($(event.target).attr('id'))}); | |
|
126 | $('#select-all').change(function(){that.select($(this).is(':checked') ? 'select-all' : 'select-none')}); | |
|
127 | $('#button-select-all').click(function(e) { | |
|
128 | // toggle checkbox if the click doesn't come from the checkbox already | |
|
129 | if (!$(e.target).is('input[type=checkbox]')) { | |
|
130 | var checkbox = $('#select-all'); | |
|
131 | checkbox.prop('checked', !checkbox.prop('checked')); | |
|
132 | that.select(checkbox.prop('checked') ? 'select-all' : 'select-none'); | |
|
133 | } | |
|
134 | }); | |
|
131 | 135 | } |
|
132 | 136 | }; |
|
133 | 137 | |
@@ -377,74 +381,21 b' define([' | |||
|
377 | 381 | }; |
|
378 | 382 | |
|
379 | 383 | /** |
|
380 |
* Select all |
|
|
381 | */ | |
|
382 | NotebookList.prototype.select_all = function() { | |
|
383 | $('.list_item input[type=checkbox]').each(function(index, item) { | |
|
384 | $(item).prop('checked', true); | |
|
385 | }); | |
|
386 | this._selection_changed(); | |
|
387 | }; | |
|
388 | ||
|
389 | /** | |
|
390 | * Select all of the notebooks in the tree. | |
|
391 | */ | |
|
392 | NotebookList.prototype.select_notebooks = function() { | |
|
393 | this.deselect_all(); | |
|
394 | $('.list_item').each(function(index, item) { | |
|
395 | if ($(item).data('type') === 'notebook') { | |
|
396 | $(item).find('input[type=checkbox]').prop('checked', true); | |
|
397 | } | |
|
398 | }); | |
|
399 | this._selection_changed(); | |
|
400 | }; | |
|
401 | ||
|
402 | /** | |
|
403 | * Select all of the running notebooks in the tree. | |
|
384 | * Select all items in the tree of specified type. | |
|
385 | * selection_type : string among "select-all", "select-folders", "select-notebooks", "select-running-notebooks", "select-files" | |
|
386 | * any other string (like "select-none") deselects all items | |
|
404 | 387 | */ |
|
405 |
NotebookList.prototype.select |
|
|
406 | this.deselect_all(); | |
|
388 | NotebookList.prototype.select = function(selection_type) { | |
|
407 | 389 | var that = this; |
|
408 | 390 | $('.list_item').each(function(index, item) { |
|
409 | if ($(item).data('type') === 'notebook' && that.sessions[$(item).data('path')] !== undefined) { | |
|
410 | $(item).find('input[type=checkbox]').prop('checked', true); | |
|
411 | } | |
|
412 | }); | |
|
413 | this._selection_changed(); | |
|
414 | }; | |
|
415 | ||
|
416 | /** | |
|
417 | * Select all of the files in the tree. | |
|
418 | */ | |
|
419 | NotebookList.prototype.select_files = function() { | |
|
420 | this.deselect_all(); | |
|
421 | $('.list_item').each(function(index, item) { | |
|
422 | if ($(item).data('type') === 'file') { | |
|
423 | $(item).find('input[type=checkbox]').prop('checked', true); | |
|
424 | } | |
|
425 | }); | |
|
426 | this._selection_changed(); | |
|
427 | }; | |
|
428 | ||
|
429 | /** | |
|
430 | * Select all of the directories in the tree. | |
|
431 | */ | |
|
432 | NotebookList.prototype.select_directories = function() { | |
|
433 | this.deselect_all(); | |
|
434 | $('.list_item').each(function(index, item) { | |
|
435 | if ($(item).data('type') === 'directory') { | |
|
436 | $(item).find('input[type=checkbox]').prop('checked', true); | |
|
437 | } | |
|
438 | }); | |
|
439 | this._selection_changed(); | |
|
440 | }; | |
|
441 | ||
|
442 | /** | |
|
443 | * Unselect everything selected in the tree. | |
|
444 | */ | |
|
445 | NotebookList.prototype.deselect_all = function() { | |
|
446 | $('.list_item input[type=checkbox]').each(function(index, item) { | |
|
447 | $(item).prop('checked', false); | |
|
391 | var item_type = $(item).data('type'); | |
|
392 | var state = false; | |
|
393 | state = state || (selection_type === "select-all"); | |
|
394 | state = state || (selection_type === "select-folders" && item_type === 'directory'); | |
|
395 | state = state || (selection_type === "select-notebooks" && item_type === 'notebook'); | |
|
396 | state = state || (selection_type === "select-running-notebooks" && item_type === 'notebook' && that.sessions[$(item).data('path')] !== undefined); | |
|
397 | state = state || (selection_type === "select-files" && item_type === 'file'); | |
|
398 | $(item).find('input[type=checkbox]').prop('checked', state); | |
|
448 | 399 | }); |
|
449 | 400 | this._selection_changed(); |
|
450 | 401 | }; |
@@ -466,9 +417,10 b' define([' | |||
|
466 | 417 | $('.list_item :checked').each(function(index, item) { |
|
467 | 418 | var parent = $(item).parent().parent(); |
|
468 | 419 | |
|
469 |
// If the item doesn't have an upload button |
|
|
470 |
// breadcrumbs, it can be selected. |
|
|
471 | if (parent.find('.upload_button').length === 0 && parent.data('path') !== '') { | |
|
420 | // If the item doesn't have an upload button, isn't the | |
|
421 | // breadcrumbs and isn't the parent folder '..', then it can be selected. | |
|
422 | // Breadcrumbs path == ''. | |
|
423 | if (parent.find('.upload_button').length === 0 && parent.data('path') !== '' && parent.data('path') !== utils.url_path_split(that.notebook_path)[0]) { | |
|
472 | 424 | checked++; |
|
473 | 425 | selected.push({ |
|
474 | 426 | name: parent.data('name'), |
@@ -523,7 +475,7 b' define([' | |||
|
523 | 475 | var parent = $(item).parent().parent(); |
|
524 | 476 | // If the item doesn't have an upload button and it's not the |
|
525 | 477 | // breadcrumbs, it can be selected. Breadcrumbs path == ''. |
|
526 | if (parent.find('.upload_button').length === 0 && parent.data('path') !== '') { | |
|
478 | if (parent.find('.upload_button').length === 0 && parent.data('path') !== '' && parent.data('path') !== utils.url_path_split(that.notebook_path)[0]) { | |
|
527 | 479 | total++; |
|
528 | 480 | } |
|
529 | 481 | }); |
@@ -537,6 +489,8 b' define([' | |||
|
537 | 489 | $('#tree-selector input[type=checkbox]').prop('checked', false); |
|
538 | 490 | $('#tree-selector input[type=checkbox]')[0].indeterminate = true; |
|
539 | 491 | } |
|
492 | // Update total counter | |
|
493 | $('#counter-select-all').html(checked===0 ? ' ' : checked); | |
|
540 | 494 | }; |
|
541 | 495 | |
|
542 | 496 | NotebookList.prototype.add_link = function (model, item) { |
@@ -12,7 +12,6 b'' | |||
|
12 | 12 | @btn_small_height: 24px; |
|
13 | 13 | @btn_mini_height: 22px; |
|
14 | 14 | @dark_dashboard_color: @breadcrumb-color; |
|
15 | @list_stripe_color: lighten(@page-backdrop-color,3%); | |
|
16 | 15 | |
|
17 | 16 | // The left padding of the selector button's contents. |
|
18 | 17 | @dashboard-selectorbtn-lpad: 7px; |
@@ -191,13 +190,20 b' input.engine_num_input {' | |||
|
191 | 190 | } |
|
192 | 191 | |
|
193 | 192 | #tree-selector { |
|
194 | display: inline-block; | |
|
195 | 193 | padding-right: 0px; |
|
194 | } | |
|
196 | 195 | |
|
197 | input[type=checkbox] { | |
|
198 | margin-left: @dashboard_lr_pad; | |
|
199 | vertical-align: baseline; | |
|
200 | } | |
|
196 | #button-select-all { | |
|
197 | min-width: 50px; | |
|
198 | } | |
|
199 | ||
|
200 | #select-all { | |
|
201 | margin-left: @dashboard_lr_pad; | |
|
202 | margin-right: 2px; | |
|
203 | } | |
|
204 | ||
|
205 | .menu_icon { | |
|
206 | margin-right: 2px; | |
|
201 | 207 | } |
|
202 | 208 | |
|
203 | 209 | .tab-content .row { |
@@ -76,19 +76,19 b' data-terminals-available="{{terminals_available}}"' | |||
|
76 | 76 | </div> |
|
77 | 77 | <div id="notebook_list"> |
|
78 | 78 | <div id="notebook_list_header" class="row list_header"> |
|
79 |
<div class="dropdown" id= |
|
|
80 | <button class="btn btn-default btn-xs dropdown-toggle" type="button" id="tree-selector-btn" data-toggle="dropdown" aria-expanded="true"> | |
|
81 | <input type='checkbox'></input> | |
|
79 | <div class="btn-group dropdown" id="tree-selector"> | |
|
80 | <button title="Select All / None" type="button" class="btn btn-default btn-xs" id="button-select-all"> | |
|
81 | <input type="checkbox" class="pull-left tree-selector" id="select-all"><span id="counter-select-all"> </span></input> | |
|
82 | </button> | |
|
83 | <button title="Select..." class="btn btn-default btn-xs dropdown-toggle" type="button" id="tree-selector-btn" data-toggle="dropdown" aria-expanded="true"> | |
|
82 | 84 | <span class="caret"></span> |
|
85 | <span class="sr-only">Toggle Dropdown</span> | |
|
83 | 86 | </button> |
|
84 | <ul class="dropdown-menu" role="menu" aria-labelledby="tree-selector-btn"> | |
|
85 | <li role="presentation" class="select-all"><a role="menuitem" tabindex="-1" href="#">Select all</a></li> | |
|
86 | <li role="presentation" class="select-notebooks"><a role="menuitem" tabindex="-1" href="#">Select notebooks</a></li> | |
|
87 |
<li role="presentation" |
|
|
88 |
<li role="presentation" |
|
|
89 | <li role="presentation" class="select-directories"><a role="menuitem" tabindex="-1" href="#">Select directories</a></li> | |
|
90 | <li role="presentation" class="divider"></li> | |
|
91 | <li role="presentation" class="deselect-all"><a role="menuitem" tabindex="-1" href="#">Deselect all</a></li> | |
|
87 | <ul id='selector-menu' class="dropdown-menu" role="menu" aria-labelledby="tree-selector-btn"> | |
|
88 | <li role="presentation"><a id="select-folders" role="menuitem" tabindex="-1" href="#" title="Select All Folders"><i class="menu_icon folder_icon icon-fixed-width"></i> Folders</a></li> | |
|
89 | <li role="presentation"><a id="select-notebooks" role="menuitem" tabindex="-1" href="#" title="Select All Notebooks"><i class="menu_icon notebook_icon icon-fixed-width"></i> All Notebooks</a></li> | |
|
90 | <li role="presentation"><a id="select-running-notebooks" role="menuitem" tabindex="-1" href="#" title="Select Running Notebooks"><i class="menu_icon running_notebook_icon icon-fixed-width"></i> Running</a></li> | |
|
91 | <li role="presentation"><a id="select-files" role="menuitem" tabindex="-1" href="#" title="Select All Files"><i class="menu_icon file_icon icon-fixed-width"></i> Files</a></li> | |
|
92 | 92 | </ul> |
|
93 | 93 | </div> |
|
94 | 94 | <div id="project_name"> |
General Comments 0
You need to be logged in to leave comments.
Login now