diff --git a/src/jupyter_contrib_nbextensions/nbextensions/addbefore/main.js b/src/jupyter_contrib_nbextensions/nbextensions/addbefore/main.js index 9d6f786..3367bd9 100644 --- a/src/jupyter_contrib_nbextensions/nbextensions/addbefore/main.js +++ b/src/jupyter_contrib_nbextensions/nbextensions/addbefore/main.js @@ -9,24 +9,24 @@ define([ var load_extension = function() { Jupyter.toolbar.add_buttons_group([ - { - 'label' : 'Insert Cell Above', - 'icon' : 'fa-arrow-circle-o-up', - 'callback': function () { + Jupyter.keyboard_manager.actions.register ({ + 'help' : 'Insert Cell Above', + 'icon' : 'fa-arrow-circle-o-up', + 'handler': function () { Jupyter.notebook.insert_cell_above('code'); Jupyter.notebook.select_prev(); Jupyter.notebook.focus_cell(); } - }, - { - 'label' : 'Insert Cell Below', - 'icon' : 'fa-arrow-circle-o-down', - 'callback': function () { + }, 'insert-cell-above', 'addbefore'), + Jupyter.keyboard_manager.actions.register ({ + 'help' : 'Insert Cell Below', + 'icon' : 'fa-arrow-circle-o-down', + 'handler': function () { Jupyter.notebook.insert_cell_below('code'); Jupyter.notebook.select_next(); Jupyter.notebook.focus_cell(); } - } + }, 'insert-cell-below', 'addbefore'), ]); $('#insert_above_below').remove() diff --git a/src/jupyter_contrib_nbextensions/nbextensions/code_font_size/code_font_size.js b/src/jupyter_contrib_nbextensions/nbextensions/code_font_size/code_font_size.js index 4317bc2..7fec848 100644 --- a/src/jupyter_contrib_nbextensions/nbextensions/code_font_size/code_font_size.js +++ b/src/jupyter_contrib_nbextensions/nbextensions/code_font_size/code_font_size.js @@ -47,20 +47,20 @@ define([ /* * Buttons to increase/decrease code font size */ - { - 'label' : 'Increase code font size', - 'icon' : 'fa-search-plus', - 'callback': function () { + Jupyter.keyboard_manager.actions.register ({ + 'help' : 'Increase code font size', + 'icon' : 'fa-search-plus', + 'handler': function () { $( document ).ready(code_change_fontsize(true)); } - }, - { - 'label' : 'Decrease code font size', - 'icon' : 'fa-search-minus', - 'callback': function () { + }, 'increase-code-font-size', 'code_font_size'), + Jupyter.keyboard_manager.actions.register ({ + 'help' : 'Decrease code font size', + 'icon' : 'fa-search-minus', + 'handler': function () { $( document ).ready(code_change_fontsize(false)); } - } + }, 'decrease-code-font-size', 'code_font_size'), ]); }; diff --git a/src/jupyter_contrib_nbextensions/nbextensions/collapsible_headings/main.js b/src/jupyter_contrib_nbextensions/nbextensions/collapsible_headings/main.js index b33bd12..51a9041 100644 --- a/src/jupyter_contrib_nbextensions/nbextensions/collapsible_headings/main.js +++ b/src/jupyter_contrib_nbextensions/nbextensions/collapsible_headings/main.js @@ -736,6 +736,39 @@ 'uncollapse_all_headings', mod_name ); + action_names.toggle = Jupyter.keyboard_manager.actions.register ({ + handler: function () { + var heading_cell = find_header_cell(Jupyter.notebook.get_selected_cell(), function (cell) { + return cell.element.is(':visible') && !_is_collapsed(cell); + }); + if (is_heading(heading_cell)) { + toggle_heading(heading_cell, true); + Jupyter.notebook.select(Jupyter.notebook.find_cell_index(heading_cell)); + } + }, + help : "Toggle closest heading's collapsed status", + icon : 'fa-angle-double-up', + }, + 'toggle_collapse_heading', mod_name + ); + + action_names.toggle_all = Jupyter.keyboard_manager.actions.register ({ + handler: function () { + var cells = Jupyter.notebook.get_cells(); + for (var ii = 0; ii < cells.length; ii++) { + if (is_heading(cells[ii])) { + Jupyter.keyboard_manager.actions.call(action_names[ + is_collapsed_heading(cells[ii]) ? 'uncollapse_all' : 'collapse_all']); + return; + } + } + }, + help : 'Collapse/uncollapse all headings based on the status of the first', + icon : 'fa-angle-double-up', + }, + 'toggle_collapse_all_headings', mod_name + ); + action_names.select = Jupyter.keyboard_manager.actions.register({ handler : function (env) { var cell = env.notebook.get_selected_cell(); @@ -834,42 +867,10 @@ function add_buttons_and_shortcuts () { // (Maybe) add buttons to the toolbar if (params.add_button) { - Jupyter.toolbar.add_buttons_group([{ - label: 'toggle heading', - icon: 'fa-angle-double-up', - callback: function () { - /** - * Collapse the closest uncollapsed heading above the - * currently selected cell. - */ - var heading_cell = find_header_cell(Jupyter.notebook.get_selected_cell(), function (cell) { - return cell.element.is(':visible') && !_is_collapsed(cell); - }); - if (is_heading(heading_cell)) { - toggle_heading(heading_cell, true); - Jupyter.notebook.select(Jupyter.notebook.find_cell_index(heading_cell)); - } - } - }]); + Jupyter.toolbar.add_buttons_group([action_names.toggle]); } if (params.add_all_cells_button) { - Jupyter.toolbar.add_buttons_group([{ - label: 'toggle all headings', - icon: 'fa-angle-double-up', - callback: function () { - /** - * Collapse/uncollapse all heading cells based on status of first - */ - var cells = Jupyter.notebook.get_cells(); - for (var ii = 0; ii < cells.length; ii++) { - if (is_heading(cells[ii])) { - Jupyter.keyboard_manager.actions.call(action_names[ - is_collapsed_heading(cells[ii]) ? 'uncollapse_all' : 'collapse_all']); - return; - } - } - } - }]); + Jupyter.toolbar.add_buttons_group([action_names.toggle_all]); } if (params.add_insert_header_buttons) { Jupyter.toolbar.add_buttons_group([ diff --git a/src/jupyter_contrib_nbextensions/nbextensions/datestamper/main.js b/src/jupyter_contrib_nbextensions/nbextensions/datestamper/main.js index c981d2b..c884cf7 100644 --- a/src/jupyter_contrib_nbextensions/nbextensions/datestamper/main.js +++ b/src/jupyter_contrib_nbextensions/nbextensions/datestamper/main.js @@ -26,18 +26,18 @@ define([ }; var load_ipython_extension = function () { - IPython.toolbar.add_buttons_group([ - { - id : 'datestamp', - label : 'insert datestamp', - icon : 'fa-calendar', - callback : datestamp - } - ]); + IPython.toolbar.add_buttons_group([{ + id: 'datestamp', + action: IPython.keyboard_manager.actions.register ({ + help : 'insert datestamp', + icon : 'fa-calendar', + handler: datestamp + }, 'insert-datestamp', 'datestamp') + }]); }; var extension = { load_ipython_extension : load_ipython_extension, }; return extension; -}); \ No newline at end of file +}); diff --git a/src/jupyter_contrib_nbextensions/nbextensions/equation-numbering/main.js b/src/jupyter_contrib_nbextensions/nbextensions/equation-numbering/main.js index f0348be..92211f0 100644 --- a/src/jupyter_contrib_nbextensions/nbextensions/equation-numbering/main.js +++ b/src/jupyter_contrib_nbextensions/nbextensions/equation-numbering/main.js @@ -7,16 +7,18 @@ define([ 'require', 'notebook/js/textcell', 'base/js/utils', -], function(IPython, $, require, textcell, utils) { +], function(Jupyter, $, require, textcell, utils) { "use strict"; + var MathJax = window.MathJax; + var load_ipython_extension = function() { - IPython.toolbar.add_buttons_group([ - { - id: 'reset_numbering', - label: 'Reset equation numbering', - icon: 'fa-sort-numeric-asc', - callback: function () { + Jupyter.toolbar.add_buttons_group([{ + id: 'reset_numbering', + action: Jupyter.keyboard_manager.actions.register ({ + help : 'Reset equation numbering', + icon : 'fa-sort-numeric-asc', + handler: function () { MathJax.Hub.Queue( ["resetEquationNumbers", MathJax.InputJax.TeX], ["PreProcess", MathJax.Hub], @@ -24,8 +26,8 @@ define([ ); $('#reset_numbering').blur(); } - } - ]); + }, 'reset-numbering', 'equation_numbering') + }]); MathJax.Hub.Config({ TeX: { equationNumbers: { autoNumber: "AMS" } } }); diff --git a/src/jupyter_contrib_nbextensions/nbextensions/exercise/main.js b/src/jupyter_contrib_nbextensions/nbextensions/exercise/main.js index 0144314..c06e492 100644 --- a/src/jupyter_contrib_nbextensions/nbextensions/exercise/main.js +++ b/src/jupyter_contrib_nbextensions/nbextensions/exercise/main.js @@ -131,17 +131,17 @@ define([ } function load_ipython_extension(){ - IPython.toolbar.add_buttons_group([ - { - id : 'hide_solutions', - label : 'Exercise: Create/Remove solutions', - icon : 'fa-mortar-board', - callback : function () { + IPython.toolbar.add_buttons_group([{ + id: 'hide_solutions', + action: IPython.keyboard_manager.actions.register ({ + help : 'Exercise: Create/Remove solutions', + icon : 'fa-mortar-board', + handler : function () { //console.log(IPython.notebook.get_selected_cells()) hide_solutions(); } - } - ]); + }, 'hide_solutions', 'exercise') + }]); /** * load css file and append to document diff --git a/src/jupyter_contrib_nbextensions/nbextensions/exercise2/main.js b/src/jupyter_contrib_nbextensions/nbextensions/exercise2/main.js index ccea549..0a3eda7 100644 --- a/src/jupyter_contrib_nbextensions/nbextensions/exercise2/main.js +++ b/src/jupyter_contrib_nbextensions/nbextensions/exercise2/main.js @@ -127,16 +127,16 @@ id=\"myCheck' + cbx + '\" >\ } function load_ipython_extension(){ - IPython.toolbar.add_buttons_group([ - { - id : 'process_solution', - label : 'Exercise2: Create/Remove solution', - icon : 'fa-toggle-on', - callback : function () { + IPython.toolbar.add_buttons_group([{ + id: 'process_solution', + action: IPython.keyboard_manager.actions.register ({ + help : 'Exercise2: Create/Remove solution', + icon : 'fa-toggle-on', + handler : function () { process_solution(); } - } - ]); + }, 'process_solution', 'exercise2') + }]); diff --git a/src/jupyter_contrib_nbextensions/nbextensions/export_embedded/main.js b/src/jupyter_contrib_nbextensions/nbextensions/export_embedded/main.js index 43b91c1..279afe0 100644 --- a/src/jupyter_contrib_nbextensions/nbextensions/export_embedded/main.js +++ b/src/jupyter_contrib_nbextensions/nbextensions/export_embedded/main.js @@ -34,12 +34,14 @@ define([ /* Add also a Button, currently disabled */ /* Jupyter.toolbar.add_buttons_group([{ - id : 'export_embeddedhtml', - label : 'Embedded HTML Export', - icon : 'fa-save', - callback : function() { + id: 'export_embeddedhtml', + action: Jupyter.keyboard_manager.actions.register ({ + help : 'Embedded HTML Export', + icon : 'fa-save', + handler: function() { Jupyter.menubar._nbconvert('html_embed', true); } + }, 'export-embedded-html', 'export_embedded') }]); */ if (Jupyter.notebook !== undefined && Jupyter.notebook._fully_loaded) { diff --git a/src/jupyter_contrib_nbextensions/nbextensions/freeze/main.js b/src/jupyter_contrib_nbextensions/nbextensions/freeze/main.js index 8a23173..7efebe6 100644 --- a/src/jupyter_contrib_nbextensions/nbextensions/freeze/main.js +++ b/src/jupyter_contrib_nbextensions/nbextensions/freeze/main.js @@ -160,26 +160,28 @@ define([ } function load_extension () { - Jupyter.toolbar.add_buttons_group([ - { - id : 'make_normal', - label : 'lift restrictions from selected cells', + Jupyter.toolbar.add_buttons_group([{ + id: 'make_normal', + action: Jupyter.keyboard_manager.actions.register ({ + help : 'lift restrictions from selected cells', icon : 'fa-unlock-alt', - callback : make_normal_selected - }, - { - id : 'make_read_only', - label : 'make selected cells read-only', + handler : make_normal_selected + }, 'make-cells-normal', mod_name) + }, { + id: 'make_read_only', + action: Jupyter.keyboard_manager.actions.register({ + help : 'make selected cells read-only', icon: 'fa-lock', - callback : make_read_only_selected - }, - { - id : 'freeze_cells', - label : 'freeze selected cells', + handler : make_read_only_selected + }, 'make-cells-read-only', mod_name), + }, { + id: 'freeze_cells', + action: Jupyter.keyboard_manager.actions.register({ + help : 'freeze selected cells', icon : 'fa-asterisk', - callback : make_frozen_selected - } - ]); + handler : make_frozen_selected + }, 'freeze-cells', mod_name) + }]); patch_CodeCell_execute(); patch_MarkdownCell_unrender(); diff --git a/src/jupyter_contrib_nbextensions/nbextensions/gist_it/main.js b/src/jupyter_contrib_nbextensions/nbextensions/gist_it/main.js index 4e8cb05..6cecb9e 100644 --- a/src/jupyter_contrib_nbextensions/nbextensions/gist_it/main.js +++ b/src/jupyter_contrib_nbextensions/nbextensions/gist_it/main.js @@ -43,11 +43,13 @@ define([ var initialize = function () { update_params(); - Jupyter.toolbar.add_buttons_group([{ - label : 'Create/Edit Gist of Notebook', - icon : 'fa-github', - callback: show_gist_editor_modal - }]); + Jupyter.toolbar.add_buttons_group([ + Jupyter.keyboard_manager.actions.register ({ + help : 'Create/Edit Gist of Notebook', + icon : 'fa-github', + handler: show_gist_editor_modal + }, 'create-gist-from-notebook', 'gist_it') + ]); }; // update params with any specified in the server's config file diff --git a/src/jupyter_contrib_nbextensions/nbextensions/help_panel/help_panel.js b/src/jupyter_contrib_nbextensions/nbextensions/help_panel/help_panel.js index 807b804..c091d23 100644 --- a/src/jupyter_contrib_nbextensions/nbextensions/help_panel/help_panel.js +++ b/src/jupyter_contrib_nbextensions/nbextensions/help_panel/help_panel.js @@ -54,14 +54,16 @@ define([ update_params(); if (params.help_panel_add_toolbar_button) { IPython.toolbar.add_buttons_group([{ - id : 'btn_help_panel', - label : 'Show help panel', - icon : 'fa-book', - callback : function() { - var visible = toggleHelpPanel(); - var btn = $(this); - setTimeout(function() { btn.blur(); }, 500); - } + id: 'btn_help_panel', + action: IPython.keyboard_manager.actions.register({ + help : 'Show help panel', + icon : 'fa-book', + handler: function() { + var visible = toggleHelpPanel(); + var btn = $(this); + setTimeout(function() { btn.blur(); }, 500); + } + }, 'show-help-panel', 'help_panel'), }]); $('#btn_help_panel').attr({ 'data-toggle': 'button', diff --git a/src/jupyter_contrib_nbextensions/nbextensions/hide_header/main.js b/src/jupyter_contrib_nbextensions/nbextensions/hide_header/main.js index d9db225..998ae61 100644 --- a/src/jupyter_contrib_nbextensions/nbextensions/hide_header/main.js +++ b/src/jupyter_contrib_nbextensions/nbextensions/hide_header/main.js @@ -44,7 +44,7 @@ define([ var prefix = 'hide_header'; var action_name = 'toggle'; - var full_action_name = Jupyter.actions.register(action, action_name, prefix); + var full_action_name = Jupyter.keyboard_manager.actions.register(action, action_name, prefix); // define keyboard shortcuts var shortcuts = {}; diff --git a/src/jupyter_contrib_nbextensions/nbextensions/hide_input/main.js b/src/jupyter_contrib_nbextensions/nbextensions/hide_input/main.js index c4ad0e7..dabe19a 100644 --- a/src/jupyter_contrib_nbextensions/nbextensions/hide_input/main.js +++ b/src/jupyter_contrib_nbextensions/nbextensions/hide_input/main.js @@ -32,12 +32,14 @@ define([ // Add a button to the toolbar Jupyter.toolbar.add_buttons_group([{ id: 'btn-hide-input', - label: 'Toggle selected cell input display', - icon: 'fa-chevron-up', - callback: function() { - toggle_selected_input(); - setTimeout(function() { $('#btn-hide-input').blur(); }, 500); - } + action: Jupyter.keyboard_manager.actions.register ({ + help : 'Toggle selected cell input display', + icon : 'fa-chevron-up', + handler: function() { + toggle_selected_input(); + setTimeout(function() { $('#btn-hide-input').blur(); }, 500); + } + }, 'toggle-cell-input-display', 'hide_input') }]); // Collapse all cells that are marked as hidden if (Jupyter.notebook !== undefined && Jupyter.notebook._fully_loaded) { diff --git a/src/jupyter_contrib_nbextensions/nbextensions/hide_input_all/main.js b/src/jupyter_contrib_nbextensions/nbextensions/hide_input_all/main.js index 3e797e4..b0abeda 100644 --- a/src/jupyter_contrib_nbextensions/nbextensions/hide_input_all/main.js +++ b/src/jupyter_contrib_nbextensions/nbextensions/hide_input_all/main.js @@ -37,13 +37,15 @@ define([ var load_ipython_extension = function() { Jupyter.toolbar.add_buttons_group([{ - id : 'toggle_codecells', - label : 'Hide codecell inputs', - icon : 'fa-eye', - callback : function() { - toggle(); - setTimeout(function() { $('#toggle_codecells').blur(); }, 500); - } + id: 'toggle_codecells', + action: Jupyter.keyboard_manager.actions.register ({ + help : 'Hide codecell inputs', + icon : 'fa-eye', + handler: function() { + toggle(); + setTimeout(function() { $('#toggle_codecells').blur(); }, 500); + } + }, 'hide-codecell-inputs', 'hide_input_all'), }]); if (Jupyter.notebook !== undefined && Jupyter.notebook._fully_loaded) { // notebook_loaded.Notebook event has already happened diff --git a/src/jupyter_contrib_nbextensions/nbextensions/nbTranslate/main.js b/src/jupyter_contrib_nbextensions/nbextensions/nbTranslate/main.js index f4f0786..44de751 100644 --- a/src/jupyter_contrib_nbextensions/nbextensions/nbTranslate/main.js +++ b/src/jupyter_contrib_nbextensions/nbextensions/nbTranslate/main.js @@ -59,17 +59,21 @@ define(function(require, exports, module) { function showToolbar() { if ($('#showToolbar').length == 0) { - Jupyter.toolbar.add_buttons_group([{ - 'label': 'Translate current cell', - 'icon': 'fa-language', - 'callback': translateCurrentCell, - 'id': 'showToolbar' - }, - { - 'label': 'nbTranslate: Configuration (toggle toolbar)', - 'icon': 'fa-wrench', - 'callback': translateToolbarToggle //translateToolbar - }]); + Jupyter.toolbar.add_buttons_group([ + { + id: 'showToolbar', + action: Jupyter.keyboard_manager.actions.register ({ + 'help' : 'Translate current cell', + 'icon' : 'fa-language', + 'handler': translateCurrentCell, + }, 'translate-cell', 'nbTranslate'), + }, + Jupyter.keyboard_manager.actions.register ({ + 'help' : 'nbTranslate: Configuration (toggle toolbar)', + 'icon' : 'fa-wrench', + 'handler': translateToolbarToggle //translateToolbar + }, 'show-nbTranslate-toolbar', 'nbTranslate'), + ]); } } diff --git a/src/jupyter_contrib_nbextensions/nbextensions/notify/notify.js b/src/jupyter_contrib_nbextensions/nbextensions/notify/notify.js index c153682..383ba3c 100644 --- a/src/jupyter_contrib_nbextensions/nbextensions/notify/notify.js +++ b/src/jupyter_contrib_nbextensions/nbextensions/notify/notify.js @@ -64,14 +64,14 @@ define([ var add_permissions_button = function () { if ($("#permissions-button").length === 0) { - Jupyter.toolbar.add_buttons_group([ - { - 'label' : 'Grant Notification Permissions', - 'icon' : 'fa-check', - 'callback': ask_permission, - 'id' : 'permissions-button' - }, - ]); + Jupyter.toolbar.add_buttons_group([{ + id: 'permissions-button', + action: Jupyter.keyboard_manager.actions.register ({ + 'help' : 'Grant Notification Permissions', + 'icon' : 'fa-check', + 'handler': ask_permission, + },'grant-notifications-permission', 'notify') + }]); } }; diff --git a/src/jupyter_contrib_nbextensions/nbextensions/printview/main.js b/src/jupyter_contrib_nbextensions/nbextensions/printview/main.js index 02811de..092170a 100644 --- a/src/jupyter_contrib_nbextensions/nbextensions/printview/main.js +++ b/src/jupyter_contrib_nbextensions/nbextensions/printview/main.js @@ -59,14 +59,14 @@ define([ }; var load_ipython_extension = function() { - IPython.toolbar.add_buttons_group([ - { - id: 'doPrintView', - label: 'Create static print view', - icon: 'fa-print', - callback: nbconvertPrintView - } - ]); + IPython.toolbar.add_buttons_group([{ + id: 'doPrintView', + action: IPython.keyboard_manager.actions.register ({ + help : 'Create static print view', + icon : 'fa-print', + handler: nbconvertPrintView + }, 'create-static-printview', 'printview'), + }]); return IPython.notebook.config.loaded.then(initialize); }; diff --git a/src/jupyter_contrib_nbextensions/nbextensions/qtconsole/qtconsole.js b/src/jupyter_contrib_nbextensions/nbextensions/qtconsole/qtconsole.js index a5ba3c4..96fa48d 100644 --- a/src/jupyter_contrib_nbextensions/nbextensions/qtconsole/qtconsole.js +++ b/src/jupyter_contrib_nbextensions/nbextensions/qtconsole/qtconsole.js @@ -5,19 +5,19 @@ define([ 'base/js/events' ], function(Jupyter, events) { var load_ipython_extension = function () { - Jupyter.toolbar.add_buttons_group([ + Jupyter.toolbar.add_buttons_group([{ /** * Button to launch QTConsole */ - { - 'id' : 'qtconsole', - 'label' : 'Run QTConsole', - 'icon' : 'fa-terminal', - 'callback': function () { + id: 'qtconsole', + action: Jupyter.keyboard_manager.actions.register ({ + 'help' : 'Run QTConsole', + 'icon' : 'fa-terminal', + 'handler': function () { Jupyter.notebook.kernel.execute('%qtconsole') } - } - ]); + }, 'run-qtconsole', 'qtconsole') + }]); }; return { load_ipython_extension : load_ipython_extension diff --git a/src/jupyter_contrib_nbextensions/nbextensions/runtools/main.js b/src/jupyter_contrib_nbextensions/nbextensions/runtools/main.js index c021ee5..977f884 100644 --- a/src/jupyter_contrib_nbextensions/nbextensions/runtools/main.js +++ b/src/jupyter_contrib_nbextensions/nbextensions/runtools/main.js @@ -77,13 +77,14 @@ define([ add_gutter_events(); /* Add run control buttons to toolbar */ - Jupyter.toolbar.add_buttons_group([ - Jupyter.actions.register ({ + Jupyter.toolbar.add_buttons_group([{ + id: 'toggle_runtools', + action: Jupyter.keyboard_manager.actions.register ({ help: 'Toggle Runtools Toolbar', icon: 'fa-cogs', handler: toggle_toolbar - }, 'toggle_runtools') - ]); + }, 'toggle-runtools-toolbar', 'runtools') + }]); $("#toggle_runtools").css({ 'outline': 'none' }); diff --git a/src/jupyter_contrib_nbextensions/nbextensions/scroll_down/main.js b/src/jupyter_contrib_nbextensions/nbextensions/scroll_down/main.js index 9dd8b3c..ed3be74 100644 --- a/src/jupyter_contrib_nbextensions/nbextensions/scroll_down/main.js +++ b/src/jupyter_contrib_nbextensions/nbextensions/scroll_down/main.js @@ -28,14 +28,14 @@ define([ } function load_extension() { - Jupyter.toolbar.add_buttons_group([ - { - id: 'toggle_scroll_down', - label: 'toggle automatic scrolling down', - icon: 'fa-angle-double-down ', - callback: toggleScrollDown - } - ]); + Jupyter.toolbar.add_buttons_group([{ + id: 'toggle_scroll_down', + action: Jupyter.keyboard_manager.actions.register({ + help : 'toggle automatic scrolling down', + icon : 'fa-angle-double-down ', + handler: toggleScrollDown + }, 'toggle-auto-scroll-down', 'scroll_down') + }]); console.log("[ScrollDown] is loaded"); diff --git a/src/jupyter_contrib_nbextensions/nbextensions/spellchecker/main.js b/src/jupyter_contrib_nbextensions/nbextensions/spellchecker/main.js index 1e8a6c4..f6081f9 100644 --- a/src/jupyter_contrib_nbextensions/nbextensions/spellchecker/main.js +++ b/src/jupyter_contrib_nbextensions/nbextensions/spellchecker/main.js @@ -149,15 +149,17 @@ define([ */ function add_toolbar_buttons () { return Jupyter.toolbar.add_buttons_group([{ - label : 'Toggle spell checking on markdown cells', - icon : 'fa-check', - callback : function (evt) { - toggle_spellcheck(); - setTimeout(function () { - evt.currentTarget.blur(); - }, 100); - }, - id : 'spellchecker_btn' + id: 'spellchecker_btn', + action: Jupyter.keyboard_manager.actions.register ({ + help : 'Toggle spell checking on markdown cells', + icon : 'fa-check', + handler: function (evt) { + toggle_spellcheck(); + setTimeout(function () { + evt.currentTarget.blur(); + }, 100); + } + }, 'toggle-spellchecking', 'spellchecker') }]); } diff --git a/src/jupyter_contrib_nbextensions/nbextensions/toc2/main.js b/src/jupyter_contrib_nbextensions/nbextensions/toc2/main.js index 3d2861d..8aaba80 100644 --- a/src/jupyter_contrib_nbextensions/nbextensions/toc2/main.js +++ b/src/jupyter_contrib_nbextensions/nbextensions/toc2/main.js @@ -126,10 +126,12 @@ define([ } if ($("#toc_button").length === 0) { IPython.toolbar.add_buttons_group([{ - 'label': 'Table of Contents', - 'icon': 'fa-list', - 'callback': toggleToc, - 'id': 'toc_button' + id: 'toc_button', + action: Jupyter.keyboard_manager.actions.register ({ + 'help' : 'Table of Contents', + 'icon' : 'fa-list', + 'handler': toggleToc, + }, 'toggle-toc', 'toc2') }]); } }; diff --git a/src/jupyter_contrib_nbextensions/nbextensions/varInspector/main.js b/src/jupyter_contrib_nbextensions/nbextensions/varInspector/main.js index c440c10..23df7e0 100644 --- a/src/jupyter_contrib_nbextensions/nbextensions/varInspector/main.js +++ b/src/jupyter_contrib_nbextensions/nbextensions/varInspector/main.js @@ -101,10 +101,12 @@ define([ } if ($("#varInspector_button").length === 0) { Jupyter.toolbar.add_buttons_group([{ - 'label': 'Variable Inspector', - 'icon': 'fa-crosshairs', - 'callback': toggleVarInspector, - 'id': 'varInspector_button' + id: 'varInspector_button', + action: Jupyter.keyboard_manager.actions.register ({ + 'help' : 'Variable Inspector', + 'icon' : 'fa-crosshairs', + 'handler': toggleVarInspector, + }, 'toggle-variable-inspector', 'varInspector') }]); } }; diff --git a/src/jupyter_contrib_nbextensions/nbextensions/zenmode/main.js b/src/jupyter_contrib_nbextensions/nbextensions/zenmode/main.js index aa23b3a..41a732c 100644 --- a/src/jupyter_contrib_nbextensions/nbextensions/zenmode/main.js +++ b/src/jupyter_contrib_nbextensions/nbextensions/zenmode/main.js @@ -162,18 +162,18 @@ define([ var load_ipython_extension = function(background) { IPython.toolbar.add_buttons_group([{ - 'label' : 'Enter/Exit Zenmode', + id: 'zenmode-toggle-btn', + action: IPython.keyboard_manager.actions.register({ + 'help' : 'Enter/Exit Zenmode', 'icon' : 'fa-empire', - 'callback': function() { + 'handler': function() { toggleZenMode(background); setTimeout(function () { $('#zenmode-toggle-btn').blur(); }, 500); }, - 'id' : 'zenmode-toggle-btn' - }], - 'zenmode-btn-grp' - ); + }, 'toggle-zenmode', 'zenmode'), + }], 'zenmode-btn-grp'); $("#maintoolbar-container").prepend($('#zenmode-btn-grp')); return IPython.notebook.config.loaded.then(initialize); };