From 00e3d43ff5e27107b483ac0c819822277d54c8b1 Mon Sep 17 00:00:00 2001 From: Jason Grout Date: Wed, 21 Mar 2018 18:32:47 -0700 Subject: [PATCH] Update widget menu items in classic Notebook Fixes #1866 --- widgetsnbextension/src/manager.js | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/widgetsnbextension/src/manager.js b/widgetsnbextension/src/manager.js index aeec94373a5..307ce78c3e1 100644 --- a/widgetsnbextension/src/manager.js +++ b/widgetsnbextension/src/manager.js @@ -206,16 +206,13 @@ WidgetManager.prototype._init_actions = function() { }; Jupyter.menubar.actions.register(this.saveWidgetsAction, 'save-with-widgets', 'widgets'); - this.clearWidgetsAction = { + this.closeAllWidgetsAction = { handler: (function() { - delete Jupyter.notebook.metadata.widgets; - Jupyter.menubar.actions.get('jupyter-notebook:save-notebook').handler({ - notebook: Jupyter.notebook - }); - }), - help: 'Clear the widget state information from the notebook' + this.clear_state(); + }).bind(this), + help: 'Close all widgets' }; - Jupyter.menubar.actions.register(this.saveWidgetsAction, 'save-clear-widgets', 'widgets'); + Jupyter.menubar.actions.register(this.closeAllWidgetsAction, 'close-all-widgets', 'widgets'); }; /** @@ -244,11 +241,12 @@ WidgetManager.prototype._init_menu = function() { var divider = document.createElement('ul'); divider.classList.add('divider'); - widgetsSubmenu.appendChild(this._createMenuItem('Save Notebook Widget State', this.saveWidgetsAction)); - widgetsSubmenu.appendChild(this._createMenuItem('Clear Notebook Widget State', this.clearWidgetsAction)); - widgetsSubmenu.appendChild(divider); + widgetsSubmenu.appendChild(this._createMenuItem('Close All Widgets', this.closeAllWidgetsAction)); + widgetsSubmenu.appendChild(divider.cloneNode()); + widgetsSubmenu.appendChild(this._createMenuItem('Save Widgets to Notebook', this.saveWidgetsAction)); + widgetsSubmenu.appendChild(divider.cloneNode()); widgetsSubmenu.appendChild(this._createMenuItem('Download Widget State', saveState.action)); - widgetsSubmenu.appendChild(this._createMenuItem('Embed Widgets', embedWidgets.action)); + widgetsSubmenu.appendChild(this._createMenuItem('Export Widgets to HTML', embedWidgets.action)); }; /**