From 73a64bbf12a538f55f6f5cfdf0770eefbfcd1ab9 Mon Sep 17 00:00:00 2001 From: Jason Weill Date: Wed, 23 Mar 2022 16:53:23 -0700 Subject: [PATCH 01/57] Incorporates files from retrolab PR 275 and fix rebase changes --- packages/application-extension/src/index.ts | 179 ++++++- packages/application/src/shell.ts | 476 ++++++++++++++++-- packages/application/style/base.css | 3 + packages/application/style/sidepanel.css | 37 ++ packages/application/test/shell.spec.ts | 125 ++++- .../top-hidden-darwin.png | Bin 0 -> 30085 bytes 6 files changed, 774 insertions(+), 46 deletions(-) create mode 100644 packages/application/style/sidepanel.css create mode 100644 ui-tests/test/settings.spec.ts-snapshots/top-hidden-darwin.png diff --git a/packages/application-extension/src/index.ts b/packages/application-extension/src/index.ts index eb3d469d1c..09c2769fb4 100644 --- a/packages/application-extension/src/index.ts +++ b/packages/application-extension/src/index.ts @@ -44,7 +44,17 @@ import { PromiseDelegate } from '@lumino/coreutils'; import { DisposableDelegate, DisposableSet } from '@lumino/disposable'; -import { Widget } from '@lumino/widgets'; +import { Menu, Widget } from '@lumino/widgets'; + +/** + * The default notebook factory. + */ +const NOTEBOOK_FACTORY = 'Notebook'; + +/** + * The editor factory. + */ +const EDITOR_FACTORY = 'Editor'; /** * A regular expression to match path to notebooks and documents @@ -65,6 +75,11 @@ namespace CommandIDs { */ export const toggleTop = 'application:toggle-top'; + /** + * Toggle sidebar visibility + */ + export const togglePanel = 'application:toggle-panel'; + /** * Toggle the Zen mode */ @@ -91,6 +106,13 @@ namespace CommandIDs { export const resolveTree = 'application:resolve-tree'; } +/** + * Are the left and right panels available on the current page? + */ +const sidePanelsEnabled: () => boolean = () => { + return PageConfig.getOption('notebookPage') === 'notebooks'; +}; + /** * Check if the application is dirty before closing the browser tab. */ @@ -153,10 +175,12 @@ const opener: JupyterFrontEndPlugin = { id: '@jupyter-notebook/application-extension:opener', autoStart: true, requires: [IRouter, IDocumentManager], + optional: [ISettingRegistry], activate: ( app: JupyterFrontEnd, router: IRouter, - docManager: IDocumentManager + docManager: IDocumentManager, + settingRegistry: ISettingRegistry | null ): void => { const { commands } = app; @@ -171,12 +195,21 @@ const opener: JupyterFrontEndPlugin = { } const file = decodeURIComponent(path); - const urlParams = new URLSearchParams(parsed.search); - const factory = urlParams.get('factory') ?? 'default'; + const ext = PathExt.extname(file); app.restored.then(async () => { - docManager.open(file, factory, undefined, { - ref: '_noref' - }); + // TODO: get factory from file type instead? + if (ext === '.ipynb') { + // TODO: fix upstream? + await settingRegistry?.load('@jupyterlab/notebook-extension:panel'); + await Promise.resolve(); + docManager.open(file, NOTEBOOK_FACTORY, undefined, { + ref: '_noref' + }); + } else { + docManager.open(file, EDITOR_FACTORY, undefined, { + ref: '_noref' + }); + } }); } }); @@ -198,7 +231,7 @@ const menus: JupyterFrontEndPlugin = { // always disable the Tabs menu menu.tabsMenu.dispose(); - const page = PageConfig.getOption('notebookPage'); + const page = PageConfig.getOption('retroPage'); switch (page) { case 'consoles': case 'terminals': @@ -557,6 +590,135 @@ const topVisibility: JupyterFrontEndPlugin = { autoStart: true }; +/** + * Plugin to toggle the left or right sidebar's visibility. + */ +const sidebarVisibility: JupyterFrontEndPlugin = { + id: '@jupyter-notebook/application-extension:sidebar', + requires: [INotebookShell, ITranslator], + optional: [IMainMenu, ISettingRegistry], + activate: ( + app: JupyterFrontEnd, + notebookShell: INotebookShell, + translator: ITranslator, + menu: IMainMenu | null, + settingRegistry: ISettingRegistry | null + ) => { + if (!sidePanelsEnabled()) { + return; + } + + const trans = translator.load('notebook'); + + /* Arguments for togglePanel command: + * side, left or right area + * title, widget title to show in the menu + * id, widget ID to activate in the sidebar + */ + app.commands.addCommand(CommandIDs.togglePanel, { + label: args => args['title'] as string, + caption: args => { + // We do not substitute the parameter into the string because the parameter is not + // localized (e.g., it is always 'left') even though the string is localized. + if (args['side'] === 'left') { + return trans.__( + 'Show %1 in the left sidebar', + args['title'] as string + ); + } else if (args['side'] === 'right') { + return trans.__( + 'Show %1 in the right sidebar', + args['title'] as string + ); + } + return trans.__('Show %1 in the sidebar', args['title'] as string); + }, + execute: args => { + switch (args['side'] as string) { + case 'left': + if (notebookShell.leftCollapsed) { + notebookShell.activateById(args['id'] as string); + notebookShell.expandLeft(); + } else { + notebookShell.collapseLeft(); + if (notebookShell.currentWidget) { + notebookShell.activateById(notebookShell.currentWidget.id); + } + } + break; + case 'right': + if (notebookShell.rightCollapsed) { + notebookShell.activateById(args['id'] as string); + notebookShell.expandRight(); + } else { + notebookShell.collapseRight(); + if (notebookShell.currentWidget) { + notebookShell.activateById(notebookShell.currentWidget.id); + } + } + break; + } + }, + isToggled: args => { + if (notebookShell.leftCollapsed) { + return false; + } + const currentWidget = notebookShell.leftHandler.current; + if (!currentWidget) { + return false; + } + + return currentWidget.id === (args['id'] as string); + } + }); + + const leftSidebarMenu = new Menu({ commands: app.commands }); + leftSidebarMenu.title.label = trans.__('Show Left Sidebar'); + + const rightSidebarMenu = new Menu({ commands: app.commands }); + rightSidebarMenu.title.label = trans.__('Show Right Sidebar'); + + app.restored.then(() => { + const leftWidgets = notebookShell.widgetsList('left'); + leftWidgets.forEach(widget => { + leftSidebarMenu.addItem({ + command: CommandIDs.togglePanel, + args: { + side: 'left', + title: widget.title.caption, + id: widget.id + } + }); + }); + + const rightWidgets = notebookShell.widgetsList('right'); + rightWidgets.forEach(widget => { + rightSidebarMenu.addItem({ + command: CommandIDs.togglePanel, + args: { + side: 'right', + title: widget.title.caption, + id: widget.id + } + }); + }); + + const menuItemsToAdd: Menu.IItemOptions[] = []; + if (leftWidgets.length > 0) { + menuItemsToAdd.push({ type: 'submenu', submenu: leftSidebarMenu }); + } + if (rightWidgets.length > 0) { + menuItemsToAdd.push({ type: 'submenu', submenu: rightSidebarMenu }); + } + + if (menu && menuItemsToAdd) { + menu.viewMenu.addGroup(menuItemsToAdd, 2); + } + }); + }, + autoStart: true +}; + /** * The default tree route resolver plugin. */ @@ -711,6 +873,7 @@ const plugins: JupyterFrontEndPlugin[] = [ router, sessionDialogs, shell, + sidebarVisibility, status, tabTitle, title, diff --git a/packages/application/src/shell.ts b/packages/application/src/shell.ts index 395362f392..a3d99fa487 100644 --- a/packages/application/src/shell.ts +++ b/packages/application/src/shell.ts @@ -2,18 +2,23 @@ // Distributed under the terms of the Modified BSD License. import { JupyterFrontEnd } from '@jupyterlab/application'; - +import { PageConfig } from '@jupyterlab/coreutils'; import { DocumentRegistry } from '@jupyterlab/docregistry'; -import { ArrayExt } from '@lumino/algorithm'; - +import { ArrayExt, find } from '@lumino/algorithm'; import { Token } from '@lumino/coreutils'; - import { Message, MessageLoop, IMessageHandler } from '@lumino/messaging'; - +import { Debouncer } from '@lumino/polling'; import { ISignal, Signal } from '@lumino/signaling'; -import { Panel, Widget, BoxLayout } from '@lumino/widgets'; +import { + BoxLayout, + Layout, + Panel, + SplitPanel, + StackedPanel, + Widget +} from '@lumino/widgets'; /** * The Jupyter Notebook application shell token. @@ -40,39 +45,99 @@ export class NotebookShell extends Widget implements JupyterFrontEnd.IShell { super(); this.id = 'main'; - const rootLayout = new BoxLayout(); - this._topHandler = new Private.PanelHandler(); this._menuHandler = new Private.PanelHandler(); + this._leftHandler = new Private.SideBarHandler(); + this._rightHandler = new Private.SideBarHandler(); this._main = new Panel(); + const topWrapper = (this._topWrapper = new Panel()); + const menuWrapper = (this._menuWrapper = new Panel()); this._topHandler.panel.id = 'top-panel'; this._menuHandler.panel.id = 'menu-panel'; this._main.id = 'main-panel'; + this._spacer = new Widget(); + this._spacer.id = 'spacer-widget'; + // create wrappers around the top and menu areas - const topWrapper = (this._topWrapper = new Panel()); topWrapper.id = 'top-panel-wrapper'; topWrapper.addWidget(this._topHandler.panel); - const menuWrapper = (this._menuWrapper = new Panel()); menuWrapper.id = 'menu-panel-wrapper'; menuWrapper.addWidget(this._menuHandler.panel); - BoxLayout.setStretch(topWrapper, 0); - BoxLayout.setStretch(menuWrapper, 0); + BoxLayout.setStretch(this._topWrapper, 0); + BoxLayout.setStretch(this._menuWrapper, 0); + + if (this.sidePanelsVisible()) { + this.layout = this.initLayoutWithSidePanels(); + } else { + this.layout = this.initLayoutWithoutSidePanels(); + } + } + + initLayoutWithoutSidePanels(): Layout { + const rootLayout = new BoxLayout(); + BoxLayout.setStretch(this._main, 1); this._spacer = new Widget(); this._spacer.id = 'spacer-widget'; rootLayout.spacing = 0; - rootLayout.addWidget(topWrapper); - rootLayout.addWidget(menuWrapper); + rootLayout.addWidget(this._topWrapper); + rootLayout.addWidget(this._menuWrapper); rootLayout.addWidget(this._spacer); rootLayout.addWidget(this._main); - this.layout = rootLayout; + return rootLayout; + } + + initLayoutWithSidePanels(): Layout { + const rootLayout = new BoxLayout(); + const leftHandler = this._leftHandler; + const rightHandler = this._rightHandler; + const mainPanel = this._main; + + this.leftPanel.id = 'jp-left-stack'; + this.rightPanel.id = 'jp-right-stack'; + + // Hide the side panels by default. + leftHandler.hide(); + rightHandler.hide(); + + // TODO: Consider storing this as an attribute this._hsplitPanel if saving/restoring layout needed + const hsplitPanel = new SplitPanel(); + hsplitPanel.id = 'main-split-panel'; + hsplitPanel.spacing = 1; + + // Catch current changed events on the side handlers. + leftHandler.updated.connect(this._onLayoutModified, this); + rightHandler.updated.connect(this._onLayoutModified, this); + + BoxLayout.setStretch(hsplitPanel, 1); + + SplitPanel.setStretch(leftHandler.stackedPanel, 0); + SplitPanel.setStretch(rightHandler.stackedPanel, 0); + SplitPanel.setStretch(mainPanel, 1); + + hsplitPanel.addWidget(leftHandler.stackedPanel); + hsplitPanel.addWidget(mainPanel); + hsplitPanel.addWidget(rightHandler.stackedPanel); + + // Use relative sizing to set the width of the side panels. + // This will still respect the min-size of children widget in the stacked + // panel. + hsplitPanel.setRelativeSizes([1, 2.5, 1]); + + rootLayout.spacing = 0; + rootLayout.addWidget(this._topWrapper); + rootLayout.addWidget(this._menuWrapper); + rootLayout.addWidget(this._spacer); + rootLayout.addWidget(hsplitPanel); + + return rootLayout; } /** @@ -103,13 +168,62 @@ export class NotebookShell extends Widget implements JupyterFrontEnd.IShell { return this._menuWrapper; } + /** + * Get the left area handler + */ + get leftHandler(): Private.SideBarHandler { + return this._leftHandler; + } + + /** + * Get the right area handler + */ + get rightHandler(): Private.SideBarHandler { + return this._rightHandler; + } + + /** + * Shortcut to get the left area handler's stacked panel + */ + get leftPanel(): StackedPanel { + return this._leftHandler.stackedPanel; + } + + /** + * Shortcut to get the right area handler's stacked panel + */ + get rightPanel(): StackedPanel { + return this._rightHandler.stackedPanel; + } + + /** + * Is the left sidebar visible? + */ + get leftCollapsed(): boolean { + return !(this._leftHandler.isVisible && this.leftPanel.isVisible); + } + + /** + * Is the right sidebar visible? + */ + get rightCollapsed(): boolean { + return !(this._rightHandler.isVisible && this.rightPanel.isVisible); + } + /** * Activate a widget in its area. */ activateById(id: string): void { - const widget = this._main.widgets.find(w => w.id === id); - if (widget) { - widget.activate(); + // Search all areas that can have widgets for this widget, starting with main. + for (const area of ['main', 'top', 'left', 'right', 'menu']) { + if ((area === 'left' || area === 'right') && !this.sidePanelsVisible()) { + continue; + } + + const widget = find(this.widgets(area), w => w.id === id); + if (widget) { + widget.activate(); + } } } @@ -126,24 +240,37 @@ export class NotebookShell extends Widget implements JupyterFrontEnd.IShell { */ add( widget: Widget, - area?: Shell.Area, + area?: string, options?: DocumentRegistry.IOpenOptions ): void { const rank = options?.rank ?? DEFAULT_RANK; - if (area === 'top') { - return this._topHandler.addWidget(widget, rank); - } - if (area === 'menu') { - return this._menuHandler.addWidget(widget, rank); - } - if (area === 'main' || area === undefined) { - if (this._main.widgets.length > 0) { - // do not add the widget if there is already one - return; - } - this._main.addWidget(widget); - this._main.update(); - this._currentChanged.emit(void 0); + switch (area) { + case 'top': + return this._topHandler.addWidget(widget, rank); + case 'menu': + return this._menuHandler.addWidget(widget, rank); + case 'main': + case undefined: + if (this._main.widgets.length > 0) { + // do not add the widget if there is already one + return; + } + this._main.addWidget(widget); + this._main.update(); + this._currentChanged.emit(void 0); + break; + case 'left': + if (this.sidePanelsVisible()) { + return this._leftHandler.addWidget(widget, rank); + } + throw new Error(`${area} area is not available on this page`); + case 'right': + if (this.sidePanelsVisible()) { + return this._rightHandler.addWidget(widget, rank); + } + throw new Error(`${area} area is not available on this page`); + default: + throw new Error(`Cannot add widget to area: ${area}`); } } @@ -179,16 +306,126 @@ export class NotebookShell extends Widget implements JupyterFrontEnd.IShell { case 'main': yield* this._main.widgets; return; + } + } + + /** + * Expand the left panel to show the sidebar with its widget. + */ + expandLeft(): void { + if (!this.sidePanelsVisible()) { + throw new Error('Left panel is not available on this page'); + } + this.leftPanel.show(); + this._leftHandler.expand(); // Show the current widget, if any + this._onLayoutModified(); + } + + /** + * Collapse the left panel + */ + collapseLeft(): void { + if (!this.sidePanelsVisible()) { + throw new Error('Left panel is not available on this page'); + } + this._leftHandler.collapse(); + this.leftPanel.hide(); + this._onLayoutModified(); + } + + /** + * Expand the right panel to show the sidebar with its widget. + */ + expandRight(): void { + if (!this.sidePanelsVisible()) { + throw new Error('Right panel is not available on this page'); + } + this.rightPanel.show(); + this._rightHandler.expand(); // Show the current widget, if any + this._onLayoutModified(); + } + + /** + * Collapse the right panel + */ + collapseRight(): void { + if (!this.sidePanelsVisible()) { + throw new Error('Right panel is not available on this page'); + } + this._rightHandler.collapse(); + this.rightPanel.hide(); + this._onLayoutModified(); + } + + widgetsList(area?: string): readonly Widget[] { + switch (area ?? 'main') { + case 'top': + return this._topHandler.panel.widgets; + case 'menu': + return this._menuHandler.panel.widgets; + case 'main': + return this._main.widgets; + case 'left': + if (this.sidePanelsVisible()) { + return this._leftHandler.stackedPanel.widgets; + } + throw new Error(`Invalid area: ${area}`); + case 'right': + if (this.sidePanelsVisible()) { + return this._rightHandler.stackedPanel.widgets; + } + throw new Error(`Invalid area: ${area}`); default: console.error(`This shell has no area called "${area}"`); return; } } + /** + * Return the list of widgets for the given area. + * + * @param area The area + */ + // widgets(area?: string): IIterator { + // return iter(this.widgetsList(area)); + // } + + /** + * Is a particular area empty (no widgets)? + * + * @param area Named area in the application + * @returns true if area has no widgets, false if at least one widget is present + */ + isEmpty(area: Shell.Area): boolean { + return this.widgetsList(area).length === 0; + } + + /** + * Can the shell display a left or right panel? + * + * @returns True if the left and right side panels could be shown, false otherwise + */ + sidePanelsVisible(): boolean { + return PageConfig.getOption('notebookPage') === 'notebooks'; + } + + /** + * Handle a change to the layout. + */ + private _onLayoutModified(): void { + void this._layoutDebouncer.invoke(); + } + + private _layoutModified = new Signal(this); + private _layoutDebouncer = new Debouncer(() => { + this._layoutModified.emit(undefined); + }, 0); private _topWrapper: Panel; private _topHandler: Private.PanelHandler; private _menuWrapper: Panel; private _menuHandler: Private.PanelHandler; + private _leftHandler: Private.SideBarHandler; + private _rightHandler: Private.SideBarHandler; private _spacer: Widget; private _main: Panel; private _currentChanged = new Signal(this); @@ -201,7 +438,7 @@ export namespace Shell { /** * The areas of the application shell where widgets can reside. */ - export type Area = 'main' | 'top' | 'menu'; + export type Area = 'main' | 'top' | 'left' | 'right' | 'menu'; } /** @@ -293,4 +530,175 @@ namespace Private { private _items = new Array(); private _panel = new Panel(); } + + /** + * A class which manages a side bar that can show at most one widget at a time. + */ + export class SideBarHandler { + /** + * Construct a new side bar handler. + */ + constructor() { + this._stackedPanel = new StackedPanel(); + this._stackedPanel.hide(); + this._current = null; + this._lastCurrent = null; + this._stackedPanel.widgetRemoved.connect(this._onWidgetRemoved, this); + } + + get current(): Widget | null { + return ( + this._current || + this._lastCurrent || + (this._items.length > 0 ? this._items[0].widget : null) + ); + } + + /** + * Whether the panel is visible + */ + get isVisible(): boolean { + return this._stackedPanel.isVisible; + } + + /** + * Get the stacked panel managed by the handler + */ + get stackedPanel(): StackedPanel { + return this._stackedPanel; + } + + /** + * Signal fires when the stacked panel changes + */ + get updated(): ISignal { + return this._updated; + } + + /** + * Expand the sidebar. + * + * #### Notes + * This will open the most recently used widget, or the first widget + * if there is no most recently used. + */ + expand(): void { + const visibleWidget = this.current; + if (visibleWidget) { + this._current = visibleWidget; + this.activate(visibleWidget.id); + } + } + + /** + * Activate a widget residing in the stacked panel by ID. + * + * @param id - The widget's unique ID. + */ + activate(id: string): void { + const widget = this._findWidgetByID(id); + if (widget) { + this._current = widget; + widget.show(); + widget.activate(); + } + } + + /** + * Test whether the sidebar has the given widget by id. + */ + has(id: string): boolean { + return this._findWidgetByID(id) !== null; + } + + /** + * Collapse the sidebar so no items are expanded. + */ + collapse(): void { + this._current = null; + } + + /** + * Add a widget and its title to the stacked panel. + * + * If the widget is already added, it will be moved. + */ + addWidget(widget: Widget, rank: number): void { + widget.parent = null; + widget.hide(); + const item = { widget, rank }; + const index = this._findInsertIndex(item); + ArrayExt.insert(this._items, index, item); + this._stackedPanel.insertWidget(index, widget); + + // TODO: Update menu to include widget in appropriate position + + this._refreshVisibility(); + } + + /** + * Hide the side panel + */ + hide(): void { + this._isHiddenByUser = true; + this._refreshVisibility(); + } + + /** + * Show the side panel + */ + show(): void { + this._isHiddenByUser = false; + this._refreshVisibility(); + } + + /** + * Find the insertion index for a rank item. + */ + private _findInsertIndex(item: Private.IRankItem): number { + return ArrayExt.upperBound(this._items, item, Private.itemCmp); + } + + /** + * Find the index of the item with the given widget, or `-1`. + */ + private _findWidgetIndex(widget: Widget): number { + return ArrayExt.findFirstIndex(this._items, i => i.widget === widget); + } + + /** + * Find the widget with the given id, or `null`. + */ + private _findWidgetByID(id: string): Widget | null { + const item = find(this._items, value => value.widget.id === id); + return item ? item.widget : null; + } + + /** + * Refresh the visibility of the stacked panel. + */ + private _refreshVisibility(): void { + this._stackedPanel.setHidden(this._isHiddenByUser); + this._updated.emit(); + } + + /* + * Handle the `widgetRemoved` signal from the panel. + */ + private _onWidgetRemoved(sender: StackedPanel, widget: Widget): void { + if (widget === this._lastCurrent) { + this._lastCurrent = null; + } + ArrayExt.removeAt(this._items, this._findWidgetIndex(widget)); + // TODO: Remove the widget from the menu + this._refreshVisibility(); + } + + private _isHiddenByUser = false; + private _items = new Array(); + private _stackedPanel: StackedPanel; + private _current: Widget | null; + private _lastCurrent: Widget | null; + private _updated: Signal = new Signal(this); + } } diff --git a/packages/application/style/base.css b/packages/application/style/base.css index 35378129f5..ab649101d3 100644 --- a/packages/application/style/base.css +++ b/packages/application/style/base.css @@ -80,3 +80,6 @@ body[data-notebook='notebooks'] #main-panel { body[data-notebook='notebooks'] #spacer-widget { min-height: unset; } + +/* Sibling imports */ +@import './sidepanel.css'; diff --git a/packages/application/style/sidepanel.css b/packages/application/style/sidepanel.css new file mode 100644 index 0000000000..58c56d63cc --- /dev/null +++ b/packages/application/style/sidepanel.css @@ -0,0 +1,37 @@ +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Distributed under the terms of the Modified BSD License. +| +| Adapted from JupyterLab's packages/application/style/sidepanel.css. +|----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------- +| Variables +|----------------------------------------------------------------------------*/ + +:root { + --jp-private-sidebar-tab-width: 32px; +} + +/*----------------------------------------------------------------------------- +| SideBar +|----------------------------------------------------------------------------*/ + +/* Left */ + +/* Right */ + +/* Stack panels */ + +#jp-left-stack > .lm-Widget, +#jp-right-stack > .lm-Widget { + min-width: var(--jp-sidebar-min-width); +} + +#jp-right-stack { + border-left: var(--jp-border-width) solid var(--jp-border-color1); +} + +#jp-left-stack { + border-right: var(--jp-border-width) solid var(--jp-border-color1); +} diff --git a/packages/application/test/shell.spec.ts b/packages/application/test/shell.spec.ts index d44d3bfe55..b8b2370840 100644 --- a/packages/application/test/shell.spec.ts +++ b/packages/application/test/shell.spec.ts @@ -1,21 +1,32 @@ // Copyright (c) Jupyter Development Team. // Distributed under the terms of the Modified BSD License. -import { NotebookShell, INotebookShell } from '@jupyter-notebook/application'; +import { + INotebookShell, + NotebookShell, + Shell +} from '@jupyter-notebook/application'; import { JupyterFrontEnd } from '@jupyterlab/application'; import { Widget } from '@lumino/widgets'; -describe('Shell', () => { +describe('Shell for notebooks', () => { let shell: INotebookShell; + let sidePanelsVisibleSpy: jest.SpyInstance; beforeEach(() => { shell = new NotebookShell(); + sidePanelsVisibleSpy = jest + .spyOn(shell, 'sidePanelsVisible') + .mockImplementation(() => { + return true; + }); Widget.attach(shell, document.body); }); afterEach(() => { + sidePanelsVisibleSpy.mockRestore(); shell.dispose(); }); @@ -23,10 +34,16 @@ describe('Shell', () => { it('should create a LabShell instance', () => { expect(shell).toBeInstanceOf(NotebookShell); }); + + it('should make all areas empty initially', () => { + ['main', 'top', 'left', 'right', 'menu'].forEach(area => + expect(shell.isEmpty(area as Shell.Area)).toBe(true) + ); + }); }); describe('#widgets()', () => { - it('should add widgets to existing areas', () => { + it('should add widgets to main area', () => { const widget = new Widget(); shell.add(widget, 'main'); const widgets = Array.from(shell.widgets('main')); @@ -36,7 +53,7 @@ describe('Shell', () => { it('should be empty and console.error if area does not exist', () => { const spy = jest.spyOn(console, 'error'); const jupyterFrontEndShell = shell as JupyterFrontEnd.IShell; - expect(Array.from(jupyterFrontEndShell.widgets('left'))).toHaveLength(0); + expect(Array.from(jupyterFrontEndShell.widgets('fake'))).toHaveLength(0); expect(spy).toHaveBeenCalled(); }); }); @@ -82,4 +99,104 @@ describe('Shell', () => { expect(widgets.length).toBeGreaterThan(0); }); }); + + describe('#add(widget, "left")', () => { + it('should add a widget to the left area', () => { + const widget = new Widget(); + widget.id = 'foo'; + shell.add(widget, 'left'); + expect(shell.isEmpty('left')).toBe(false); + }); + }); + + describe('#add(widget, "right")', () => { + it('should add a widget to the right area', () => { + const widget = new Widget(); + widget.id = 'foo'; + shell.add(widget, 'right'); + expect(shell.isEmpty('right')).toBe(false); + }); + }); +}); + +describe('Shell for tree view', () => { + let shell: INotebookShell; + let sidePanelsVisibleSpy: jest.SpyInstance; + + beforeEach(() => { + shell = new NotebookShell(); + sidePanelsVisibleSpy = jest + .spyOn(shell, 'sidePanelsVisible') + .mockImplementation(() => { + return false; + }); + Widget.attach(shell, document.body); + }); + + afterEach(() => { + sidePanelsVisibleSpy.mockRestore(); + shell.dispose(); + }); + + describe('#constructor()', () => { + it('should create a LabShell instance', () => { + expect(shell).toBeInstanceOf(NotebookShell); + }); + + it('should make all areas empty initially', () => { + ['main', 'top', 'menu'].forEach(area => + expect(shell.isEmpty(area as Shell.Area)).toBe(true) + ); + }); + }); + + describe('#widgets()', () => { + it('should add widgets to existing areas', () => { + const widget = new Widget(); + shell.add(widget, 'main'); + const widgets = Array.from(shell.widgets('main')); + expect(widgets).toEqual([widget]); + }); + + it('should throw an exception if a fake area does not exist', () => { + const jupyterFrontEndShell = shell as JupyterFrontEnd.IShell; + expect(() => { + jupyterFrontEndShell.widgets('fake'); + }).toThrow('Invalid area: fake'); + }); + + it('should throw an exception if the left area does not exist', () => { + const jupyterFrontEndShell = shell as JupyterFrontEnd.IShell; + expect(() => { + jupyterFrontEndShell.widgets('left'); + }).toThrow('Invalid area: left'); + }); + + it('should throw an exception if the right area does not exist', () => { + const jupyterFrontEndShell = shell as JupyterFrontEnd.IShell; + expect(() => { + jupyterFrontEndShell.widgets('right'); + }).toThrow('Invalid area: right'); + }); + }); + + describe('#add(widget, "left")', () => { + it('should fail to add a widget to the left area', () => { + const widget = new Widget(); + widget.id = 'foo'; + expect(() => { + shell.add(widget, 'left'); + }).toThrow('left area is not available on this page'); + }); + }); + + describe('#add(widget, "right")', () => { + it('should fail to add a widget to the right area', () => { + const widget = new Widget(); + widget.id = 'foo'; + expect(() => { + shell.add(widget, 'right'); + }).toThrow('right area is not available on this page'); + }); + }); }); diff --git a/ui-tests/test/settings.spec.ts-snapshots/top-hidden-darwin.png b/ui-tests/test/settings.spec.ts-snapshots/top-hidden-darwin.png new file mode 100644 index 0000000000000000000000000000000000000000..34ed79f43d697a714d68c598877948646b0aac88 GIT binary patch literal 30085 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 x#ZqPFQ?E_ Date: Thu, 21 Jul 2022 18:31:13 +0200 Subject: [PATCH 02/57] Add the table of content dependency --- app/index.js | 6 ++++++ app/package.json | 1 + packages/application/src/shell.ts | 7 ++++--- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/app/index.js b/app/index.js index aa67a3e639..e89e29491e 100644 --- a/app/index.js +++ b/app/index.js @@ -146,6 +146,12 @@ async function main() { require('@jupyterlab/terminal-extension'), require('@jupyterlab/theme-light-extension'), require('@jupyterlab/theme-dark-extension'), + require('@jupyterlab/toc-extension').default.filter(({ id }) => + [ + '@jupyterlab/toc-extension:registry', + '@jupyterlab/toc-extension:tracker' + ].includes(id) + ), require('@jupyterlab/translation-extension'), // Add the "Hub Control Panel" menu option when running in JupyterHub require('@jupyterlab/collaboration-extension'), diff --git a/app/package.json b/app/package.json index 821a59d41b..787d365d06 100644 --- a/app/package.json +++ b/app/package.json @@ -140,6 +140,7 @@ "@jupyterlab/terminal-extension": "^4.0.0-alpha.14", "@jupyterlab/theme-dark-extension": "^4.0.0-alpha.14", "@jupyterlab/theme-light-extension": "^4.0.0-alpha.14", + "@jupyterlab/toc-extension": "^6.0.0-alpha.14", "@jupyterlab/tooltip-extension": "^4.0.0-alpha.14", "@jupyterlab/translation-extension": "^4.0.0-alpha.14", "@jupyterlab/vega5-extension": "^4.0.0-alpha.14" diff --git a/packages/application/src/shell.ts b/packages/application/src/shell.ts index a3d99fa487..2616d67b64 100644 --- a/packages/application/src/shell.ts +++ b/packages/application/src/shell.ts @@ -75,6 +75,7 @@ export class NotebookShell extends Widget implements JupyterFrontEnd.IShell { } else { this.layout = this.initLayoutWithoutSidePanels(); } + } initLayoutWithoutSidePanels(): Layout { @@ -263,14 +264,14 @@ export class NotebookShell extends Widget implements JupyterFrontEnd.IShell { if (this.sidePanelsVisible()) { return this._leftHandler.addWidget(widget, rank); } - throw new Error(`${area} area is not available on this page`); + console.warn(`${area} area is not available on this page`); case 'right': if (this.sidePanelsVisible()) { return this._rightHandler.addWidget(widget, rank); } - throw new Error(`${area} area is not available on this page`); + console.warn(`${area} area is not available on this page`); default: - throw new Error(`Cannot add widget to area: ${area}`); + console.warn(`Cannot add widget to area: ${area}`); } } From a794e1287cfd074a3bfc806e51ac42a344db71ef Mon Sep 17 00:00:00 2001 From: Nicolas Brichet Date: Tue, 2 Aug 2022 20:35:09 +0200 Subject: [PATCH 03/57] Fix the ToC on Notebook (and remove remaining comments from rebase) --- app/index.js | 2 ++ packages/application-extension/src/index.ts | 5 ++--- packages/application/src/app.ts | 11 +++++++++++ packages/application/src/shell.ts | 22 ++++++++++----------- 4 files changed, 25 insertions(+), 15 deletions(-) diff --git a/app/index.js b/app/index.js index e89e29491e..d85d37b91b 100644 --- a/app/index.js +++ b/app/index.js @@ -83,6 +83,7 @@ async function main() { require('@jupyterlab/apputils-extension').default.filter(({ id }) => [ '@jupyterlab/apputils-extension:palette', + '@jupyter/apputils-extension:sanitizer', '@jupyterlab/apputils-extension:settings', '@jupyterlab/apputils-extension:state', '@jupyterlab/apputils-extension:themes', @@ -136,6 +137,7 @@ async function main() { '@jupyterlab/notebook-extension:code-console', '@jupyterlab/notebook-extension:export', '@jupyterlab/notebook-extension:factory', + '@jupyterlab/notebook-extension:toc', '@jupyterlab/notebook-extension:tracker', '@jupyterlab/notebook-extension:widget-factory' ].includes(id) diff --git a/packages/application-extension/src/index.ts b/packages/application-extension/src/index.ts index 09c2769fb4..4bfe61968b 100644 --- a/packages/application-extension/src/index.ts +++ b/packages/application-extension/src/index.ts @@ -186,7 +186,7 @@ const opener: JupyterFrontEndPlugin = { const command = 'router:tree'; commands.addCommand(command, { - execute: (args: any) => { + execute: async (args: any) => { const parsed = args as IRouter.ILocation; const matches = parsed.path.match(TREE_PATTERN) ?? []; const [, , path] = matches; @@ -196,12 +196,11 @@ const opener: JupyterFrontEndPlugin = { const file = decodeURIComponent(path); const ext = PathExt.extname(file); - app.restored.then(async () => { + await new Promise(async () => { // TODO: get factory from file type instead? if (ext === '.ipynb') { // TODO: fix upstream? await settingRegistry?.load('@jupyterlab/notebook-extension:panel'); - await Promise.resolve(); docManager.open(file, NOTEBOOK_FACTORY, undefined, { ref: '_noref' }); diff --git a/packages/application/src/app.ts b/packages/application/src/app.ts index 36efb573ab..cd7a0a66f7 100644 --- a/packages/application/src/app.ts +++ b/packages/application/src/app.ts @@ -34,6 +34,11 @@ export class NotebookApp extends JupyterFrontEnd { this.registerPlugin(plugin); } } + + this.restored = this.shell.restored + .then(() => undefined) + .catch(() => undefined); + this.restored.then(() => this._formatter.invoke()); } @@ -52,6 +57,12 @@ export class NotebookApp extends JupyterFrontEnd { */ readonly status = new LabStatus(this); + /** + * Promise that resolves when state is first restored, returning layout + * description. + */ + readonly restored: Promise; + /** * The version of the application. */ diff --git a/packages/application/src/shell.ts b/packages/application/src/shell.ts index 2616d67b64..f06552891d 100644 --- a/packages/application/src/shell.ts +++ b/packages/application/src/shell.ts @@ -6,7 +6,7 @@ import { PageConfig } from '@jupyterlab/coreutils'; import { DocumentRegistry } from '@jupyterlab/docregistry'; import { ArrayExt, find } from '@lumino/algorithm'; -import { Token } from '@lumino/coreutils'; +import { PromiseDelegate, Token } from '@lumino/coreutils'; import { Message, MessageLoop, IMessageHandler } from '@lumino/messaging'; import { Debouncer } from '@lumino/polling'; import { ISignal, Signal } from '@lumino/signaling'; @@ -75,12 +75,10 @@ export class NotebookShell extends Widget implements JupyterFrontEnd.IShell { } else { this.layout = this.initLayoutWithoutSidePanels(); } - } initLayoutWithoutSidePanels(): Layout { const rootLayout = new BoxLayout(); - BoxLayout.setStretch(this._main, 1); this._spacer = new Widget(); @@ -211,6 +209,13 @@ export class NotebookShell extends Widget implements JupyterFrontEnd.IShell { return !(this._rightHandler.isVisible && this.rightPanel.isVisible); } + /** + * Promise that resolves when main widget is loaded + */ + get restored(): Promise { + return this._mainWidgetLoaded.promise; + } + /** * Activate a widget in its area. */ @@ -259,6 +264,7 @@ export class NotebookShell extends Widget implements JupyterFrontEnd.IShell { this._main.addWidget(widget); this._main.update(); this._currentChanged.emit(void 0); + this._mainWidgetLoaded.resolve(); break; case 'left': if (this.sidePanelsVisible()) { @@ -382,15 +388,6 @@ export class NotebookShell extends Widget implements JupyterFrontEnd.IShell { } } - /** - * Return the list of widgets for the given area. - * - * @param area The area - */ - // widgets(area?: string): IIterator { - // return iter(this.widgetsList(area)); - // } - /** * Is a particular area empty (no widgets)? * @@ -430,6 +427,7 @@ export class NotebookShell extends Widget implements JupyterFrontEnd.IShell { private _spacer: Widget; private _main: Panel; private _currentChanged = new Signal(this); + private _mainWidgetLoaded = new PromiseDelegate(); } /** From 4e9d0ac16c0f1011571333f7dd34b54de66e5078 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 2 Aug 2022 18:39:32 +0000 Subject: [PATCH 04/57] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- packages/application/style/sidepanel.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/application/style/sidepanel.css b/packages/application/style/sidepanel.css index 58c56d63cc..2865e42a5a 100644 --- a/packages/application/style/sidepanel.css +++ b/packages/application/style/sidepanel.css @@ -1,7 +1,7 @@ /*----------------------------------------------------------------------------- | Copyright (c) Jupyter Development Team. | Distributed under the terms of the Modified BSD License. -| +| | Adapted from JupyterLab's packages/application/style/sidepanel.css. |----------------------------------------------------------------------------*/ From 60dc7507187c3a0ac34c7ed79d00e6b10c9fefeb Mon Sep 17 00:00:00 2001 From: Nicolas Brichet Date: Wed, 3 Aug 2022 10:38:19 +0200 Subject: [PATCH 05/57] Update screenshot of View menu which have a new entry --- .../opened-menu-view-chromium-linux.png | Bin 38637 -> 43924 bytes .../opened-menu-view-firefox-linux.png | Bin 33689 -> 36420 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/ui-tests/test/menus.spec.ts-snapshots/opened-menu-view-chromium-linux.png b/ui-tests/test/menus.spec.ts-snapshots/opened-menu-view-chromium-linux.png index 5c0712c35d28f52f536f57676ed0ac9b83281539..94365ed14f1045819437127d68ab105d4f18d141 100644 GIT binary patch literal 43924 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 Rfr5VwMo%1dUVq-E{|AuE`f~sP literal 38637 zcmce8by${Ny65>g5h(g;YZfCwlm0xAju1|5R5bhjv7 z0#bs6(s_RCn?2W=z4y%QbN)DIu4~VH`x9TD_gQP*_pk2tK>p&HO&fM@pin5AWX_&c zpiovQ;s4sH*5cp9j{Xe7|E#c5I3q=gtKL0Gq3ol`oIIgu_iDJ^R&{&hlEm2b$jWnO zVRdfuYy5Rr9oiPPft`*0L#=_5k`O7;RN>Nc! zLUMAU-$6M$rulsLjpnwt{Z4H;ezvpo+nAWPFfoNRwoEfE z1PX19+9ho2_U_#Q=h@ys<@n1=N^8!YJNM(q5A%v=&z{jRGCsKVt7TlF@#FOhUfYqj z)V&`P5@@ts76p%siRl;^+|PEJ?~abo&S!F2$dmSGimM6|E~u;977!3H(3Z}h_4#w6 zPQhBLvy0BOXCCd&8|y0Q`u?4A@Zdpe#v`jUZAU#6 zIh>*`v`%-0w$#?TF3wL&tEkXREHC^~e|TWq176d%qc;o<#}(UKD{5*=zUSS0;^%ko z;Vxm8W5*cz`1l6Cgs@9otc9eWuW8P8t0Q1tY`xdg+nY=wn|>=`ja-tmo> zotzdA&zm$Qgcfy{MMSW_egD2YXL*swd3n)x_i;O##koo2$z9#vIng_I>|p2Nx&QFt zh3M(fm>BB3ygaTHmuc*wEIYonTlV^3mAZfTR?PHEEI%kLJh^@Q_T<~5@m$QzcMjF1 zTlGJG_;8b`!xU#yLW1`6NV}i0-1+m@baZqo%gP>14mbO8X{0^oD{gwsEdAWwea)YV ziEAAl9VQh4Trnvr0asL26VCYVO`My%-Phfn-`&>Ri_WI$rhU$<@MB_&aHdISaqf zDXXfMGUyHCRgzCVcJwH(nVDJNuU}O^fBsaJmR{AGZgp@Y6_xg*M~^sJS=}_#E#DO_ z2Jstg9_q}Ih>njpt81vO&0U-?eX`#q*L6i@Uf!KGYuA2EOFJ6J#m)W5-oYX1W@}1f z$7curb?erp=oW2IR#3=iyYR9w!+J1(ZgQwZ;qv8lo4a@KHWfeI)qF6-F@Jb?SXEx0 zrlPb|d)?;U+QGrWm0!L*;kufo8s~wxa>UlwwjowsxUavzWb^K$xu5(41Nk>@+?e7t ze@n=EK%V^jVjso=?4ERScX#*Uq#AL(ix)3eHZ}$p6&CX1N0rsoT80ywlMQJ%ZrJct zeX8tWNWv*^y2Pxk<3c+5s~eIG8(Syq zc+O~R^i{blSFTjn*ZVg&HJQ)b{Av-Tqo*$sUz*WNF{*b%xMy;ex zyMzQ<`$k7=Qf{_3=)Qg!-~3wC_M^Dd951%8kjs)|+=ztPJYH30MTIw6KOCwfSPmh( zvF~g-oje>I9J&n+4OONR{QQ3S#fkgRJQ8SK>TeY5+`cyon@Qh~?Sih4*p|DcrDx-Q zO?SE&+`4s(tZhtO+#@9wm86P59{ys6=$M#mbaZsX<2@xB%k)~TozC-ILC5WnG+w=O zr7Yvtuktv}%wlYcpY_qhSd{ZDPZBZ9pflMTO~^Udq62z>GS^`1=gu9es_1|Q@?^zqI6 zq*$>-np;{v;?I-H%Vkk4im~`jc)iW_(JEJN-sDnGF=5e2~i%Cv?R(9>kt)&HfeFK9M z)Ao!ahWQ-%*T<~b{LZraB=$2e)T?M&4BfwfKgngGhbbl_Of+H3zKD)K932^{<0H7KUPX+jN-WS3yFuOfs@(eZ>np#0 zy=;0#Lt{5NwL!vWeF2{@L~vitdTwuLm!O$>E3q}zOnCilaifW~wLo-4g!YRUFDl#H zUt?!HcgXOCIg{ zl4)y3arO4z`0Dj*QkOI}H7j2oqm_}7;n`y~KlST5UefTdU(DM#Y^9-b-79u`pSXB- z^O9Wf@e}ylS|a-A&r?fDNqz6_U31{TftmUFf|?q+kt3?7POZ^$n%p5EAW)0*c~nFs zOeOxRxrN0YRnB71t^3WVM>NwbGSGa&j2q+Rm6T51xWWGMakk(S}f7tTV#o*(N<>loRiiCs&s_se({_^8juYBTjmUbE$ z8Qo}%+oNCke7tUPt*gY+%qnhfZc@@cHtq8G{$1N=uh`Dw;^KkEc&2al^`T*5cL%?I z2!H>6?eu7;*{xTNPFL0P8;_34VimbAsi>5^mGM(Esi~-t#%4+nxwmeM?$`GhEGw|f zDc?hu7Y@F^_}c68hl@JjA}$RyCmjsn*7SP$a;NEW6#dE&2_`i)HC|!i`#Cuh)3@y} zKY8**gA4uW{&_aPXfu2e#T6@UJ>0Z)<(==bDbsAvI_Bw?-;Q53>apEIni&piNupi} z4IQ1wt5>fYH+-SLqOKl}*LKu;fJS_Nn1A_$;foPw2;w z+qOMejaqS`SkH&~;K6m#D)GfQ#_7HF_4Ve~)+Q-yot&Ju)6r!oS1&9$qUDxy@e2!= ze0G>lD_OgCEzN_IZF+)&g6Ue^_-`!coA>WMHh!jW#a|DNjpa&>iHh=a$hz4ov|GfQ z3Y+4NJo`yhBR>a?+qZAG9n%4vX*)(%F4RE z<^E^SpFfE`>L$e;6&)S4cb3RwA65yIzQ374 z!ufb=jD-{SoX<|d4dJIBuGFJ$jMFUeVdQ^OKt6q$#qw_UI-e~ zy+8kA<@ecLmFRdsj2gauTTMweZrpt8)G2MB&(qpUsu4oYl1i5@F;9QsJMw}W2mh3+ zD#Q5;7t|N5wuC0w9Bjs0Zu(?Qzp$`i-c!6OMm_bBaS#rOqmvVP?7 zG_X}P#$35qS$TfAGlywzZjM4RFzDAGGOYSj*EZzt+du7OTs0K=j>cXo&GRHndgCiV zL;*oTtyz)nRIANxY}`{*g-tuN+sno5(*vAyY^<%{gom%9XlM(oXmw^gF+VwL-d*@W zU!wAMpiXo`#qvga?tKyxOn^v7ofnQyqoE7EefxHwnAo21Grq+SXb+lC3|u|v{%15aqsbq7Y_iG>~7!AudRJ-jH2fXWTU90#OyDdh!0D* z5w#w0jfvqLdAg3mcK*4mQnYdxT0Ay$N(!AyoQB~xuZQ|oFWu3F9G7PM2`mF(l$V!x zZO^pToBiEOajmVD-z|1~J8IbDvTH{HnyOzN+i$D97^kGDD0$}0ebLM;r+Fc6&5Un9 zC#$NezC^3=EQ}Rwp#DeT2i*@Cj@W??tW2EP-i_-{T9}X0i5S zHUqUQNCmXFpB0TJzcbBxa9i+k`@1N6JDIyIenps%m*xrhx%_R^g3 zaL4Ce>FMbaadD?*WjBzr(blGM^{2_B{Axv)rCEcCp~fwnH*dDAKx6PlvDHSwQO&SE z1Q2R8&+blE80$RYCVrY|g(rx>d_@{FL7>z}irk<)x#J zGrZZ$OAhHNE{j82s_305W}Ta_U%yVhQ-CTlF;Qb4t#vCClke5fw=DvX(z2a*RpmU5 z545zhVy5%%8W`{d3=+%?L7^mtrXgO-H}dj_u(xkl?-8+<9PRj=e!IQBJ<+832&ZPo z_SxB4UO~a4mQTiCP&`saisSdQvaWvc-~kmiwOe+!I42j^_;?9ZP6NYGV|)q7$kuJ! zR_@uehnj(x^5Np^+u^rSuJ53k>DInEA+Mrx-`97``Sa)1hL@uV%zFCwos6=_01SW= z$Lv=&hT?mFTEyDgIsp*tn!dgi%ah#FQYx|)fi~<~i@kF?`9Y^*CxHVt85(@(hdv`G7AW7C)^9&<4I7^MvCX7N5z3!&JWNz^_miNu*`*MJH5r3j*u5M#Vv{x~}`GowA!5Q{RC zcly++P_xc#(&h=J*yC4xlUpl$H*oPuNlD7Z5b?#j#Zqv+!UweE#2-C&OlM}SE6x6o zzMnH*mPb&~uG`Zi4*{3YvOZPbb5M%P)y-}7dn$0h%KZGh@7}%@F!Yms7h~05ZGzqJ z!&e*@7WVwpC&5gMp0#>DgfKJ!Ox+sqJ_W!GDyy%VVXZShK7O9V|Kr4jb>GNH^~KjB zMGShJfVu?I|7uMo2s|!MA3RYHC6%iIG`s}mok7ospjh%l;B0YXLP7y+)~vDcy?6KS z^T0s*!-o#(`0$b6)c4~@A>bUNo{u}gE0gogouTES_?#mEtjd=!7jPUt`~q~)VPPgw zV-w25nt3oFRSOHg=;&y@!^$z*tJZD4cI1Um>wC0;!w<2yPe#dVM9Eo~fjDk>`1v#fW4CW;^J@kVdA7{Wo- zYfH1BPyjlBN%jc}`Zqf5#CAk^Sw|V0m~cx^KZeJn9GBSGp5r3XXuG_$NHz`nNYI|c z=uZ|F7M@;SckkR;p{S_H>o8@4;=raC z2xYV_$0cNF|F#DS+IcGhok=nI`a!P$5kK>f`e)le=>RQJBz1I{eSCa=v;hBkd3&de zQ_zSV(#260ze|BCtQ#C09Gjl*Z#l4SePv~3S_zM{0dNw>s8;o&ZrUfa&b?SmiYwmR z$y2AgaQwii@?Y>9T%Eh4aq;5j)hky_pRPq;+l0=Okd(BF0&JLAKdJOjz*4&KQ3`>& z=(cGk@87>?=jQe}&vx%DtI=c%)oiAMYJ{4)dO=~~Y83o7#v9=%j8bfVd0)T!sR#J` zA80&y_^|gzJsfb=D_3*|>)wsNRo=8|6Gc)}bI-G9!Au|fR;H)#TwGY7P;?U+3OqIy zEG^FKn3-)66&2-XaL<2FPtC^0MsanTpRzE>soF}lI<~`C(70hAKR@mK^k{!a0?JJu zL(kl^fPgT992;J}+MR6H8NAZ}v9dx_Z;s?X$!phGr+&5Gw;5_+=Hb~Q7b1Sj#Do(| z#dots;Q7m!mWyBO>c%Q~atMTMjMpkbvEVgn;-%z1=hLGB-vJ%_*4QY`;m-mLa_G>Z ztZzoz+LZnK(SBGdc6%dGF^ubY*x1$rh5!x#M6TPgapRYGEr~d%AEi%@T6C|5n&mDh zKI^6)2MWN&#dX|q=CQiIiHVP^D}_`mdwY9|>+j!|yCs|#{FxH?im_)7PVe_ClfQa( z^X1Ezx#g#ao9|&0rQ2LT!Wh7#wfVtGh!`s!mlvn0Hf?gM+JCyVGZ05(MQ%;a7SUV7 zx!@sVJ-!lB9RB$&Ej!WGrBqd)YjlE|Xk=KgzjWzRZCzb{mi-?>t0?B?=D7h}>It`g zsgbAg;UkOHl5A+Eq}6lfjpV-ED5dBG>p_Ku>6~SEv|98=i>~}N=}TDc(;${8%j@|0 z`Au3=E{t$~1*mM#uqi<8;WPg(nQpV6g@xCw<2ZJZHh>?AwzkXJH%B9Byhzoo)Sn zLSul;*Cyd0JzN4EJgNhr?*?l)^odlIyH4F!_y4YjROrRNTDDl+P+e!RBc zV+#|v?Xf*OcW$^N={ozTe?M9`&M7+f>8n@w;^!X+1$m>`kuHio($_$GHd*y`TlPw7 zX)%R3&mDqlwu(Z?NNT6EH_jXjGxG{mdvhx*X>2Lsenl&M&OSQt-hf!u#FapQs!946 zl7_Nk9^r^{swH~{CDdXcpf~p{I;gK__6kps|Ln3XZfR-x@^dBAaXVf*ZVk_Kf!sQU zo?9ud0BQShMyso0p|PQ%@4W+B?7jQ<*Vz^~Jw0aC_XZfVtpVgO-)nHOr*N6Y74Fp`;aws|~N=US7B7{pVnF4X~HytxS#zOcC1(%{X*M|;IKyg0uWuh#U6 zvT}e%2&fjf&xP~nwXa`ye|IkMw_12yoT*=~%L|qI&<`K(A2=7F4J=q%U0pme_%#t| zsq(dGVEohd%p2Y(RJdS+0Wb}>rf$JXOJjEhi#vG%pq)H@S{Ee>l%RL+!@GA~K#C`z zAjfItJVJ-p0br!K^63@t6B43BtB#0|zpuz~>h^6B1qFqUA@R>qkFf1o&<}F|xB}HW z4X(TH_IQi0luJ08QG#B{W*o5<&~^5|RX7wA8=H9JOBfr|zBTLC_0+vPM;d=X03C?Y zIvyS#itD|5t5Qsw?|w3F)XlrQM%#z*YRE1Q@$-M8M4&hm)cGbXY$dkP*wj?F!deieLTd#McspGJI|3C7B ze}()%4az?RpkA2$vqQ7kK}kb{8ajz-1|tfS`?P#4mc*u$Z2t0RhX$afqHc8c^xT8W zF|Jv+t2xV_|L(neL7ZBNx@%59+8ycYMa9gt@@kI!_12V|?1v5+D)AmE9vl1+l3!oH z1G3${;NZOkf#Yn`@24>xX<6RG?zR0j#mnXdgBXb9kh=CKtI&{N{OpPxUe*}24* z=?uXA6DWxgqW5!fcnvx9mhU)u@}xHQ&RH3mJaBt#TW}im!bx+*7B?OjcfzPlWX=5Z1eCN)cl;a_5rXXh)j^->w*}C-| zN6XTT8c6d#HZE9;50t$9Y;31Z7tp8mu!yRurh81=((WuzFE25%$pu$d*{q>JJ1yAr3H(k1lPn~M_Iok zNjZG@Fq)4?^r6FtHyJ2B0$8S$iLA97^%vo}W zBFf6f76w%uh7S$ZYS1%7!$b686k-A{K+T}IqS;ZcUg@(-_+p$dIx4h!Z5W`Sh&rf; zFwZPt8Kv2CHxD!DdKF+v4_k zI$9~zNMGM0#AS(*lBVs{D(UnD>WrP;Q6lM}Dc;{$AINv)NOykJCG0S;5efzS%KX-? zVgR8hfr0SX*1nusT@G z8!KLV!R*(_$RkvsJd`SyCscUzXD?nn4U=_Lp`XDp-`09!^yL`LR8aC?k53CT=VRrP!3Xts2SxRaWoM`osI z02kv)Sp)jVQ+&Ai2xVLMtqIX*E_m|-)NMydbu*V*T^mdYD)YVz&h*CMQE7#Jae+j0AH~VzhGhLU}z2%?Dx^uXZlwm57a(aR{%@ z%0gW}78VvDx{Zmdq#VyldOa4Bef;=wE_i_YXDMtC%9v#t(X|BQ7fY76zelV3D75GT zQR;`Z^#3er{i~MsHwA1dAT;A|!1vsj>&b^uIF8!?eoI=(y^^8r^|5do*Eu-M)3u&r z*(!WpM&0lEb5EEVDNW8lza467Y5ASqj(C7xk=G6e5o>nk_^VZ1fwJ#F@lRg5v=zsf z8XLJI^#YZln7dmPyd#Lb=_SiEB@%Dmy>myIr`&Y7O@rl5Z@JU|Rm&In445w=CB@mG zb!i~n*SxQi5ek4LEG3Hh)bJHRz&8;Q1Fvre($wAFkhwtbUDW0)xzAOe{l{K|YuB{F z2yuu!poWlxR(kD-X*;wJJqQ-&mX=aDe?q2ho-0sd)}%T)xY>elCGhLP5^a|jiTLC{4fm+g%opmDf@YN ze1pEMpulIoC*#M~<;|0wYnHRatpHNla#Ku14$(~t>m!I(I zQ_+tyzx4Hgpav35?8Csf5;X?KI0K*V>QrZaeKvwn*KDMdgzyD71scO??^amZ_fb2E z778o~Ewl^imfMCj!XoD1DYr)29>9k#zd+mG!iPOTjkip34GCcaveZhiBG3jd9Nx-F zIHf>oq2SYv2T_-qnVH9a|GtY4URYdA=f6ccYB#p;{e_^lD6c?Tq{6a1@l?jg1Wh z1B1D*m8B&*Gq+04NtVz^Ybrx`A^IphR%un0zxotRFZf+6DAZtJ8XimOGqyefl)o^*~eNe%Op@LXnDIaEsFCVq;>Ulhma~`901F7qXol9Ub+>ADFaf z?7%64_gjLEOS53SZI75rQ>QE^R>&Mm+V5cf2Ju_3U`Qvp}cvt9#k6_~I{A&3$(D7N6qCGb;NEA;H zYm&mk6XZf(SMSWrTY-c}9)QPccv}-A?Yl^%th}PaK04%a4#x>8sg=ef+oq&H>R0W& zcI}#ggUeRR)2B~)p%X$Y?h#Wt4aL*Y${;G%0>b#nUTq^Ij$5N04^P}%Yw-&h#BO3> zE6|up?A6a|aj$8lI{byEPbe7^AWxDCtlQQ@WVmnm^*u8?yQeYFp+kAFkmN62S^=40 zW_FgDg+=Pl4qB-t?xk&k%jluXj*tKLzyHDt`tN;HVdcK*PiAiT)vvbgTfSaK{%N-+ z)Te)9B>nfl{g1v=i*>~5GiUUc7G}M;!yf<{h0PGjF! zpdHLckv8!%ckTm0_vwyng*UOx8$HPp^mV&NMec&fs=-{jK(aKZk~P zXs%=)_0O03l$^XBidFH_iGjN#I;S>YYbQmnKsv#A`1xd7TCasVKU%>I2K8nr0X7%a>v>~`w z|Bho+5>8G|ReSsNwsBGW->lKGvDY(i{nCZMZ2}2_6S+0`@d#O&)9u;A zmCA#N4lLP+GVc^pka8lKI~ZH)pLl>pDvOIf4jepaMHb(WOEtk&hIJc>8p0Z^K|c#> zx0MpN-XMB;2i0nVEKp$Xp(V3GeE<r`Ev$}D^xwy777JakU_|V0qXeUCr|D?d$t|qAPlNy)^H6r<(D{3Q3@%JP%SPg zD4K-qTL`^_ z;g}^Wx@Ra#Zr;6h`? zCHHRMIqNBsn`g8wOXo9t+ z-vSB#(ch2QhlYl{qM{ofnwgJpD_$NVaFV*ZEZb;lyZZXp-jU3$$X=KgHN+#Yp!oay zYyUk|#En3x#nm5-}o zfD=WBn1uvx0)l3JJ9kz+taeLOHiD37nIv)rIivul3v6<4!1ZJ!pMM%inJ&u$lLY!+ zi@k|#4&e)sj?k&_((MLkeE5(}D_bnR_OY>}@t;#y=Hx|dBcHsLVuhuQpInd zDo3>O6s$**uz{h?e)w=fe*Vf%r|CU7R9~a`+Wtl2!#2+M!-s>YF(qpv9zEJj(jNGE zw!m~AwEw-3D|-V@oj#r4*0%6z$|m1!J&kt}(7vRpDL42l6hormD*N)msNF4k>--3( zIbQ8^B#T$BS```}zXddSx47fXCnMu(9J{SZpo6*ORaR0%8tWOM&ne3$$?G7qY@~J8 zkmwPTR*0u&*}Qg3K6Mv1e&5hg^neKTTb|Gh%fg7x&(_NS^90AgZ@m94@bRTnNHGag z>e%-arvk@iA%yw`wfWN2r5u_Fy4%y!L$VSO+o7A9S3o`>+BjaSUgdMX*qw*5+{F88 zO&!hTpoiJ;J^QU1)VG$F7SglMAOu;RGAqWXe(2{PEsGO|=hgNzw~xV*Bm2O__5S3eURe#6*Un&k-z zu_F$OYPW?r@OM_N>xOc5R!;5=m=}tLwvNu7U@-?Nc1P#wcL2Lkm57{XWNaK78Mz+3 z7^Y2j*%V61IKBvSrzACs&ny6Bg&wr&=FOV~LZaGn?e)vgmtsZx@LL?j3uI>>_!V*% z=?)>9D5+2y_;F~-t`J2bfxr3iq47th9Q$@6lmoCzqs<~G=7tDnL1QC5`UV`)o0gFd z^HVq5vYmDTQ1SBe!Y+T^RvC(VNFoCXItB8e2QV`8z@Ew%{J;U<-Q{R%w`UMuB>kx>}3%<8F^V4I*7!D@a4paWt^ zEHT^B4tE5ku#zM{2&Y>ch84aj5c3W(hbcFtQW*3!zHgJ72_2JPLxFRJV@3V>_M{X% z772Rj#OS<>2qM4u>gaf#1qg{Zik6juBjm5Pi7yne&06GHMk>Ezdm(4Zv#B0U z1f&rOf)g;V@rGW)pLg25d-o5i@tSE3WCw}(iM<4pMVK;7qthTW!oWz6+U!8FK<_;M zBfj?JY~invq$GamTq`I@0wI#I3JZ{y>-^*_tCYR{F%TY5<&JA2hEk=ihP0tk@7}FJ z`eI>ee$;Mm;t=7Q&BD8o_umh_0`f(dIA;`mjPqAl2 zp@B0f4MCgAAYgxcY7weVOdQ{}dy`bDcS~hwOv6FmWKtw-Eq9R=WqFaT@`O7J=jL&HJ!`Z9)9den%_V&aIMot>x+-ivsT z40`0ZAmjll{>YIdX}3V7h{g#Kq3wz#O0})>e81BmqLRQi@-V$9BnJQwFwN;{*)@F9 z_mN#WcIWXmNVP($lu~1MAHZsEXtk8xH~nfwcd4#(H34W!77(=BK0DCkKx3LA&1G4< z(G-RzaUSy8PtCPXuyn?xUe1OP?;cthJy$XamX}5UqmmhLa7s%rr3vJLdM} zPj@U4N*h^EL~BQ;JP^9VW0^0^Sl}seHuJxJO)7g4jp*t#e}4;v>k&kIgX4j~G|7Sj z1~#Gj0i3u#dGci!(-tYuFBl)f)r{M_(#SAHRoN7mA z;e<}-LVR@eM(_e)$%5kIwLW}Emgl#(?*XPEd05x}I}M@I>tINBfocOu-$i%@rk4(W z4}!M@a$-}#B*6ya1{6(W{HwKMX>m^9V8#q31O**hr)`pz&Sx1-G|#l#lN^}tVWy#i z0Y?ql6{nh#3&}`FSNARq3pkHqzzReQ0*JkYCWhK@^ytyj`X?bFz95R+ZFpc9mJ`*% zTcoHYwu`*>!pWn*3X&%ed;i4?M*Ka*poy1-?@uC0L)Q!p_Jdp?@I@JOEdE9msFIR( z*n9Y*ByS83omT5OHOvTb10IWROLS;dBjS8yeX~Kd1CL1zH6K3Mm@DXcuDSt03+pQ@ z)8XgSWLBY|t;bGryMG_arf!scOTh)0WaKTv?}o+%b=+kgT(D~PiF+JS3`d@dKu#sX z*9Lb|OUXNVa#mhVjYHVhpM0T++&>TgAddD10p3t~Dg*@2zEe2vH1}*M{OwyeG&zc$ z_^1<($QX>tF@;88Z-lBz%ot6L@Frk#@c7d>EW+;*)}xPjI7B)u6gG@+xcm9}X%Mc0 zj0jRJ9+LaM+niRFD$NWZ7mWbax^H|Ni}Z zpT8^?68{Z-tzvSkcM;8o<?$ffZcbQBjmPK|R=@C1 zfEj%)6iEH*acloJ71E7!hr~2m-%xpYN9q_!%EuN z2-3fL`1M@Q%-XU3@u8uiOIli6pajPiOMHcnnxYO?1xI{fXeh_J_zH=jEQ~55{%;N- z0YGFG+5{?zy^7JzKmK12HrCglxO~}9U06))b92t*`HL43>yrjDf~c%>^JdjKO)^s= zAW#V7c^{S;2nt&nd$auYgQXYnkin=tlamD~6g_Hu^X`^i|GR{`Leh1U((yK1i9;(L zY7mwCXFd?f=^n(N)R^(TkRGNE*Hn_AFe>HlW0tG2!~@?VY0+zX=TQ5kE?=gFP#}p; z3W5(ezEWKi!-i?Me(fajD~c<66i)9|k!-XZ93G1wrCYJxi7;4NS-E=b_%+0TT%k$8 zqgVl31cE@k<2`0K_TYV(cATA?jE_3HxoK=78x zSSZV(L+inF&mbuYr8Yhx1DS}&&z=>EnZiy+dq-625mw)H7KsHSrU6xg;_m0JqKIQ)gwgCL*abUh}xHw~i}_&vOK zW7_En7i4Ac;?F3v70ZyTpyF!7_(M#ONUdo$8#ZhpiZDTskj(=(4yur$9e9FVsg?Le z04;6Kw;ddaS%@@42@(4k8OttI9C4bnMwGTJmWh^j6%!NFwd>b)y7JxGIXT?`k{ul# z(^{_Dn0&_E@$E^Y)$7*jA=wz;=8Ki0-XpRdnKL4&U>Kw2+J+IR+9_;Qfe;J7XjSsvOek`pAgtk}A1z^JaY?KIKc7@=Q!jnqXifD*jr+ zB^XmB7+`dB6JV5pqGx~m_DB4!kI+n05F70q9BkIz1PVoh?10QjozIs@Eakz7KG0aw z+8PAhR`#nO?gu^%yEqY4ED4_t`S2XZjL~lm&?MXDa9~Yfu_5}tZQHh&-@dl!Wg-xk zK8bu#4NRGr?eUl|`-tMn``~0gP znJ#kCmQ1%$KmSWw{8P~!4s&`^9hMlfN*-2|NYFS-#P|gN4hJNN|I`V!)x*z^7G0V| z&oPRFpkP)50}r$@FDNb)3Wz9iQ7lW!s;V|2g$HwS6$KUu6B<3wYoqsqCCX?{;z9?1 z{5=bRu%eO8LvRh^zJl#q+t~0~^_@>YOrc=Uov02qY&G*cMehYI~$9TGI{&qLqTU}h;iUqR!gmmu@GBQvr)+LlGS2r z0I|qW3oHzP)CBk=fLNj61ZkGN8}M%kjYAX9YH(hjz3|pz!w}LO@aVD{j&gw%^t}JP zHkc_DSP32!UMw+1iEISHI{~&c^aY_~DJ~5!^^5^$pPc>nbLS`~GDfrKHxm|ml4XS+ zHCPem4co?tiL56=a_H>rHztLsE^T*rj{+CPAP=J2t=IIw;*I~?0D4w^KQdJiqlXb* z0-xz#*?~6?zCfZ^wV~4L8q1pJ55|Uuez`XHi@uWqt!YWZ!FDg5(xim>LKRE*>F$8< zPhB@Y+xJF0jb(lM*0qM|K|7xtUORLng55J9%upx&t;ab9?i(W!hdOz}`U2+Z53Ffk zv-*-`ao(T#dnNN$*DeRW4ES?9*nV$+utW818~^XF4$%Tf6cfd5w=6A>poA+w4Mtrd zSuO<94X{p}8fgjT&qMTYhD@q1E-qSFS?OUw0!7#gwkn3TTxq154+;t@h0B3B#($n_ z;jh{+lkq00!Uejbeob)I7Kw#iBo}4m1 z-;2|o5QiV#zhA;1|AKX~*?R6tRO3~LhfpakkOR5uvS>pJM3O#rk61C_aiO}|XZP%-XVEd>xF2{S^{X{}pkWxyyr~5NA=L21OomxO;dg z-~tAuFy0TzFDW87NhY*3(k*)&ffavGo#@ zS%5ucYz5ukac=N~+Afu+Z;2l~H5$i(-{|N>}!lL+0t*Q%53Y zpRyW0IsdQ!i22#_+)sVeW9*}vOe3nfKf6nz(MhTzq zeNDmt-~Ulqj+4UV)KuSnCT9u~!x*p57&saxQLHuIgrUI`=H_D|B4{e27)7fI5&6I> zw()gfgt+a1jxSmER)9@p0&dezfm$0oH7f|1aNUj}bb;Op=uCD5K|?QI zG>7c0!0<(BMTH(a^jTy)VCZal5he*^wDj$cpLKQkxyTl8x zL%*-`1;Uq!wxd@O4=6_V?C9+YcH9S$v03iv5{-zc5{(ou8VS(M^J7-;Kem^bd!Z2? zXhxoH+s>V`j*iFCpC)ka!J9Yxexfe@+6}yf!t@yJm`o2tYr`&lkHiec&BNm_L_08KM{a=$!>}XrR#cd?dJ+(z++_g^ z@3Qr;7A54~Phdny=D6LMWcVUlMmM+z9YzPGVwJrCQjy7}PlPhQ!8bNz7B?<%;R+89 zGX4xN_0+|Sk8u4%7M>^}ftL@1a78zXXm#4-Kv<0o|osbsR5}olZxz3vmH$MB$!4e~z$5`G*kaatJr+Hbcsv ztd5F`>Y16zJ=`f6p_L9@GGufS2b=;R_2k8iGC=h^ACm@7 zKis*3+)xBL1Z>KIUmdpb|x+U1n2kA zkn$5U(v3-MkRFcq4;hWZY-}Fb^!%7sMI@Sxu7Fu6%pq-<;IizDB=(JO5nCbLI3iJu zv0M^UknQ(>EAh0NdztC;dSEN}^mKdodBT=%+=%$HRCkW&&`n?Np2NsemLfob4zYp5 ze*^Ps5H;y{3Od)Wt(F9x6Pyz;tUHbM%X#(yMz2UA{2<4KC|QJhDmNqzGN|L} zN%hVQauN~;JBoF0+$aUiV#M2#q9SZwd|^!5=ix*2Usg zG^kcSyN@a8g{XZpvKVUMf~*xSa!qDVdVn($aov|lV9@T_^YGq1>GWI7tKkqt)EhxV zer8*0){(V-OmX!2{QP`RUtcla0H2UhA5IO~Z9P??;KC2Zp&gVr0R({VVVtZIjr|3t z3*h4z{QMUAJSd1Cv7x!CU-OkEaUVXMLHDq*vFXKmq6io_P$Qm>TJT44F*>NTt?d<9 z1TNkv|1>xhm?If!x`dG4Q}oY7E>Y3Uy22J@I{-K^jYh`qds{;KCZSC9KziD_2ofxy zyLJXR;syd;?iOe3LM|8tF5|nS27d&1!nZsFe;xdb)Jq&0SGcuxAFrQ-{IY)I#vV8_ z5L5Ya9}s5nqQ%aw0kVE`AxH?=GF&oH2iuc4ulk&6g}Ln2*MZptV& zcmBw;#cteLW&ks?e8{@LdJlBu>>hMeO%`i3I+dyP-h^Q?$AoczuN1pB!G{U`SGS=3~#o~A+2QiZk zWe39rxT|9yhOa5*;?le5=uRU-@X4s2xLwc`-*86O$6WD44@H#}eU zs$JI_zzG>ySt%Sref?r!yqWL!woo8GUdJ6LNDsIHpX_%-Rzud%MZxBeFQ)HsCkp7X z)alb}u~iX@+6wU!@m$Xb4?^KUl*fAh>>CBPMft;(H7`Ma(Pb~@I4?$NEF+fp949LY zg{!Y7#23B~JdCW#26c4q?Gba6P)vJU&2p}zdy?b=(ysX6rc|?#BWJJ`Na78HSOeIE_HTGC%w>{E zOJXTd0}!rd-(P?9e~at>Ga8(0J*b510eVG+Kq4@U?EPr}oZi9?-*vP|M7n z`(m#k24II;Mm8yuWZ?N%(#%5@3Vw!k2>f|J3m?E^7 zQxGIiBG*}j+mLu*l0KWlPUUl6up@!YaRN&)xaf&e%l-?eS{LdThOMrGn|PCdk8^t< z8{KguhG%d)-@y*Mo=p~D7P7vnAn>|qH%f6bj*eLvkfFo!)4(O(2C%Er5_~-6XCFpG zc3_l+7GIFygfR6~Q*!x{E*^*6!;|08pq!SGu>m##0#FLS7Nn>Wkuk%AZy`8=&;Iwd zaonh;s1_!2=#UHsmmeUM=WmQ#qK4a2jFRIon9foT#7q8!y=?h*@;I5vV2~sfd|Fxvc39 zhkV>(Ww>Si`mNxGbYO%#q@FGEiXJ=mU>Rdh7!yWhy9msJ06&1E?TCr7h>EJ?VG8>3 z6qw-RB!KJuc^^0)v_RQA_LjiqKLroC2uQmS$XdX;$(^SA{~3aNU-ve{dGWT6o?iHZ zrDGdLo)HD+EClm+qft6oU*3&-6LQF#0HNM4MTNylSy{m78xc&P-Zu)7G*af6oCit(&Z7vJwyB28K`1=5Zr8Gi}`H&C%FzQC}4Tob30hlH;)4rrHD@X_OKgsb}Y6aA8-ucn-Po zNYLn;d@zE*&%sC@awOJ(Inm*EpJyl^f1rcb!K7ll`06Z1tDIF{)#Z3sKQ%&eFzm=W z_T|eLxT?>L>E$lbXN#a=LDfjK8`lMPOvmg7hLUUTtk{noyAm#EY5DO;3Vs>fH5_Uy z1Qf}AEx>Otkn+c6NtoPx2!t;FCvj+S@C#ZKpieqpyu5Nj2UssAt&b}$|Lj9%_#m8- zg9krY-kh83<&lpH%0YS?-mI}n1>TlG;w{7{{bh^rS>;7(Sa%>z!e1#7nwdh7tz;c= zOTnk{m6*hnS5-X=wbAusW1K}#F|<+kRw#?l_-hZA#13$_UJR-(;Pzj1y#z=A z?}D@Nf(UrqG605#yi-45E)_EgHef{cAf|KkRmGPVtk95%!GdJhLG&Ap3%-DQu<~C? zgB-i#GiJ~DFyvtzy9^>8jTGj_Dv%j-{g^aPU^9Ql&%WvLab^*bm&iR(AXI3LD3|x( z#T7Y>em;YH7l{-CBNuXX(v2@Hm?j8)l7+0*G29SE0Z2s9-_S?tQkMLbw=FW3 z;A-4o0F!6Mn@i!RiDB2%*V}t2#K76H4cY{I4K6Y`fjbhhBA{|#urG;S#LF8oar6M* zZtSIcv;w#bAS&93fq<=jjk&@PF=wD5c9*=3=FCqrk&eM9kWv}&MQ8%7XbyTIfUdx{ z8>2UI7 zjje>10a_NS5Xp-I1{Ci&mbXswitd$kOZaA-IykXZ%$R3TXbDklUqGqI1A#>LkmQB2 zhO`GS79tXaL39LB;iCFk9uCWxMGo2v3>EO>J^CBy$k%wS9F9f_JS04sM9W@T1Ro?n~fV{Lh)O0AOV=7ePB*kpmjB4@D#B<2)E>zlCdWYg<}Wzqe$I@MxLRF_9V~ zqTcmPfBzjTR;-ZS6A3aUB`y8H*Y}K^9Jv9GX8ZP&m@?yQu}3+<`w%P9FJ2wDe~QFtm~u3n;ecXsT#0ZECLpf1d5CL=$R#+voW~HU zN1mOC7vQVXCr`R5tPuj?gYce&AAspzf$@=X5s8@bmBKS$_Taw9#)=)?8PxTR8?8YaMb*bf@nu+sVC|)4(;Y=uTKdBK(U{TLeIqp zM*7zmkO+xO=!c3sOe}_mL*$-bK(hyWaXf4IxzC9!NB|$ZiP^o-6VFo8_`HX=ha0E)3N}3$_EP^yU zfBDL?K;}|Zza+@V_oT?1-U{0VT~vw+OzpnxyL^Q9*`s$Xr=kC|2hRUrAt8hu%MgAc z17;LlNQQA#!aD#PqmMuGBD!--Obo{~47Cq{FgxEpN9UHoV^N@}AD>;*>l^s$qKpi) zsAv$bSU%k9M)SW~JM(~^^R@5)a7M;5lc6y}rjezx3<{GLn#3=XR?5;?no+`J$yQ>< z77{6jRF)Q%N>R3Gh6)*_6q79@O^T2T{!CQ@SAsJv zymR7!d9Z3*xI$E~%E^;&FPyAYTJK8uquV)+=Rw!E#yUBV?$^lHoi8Nv9ks|!BH18< zc<=>qIh2GxWWsVSOzMy7LC!BE2uiU7P)i`s1)&jbF=X6|wCu%AYaLsVbus;_xR0>o zSH45%Gq?{bNmBR=%Grdd_mNk1m8~BejJ17FjwnVV zay&$cf@jDTwvQ`c95x#gE;VeY8+vnZQ9>JWYB8CIx;61DBk1N3+)E)QdA#JK8LchN zzB_ivkAg^)P>o4k(HoL-Zf)7T8PoQ-IH%;TH5o7dt_2`oHG{w}&L)?W7G5b7Su`5H zXyLh<2lcqhkwcO^m#!vj@z#k#MFK5CIOLCv3*o|p5O6{3BBU&oAJ7!>@m=UJ+GMTo zD%rDq!X)B1Vb@nbk2@pWmV)Uz1DOEx_wB>u+wr=T-Aw@TVeFNliB2C6KFs(cEfgMJ zsHCiiqjqaW|D1OIwKG;!E@`jY!f(!hFd-n^r$b2V1S#DnzVE2M@Z0NR&ey(mUIugL z`u)GLtiSn`;*92J!qu)uX()(32QyI6eY3hi3(VlEwKAZ3@QP5o9Kgnegkga8$gkS- zjWeqr&p+7^^~K8a?qFX?m0DgV^5$8AZ}B!uv@a(Eusd*A$a*JkL5tZ#7i%*F=j8=p z_leu3tMplEVEM0jyFqG}t*#VLDZhn;{_^0wUwXi9BYhZ({_Qa_zNIu$WHW>k*IHar z(QLQ5Yky^)aY%oA&A(Abp)9si9`ZO(Zg=DT-qm=LZ`(@Ojk^Q9XC!d%*C5h>ye0+0 z*rnG077TK8JKA<2SjOQ!?wsK@!MYL@C8dvlFLTn}UBNLB^^ek5=y4{I0lG208C zi}ww7Y&#AdmPbk_<97*gbow31@)dL%BWdMNDt!$L?nz>GhufX2$UU~zT<|5hK0-Iwfx_<52k3{3|pR?AN&yQDa z7nzVucM>ZMd{uS1(=dfg{}`|aAqyqz2NdlxQ#PHmgHs>R|0w*g>3H#eMp$=v?TFlQ z6F21k;2VUO@d)|;tL=(m-}Z8E4+r*swD$QBzm%9ekp{g+x&L_Q&OX3+A(s!o7~D(~ zWl@Gf(;dvUDsbXprO$`lJ>DyFPRHD_^51{bIOd zn6gn?I3GLN=f~e6lkT31Fn993q)}&Qbdqv^&dQVCqxZ05{aVC$||qhqNDWb$rpe_RiD8oq59HM)wXCxIl}xTS+xk{ z+73#79{YqC0L~_)NeQ#IS7XJQtY7@`3oWXKNd89^$G8P8l?C1_P%sP*t&U(K%W!^` zkiVPYrB$w!_yh%sv+0DLa`(vY1X>+N|KqhYLi3qpG0w*a-db-K=WvP?v$eG^-XHfn z?%==BC}98osNB-rxP1fdlSk3o-1(&Hx<^gTjn=y(KL7kjUR;jqM?HD~(?mNMzo)76 z>2EMO=HJC6>85_Tj?733QYHskZd9%`l!3iAa9nhhH}dnlgNJqQa%1XC_?f>VlS+Og zx$hgMQ*5@9^HbvS_{TO>yZTv6XLRX32Fi3MB0G?-CeuH99c+N|-uW9hbl3oGE2IgA z)eTAMbVhe&n^EVE72 z)IL%qH*WlCWZw%~%|T_S&F#7QklT_S@f{IyoO zfq%^qIS$=e^QtI}m{F+OVjec`@cDbWiy)_MO1Lu>oyJ3U?v~k&=UB z{1_fe+EVlnJC}Jdp-A8eG}Va*o~swYJ;>My9%6L+UIAb!cqN}vVlFtGsjn}05+w(1 zmv-IEn(Atlg8O3H~Oe*y(ir)90+&%sXvz+hcN`bI2pUfb_j4o&WQ= zADGtr+^B$RuN5slM6lDU^-cqno7V8gng4zN>4E<@fzZ2#VnK(Jw2o8x^J|T_Osh@y zp0))P;k9$bgc=J?Pn4YPOk{^C1ieK2}_Yq@DYK9?F_UNAA*1q+6qRcUG2e5Dk* zCH}!}6dY9emh_rZvJk%C>uY>QtGVEla)S+wi=s#NTTB~w%UUnZic*Ru1e`^zf7soW zlP0~j{U|sdX6iNEjbN&L^&m(`PoCTjvYUwhfg3OKxoZD1tB9%_K9Gc*qiAt#MX||5 z^UEy@o2D&+$Kr38G_XfO0GuJ`6xzpcZ7@bO6yDMyjt1m>j)d zTd{~;di$gkA}H~n_cPy#o#594cg~$(xjQ^O8v8*NG>F}> z<$pGC;KUA^5`JWc%r~%>!P8d=IJ$n1))sG(0q4>RCPF85EVfiCyK)yMapYqJZNe)# z^h^#R85s!wCwO|MAmQywzpe^$u8J24=H-!Bm1S2oHPYw*HEm>!jtH}14@TnODLQmG zh(3Igd~`jXNb!WXTU7lMARC1!$Y~Fz9%2PyIZo; zETR@sTso$1)Q4t>|qQbNTkcP9wcX$v^FC-Ep;AUt{==RkyE8~~+(JD(Y zD^(UCL`Qq&W{Alr(3{8`9fB7(2L}feSL>V9Y;9viXjoDOwNjq_EM!NQ>qYmEZYIj` z6(fv!z|EW-VF)coynq^(OozNVGiD5e=+(81G3_A!KTKR&a5rW!5)uSr2B-N>d+~}u7MMehf-Yt`M&|;mS?Yz4>6^z4fL6wF>`}Y_Bq+jLl z;0QXpN#^ETGArAbgqlQi(O|N$zc+LfQQx+{J+qe7qnjb(tMew+g81btpMNUtiB-(X z@_bzSC-Q0uYvJvnsc#30hw5n3F(bI3`i(3aJHi`DS4M=TR`#Qs}yo z?}T@}UtM#fXz0>+5?|?3)M|(SA=0_8VbZc4v?Ym#?9sYcMqreB_xPFNo*0sWI7Hp0 zfaL{X?LtUslv8Q>o$=@(R_(XODq`-Y%O?#221|#9UG+gb-R(?Z0i?rvnFW z1%2V&mMm{dG)y1fUKG4tkd2YbU_=E5;%3b0f|6?kgMcm8gR&L|LSl?1ABusPioF14 z4}9nrs!V2k)M}!Qfs1MP?LX8pLq|VCdPEY<*MJqs1Qp3nmiSBQAKFN$6xZuk8p)$J z(PA@TAQ@L!xRh4vEF|xUP>Kcjf-rt`!{LS*cj(|0^_*db?12Skt=yt z9*7{oyeT#VXw{xF5UU6_13i2YHVLFpbZ4d=xae!_p3iz{FiA#=z2(Fr;*H8(jX((7 z;P((Ad}T+0E|AvkhE!4g=%b^R*@+Yqa@|HDv}8K&*0pP!ahPC8=8_+S(D7{?6}MT& z#(qdz=i>Fn5<%x3e)zBgzSE*^DXKbf-1+QykZ~A+0qQaCvv96$1s0$Av_X&?iO6$) z+|Z`CvDYVf?UohG3Nq*yUcSj93R|{J>OE+-0&DwK_6~|hof0YS86Q}?xn0|~GH*P3 z6bdt8lQ72!anm)rcM0U945rdUpzv(#a>n#hbL~ulEKU>_hs`>^jcJt@JBoo!R8bHT z!;ust8uk+bS6{E!ZJ6W5szs3(tdnOJs2{x~BzC5XvOzajgsWt6-(J}}=LA17>UJ(w zr;>_xNVHA%X1`PFDF0Aahom*Orc%K59&Or#u3Ptisq6kPlJAC{Ezj0ggGuBxT}?{*N{Tlp0(9+}qxUJ1*Rd?uj*5FXzMa@-T{Ga|&f zrPn8)083i>ZRHPBZ$;M3ccb0-?{BnfqoOCap5=0$M`ZA|Jt9p#LLY~q$-4M{6+&b_ z`w`Bch?TL!QMq*boI1Z2Uba%Q_W7<2R+f|gs5;HzyTAPbx$J;=Z6jGfvYLt%*o=(L z=#rUtPV8KTC>m*N;;B>fX_0X5pURrwg4#jq2d-Crri=*wd1?CStAyr2X4fUKphVqp z^-1$09zs`jbtl(Ut19(XpmfDq1N!xAM{F=|y|>K2Z^^+G4+?jPtat;dWxb??pFVn| zK^!R}`3fC>>wr+-_{nzo)9mhrvUmcqQ#z$G15RdhTwENss&1xDKE7^9?8GOpY3BGv z$(cuMCzqwcs_h93)RH6w5a0Ja`A&9wvR6eSyIzblo~_Fio4#MW?-(#khC zhV9^X*v@@0C?dY^Xpu^JzLqVIzdC}(jd6HBFs2twsK|7%bYNiVe}Fiu;*q< zrSBjeosVD*yP4X}I(q)($!WmEmZ&*qFhcF%)b5~#-NEyvAwa9uO;l5CbrT6TZ`U@8 z)^x|C=K+i)ktX`&V(zOacv^@Jm-dZrI6PP5lTVJPwy0$^>Ln!Z*sDBDb*4C=a^bqeTd8zws0zal6fmr#h@Td z-a1Psr-L?y%W0y7=mzAl^J)J5hIQY>Adg6E??iDfbf_|<`WAb?3mXZ z-w|^N&jk1UntWE&8M1GM$7ol!dYVJ;lfPqH`mmfde>#mOelc^3OA$e*Q$+|meIef4NC)qd9xHiL_x;#Lsi?-_dsOuv2Tr;bNE5kK>dZc#uYDX z@}SWxh`)RLc)9+14M0x8GupIkKP_#&x42M9`t@0LDBy2C8^fItHtBS#BVc_eMlP^n z2=T9Tk4{jp5JmKd>q)ib&P9bG=~QSRSOO$_3!uMFVHD+stGDwovNUQa|8t8q&C{nc zx6s2rCU#X3h$oGgj{EJq!+g5tp~pBldTBO78=V*PfpIt<`YA^1o7Bo!#w3ancwqJA zk5bp{#eyjkf;KK`yE%z^4JbjZ`NS5*-r-4i&mQ#%^YYeFKSO2pswtS>K~u@^{L52e@-5Vbr9 z1|O17w!yQK$NoK+Jcf;&ruv-n@>~;b=v*#PE*cL1`yeobXQp%puDO@8cn5Ww*-ju# zN{NKdO0*Z;SV?AV{G(==c7k$0q(Lx?u(2jh07nR7nj%^r*T6$GXfi0%87xEowMmsu zt%@c|w*q1;tCxweu%0(%Lo8wZ2UrTi1aXYt&rdXxi(fqa954kmYbm8F%l-;~ktBT` z+i7c^>Tg%8{-tAmIdd&fvs&Y#X5Az-WrSrrv{*&k>7WIl3NipdC;~e$g!=d2Q!au> zxf?eV9?37WpMk+aE>KuZaal7!97852GG*p^?7e|4NVrp*YwuGSc87&oA(2q9dg4>i zcz&O@{)@h8FTB+Y3Xb{MuzgXaYygK*d>ROjfIWN0FIW(6Q)~;`Xh8@`(a6Dog9^L>`=_~7@9)SiEs@aBFJ$n?ZUPjp zNz!ZBTWM@lxTv%IKbRoLa~lB>bmxPq&tJP{4bfv(yq#=Yn;sB@1&M}EwoOu{$jG%R z0V2PhC!N^pHzsvO<9XWr2KxTfS@%`)iuQZ?MWpo$!E_g()x7uGJNKM{PhIO8C|en3@Vgc2L}ne6 zDl>kgRmk*!mM$v}+Hp|)A|hPQT`evc-WrcLay(alvQ20Mh&`U)yu|qv5lM^uo+ms) z8#Z7!Z6(g9>!AI58g%97KX|?hgnWRpu?A-ab<6s@Gx(?fl?N_j8{F8(Ap`CIjAu!P zt4k4gmdI~_WI|&GH2wc!S5XF$Shd(da)oGxU%0I{N7#gJQT+}&j`rjVT3o6|7y9(f zcRsoZJ0)3k1g>?Z0R`$fK>MJh=GunFD1&fW-hk5NyK|VNQyv&fBZLWr$q0NM5Nd+QiO@)ZjJ);aiv0TI$x%a?{+tZ>RJ&hizy=6P z^qHWM^%wuS>fA{d7I|X^Xl{~rQ-0Iv(Uh1??6=#tYuBAmRx#7frqqjPcwe`mv*(of&0WuOay0L7i5NXYC(zTd67==O`2(uTq+g zx0BJ9Yze>fb-Z-(DZ845)LOpW)?ymw?H_n1djbMXnQvoWG=|gKD0ctJ_BH4?;1!{_ zf#39=tZ({(dJ-9#gbLH|yR`sBCEK4V1MG~Dy)hoxIp*VZa6y0h`0?X$Bs%j~=PgV) zF~E!09I#dHUF-=*6B2SLErlovY%?NgQ&4grx2~HL=deFkxAiP791XEK4+XuM0~i;p zb>_iVTj|&JwP+!p;}a-HZ3ss{pV#S9iq@(_Yv_El2@cpV}uOE0W?<)Fb%L`@FLoz;6^xKeqT zWwH=p9T>e-1BJFwB2zv6)RAI4^>_KP3s|3fJd1yznyHqO(sThXp!`jcC&vraN@I z#3v>!Rz!jkTiCI7F-$whXRA`-Rk z;E5uZWrTcETB9%w1AX1$gB*(&9-K`w*!+hRhAknN|;e?H`L*T4UO46|)N z*fg~K`qpc9M8Mc}e%?me=Sm;sc&C}X%6aZxIx^wWtGcV_mO`ToYcAR)V5EC9F0R!V z<0lprU>NL~@yq?lx}|@^_B1}uVI(ZO%8>3%kwfP-!^g z?IimSnsc-Q>^7^K`gd-rPK#S$wOTX1YLYoX@R5n{eq9R-!zK--4PrB+fN-5ns%y2B z{ITju0Wqqk&-Q59Yi_#LPx+tzfN_89N6fwtf2-n5Uc>)zq&GqRA`S4rwMjLn&G!Qe zBn7{sqSr;5^e#R3%|SvXn*{NCgq@26tP<0Z3R5p9I2|nidUp2um{E*IIShjJKPMVy zGlwDEyLd)7eOS;>6Ju;6r~K;N+OR+S278Ea%{AJ~{5XxMD2@{U$;sd65DTx}IoatZ zhe%sT=Sj$_M`A4E9(}GoPjl0yPYk2gd-b}_JQT8@pcKLmkkofW=9`aLFukB4h|;l# zoDe>AJF z5Es{<9dHvkG|PBEMveFyLOf=i&@L4-SX-|6&b!eQ(b_mi#{)^xkM_#C0IqsiU|ICXNn~Mmnq|>X00!DahDb^E z%L1m6k(Ui|8J;+5Z&JO?pc8W;D4<(r&Dx+6{I`P$3{dF+kzV1C&NON}hpAH7Y5*gC z*B|aP5yjDwJmz(i_JIz;c=pxJZ{Hia+UDVD*KV{k1_^+(3ii7R+r~;ii9knlp?A+& zoBbr+_Nth48Vh3yfGFyQjVk?eVXe4RMODPSMk6(;v8EisDR^islF_E#rJ&}SnFnJ<5?QIw%=mqG;jR2 z;O<>=I*;VL>Y_BBv$m{%$uIm=h+9T2ZMe&FVLA`d*K?W|04|H>$IrZKibu!F$#Y-t zapM!BM~uq8aqU^_6$Ara@M;R)$fRXn>I~Pm#;2y7F*{Zy{j`ho0r|xgL#OwK7VmRp zp`0=&H5TPawqe$BwZp8mLiA)(d5EE(#?*{i1m;RKq=@wS&G)K*j3N0Mfv{eExNO^C zXR7Yl7*c_K35N_Z@Xw5~i9VQ`dF9oMBYbKJDN9ToPN&iKmTO&Q%jkla#Ghn9$HC2J za-55rU#{X2UWjLi=w_#hT-ryvN9iLr3K zLEA4otsbRDFPGg>1f`58*^tCOq!I0Xe0&tV4(5nQg7klly!0hVnajEN9@7q>k0loJ zOAH)zwc{delFzz-mcHZif+fEY@;&uAyx#o2H*_3SW`34o_|6-^NesR7U7b^|zm ze9#pd;ccdb7zBZIog%6Uz~Gni=k16gAT%OV;uIjuqltRwn-`})j-;8#{Ue)6_}t>Us0Ls8%>3@3F*UC8iDtU6Q=-fUxU`JOV=gAE?<8Qns`~>SSY#Z`1s$b zW(ZH($x=lY({=70@p<6Bm;QGojO7ivXWQxM^U{1;9m0Ij9mqaJF6Yo0-!Q50_FFqT zUhmuTS_Ot^DuZZjLhi@y!&+kPbl|{loam`{ zK@yTlwL#01#Av`yfItHx8f5ne%^lV(RPIN!YnU7n^E~ECPQQNLm*+3FF%Vz>7TOuG z*PSq!+|P^iw+f;M2|*OtIJr4eQU(wo%a-%QmDOo%_`sq~&1W2(&z$6U&pp1#3f@^3 z?Ybqa<2+=bXv2=wt9;9tbe`q65-dO*)cU=Py`j-48)EpQm?oY)DVkWp=kBicY6!!E zM%p4n8O_T2hO&VnqfpRXL$l0KlfhqxHV69l{=BsGs;G#@;v;ljk8y`_o+Wz%N2W#L zm9kc#5V?XBJSiG9^vG?%l+BOjzJ{RF+fGRLE~tgky-Ke%&2w>?z%@n&EbO)6qPk$0 z*WnGvVFqoSofCH25NfL=#8M)Lc#%cH&MaK6wUvS+HhIjup0wYV3#;x4vZbxbvZjS zL&Bw7=uUY|7grOBKwS3**DvWeFUjKdK^1tIfmMtxe0?_4rfr}CBAfHVuw?O&P*W3)vT^;>ZukobcY^hwsGUa6GS<1yy~pfM zW36dZ#ZsSQlh*nV89r~O=!ROwT{OYR08~=~n84vA*fallHtZAyto^6Dx}D-2Vmo(` zuEZhM1w1RK`%)4Id5MnFL#2{gm6PuFSCRcCEIgGgrZ%V$B^eQynH;1= z2^WcD{~3mTtI55@UNKNn#!lAefH_6^yYGD0pQ!0dij%X&G0x z%9fiR_(A+ggd&KSm|iY#E4wjW!dbZ?8x}tqv0&2P#eU>n(2#kM4ku0d&L?4~GlQ@% z1LsL}4-^y%ts@SxL2o#*oNJJY%ZOBI$Bc>H__$H)_eTpT$zhAc2M89d)4DXp-pk97 zmKd#BRd7+$7D`(kxVYZK%uz=k@`rOCZ5UmFMRHM+UM|N0jpTx3I7%*uoi{{rzd~9ypmTTm&cz zWLvoSHh+JnIvOjVzX)j9fMnq9MyxCx9;wX$N%__Lbwg*yoimZ}ztmTt zk2^+&?jvn=I3t6Cobvw%R=kn64C(lGLHp+hsLhj1v=!xu><^Xm@@oy`eS7> zPXV@no~!G1CJ`d=LEw5I3YRbrW(_)@#kTi(;ml$S%Dp^kflDr;kWs+zy4Gr^SVXwh z=-cb4LATAPzcN^K#eW}9e)hm!v?n1CdpMQX6??CJmYe+5>fMJ(Dfr^9w=QmFEvuc( z%`L5tURY6P3P8C*<@=uFN;P~AF{Be;K&FNCE211?VNy_O9}|`Dty=rK%$++P$^@c^ zPJ1Ml7APL3xDTm|vVWG>2e#-zOfAzlN)8C<^?N>7WL7e4*Y zzJZnp!vh!TsS6P2?mieYF6(AtAaoYE6r)lU6^I-B6#hAQ`GZaUh;6V!ftZx~8n65F zrYd!m8%!f${l9TC^z`(m(PMMp23PD|ZERH0TzT4H#j|n9WxiPT@(?j0U!l1{Tq$Y0 z7n2JEOLd|ze_!@O=vXibVi0poS`Ptp3*1H7dyA2TFtD#qQNox%P zA8_c-Ld`#*$~#Hm#nkv}x`uYFdI206<+m%7<-QIQBpb@&k?Q0*3t+s@1A8LQAhY#3=m( Q1^-b_m}(Yp`qg*;2Y+^kqyPW_ diff --git a/ui-tests/test/menus.spec.ts-snapshots/opened-menu-view-firefox-linux.png b/ui-tests/test/menus.spec.ts-snapshots/opened-menu-view-firefox-linux.png index 0410efbf6c173a15f13cf9db43adc3c14cd4d69d..2f77e6ca9ec7e53e131251ea313061f417d8dcf2 100644 GIT binary patch literal 36420 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
P=n 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 OH2xpsPMgmA{{H~SXeZbJ literal 33689 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

Q{d_9(R>Ev=wt8u>PB&+P2lT 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 Z9z~_2`C~lsMIi Date: Wed, 3 Aug 2022 10:39:06 +0200 Subject: [PATCH 06/57] Add a test on Table of Contents --- ui-tests/test/notebook.spec.ts | 25 +++++++++ ui-tests/test/notebooks/simple_toc.ipynb | 65 ++++++++++++++++++++++++ 2 files changed, 90 insertions(+) create mode 100644 ui-tests/test/notebooks/simple_toc.ipynb diff --git a/ui-tests/test/notebook.spec.ts b/ui-tests/test/notebook.spec.ts index 45531ca2fa..f92804d135 100644 --- a/ui-tests/test/notebook.spec.ts +++ b/ui-tests/test/notebook.spec.ts @@ -99,4 +99,29 @@ test.describe('Notebook', () => { // check the short output area is not auto scrolled expect(await checkCell(1)).toBe(false); }); + + test('Open table of content left panel', async ({ page, tmpPath }) => { + const notebook = 'simple_toc.ipynb'; + const menuPath = 'View>Show Left Sidebar>Table Of Contents'; + await page.contents.uploadFile( + path.resolve(__dirname, `./notebooks/${notebook}`), + `${tmpPath}/${notebook}` + ); + await page.goto(`notebooks/${tmpPath}/${notebook}`); + + await waitForKernelReady(page); + + await page.menu.open(menuPath); + + await expect( + page.locator( + '.jp-SidePanel-content > .jp-TableOfContents-tree > .jp-TableOfContents-content' + ) + ).toHaveCount(1); + await expect( + page.locator( + '.jp-SidePanel-content > .jp-TableOfContents-tree > .jp-TableOfContents-content > .jp-tocItem' + ) + ).toHaveCount(3); + }); }); diff --git a/ui-tests/test/notebooks/simple_toc.ipynb b/ui-tests/test/notebooks/simple_toc.ipynb new file mode 100644 index 0000000000..d74f1600cf --- /dev/null +++ b/ui-tests/test/notebooks/simple_toc.ipynb @@ -0,0 +1,65 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# part 1" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## subpart 1" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## subpart 2" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# part 2" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# part 3" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.5" + }, + "vscode": { + "interpreter": { + "hash": "0508733a7f73e6ddc798c911e704189485d436785f398d29dd8c20885fc63cb3" + } + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} From 72756df8820e1c1a212fc5483e87edf20912c496 Mon Sep 17 00:00:00 2001 From: Nicolas Brichet Date: Wed, 3 Aug 2022 12:34:35 +0200 Subject: [PATCH 07/57] Fix menu entries in tree and editor views --- packages/application-extension/src/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/application-extension/src/index.ts b/packages/application-extension/src/index.ts index 4bfe61968b..42294c2300 100644 --- a/packages/application-extension/src/index.ts +++ b/packages/application-extension/src/index.ts @@ -230,7 +230,7 @@ const menus: JupyterFrontEndPlugin = { // always disable the Tabs menu menu.tabsMenu.dispose(); - const page = PageConfig.getOption('retroPage'); + const page = PageConfig.getOption('notebookPage'); switch (page) { case 'consoles': case 'terminals': From ab7b0ad38da23423cbc169975b168130a6cc206f Mon Sep 17 00:00:00 2001 From: Nicolas Brichet Date: Thu, 4 Aug 2022 11:53:42 +0200 Subject: [PATCH 08/57] Update the menu entries when widgets are added or removed from side panels --- packages/application-extension/src/index.ts | 52 +++------ packages/application/src/shell.ts | 117 +++++++++++++++++++- 2 files changed, 126 insertions(+), 43 deletions(-) diff --git a/packages/application-extension/src/index.ts b/packages/application-extension/src/index.ts index 42294c2300..f683a883bf 100644 --- a/packages/application-extension/src/index.ts +++ b/packages/application-extension/src/index.ts @@ -44,7 +44,7 @@ import { PromiseDelegate } from '@lumino/coreutils'; import { DisposableDelegate, DisposableSet } from '@lumino/disposable'; -import { Menu, Widget } from '@lumino/widgets'; +import { Widget } from '@lumino/widgets'; /** * The default notebook factory. @@ -671,47 +671,25 @@ const sidebarVisibility: JupyterFrontEndPlugin = { } }); - const leftSidebarMenu = new Menu({ commands: app.commands }); - leftSidebarMenu.title.label = trans.__('Show Left Sidebar'); - - const rightSidebarMenu = new Menu({ commands: app.commands }); - rightSidebarMenu.title.label = trans.__('Show Right Sidebar'); - app.restored.then(() => { - const leftWidgets = notebookShell.widgetsList('left'); - leftWidgets.forEach(widget => { - leftSidebarMenu.addItem({ - command: CommandIDs.togglePanel, - args: { - side: 'left', - title: widget.title.caption, - id: widget.id - } + // Create a menu entry for left and right panel and update it with current widgets + if (menu) { + notebookShell.leftHandler.createMenuEntry({ + mainMenuEntry: menu.viewMenu, + commandRegistry: app.commands, + entryLabel: trans.__('Show Left Sidebar'), + command: CommandIDs.togglePanel }); - }); - const rightWidgets = notebookShell.widgetsList('right'); - rightWidgets.forEach(widget => { - rightSidebarMenu.addItem({ - command: CommandIDs.togglePanel, - args: { - side: 'right', - title: widget.title.caption, - id: widget.id - } + notebookShell.rightHandler.createMenuEntry({ + mainMenuEntry: menu.viewMenu, + commandRegistry: app.commands, + entryLabel: trans.__('Show Right Sidebar'), + command: CommandIDs.togglePanel }); - }); - - const menuItemsToAdd: Menu.IItemOptions[] = []; - if (leftWidgets.length > 0) { - menuItemsToAdd.push({ type: 'submenu', submenu: leftSidebarMenu }); - } - if (rightWidgets.length > 0) { - menuItemsToAdd.push({ type: 'submenu', submenu: rightSidebarMenu }); - } - if (menu && menuItemsToAdd) { - menu.viewMenu.addGroup(menuItemsToAdd, 2); + notebookShell.leftHandler.updateMenu(); + notebookShell.rightHandler.updateMenu(); } }); }, diff --git a/packages/application/src/shell.ts b/packages/application/src/shell.ts index f06552891d..8b1b6c98a5 100644 --- a/packages/application/src/shell.ts +++ b/packages/application/src/shell.ts @@ -4,9 +4,12 @@ import { JupyterFrontEnd } from '@jupyterlab/application'; import { PageConfig } from '@jupyterlab/coreutils'; import { DocumentRegistry } from '@jupyterlab/docregistry'; +import { IRankedMenu } from '@jupyterlab/ui-components'; import { ArrayExt, find } from '@lumino/algorithm'; +import { CommandRegistry } from '@lumino/commands'; import { PromiseDelegate, Token } from '@lumino/coreutils'; +import { IDisposable } from '@lumino/disposable'; import { Message, MessageLoop, IMessageHandler } from '@lumino/messaging'; import { Debouncer } from '@lumino/polling'; import { ISignal, Signal } from '@lumino/signaling'; @@ -14,6 +17,7 @@ import { ISignal, Signal } from '@lumino/signaling'; import { BoxLayout, Layout, + Menu, Panel, SplitPanel, StackedPanel, @@ -47,8 +51,8 @@ export class NotebookShell extends Widget implements JupyterFrontEnd.IShell { this._topHandler = new Private.PanelHandler(); this._menuHandler = new Private.PanelHandler(); - this._leftHandler = new Private.SideBarHandler(); - this._rightHandler = new Private.SideBarHandler(); + this._leftHandler = new Private.SideBarHandler('left'); + this._rightHandler = new Private.SideBarHandler('right'); this._main = new Panel(); const topWrapper = (this._topWrapper = new Panel()); const menuWrapper = (this._menuWrapper = new Panel()); @@ -537,12 +541,14 @@ namespace Private { /** * Construct a new side bar handler. */ - constructor() { + constructor(area: 'left' | 'right') { + this._area = area; this._stackedPanel = new StackedPanel(); this._stackedPanel.hide(); this._current = null; this._lastCurrent = null; this._stackedPanel.widgetRemoved.connect(this._onWidgetRemoved, this); + this._sideBarMenu = null; } get current(): Widget | null { @@ -574,6 +580,13 @@ namespace Private { return this._updated; } + /** + * Associate a menu entry to the sidebar. + */ + createMenuEntry(options: SideBarMenuOption): void { + this._sideBarMenu = new SideBarMenu(options); + } + /** * Expand the sidebar. * @@ -630,8 +643,7 @@ namespace Private { ArrayExt.insert(this._items, index, item); this._stackedPanel.insertWidget(index, widget); - // TODO: Update menu to include widget in appropriate position - + this.updateMenu(); this._refreshVisibility(); } @@ -651,6 +663,14 @@ namespace Private { this._refreshVisibility(); } + /** + * Update menu entries + */ + updateMenu(): void { + if (!this._sideBarMenu) return; + const widgets = this.stackedPanel.widgets; + this._sideBarMenu?.updateMenu(widgets, this._area); + } /** * Find the insertion index for a rank item. */ @@ -689,15 +709,100 @@ namespace Private { this._lastCurrent = null; } ArrayExt.removeAt(this._items, this._findWidgetIndex(widget)); - // TODO: Remove the widget from the menu + + this.updateMenu(); this._refreshVisibility(); } + private _area: 'left' | 'right'; private _isHiddenByUser = false; private _items = new Array(); private _stackedPanel: StackedPanel; private _current: Widget | null; private _lastCurrent: Widget | null; private _updated: Signal = new Signal(this); + private _sideBarMenu: SideBarMenu | null; + } + + /** + * A class which manages the menu entry associated to the side bar. + */ + export class SideBarMenu { + /** + * Construct a new side bar handler. + */ + constructor(options: SideBarMenuOption) { + this._commandRegistry = options.commandRegistry; + this._command = options.command; + this._mainMenuEntry = options.mainMenuEntry; + this._entryLabel = options.entryLabel; + } + + /** + * Update the menu by disposing the previous one and rebuilding a new one from widgets list. + */ + updateMenu(widgets: Readonly, area: 'left' | 'right'): void { + // Remove the previous menu entry. + if (this._menu) this._menu.dispose(); + + // Build the new menu entry from widgets list. + let menu = new Menu({ commands: this._commandRegistry }); + menu.title.label = this._entryLabel; + widgets.forEach(widget => { + menu.addItem({ + command: this._command, + args: { + side: area, + title: widget.title.caption, + id: widget.id + } + }); + }); + + // If there are widgets, add the menu to the main menu entry. + if (widgets.length > 0) { + this._menu = this._mainMenuEntry.addItem({ + type: 'submenu', + submenu: menu + }); + } + } + + _entryLabel: string; + _command: string; + _mainMenuEntry: IRankedMenu; + _commandRegistry: CommandRegistry; + _menu: IDisposable | null = null; } + + /** + * An interface for the options to include in SideBarMenu constructor. + */ + type SideBarMenuOption = { + /** + * The main menu entry where the sidebar menu should be added. + */ + mainMenuEntry: IRankedMenu; + + /** + * Tha label of the sidebar menu. + */ + entryLabel: string; + + /** + * The application command registry, necessary when updating the sidebar menu. + */ + commandRegistry: CommandRegistry; + + /** + * The command to call from each sidebar menu entry. + * + * ### Notes + * That command required 3 args : + * side: 'left' | 'right', the area to toggle + * title: string, label of the command + * id: string, id of the widget to activate + */ + command: string; + }; } From e2ed555dbfad55eec98033b0eb92df5e7af984af Mon Sep 17 00:00:00 2001 From: Nicolas Brichet Date: Thu, 4 Aug 2022 11:55:00 +0200 Subject: [PATCH 09/57] Fix tha activateById on side panels widgets --- packages/application-extension/src/index.ts | 2 -- packages/application/src/shell.ts | 29 ++++++++++++++------- 2 files changed, 19 insertions(+), 12 deletions(-) diff --git a/packages/application-extension/src/index.ts b/packages/application-extension/src/index.ts index f683a883bf..4f26655ce6 100644 --- a/packages/application-extension/src/index.ts +++ b/packages/application-extension/src/index.ts @@ -637,7 +637,6 @@ const sidebarVisibility: JupyterFrontEndPlugin = { case 'left': if (notebookShell.leftCollapsed) { notebookShell.activateById(args['id'] as string); - notebookShell.expandLeft(); } else { notebookShell.collapseLeft(); if (notebookShell.currentWidget) { @@ -648,7 +647,6 @@ const sidebarVisibility: JupyterFrontEndPlugin = { case 'right': if (notebookShell.rightCollapsed) { notebookShell.activateById(args['id'] as string); - notebookShell.expandRight(); } else { notebookShell.collapseRight(); if (notebookShell.currentWidget) { diff --git a/packages/application/src/shell.ts b/packages/application/src/shell.ts index 8b1b6c98a5..570a1092c1 100644 --- a/packages/application/src/shell.ts +++ b/packages/application/src/shell.ts @@ -232,7 +232,13 @@ export class NotebookShell extends Widget implements JupyterFrontEnd.IShell { const widget = find(this.widgets(area), w => w.id === id); if (widget) { - widget.activate(); + if (area === 'left') { + if (this.leftCollapsed) this.expandLeft(id); + else this.collapseLeft(); + } else if (area === 'right') { + if (this.rightCollapsed) this.expandRight(id); + else this.collapseRight(); + } else widget.activate(); } } } @@ -323,12 +329,12 @@ export class NotebookShell extends Widget implements JupyterFrontEnd.IShell { /** * Expand the left panel to show the sidebar with its widget. */ - expandLeft(): void { + expandLeft(id?: string): void { if (!this.sidePanelsVisible()) { throw new Error('Left panel is not available on this page'); } this.leftPanel.show(); - this._leftHandler.expand(); // Show the current widget, if any + this._leftHandler.expand(id); // Show the current widget, if any this._onLayoutModified(); } @@ -347,12 +353,12 @@ export class NotebookShell extends Widget implements JupyterFrontEnd.IShell { /** * Expand the right panel to show the sidebar with its widget. */ - expandRight(): void { + expandRight(id?: string): void { if (!this.sidePanelsVisible()) { throw new Error('Right panel is not available on this page'); } this.rightPanel.show(); - this._rightHandler.expand(); // Show the current widget, if any + this._rightHandler.expand(id); // Show the current widget, if any this._onLayoutModified(); } @@ -594,11 +600,14 @@ namespace Private { * This will open the most recently used widget, or the first widget * if there is no most recently used. */ - expand(): void { - const visibleWidget = this.current; - if (visibleWidget) { - this._current = visibleWidget; - this.activate(visibleWidget.id); + expand(id?: string): void { + if (id) this.activate(id); + else { + const visibleWidget = this.current; + if (visibleWidget) { + this._current = visibleWidget; + this.activate(visibleWidget.id); + } } } From b02eb05750541189580667ccd0301d2b93f5e0c1 Mon Sep 17 00:00:00 2001 From: Nicolas Brichet Date: Thu, 4 Aug 2022 17:26:37 +0200 Subject: [PATCH 10/57] Fix some test snapshots and css --- packages/application/style/base.css | 3 --- packages/application/style/index.css | 1 + packages/application/style/index.js | 1 + .../opened-menu-view-chromium-linux.png | Bin 43924 -> 43856 bytes .../opened-menu-view-firefox-linux.png | Bin 36420 -> 36329 bytes 5 files changed, 2 insertions(+), 3 deletions(-) diff --git a/packages/application/style/base.css b/packages/application/style/base.css index ab649101d3..35378129f5 100644 --- a/packages/application/style/base.css +++ b/packages/application/style/base.css @@ -80,6 +80,3 @@ body[data-notebook='notebooks'] #main-panel { body[data-notebook='notebooks'] #spacer-widget { min-height: unset; } - -/* Sibling imports */ -@import './sidepanel.css'; diff --git a/packages/application/style/index.css b/packages/application/style/index.css index 4c504055e4..80ff961161 100644 --- a/packages/application/style/index.css +++ b/packages/application/style/index.css @@ -8,3 +8,4 @@ @import url('~@jupyterlab/ui-components/style/index.css'); @import url('./base.css'); +@import url('./sidepanel.css'); diff --git a/packages/application/style/index.js b/packages/application/style/index.js index bac719f165..a84ae1e2b5 100644 --- a/packages/application/style/index.js +++ b/packages/application/style/index.js @@ -8,3 +8,4 @@ import '@jupyterlab/mainmenu/style/index.js'; import '@jupyterlab/ui-components/style/index.js'; import './base.css'; +import './sidepanel.css'; diff --git a/ui-tests/test/menus.spec.ts-snapshots/opened-menu-view-chromium-linux.png b/ui-tests/test/menus.spec.ts-snapshots/opened-menu-view-chromium-linux.png index 94365ed14f1045819437127d68ab105d4f18d141..d7f425f8966c328e9ab9bb8d4f534a1ce35a28a4 100644 GIT binary patch literal 43856 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 literal 43924 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 Rfr5VwMo%1dUVq-E{|AuE`f~sP diff --git a/ui-tests/test/menus.spec.ts-snapshots/opened-menu-view-firefox-linux.png b/ui-tests/test/menus.spec.ts-snapshots/opened-menu-view-firefox-linux.png index 2f77e6ca9ec7e53e131251ea313061f417d8dcf2..c7bd8a43c3411899661a1ba3f69b07242405bb96 100644 GIT binary patch literal 36329 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
P=n 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 OH2xpsPMgmA{{H~SXeZbJ From 45deda1f6c4325b905e439589897999dfc6cb4d6 Mon Sep 17 00:00:00 2001 From: Nicolas Brichet Date: Thu, 4 Aug 2022 22:46:38 +0200 Subject: [PATCH 11/57] Add NotebookTools widget in right panel --- app/index.js | 2 ++ app/package.json | 2 ++ packages/application-extension/src/index.ts | 9 +++++++-- ui-tests/test/notebook.spec.ts | 18 ++++++++++++++++++ 4 files changed, 29 insertions(+), 2 deletions(-) diff --git a/app/index.js b/app/index.js index d85d37b91b..981c8a001a 100644 --- a/app/index.js +++ b/app/index.js @@ -91,6 +91,7 @@ async function main() { '@jupyterlab/apputils-extension:toolbar-registry' ].includes(id) ), + require('@jupyterlab/celltags-extension'), require('@jupyterlab/codemirror-extension').default.filter(({ id }) => [ '@jupyterlab/codemirror-extension:services', @@ -138,6 +139,7 @@ async function main() { '@jupyterlab/notebook-extension:export', '@jupyterlab/notebook-extension:factory', '@jupyterlab/notebook-extension:toc', + '@jupyterlab/notebook-extension:tools', '@jupyterlab/notebook-extension:tracker', '@jupyterlab/notebook-extension:widget-factory' ].includes(id) diff --git a/app/package.json b/app/package.json index 787d365d06..34579f6499 100644 --- a/app/package.json +++ b/app/package.json @@ -29,6 +29,7 @@ "@jupyterlab/cell-toolbar": "~4.0.0-alpha.14", "@jupyterlab/cell-toolbar-extension": "~4.0.0-alpha.14", "@jupyterlab/celltags": "~4.0.0-alpha.14", + "@jupyterlab/celltags-extension": "~4.0.0-alpha.14", "@jupyterlab/codeeditor": "~4.0.0-alpha.14", "@jupyterlab/codemirror-extension": "~4.0.0-alpha.14", "@jupyterlab/collaboration": "~4.0.0-alpha.14", @@ -114,6 +115,7 @@ "@jupyterlab/apputils-extension": "^4.0.0-alpha.14", "@jupyterlab/cell-toolbar-extension": "^4.0.0-alpha.14", "@jupyterlab/celltags": "^4.0.0-alpha.14", + "@jupyterlab/celltags-extension": "^4.0.0-alpha.14", "@jupyterlab/codemirror-extension": "^4.0.0-alpha.14", "@jupyterlab/collaboration-extension": "^4.0.0-alpha.14", "@jupyterlab/completer-extension": "^4.0.0-alpha.14", diff --git a/packages/application-extension/src/index.ts b/packages/application-extension/src/index.ts index 4f26655ce6..a3abaf3fc2 100644 --- a/packages/application-extension/src/index.ts +++ b/packages/application-extension/src/index.ts @@ -28,6 +28,8 @@ import { DocumentWidget } from '@jupyterlab/docregistry'; import { IMainMenu } from '@jupyterlab/mainmenu'; +import { INotebookTools } from '@jupyterlab/notebook'; + import { ISettingRegistry } from '@jupyterlab/settingregistry'; import { ITranslator } from '@jupyterlab/translation'; @@ -595,13 +597,14 @@ const topVisibility: JupyterFrontEndPlugin = { const sidebarVisibility: JupyterFrontEndPlugin = { id: '@jupyter-notebook/application-extension:sidebar', requires: [INotebookShell, ITranslator], - optional: [IMainMenu, ISettingRegistry], + optional: [IMainMenu, ISettingRegistry, INotebookTools], activate: ( app: JupyterFrontEnd, notebookShell: INotebookShell, translator: ITranslator, menu: IMainMenu | null, - settingRegistry: ISettingRegistry | null + settingRegistry: ISettingRegistry | null, + notebookTools: INotebookTools | null ) => { if (!sidePanelsEnabled()) { return; @@ -688,6 +691,8 @@ const sidebarVisibility: JupyterFrontEndPlugin = { notebookShell.leftHandler.updateMenu(); notebookShell.rightHandler.updateMenu(); + + if (notebookTools) notebookShell.add(notebookTools, 'right'); } }); }, diff --git a/ui-tests/test/notebook.spec.ts b/ui-tests/test/notebook.spec.ts index f92804d135..2a1168f4c4 100644 --- a/ui-tests/test/notebook.spec.ts +++ b/ui-tests/test/notebook.spec.ts @@ -124,4 +124,22 @@ test.describe('Notebook', () => { ) ).toHaveCount(3); }); + + test('Open notebook tools right panel', async ({ page, tmpPath }) => { + const notebook = 'simple.ipynb'; + const menuPath = 'View>Show Right Sidebar>Table Of Contents'; + await page.contents.uploadFile( + path.resolve(__dirname, `./notebooks/${notebook}`), + `${tmpPath}/${notebook}` + ); + await page.goto(`notebooks/${tmpPath}/${notebook}`); + + await waitForKernelReady(page); + + await page.menu.open(menuPath); + + await page.isVisible('#notebook-tools.jp-NotebookTools'); + + await page.isVisible('#notebook-tools.jp-NotebookTools > #add-tag.tag'); + }); }); From d47f8c4ea333e6cba8168e39fc71b688a58f0cbb Mon Sep 17 00:00:00 2001 From: Nicolas Brichet Date: Fri, 5 Aug 2022 08:55:01 +0200 Subject: [PATCH 12/57] Loads side panel widgets only on notebook page --- app/index.js | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/app/index.js b/app/index.js index 981c8a001a..d6fcac690a 100644 --- a/app/index.js +++ b/app/index.js @@ -91,7 +91,6 @@ async function main() { '@jupyterlab/apputils-extension:toolbar-registry' ].includes(id) ), - require('@jupyterlab/celltags-extension'), require('@jupyterlab/codemirror-extension').default.filter(({ id }) => [ '@jupyterlab/codemirror-extension:services', @@ -138,8 +137,6 @@ async function main() { '@jupyterlab/notebook-extension:code-console', '@jupyterlab/notebook-extension:export', '@jupyterlab/notebook-extension:factory', - '@jupyterlab/notebook-extension:toc', - '@jupyterlab/notebook-extension:tools', '@jupyterlab/notebook-extension:tracker', '@jupyterlab/notebook-extension:widget-factory' ].includes(id) @@ -150,12 +147,6 @@ async function main() { require('@jupyterlab/terminal-extension'), require('@jupyterlab/theme-light-extension'), require('@jupyterlab/theme-dark-extension'), - require('@jupyterlab/toc-extension').default.filter(({ id }) => - [ - '@jupyterlab/toc-extension:registry', - '@jupyterlab/toc-extension:tracker' - ].includes(id) - ), require('@jupyterlab/translation-extension'), // Add the "Hub Control Panel" menu option when running in JupyterHub require('@jupyterlab/collaboration-extension'), @@ -185,11 +176,20 @@ async function main() { } case 'notebooks': { baseMods = baseMods.concat([ + require('@jupyterlab/celltags-extension'), require('@jupyterlab/cell-toolbar-extension'), require('@jupyterlab/notebook-extension').default.filter(({ id }) => [ '@jupyterlab/notebook-extension:completer', - '@jupyterlab/notebook-extension:search' + '@jupyterlab/notebook-extension:search', + '@jupyterlab/notebook-extension:toc', + '@jupyterlab/notebook-extension:tools' + ].includes(id) + ), + require('@jupyterlab/toc-extension').default.filter(({ id }) => + [ + '@jupyterlab/toc-extension:registry', + '@jupyterlab/toc-extension:tracker' ].includes(id) ), require('@jupyterlab/tooltip-extension').default.filter(({ id }) => From 6fec146471bb27f9d40653609de158c0b1e6184c Mon Sep 17 00:00:00 2001 From: Nicolas Brichet Date: Fri, 5 Aug 2022 17:22:04 +0200 Subject: [PATCH 13/57] update snapshots and selector in ui-tests --- .../opened-menu-view-chromium-linux.png | Bin 43856 -> 46166 bytes .../opened-menu-view-firefox-linux.png | Bin 36329 -> 38315 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/ui-tests/test/menus.spec.ts-snapshots/opened-menu-view-chromium-linux.png b/ui-tests/test/menus.spec.ts-snapshots/opened-menu-view-chromium-linux.png index d7f425f8966c328e9ab9bb8d4f534a1ce35a28a4..268a28940c650c5d09a822e6c8ce499ad87f3a40 100644 GIT binary patch delta 12723 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 delta 10395 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 diff --git a/ui-tests/test/menus.spec.ts-snapshots/opened-menu-view-firefox-linux.png b/ui-tests/test/menus.spec.ts-snapshots/opened-menu-view-firefox-linux.png index c7bd8a43c3411899661a1ba3f69b07242405bb96..d14c7bbc08973f0664b4c1d0153daa67b9e43a43 100644 GIT binary patch delta 20879 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 From e2592c3a0b457dce3ba6c97148351904bd371185 Mon Sep 17 00:00:00 2001 From: Nicolas Brichet Date: Mon, 8 Aug 2022 16:37:31 +0200 Subject: [PATCH 14/57] Some refactoring and cleaning --- packages/application-extension/src/index.ts | 4 ++-- packages/application/src/app.ts | 4 +--- packages/application/src/shell.ts | 2 +- .../opened-menu-view-chromium-linux.png | Bin 46166 -> 44836 bytes .../opened-menu-view-firefox-linux.png | Bin 38315 -> 37187 bytes .../top-hidden-darwin.png | Bin 30085 -> 0 bytes 6 files changed, 4 insertions(+), 6 deletions(-) delete mode 100644 ui-tests/test/settings.spec.ts-snapshots/top-hidden-darwin.png diff --git a/packages/application-extension/src/index.ts b/packages/application-extension/src/index.ts index a3abaf3fc2..c44a57fc13 100644 --- a/packages/application-extension/src/index.ts +++ b/packages/application-extension/src/index.ts @@ -678,14 +678,14 @@ const sidebarVisibility: JupyterFrontEndPlugin = { notebookShell.leftHandler.createMenuEntry({ mainMenuEntry: menu.viewMenu, commandRegistry: app.commands, - entryLabel: trans.__('Show Left Sidebar'), + entryLabel: trans.__('Left Sidebar'), command: CommandIDs.togglePanel }); notebookShell.rightHandler.createMenuEntry({ mainMenuEntry: menu.viewMenu, commandRegistry: app.commands, - entryLabel: trans.__('Show Right Sidebar'), + entryLabel: trans.__('Right Sidebar'), command: CommandIDs.togglePanel }); diff --git a/packages/application/src/app.ts b/packages/application/src/app.ts index cd7a0a66f7..66299139f0 100644 --- a/packages/application/src/app.ts +++ b/packages/application/src/app.ts @@ -35,9 +35,7 @@ export class NotebookApp extends JupyterFrontEnd { } } - this.restored = this.shell.restored - .then(() => undefined) - .catch(() => undefined); + this.restored = this.shell.restored; this.restored.then(() => this._formatter.invoke()); } diff --git a/packages/application/src/shell.ts b/packages/application/src/shell.ts index 570a1092c1..439b9b3b16 100644 --- a/packages/application/src/shell.ts +++ b/packages/application/src/shell.ts @@ -762,7 +762,7 @@ namespace Private { command: this._command, args: { side: area, - title: widget.title.caption, + title: `Show ${widget.title.caption}`, id: widget.id } }); diff --git a/ui-tests/test/menus.spec.ts-snapshots/opened-menu-view-chromium-linux.png b/ui-tests/test/menus.spec.ts-snapshots/opened-menu-view-chromium-linux.png index 268a28940c650c5d09a822e6c8ce499ad87f3a40..6a5a7ee170f95300feedbcb2a64bda1c8e2cd610 100644 GIT binary patch delta 11368 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
KAzbvH6 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 WL;kkHL{PHjuR>>m5>o?B1NK3N$wCA56E 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 Q4gb^+Y8}W>GC%+S06Z$|NdN!< diff --git a/ui-tests/test/settings.spec.ts-snapshots/top-hidden-darwin.png b/ui-tests/test/settings.spec.ts-snapshots/top-hidden-darwin.png deleted file mode 100644 index 34ed79f43d697a714d68c598877948646b0aac88..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30085 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 x#ZqPFQ?E_ Date: Mon, 8 Aug 2022 18:29:05 +0200 Subject: [PATCH 15/57] Add command palette entries to open side bar panels --- packages/application-extension/src/index.ts | 26 +++- packages/application/src/shell.ts | 135 +++++++++++++++++++- 2 files changed, 152 insertions(+), 9 deletions(-) diff --git a/packages/application-extension/src/index.ts b/packages/application-extension/src/index.ts index c44a57fc13..f0a2ae1321 100644 --- a/packages/application-extension/src/index.ts +++ b/packages/application-extension/src/index.ts @@ -597,13 +597,14 @@ const topVisibility: JupyterFrontEndPlugin = { const sidebarVisibility: JupyterFrontEndPlugin = { id: '@jupyter-notebook/application-extension:sidebar', requires: [INotebookShell, ITranslator], - optional: [IMainMenu, ISettingRegistry, INotebookTools], + optional: [IMainMenu, ICommandPalette, INotebookTools], + autoStart: true, activate: ( app: JupyterFrontEnd, notebookShell: INotebookShell, translator: ITranslator, menu: IMainMenu | null, - settingRegistry: ISettingRegistry | null, + palette: ICommandPalette | null, notebookTools: INotebookTools | null ) => { if (!sidePanelsEnabled()) { @@ -673,7 +674,10 @@ const sidebarVisibility: JupyterFrontEndPlugin = { }); app.restored.then(() => { - // Create a menu entry for left and right panel and update it with current widgets + // Add the notebook tools in right area. + if (notebookTools) notebookShell.add(notebookTools, 'right'); + + // Create a menu entry for left and right panel and update it with current widgets. if (menu) { notebookShell.leftHandler.createMenuEntry({ mainMenuEntry: menu.viewMenu, @@ -691,12 +695,22 @@ const sidebarVisibility: JupyterFrontEndPlugin = { notebookShell.leftHandler.updateMenu(); notebookShell.rightHandler.updateMenu(); + } - if (notebookTools) notebookShell.add(notebookTools, 'right'); + // Add palette entries associated to the side panels. + if (palette) { + notebookShell.leftHandler.createPaletteEntry({ + commandPalette: palette, + command: CommandIDs.togglePanel + }); + + notebookShell.rightHandler.createPaletteEntry({ + commandPalette: palette, + command: CommandIDs.togglePanel + }); } }); - }, - autoStart: true + } }; /** diff --git a/packages/application/src/shell.ts b/packages/application/src/shell.ts index 439b9b3b16..645be24a48 100644 --- a/packages/application/src/shell.ts +++ b/packages/application/src/shell.ts @@ -2,6 +2,7 @@ // Distributed under the terms of the Modified BSD License. import { JupyterFrontEnd } from '@jupyterlab/application'; +import { ICommandPalette } from '@jupyterlab/apputils'; import { PageConfig } from '@jupyterlab/coreutils'; import { DocumentRegistry } from '@jupyterlab/docregistry'; import { IRankedMenu } from '@jupyterlab/ui-components'; @@ -555,6 +556,7 @@ namespace Private { this._lastCurrent = null; this._stackedPanel.widgetRemoved.connect(this._onWidgetRemoved, this); this._sideBarMenu = null; + this._sideBarPalette = null; } get current(): Widget | null { @@ -593,6 +595,16 @@ namespace Private { this._sideBarMenu = new SideBarMenu(options); } + /** + * Associate palette entries to the sidebar, and update it with the current widgets. + */ + createPaletteEntry(options: SideBarPaletteOption): void { + this._sideBarPalette = new SideBarPalette(options); + this.stackedPanel.widgets.forEach(widget => { + this._sideBarPalette!.addItem(widget, this._area); + }); + } + /** * Expand the sidebar. * @@ -654,6 +666,10 @@ namespace Private { this.updateMenu(); this._refreshVisibility(); + + if (this._sideBarPalette) { + this._sideBarPalette.addItem(widget, this._area); + } } /** @@ -721,6 +737,10 @@ namespace Private { this.updateMenu(); this._refreshVisibility(); + + if (this._sideBarPalette) { + this._sideBarPalette.removeItem(widget, this._area); + } } private _area: 'left' | 'right'; @@ -731,14 +751,15 @@ namespace Private { private _lastCurrent: Widget | null; private _updated: Signal = new Signal(this); private _sideBarMenu: SideBarMenu | null; + private _sideBarPalette: SideBarPalette | null; } /** - * A class which manages the menu entry associated to the side bar. + * A class to manage the menu entries associated to the side bar. */ export class SideBarMenu { /** - * Construct a new side bar handler. + * Construct a new side bar menu. */ constructor(options: SideBarMenuOption) { this._commandRegistry = options.commandRegistry; @@ -794,7 +815,7 @@ namespace Private { mainMenuEntry: IRankedMenu; /** - * Tha label of the sidebar menu. + * The label of the sidebar menu. */ entryLabel: string; @@ -814,4 +835,112 @@ namespace Private { */ command: string; }; + + /** + * A class to manages the palette entries associated to the side bar. + */ + export class SideBarPalette { + /** + * Construct a new side bar palette. + */ + constructor(options: SideBarPaletteOption) { + this._commandPalette = options.commandPalette; + this._command = options.command; + } + + /** + * Get a command palette item from the widget id and the area. + */ + getItem( + widget: Readonly, + area: 'left' | 'right' + ): SideBarPaletteItem | null { + const itemList = this._items; + for (let i = 0; i < itemList.length; i++) { + let item = itemList[i]; + if (item.widgetId == widget.id && item.area == area) { + return item; + break; + } + } + return null; + } + + /** + * Add an item to the command palette. + */ + addItem(widget: Readonly, area: 'left' | 'right'): void { + // Check if the item does not already exist. + if (this.getItem(widget, area)) return; + + // Add a new item in command palette. + const disposableDelegate = this._commandPalette.addItem({ + command: this._command, + category: 'View', + args: { + side: area, + title: `Show ${widget.title.caption}`, + id: widget.id + } + }); + + // Keep the disposableDelegate objet to be able to dispose of the item if the widget + // is remove from the side bar. + this._items.push({ + widgetId: widget.id, + area: area, + disposable: disposableDelegate + }); + } + + /** + * Remove an item from the command palette. + */ + removeItem(widget: Readonly, area: 'left' | 'right'): void { + const item = this.getItem(widget, area); + if (item) item.disposable.dispose(); + } + + _command: string; + _commandPalette: ICommandPalette; + _items: SideBarPaletteItem[] = []; + } + + type SideBarPaletteItem = { + /** + * The ID of the widget associated to the command palette. + */ + widgetId: string; + + /** + * The area of the panel associated to the command palette. + */ + area: 'left' | 'right'; + + /** + * The disposable object to remove the item from command palette. + */ + disposable: IDisposable; + }; + + /** + * An interface for the options to include in SideBarPalette constructor. + */ + type SideBarPaletteOption = { + /** + * The commands palette. + */ + commandPalette: ICommandPalette; + + /** + * The command to call from each sidebar menu entry. + * + * ### Notes + * That command required 3 args : + * side: 'left' | 'right', the area to toggle + * title: string, label of the command + * id: string, id of the widget to activate + */ + command: string; + }; } From 5d0139480cb014e4a2a4b36173a67ca9cd9c279d Mon Sep 17 00:00:00 2001 From: Jeremy Tuloup Date: Wed, 17 Aug 2022 15:18:27 +0200 Subject: [PATCH 16/57] Side panels take the full page height --- packages/application/src/shell.ts | 107 ++++++++---------------------- 1 file changed, 26 insertions(+), 81 deletions(-) diff --git a/packages/application/src/shell.ts b/packages/application/src/shell.ts index 645be24a48..f23801e669 100644 --- a/packages/application/src/shell.ts +++ b/packages/application/src/shell.ts @@ -3,7 +3,6 @@ import { JupyterFrontEnd } from '@jupyterlab/application'; import { ICommandPalette } from '@jupyterlab/apputils'; -import { PageConfig } from '@jupyterlab/coreutils'; import { DocumentRegistry } from '@jupyterlab/docregistry'; import { IRankedMenu } from '@jupyterlab/ui-components'; @@ -72,37 +71,9 @@ export class NotebookShell extends Widget implements JupyterFrontEnd.IShell { menuWrapper.id = 'menu-panel-wrapper'; menuWrapper.addWidget(this._menuHandler.panel); - BoxLayout.setStretch(this._topWrapper, 0); - BoxLayout.setStretch(this._menuWrapper, 0); - - if (this.sidePanelsVisible()) { - this.layout = this.initLayoutWithSidePanels(); - } else { - this.layout = this.initLayoutWithoutSidePanels(); - } - } - - initLayoutWithoutSidePanels(): Layout { - const rootLayout = new BoxLayout(); - BoxLayout.setStretch(this._main, 1); - - this._spacer = new Widget(); - this._spacer.id = 'spacer-widget'; - - rootLayout.spacing = 0; - rootLayout.addWidget(this._topWrapper); - rootLayout.addWidget(this._menuWrapper); - rootLayout.addWidget(this._spacer); - rootLayout.addWidget(this._main); - - return rootLayout; - } - - initLayoutWithSidePanels(): Layout { const rootLayout = new BoxLayout(); const leftHandler = this._leftHandler; const rightHandler = this._rightHandler; - const mainPanel = this._main; this.leftPanel.id = 'jp-left-stack'; this.rightPanel.id = 'jp-right-stack'; @@ -111,23 +82,37 @@ export class NotebookShell extends Widget implements JupyterFrontEnd.IShell { leftHandler.hide(); rightHandler.hide(); - // TODO: Consider storing this as an attribute this._hsplitPanel if saving/restoring layout needed - const hsplitPanel = new SplitPanel(); - hsplitPanel.id = 'main-split-panel'; - hsplitPanel.spacing = 1; - // Catch current changed events on the side handlers. leftHandler.updated.connect(this._onLayoutModified, this); rightHandler.updated.connect(this._onLayoutModified, this); + const middleLayout = new BoxLayout({ + spacing: 0, + direction: 'top-to-bottom' + }); + BoxLayout.setStretch(this._topWrapper, 0); + BoxLayout.setStretch(this._menuWrapper, 0); + BoxLayout.setStretch(this._main, 1); + + const middlePanel = new Panel({ layout: middleLayout }); + middlePanel.addWidget(this._topWrapper); + middlePanel.addWidget(this._menuWrapper); + middlePanel.addWidget(this._spacer); + middlePanel.addWidget(this._main); + middlePanel.layout = middleLayout; + + // TODO: Consider storing this as an attribute this._hsplitPanel if saving/restoring layout needed + const hsplitPanel = new SplitPanel(); + hsplitPanel.id = 'main-split-panel'; + hsplitPanel.spacing = 1; BoxLayout.setStretch(hsplitPanel, 1); SplitPanel.setStretch(leftHandler.stackedPanel, 0); SplitPanel.setStretch(rightHandler.stackedPanel, 0); - SplitPanel.setStretch(mainPanel, 1); + SplitPanel.setStretch(middlePanel, 1); hsplitPanel.addWidget(leftHandler.stackedPanel); - hsplitPanel.addWidget(mainPanel); + hsplitPanel.addWidget(middlePanel); hsplitPanel.addWidget(rightHandler.stackedPanel); // Use relative sizing to set the width of the side panels. @@ -136,12 +121,9 @@ export class NotebookShell extends Widget implements JupyterFrontEnd.IShell { hsplitPanel.setRelativeSizes([1, 2.5, 1]); rootLayout.spacing = 0; - rootLayout.addWidget(this._topWrapper); - rootLayout.addWidget(this._menuWrapper); - rootLayout.addWidget(this._spacer); rootLayout.addWidget(hsplitPanel); - return rootLayout; + this.layout = rootLayout; } /** @@ -227,10 +209,6 @@ export class NotebookShell extends Widget implements JupyterFrontEnd.IShell { activateById(id: string): void { // Search all areas that can have widgets for this widget, starting with main. for (const area of ['main', 'top', 'left', 'right', 'menu']) { - if ((area === 'left' || area === 'right') && !this.sidePanelsVisible()) { - continue; - } - const widget = find(this.widgets(area), w => w.id === id); if (widget) { if (area === 'left') { @@ -278,15 +256,9 @@ export class NotebookShell extends Widget implements JupyterFrontEnd.IShell { this._mainWidgetLoaded.resolve(); break; case 'left': - if (this.sidePanelsVisible()) { - return this._leftHandler.addWidget(widget, rank); - } - console.warn(`${area} area is not available on this page`); + return this._leftHandler.addWidget(widget, rank); case 'right': - if (this.sidePanelsVisible()) { - return this._rightHandler.addWidget(widget, rank); - } - console.warn(`${area} area is not available on this page`); + return this._rightHandler.addWidget(widget, rank); default: console.warn(`Cannot add widget to area: ${area}`); } @@ -331,9 +303,6 @@ export class NotebookShell extends Widget implements JupyterFrontEnd.IShell { * Expand the left panel to show the sidebar with its widget. */ expandLeft(id?: string): void { - if (!this.sidePanelsVisible()) { - throw new Error('Left panel is not available on this page'); - } this.leftPanel.show(); this._leftHandler.expand(id); // Show the current widget, if any this._onLayoutModified(); @@ -343,9 +312,6 @@ export class NotebookShell extends Widget implements JupyterFrontEnd.IShell { * Collapse the left panel */ collapseLeft(): void { - if (!this.sidePanelsVisible()) { - throw new Error('Left panel is not available on this page'); - } this._leftHandler.collapse(); this.leftPanel.hide(); this._onLayoutModified(); @@ -355,9 +321,6 @@ export class NotebookShell extends Widget implements JupyterFrontEnd.IShell { * Expand the right panel to show the sidebar with its widget. */ expandRight(id?: string): void { - if (!this.sidePanelsVisible()) { - throw new Error('Right panel is not available on this page'); - } this.rightPanel.show(); this._rightHandler.expand(id); // Show the current widget, if any this._onLayoutModified(); @@ -367,9 +330,6 @@ export class NotebookShell extends Widget implements JupyterFrontEnd.IShell { * Collapse the right panel */ collapseRight(): void { - if (!this.sidePanelsVisible()) { - throw new Error('Right panel is not available on this page'); - } this._rightHandler.collapse(); this.rightPanel.hide(); this._onLayoutModified(); @@ -384,15 +344,9 @@ export class NotebookShell extends Widget implements JupyterFrontEnd.IShell { case 'main': return this._main.widgets; case 'left': - if (this.sidePanelsVisible()) { - return this._leftHandler.stackedPanel.widgets; - } - throw new Error(`Invalid area: ${area}`); + return this._leftHandler.stackedPanel.widgets; case 'right': - if (this.sidePanelsVisible()) { - return this._rightHandler.stackedPanel.widgets; - } - throw new Error(`Invalid area: ${area}`); + return this._rightHandler.stackedPanel.widgets; default: console.error(`This shell has no area called "${area}"`); return; @@ -409,15 +363,6 @@ export class NotebookShell extends Widget implements JupyterFrontEnd.IShell { return this.widgetsList(area).length === 0; } - /** - * Can the shell display a left or right panel? - * - * @returns True if the left and right side panels could be shown, false otherwise - */ - sidePanelsVisible(): boolean { - return PageConfig.getOption('notebookPage') === 'notebooks'; - } - /** * Handle a change to the layout. */ From 418e294735b2e9bc65bfcce4da8559fc5d3a102c Mon Sep 17 00:00:00 2001 From: Jeremy Tuloup Date: Wed, 17 Aug 2022 15:21:45 +0200 Subject: [PATCH 17/57] Remove unused import --- packages/application/src/shell.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/application/src/shell.ts b/packages/application/src/shell.ts index f23801e669..3b7a63fdc3 100644 --- a/packages/application/src/shell.ts +++ b/packages/application/src/shell.ts @@ -16,7 +16,6 @@ import { ISignal, Signal } from '@lumino/signaling'; import { BoxLayout, - Layout, Menu, Panel, SplitPanel, From 2145e66ab6cd8bfa6cb7ad5a22e02886b90d32af Mon Sep 17 00:00:00 2001 From: Jeremy Tuloup Date: Wed, 17 Aug 2022 15:34:24 +0200 Subject: [PATCH 18/57] Remove tests for sidePanelsVisible --- packages/application/test/shell.spec.ts | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/packages/application/test/shell.spec.ts b/packages/application/test/shell.spec.ts index b8b2370840..4b4f77f3c2 100644 --- a/packages/application/test/shell.spec.ts +++ b/packages/application/test/shell.spec.ts @@ -13,20 +13,13 @@ import { Widget } from '@lumino/widgets'; describe('Shell for notebooks', () => { let shell: INotebookShell; - let sidePanelsVisibleSpy: jest.SpyInstance; beforeEach(() => { shell = new NotebookShell(); - sidePanelsVisibleSpy = jest - .spyOn(shell, 'sidePanelsVisible') - .mockImplementation(() => { - return true; - }); Widget.attach(shell, document.body); }); afterEach(() => { - sidePanelsVisibleSpy.mockRestore(); shell.dispose(); }); @@ -121,20 +114,13 @@ describe('Shell for notebooks', () => { describe('Shell for tree view', () => { let shell: INotebookShell; - let sidePanelsVisibleSpy: jest.SpyInstance; beforeEach(() => { shell = new NotebookShell(); - sidePanelsVisibleSpy = jest - .spyOn(shell, 'sidePanelsVisible') - .mockImplementation(() => { - return false; - }); Widget.attach(shell, document.body); }); afterEach(() => { - sidePanelsVisibleSpy.mockRestore(); shell.dispose(); }); From 116f5a5b8c98ae1ee75df0b53c07cb54b2e34f80 Mon Sep 17 00:00:00 2001 From: Nicolas Brichet Date: Thu, 18 Aug 2022 20:16:25 +0200 Subject: [PATCH 19/57] Move some logic and dependencies from Shell to plugin --- packages/application-extension/src/index.ts | 77 +++++++--- packages/application/src/shell.ts | 156 +++++++------------- 2 files changed, 110 insertions(+), 123 deletions(-) diff --git a/packages/application-extension/src/index.ts b/packages/application-extension/src/index.ts index f0a2ae1321..09a4700878 100644 --- a/packages/application-extension/src/index.ts +++ b/packages/application-extension/src/index.ts @@ -37,16 +37,23 @@ import { ITranslator } from '@jupyterlab/translation'; import { NotebookApp, NotebookShell, - INotebookShell + INotebookShell, + SideBarPanel } from '@jupyter-notebook/application'; import { jupyterIcon } from '@jupyter-notebook/ui-components'; +import { each } from '@lumino/algorithm'; + import { PromiseDelegate } from '@lumino/coreutils'; -import { DisposableDelegate, DisposableSet } from '@lumino/disposable'; +import { + DisposableDelegate, + DisposableSet, + IDisposable +} from '@lumino/disposable'; -import { Widget } from '@lumino/widgets'; +import { Menu, Widget } from '@lumino/widgets'; /** * The default notebook factory. @@ -673,28 +680,58 @@ const sidebarVisibility: JupyterFrontEndPlugin = { } }); - app.restored.then(() => { - // Add the notebook tools in right area. - if (notebookTools) notebookShell.add(notebookTools, 'right'); + /** + * The function which adds entries to the View menu for each widget of a sidebar. + * + * @param area - 'left' or 'right', the area of the side bar. + * @param entryLabel - the name of the main entry in the View menu for that sidebar. + * @returns - The disposable menu added to the View menu or null. + */ + const updateMenu: SideBarPanel.UpdateSideBarMenuFn = (area, entryLabel) => { + if (menu === null) { + return null; + } - // Create a menu entry for left and right panel and update it with current widgets. - if (menu) { - notebookShell.leftHandler.createMenuEntry({ - mainMenuEntry: menu.viewMenu, - commandRegistry: app.commands, - entryLabel: trans.__('Left Sidebar'), - command: CommandIDs.togglePanel + let disposableMenu: IDisposable | null = null; + + const newMenu = new Menu({ commands: app.commands }); + newMenu.title.label = entryLabel; + const widgets = notebookShell.widgets(area); + let menuToAdd = false; + + each(widgets, widget => { + newMenu.addItem({ + command: CommandIDs.togglePanel, + args: { + side: area, + title: `Show ${widget.title.caption}`, + id: widget.id + } }); + menuToAdd = true; + }); - notebookShell.rightHandler.createMenuEntry({ - mainMenuEntry: menu.viewMenu, - commandRegistry: app.commands, - entryLabel: trans.__('Right Sidebar'), - command: CommandIDs.togglePanel + // If there are widgets, add the menu to the main menu entry. + if (menuToAdd) { + disposableMenu = menu.viewMenu.addItem({ + type: 'submenu', + submenu: newMenu }); + } + + return disposableMenu; + }; - notebookShell.leftHandler.updateMenu(); - notebookShell.rightHandler.updateMenu(); + app.restored.then(() => { + // Add the notebook tools in right area. + if (notebookTools) { + notebookShell.add(notebookTools, 'right'); + } + + // Create menu entries for left and right panel. + if (menu) { + notebookShell.leftHandler.addUpdateMenuFn(updateMenu); + notebookShell.rightHandler.addUpdateMenuFn(updateMenu); } // Add palette entries associated to the side panels. diff --git a/packages/application/src/shell.ts b/packages/application/src/shell.ts index 3b7a63fdc3..16ce453544 100644 --- a/packages/application/src/shell.ts +++ b/packages/application/src/shell.ts @@ -4,10 +4,8 @@ import { JupyterFrontEnd } from '@jupyterlab/application'; import { ICommandPalette } from '@jupyterlab/apputils'; import { DocumentRegistry } from '@jupyterlab/docregistry'; -import { IRankedMenu } from '@jupyterlab/ui-components'; import { ArrayExt, find } from '@lumino/algorithm'; -import { CommandRegistry } from '@lumino/commands'; import { PromiseDelegate, Token } from '@lumino/coreutils'; import { IDisposable } from '@lumino/disposable'; import { Message, MessageLoop, IMessageHandler } from '@lumino/messaging'; @@ -16,7 +14,6 @@ import { ISignal, Signal } from '@lumino/signaling'; import { BoxLayout, - Menu, Panel, SplitPanel, StackedPanel, @@ -211,12 +208,20 @@ export class NotebookShell extends Widget implements JupyterFrontEnd.IShell { const widget = find(this.widgets(area), w => w.id === id); if (widget) { if (area === 'left') { - if (this.leftCollapsed) this.expandLeft(id); - else this.collapseLeft(); + if (this.leftCollapsed) { + this.expandLeft(id); + } else { + this.collapseLeft(); + } } else if (area === 'right') { - if (this.rightCollapsed) this.expandRight(id); - else this.collapseRight(); - } else widget.activate(); + if (this.rightCollapsed) { + this.expandRight(id); + } else { + this.collapseRight(); + } + } else { + widget.activate(); + } } } } @@ -395,6 +400,19 @@ export namespace Shell { export type Area = 'main' | 'top' | 'left' | 'right' | 'menu'; } +/** + * + */ +export namespace SideBarPanel { + /** + * The function to update the sidebar menu. + */ + export type UpdateSideBarMenuFn = ( + area: 'left' | 'right', + entryLabel: string + ) => IDisposable | null; +} + /** * A namespace for private module data. */ @@ -499,8 +517,8 @@ namespace Private { this._current = null; this._lastCurrent = null; this._stackedPanel.widgetRemoved.connect(this._onWidgetRemoved, this); - this._sideBarMenu = null; this._sideBarPalette = null; + this._menuEntryLabel = `${area[0].toUpperCase()}${area.slice(1)} Sidebar`; } get current(): Widget | null { @@ -533,10 +551,12 @@ namespace Private { } /** - * Associate a menu entry to the sidebar. + * Add a function to update the menus with the side bar widgets. + * @param updateMenu - the function to call to update the menu. */ - createMenuEntry(options: SideBarMenuOption): void { - this._sideBarMenu = new SideBarMenu(options); + addUpdateMenuFn(updateMenu: SideBarPanel.UpdateSideBarMenuFn): void { + this._updateMenu = updateMenu; + this.updateMenu(); } /** @@ -557,8 +577,9 @@ namespace Private { * if there is no most recently used. */ expand(id?: string): void { - if (id) this.activate(id); - else { + if (id) { + this.activate(id); + } else { const visibleWidget = this.current; if (visibleWidget) { this._current = visibleWidget; @@ -636,10 +657,15 @@ namespace Private { * Update menu entries */ updateMenu(): void { - if (!this._sideBarMenu) return; - const widgets = this.stackedPanel.widgets; - this._sideBarMenu?.updateMenu(widgets, this._area); + if (!this._updateMenu) { + return; + } + if (this._disposableMenu) { + this._disposableMenu.dispose(); + } + this._disposableMenu = this._updateMenu(this._area, this._menuEntryLabel); } + /** * Find the insertion index for a rank item. */ @@ -694,92 +720,12 @@ namespace Private { private _current: Widget | null; private _lastCurrent: Widget | null; private _updated: Signal = new Signal(this); - private _sideBarMenu: SideBarMenu | null; private _sideBarPalette: SideBarPalette | null; + private _menuEntryLabel: string; + private _disposableMenu: IDisposable | null = null; + private _updateMenu: SideBarPanel.UpdateSideBarMenuFn | null = null; } - /** - * A class to manage the menu entries associated to the side bar. - */ - export class SideBarMenu { - /** - * Construct a new side bar menu. - */ - constructor(options: SideBarMenuOption) { - this._commandRegistry = options.commandRegistry; - this._command = options.command; - this._mainMenuEntry = options.mainMenuEntry; - this._entryLabel = options.entryLabel; - } - - /** - * Update the menu by disposing the previous one and rebuilding a new one from widgets list. - */ - updateMenu(widgets: Readonly, area: 'left' | 'right'): void { - // Remove the previous menu entry. - if (this._menu) this._menu.dispose(); - - // Build the new menu entry from widgets list. - let menu = new Menu({ commands: this._commandRegistry }); - menu.title.label = this._entryLabel; - widgets.forEach(widget => { - menu.addItem({ - command: this._command, - args: { - side: area, - title: `Show ${widget.title.caption}`, - id: widget.id - } - }); - }); - - // If there are widgets, add the menu to the main menu entry. - if (widgets.length > 0) { - this._menu = this._mainMenuEntry.addItem({ - type: 'submenu', - submenu: menu - }); - } - } - - _entryLabel: string; - _command: string; - _mainMenuEntry: IRankedMenu; - _commandRegistry: CommandRegistry; - _menu: IDisposable | null = null; - } - - /** - * An interface for the options to include in SideBarMenu constructor. - */ - type SideBarMenuOption = { - /** - * The main menu entry where the sidebar menu should be added. - */ - mainMenuEntry: IRankedMenu; - - /** - * The label of the sidebar menu. - */ - entryLabel: string; - - /** - * The application command registry, necessary when updating the sidebar menu. - */ - commandRegistry: CommandRegistry; - - /** - * The command to call from each sidebar menu entry. - * - * ### Notes - * That command required 3 args : - * side: 'left' | 'right', the area to toggle - * title: string, label of the command - * id: string, id of the widget to activate - */ - command: string; - }; - /** * A class to manages the palette entries associated to the side bar. */ @@ -801,7 +747,7 @@ namespace Private { ): SideBarPaletteItem | null { const itemList = this._items; for (let i = 0; i < itemList.length; i++) { - let item = itemList[i]; + const item = itemList[i]; if (item.widgetId == widget.id && item.area == area) { return item; break; @@ -815,7 +761,9 @@ namespace Private { */ addItem(widget: Readonly, area: 'left' | 'right'): void { // Check if the item does not already exist. - if (this.getItem(widget, area)) return; + if (this.getItem(widget, area)) { + return; + } // Add a new item in command palette. const disposableDelegate = this._commandPalette.addItem({ @@ -842,7 +790,9 @@ namespace Private { */ removeItem(widget: Readonly, area: 'left' | 'right'): void { const item = this.getItem(widget, area); - if (item) item.disposable.dispose(); + if (item) { + item.disposable.dispose(); + } } _command: string; From 9681be38cdc723bdd35f16f8d270e7838171283b Mon Sep 17 00:00:00 2001 From: Nicolas Brichet Date: Tue, 23 Aug 2022 11:14:23 +0200 Subject: [PATCH 20/57] Move the palette logic from Shell to plugin --- packages/application-extension/src/index.ts | 48 +++++- .../src/sidebarpalette.ts | 114 +++++++++++++ packages/application/src/shell.ts | 158 ++++-------------- 3 files changed, 189 insertions(+), 131 deletions(-) create mode 100644 packages/application-extension/src/sidebarpalette.ts diff --git a/packages/application-extension/src/index.ts b/packages/application-extension/src/index.ts index 09a4700878..2c0760d400 100644 --- a/packages/application-extension/src/index.ts +++ b/packages/application-extension/src/index.ts @@ -55,6 +55,8 @@ import { import { Menu, Widget } from '@lumino/widgets'; +import { SideBarPalette } from './sidebarpalette'; + /** * The default notebook factory. */ @@ -620,6 +622,8 @@ const sidebarVisibility: JupyterFrontEndPlugin = { const trans = translator.load('notebook'); + var sideBarPalette: SideBarPalette | null = null; + /* Arguments for togglePanel command: * side, left or right area * title, widget title to show in the menu @@ -722,6 +726,31 @@ const sidebarVisibility: JupyterFrontEndPlugin = { return disposableMenu; }; + /** + * The function which adds an entry to the command palette. + * @param widget - the widget to open from the command palette. + * @param area - 'left' or 'right', the area of the side bar. + */ + const addPaletteItem: SideBarPanel.AddPaletteEntryFn = (widget, area) => { + if (sideBarPalette) { + sideBarPalette.addItem(widget, area); + } + }; + + /** + * The function which removes an entry from the command palette. + * @param widget - the widget to open from the command palette. + * @param area - 'left' or 'right', the area of the side bar. + */ + const removePaletteItem: SideBarPanel.RemovePaletteEntryFn = ( + widget, + area + ) => { + if (sideBarPalette) { + sideBarPalette.removeItem(widget, area); + } + }; + app.restored.then(() => { // Add the notebook tools in right area. if (notebookTools) { @@ -734,17 +763,22 @@ const sidebarVisibility: JupyterFrontEndPlugin = { notebookShell.rightHandler.addUpdateMenuFn(updateMenu); } - // Add palette entries associated to the side panels. + // Add palette functions to the side panels. if (palette) { - notebookShell.leftHandler.createPaletteEntry({ - commandPalette: palette, + sideBarPalette = new SideBarPalette({ + commandPalette: palette as ICommandPalette, command: CommandIDs.togglePanel }); - notebookShell.rightHandler.createPaletteEntry({ - commandPalette: palette, - command: CommandIDs.togglePanel - }); + notebookShell.leftHandler.addPaletteFn( + addPaletteItem, + removePaletteItem + ); + + notebookShell.rightHandler.addPaletteFn( + addPaletteItem, + removePaletteItem + ); } }); } diff --git a/packages/application-extension/src/sidebarpalette.ts b/packages/application-extension/src/sidebarpalette.ts new file mode 100644 index 0000000000..e47c33be6c --- /dev/null +++ b/packages/application-extension/src/sidebarpalette.ts @@ -0,0 +1,114 @@ +import { ICommandPalette } from '@jupyterlab/apputils'; +import { IDisposable } from '@lumino/disposable'; +import { Widget } from '@lumino/widgets'; + +/** + * A class to manages the palette entries associated to the side bar. + */ +export class SideBarPalette { + /** + * Construct a new side bar palette. + */ + constructor(options: SideBarPaletteOption) { + this._commandPalette = options.commandPalette; + this._command = options.command; + } + + /** + * Get a command palette item from the widget id and the area. + */ + getItem( + widget: Readonly, + area: 'left' | 'right' + ): SideBarPaletteItem | null { + const itemList = this._items; + for (let i = 0; i < itemList.length; i++) { + const item = itemList[i]; + if (item.widgetId == widget.id && item.area == area) { + return item; + } + } + return null; + } + + /** + * Add an item to the command palette. + */ + addItem(widget: Readonly, area: 'left' | 'right'): void { + // Check if the item does not already exist. + if (this.getItem(widget, area)) { + return; + } + + // Add a new item in command palette. + const disposableDelegate = this._commandPalette.addItem({ + command: this._command, + category: 'View', + args: { + side: area, + title: `Show ${widget.title.caption}`, + id: widget.id + } + }); + + // Keep the disposableDelegate objet to be able to dispose of the item if the widget + // is remove from the side bar. + this._items.push({ + widgetId: widget.id, + area: area, + disposable: disposableDelegate + }); + } + + /** + * Remove an item from the command palette. + */ + removeItem(widget: Readonly, area: 'left' | 'right'): void { + const item = this.getItem(widget, area); + if (item) { + item.disposable.dispose(); + } + } + + _command: string; + _commandPalette: ICommandPalette; + _items: SideBarPaletteItem[] = []; +} + +type SideBarPaletteItem = { + /** + * The ID of the widget associated to the command palette. + */ + widgetId: string; + + /** + * The area of the panel associated to the command palette. + */ + area: 'left' | 'right'; + + /** + * The disposable object to remove the item from command palette. + */ + disposable: IDisposable; +}; + +/** + * An interface for the options to include in SideBarPalette constructor. + */ +type SideBarPaletteOption = { + /** + * The commands palette. + */ + commandPalette: ICommandPalette; + + /** + * The command to call from each sidebar menu entry. + * + * ### Notes + * That command required 3 args : + * side: 'left' | 'right', the area to toggle + * title: string, label of the command + * id: string, id of the widget to activate + */ + command: string; +}; diff --git a/packages/application/src/shell.ts b/packages/application/src/shell.ts index 16ce453544..82bdf799ed 100644 --- a/packages/application/src/shell.ts +++ b/packages/application/src/shell.ts @@ -2,7 +2,6 @@ // Distributed under the terms of the Modified BSD License. import { JupyterFrontEnd } from '@jupyterlab/application'; -import { ICommandPalette } from '@jupyterlab/apputils'; import { DocumentRegistry } from '@jupyterlab/docregistry'; import { ArrayExt, find } from '@lumino/algorithm'; @@ -401,7 +400,7 @@ export namespace Shell { } /** - * + * A name space for SidebarPanel functions. */ export namespace SideBarPanel { /** @@ -411,6 +410,22 @@ export namespace SideBarPanel { area: 'left' | 'right', entryLabel: string ) => IDisposable | null; + + /** + * The function to add an item to the palette. + */ + export type AddPaletteEntryFn = ( + widget: Readonly, + area: 'left' | 'right' + ) => void; + + /** + * The function to remove an item from the palette. + */ + export type RemovePaletteEntryFn = ( + widget: Readonly, + area: 'left' | 'right' + ) => void; } /** @@ -517,7 +532,6 @@ namespace Private { this._current = null; this._lastCurrent = null; this._stackedPanel.widgetRemoved.connect(this._onWidgetRemoved, this); - this._sideBarPalette = null; this._menuEntryLabel = `${area[0].toUpperCase()}${area.slice(1)} Sidebar`; } @@ -560,12 +574,19 @@ namespace Private { } /** - * Associate palette entries to the sidebar, and update it with the current widgets. + * Add functions to add or remove entry in CommandPalette. */ - createPaletteEntry(options: SideBarPaletteOption): void { - this._sideBarPalette = new SideBarPalette(options); + addPaletteFn( + addEntry: SideBarPanel.AddPaletteEntryFn, + removeEntry: SideBarPanel.RemovePaletteEntryFn + ): void { + this._addPaletteEntry = addEntry; + this._removePaletteEntry = removeEntry; + this.stackedPanel.widgets.forEach(widget => { - this._sideBarPalette!.addItem(widget, this._area); + if (this._addPaletteEntry != null) { + this._addPaletteEntry(widget, this._area); + } }); } @@ -632,8 +653,8 @@ namespace Private { this.updateMenu(); this._refreshVisibility(); - if (this._sideBarPalette) { - this._sideBarPalette.addItem(widget, this._area); + if (this._addPaletteEntry) { + this._addPaletteEntry(widget, this._area); } } @@ -708,8 +729,8 @@ namespace Private { this.updateMenu(); this._refreshVisibility(); - if (this._sideBarPalette) { - this._sideBarPalette.removeItem(widget, this._area); + if (this._removePaletteEntry) { + this._removePaletteEntry(widget, this._area); } } @@ -720,121 +741,10 @@ namespace Private { private _current: Widget | null; private _lastCurrent: Widget | null; private _updated: Signal = new Signal(this); - private _sideBarPalette: SideBarPalette | null; private _menuEntryLabel: string; private _disposableMenu: IDisposable | null = null; private _updateMenu: SideBarPanel.UpdateSideBarMenuFn | null = null; + private _addPaletteEntry: SideBarPanel.AddPaletteEntryFn | null = null; + private _removePaletteEntry: SideBarPanel.RemovePaletteEntryFn | null = null; } - - /** - * A class to manages the palette entries associated to the side bar. - */ - export class SideBarPalette { - /** - * Construct a new side bar palette. - */ - constructor(options: SideBarPaletteOption) { - this._commandPalette = options.commandPalette; - this._command = options.command; - } - - /** - * Get a command palette item from the widget id and the area. - */ - getItem( - widget: Readonly, - area: 'left' | 'right' - ): SideBarPaletteItem | null { - const itemList = this._items; - for (let i = 0; i < itemList.length; i++) { - const item = itemList[i]; - if (item.widgetId == widget.id && item.area == area) { - return item; - break; - } - } - return null; - } - - /** - * Add an item to the command palette. - */ - addItem(widget: Readonly, area: 'left' | 'right'): void { - // Check if the item does not already exist. - if (this.getItem(widget, area)) { - return; - } - - // Add a new item in command palette. - const disposableDelegate = this._commandPalette.addItem({ - command: this._command, - category: 'View', - args: { - side: area, - title: `Show ${widget.title.caption}`, - id: widget.id - } - }); - - // Keep the disposableDelegate objet to be able to dispose of the item if the widget - // is remove from the side bar. - this._items.push({ - widgetId: widget.id, - area: area, - disposable: disposableDelegate - }); - } - - /** - * Remove an item from the command palette. - */ - removeItem(widget: Readonly, area: 'left' | 'right'): void { - const item = this.getItem(widget, area); - if (item) { - item.disposable.dispose(); - } - } - - _command: string; - _commandPalette: ICommandPalette; - _items: SideBarPaletteItem[] = []; - } - - type SideBarPaletteItem = { - /** - * The ID of the widget associated to the command palette. - */ - widgetId: string; - - /** - * The area of the panel associated to the command palette. - */ - area: 'left' | 'right'; - - /** - * The disposable object to remove the item from command palette. - */ - disposable: IDisposable; - }; - - /** - * An interface for the options to include in SideBarPalette constructor. - */ - type SideBarPaletteOption = { - /** - * The commands palette. - */ - commandPalette: ICommandPalette; - - /** - * The command to call from each sidebar menu entry. - * - * ### Notes - * That command required 3 args : - * side: 'left' | 'right', the area to toggle - * title: string, label of the command - * id: string, id of the widget to activate - */ - command: string; - }; } From 11d358875a28961caaeace46ebef1906868ec9fa Mon Sep 17 00:00:00 2001 From: Nicolas Brichet Date: Tue, 23 Aug 2022 11:25:05 +0200 Subject: [PATCH 21/57] Include the notebook tools widget from the notebook-extension --- packages/application-extension/src/index.ts | 5 --- packages/notebook-extension/src/index.ts | 37 +++++++++++++++++++-- 2 files changed, 35 insertions(+), 7 deletions(-) diff --git a/packages/application-extension/src/index.ts b/packages/application-extension/src/index.ts index 2c0760d400..dbe8e854c6 100644 --- a/packages/application-extension/src/index.ts +++ b/packages/application-extension/src/index.ts @@ -752,11 +752,6 @@ const sidebarVisibility: JupyterFrontEndPlugin = { }; app.restored.then(() => { - // Add the notebook tools in right area. - if (notebookTools) { - notebookShell.add(notebookTools, 'right'); - } - // Create menu entries for left and right panel. if (menu) { notebookShell.leftHandler.addUpdateMenuFn(updateMenu); diff --git a/packages/notebook-extension/src/index.ts b/packages/notebook-extension/src/index.ts index c32ac3687a..ae42471aeb 100644 --- a/packages/notebook-extension/src/index.ts +++ b/packages/notebook-extension/src/index.ts @@ -18,7 +18,11 @@ import { Text, Time } from '@jupyterlab/coreutils'; import { IDocumentManager } from '@jupyterlab/docmanager'; -import { NotebookPanel, INotebookTracker } from '@jupyterlab/notebook'; +import { + NotebookPanel, + INotebookTracker, + INotebookTools +} from '@jupyterlab/notebook'; import { ISettingRegistry } from '@jupyterlab/settingregistry'; @@ -327,6 +331,34 @@ const scrollOutput: JupyterFrontEndPlugin = { } }; +/** + * A plugin to add the NotebookTools to the side panel; + */ +const notebookToolsWidget: JupyterFrontEndPlugin = { + id: '@jupyter-notebook/notebook-extension:notebook-tools', + autoStart: true, + requires: [INotebookShell], + optional: [INotebookTools], + activate: ( + app: JupyterFrontEnd, + shell: INotebookShell, + notebookTools: INotebookTools + ) => { + const onChange = async () => { + const current = shell.currentWidget; + if (!(current instanceof NotebookPanel)) { + return; + } + + // Add the notebook tools in right area. + if (notebookTools) { + shell.add(notebookTools, 'right'); + } + }; + shell.currentChanged.connect(onChange); + } +}; + /** * Export the plugins as default. */ @@ -334,7 +366,8 @@ const plugins: JupyterFrontEndPlugin[] = [ checkpoints, kernelLogo, kernelStatus, - scrollOutput + scrollOutput, + notebookToolsWidget ]; export default plugins; From 2055ccfb5c06c4168c7aa9c3c3e6c68a96154a06 Mon Sep 17 00:00:00 2001 From: Nicolas Brichet Date: Fri, 26 Aug 2022 13:31:32 +0200 Subject: [PATCH 22/57] Add icon to close side panel --- packages/application/src/shell.ts | 72 +++++++++++++++++------- packages/application/style/sidepanel.css | 21 +++++++ 2 files changed, 72 insertions(+), 21 deletions(-) diff --git a/packages/application/src/shell.ts b/packages/application/src/shell.ts index 82bdf799ed..78e8d5481c 100644 --- a/packages/application/src/shell.ts +++ b/packages/application/src/shell.ts @@ -3,6 +3,7 @@ import { JupyterFrontEnd } from '@jupyterlab/application'; import { DocumentRegistry } from '@jupyterlab/docregistry'; +import { closeIcon, LabIcon, ReactWidget } from '@jupyterlab/ui-components'; import { ArrayExt, find } from '@lumino/algorithm'; import { PromiseDelegate, Token } from '@lumino/coreutils'; @@ -18,6 +19,7 @@ import { StackedPanel, Widget } from '@lumino/widgets'; +import React from 'react'; /** * The Jupyter Notebook application shell token. @@ -102,13 +104,13 @@ export class NotebookShell extends Widget implements JupyterFrontEnd.IShell { hsplitPanel.spacing = 1; BoxLayout.setStretch(hsplitPanel, 1); - SplitPanel.setStretch(leftHandler.stackedPanel, 0); - SplitPanel.setStretch(rightHandler.stackedPanel, 0); + SplitPanel.setStretch(leftHandler.panel, 0); + SplitPanel.setStretch(rightHandler.panel, 0); SplitPanel.setStretch(middlePanel, 1); - hsplitPanel.addWidget(leftHandler.stackedPanel); + hsplitPanel.addWidget(leftHandler.panel); hsplitPanel.addWidget(middlePanel); - hsplitPanel.addWidget(rightHandler.stackedPanel); + hsplitPanel.addWidget(rightHandler.panel); // Use relative sizing to set the width of the side panels. // This will still respect the min-size of children widget in the stacked @@ -166,15 +168,15 @@ export class NotebookShell extends Widget implements JupyterFrontEnd.IShell { /** * Shortcut to get the left area handler's stacked panel */ - get leftPanel(): StackedPanel { - return this._leftHandler.stackedPanel; + get leftPanel(): Panel { + return this._leftHandler.panel; } /** * Shortcut to get the right area handler's stacked panel */ - get rightPanel(): StackedPanel { - return this._rightHandler.stackedPanel; + get rightPanel(): Panel { + return this._rightHandler.panel; } /** @@ -347,9 +349,9 @@ export class NotebookShell extends Widget implements JupyterFrontEnd.IShell { case 'main': return this._main.widgets; case 'left': - return this._leftHandler.stackedPanel.widgets; + return this._leftHandler.widgets; case 'right': - return this._rightHandler.stackedPanel.widgets; + return this._rightHandler.widgets; default: console.error(`This shell has no area called "${area}"`); return; @@ -527,12 +529,33 @@ namespace Private { */ constructor(area: 'left' | 'right') { this._area = area; - this._stackedPanel = new StackedPanel(); - this._stackedPanel.hide(); + this._panel = new Panel(); + this._panel.hide(); + this._current = null; this._lastCurrent = null; - this._stackedPanel.widgetRemoved.connect(this._onWidgetRemoved, this); this._menuEntryLabel = `${area[0].toUpperCase()}${area.slice(1)} Sidebar`; + + this._widgetPanel = new StackedPanel(); + this._widgetPanel.widgetRemoved.connect(this._onWidgetRemoved, this); + + const that = this; + const collapseIcon = React.createElement( + 'div', + { + onClick: () => { + that.collapse(); + that.hide(); + } + }, + LabIcon.resolveReact({ + icon: closeIcon, + className: 'jp-SidePanel-collapse' + }) + ); + + this._panel.addWidget(ReactWidget.create(collapseIcon)); + this._panel.addWidget(this._widgetPanel); } get current(): Widget | null { @@ -547,14 +570,21 @@ namespace Private { * Whether the panel is visible */ get isVisible(): boolean { - return this._stackedPanel.isVisible; + return this._panel.isVisible; } /** * Get the stacked panel managed by the handler */ - get stackedPanel(): StackedPanel { - return this._stackedPanel; + get panel(): Panel { + return this._panel; + } + + /** + * Get the widgets list. + */ + get widgets(): Readonly { + return this._items.map(obj => obj.widget); } /** @@ -583,7 +613,7 @@ namespace Private { this._addPaletteEntry = addEntry; this._removePaletteEntry = removeEntry; - this.stackedPanel.widgets.forEach(widget => { + this._widgetPanel.widgets.forEach(widget => { if (this._addPaletteEntry != null) { this._addPaletteEntry(widget, this._area); } @@ -648,8 +678,7 @@ namespace Private { const item = { widget, rank }; const index = this._findInsertIndex(item); ArrayExt.insert(this._items, index, item); - this._stackedPanel.insertWidget(index, widget); - + this._widgetPanel.insertWidget(index, widget); this.updateMenu(); this._refreshVisibility(); @@ -713,7 +742,7 @@ namespace Private { * Refresh the visibility of the stacked panel. */ private _refreshVisibility(): void { - this._stackedPanel.setHidden(this._isHiddenByUser); + this._panel.setHidden(this._isHiddenByUser); this._updated.emit(); } @@ -737,7 +766,8 @@ namespace Private { private _area: 'left' | 'right'; private _isHiddenByUser = false; private _items = new Array(); - private _stackedPanel: StackedPanel; + private _panel: Panel; + private _widgetPanel: StackedPanel; private _current: Widget | null; private _lastCurrent: Widget | null; private _updated: Signal = new Signal(this); diff --git a/packages/application/style/sidepanel.css b/packages/application/style/sidepanel.css index 2865e42a5a..34c4f74b43 100644 --- a/packages/application/style/sidepanel.css +++ b/packages/application/style/sidepanel.css @@ -28,6 +28,12 @@ min-width: var(--jp-sidebar-min-width); } +#jp-right-stack, +#jp-left-stack { + display: flex; + flex-direction: column; +} + #jp-right-stack { border-left: var(--jp-border-width) solid var(--jp-border-color1); } @@ -35,3 +41,18 @@ #jp-left-stack { border-right: var(--jp-border-width) solid var(--jp-border-color1); } + +#jp-left-stack .jp-SidePanel-collapse, +#jp-right-stack .jp-SidePanel-collapse { + display: flex; + flex: 0 0 auto; +} + +#jp-left-stack .jp-SidePanel-collapse { + justify-content: right; +} + +#jp-left-stack .lm-StackedPanel, +#jp-right-stack .lm-StackedPanel { + flex: 1 1 auto; +} From 1773c8fb26a086cc3dbf50a4d3a8f730fcc67bf0 Mon Sep 17 00:00:00 2001 From: Nicolas Brichet Date: Fri, 26 Aug 2022 13:37:39 +0200 Subject: [PATCH 23/57] Hide the current widget when collapsing, otherwise this is only the upper one which is displayed --- packages/application/src/shell.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/application/src/shell.ts b/packages/application/src/shell.ts index 78e8d5481c..c142ba0920 100644 --- a/packages/application/src/shell.ts +++ b/packages/application/src/shell.ts @@ -664,6 +664,7 @@ namespace Private { * Collapse the sidebar so no items are expanded. */ collapse(): void { + this._current?.hide(); this._current = null; } From 069685085bcfb89596a96163b96de302ea38649f Mon Sep 17 00:00:00 2001 From: Nicolas Brichet Date: Fri, 26 Aug 2022 17:12:14 +0200 Subject: [PATCH 24/57] Fix the sidebar closing if another widget is selected in the same sidebar --- packages/application-extension/src/index.ts | 8 ++++++-- packages/application/src/shell.ts | 15 +++++---------- 2 files changed, 11 insertions(+), 12 deletions(-) diff --git a/packages/application-extension/src/index.ts b/packages/application-extension/src/index.ts index dbe8e854c6..2ccf887a07 100644 --- a/packages/application-extension/src/index.ts +++ b/packages/application-extension/src/index.ts @@ -651,7 +651,9 @@ const sidebarVisibility: JupyterFrontEndPlugin = { switch (args['side'] as string) { case 'left': if (notebookShell.leftCollapsed) { - notebookShell.activateById(args['id'] as string); + notebookShell.expandLeft(args.id as string); + } else if (notebookShell.leftHandler.current?.id !== args.id) { + notebookShell.expandLeft(args.id as string); } else { notebookShell.collapseLeft(); if (notebookShell.currentWidget) { @@ -661,7 +663,9 @@ const sidebarVisibility: JupyterFrontEndPlugin = { break; case 'right': if (notebookShell.rightCollapsed) { - notebookShell.activateById(args['id'] as string); + notebookShell.expandRight(args.id as string); + } else if (notebookShell.rightHandler.current?.id !== args.id) { + notebookShell.expandRight(args.id as string); } else { notebookShell.collapseRight(); if (notebookShell.currentWidget) { diff --git a/packages/application/src/shell.ts b/packages/application/src/shell.ts index c142ba0920..9442150f64 100644 --- a/packages/application/src/shell.ts +++ b/packages/application/src/shell.ts @@ -209,17 +209,9 @@ export class NotebookShell extends Widget implements JupyterFrontEnd.IShell { const widget = find(this.widgets(area), w => w.id === id); if (widget) { if (area === 'left') { - if (this.leftCollapsed) { - this.expandLeft(id); - } else { - this.collapseLeft(); - } + this.expandLeft(id); } else if (area === 'right') { - if (this.rightCollapsed) { - this.expandRight(id); - } else { - this.collapseRight(); - } + this.expandRight(id); } else { widget.activate(); } @@ -628,6 +620,9 @@ namespace Private { * if there is no most recently used. */ expand(id?: string): void { + if (this._current) { + this.collapse(); + } if (id) { this.activate(id); } else { From bc67cdc9d18acfc0590474d7823e051e74767794 Mon Sep 17 00:00:00 2001 From: Nicolas Brichet Date: Fri, 26 Aug 2022 17:26:41 +0200 Subject: [PATCH 25/57] Add 'isToggled' check mark on right panel --- packages/application-extension/src/index.ts | 32 +++++++++++++++------ 1 file changed, 24 insertions(+), 8 deletions(-) diff --git a/packages/application-extension/src/index.ts b/packages/application-extension/src/index.ts index 2ccf887a07..de46501c21 100644 --- a/packages/application-extension/src/index.ts +++ b/packages/application-extension/src/index.ts @@ -676,15 +676,31 @@ const sidebarVisibility: JupyterFrontEndPlugin = { } }, isToggled: args => { - if (notebookShell.leftCollapsed) { - return false; - } - const currentWidget = notebookShell.leftHandler.current; - if (!currentWidget) { - return false; - } + var currentWidget = null; + switch (args['side'] as string) { + case 'left': + if (notebookShell.leftCollapsed) { + return false; + } + currentWidget = notebookShell.leftHandler.current; + if (!currentWidget) { + return false; + } - return currentWidget.id === (args['id'] as string); + return currentWidget.id === (args['id'] as string); + case 'right': + if (notebookShell.rightCollapsed) { + return false; + } + currentWidget = notebookShell.rightHandler.current; + if (!currentWidget) { + return false; + } + + return currentWidget.id === (args['id'] as string); + default: + return false; + } } }); From aceb1872ad7077bdfb9d2de5bd1596d726729da1 Mon Sep 17 00:00:00 2001 From: Nicolas Brichet Date: Thu, 1 Sep 2022 22:01:38 +0200 Subject: [PATCH 26/57] Fix tests on left and right area in tree view --- packages/application/test/shell.spec.ts | 30 ++++++------------------- 1 file changed, 7 insertions(+), 23 deletions(-) diff --git a/packages/application/test/shell.spec.ts b/packages/application/test/shell.spec.ts index 4b4f77f3c2..accd23fc5a 100644 --- a/packages/application/test/shell.spec.ts +++ b/packages/application/test/shell.spec.ts @@ -130,7 +130,7 @@ describe('Shell for tree view', () => { }); it('should make all areas empty initially', () => { - ['main', 'top', 'menu'].forEach(area => + ['main', 'top', 'left', 'right', 'menu'].forEach(area => expect(shell.isEmpty(area as Shell.Area)).toBe(true) ); }); @@ -150,39 +150,23 @@ describe('Shell for tree view', () => { jupyterFrontEndShell.widgets('fake'); }).toThrow('Invalid area: fake'); }); - - it('should throw an exception if the left area does not exist', () => { - const jupyterFrontEndShell = shell as JupyterFrontEnd.IShell; - expect(() => { - jupyterFrontEndShell.widgets('left'); - }).toThrow('Invalid area: left'); - }); - - it('should throw an exception if the right area does not exist', () => { - const jupyterFrontEndShell = shell as JupyterFrontEnd.IShell; - expect(() => { - jupyterFrontEndShell.widgets('right'); - }).toThrow('Invalid area: right'); - }); }); describe('#add(widget, "left")', () => { - it('should fail to add a widget to the left area', () => { + it('should add a widget to the left area', () => { const widget = new Widget(); widget.id = 'foo'; - expect(() => { - shell.add(widget, 'left'); - }).toThrow('left area is not available on this page'); + shell.add(widget, 'left'); + expect(shell.isEmpty('left')).toBe(false); }); }); describe('#add(widget, "right")', () => { - it('should fail to add a widget to the right area', () => { + it('should add a widget to the right area', () => { const widget = new Widget(); widget.id = 'foo'; - expect(() => { - shell.add(widget, 'right'); - }).toThrow('right area is not available on this page'); + shell.add(widget, 'right'); + expect(shell.isEmpty('right')).toBe(false); }); }); }); From 0580147a2340aba575c2f3b8fad46d99f2146033 Mon Sep 17 00:00:00 2001 From: Nicolas Brichet Date: Fri, 2 Sep 2022 00:03:40 +0200 Subject: [PATCH 27/57] Use signal to update menu and palette entries when widgets are removed or added in sidebars --- packages/application-extension/src/index.ts | 99 ++-- packages/application/src/shell.ts | 531 +++++++++----------- 2 files changed, 305 insertions(+), 325 deletions(-) diff --git a/packages/application-extension/src/index.ts b/packages/application-extension/src/index.ts index de46501c21..199b468daa 100644 --- a/packages/application-extension/src/index.ts +++ b/packages/application-extension/src/index.ts @@ -38,7 +38,8 @@ import { NotebookApp, NotebookShell, INotebookShell, - SideBarPanel + SideBarPanel, + SideBarHandler } from '@jupyter-notebook/application'; import { jupyterIcon } from '@jupyter-notebook/ui-components'; @@ -47,11 +48,7 @@ import { each } from '@lumino/algorithm'; import { PromiseDelegate } from '@lumino/coreutils'; -import { - DisposableDelegate, - DisposableSet, - IDisposable -} from '@lumino/disposable'; +import { DisposableDelegate, DisposableSet } from '@lumino/disposable'; import { Menu, Widget } from '@lumino/widgets'; @@ -622,6 +619,11 @@ const sidebarVisibility: JupyterFrontEndPlugin = { const trans = translator.load('notebook'); + var sideBarMenu: SideBarPanel.sideBarMenu = { + left: null, + right: null + }; + var sideBarPalette: SideBarPalette | null = null; /* Arguments for togglePanel command: @@ -711,12 +713,12 @@ const sidebarVisibility: JupyterFrontEndPlugin = { * @param entryLabel - the name of the main entry in the View menu for that sidebar. * @returns - The disposable menu added to the View menu or null. */ - const updateMenu: SideBarPanel.UpdateSideBarMenuFn = (area, entryLabel) => { + const updateMenu = (area: SideBarPanel.Area, entryLabel: string) => { if (menu === null) { return null; } - let disposableMenu: IDisposable | null = null; + sideBarMenu[area]?.dispose(); const newMenu = new Menu({ commands: app.commands }); newMenu.title.label = entryLabel; @@ -737,64 +739,79 @@ const sidebarVisibility: JupyterFrontEndPlugin = { // If there are widgets, add the menu to the main menu entry. if (menuToAdd) { - disposableMenu = menu.viewMenu.addItem({ + sideBarMenu[area] = menu.viewMenu.addItem({ type: 'submenu', submenu: newMenu }); } - - return disposableMenu; - }; - - /** - * The function which adds an entry to the command palette. - * @param widget - the widget to open from the command palette. - * @param area - 'left' or 'right', the area of the side bar. - */ - const addPaletteItem: SideBarPanel.AddPaletteEntryFn = (widget, area) => { - if (sideBarPalette) { - sideBarPalette.addItem(widget, area); - } }; /** - * The function which removes an entry from the command palette. - * @param widget - the widget to open from the command palette. - * @param area - 'left' or 'right', the area of the side bar. + * Function called when a sidebar has a widget added or removed. + * + * @param sidebar - the sidebar updated + * @param widget - the widget added or removed from the sidebar + * @param status - 'add' or 'remove' */ - const removePaletteItem: SideBarPanel.RemovePaletteEntryFn = ( - widget, - area + const sidebarUpdated = ( + sidebar: SideBarHandler, + widget: Widget, + status: 'add' | 'remove' ) => { + if (menu) { + updateMenu(sidebar.area, sidebar.menuEntryLabel); + } if (sideBarPalette) { - sideBarPalette.removeItem(widget, area); + if (status === 'add') { + sideBarPalette.addItem(widget, sidebar.area); + } else { + sideBarPalette.removeItem(widget, sidebar.area); + } } }; app.restored.then(() => { // Create menu entries for left and right panel. if (menu) { - notebookShell.leftHandler.addUpdateMenuFn(updateMenu); - notebookShell.rightHandler.addUpdateMenuFn(updateMenu); + updateMenu( + notebookShell.leftHandler.area, + notebookShell.leftHandler.menuEntryLabel + ); + updateMenu( + notebookShell.rightHandler.area, + notebookShell.rightHandler.menuEntryLabel + ); } - // Add palette functions to the side panels. + // Add palette entries for side panels. if (palette) { - sideBarPalette = new SideBarPalette({ + const sideBarPalette = new SideBarPalette({ commandPalette: palette as ICommandPalette, command: CommandIDs.togglePanel }); - notebookShell.leftHandler.addPaletteFn( - addPaletteItem, - removePaletteItem - ); + notebookShell.leftHandler.widgets.forEach(widget => { + sideBarPalette.addItem(widget, notebookShell.leftHandler.area); + }); - notebookShell.rightHandler.addPaletteFn( - addPaletteItem, - removePaletteItem - ); + notebookShell.rightHandler.widgets.forEach(widget => { + sideBarPalette.addItem(widget, notebookShell.rightHandler.area); + }); } + + // Update menu and palette when widgets are added or removed from sidebars + notebookShell.leftHandler.widgetAdded.connect((sidebar, widget) => { + sidebarUpdated(sidebar, widget, 'add'); + }); + notebookShell.leftHandler.widgetRemoved.connect((sidebar, widget) => { + sidebarUpdated(sidebar, widget, 'remove'); + }); + notebookShell.rightHandler.widgetAdded.connect((sidebar, widget) => { + sidebarUpdated(sidebar, widget, 'add'); + }); + notebookShell.rightHandler.widgetRemoved.connect((sidebar, widget) => { + sidebarUpdated(sidebar, widget, 'remove'); + }); }); } }; diff --git a/packages/application/src/shell.ts b/packages/application/src/shell.ts index 9442150f64..b58d215cf1 100644 --- a/packages/application/src/shell.ts +++ b/packages/application/src/shell.ts @@ -48,8 +48,8 @@ export class NotebookShell extends Widget implements JupyterFrontEnd.IShell { this._topHandler = new Private.PanelHandler(); this._menuHandler = new Private.PanelHandler(); - this._leftHandler = new Private.SideBarHandler('left'); - this._rightHandler = new Private.SideBarHandler('right'); + this._leftHandler = new SideBarHandler('left'); + this._rightHandler = new SideBarHandler('right'); this._main = new Panel(); const topWrapper = (this._topWrapper = new Panel()); const menuWrapper = (this._menuWrapper = new Panel()); @@ -154,14 +154,14 @@ export class NotebookShell extends Widget implements JupyterFrontEnd.IShell { /** * Get the left area handler */ - get leftHandler(): Private.SideBarHandler { + get leftHandler(): SideBarHandler { return this._leftHandler; } /** * Get the right area handler */ - get rightHandler(): Private.SideBarHandler { + get rightHandler(): SideBarHandler { return this._rightHandler; } @@ -375,8 +375,8 @@ export class NotebookShell extends Widget implements JupyterFrontEnd.IShell { private _topHandler: Private.PanelHandler; private _menuWrapper: Panel; private _menuHandler: Private.PanelHandler; - private _leftHandler: Private.SideBarHandler; - private _rightHandler: Private.SideBarHandler; + private _leftHandler: SideBarHandler; + private _rightHandler: SideBarHandler; private _spacer: Widget; private _main: Panel; private _currentChanged = new Signal(this); @@ -397,31 +397,256 @@ export namespace Shell { * A name space for SidebarPanel functions. */ export namespace SideBarPanel { + export type Area = 'left' | 'right'; + + export type sideBarMenu = { + [area in Area]: IDisposable | null; + }; +} + +/** + * A class which manages a side bar that can show at most one widget at a time. + */ +export class SideBarHandler { /** - * The function to update the sidebar menu. + * Construct a new side bar handler. */ - export type UpdateSideBarMenuFn = ( - area: 'left' | 'right', - entryLabel: string - ) => IDisposable | null; + constructor(area: SideBarPanel.Area) { + this._area = area; + this._panel = new Panel(); + this._panel.hide(); + + this._current = null; + this._lastCurrent = null; + this._menuEntryLabel = `${area[0].toUpperCase()}${area.slice(1)} Sidebar`; + + this._widgetPanel = new StackedPanel(); + this._widgetPanel.widgetRemoved.connect(this._onWidgetRemoved, this); + + const that = this; + const collapseIcon = React.createElement( + 'div', + { + onClick: () => { + that.collapse(); + that.hide(); + } + }, + LabIcon.resolveReact({ + icon: closeIcon, + className: 'jp-SidePanel-collapse' + }) + ); + + this._panel.addWidget(ReactWidget.create(collapseIcon)); + this._panel.addWidget(this._widgetPanel); + } + + get current(): Widget | null { + return ( + this._current || + this._lastCurrent || + (this._items.length > 0 ? this._items[0].widget : null) + ); + } /** - * The function to add an item to the palette. + * Get the area of the side panel */ - export type AddPaletteEntryFn = ( - widget: Readonly, - area: 'left' | 'right' - ) => void; + get area(): SideBarPanel.Area { + return this._area; + } /** - * The function to remove an item from the palette. + * Get the menu entry label of the side panel */ - export type RemovePaletteEntryFn = ( - widget: Readonly, - area: 'left' | 'right' - ) => void; -} + get menuEntryLabel(): string { + return this._menuEntryLabel; + } + + /** + * Whether the panel is visible + */ + get isVisible(): boolean { + return this._panel.isVisible; + } + + /** + * Get the stacked panel managed by the handler + */ + get panel(): Panel { + return this._panel; + } + + /** + * Get the widgets list. + */ + get widgets(): Readonly { + return this._items.map(obj => obj.widget); + } + + /** + * Signal fires when the stacked panel changes + */ + get updated(): ISignal { + return this._updated; + } + + /** + * Signal fired when a widget is added to the panel + */ + get widgetAdded(): ISignal { + return this._widgetAdded; + } + + /** + * Signal fired when a widget is removed from the panel + */ + get widgetRemoved(): ISignal { + return this._widgetRemoved; + } + + /** + * Expand the sidebar. + * + * #### Notes + * This will open the most recently used widget, or the first widget + * if there is no most recently used. + */ + expand(id?: string): void { + if (this._current) { + this.collapse(); + } + if (id) { + this.activate(id); + } else { + const visibleWidget = this.current; + if (visibleWidget) { + this._current = visibleWidget; + this.activate(visibleWidget.id); + } + } + } + + /** + * Activate a widget residing in the stacked panel by ID. + * + * @param id - The widget's unique ID. + */ + activate(id: string): void { + const widget = this._findWidgetByID(id); + if (widget) { + this._current = widget; + widget.show(); + widget.activate(); + } + } + + /** + * Test whether the sidebar has the given widget by id. + */ + has(id: string): boolean { + return this._findWidgetByID(id) !== null; + } + + /** + * Collapse the sidebar so no items are expanded. + */ + collapse(): void { + this._current?.hide(); + this._current = null; + } + + /** + * Add a widget and its title to the stacked panel. + * + * If the widget is already added, it will be moved. + */ + addWidget(widget: Widget, rank: number): void { + widget.parent = null; + widget.hide(); + const item = { widget, rank }; + const index = this._findInsertIndex(item); + ArrayExt.insert(this._items, index, item); + this._widgetPanel.insertWidget(index, widget); + this._refreshVisibility(); + + this._widgetAdded.emit(widget); + } + + /** + * Hide the side panel + */ + hide(): void { + this._isHiddenByUser = true; + this._refreshVisibility(); + } + + /** + * Show the side panel + */ + show(): void { + this._isHiddenByUser = false; + this._refreshVisibility(); + } + + /** + * Find the insertion index for a rank item. + */ + private _findInsertIndex(item: Private.IRankItem): number { + return ArrayExt.upperBound(this._items, item, Private.itemCmp); + } + + /** + * Find the index of the item with the given widget, or `-1`. + */ + private _findWidgetIndex(widget: Widget): number { + return ArrayExt.findFirstIndex(this._items, i => i.widget === widget); + } + + /** + * Find the widget with the given id, or `null`. + */ + private _findWidgetByID(id: string): Widget | null { + const item = find(this._items, value => value.widget.id === id); + return item ? item.widget : null; + } + + /** + * Refresh the visibility of the stacked panel. + */ + private _refreshVisibility(): void { + this._panel.setHidden(this._isHiddenByUser); + this._updated.emit(); + } + + /* + * Handle the `widgetRemoved` signal from the panel. + */ + private _onWidgetRemoved(sender: StackedPanel, widget: Widget): void { + if (widget === this._lastCurrent) { + this._lastCurrent = null; + } + ArrayExt.removeAt(this._items, this._findWidgetIndex(widget)); + + this._refreshVisibility(); + + this._widgetRemoved.emit(widget); + } + + private _area: SideBarPanel.Area; + private _isHiddenByUser = false; + private _items = new Array(); + private _panel: Panel; + private _widgetPanel: StackedPanel; + private _current: Widget | null; + private _lastCurrent: Widget | null; + private _updated: Signal = new Signal(this); + private _menuEntryLabel: string; + private _widgetAdded: Signal = new Signal(this); + private _widgetRemoved: Signal = new Signal(this); +} /** * A namespace for private module data. */ @@ -511,266 +736,4 @@ namespace Private { private _items = new Array(); private _panel = new Panel(); } - - /** - * A class which manages a side bar that can show at most one widget at a time. - */ - export class SideBarHandler { - /** - * Construct a new side bar handler. - */ - constructor(area: 'left' | 'right') { - this._area = area; - this._panel = new Panel(); - this._panel.hide(); - - this._current = null; - this._lastCurrent = null; - this._menuEntryLabel = `${area[0].toUpperCase()}${area.slice(1)} Sidebar`; - - this._widgetPanel = new StackedPanel(); - this._widgetPanel.widgetRemoved.connect(this._onWidgetRemoved, this); - - const that = this; - const collapseIcon = React.createElement( - 'div', - { - onClick: () => { - that.collapse(); - that.hide(); - } - }, - LabIcon.resolveReact({ - icon: closeIcon, - className: 'jp-SidePanel-collapse' - }) - ); - - this._panel.addWidget(ReactWidget.create(collapseIcon)); - this._panel.addWidget(this._widgetPanel); - } - - get current(): Widget | null { - return ( - this._current || - this._lastCurrent || - (this._items.length > 0 ? this._items[0].widget : null) - ); - } - - /** - * Whether the panel is visible - */ - get isVisible(): boolean { - return this._panel.isVisible; - } - - /** - * Get the stacked panel managed by the handler - */ - get panel(): Panel { - return this._panel; - } - - /** - * Get the widgets list. - */ - get widgets(): Readonly { - return this._items.map(obj => obj.widget); - } - - /** - * Signal fires when the stacked panel changes - */ - get updated(): ISignal { - return this._updated; - } - - /** - * Add a function to update the menus with the side bar widgets. - * @param updateMenu - the function to call to update the menu. - */ - addUpdateMenuFn(updateMenu: SideBarPanel.UpdateSideBarMenuFn): void { - this._updateMenu = updateMenu; - this.updateMenu(); - } - - /** - * Add functions to add or remove entry in CommandPalette. - */ - addPaletteFn( - addEntry: SideBarPanel.AddPaletteEntryFn, - removeEntry: SideBarPanel.RemovePaletteEntryFn - ): void { - this._addPaletteEntry = addEntry; - this._removePaletteEntry = removeEntry; - - this._widgetPanel.widgets.forEach(widget => { - if (this._addPaletteEntry != null) { - this._addPaletteEntry(widget, this._area); - } - }); - } - - /** - * Expand the sidebar. - * - * #### Notes - * This will open the most recently used widget, or the first widget - * if there is no most recently used. - */ - expand(id?: string): void { - if (this._current) { - this.collapse(); - } - if (id) { - this.activate(id); - } else { - const visibleWidget = this.current; - if (visibleWidget) { - this._current = visibleWidget; - this.activate(visibleWidget.id); - } - } - } - - /** - * Activate a widget residing in the stacked panel by ID. - * - * @param id - The widget's unique ID. - */ - activate(id: string): void { - const widget = this._findWidgetByID(id); - if (widget) { - this._current = widget; - widget.show(); - widget.activate(); - } - } - - /** - * Test whether the sidebar has the given widget by id. - */ - has(id: string): boolean { - return this._findWidgetByID(id) !== null; - } - - /** - * Collapse the sidebar so no items are expanded. - */ - collapse(): void { - this._current?.hide(); - this._current = null; - } - - /** - * Add a widget and its title to the stacked panel. - * - * If the widget is already added, it will be moved. - */ - addWidget(widget: Widget, rank: number): void { - widget.parent = null; - widget.hide(); - const item = { widget, rank }; - const index = this._findInsertIndex(item); - ArrayExt.insert(this._items, index, item); - this._widgetPanel.insertWidget(index, widget); - this.updateMenu(); - this._refreshVisibility(); - - if (this._addPaletteEntry) { - this._addPaletteEntry(widget, this._area); - } - } - - /** - * Hide the side panel - */ - hide(): void { - this._isHiddenByUser = true; - this._refreshVisibility(); - } - - /** - * Show the side panel - */ - show(): void { - this._isHiddenByUser = false; - this._refreshVisibility(); - } - - /** - * Update menu entries - */ - updateMenu(): void { - if (!this._updateMenu) { - return; - } - if (this._disposableMenu) { - this._disposableMenu.dispose(); - } - this._disposableMenu = this._updateMenu(this._area, this._menuEntryLabel); - } - - /** - * Find the insertion index for a rank item. - */ - private _findInsertIndex(item: Private.IRankItem): number { - return ArrayExt.upperBound(this._items, item, Private.itemCmp); - } - - /** - * Find the index of the item with the given widget, or `-1`. - */ - private _findWidgetIndex(widget: Widget): number { - return ArrayExt.findFirstIndex(this._items, i => i.widget === widget); - } - - /** - * Find the widget with the given id, or `null`. - */ - private _findWidgetByID(id: string): Widget | null { - const item = find(this._items, value => value.widget.id === id); - return item ? item.widget : null; - } - - /** - * Refresh the visibility of the stacked panel. - */ - private _refreshVisibility(): void { - this._panel.setHidden(this._isHiddenByUser); - this._updated.emit(); - } - - /* - * Handle the `widgetRemoved` signal from the panel. - */ - private _onWidgetRemoved(sender: StackedPanel, widget: Widget): void { - if (widget === this._lastCurrent) { - this._lastCurrent = null; - } - ArrayExt.removeAt(this._items, this._findWidgetIndex(widget)); - - this.updateMenu(); - this._refreshVisibility(); - - if (this._removePaletteEntry) { - this._removePaletteEntry(widget, this._area); - } - } - - private _area: 'left' | 'right'; - private _isHiddenByUser = false; - private _items = new Array(); - private _panel: Panel; - private _widgetPanel: StackedPanel; - private _current: Widget | null; - private _lastCurrent: Widget | null; - private _updated: Signal = new Signal(this); - private _menuEntryLabel: string; - private _disposableMenu: IDisposable | null = null; - private _updateMenu: SideBarPanel.UpdateSideBarMenuFn | null = null; - private _addPaletteEntry: SideBarPanel.AddPaletteEntryFn | null = null; - private _removePaletteEntry: SideBarPanel.RemovePaletteEntryFn | null = null; - } } From d210064223fd90694f619ffc148c7ad6119f7b7b Mon Sep 17 00:00:00 2001 From: Nicolas Brichet Date: Fri, 2 Sep 2022 09:23:26 +0200 Subject: [PATCH 28/57] Add some docstring --- packages/application-extension/src/index.ts | 17 +++++++++++------ packages/application/src/shell.ts | 6 ++++++ 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/packages/application-extension/src/index.ts b/packages/application-extension/src/index.ts index 199b468daa..9ccbe5d010 100644 --- a/packages/application-extension/src/index.ts +++ b/packages/application-extension/src/index.ts @@ -718,8 +718,10 @@ const sidebarVisibility: JupyterFrontEndPlugin = { return null; } + // Remove the previous menu entry for this sidebar. sideBarMenu[area]?.dispose(); + // Creates a new menu entry and populates it with sidebar widgets. const newMenu = new Menu({ commands: app.commands }); newMenu.title.label = entryLabel; const widgets = notebookShell.widgets(area); @@ -749,20 +751,23 @@ const sidebarVisibility: JupyterFrontEndPlugin = { /** * Function called when a sidebar has a widget added or removed. * - * @param sidebar - the sidebar updated - * @param widget - the widget added or removed from the sidebar - * @param status - 'add' or 'remove' + * @param sidebar - the sidebar updated. + * @param widget - the widget added or removed from the sidebar. + * @param action - 'add' or 'remove'. */ const sidebarUpdated = ( sidebar: SideBarHandler, widget: Widget, - status: 'add' | 'remove' + action: 'add' | 'remove' ) => { + // Update the menu entries. if (menu) { updateMenu(sidebar.area, sidebar.menuEntryLabel); } + + // Update the palette entries. if (sideBarPalette) { - if (status === 'add') { + if (action === 'add') { sideBarPalette.addItem(widget, sidebar.area); } else { sideBarPalette.removeItem(widget, sidebar.area); @@ -799,7 +804,7 @@ const sidebarVisibility: JupyterFrontEndPlugin = { }); } - // Update menu and palette when widgets are added or removed from sidebars + // Update menu and palette when widgets are added or removed from sidebars. notebookShell.leftHandler.widgetAdded.connect((sidebar, widget) => { sidebarUpdated(sidebar, widget, 'add'); }); diff --git a/packages/application/src/shell.ts b/packages/application/src/shell.ts index b58d215cf1..38ea77fea2 100644 --- a/packages/application/src/shell.ts +++ b/packages/application/src/shell.ts @@ -397,8 +397,14 @@ export namespace Shell { * A name space for SidebarPanel functions. */ export namespace SideBarPanel { + /** + * The areas of the sidebar panel + */ export type Area = 'left' | 'right'; + /** + * The sidebar menu type, one for each area + */ export type sideBarMenu = { [area in Area]: IDisposable | null; }; From 7f33dbed84c7e5352bd5b77404c3048538414660 Mon Sep 17 00:00:00 2001 From: Nicolas Brichet Date: Wed, 7 Sep 2022 09:06:34 +0200 Subject: [PATCH 29/57] Fix tests on panels and add snapshots --- ui-tests/test/notebook.spec.ts | 25 +++++++++++++----- ...tebooktools-right-panel-chromium-linux.png | Bin 0 -> 18968 bytes ...otebooktools-right-panel-firefox-linux.png | Bin 0 -> 16490 bytes .../toc-left-panel-chromium-linux.png | Bin 0 -> 9316 bytes .../toc-left-panel-firefox-linux.png | Bin 0 -> 7857 bytes 5 files changed, 19 insertions(+), 6 deletions(-) create mode 100644 ui-tests/test/notebook.spec.ts-snapshots/notebooktools-right-panel-chromium-linux.png create mode 100644 ui-tests/test/notebook.spec.ts-snapshots/notebooktools-right-panel-firefox-linux.png create mode 100644 ui-tests/test/notebook.spec.ts-snapshots/toc-left-panel-chromium-linux.png create mode 100644 ui-tests/test/notebook.spec.ts-snapshots/toc-left-panel-firefox-linux.png diff --git a/ui-tests/test/notebook.spec.ts b/ui-tests/test/notebook.spec.ts index 2a1168f4c4..b8a68f685b 100644 --- a/ui-tests/test/notebook.spec.ts +++ b/ui-tests/test/notebook.spec.ts @@ -102,7 +102,7 @@ test.describe('Notebook', () => { test('Open table of content left panel', async ({ page, tmpPath }) => { const notebook = 'simple_toc.ipynb'; - const menuPath = 'View>Show Left Sidebar>Table Of Contents'; + const menuPath = 'View>Left Sidebar>Show Table of Contents'; await page.contents.uploadFile( path.resolve(__dirname, `./notebooks/${notebook}`), `${tmpPath}/${notebook}` @@ -111,23 +111,30 @@ test.describe('Notebook', () => { await waitForKernelReady(page); - await page.menu.open(menuPath); + await page.menu.clickMenuItem(menuPath); + + const panel = page.locator('#jp-left-stack'); + expect(await panel.isVisible()); await expect( - page.locator( + panel.locator( '.jp-SidePanel-content > .jp-TableOfContents-tree > .jp-TableOfContents-content' ) ).toHaveCount(1); await expect( - page.locator( + panel.locator( '.jp-SidePanel-content > .jp-TableOfContents-tree > .jp-TableOfContents-content > .jp-tocItem' ) ).toHaveCount(3); + + const imageName = `toc-left-panel.png`; + + expect(await panel.screenshot()).toMatchSnapshot(imageName); }); test('Open notebook tools right panel', async ({ page, tmpPath }) => { const notebook = 'simple.ipynb'; - const menuPath = 'View>Show Right Sidebar>Table Of Contents'; + const menuPath = 'View>Right Sidebar>Show Notebook Tools'; await page.contents.uploadFile( path.resolve(__dirname, `./notebooks/${notebook}`), `${tmpPath}/${notebook}` @@ -136,10 +143,16 @@ test.describe('Notebook', () => { await waitForKernelReady(page); - await page.menu.open(menuPath); + await page.menu.clickMenuItem(menuPath); + + const panel = page.locator('#jp-right-stack'); + expect(await panel.isVisible()); await page.isVisible('#notebook-tools.jp-NotebookTools'); await page.isVisible('#notebook-tools.jp-NotebookTools > #add-tag.tag'); + + const imageName = `notebooktools-right-panel.png`; + expect(await panel.screenshot()).toMatchSnapshot(imageName); }); }); diff --git a/ui-tests/test/notebook.spec.ts-snapshots/notebooktools-right-panel-chromium-linux.png b/ui-tests/test/notebook.spec.ts-snapshots/notebooktools-right-panel-chromium-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..778350b00ccff0754e0b7f62798ea9cd2362cb17 GIT binary patch literal 18968 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 literal 0 HcmV?d00001 diff --git a/ui-tests/test/notebook.spec.ts-snapshots/notebooktools-right-panel-firefox-linux.png b/ui-tests/test/notebook.spec.ts-snapshots/notebooktools-right-panel-firefox-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..8c611ce03e8f40329b33b61e5d84d93db0837a53 GIT binary patch literal 16490 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 b{6)$NSJIN(os{uQ0@~_&M=}rn_Q(GMAa}A% literal 0 HcmV?d00001 diff --git a/ui-tests/test/notebook.spec.ts-snapshots/toc-left-panel-chromium-linux.png b/ui-tests/test/notebook.spec.ts-snapshots/toc-left-panel-chromium-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..964db58e352b336755d6d4520bbe41adbedf7253 GIT binary patch literal 9316 zcmeHNXHe7Ynh&BPDsU8#BlW03+7aX^QUewcLYHC$LUJrflhAurLRJq&-6?EW>Pq|SWUPe|p*oQ6&&hh~cw2SP31FZP=miCM3b%;dqt2P2r9vG}=Woku#0hDTc)JS&Qtnoz3&bKeryYi!+u1Jp!g zv=PSj=@}Va*#<%bCjIPe#$~^VAhPdshXlA+4)nfuq?wBiy>^W6CwLdd91uY;4~dD9 zX*hoad3kwd(Wr=sHb-)G_RpU`v8j3742_bzH`jgXV=?b{Z$ZzD=Y3w z?b|CpN>w|ICyF^F{BINqh^DjuHsm$i`^3?uICaFe0$WiNs>OPzvGJpnfW^<)4A#gM zSlL~>c8#rJS$|zrCh&O7GG<|pA7QG=5h9h&{+6$e?a#;w#7TJa*-;gQKCB5=`#DA15R>UVHl;0rgKa&>|4{uvvnXQ}}!K}d~$T1pQN=DQoT(#wF?`wBL zPImUxfcH>WxL8o`=K3mi)+=B4iL^scah9m>=z-;#9#eI7^@<`HadEBrn)M>}%_UP2 zC6}{=aw`Rg&M(Q{gCsWg-MKKWMMmY8=g*R04a>4yq~&QEeeH^uY`oq>L523Wx7ihL zeLcxsThk?G>nEg-QRDT9Dqb_WHq@uSsQD)tTw9ed18LJD`!Z+ zo9AIy*F(}rmdP%wa|3%hIWIXl*Ou&^dP~vI&p5S*@~G$f zGR8j-4GlRa!0a5CCfaoM^_M8y6KxqPeoMJ$oCgd1=PI;eUNXd2l>>wiA3jLQ${MPA z&v~5x!*y7bHIjCWsQIm11?lPOr(M3CMYnqo1?Gh96VN3F1O_e-N6C$Ul|@qmn8o8Q z$@w&V@aDab;|o5cUX`zdw}WPfYVlU(gf3`1vY;~`iab%Z@KMOn<>Q0H8Bl1{kp)S4 z`Ag7wx<*EFU!t7)$_&<5=e>gjs~Ih-jh{Y!VlX(kg>w%ayZC9=%W<+jYwcSo4-#E+ zv$_4nxlpqrY{ia;^K^~v3OKQ0Pkgu0Y?a^QXNl#Bj2M-2+t!rAYX4PT;>T!_{4-9y zN-;Luq>WBfBjtA$n=5_G4H{dQxCBpsfk_u)aK2hlE~x>F5jWv6+Z5lAzBo6x;)@S{ zO}pL@t=#tuoY`@ML`f(y*qzR)u6)L8F5k8{uGgzK7O60OngBi^4GLa|sQ&XCJFCiJ z^DbrSK3Upev^xI$@tv4?_|(mbt@U|YYtYImgA_FjdwY9gCai5@u5!L+$}w=I$98RP zn%tFVo*(egmHPBV-j!GBUh{*6Z5i6r?OA%gCAKl#!b*>>$L#T{N_U6TY*O9aI32X% zL)UPH_F4W>$0INi26M|frX6j^TpaV8tDwgvCc=Q1eNkR07}*r|4rw#D7QC_00JFxx z8o5Q)Ce*w#pdvG6ttotVBADo_ZRuLLn6a|06INw*FfuXIZLHBA9?!EXFUoA1-xTrg zPm4XKt=rgdwSV6})7K7NNHjHG&ifAUFTcFV&6OnAg@60@=R;8xW|J1=4r+b6pB8V)X6Xv*?6|kD(kq-9pY) zX@yqh(&FM-Z{<#VOcb5(T4`c^zuJQY9hJD{)GJ30gOK7PD z)p6-d9|Z79c<<@%W=_MEb-~kizezDPnlSjlF||V?BC`RgYxVcBt(Z7De9c?`+q>j_ z7jNv^xl@P8YLCD*4|D?EY6}*bcRp+{CXmqm{R*^B4OB=#^&B*f$JU1LhmRjs!c%VF zzKu!tJ$R;S#pC_^_k1EEg;4@>4y`FDIAo*o^FcurK(f=`xEONNImV30Ev7yb5SS6Hs5m_QA*#31oBYQgfAI10 zj?9edG`jw3_S(TbEIfRgC-`S5Qdy(^9=Avyeq&gG7LZ)#)Tcs!J>Ha%0sX2L^Xfu4 zH?CX;Q&hlY(CL12P^v2)mZf%SJQ^FuM~)n6QQcuOo?_(TQF{Ku1y6WP$Un`Ba7jn! zK60`PgEt2R4G0K0ee3H>HS#fOY2Co}m9B5^LYJX&R9B6jolLtDOtkvpqt-$b|Bjrv z&CbzT?u=iaAHtW|wtCIY17{VPHm*!{>7o2rJP0(BsrKXJ28|t#o6OeWr!g@xUUU7E zuWjS;pFe*VMER9Qi)jSaO`m-?_A|+_?jG0j`+ah(8jOsN?p~VgNJfZ@i`#c(8z^pE zyKry+r3$yPC7?JoQN??%0IGD{9|g=qnJw$Rq4Sy?YlM&xAF&TdPk$y3)Au=7MW3bT?~bYB$E@{Fb{gWD0hLVX@lp9s{iym$R(s z*xlqyb8ksf#d?XZ3Qom9L+A(FVuR%c~c{?%ngN z771KiniL9p6%v8~Sf^HOJ|EgRj&BuHcFTnR%7m&itn{AmF1Dd|0yqkZ8ll@N+->R8 z6BBmix}1Xb;ubU%_u%x)BkL>Lnwm=ITIZl3T2!?xOiWFmBqk<~Y*jUiPB_;vFV5F) z*WBX~OUY^7F>rrjq=8DKVE`yn!W3QoPJ z8;UI?h~&rGC(NUr6E-o*7%bm%yedRJIP8h_fujK+o<^T@N_LMX@&R_ld@@k7J z#-hAr@SRHFS}E*HhWz!9l9G}-@v_$KK(hc_(uKI{US?7YD2|CFJ$qp1*s3ht*SR+% z++4y+#<8)nzFW_<041RvmPTSU{F3)I22CMW+%~SLxO{tS?i~wE>(^|wI<5tPT|IbF z)`48Ls2jb$wlX^%5OSij-w>&nkjiV{nR_YrfgBYy#OZ*aF2L2(Ute9XNSXKf@s2|Q zsFu9W0^s}i_kbAD4d)T-j^LHx6BWf}UOyoV4Aix@Jk6-`J|rxhG*Yt&;$)47_|yy6 z=DRkTv)p5wI!TqQ?F2+lxT-E(3Fj2;{j_+!iyUPB4gUc_@Y0kJ z1F%BTz3;i1mJ_Vg*|8jLpThyh53T+ZViM#2ztXG!p>`LkEQRnO0^xG3xb@nw00{Y| zC6D*)FLXe@`!sJ%(O|c)33G=O508F+OjOEYfBWlSh~;PBc_rU<7h2^wg9uKf?%cUk z5{cB5ji=g~?W#-RHojvmr$j7uq!pPcjCt0qcwD=7jSpB3{-q1@gxmsE;4xrxvn7et zkz*wEAlqeBMum-yEixvCC7$8;zRi1$l9XbV*cAVS^0KV*c_oW|ou#_=PDJ0J&>e}4+V+$ z_Zpk^6Uwo&@wC|U0RdH0G%|ivB5Ht84p?4LIY*&Z$bq;bu5L5$Jb)LV_4Unwj9|K% z&z}973{oYJ>NWGVtw&~u@kvkxe<<6?drq0b2NzjT7bA*_d-g0Bz)$)5o;`cMMDoil zG3lu?Cr=uG|NfmB^e{kM!e8f&@NVPM;gOMK$2MX0fGYrod-w1Eef$!?eocA@m>0U5 zA;{Cn8)p$)w%r95Ei?<~DA9`u@R8%N$8W1n`FE|d>RD)irw~)^}#+M2Jw_6u_L9abUIt@_F!QzyB#lFy&G4_D6J|u^mX>tzA0x;te zQ8{fiy#~a~&(EI)h$I6x90aZzXb4cY$2BxG43bsMo1ZIUbaf+-8z$vSnP%I4e;?Mu z&{&^2Re0sqdrous+ib(+JcH+F_;2vC@fGh7!GW;`-7u6eqP8wp-d6|~an#p3bT^j? z@TRzp;S}w~Irczs6GRqq<^rTHuC8K011k{vm7IEtKTI>Q{2-Utl9qK}$N@K#lO zdpo!pWwZ&P^Te-IO-|#Vum*TY4%JAG3|>XvJxw6dvtYUw>I(Uv145zDis{N_2;V?(S|8%BvF)~ z4w2XhSywX9~hB2_=aL%QqgX zro?`|!O6wd1uBUjfEUopabfsFi*gD*H5hm5X44mJ<> z4j(>j`SQ=(cS1wme^&(ZE5z3hRt%Kdn=071Yl?w4;d0&=lFwMcx)!$gNqq1<;d1LH z^{AL8l;LSuctEnxZexn3wst<8ry@O^oh=RvX$a}yLc}OA8{g_Lh+nT7{d+uO7Cq5f zI5i(IP++*L;~nA+bL@VLJI_GTO;71uf_d;J6SLvK7V`edh^8BPyqtt#^hI9(9npwr znf%L0h4cr1vU=c}9i$&0Q2U`;P1~fnrKF@NBhjiJqn~0OWy>KRfF9C;jKp~4zu4tvqLfepsRhugs=M&{%KVU=Mr~8GWjP^vFo0n|*0bFJlP9R=^Af_0SO-iq zboVEk%H@J9X&<5l@_{fcE8Ma~gEw4R=>hc1V`ShKlOFltf!TC-q36a=SC(3b9Wn-H z7+vt;J9sc1tOB*Q)refXMFBUo)Ec~H$}fFm%k9>+Yv~}1M(@gk?*<3d+4w}poQ$h} zzj+UlWlU13YU~XK(d`Vv@%MOY7HG~fM-f1j%Tb3;j80GIgT)~kCabh$1`(I2_^tLH zcamvN^zQw?zJPAfArfjgy_P51E_!X2S~mV-w6Mh&gIxqm zST-~vOQZ82K1}kTuf~9xajD7S;@-c1iDFI0p=?bwq}++MGY;Jaq>+XgJz`6$1{vNp zb(=%f7?7x=ey$$XHEUkCHgH*q(MhYf{1nOE@{V1KsXT_aZ#r>H>2^Tw0{cO|Q?_(f}Bf>t2D5 z!MnHDS`nnotvMpGq&2bFM~_|r;ln_AP+@tvY6`S5YjXfzSR)8265`?xCqYCocBKIZ zdF?%q1J7;uA(Ed}Qm06%NLDNaRt!?Q?r0I!Qo?`=OB)kCR%R?fQnqrofH?4&>#uN( zuDJFg5?)gbi0RQh2AUbthpDO&@C|vLot;&|?ja`WX0wx-+1U>8_bMI}k6S(Mz|%gx;#CuIs{d+W6BTkbZg^UQ?R zsiuTeYfz=>z+{da7W^Oz|C0*ipzK8KG^-C zG}TGU=UT2Tno#kLeznQ!WiHjDr9ubN9@s_=16Ko2tCUBiF^L$sFG4>fs zXuNtyB)7m#j(^`jVI14Zci;I#uATe)qiaI%1Pk{8FKO8EPLgSh7A5hFQyzqgEc&^4 zY-eM(iRakcs>W%gHyVv*l{;&hea^MkkX(OB-CB|`Cz)u)s4eOoh&d?vT(>^!1j`sg zS_Pg=)pQc*u_s}tGnlzVlz-X5g9k_H^c*N>yWUd!Jd2X-%qE$wWF^=0H8nM007DWL zor|EmSdAUeo2=mY6dY;rz^l7qVI+vCagT@CB;OS1S$#6yu{1Z(=ROp;>T8&)KD*$f zmLga4^L&JJVXbz3FUZX_-jRNexC9L4@tZJJ}~ z@a4trQ=GVPZjnv^evqK~4qbVIii9K(aKpD)VYiRCp2>mkD7I&NG2Q|6B5^tEbli zA)hDpM7gAbf2SmQlcORRM_{0gurHqUAZ$sDs zI}loTdwxUk?Sp$7vk0Y}5+I~u(H)3mGk>iv{;T^OsQOWxVw9A7V*(r%Tn9-hDO~{@ zM)6rlf4Ap$@nrS`!ys8jL0HhIPdcm^oz>s40tin1NPDz7;+({X+Yf0e_u#QTr^!dX%(LrXu$^l+Tfh_gVa5vizpJ%sP zsh}rVVH^vgrUoj@Pw~r#yvH2nCT9*O-y%ay%z}RwJV4d4bSmV#l!b?EF6QDljdI=` z@2ey>jC__qgb2&2*UV8m-q%+fTnm_$k)a(kHPcf9_Zn?*R-ifJ&-ck926daho4e|l z(V+=f2mOuYs(##I)d);4-+8D85dT)JlZ0`%e2*xCSHFzo#TC|NpKiUf$nie*M(&lr zA6WhlK>t6xaQlw{<9~Nu_phh_(sKW6TmBihrB9-18-dt)ko8@Ff8dJxUx)k8c)0&M n(El8>{o`N7_P_yX#pLhNZbZj8x literal 0 HcmV?d00001 diff --git a/ui-tests/test/notebook.spec.ts-snapshots/toc-left-panel-firefox-linux.png b/ui-tests/test/notebook.spec.ts-snapshots/toc-left-panel-firefox-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..0193595708aeb1a3a7e369deb54413fb532bd92f GIT binary patch literal 7857 zcmeHMX;72tnhkC!vM5TUAfN&wpwhC4gk2B}OHlSjNGmFYRU`-k0b6Vk6lp|2mJlRB zWS2ec3L>(Tgb=ofh(JOJ2qf&wyxi`t+cS6Wotj(oXR10?RFW_G^1a{lo^zga9wM*8 z4f%LPcpwl6AMA?0IRwHb27&D8*}DfEDPU(lgFwUsVEVe20jVt7ny)2i^yA#7=!k@X z>G4Nzhs}BOe?2LAKsgatiq!Fd`mPMO;XI*ncglZFCU+nh@YRI zw`R7rw}aPIIU{}UcVe&)Sq}mR?GtoRkm2HqSjOp#f<&$!Q^DdtUOnN5h^9Gly&b)z z2oZHsByfqMsi0UVak*!eE%x2xv=AH2<_(Niz_Txw4^OU{JFy^M{0eGO-TYsXo4!{W)m1yc(^mt4q2tRN-lC-{3R$F_WWv zz_lk`S48bz<~?6u2Xw~}%fdKxYi-1V7P=6dkkB{Eau}@ebck4@1|Jp@lBQJ@7hiLz z^rF;0SWv$A?Fyf`hHX+(5~vdyu{keHt9?*Pi*Z08iq1MzxNfemh^V-|4Cg(X;i{Z_ z`RNZinVI@?0UB8w4fk30B&|LQrM%|cc|}D<?@F+ zwJ=6YLtVPlC~O8Y!7|y}&MM!@!;$)p zenLV*FETSSGVTuK+m)imK1N^AmWiC3Z&!$5T10oP%{CNOS3@xx56t6a%=i<%2TG)W zuR+JF^Ln}mPHSpvj+5ssalTs{OY(bnXl}5{FT6G~+dDce59~_5=yTJEXjgOJlTe$J zBg@F2{yy3y3ozQ*@Xn>N&0c5S2i9HRb=EQhYVHLShRq2#%TSF2K!oTTEO;DqK_ zq1WeHV2JByvqUg9P7kCtLN{oz*0CWwW9f>`h(4{Xk_sftY5y>>c=jKi=#@yjH zkL;@UV>WsYLQ`J8WV4aoX_}++YQ7VX+qZc*LaaA(jDasGB_fW;qzle&81=T zRPO~%O-Jpuf$r_ElvU#_aSNa}ZU7pi3>Mfxu+lX2;y@<0PwcYG%KSJqc=_$-Tui7d zgOmkBe4x#-a|?)0yUgQ_P{|VQ;e4Wl!*_@omtkCHM^wG86M{$T(f(yc=93w|U*2({ zH&-SD0f$xGdf)Kt&4Z0`?|*v(R*BU@2d236c52IPOPG66-47vY?(Xih^yIGRV(K%? z=Pyyq)}|;7GM>|GVJ3|}ud0pq4slb+633A7W=#KvHO!;qdqeN>i6~#e!!br`P*!w8 zH<9}$N*v85-c7MVpjEDaP9Y-QO_G&m8JF()0?Fd5GzJf-x@X~Sl!&M(5dN&=d&};0 zCaXum0|TqI*1tEYhotsAkljdwo0>*fc#nuX1?_vJ<6XzGCSAZp!U2#-ey_k57@6a7 zO0GS}FP}WP!NzM-xFv#n+#1$~R4|*XY`OE>dN)1o(R{PmTH&dxKhTZu7l1~xyr_!M z7iG>Z{JY;5BsQcpJo&Xv1p~NIxBT_#=zMBws``T`J(oQVCVO)%JiUh3PmTg)$MyN0 z0%zT9j=DR5*jlxL|VCvuALYYPDesv9+^vTja`-zvf=NCSey;pAxMdR~!+ zn$H_gjJ3p23mt3Ntuk18In~Ly`upm1Y4<7GOk2GCXnDzT0!RJqcH@x224|2+=0G)& z0CX^gB&@psx#5tR;VRe?)dnXi8$9=V<;wV_`6MNm?cKS%@*(n&die-loMnJ7AWwb> zpudi=cU)$Apaw~CV2d?YzQv7JRMuo4+VwL$O(Tia;%S^qTmeg^jwARrLe>LF0^t=O zb)IxZi>fMn4wk*dkw1UAd2iNL32J3!1(c5TX!riZ(FUMVybhYFG8E8SPQT#Me_%6B z-&Y^+oMT}4LPSJ_{ZZ806|6E!|D=(b8MVLIx!jd_k~L6@Z_*AU+#8RIdipeO^YKk^ zQ}$)9v776Y+ADFT^oEb!*blUdgk9T5j;5Gg$Yv{!6)qfPd^5F4A(xe zxPkgQM*s|<^z@|X*%T=r;Wem?4iDd>a^ZrUcuc4SM$+&(z2~)FZhn5R_STBop0M}y zifeXuIeHQNj8CzWUz7iZq0!O4YHy$G$L#aF2nu3_K#UC41Ul$*)49EbQ^Db!^mLu( z=H|M(yh=(I{bgceUUhXfesQ0Uu+&#F)lU{mp-|*xWn)oHorU@NL9q|}=*ewuMnZ=V zqn0;-7ZXmS@zUwNy}fU0Yc}&%S6&0}=Gr8(uQyHJT&Unktv)h3`AFWlVS{bq*M_DGKV zEKb|)8LJo@uJX+-D4>8oQy&AA#>Uwh2MBWH*~=Di@uSa%p8pw4DXQL6AEQNi_kpJ(qzoe6vvTO|jj(JpY$2PC8lRXDS>z?C^U>*2n_ZIe z^l4yi))rY7H*TCDas^(k)Rz&D@xN$g0800DZrRiSl#GmFx8_nR@WCp+6DFOhY8Jq8 z@ltIpE$Oj_;@6}EiLcH(1B+Hv>e3y~bS{1cD$f2EXXZ9ohP1D`mj&(;4=#M$#YJ9S z-GQ6`82zq9U!kKh>Y;eArwbI|iVB>fy{UYy8$}MI9jcXuX>DyK0(rA?aFA#8nPkLX z(H{v}E0AJrJKooN5r<=1I5hteBygklCAVM!Yqn>y*=%;^)vUnmI33i(G)jS4k$pH` z>3yu%WtWACPFVY$j#sZ$M}kW`Suwz}jW$I@Y{fL+3}h1x<0?)-bw)@mDoSva;c++9 zfjCg^ZbK?*kqEu6P`{iZ#Q-a5>+ZI>f4|~mj0DI;XF!0+&OQaJ%&@Sv?Vo}~^7r_& zKmGD;VY1sFdXZE>_vn9n0y*$f)}m1flbU+WbC__AkB{#~W^S$=IQ8R4190j>9%4g| zu?Q+J3DuDx;hpN*T3fH(xs%N=p_R|17P*5kBBB)>5D+aR5l#ZjE$98Vqf%7 zykF-6+K2-Up$&`E12}Eqy!5$unm0suiF((*23{Hg77x5c;7rw|6bx^MwLY+`8e}Pg zCkz&O@7}$}t;*nt#t4a!i^#!b02Z0FfJ+U_%?iryeP@6^nyTNQ-b=-*`5HX^;VcQD zS^4INy`4!)h7tT?Jk-R51UFJ9Y>?oC13#tg(sfL8{*xrnBORiv<-ou|Agi1T)u;#h zkP*g}gZP_GY5Vl42jmZF81Mqy?OqBvG>HwmA@tt2CxwWHLe@~F`-dk7N7wC(ZB39! zefE6wRz%2{TaY0wM~hC{!$s@!{tA zv)2hf218H5z~-(k%_gGcp`hNd%7#FW9FeQn4Cg!5D+?+XVbMKJtFZwks1D@hdVQ|V z0r4ba!PyZ=wFMsTDTD!$J_jU4Y7v6kg;9^2pc-{VZY~aaGeKdY0pHVSKn(qEatCC? zz*PpmX>F*=7ysxu{YNON0RL0unrk2LnGQGlg%P5l-r%F-35hLE~!)0FIO z$7g3}7dVmRVqdqS(StoG7S?4_VPk9iCMt>tbaps4bhAo4;0ss5^(s;sUZCA1vM`NJ>iL9K==A73hgX2GT@#C;M0ic~8clp8l8f zC%1Qo`22hmqH9@`XIGkL9*|C2=+?$I-@moSSzW*GF{t-tMll_CD5k|CY8xGWMTnxN z2!Xtc3TxnQDZoFL2Q7J#({}jBXbEk12M|Af+d%dJaRl_&j!f8hV7=L&Bx6nsM!JGo z0BAi_z>6jhkc!>AcL&b5%BXk_Dub$<1Cm>Sh*nZs8jrzX*cF*#b|tqWdG_zG**NlZ zjU)DH7ie8gs#g>g6l|mf_qjMOv&m+D^qv#VV?LnH{`MdzC!Dbp{H!$>KGmrg-6O{+;&@9-U2deD1lZ+rgRxh0vdr# zlrzzVX+OiOBS7~hGF$~~56Qq!YilC_XGOF_YD-E=4)4-E5@CC$Z%X!>O9rS=If`N4 znW9=m>39vPHU!HBa`Ym>G)YlfgA6m_PJN|R3s|dr;PC>Yob&l3=#|E@P|!⩔A%& zrljNnmwvxx6ymCfeG322of8)K1#@mF> z+P>APs;a66i@4b8s3AW4T5|V{6KI@brjIH^w?Z_Rzl0@g233H`Sdp0e{oxDH7nT71 z+fhX@@(q~mP*%Y`U684Ae}LZm4#V^%%F4UGqsM|+O+|NE8vlYRf6 z%l_Aw|4H)st8{ Date: Tue, 4 Oct 2022 14:07:12 +0200 Subject: [PATCH 30/57] Updates after rebasing v7.0.0a6 --- app/package.json | 1 + packages/application/src/shell.ts | 31 +++------ packages/application/test/shell.spec.ts | 6 +- ui-tests/test/notebook.spec.ts | 2 +- ...tebooktools-right-panel-chromium-linux.png | Bin 18968 -> 18860 bytes ...otebooktools-right-panel-firefox-linux.png | Bin 16490 -> 20823 bytes .../toc-left-panel-chromium-linux.png | Bin 9316 -> 9297 bytes .../toc-left-panel-firefox-linux.png | Bin 7857 -> 11723 bytes yarn.lock | 63 ++++++++++++------ 9 files changed, 58 insertions(+), 45 deletions(-) diff --git a/app/package.json b/app/package.json index 34579f6499..e81b9c1b99 100644 --- a/app/package.json +++ b/app/package.json @@ -77,6 +77,7 @@ "@jupyterlab/terminal-extension": "~4.0.0-alpha.14", "@jupyterlab/theme-dark-extension": "~4.0.0-alpha.14", "@jupyterlab/theme-light-extension": "~4.0.0-alpha.14", + "@jupyterlab/toc-extension": "~6.0.0-alpha.14", "@jupyterlab/tooltip": "~4.0.0-alpha.14", "@jupyterlab/tooltip-extension": "~4.0.0-alpha.14", "@jupyterlab/translation": "~4.0.0-alpha.14", diff --git a/packages/application/src/shell.ts b/packages/application/src/shell.ts index 38ea77fea2..b9477ec7b2 100644 --- a/packages/application/src/shell.ts +++ b/packages/application/src/shell.ts @@ -206,7 +206,7 @@ export class NotebookShell extends Widget implements JupyterFrontEnd.IShell { activateById(id: string): void { // Search all areas that can have widgets for this widget, starting with main. for (const area of ['main', 'top', 'left', 'right', 'menu']) { - const widget = find(this.widgets(area), w => w.id === id); + const widget = find(this.widgets(area as Shell.Area), w => w.id === id); if (widget) { if (area === 'left') { this.expandLeft(id); @@ -293,6 +293,15 @@ export class NotebookShell extends Widget implements JupyterFrontEnd.IShell { case 'main': yield* this._main.widgets; return; + case 'left': + yield* this._leftHandler.widgets; + return; + case 'right': + yield* this._rightHandler.widgets; + return; + default: + console.error(`This shell has no area called "${area}"`); + return; } } @@ -332,24 +341,6 @@ export class NotebookShell extends Widget implements JupyterFrontEnd.IShell { this._onLayoutModified(); } - widgetsList(area?: string): readonly Widget[] { - switch (area ?? 'main') { - case 'top': - return this._topHandler.panel.widgets; - case 'menu': - return this._menuHandler.panel.widgets; - case 'main': - return this._main.widgets; - case 'left': - return this._leftHandler.widgets; - case 'right': - return this._rightHandler.widgets; - default: - console.error(`This shell has no area called "${area}"`); - return; - } - } - /** * Is a particular area empty (no widgets)? * @@ -357,7 +348,7 @@ export class NotebookShell extends Widget implements JupyterFrontEnd.IShell { * @returns true if area has no widgets, false if at least one widget is present */ isEmpty(area: Shell.Area): boolean { - return this.widgetsList(area).length === 0; + return Array.from(this.widgets(area)).length === 0; } /** diff --git a/packages/application/test/shell.spec.ts b/packages/application/test/shell.spec.ts index accd23fc5a..87210aadc1 100644 --- a/packages/application/test/shell.spec.ts +++ b/packages/application/test/shell.spec.ts @@ -145,10 +145,10 @@ describe('Shell for tree view', () => { }); it('should throw an exception if a fake area does not exist', () => { + const spy = jest.spyOn(console, 'error'); const jupyterFrontEndShell = shell as JupyterFrontEnd.IShell; - expect(() => { - jupyterFrontEndShell.widgets('fake'); - }).toThrow('Invalid area: fake'); + expect(Array.from(jupyterFrontEndShell.widgets('fake'))).toHaveLength(0); + expect(spy).toHaveBeenCalled(); }); }); diff --git a/ui-tests/test/notebook.spec.ts b/ui-tests/test/notebook.spec.ts index b8a68f685b..3bfbbf095f 100644 --- a/ui-tests/test/notebook.spec.ts +++ b/ui-tests/test/notebook.spec.ts @@ -7,7 +7,7 @@ import { expect } from '@playwright/test'; import { test } from './fixtures'; -import { runAndAdvance } from './utils'; +import { runAndAdvance, waitForKernelReady } from './utils'; const NOTEBOOK = 'example.ipynb'; diff --git a/ui-tests/test/notebook.spec.ts-snapshots/notebooktools-right-panel-chromium-linux.png b/ui-tests/test/notebook.spec.ts-snapshots/notebooktools-right-panel-chromium-linux.png index 778350b00ccff0754e0b7f62798ea9cd2362cb17..d5847083823ed9b5cd669256c6f78ee50a526fdc 100644 GIT binary patch literal 18860 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 literal 18968 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 diff --git a/ui-tests/test/notebook.spec.ts-snapshots/notebooktools-right-panel-firefox-linux.png b/ui-tests/test/notebook.spec.ts-snapshots/notebooktools-right-panel-firefox-linux.png index 8c611ce03e8f40329b33b61e5d84d93db0837a53..9ff3a2026f91af4617cefa79aba02e388b00e0d2 100644 GIT binary patch literal 20823 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 b{6)$NSJIN(os{uQ0@~_&M=}rn_Q(GMAa}A% diff --git a/ui-tests/test/notebook.spec.ts-snapshots/toc-left-panel-chromium-linux.png b/ui-tests/test/notebook.spec.ts-snapshots/toc-left-panel-chromium-linux.png index 964db58e352b336755d6d4520bbe41adbedf7253..5f3f7f869d525b97212509632eabfca8903e6793 100644 GIT binary patch literal 9297 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 n(El8>{o`N7_P_yX#pLhNZbZj8x diff --git a/ui-tests/test/notebook.spec.ts-snapshots/toc-left-panel-firefox-linux.png b/ui-tests/test/notebook.spec.ts-snapshots/toc-left-panel-firefox-linux.png index 0193595708aeb1a3a7e369deb54413fb532bd92f..62c7aa9ccfd7b282b5caa106ea13da6dcea6be64 100644 GIT binary patch literal 11723 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⩔A%& zrljNnmwvxx6ymCfeG322of8)K1#@mF> z+P>APs;a66i@4b8s3AW4T5|V{6KI@brjIH^w?Z_Rzl0@g233H`Sdp0e{oxDH7nT71 z+fhX@@(q~mP*%Y`U684Ae}LZm4#V^%%F4UGqsM|+O+|NE8vlYRf6 z%l_Aw|4H)st8{ Date: Tue, 4 Oct 2022 14:40:31 +0200 Subject: [PATCH 31/57] Apply the min-width to the side panels themselves instead of to the children, which seems not to work --- packages/application/style/sidepanel.css | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/packages/application/style/sidepanel.css b/packages/application/style/sidepanel.css index 34c4f74b43..cb8f7058c3 100644 --- a/packages/application/style/sidepanel.css +++ b/packages/application/style/sidepanel.css @@ -23,15 +23,11 @@ /* Stack panels */ -#jp-left-stack > .lm-Widget, -#jp-right-stack > .lm-Widget { - min-width: var(--jp-sidebar-min-width); -} - #jp-right-stack, #jp-left-stack { display: flex; flex-direction: column; + min-width: var(--jp-sidebar-min-width); } #jp-right-stack { From 4463ed842fad7b4edb26a4994c90443c7027582c Mon Sep 17 00:00:00 2001 From: foo Date: Tue, 4 Oct 2022 17:12:07 +0200 Subject: [PATCH 32/57] Specify the 'Shut Down All' button to click in smoke tour test (the one from main panel), as there is now a side panel containing the same button --- ui-tests/test/smoke.spec.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui-tests/test/smoke.spec.ts b/ui-tests/test/smoke.spec.ts index 9895ed5d4c..f421a8ca68 100644 --- a/ui-tests/test/smoke.spec.ts +++ b/ui-tests/test/smoke.spec.ts @@ -72,7 +72,7 @@ math.pi`); // Shut down the kernels await tree2.click('text="Running"'); - await tree2.click('text="Shut Down All"'); + await tree2.click('#main-panel button :text("Shut Down All")'); await tree2.press('.jp-Dialog', 'Enter'); // Close the pages From 22089cd1ac74ed902c4a34c65370a7f3b6ee592d Mon Sep 17 00:00:00 2001 From: foo Date: Tue, 4 Oct 2022 17:39:02 +0200 Subject: [PATCH 33/57] update snapshot --- .../opened-menu-edit-firefox-linux.png | Bin 45678 -> 45761 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/ui-tests/test/menus.spec.ts-snapshots/opened-menu-edit-firefox-linux.png b/ui-tests/test/menus.spec.ts-snapshots/opened-menu-edit-firefox-linux.png index 532ee2d260ea1b104b03eb5d6ad5d4f9ffa00e62..7699903bf9eb7eb9b28ffc0a313c0e4af007b5b5 100644 GIT binary patch literal 45761 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 LvLxjjI)?rW6QO4@ literal 45678 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 Date: Tue, 4 Oct 2022 22:54:59 +0200 Subject: [PATCH 34/57] Minor cleanups --- packages/application-extension/src/index.ts | 9 ++---- packages/application/src/shell.ts | 32 +++++++++------------ packages/application/style/sidepanel.css | 16 +++-------- packages/notebook-extension/src/index.ts | 3 +- 4 files changed, 22 insertions(+), 38 deletions(-) diff --git a/packages/application-extension/src/index.ts b/packages/application-extension/src/index.ts index 9ccbe5d010..afc73161ca 100644 --- a/packages/application-extension/src/index.ts +++ b/packages/application-extension/src/index.ts @@ -28,8 +28,6 @@ import { DocumentWidget } from '@jupyterlab/docregistry'; import { IMainMenu } from '@jupyterlab/mainmenu'; -import { INotebookTools } from '@jupyterlab/notebook'; - import { ISettingRegistry } from '@jupyterlab/settingregistry'; import { ITranslator } from '@jupyterlab/translation'; @@ -603,15 +601,14 @@ const topVisibility: JupyterFrontEndPlugin = { const sidebarVisibility: JupyterFrontEndPlugin = { id: '@jupyter-notebook/application-extension:sidebar', requires: [INotebookShell, ITranslator], - optional: [IMainMenu, ICommandPalette, INotebookTools], + optional: [IMainMenu, ICommandPalette], autoStart: true, activate: ( app: JupyterFrontEnd, notebookShell: INotebookShell, translator: ITranslator, menu: IMainMenu | null, - palette: ICommandPalette | null, - notebookTools: INotebookTools | null + palette: ICommandPalette | null ) => { if (!sidePanelsEnabled()) { return; @@ -619,7 +616,7 @@ const sidebarVisibility: JupyterFrontEndPlugin = { const trans = translator.load('notebook'); - var sideBarMenu: SideBarPanel.sideBarMenu = { + const sideBarMenu: SideBarPanel.sideBarMenu = { left: null, right: null }; diff --git a/packages/application/src/shell.ts b/packages/application/src/shell.ts index b9477ec7b2..d97f03f8a3 100644 --- a/packages/application/src/shell.ts +++ b/packages/application/src/shell.ts @@ -3,7 +3,7 @@ import { JupyterFrontEnd } from '@jupyterlab/application'; import { DocumentRegistry } from '@jupyterlab/docregistry'; -import { closeIcon, LabIcon, ReactWidget } from '@jupyterlab/ui-components'; +import { closeIcon } from '@jupyterlab/ui-components'; import { ArrayExt, find } from '@lumino/algorithm'; import { PromiseDelegate, Token } from '@lumino/coreutils'; @@ -19,7 +19,6 @@ import { StackedPanel, Widget } from '@lumino/widgets'; -import React from 'react'; /** * The Jupyter Notebook application shell token. @@ -420,22 +419,19 @@ export class SideBarHandler { this._widgetPanel = new StackedPanel(); this._widgetPanel.widgetRemoved.connect(this._onWidgetRemoved, this); - const that = this; - const collapseIcon = React.createElement( - 'div', - { - onClick: () => { - that.collapse(); - that.hide(); - } - }, - LabIcon.resolveReact({ - icon: closeIcon, - className: 'jp-SidePanel-collapse' - }) - ); - - this._panel.addWidget(ReactWidget.create(collapseIcon)); + const closeButton = document.createElement('button'); + closeIcon.element({ + container: closeButton, + height: '16px', + width: 'auto' + }); + closeButton.onclick = () => { + this.collapse(); + this.hide(); + }; + closeButton.className = 'jp-Button jp-SidePanel-collapse'; + const icon = new Widget({ node: closeButton }); + this._panel.addWidget(icon); this._panel.addWidget(this._widgetPanel); } diff --git a/packages/application/style/sidepanel.css b/packages/application/style/sidepanel.css index cb8f7058c3..8acb70766e 100644 --- a/packages/application/style/sidepanel.css +++ b/packages/application/style/sidepanel.css @@ -17,10 +17,6 @@ | SideBar |----------------------------------------------------------------------------*/ -/* Left */ - -/* Right */ - /* Stack panels */ #jp-right-stack, @@ -30,14 +26,6 @@ min-width: var(--jp-sidebar-min-width); } -#jp-right-stack { - border-left: var(--jp-border-width) solid var(--jp-border-color1); -} - -#jp-left-stack { - border-right: var(--jp-border-width) solid var(--jp-border-color1); -} - #jp-left-stack .jp-SidePanel-collapse, #jp-right-stack .jp-SidePanel-collapse { display: flex; @@ -48,6 +36,10 @@ justify-content: right; } +#jp-right-stack .jp-SidePanel-collapse { + justify-content: left; +} + #jp-left-stack .lm-StackedPanel, #jp-right-stack .lm-StackedPanel { flex: 1 1 auto; diff --git a/packages/notebook-extension/src/index.ts b/packages/notebook-extension/src/index.ts index ae42471aeb..22b7597c07 100644 --- a/packages/notebook-extension/src/index.ts +++ b/packages/notebook-extension/src/index.ts @@ -337,8 +337,7 @@ const scrollOutput: JupyterFrontEndPlugin = { const notebookToolsWidget: JupyterFrontEndPlugin = { id: '@jupyter-notebook/notebook-extension:notebook-tools', autoStart: true, - requires: [INotebookShell], - optional: [INotebookTools], + requires: [INotebookShell, INotebookTools], activate: ( app: JupyterFrontEnd, shell: INotebookShell, From fc663a54c115b6de0fceca1c724274bdf73abf0f Mon Sep 17 00:00:00 2001 From: Jeremy Tuloup Date: Tue, 4 Oct 2022 23:07:42 +0200 Subject: [PATCH 35/57] Enable side bars on other pages --- packages/application-extension/src/index.ts | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/packages/application-extension/src/index.ts b/packages/application-extension/src/index.ts index afc73161ca..6a49fb9d9b 100644 --- a/packages/application-extension/src/index.ts +++ b/packages/application-extension/src/index.ts @@ -112,13 +112,6 @@ namespace CommandIDs { export const resolveTree = 'application:resolve-tree'; } -/** - * Are the left and right panels available on the current page? - */ -const sidePanelsEnabled: () => boolean = () => { - return PageConfig.getOption('notebookPage') === 'notebooks'; -}; - /** * Check if the application is dirty before closing the browser tab. */ @@ -610,10 +603,6 @@ const sidebarVisibility: JupyterFrontEndPlugin = { menu: IMainMenu | null, palette: ICommandPalette | null ) => { - if (!sidePanelsEnabled()) { - return; - } - const trans = translator.load('notebook'); const sideBarMenu: SideBarPanel.sideBarMenu = { From 9af6a20b26e01c447b2b38ad3c71fd7c8fb44438 Mon Sep 17 00:00:00 2001 From: Jeremy Tuloup Date: Tue, 4 Oct 2022 23:31:47 +0200 Subject: [PATCH 36/57] Simplify menu entry label --- packages/application-extension/src/index.ts | 26 ++++++++----- packages/application/src/app.ts | 3 +- packages/application/src/shell.ts | 41 +++++---------------- 3 files changed, 28 insertions(+), 42 deletions(-) diff --git a/packages/application-extension/src/index.ts b/packages/application-extension/src/index.ts index 6a49fb9d9b..eefd087f8d 100644 --- a/packages/application-extension/src/index.ts +++ b/packages/application-extension/src/index.ts @@ -734,6 +734,14 @@ const sidebarVisibility: JupyterFrontEndPlugin = { } }; + const getSidebarLabel = (area: SideBarPanel.Area) => { + if (area === 'left') { + return trans.__(`Left Sidebar`); + } else { + return trans.__(`Right Sidebar`); + } + }; + /** * Function called when a sidebar has a widget added or removed. * @@ -748,7 +756,8 @@ const sidebarVisibility: JupyterFrontEndPlugin = { ) => { // Update the menu entries. if (menu) { - updateMenu(sidebar.area, sidebar.menuEntryLabel); + const label = getSidebarLabel(sidebar.area); + updateMenu(sidebar.area, label); } // Update the palette entries. @@ -764,14 +773,13 @@ const sidebarVisibility: JupyterFrontEndPlugin = { app.restored.then(() => { // Create menu entries for left and right panel. if (menu) { - updateMenu( - notebookShell.leftHandler.area, - notebookShell.leftHandler.menuEntryLabel - ); - updateMenu( - notebookShell.rightHandler.area, - notebookShell.rightHandler.menuEntryLabel - ); + const leftArea = notebookShell.leftHandler.area; + const leftLabel = getSidebarLabel(leftArea); + updateMenu(leftArea, leftLabel); + + const rightArea = notebookShell.rightHandler.area; + const rightLabel = getSidebarLabel(rightArea); + updateMenu(rightArea, rightLabel); } // Add palette entries for side panels. diff --git a/packages/application/src/app.ts b/packages/application/src/app.ts index 66299139f0..5f1acc1e62 100644 --- a/packages/application/src/app.ts +++ b/packages/application/src/app.ts @@ -56,8 +56,7 @@ export class NotebookApp extends JupyterFrontEnd { readonly status = new LabStatus(this); /** - * Promise that resolves when state is first restored, returning layout - * description. + * Promise that resolves when the state is first restored */ readonly restored: Promise; diff --git a/packages/application/src/shell.ts b/packages/application/src/shell.ts index d97f03f8a3..a2de179e75 100644 --- a/packages/application/src/shell.ts +++ b/packages/application/src/shell.ts @@ -71,8 +71,8 @@ export class NotebookShell extends Widget implements JupyterFrontEnd.IShell { const leftHandler = this._leftHandler; const rightHandler = this._rightHandler; - this.leftPanel.id = 'jp-left-stack'; - this.rightPanel.id = 'jp-right-stack'; + leftHandler.panel.id = 'jp-left-stack'; + rightHandler.panel.id = 'jp-right-stack'; // Hide the side panels by default. leftHandler.hide(); @@ -164,32 +164,20 @@ export class NotebookShell extends Widget implements JupyterFrontEnd.IShell { return this._rightHandler; } - /** - * Shortcut to get the left area handler's stacked panel - */ - get leftPanel(): Panel { - return this._leftHandler.panel; - } - - /** - * Shortcut to get the right area handler's stacked panel - */ - get rightPanel(): Panel { - return this._rightHandler.panel; - } - /** * Is the left sidebar visible? */ get leftCollapsed(): boolean { - return !(this._leftHandler.isVisible && this.leftPanel.isVisible); + return !(this._leftHandler.isVisible && this._leftHandler.panel.isVisible); } /** * Is the right sidebar visible? */ get rightCollapsed(): boolean { - return !(this._rightHandler.isVisible && this.rightPanel.isVisible); + return !( + this._rightHandler.isVisible && this._rightHandler.panel.isVisible + ); } /** @@ -308,7 +296,7 @@ export class NotebookShell extends Widget implements JupyterFrontEnd.IShell { * Expand the left panel to show the sidebar with its widget. */ expandLeft(id?: string): void { - this.leftPanel.show(); + this._leftHandler.panel.show(); this._leftHandler.expand(id); // Show the current widget, if any this._onLayoutModified(); } @@ -318,7 +306,7 @@ export class NotebookShell extends Widget implements JupyterFrontEnd.IShell { */ collapseLeft(): void { this._leftHandler.collapse(); - this.leftPanel.hide(); + this._leftHandler.panel.hide(); this._onLayoutModified(); } @@ -326,7 +314,7 @@ export class NotebookShell extends Widget implements JupyterFrontEnd.IShell { * Expand the right panel to show the sidebar with its widget. */ expandRight(id?: string): void { - this.rightPanel.show(); + this._rightHandler.panel.show(); this._rightHandler.expand(id); // Show the current widget, if any this._onLayoutModified(); } @@ -336,7 +324,7 @@ export class NotebookShell extends Widget implements JupyterFrontEnd.IShell { */ collapseRight(): void { this._rightHandler.collapse(); - this.rightPanel.hide(); + this._rightHandler.panel.hide(); this._onLayoutModified(); } @@ -414,7 +402,6 @@ export class SideBarHandler { this._current = null; this._lastCurrent = null; - this._menuEntryLabel = `${area[0].toUpperCase()}${area.slice(1)} Sidebar`; this._widgetPanel = new StackedPanel(); this._widgetPanel.widgetRemoved.connect(this._onWidgetRemoved, this); @@ -450,13 +437,6 @@ export class SideBarHandler { return this._area; } - /** - * Get the menu entry label of the side panel - */ - get menuEntryLabel(): string { - return this._menuEntryLabel; - } - /** * Whether the panel is visible */ @@ -636,7 +616,6 @@ export class SideBarHandler { private _current: Widget | null; private _lastCurrent: Widget | null; private _updated: Signal = new Signal(this); - private _menuEntryLabel: string; private _widgetAdded: Signal = new Signal(this); private _widgetRemoved: Signal = new Signal(this); } From 7375ee1208477156d5d76760e1302c2a9e4e02b2 Mon Sep 17 00:00:00 2001 From: Jeremy Tuloup Date: Wed, 5 Oct 2022 09:31:12 +0200 Subject: [PATCH 37/57] Remove unused handling of layout modified --- packages/application/src/shell.ts | 29 ----------------------------- 1 file changed, 29 deletions(-) diff --git a/packages/application/src/shell.ts b/packages/application/src/shell.ts index a2de179e75..2b67aef181 100644 --- a/packages/application/src/shell.ts +++ b/packages/application/src/shell.ts @@ -9,7 +9,6 @@ import { ArrayExt, find } from '@lumino/algorithm'; import { PromiseDelegate, Token } from '@lumino/coreutils'; import { IDisposable } from '@lumino/disposable'; import { Message, MessageLoop, IMessageHandler } from '@lumino/messaging'; -import { Debouncer } from '@lumino/polling'; import { ISignal, Signal } from '@lumino/signaling'; import { @@ -78,10 +77,6 @@ export class NotebookShell extends Widget implements JupyterFrontEnd.IShell { leftHandler.hide(); rightHandler.hide(); - // Catch current changed events on the side handlers. - leftHandler.updated.connect(this._onLayoutModified, this); - rightHandler.updated.connect(this._onLayoutModified, this); - const middleLayout = new BoxLayout({ spacing: 0, direction: 'top-to-bottom' @@ -298,7 +293,6 @@ export class NotebookShell extends Widget implements JupyterFrontEnd.IShell { expandLeft(id?: string): void { this._leftHandler.panel.show(); this._leftHandler.expand(id); // Show the current widget, if any - this._onLayoutModified(); } /** @@ -307,7 +301,6 @@ export class NotebookShell extends Widget implements JupyterFrontEnd.IShell { collapseLeft(): void { this._leftHandler.collapse(); this._leftHandler.panel.hide(); - this._onLayoutModified(); } /** @@ -316,7 +309,6 @@ export class NotebookShell extends Widget implements JupyterFrontEnd.IShell { expandRight(id?: string): void { this._rightHandler.panel.show(); this._rightHandler.expand(id); // Show the current widget, if any - this._onLayoutModified(); } /** @@ -325,7 +317,6 @@ export class NotebookShell extends Widget implements JupyterFrontEnd.IShell { collapseRight(): void { this._rightHandler.collapse(); this._rightHandler.panel.hide(); - this._onLayoutModified(); } /** @@ -338,17 +329,6 @@ export class NotebookShell extends Widget implements JupyterFrontEnd.IShell { return Array.from(this.widgets(area)).length === 0; } - /** - * Handle a change to the layout. - */ - private _onLayoutModified(): void { - void this._layoutDebouncer.invoke(); - } - - private _layoutModified = new Signal(this); - private _layoutDebouncer = new Debouncer(() => { - this._layoutModified.emit(undefined); - }, 0); private _topWrapper: Panel; private _topHandler: Private.PanelHandler; private _menuWrapper: Panel; @@ -458,13 +438,6 @@ export class SideBarHandler { return this._items.map(obj => obj.widget); } - /** - * Signal fires when the stacked panel changes - */ - get updated(): ISignal { - return this._updated; - } - /** * Signal fired when a widget is added to the panel */ @@ -591,7 +564,6 @@ export class SideBarHandler { */ private _refreshVisibility(): void { this._panel.setHidden(this._isHiddenByUser); - this._updated.emit(); } /* @@ -615,7 +587,6 @@ export class SideBarHandler { private _widgetPanel: StackedPanel; private _current: Widget | null; private _lastCurrent: Widget | null; - private _updated: Signal = new Signal(this); private _widgetAdded: Signal = new Signal(this); private _widgetRemoved: Signal = new Signal(this); } From 07720adaa6636e016985f1e32bccc5836957c98a Mon Sep 17 00:00:00 2001 From: Jeremy Tuloup Date: Wed, 5 Oct 2022 10:08:35 +0200 Subject: [PATCH 38/57] More cleanups --- packages/application-extension/src/index.ts | 46 +++++++++++++-------- packages/application/src/shell.ts | 46 ++++++++++----------- packages/application/style/sidepanel.css | 2 + 3 files changed, 52 insertions(+), 42 deletions(-) diff --git a/packages/application-extension/src/index.ts b/packages/application-extension/src/index.ts index eefd087f8d..164190cce4 100644 --- a/packages/application-extension/src/index.ts +++ b/packages/application-extension/src/index.ts @@ -42,11 +42,13 @@ import { import { jupyterIcon } from '@jupyter-notebook/ui-components'; -import { each } from '@lumino/algorithm'; - import { PromiseDelegate } from '@lumino/coreutils'; -import { DisposableDelegate, DisposableSet } from '@lumino/disposable'; +import { + DisposableDelegate, + DisposableSet, + IDisposable +} from '@lumino/disposable'; import { Menu, Widget } from '@lumino/widgets'; @@ -605,12 +607,12 @@ const sidebarVisibility: JupyterFrontEndPlugin = { ) => { const trans = translator.load('notebook'); - const sideBarMenu: SideBarPanel.sideBarMenu = { + const sideBarMenu: { [area in SideBarPanel.Area]: IDisposable | null } = { left: null, right: null }; - var sideBarPalette: SideBarPalette | null = null; + let sideBarPalette: SideBarPalette | null = null; /* Arguments for togglePanel command: * side, left or right area @@ -640,7 +642,9 @@ const sidebarVisibility: JupyterFrontEndPlugin = { case 'left': if (notebookShell.leftCollapsed) { notebookShell.expandLeft(args.id as string); - } else if (notebookShell.leftHandler.current?.id !== args.id) { + } else if ( + notebookShell.leftHandler.currentWidget?.id !== args.id + ) { notebookShell.expandLeft(args.id as string); } else { notebookShell.collapseLeft(); @@ -652,7 +656,9 @@ const sidebarVisibility: JupyterFrontEndPlugin = { case 'right': if (notebookShell.rightCollapsed) { notebookShell.expandRight(args.id as string); - } else if (notebookShell.rightHandler.current?.id !== args.id) { + } else if ( + notebookShell.rightHandler.currentWidget?.id !== args.id + ) { notebookShell.expandRight(args.id as string); } else { notebookShell.collapseRight(); @@ -664,31 +670,31 @@ const sidebarVisibility: JupyterFrontEndPlugin = { } }, isToggled: args => { - var currentWidget = null; switch (args['side'] as string) { - case 'left': + case 'left': { if (notebookShell.leftCollapsed) { return false; } - currentWidget = notebookShell.leftHandler.current; + const currentWidget = notebookShell.leftHandler.currentWidget; if (!currentWidget) { return false; } return currentWidget.id === (args['id'] as string); - case 'right': + } + case 'right': { if (notebookShell.rightCollapsed) { return false; } - currentWidget = notebookShell.rightHandler.current; + const currentWidget = notebookShell.rightHandler.currentWidget; if (!currentWidget) { return false; } return currentWidget.id === (args['id'] as string); - default: - return false; + } } + return false; } }); @@ -713,7 +719,7 @@ const sidebarVisibility: JupyterFrontEndPlugin = { const widgets = notebookShell.widgets(area); let menuToAdd = false; - each(widgets, widget => { + for (let widget of widgets) { newMenu.addItem({ command: CommandIDs.togglePanel, args: { @@ -723,7 +729,7 @@ const sidebarVisibility: JupyterFrontEndPlugin = { } }); menuToAdd = true; - }); + } // If there are widgets, add the menu to the main menu entry. if (menuToAdd) { @@ -734,7 +740,13 @@ const sidebarVisibility: JupyterFrontEndPlugin = { } }; - const getSidebarLabel = (area: SideBarPanel.Area) => { + /** + * Get a label for a sidebar panel. + * + * @param area - 'left' or 'right', the area of the side bar. + * @returns the label for the sidebar menu entry. + */ + const getSidebarLabel = (area: SideBarPanel.Area): string => { if (area === 'left') { return trans.__(`Left Sidebar`); } else { diff --git a/packages/application/src/shell.ts b/packages/application/src/shell.ts index 2b67aef181..27bda48b2f 100644 --- a/packages/application/src/shell.ts +++ b/packages/application/src/shell.ts @@ -7,7 +7,6 @@ import { closeIcon } from '@jupyterlab/ui-components'; import { ArrayExt, find } from '@lumino/algorithm'; import { PromiseDelegate, Token } from '@lumino/coreutils'; -import { IDisposable } from '@lumino/disposable'; import { Message, MessageLoop, IMessageHandler } from '@lumino/messaging'; import { ISignal, Signal } from '@lumino/signaling'; @@ -176,7 +175,7 @@ export class NotebookShell extends Widget implements JupyterFrontEnd.IShell { } /** - * Promise that resolves when main widget is loaded + * Promise that resolves when the main widget is loaded */ get restored(): Promise { return this._mainWidgetLoaded.promise; @@ -214,7 +213,7 @@ export class NotebookShell extends Widget implements JupyterFrontEnd.IShell { */ add( widget: Widget, - area?: string, + area?: Shell.Area, options?: DocumentRegistry.IOpenOptions ): void { const rank = options?.rank ?? DEFAULT_RANK; @@ -359,13 +358,6 @@ export namespace SideBarPanel { * The areas of the sidebar panel */ export type Area = 'left' | 'right'; - - /** - * The sidebar menu type, one for each area - */ - export type sideBarMenu = { - [area in Area]: IDisposable | null; - }; } /** @@ -380,8 +372,8 @@ export class SideBarHandler { this._panel = new Panel(); this._panel.hide(); - this._current = null; - this._lastCurrent = null; + this._currentWidget = null; + this._lastCurrentWidget = null; this._widgetPanel = new StackedPanel(); this._widgetPanel.widgetRemoved.connect(this._onWidgetRemoved, this); @@ -402,10 +394,13 @@ export class SideBarHandler { this._panel.addWidget(this._widgetPanel); } - get current(): Widget | null { + /** + * Get the current widget in the sidebar panel. + */ + get currentWidget(): Widget | null { return ( - this._current || - this._lastCurrent || + this._currentWidget || + this._lastCurrentWidget || (this._items.length > 0 ? this._items[0].widget : null) ); } @@ -460,15 +455,15 @@ export class SideBarHandler { * if there is no most recently used. */ expand(id?: string): void { - if (this._current) { + if (this._currentWidget) { this.collapse(); } if (id) { this.activate(id); } else { - const visibleWidget = this.current; + const visibleWidget = this.currentWidget; if (visibleWidget) { - this._current = visibleWidget; + this._currentWidget = visibleWidget; this.activate(visibleWidget.id); } } @@ -482,7 +477,7 @@ export class SideBarHandler { activate(id: string): void { const widget = this._findWidgetByID(id); if (widget) { - this._current = widget; + this._currentWidget = widget; widget.show(); widget.activate(); } @@ -499,8 +494,8 @@ export class SideBarHandler { * Collapse the sidebar so no items are expanded. */ collapse(): void { - this._current?.hide(); - this._current = null; + this._currentWidget?.hide(); + this._currentWidget = null; } /** @@ -570,8 +565,8 @@ export class SideBarHandler { * Handle the `widgetRemoved` signal from the panel. */ private _onWidgetRemoved(sender: StackedPanel, widget: Widget): void { - if (widget === this._lastCurrent) { - this._lastCurrent = null; + if (widget === this._lastCurrentWidget) { + this._lastCurrentWidget = null; } ArrayExt.removeAt(this._items, this._findWidgetIndex(widget)); @@ -585,11 +580,12 @@ export class SideBarHandler { private _items = new Array(); private _panel: Panel; private _widgetPanel: StackedPanel; - private _current: Widget | null; - private _lastCurrent: Widget | null; + private _currentWidget: Widget | null; + private _lastCurrentWidget: Widget | null; private _widgetAdded: Signal = new Signal(this); private _widgetRemoved: Signal = new Signal(this); } + /** * A namespace for private module data. */ diff --git a/packages/application/style/sidepanel.css b/packages/application/style/sidepanel.css index 8acb70766e..61057e362c 100644 --- a/packages/application/style/sidepanel.css +++ b/packages/application/style/sidepanel.css @@ -30,6 +30,8 @@ #jp-right-stack .jp-SidePanel-collapse { display: flex; flex: 0 0 auto; + min-height: 0; + padding: 0; } #jp-left-stack .jp-SidePanel-collapse { From ea3692051ca2820cf9194086f02a81f8922bdd87 Mon Sep 17 00:00:00 2001 From: Jeremy Tuloup Date: Wed, 5 Oct 2022 14:30:12 +0200 Subject: [PATCH 39/57] Dissociate menu and palette updates --- packages/application-extension/src/index.ts | 108 ++++++++------------ packages/application/src/shell.ts | 2 +- 2 files changed, 43 insertions(+), 67 deletions(-) diff --git a/packages/application-extension/src/index.ts b/packages/application-extension/src/index.ts index 164190cce4..441178dcb7 100644 --- a/packages/application-extension/src/index.ts +++ b/packages/application-extension/src/index.ts @@ -607,13 +607,6 @@ const sidebarVisibility: JupyterFrontEndPlugin = { ) => { const trans = translator.load('notebook'); - const sideBarMenu: { [area in SideBarPanel.Area]: IDisposable | null } = { - left: null, - right: null - }; - - let sideBarPalette: SideBarPalette | null = null; - /* Arguments for togglePanel command: * side, left or right area * title, widget title to show in the menu @@ -698,6 +691,11 @@ const sidebarVisibility: JupyterFrontEndPlugin = { } }); + const sideBarMenu: { [area in SideBarPanel.Area]: IDisposable | null } = { + left: null, + right: null + }; + /** * The function which adds entries to the View menu for each widget of a sidebar. * @@ -740,58 +738,36 @@ const sidebarVisibility: JupyterFrontEndPlugin = { } }; - /** - * Get a label for a sidebar panel. - * - * @param area - 'left' or 'right', the area of the side bar. - * @returns the label for the sidebar menu entry. - */ - const getSidebarLabel = (area: SideBarPanel.Area): string => { - if (area === 'left') { - return trans.__(`Left Sidebar`); - } else { - return trans.__(`Right Sidebar`); - } - }; - - /** - * Function called when a sidebar has a widget added or removed. - * - * @param sidebar - the sidebar updated. - * @param widget - the widget added or removed from the sidebar. - * @param action - 'add' or 'remove'. - */ - const sidebarUpdated = ( - sidebar: SideBarHandler, - widget: Widget, - action: 'add' | 'remove' - ) => { - // Update the menu entries. - if (menu) { - const label = getSidebarLabel(sidebar.area); - updateMenu(sidebar.area, label); - } - - // Update the palette entries. - if (sideBarPalette) { - if (action === 'add') { - sideBarPalette.addItem(widget, sidebar.area); - } else { - sideBarPalette.removeItem(widget, sidebar.area); - } - } - }; - app.restored.then(() => { - // Create menu entries for left and right panel. + // Create menu entries for the left and right panel. if (menu) { + const getSideBarLabel = (area: SideBarPanel.Area): string => { + if (area === 'left') { + return trans.__(`Left Sidebar`); + } else { + return trans.__(`Right Sidebar`); + } + }; const leftArea = notebookShell.leftHandler.area; - const leftLabel = getSidebarLabel(leftArea); + const leftLabel = getSideBarLabel(leftArea); updateMenu(leftArea, leftLabel); const rightArea = notebookShell.rightHandler.area; - const rightLabel = getSidebarLabel(rightArea); + const rightLabel = getSideBarLabel(rightArea); updateMenu(rightArea, rightLabel); + + const handleSideBarChange = ( + sidebar: SideBarHandler, + widget: Widget + ) => { + const label = getSideBarLabel(sidebar.area); + updateMenu(sidebar.area, label); + }; + + notebookShell.leftHandler.widgetAdded.connect(handleSideBarChange); + notebookShell.leftHandler.widgetRemoved.connect(handleSideBarChange); + notebookShell.rightHandler.widgetAdded.connect(handleSideBarChange); + notebookShell.rightHandler.widgetRemoved.connect(handleSideBarChange); } // Add palette entries for side panels. @@ -808,21 +784,21 @@ const sidebarVisibility: JupyterFrontEndPlugin = { notebookShell.rightHandler.widgets.forEach(widget => { sideBarPalette.addItem(widget, notebookShell.rightHandler.area); }); - } - // Update menu and palette when widgets are added or removed from sidebars. - notebookShell.leftHandler.widgetAdded.connect((sidebar, widget) => { - sidebarUpdated(sidebar, widget, 'add'); - }); - notebookShell.leftHandler.widgetRemoved.connect((sidebar, widget) => { - sidebarUpdated(sidebar, widget, 'remove'); - }); - notebookShell.rightHandler.widgetAdded.connect((sidebar, widget) => { - sidebarUpdated(sidebar, widget, 'add'); - }); - notebookShell.rightHandler.widgetRemoved.connect((sidebar, widget) => { - sidebarUpdated(sidebar, widget, 'remove'); - }); + // Update menu and palette when widgets are added or removed from sidebars. + notebookShell.leftHandler.widgetAdded.connect((sidebar, widget) => { + sideBarPalette.addItem(widget, sidebar.area); + }); + notebookShell.leftHandler.widgetRemoved.connect((sidebar, widget) => { + sideBarPalette.removeItem(widget, sidebar.area); + }); + notebookShell.rightHandler.widgetAdded.connect((sidebar, widget) => { + sideBarPalette.addItem(widget, sidebar.area); + }); + notebookShell.rightHandler.widgetRemoved.connect((sidebar, widget) => { + sideBarPalette.removeItem(widget, sidebar.area); + }); + } }); } }; diff --git a/packages/application/src/shell.ts b/packages/application/src/shell.ts index 27bda48b2f..de80556d47 100644 --- a/packages/application/src/shell.ts +++ b/packages/application/src/shell.ts @@ -351,7 +351,7 @@ export namespace Shell { } /** - * A name space for SidebarPanel functions. + * A name space for SideBarPanel functions. */ export namespace SideBarPanel { /** From b396e51c72252703e375d7001bed010580525a8e Mon Sep 17 00:00:00 2001 From: Jeremy Tuloup Date: Wed, 5 Oct 2022 14:55:55 +0200 Subject: [PATCH 40/57] Revert to making INotebookTools optional --- packages/notebook-extension/src/index.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/notebook-extension/src/index.ts b/packages/notebook-extension/src/index.ts index 22b7597c07..163da86426 100644 --- a/packages/notebook-extension/src/index.ts +++ b/packages/notebook-extension/src/index.ts @@ -337,11 +337,12 @@ const scrollOutput: JupyterFrontEndPlugin = { const notebookToolsWidget: JupyterFrontEndPlugin = { id: '@jupyter-notebook/notebook-extension:notebook-tools', autoStart: true, - requires: [INotebookShell, INotebookTools], + requires: [INotebookShell], + optional: [INotebookTools], activate: ( app: JupyterFrontEnd, shell: INotebookShell, - notebookTools: INotebookTools + notebookTools: INotebookTools | null ) => { const onChange = async () => { const current = shell.currentWidget; From d5e9cec53de9fed5b120dbb0df08aa1a31e30ef8 Mon Sep 17 00:00:00 2001 From: Jeremy Tuloup Date: Wed, 5 Oct 2022 15:52:43 +0200 Subject: [PATCH 41/57] Add the debugger extension --- app/index.js | 10 +++++++ app/package.json | 3 ++ yarn.lock | 75 ++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 88 insertions(+) diff --git a/app/index.js b/app/index.js index d6fcac690a..2be1ad9ffe 100644 --- a/app/index.js +++ b/app/index.js @@ -178,6 +178,16 @@ async function main() { baseMods = baseMods.concat([ require('@jupyterlab/celltags-extension'), require('@jupyterlab/cell-toolbar-extension'), + require('@jupyterlab/debugger-extension').default.filter(({ id }) => + [ + '@jupyterlab/debugger-extension:config', + '@jupyterlab/debugger-extension:main', + '@jupyterlab/debugger-extension:notebooks', + '@jupyterlab/debugger-extension:service', + '@jupyterlab/debugger-extension:sidebar', + '@jupyterlab/debugger-extension:sources' + ].includes(id) + ), require('@jupyterlab/notebook-extension').default.filter(({ id }) => [ '@jupyterlab/notebook-extension:completer', diff --git a/app/package.json b/app/package.json index e81b9c1b99..75f23604cf 100644 --- a/app/package.json +++ b/app/package.json @@ -122,6 +122,7 @@ "@jupyterlab/completer-extension": "^4.0.0-alpha.14", "@jupyterlab/console-extension": "^4.0.0-alpha.14", "@jupyterlab/coreutils": "^6.0.0-alpha.14", + "@jupyterlab/debugger-extension": "^4.0.0-alpha.14", "@jupyterlab/docmanager-extension": "^4.0.0-alpha.14", "@jupyterlab/docprovider-extension": "^4.0.0-alpha.14", "@jupyterlab/documentsearch-extension": "^4.0.0-alpha.14", @@ -185,6 +186,7 @@ "@jupyterlab/codemirror-extension", "@jupyterlab/completer-extension", "@jupyterlab/console-extension", + "@jupyterlab/debugger-extension", "@jupyterlab/docmanager-extension", "@jupyterlab/documentsearch-extension", "@jupyterlab/filebrowser-extension", @@ -215,6 +217,7 @@ "@jupyterlab/completer", "@jupyterlab/console", "@jupyterlab/coreutils", + "@jupyterlab/debugger", "@jupyterlab/docmanager", "@jupyterlab/docprovider", "@jupyterlab/documentsearch", diff --git a/yarn.lock b/yarn.lock index 6f6cbf0241..4cb5e3043f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2051,6 +2051,61 @@ path-browserify "^1.0.0" url-parse "~1.5.4" +"@jupyterlab/debugger-extension@^4.0.0-alpha.14": + version "4.0.0-alpha.14" + resolved "https://registry.yarnpkg.com/@jupyterlab/debugger-extension/-/debugger-extension-4.0.0-alpha.14.tgz#598b6046b40e10e3d811d11ae7b1b2c3611ce031" + integrity sha512-K5u32ACz4YNaz2inh+g4mYkUdJTuyAxQSquFvVAImp27oyGKn4GxYrtcHoUCoJlib/0DyDTOg2LOCup6iocMng== + dependencies: + "@jupyterlab/application" "^4.0.0-alpha.14" + "@jupyterlab/apputils" "^4.0.0-alpha.14" + "@jupyterlab/codeeditor" "^4.0.0-alpha.14" + "@jupyterlab/console" "^4.0.0-alpha.14" + "@jupyterlab/coreutils" "^6.0.0-alpha.14" + "@jupyterlab/debugger" "^4.0.0-alpha.14" + "@jupyterlab/docregistry" "^4.0.0-alpha.14" + "@jupyterlab/fileeditor" "^4.0.0-alpha.14" + "@jupyterlab/logconsole" "^4.0.0-alpha.14" + "@jupyterlab/notebook" "^4.0.0-alpha.14" + "@jupyterlab/rendermime" "^4.0.0-alpha.14" + "@jupyterlab/services" "^7.0.0-alpha.14" + "@jupyterlab/settingregistry" "^4.0.0-alpha.14" + "@jupyterlab/translation" "^4.0.0-alpha.14" + +"@jupyterlab/debugger@^4.0.0-alpha.14": + version "4.0.0-alpha.14" + resolved "https://registry.yarnpkg.com/@jupyterlab/debugger/-/debugger-4.0.0-alpha.14.tgz#d9d0c48800b30ec9d083add8bde32cfac8a8c620" + integrity sha512-qtewnV9Dfkl2iV9KC911k1LU+Jv9vn7JABvaTM7vZyS8FqVuZ15zigk1HessvRGy657MD5SZoUtpBa4ETcerOQ== + dependencies: + "@codemirror/state" "^6.0.0" + "@codemirror/view" "^6.0.0" + "@jupyterlab/application" "^4.0.0-alpha.14" + "@jupyterlab/apputils" "^4.0.0-alpha.14" + "@jupyterlab/cells" "^4.0.0-alpha.14" + "@jupyterlab/codeeditor" "^4.0.0-alpha.14" + "@jupyterlab/codemirror" "^4.0.0-alpha.14" + "@jupyterlab/console" "^4.0.0-alpha.14" + "@jupyterlab/coreutils" "^6.0.0-alpha.14" + "@jupyterlab/docregistry" "^4.0.0-alpha.14" + "@jupyterlab/fileeditor" "^4.0.0-alpha.14" + "@jupyterlab/notebook" "^4.0.0-alpha.14" + "@jupyterlab/observables" "^5.0.0-alpha.14" + "@jupyterlab/rendermime" "^4.0.0-alpha.14" + "@jupyterlab/services" "^7.0.0-alpha.14" + "@jupyterlab/shared-models" "^4.0.0-alpha.14" + "@jupyterlab/translation" "^4.0.0-alpha.14" + "@jupyterlab/ui-components" "^4.0.0-alpha.29" + "@lumino/algorithm" "^2.0.0-alpha.6" + "@lumino/commands" "^2.0.0-alpha.6" + "@lumino/coreutils" "^2.0.0-alpha.6" + "@lumino/datagrid" "^1.0.0-alpha.6" + "@lumino/disposable" "^2.0.0-alpha.6" + "@lumino/messaging" "^2.0.0-alpha.6" + "@lumino/polling" "^2.0.0-alpha.6" + "@lumino/signaling" "^2.0.0-alpha.6" + "@lumino/widgets" "^2.0.0-alpha.6" + "@vscode/debugprotocol" "^1.51.0" + react "^17.0.1" + "@jupyterlab/docmanager-extension@^4.0.0-alpha.14": version "4.0.0-alpha.14" resolved "https://registry.yarnpkg.com/@jupyterlab/docmanager-extension/-/docmanager-extension-4.0.0-alpha.14.tgz#dd31c98e924c12d44ced652410e09451bded155b" @@ -3756,6 +3811,21 @@ resolved "https://registry.yarnpkg.com/@lumino/coreutils/-/coreutils-2.0.0-alpha.6.tgz#77279303fc72932e3131a085dcaa34e808a09739" integrity sha512-W0qqJZoPRHscHL5k/DHSOea7LugPVx7DmART925bdrD8PU1Rw4K0mUzKb/Zsin4m1O5IMBoPuGEdEG5Jhq3KyA== +"@lumino/datagrid@^1.0.0-alpha.6": + version "1.0.0-alpha.6" + resolved "https://registry.yarnpkg.com/@lumino/datagrid/-/datagrid-1.0.0-alpha.6.tgz#90364797ab0cc7cdb60b72b6448462d56e07219c" + integrity sha512-dwQvaEzka8DBbaHHi/HHtzI4sW+U0iX/RgBFfOlFQWtprZfV+Rjeaw2TWPmXPiR/ugy8zGBYhwxPigfR4zO2Kg== + dependencies: + "@lumino/algorithm" "^2.0.0-alpha.6" + "@lumino/coreutils" "^2.0.0-alpha.6" + "@lumino/disposable" "^2.0.0-alpha.6" + "@lumino/domutils" "^2.0.0-alpha.6" + "@lumino/dragdrop" "^2.0.0-alpha.6" + "@lumino/keyboard" "^2.0.0-alpha.6" + "@lumino/messaging" "^2.0.0-alpha.6" + "@lumino/signaling" "^2.0.0-alpha.6" + "@lumino/widgets" "^2.0.0-alpha.6" + "@lumino/disposable@^2.0.0-alpha.6": version "2.0.0-alpha.6" resolved "https://registry.yarnpkg.com/@lumino/disposable/-/disposable-2.0.0-alpha.6.tgz#ccb899b7b4ad6db359c351fe2b2ba989977b06a7" @@ -4580,6 +4650,11 @@ resolved "https://registry.yarnpkg.com/@verdaccio/ui-theme/-/ui-theme-6.0.0-6-next.48.tgz#23bbc8037bf9e1b27600f5160a0ff716982db48b" integrity sha512-1jls+cpfEXqXc1ZzqLGGNs6YCyG6B6QwDCezEkSvgKm+9A49FnSJ2n2dNIGcQYOszwHmd8EvwN98OEIx3Bbtrw== +"@vscode/debugprotocol@^1.51.0": + version "1.57.0" + resolved "https://registry.yarnpkg.com/@vscode/debugprotocol/-/debugprotocol-1.57.0.tgz#f055c0422b1f77358a12b1415623099ba0541647" + integrity sha512-eww0WhAtj3lPX7+7tGkxQ3P7IRC3hS7+SVL7fmM8CAat2DMM+PVjg1FQbTCtMw6EwNSmT/qMx1iZCyzQguJJKA== + "@webassemblyjs/ast@1.11.1": version "1.11.1" resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.1.tgz#2bfd767eae1a6996f432ff7e8d7fc75679c0b6a7" From ffadcbc543ace9bc9e16da51c002ce641d9c94d7 Mon Sep 17 00:00:00 2001 From: Jeremy Tuloup Date: Wed, 5 Oct 2022 17:08:28 +0200 Subject: [PATCH 42/57] Update some reference snapshots --- .../opened-menu-kernel-chromium-linux.png | Bin 22179 -> 24856 bytes .../opened-menu-kernel-firefox-linux.png | Bin 20214 -> 24856 bytes .../opened-menu-view-chromium-linux.png | Bin 44836 -> 47499 bytes .../opened-menu-view-firefox-linux.png | Bin 37187 -> 47499 bytes .../toc-left-panel-chromium-linux.png | Bin 9297 -> 8450 bytes .../toc-left-panel-firefox-linux.png | Bin 11723 -> 8450 bytes 6 files changed, 0 insertions(+), 0 deletions(-) diff --git a/ui-tests/test/menus.spec.ts-snapshots/opened-menu-kernel-chromium-linux.png b/ui-tests/test/menus.spec.ts-snapshots/opened-menu-kernel-chromium-linux.png index 4a8ca8a0f0e3de49d06e4edd91571c6916899fde..2832e5b53824b3878bd7df04c0cf18bf2565ce8f 100644 GIT binary patch literal 24856 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 literal 22179 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 literal 20214 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 diff --git a/ui-tests/test/menus.spec.ts-snapshots/opened-menu-view-chromium-linux.png b/ui-tests/test/menus.spec.ts-snapshots/opened-menu-view-chromium-linux.png index 6a5a7ee170f95300feedbcb2a64bda1c8e2cd610..cfc60f6e5bc027be189ded7783ecaf1d97e99f86 100644 GIT binary patch literal 47499 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

75S-&OeU$lgv=E>Hp`1_RNQgRW;>pv7 zH~u;-#0cxx4N-gAUytth>E{H_LAIyAW>Uj3xRuNp6vXNvFLKKPF@lZCdF3U#QgA4p zvK+1;UaH%yJP>afDuX_&GpXKCD@PDE$+{^K+k~3A8Toj7-=kLo+^9!va$Q*RS6a27 zoAX?#g_;)G_j#Awjkf>{QF7fvL)BrH`x%_#6U5%Sr6eX|dYhCVH_?M5Do8?g;h3`S z)2B~JkA`s;zq&Up^UExU{U8}+PZUR9I06d!}w{;pPXqA z*gAW2Px6Tm*|#?eHX6c75>FtEbMDgfbT$&)$vSw`n&P(fwZ|?_oiu47C^CrC%m~Z* zfd;2<2%0=)N^(_`r!eT$R}b%-j713(R2*Vy;{_T8S0>2#!qW@q{*C5&bY(@K#H${h z{h|;KN_lkIW;qX%4il4x8%6i@(#F`=kJ9*1G}}Hi1aX=hx~QInVH?^rcB1W;*?G$YQFfuu4P36w>2Qp#e)!}K?^oHByw-P~IZ0zv|IpO}Q3`~YrKYeRi4XuoO+)L+(;(bww+fU*w zWlKgzG@h`}@B+<7nWhr>IhqTEzrY z4qDn;?aG?m?=vzo?9)wrvbkq;yeUWa`K!{bVeJZF_uj(>hF32p6o00%kFI>4oE(y6Snq*S7r9YUXZ6XXO$2c2UgiWUZXy+YeBZ6K0rMOP?{J};R5j2SXx z{i%K?G1-@b!9B@;5zQ(8&Oz-yA@RJk7<;CWmZzZX{mMXc;;cvX`&(%_TygBgoHvbr z(%jIFJz!nm@ux>PL}a7$9Fhg0BP{H6avd0Zg;1x4C5PwGa|Gp(>LKDC(6)!1_oX-I zdU6rO?TqD|yrOK5^9=-;QP*01p3svh1rAypJ2A4`n}!sXmiAyDB!}#$iXyXCI*h`H zz-7IL_u?cg%sqCMD6sK#pwa_29gvor7Gbr^!=nk7LiIVmI(EUE`izSC{T>^b*thpr za+q^d98%8CKY|Eawrq0>-DIN<$3<$;1=>*XRykupGX&(I&#`tG!0ot&Y_6!RERHM> z+5>e`yU@AJ{k570Jex%$7|H>5F)9c&d%$pQ#*51~OxDWaS+KQpZaQ(I2Qn)^`Ykz85!=X+%vJC>lX-UjNdDGjdNkrzkFwNxUB=zIofGrlsCEAFk9?E&JXo$`048w{ zm?F_&7-A{NA)YD6$Lhl0a0(rm6CWS%hGh1@=@>c*jE{@A`Zem(XYPsmDfs;8J3}KP zaxn<|1Bd{h&I}QeApu?LPlYVowqr;C(EAJ?0yEL$9;490%g}wDssE0{a3Fo?<{gt7 z7UeE9epXi?M}~4JQ}VcOQnbvUo$ohev zMUOf4_=gT167YH)(sa0N;tM`>68%ybV-}n}zv`r*1j({!v5xQ_66$~cwz{{LlMgw! z511gSubYtH!F1o^{a4-ana$My%0Ov5NQe$x6I>xDHe1X6W_U}?DzVutpP{aGR#Tha z9~}1>;~PbcA@e4sGUa^RLy_`qTq!r7@_M_!q>r$uI%d+wdB0H)$y#R2khapd{&9PH#DuF;OU0 zRH8lE92L77NWeNPwh=1x`yfdO|DLR$DGiyxYxHi6rVGIuslLB+um#zmEf;YhE*K#0 z&BPB1q#XVneJ54I8q+s7JB}H;w5CGACTKCeIDRRb0M?}Y(}foP>!8E3GLav;rp>mW zv4i{$AW{@|KOm>0zgq@>zsDwqAX3VP>$Fq9(1irg8^+k(B&A8SW?cBg%-N4v-b}>K zjI#_|d8Z^2L7GdYy7gtf1nn!GWAF1dT-f%&kuVSj!AAQzQbpr=0Ei$vH}|VwYy9}Z z%b#rL?q67$J~VtMR!v&*lgLrfh^iA&9TlEgQ(eW6*eT4YKmEE)6kK3^tDor94NmKy zFkaJIyVXj(BCR#dg1^a2=w<}dkU{5S z-olwrepIzF#a2>v!QvzvI_k2!KQPx

ISI1v)T<+4K@om!!PpUqp5#FhTUtVZ%;= zR^%@yLV<|k-Xx?0`=gsW&(8$=yXz}|vYDHbzvBeGLeAk++ys%O9vQZa6EDAdUjL~e zw4BmBC>vc}>mdRV-jm0i5|pcL13nSY09AVN1={8rt9oyvS4yn_@L`(qqbqd%Il|O4 zHOO!mL!`|-N5^QBq4f~FBQQERV$G7!DwH`ClL^hvfVzHzv|V_+LdaFK#ASCD&n1FqF;6usO0+5+`)&bpZ0PFxqOX5ANf)z;Tq%lo`jhz9x%`X4)9bq;SbG#wXw_`u)D9lwHQ1q zm>q-<@H0)M9@jM6Qd%W27y3Vy0Ys#vv>c9UN9<)^!^^*b}a%rv3!uhDA3RW%`x`)qd;{avGf32S*k( zaXirDGNfDrC;%Erb`Rn^m}c=e+}YcMSmAlv;K8x*S&ZCFk9|MvOP!eS50-HlVL!?^7aN$?@x&W07U|V_Ubb$P+&Ar zee|oku2r-*eQ^`M6gt-@2zG*+=zd0}W5>w=9r7d?1-IdcU8~`3#`;Hxma&E=O zx-iXu0wI!e6XghtcOy?Gw?$ z{|iuD0#`fn#fR{#U#9EoLJqYu$~?o!#(*ImSL+Yyj~~yRde{ppALWRo`Eqc&=4X)L zXZXoB>b7}fSs6p2kU1!#xBI5qK`A4fTnrDN<(qnXW&@}mnnFB`LTvFSui=aF2^4yq zaBB-;X87uJ<1T%A!t;ZG>>sK0l1oJ#h(Z{HLxr)+!*jIqkf5o{xkG!W>aHJf6@?;% zO#aHr|6^{uUBmOGMC#GSv^P}QUzaY$FQS7WhuV6^II<*@B-Z}98RERkH!&QP{n*f|G&(?l3t~oHIm!^G-Vph$hsWeS8~c76p(NSo z8go3=$N;A}bl}*wAe(|mM9;_~1>+B9suVH~`B|z{ zZJ?RP|BaN87(xUD%rFCS)xs#*G0HIzHKTL-`Me5`3;}>+_>uKmxpJblzC3sFvSpKC z4j>z|n3b^pJdSo)k80lZS6?1N5gA~c)T2Q`t6OT>D&@>vfg}g=F7O`+q90eEGWNEA zM*(F(fM_jul2!IUOcf|l0%irZp|Nm%f^{H9jZL48>lrA76!0`mZRXk{D`qZ&9@obP rhLtjZT(#uvAN$oe;Q60@1C_NW?N(o6ka(uxzezgN#+}t(u<8E*D=F$7 literal 44836 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 diff --git a/ui-tests/test/menus.spec.ts-snapshots/opened-menu-view-firefox-linux.png b/ui-tests/test/menus.spec.ts-snapshots/opened-menu-view-firefox-linux.png index a043c46dde1eac84264037e6fc79437c43a8c56d..cfc60f6e5bc027be189ded7783ecaf1d97e99f86 100644 GIT binary patch literal 47499 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

75S-&OeU$lgv=E>Hp`1_RNQgRW;>pv7 zH~u;-#0cxx4N-gAUytth>E{H_LAIyAW>Uj3xRuNp6vXNvFLKKPF@lZCdF3U#QgA4p zvK+1;UaH%yJP>afDuX_&GpXKCD@PDE$+{^K+k~3A8Toj7-=kLo+^9!va$Q*RS6a27 zoAX?#g_;)G_j#Awjkf>{QF7fvL)BrH`x%_#6U5%Sr6eX|dYhCVH_?M5Do8?g;h3`S z)2B~JkA`s;zq&Up^UExU{U8}+PZUR9I06d!}w{;pPXqA z*gAW2Px6Tm*|#?eHX6c75>FtEbMDgfbT$&)$vSw`n&P(fwZ|?_oiu47C^CrC%m~Z* zfd;2<2%0=)N^(_`r!eT$R}b%-j713(R2*Vy;{_T8S0>2#!qW@q{*C5&bY(@K#H${h z{h|;KN_lkIW;qX%4il4x8%6i@(#F`=kJ9*1G}}Hi1aX=hx~QInVH?^rcB1W;*?G$YQFfuu4P36w>2Qp#e)!}K?^oHByw-P~IZ0zv|IpO}Q3`~YrKYeRi4XuoO+)L+(;(bww+fU*w zWlKgzG@h`}@B+<7nWhr>IhqTEzrY z4qDn;?aG?m?=vzo?9)wrvbkq;yeUWa`K!{bVeJZF_uj(>hF32p6o00%kFI>4oE(y6Snq*S7r9YUXZ6XXO$2c2UgiWUZXy+YeBZ6K0rMOP?{J};R5j2SXx z{i%K?G1-@b!9B@;5zQ(8&Oz-yA@RJk7<;CWmZzZX{mMXc;;cvX`&(%_TygBgoHvbr z(%jIFJz!nm@ux>PL}a7$9Fhg0BP{H6avd0Zg;1x4C5PwGa|Gp(>LKDC(6)!1_oX-I zdU6rO?TqD|yrOK5^9=-;QP*01p3svh1rAypJ2A4`n}!sXmiAyDB!}#$iXyXCI*h`H zz-7IL_u?cg%sqCMD6sK#pwa_29gvor7Gbr^!=nk7LiIVmI(EUE`izSC{T>^b*thpr za+q^d98%8CKY|Eawrq0>-DIN<$3<$;1=>*XRykupGX&(I&#`tG!0ot&Y_6!RERHM> z+5>e`yU@AJ{k570Jex%$7|H>5F)9c&d%$pQ#*51~OxDWaS+KQpZaQ(I2Qn)^`Ykz85!=X+%vJC>lX-UjNdDGjdNkrzkFwNxUB=zIofGrlsCEAFk9?E&JXo$`048w{ zm?F_&7-A{NA)YD6$Lhl0a0(rm6CWS%hGh1@=@>c*jE{@A`Zem(XYPsmDfs;8J3}KP zaxn<|1Bd{h&I}QeApu?LPlYVowqr;C(EAJ?0yEL$9;490%g}wDssE0{a3Fo?<{gt7 z7UeE9epXi?M}~4JQ}VcOQnbvUo$ohev zMUOf4_=gT167YH)(sa0N;tM`>68%ybV-}n}zv`r*1j({!v5xQ_66$~cwz{{LlMgw! z511gSubYtH!F1o^{a4-ana$My%0Ov5NQe$x6I>xDHe1X6W_U}?DzVutpP{aGR#Tha z9~}1>;~PbcA@e4sGUa^RLy_`qTq!r7@_M_!q>r$uI%d+wdB0H)$y#R2khapd{&9PH#DuF;OU0 zRH8lE92L77NWeNPwh=1x`yfdO|DLR$DGiyxYxHi6rVGIuslLB+um#zmEf;YhE*K#0 z&BPB1q#XVneJ54I8q+s7JB}H;w5CGACTKCeIDRRb0M?}Y(}foP>!8E3GLav;rp>mW zv4i{$AW{@|KOm>0zgq@>zsDwqAX3VP>$Fq9(1irg8^+k(B&A8SW?cBg%-N4v-b}>K zjI#_|d8Z^2L7GdYy7gtf1nn!GWAF1dT-f%&kuVSj!AAQzQbpr=0Ei$vH}|VwYy9}Z z%b#rL?q67$J~VtMR!v&*lgLrfh^iA&9TlEgQ(eW6*eT4YKmEE)6kK3^tDor94NmKy zFkaJIyVXj(BCR#dg1^a2=w<}dkU{5S z-olwrepIzF#a2>v!QvzvI_k2!KQPx

ISI1v)T<+4K@om!!PpUqp5#FhTUtVZ%;= zR^%@yLV<|k-Xx?0`=gsW&(8$=yXz}|vYDHbzvBeGLeAk++ys%O9vQZa6EDAdUjL~e zw4BmBC>vc}>mdRV-jm0i5|pcL13nSY09AVN1={8rt9oyvS4yn_@L`(qqbqd%Il|O4 zHOO!mL!`|-N5^QBq4f~FBQQERV$G7!DwH`ClL^hvfVzHzv|V_+LdaFK#ASCD&n1FqF;6usO0+5+`)&bpZ0PFxqOX5ANf)z;Tq%lo`jhz9x%`X4)9bq;SbG#wXw_`u)D9lwHQ1q zm>q-<@H0)M9@jM6Qd%W27y3Vy0Ys#vv>c9UN9<)^!^^*b}a%rv3!uhDA3RW%`x`)qd;{avGf32S*k( zaXirDGNfDrC;%Erb`Rn^m}c=e+}YcMSmAlv;K8x*S&ZCFk9|MvOP!eS50-HlVL!?^7aN$?@x&W07U|V_Ubb$P+&Ar zee|oku2r-*eQ^`M6gt-@2zG*+=zd0}W5>w=9r7d?1-IdcU8~`3#`;Hxma&E=O zx-iXu0wI!e6XghtcOy?Gw?$ z{|iuD0#`fn#fR{#U#9EoLJqYu$~?o!#(*ImSL+Yyj~~yRde{ppALWRo`Eqc&=4X)L zXZXoB>b7}fSs6p2kU1!#xBI5qK`A4fTnrDN<(qnXW&@}mnnFB`LTvFSui=aF2^4yq zaBB-;X87uJ<1T%A!t;ZG>>sK0l1oJ#h(Z{HLxr)+!*jIqkf5o{xkG!W>aHJf6@?;% zO#aHr|6^{uUBmOGMC#GSv^P}QUzaY$FQS7WhuV6^II<*@B-Z}98RERkH!&QP{n*f|G&(?l3t~oHIm!^G-Vph$hsWeS8~c76p(NSo z8go3=$N;A}bl}*wAe(|mM9;_~1>+B9suVH~`B|z{ zZJ?RP|BaN87(xUD%rFCS)xs#*G0HIzHKTL-`Me5`3;}>+_>uKmxpJblzC3sFvSpKC z4j>z|n3b^pJdSo)k80lZS6?1N5gA~c)T2Q`t6OT>D&@>vfg}g=F7O`+q90eEGWNEA zM*(F(fM_jul2!IUOcf|l0%irZp|Nm%f^{H9jZL48>lrA76!0`mZRXk{D`qZ&9@obP rhLtjZT(#uvAN$oe;Q60@1C_NW?N(o6ka(uxzezgN#+}t(u<8E*D=F$7 literal 37187 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 Date: Wed, 5 Oct 2022 17:20:24 +0200 Subject: [PATCH 43/57] Try fixing the test opening JupyterLab --- ui-tests/test/smoke.spec.ts | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/ui-tests/test/smoke.spec.ts b/ui-tests/test/smoke.spec.ts index f421a8ca68..c9e944eac4 100644 --- a/ui-tests/test/smoke.spec.ts +++ b/ui-tests/test/smoke.spec.ts @@ -89,9 +89,10 @@ math.pi`); await page.goto(`tree/${tmpPath}`); // Open JupyterLab - await page.menu.clickMenuItem('View>Open JupyterLab'); - - const lab = await page.waitForEvent('popup'); + const [lab] = await Promise.all([ + page.waitForEvent('popup'), + page.menu.clickMenuItem('View>Open JupyterLab') + ]); await lab.waitForSelector('.jp-Launcher'); await lab.close(); From 1ed8e02e7bb4ec4c6af2f943f6ec9cc9fa7835f2 Mon Sep 17 00:00:00 2001 From: Jeremy Tuloup Date: Wed, 5 Oct 2022 18:03:27 +0200 Subject: [PATCH 44/57] Update viewport width for mobile tests --- ui-tests/test/general.spec.ts | 1 + ui-tests/test/mobile.spec.ts | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/ui-tests/test/general.spec.ts b/ui-tests/test/general.spec.ts index 6ee5e92754..57cc907621 100644 --- a/ui-tests/test/general.spec.ts +++ b/ui-tests/test/general.spec.ts @@ -6,6 +6,7 @@ import path from 'path'; import { expect } from '@playwright/test'; import { test } from './fixtures'; + import { waitForKernelReady } from './utils'; test.describe('General', () => { diff --git a/ui-tests/test/mobile.spec.ts b/ui-tests/test/mobile.spec.ts index 1cafd84d4f..2296060888 100644 --- a/ui-tests/test/mobile.spec.ts +++ b/ui-tests/test/mobile.spec.ts @@ -8,7 +8,7 @@ import { expect } from '@playwright/test'; import { test } from './fixtures'; import { waitForKernelReady } from './utils'; -test.use({ autoGoto: false, viewport: { width: 512, height: 768 } }); +test.use({ autoGoto: false, viewport: { width: 524, height: 800 } }); test.describe('Mobile', () => { test('The layout should be more compact on the file browser page', async ({ From e62a06f58e5b489df28cef770ad189162d677113 Mon Sep 17 00:00:00 2001 From: Jeremy Tuloup Date: Wed, 5 Oct 2022 19:55:31 +0200 Subject: [PATCH 45/57] Remove TODO --- packages/application-extension/src/index.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/packages/application-extension/src/index.ts b/packages/application-extension/src/index.ts index 441178dcb7..bec1dc9549 100644 --- a/packages/application-extension/src/index.ts +++ b/packages/application-extension/src/index.ts @@ -220,8 +220,6 @@ const opener: JupyterFrontEndPlugin = { /** * A plugin to customize menus - * - * TODO: use this plugin to customize the menu items and their order */ const menus: JupyterFrontEndPlugin = { id: '@jupyter-notebook/application-extension:menus', From 7d5691ed9a98890763e5b930518fc404dbe062eb Mon Sep 17 00:00:00 2001 From: Jeremy Tuloup Date: Wed, 5 Oct 2022 20:51:41 +0200 Subject: [PATCH 46/57] Try fixing UI test race conditions --- packages/application-extension/src/index.ts | 6 ++++-- .../notebook-chromium-linux.png | Bin 29853 -> 30083 bytes ui-tests/test/utils.ts | 1 + 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/packages/application-extension/src/index.ts b/packages/application-extension/src/index.ts index bec1dc9549..466d095354 100644 --- a/packages/application-extension/src/index.ts +++ b/packages/application-extension/src/index.ts @@ -202,8 +202,10 @@ const opener: JupyterFrontEndPlugin = { if (ext === '.ipynb') { // TODO: fix upstream? await settingRegistry?.load('@jupyterlab/notebook-extension:panel'); - docManager.open(file, NOTEBOOK_FACTORY, undefined, { - ref: '_noref' + setTimeout(() => { + docManager.open(file, NOTEBOOK_FACTORY, undefined, { + ref: '_noref' + }); }); } else { docManager.open(file, EDITOR_FACTORY, undefined, { diff --git a/ui-tests/test/general.spec.ts-snapshots/notebook-chromium-linux.png b/ui-tests/test/general.spec.ts-snapshots/notebook-chromium-linux.png index 5e6a20f6f5fd6785db64a46f9c725e1dc2dcd943..70d9aba2ed7acb264a7b4a81df4d13b913d3c5c2 100644 GIT binary patch literal 30083 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 EA3Zsg?f?J) literal 29853 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 A-T(jq diff --git a/ui-tests/test/utils.ts b/ui-tests/test/utils.ts index e48bd08c92..46b258e42d 100644 --- a/ui-tests/test/utils.ts +++ b/ui-tests/test/utils.ts @@ -32,4 +32,5 @@ export async function waitForKernelReady( }, true); return finished; }); + await page.waitForSelector('.jp-DebuggerBugButton[aria-disabled="false"]'); } From 55cd158fa03bc5ac320c1ad0367d39b4bdd4b685 Mon Sep 17 00:00:00 2001 From: Jeremy Tuloup Date: Wed, 5 Oct 2022 22:11:05 +0200 Subject: [PATCH 47/57] Update more reference snapshots --- packages/application-extension/src/index.ts | 12 ++++++------ .../notebook-firefox-linux.png | Bin 41264 -> 41467 bytes .../opened-menu-view-firefox-linux.png | Bin 47499 -> 41197 bytes .../notebook-chromium-linux.png | Bin 12203 -> 12483 bytes .../notebook-firefox-linux.png | Bin 17802 -> 18441 bytes .../tree-chromium-linux.png | Bin 21571 -> 21683 bytes .../tree-firefox-linux.png | Bin 25187 -> 25953 bytes 7 files changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/application-extension/src/index.ts b/packages/application-extension/src/index.ts index 466d095354..00011f8391 100644 --- a/packages/application-extension/src/index.ts +++ b/packages/application-extension/src/index.ts @@ -197,15 +197,15 @@ const opener: JupyterFrontEndPlugin = { const file = decodeURIComponent(path); const ext = PathExt.extname(file); + + // TODO: fix upstream? + await settingRegistry?.load('@jupyterlab/notebook-extension:panel'); + await new Promise(async () => { // TODO: get factory from file type instead? if (ext === '.ipynb') { - // TODO: fix upstream? - await settingRegistry?.load('@jupyterlab/notebook-extension:panel'); - setTimeout(() => { - docManager.open(file, NOTEBOOK_FACTORY, undefined, { - ref: '_noref' - }); + docManager.open(file, NOTEBOOK_FACTORY, undefined, { + ref: '_noref' }); } else { docManager.open(file, EDITOR_FACTORY, undefined, { diff --git a/ui-tests/test/general.spec.ts-snapshots/notebook-firefox-linux.png b/ui-tests/test/general.spec.ts-snapshots/notebook-firefox-linux.png index d40340ac0caf29c672dba023c784534b885c02ad..7079711594f9bd33455f2f586cdef2d5f93f5942 100644 GIT binary patch delta 5766 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

uSpg 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 L=dhK!PEr2?r-?mF diff --git a/ui-tests/test/menus.spec.ts-snapshots/opened-menu-view-firefox-linux.png b/ui-tests/test/menus.spec.ts-snapshots/opened-menu-view-firefox-linux.png index cfc60f6e5bc027be189ded7783ecaf1d97e99f86..9cb32711f5541325bad092c14b7346b1de3c8b87 100644 GIT binary patch literal 41197 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 z z-Qcda1{Wf2$w?hwz(YJB)*1=KJr)cg2Dn@ZQm6g|Oz`}j5f?!}@G7%}0?<7;;D}IN znB6yI;`M-4TkIu^yBonh{%0D=^OC$j?0y=Dh^uQINDzM`BER$HszvOA$es!K zfaB+=RWaI}LC?o;dGGdN+5)V?@4F3EwIPzhLCCv{`2$?4w_u)U7-E5Kg0^QIs_)p~ zW!q)MA&`n@m2ta4OO3scD?Fn5U8owKFe984vIF+SF<8!#$uNKW!cS`kJTEn_d5pZ@ ziq%Wls7BWsF_6MIeCC{u#o}#b3qjLV6f4a;H7ijjRg98OE$mou@ayJ(=oa-GZcex0 zBiMjNiy@_k-Dk>POQ7ao0BlR1*JrUYU0{0xAA@eWAH*AqCNoFQ0oIHDRqB?HNloto z=+cCs4QyCRceO*1#q+_aKv9E^+ZJnK{Dz9J=hrJ<=>%w=)#YcQMo+&awfmN3~&aFNgZ zGDTI!s24+Orx@Z?TJb6<@NK;7gKLmx4 z9B7CY^O?5nzohJ8-&df=mYU(7Q$7$1w9S0%?x`jH(tT7$taril(@jzQ9}z0Oy3*!` zgW(!t4+fZc3K`%(pZL@%Y(#9lRSdUPxNQOkWMn~gO%H#yH_HFPY#FEcz zB{12?CH-OO4{PPJLK$>LKct;y&OmdY>31B_9tKh4Z>^5Nm&{r?(F9Y6kRk3*P$Dc2 zJRyG^2}-`Cj7dL+~d%QF@Z zZDIEvFpcVi0_OTn`y{O>jp_FrU@RY0g_7aUPm->%{KXdJph+Z7P$e$CbH>xt1pN6A z^S83~AowG^|o z#Yal*Qa)z*yROWi0nrWD=n_uSb|J%T3FCdi>5w7QPYI`_uknz=tr+t~zvQ*sDDg}> zI-X1sL)yLjyrzD6A@F#@_X0-@1EcCAaReJC23mJ;8peA7YIyJh3~`nns)onvwi?*$ zAbmyxM~%Fx^$1KjgK7VH9nYX>7`7DNLj|<5;y>|;qL2doktfUbKPy+y|8KtdblX_} z*@9tjvyW?aC=QO!BKfP|Pzq{xH&wXGFe4DZH=3;^2Lp4a#8y0O*MiQb^3hJx@du_M*eLb3eWuX37h)9iEofyY{4|`gZ-^AwYIw~Pf|hV*6(I;;h|mhKFAkytcl$xGvhuI zf8!rY;V@GfV3~K6)Zyexs(N&^z!(uX>VgZo_(~o7QnM`_)^eokN6vthkXm(^Ti6_zZXFCRn7RBls7AxR`>eB3re^+htz)}M&jWPHMOvF#`4ov#<@CtFpHngh6}`7A_{}{MqB)C|Y?Ry-s}5Ro zhFer%s|Fv_$a??eW`y8)x#Q&Qy*^dOxU#0qgcH!J8`3Qrq z9G#S~*qx95=+8>x=PL_eh1g@_cp@=3!jC+yU%d$X3_F%;GomW0&pa0EcdpR-c{LgR zWoNvY*bDrW1bB`-VM3l36oP%TdBdPBeL%owm@w57- zW9aO>Du(DkUs7Bxg1xdM(bXT?7^1pENl0$e2fmMaqeCCq-hTuVpU}m6-RWd8Y>PfM(-WWrtoibB8 zd?1%EXdXi~>deVB4aO^9t+|E$pY0sXZq<+><@Wkgx!M3n=GXe@yYvJ*X#%uV+#M%% zJ>CBKV3S-ox|HSK=#XAU>##X$a0f&jTRYGoKV~_y6 zq8J0VU%VhlB9_Cui`$tcX3!5Fif(!!($yb1l$TTC4I`a~-XcApo<{;*-#7HRruM3& z+cc43v9`%*-EPyHN+y?tI*^w7zbdZ;mUmFQjltQ}Fn4=!`gL5~W~llZKIYCMmf3fk zru|t|MKN4~U0h5;l2&$JisY%T@-6oU_;Alb&y}K+K_DeSRUq#}ll94XU;`SU3XY!O zy~44!miQtx^t0Y(!JXzf1HAOmKnad9qKGSWD5oh>UNuRU0R<7xqRw*2Hjaz`x6)29 zxo~37X{d-v{q#zLO55o*Nc8uU`^fWinmwx);{C`;eqWx-B|0 zc`u2kGoKk%DmryDu-hH~_!(+(Y-aE1c&Y8$H-l#hi5-K7r~gw>iH{4aiOAFhRwrXu z(jR3^arSIczwW58Pa(uOs`Vz6Btgq=IZ=*{+Wb~_BoutBHt`KcW+g*}EZV?3;r!G) zCIX|~zD=*EhA(!Fm9x{CiYI;OoZNg9sEF0!>u0IkHGUMYNtZ7CwVR42jwp48e~y+v z?6{G;^t;24L*JQ>vxgAsuD_`etBO)GRnK`5Z0YY}W5RS40Y4!m@@rB*rhtiJ5edN1 zi$M{R35sT!;!V=>^_(1#Z&>AmS2vXY^4+|^my0jJ*IVwkbu zE8+|Fj!yq6{`DI`F$oz;NQA1d8^Z=FWf9T{6Q!y#0t#zSjzpt8a}i0K&r$8tQwKQ+tCWqGMeR~Pa-+*^vHK(68l8ucsES3Rc)1a%rL z%L}iyUcZt~?H^j4>Pn})J9$F%YTbu^J)0YJa3kaN0>U3=6$%i4Ry`{u>~4VI?*+1cqv00+6;kF07Jstgda-Aa&F%sLquUv)}_B=$z&)| z8OUQnlRGcxZR%|gKdwUzpZ1#+25mDp9i6S}?6!QCVugakFBDBHjzM@F2DjN(-7Slh zjpUJ4TSKWL>Zh3P2BOW+*KrKp|Fb+QYswOWt`=x~}0}S-4XE^Ytib%+5(4U`@V4ivrAx(B5uvYyhiG-C#fI_r>{$uV#@V;(F zoo04WG8r1M!$mi~ecyf6<(D~PmSFj}AbQM^cjzbj(T48w9315Swf-+Hz_%E*?2YT> zSTzqSY!VXY)qgEUKu#iedNpf00M%(r(&Px$QB^)!ZpI(1Yr{tZTo{Di8ZPBAH#mfa z=?({faml~Ao*L-VyZsbT(-iS;_aRLxnLOw3G-V#yLa&6*+Bw%|m#B^^P?Du|xp+4))v>!u) z=ND1Snrm-pm2kNtdKp&)^d7Y0G5Z-WKDWn^uFJw2pLE%?kCZ$wl|0Z@KF@7#Yc|V) zz}p}5E$$zI>i=|jA#^0uFjqd>BUu25<|QibGENAkCmJ~zyV;1iP{@xD=tbpt`2l=x zf{HX4l5b+q@OAT0lg3R>R9rJtsDO4?tPVlp2e`4aI2xW}w-ek**irg*G%B*STD~+W zU5w#<`BkM`q`X{o;+J{{ZdgiesJ4`ks|7;jQqNBX^OoHt7EQ%kc=UWcHw(Opw(VvO z3^O)Ph0ZIs1&GRrvbXpx4Sn8SfWQG3nAQj5On0c1w?4iw`G)Y9MZCzFuxFG(z&OB& zArY>LGg7IsK-J>)g^{-WZWg$vsfWbJ{JwQ-sOm90C3p3OaJA|4Vm-wEAGG<+^$7F& zwo23a%FB#k>m!2~>_T=ltsC$Y*2Q;(dG#+VDdTM3!n>ouvN#7&6uV-Q*|!X@^o6m} zlEvlRr!f$y04sxqaDYjT%DLJ?&1QPGuqVhyK`94ouxezSMB={oQp0qQ&p^2O^l+b> znD6t!d`8G<5jR@edz@E8heXGEefrXHjCS(@0)3b7c+|4g;CiMj9e<%*`1stu1Sh*Q zftK{~rj>1F{7=5UB_P@V-(Jj} z1${EvP02Jv-1(&(3b* zYgQM)KQud3&FQG>X0w*uI2lI9(;m*ubMIqszM{g0oGC>IZNk0Hd*8L>wBHejK4m_> z=X#Iagc5(bu&5tz1)S(;VtrR!ji%!|J%!q^`UA=KOy#7mP&=4AM>&7^lm9?AR0 z;iu_H(-_F>5Yw?De}_nth?}y+=O+N+y~#>qKk_2*2h;e6XK{wO>JaB|h%08e)$Zjk zAvw#?(c91I ztWt!vrIF@3FBzCPS;X4CKP@-e6mb(_tCsm!A%p|$H3Sz+Zu~oNWhW9FRXl6{n-hTk zjI6<31?0}j#t1s!KY51`SJ%r%!gTOh(pw0| zDTGVB%_H?2n5D@|THc*rAe{SCoZokc4F| z?c|6EOGE{|ntb*1yL0w5mpRHCb(J$~>hUC3HUJPGh^dN|(M<04VcNK)ut+q3liNyQ zuy*cAlF_~Dg%pU8F0MytjNU@XZ6-~_BUNANdZp^yv8?+&vw28JB)OOCwGX zCuFTN`VN5RYoxj91%H~W{uKDUNnb?PMV2SWMs`zQ#FCteXsrwR59ZkSUe2YTk7x%) z)+sYWgo*nl^5BV*k=!huzP+jEK85h@pP$+?L@oQpY+en~q0zGD=^|%K1_Ve@mR*VR z?o3#X;%058Gr=p#NazcmHTalb-MSGWnQ3NyR8`CY^mB}9~GhH zDk0IA;L?%qQS}oWhzcImAXyw7J5S4W_Nm2H_2-9vOBL8N#a$%CS+RV8Egnvvc<*m= z(@6~l&o=vi>Io0BVY+!pC=XUY<~&p6>sI@KtXG_V(-N?b4XDwP1ij!l*tEw>g}P@VR1;}p@{&q}30ve3ZbGLgpEHF_dDfRciMzfOdIKNI z>6)pbaD?tj)ZA-sqZP{3*)*wszp%(cNZ7a%lpQHs8A~p`>8O*@PqfIo*>#x&(q$JS zT6~t^;BtFRK|>^~Q*BzT6~)R_Q`LE`a|oEuK$AcB9e8;Q1q@li@K}91+_l} z9?mC!F!LbqsH?*YPk6m!*ZP3JMG;#3$8vvKAJ20W)3aHwaK6D*z#cE`1|vu{mQ^RI z&iQ&pQVlU6eLDlAoeq5}KY{tR2PYt1PIKp2?_Je|>g9WtU1}W3R9{Dow-eQ-eNeGr$t46{T)44__*nms{~!Sk3iY*% zOO1`9`0$s<9GhoZX*YGCfxf5(#qM2rStanfR7k~K|Nr$5>~eVrk!_RL^8?-@YK^0z zssjiQt^_TJ2h6t~ux5?C8QDL+KCdX;qc{%X zp&on7Fa41Hmd^v&3+9O{z)A+Y)a?-+W~KLR&ttzY6_)4yK=n2p90L$_6QGtu;9dNV z#G$Sm%{W5Eh5)$b?}5J!+n-+RPSv`wJo?fPvM_oX+P(Et7J;JsrS*Vq0XowaWLNX$ zT4zJQc5>NzL=O*MYg-Rk1Gy4LcGeRK75tv;>b0tiY3$^fwve(K`b`~)E`tewRTq2! zOZSI{NZQ&J)bk((V+9gE{a}-&Q2)VPnC;ISy}G_F2Y-DK;%T(XKAaW8{630@R7VUox09u!Q4ZOMb9~2f`w(^Rc<|Z#aiX8VF(yX5c zr&tpWzn(?*V_>H%K^wIKsk720u&fj|Y|U z4BEFx4Xf+#M07`x#1OHl1%Z=itVlC{DW?Oj#7!ipMq}uHWA^tiaQebfaC08Xh`ATQ z)Q+UkSbKN#YvJs=vetP*X&r%<7t}w>`a`!9snQ6J9FabbRfd@^|KG28Q^PQNhV-f` znGa)8AJfrkJ5KuC`93Hl+?Dzhn8D{vJYU(pis=C7yz3FWRp0{Xs`e(sDGjJqaR^FI zzc39+JLgh08j!`Ii0zp8L-gemp+Uq*4zf?LV+tK1aMewGKjZ=ID(ysuRYN8F*{{E4 zy*0GSb)F*`)+&GR%FmX~MmNkM$+^8sdu}&r-eAGuEPPw%pKk;5H@bEwPl=i)8t9$5 zRN;xFZxt5^5p>;#6ypbtmvCJ(`C0W$+MZjVYn=2U3=3g{M=oHFW zCZ_uv=#OHT^{{g2pR@cOR#cAZQRs{?+=u2;Ag|}4c)2K4K{s`$biH9Af^}0iHN|8 zspA$_SiLcMsw#RIhh%1H0gfx220{==A(3HdV+Q|%^%lfO&g zn#uWCiTio_A9o7&)5XRQer_%CPz5RpiSq}eGK8@kz1$M0r-#>b4h4Vf-&s98ddYAG zRdQ8`WidPOq>6jW6`^b4qz=?kjW}BqJ#CzjYz)~fS<1Ou@HUSvL!4CX!`$cj1d{!v z&eG0mfKDG-bi}IRF#R7MfEGu}+xcsh37lVoyqhzB3TW_MlXnH)nM6k{{S<^ynzKu< zA%jHPoKD7xpx{clU|eqD^EN&;POMYWoSA0nR>xM%HMW7LLgImlKVEV>M?{>NEO4K^ zGeMHScpIXv-Q4JppGRI+y^PK?HS&`ARb9vv7)ekqMqSNouC(tInSVu?z-@p|x(!HO zOL79IQ4sp@z6W`?-S7E6S@W*zCYa}#v2y-rS@j$pr((~iRmXJVQJnb^!V!ta4pV@S zniy{*?9G4$f0jxoKa%&TBtn@; zv>>2-ne@+!%R!onN z+T5vtjqe+71jRy_oDbqx@iy~P7c=X*Uszti8%VdDnWmLOa`}ba2(~Sl_K-G zc4A-IoDM*SYe=Z#-*bsh@dNHyLo+iZ3rTh_II^?m%VPR}b9eSXZS)e*?J~l>?e|O{ z9`6#A(*_mZym}!8AWv1&Kt7M>Xqjyx%XE4HuAU1d9ykdgNSy%ma96+FShPXfNI7Uh z^C&~*0n~2&3Q>=~H(3nFvUQO*N~?xTdih%nh# zY2p1(U8H=);X9dOgYTp_T7?}T6uX;hTz@em&`$Xr%_y7xKq@y9W~KmYhhjDxjN^Cz zY4YE^!O)PIgTNB?O!HQIp0VJ9N8u*z_k!NS>kin1Phm#o?wxNR`5T0`{0I3gE< z@x%%Vqz@(H_=%`dFE@BQy>#d#K*iSV#})8wbsq2l$*lKxn!$ z70r3)pFT@7)-8Dv;;Vna_DeG)i3840@+~M1jW567eUDg~Af1ID_0k)QKHB{yez{14 z1Zf{M7oWi2u2#r}2Px=JNy>{fpqE1;+kwt}xEb{S?xkk_1Rw72RDw}x1@ix^9a&{P zmLNEd9|?TF%9<>q$H?DZ4dF;hh?Lw4u5o;(JMFj|kf#?xS50%T0oH&$ai=WLJFaOa zRo@EWLbY>-Mn{lDOt}TCR~wMV8tKHWVc+Wtw2Gq1hb;gqm)?h9e;-5>cy$z_b+ccr zehJoNLxT0;5}xnb)vO1>BK0S^=dVA2*5}a^G&WUu7dEet?(8o^I@ob=8xpu8yuLpD zt_j*mhS}^-a%y(D+LPe0km}3oR&jC_s`f@7cdOijyIy5=4WLwxkuZSm*M= zhROR2B1b0BTZl(pdJs(JO=RM)J}JWXa3rWe^0;M6oHSNgmf{_RLx(9vJt3V90%1fH z{sN|3_x=G0Hy?itR-onRN8L! z1#FcaqC}V7zOpcuau z$BJr(ti0vba!bx+#qh5X)5kjqp$iR2S2`kCe+Pk<;Lc!`FGMzbSki55V&p-lkc*F; zUv!iwbuzZ7&kdI7Gt%BL!T>K44PV)pp&-2Fs(kRhMWAt)bz`u97 z&TY73)qo4yUPR3)3yX4eSA#qY0^6$Gh9zIZgO*Dw@PbItwFI-B&Rl+U7ge&t`T|tr zCqH|s*8@yyhcw@{vyuqeF?ZQLi}U zZ{H|~y~~ACs)e_)Uf$$jg4}65`Qvo_ZM}>M(={pye`;t$YmXA|BJMrL7xf&Qp~wFt zl@lnUv3f{!b_WZV9U=3~Re)Wvx(t~}^SifC+DQ&O6d&5$ z#ioe*qAty0pB%z-y%NLwKxY6gN9Y^R(!9I)#2RFl2C;Xgd&Afkx7Q`}=jvoaaZgB(Y;FVN&hFud$Q97_eD@X6t;nsOXIB(=9{k@59BE^>Z?0@4q`5(6TId z;F)YJH`onrggbze0?_&pjF0}x+!eMsjA4^pw zb(aFFWKJI9pY&sQ1k&XNCjt@71mZwdxK?$fDGITa$5=laVRYS~;&I{EAaP#tcDQ4x zAA&skke91*#ltIViA!_f+(mZOZl3->e6h;+R1ul}CHJ`5lcPVY=WlrN2IRI@{as6T z;QWeaH6rT!JomYiof@=a8Yu`I4BUAh#4-t3x%le zq%YLD#Ju5$^f%|Jd9~`v&epd=Jd(%bacZoyq@MgGVz+z5Gh*19TBV-y`CM&}*tuFD^3;rglqN3?YA#oX ze+|EmnUVOLD)N3E%NhjyE@-Qj?>eFlM0A3O!&EJ$OJVUSIks@~MmL_cq6KB}Xr^gs zT+aCC9^YcOj9^B0+9Y|ws#0Cyo*OE(e*ucy#e9=Dn3p|hd&B%%+^=(KE?)MLTjzzF zs|I6S4=d^|^pLpxM9<&LBHg6WT)3nzcv4>Cg&N*~GjsYt&Q2&^2*S+Ni=}Q}6(-mG zGJL*x@LRhis7J!9YVPA12D(3}nJ3$*ANRxNC>e^kR?JrML0^nlVjBWS%s}R2XP}ni z+}^vl87ZZ*#J;YA>hLM6E1nZZVYNdov zAxho2c8!`@@|eAC>@HJ++9p+62Pw#=Y+iIq3U(v+&B^PfRkKxetFBjUK0GM>l;S?cqC*JnQN+_tM(9QUZ`iq*-c z1!~X@Ov^T99B{+Ah%>-UiBD7m_Xz<9OF%jCJ^iTfz%hLE%}Z8zzTyCh*$M`bj;S2` zv{_vcD>6!Y9ZTGTHS-p*<&Ft^#$d9=UHvP;PZpV9X?s;*R}nnb8DQW{mkITE>FirH z=0xC{okn*Bg+hH3&I;yodXftw!H4tFDS>%`oTRQ{7{>@n^ccX+$Z$aTeheZHhW+CN s=L=ErT6e*iS}Wu=5{yXh|GDt*At!yZC|i4~2krqCema`f#!M>w4>H*orT_o{ literal 47499 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

75S-&OeU$lgv=E>Hp`1_RNQgRW;>pv7 zH~u;-#0cxx4N-gAUytth>E{H_LAIyAW>Uj3xRuNp6vXNvFLKKPF@lZCdF3U#QgA4p zvK+1;UaH%yJP>afDuX_&GpXKCD@PDE$+{^K+k~3A8Toj7-=kLo+^9!va$Q*RS6a27 zoAX?#g_;)G_j#Awjkf>{QF7fvL)BrH`x%_#6U5%Sr6eX|dYhCVH_?M5Do8?g;h3`S z)2B~JkA`s;zq&Up^UExU{U8}+PZUR9I06d!}w{;pPXqA z*gAW2Px6Tm*|#?eHX6c75>FtEbMDgfbT$&)$vSw`n&P(fwZ|?_oiu47C^CrC%m~Z* zfd;2<2%0=)N^(_`r!eT$R}b%-j713(R2*Vy;{_T8S0>2#!qW@q{*C5&bY(@K#H${h z{h|;KN_lkIW;qX%4il4x8%6i@(#F`=kJ9*1G}}Hi1aX=hx~QInVH?^rcB1W;*?G$YQFfuu4P36w>2Qp#e)!}K?^oHByw-P~IZ0zv|IpO}Q3`~YrKYeRi4XuoO+)L+(;(bww+fU*w zWlKgzG@h`}@B+<7nWhr>IhqTEzrY z4qDn;?aG?m?=vzo?9)wrvbkq;yeUWa`K!{bVeJZF_uj(>hF32p6o00%kFI>4oE(y6Snq*S7r9YUXZ6XXO$2c2UgiWUZXy+YeBZ6K0rMOP?{J};R5j2SXx z{i%K?G1-@b!9B@;5zQ(8&Oz-yA@RJk7<;CWmZzZX{mMXc;;cvX`&(%_TygBgoHvbr z(%jIFJz!nm@ux>PL}a7$9Fhg0BP{H6avd0Zg;1x4C5PwGa|Gp(>LKDC(6)!1_oX-I zdU6rO?TqD|yrOK5^9=-;QP*01p3svh1rAypJ2A4`n}!sXmiAyDB!}#$iXyXCI*h`H zz-7IL_u?cg%sqCMD6sK#pwa_29gvor7Gbr^!=nk7LiIVmI(EUE`izSC{T>^b*thpr za+q^d98%8CKY|Eawrq0>-DIN<$3<$;1=>*XRykupGX&(I&#`tG!0ot&Y_6!RERHM> z+5>e`yU@AJ{k570Jex%$7|H>5F)9c&d%$pQ#*51~OxDWaS+KQpZaQ(I2Qn)^`Ykz85!=X+%vJC>lX-UjNdDGjdNkrzkFwNxUB=zIofGrlsCEAFk9?E&JXo$`048w{ zm?F_&7-A{NA)YD6$Lhl0a0(rm6CWS%hGh1@=@>c*jE{@A`Zem(XYPsmDfs;8J3}KP zaxn<|1Bd{h&I}QeApu?LPlYVowqr;C(EAJ?0yEL$9;490%g}wDssE0{a3Fo?<{gt7 z7UeE9epXi?M}~4JQ}VcOQnbvUo$ohev zMUOf4_=gT167YH)(sa0N;tM`>68%ybV-}n}zv`r*1j({!v5xQ_66$~cwz{{LlMgw! z511gSubYtH!F1o^{a4-ana$My%0Ov5NQe$x6I>xDHe1X6W_U}?DzVutpP{aGR#Tha z9~}1>;~PbcA@e4sGUa^RLy_`qTq!r7@_M_!q>r$uI%d+wdB0H)$y#R2khapd{&9PH#DuF;OU0 zRH8lE92L77NWeNPwh=1x`yfdO|DLR$DGiyxYxHi6rVGIuslLB+um#zmEf;YhE*K#0 z&BPB1q#XVneJ54I8q+s7JB}H;w5CGACTKCeIDRRb0M?}Y(}foP>!8E3GLav;rp>mW zv4i{$AW{@|KOm>0zgq@>zsDwqAX3VP>$Fq9(1irg8^+k(B&A8SW?cBg%-N4v-b}>K zjI#_|d8Z^2L7GdYy7gtf1nn!GWAF1dT-f%&kuVSj!AAQzQbpr=0Ei$vH}|VwYy9}Z z%b#rL?q67$J~VtMR!v&*lgLrfh^iA&9TlEgQ(eW6*eT4YKmEE)6kK3^tDor94NmKy zFkaJIyVXj(BCR#dg1^a2=w<}dkU{5S z-olwrepIzF#a2>v!QvzvI_k2!KQPx

ISI1v)T<+4K@om!!PpUqp5#FhTUtVZ%;= zR^%@yLV<|k-Xx?0`=gsW&(8$=yXz}|vYDHbzvBeGLeAk++ys%O9vQZa6EDAdUjL~e zw4BmBC>vc}>mdRV-jm0i5|pcL13nSY09AVN1={8rt9oyvS4yn_@L`(qqbqd%Il|O4 zHOO!mL!`|-N5^QBq4f~FBQQERV$G7!DwH`ClL^hvfVzHzv|V_+LdaFK#ASCD&n1FqF;6usO0+5+`)&bpZ0PFxqOX5ANf)z;Tq%lo`jhz9x%`X4)9bq;SbG#wXw_`u)D9lwHQ1q zm>q-<@H0)M9@jM6Qd%W27y3Vy0Ys#vv>c9UN9<)^!^^*b}a%rv3!uhDA3RW%`x`)qd;{avGf32S*k( zaXirDGNfDrC;%Erb`Rn^m}c=e+}YcMSmAlv;K8x*S&ZCFk9|MvOP!eS50-HlVL!?^7aN$?@x&W07U|V_Ubb$P+&Ar zee|oku2r-*eQ^`M6gt-@2zG*+=zd0}W5>w=9r7d?1-IdcU8~`3#`;Hxma&E=O zx-iXu0wI!e6XghtcOy?Gw?$ z{|iuD0#`fn#fR{#U#9EoLJqYu$~?o!#(*ImSL+Yyj~~yRde{ppALWRo`Eqc&=4X)L zXZXoB>b7}fSs6p2kU1!#xBI5qK`A4fTnrDN<(qnXW&@}mnnFB`LTvFSui=aF2^4yq zaBB-;X87uJ<1T%A!t;ZG>>sK0l1oJ#h(Z{HLxr)+!*jIqkf5o{xkG!W>aHJf6@?;% zO#aHr|6^{uUBmOGMC#GSv^P}QUzaY$FQS7WhuV6^II<*@B-Z}98RERkH!&QP{n*f|G&(?l3t~oHIm!^G-Vph$hsWeS8~c76p(NSo z8go3=$N;A}bl}*wAe(|mM9;_~1>+B9suVH~`B|z{ zZJ?RP|BaN87(xUD%rFCS)xs#*G0HIzHKTL-`Me5`3;}>+_>uKmxpJblzC3sFvSpKC z4j>z|n3b^pJdSo)k80lZS6?1N5gA~c)T2Q`t6OT>D&@>vfg}g=F7O`+q90eEGWNEA zM*(F(fM_jul2!IUOcf|l0%irZp|Nm%f^{H9jZL48>lrA76!0`mZRXk{D`qZ&9@obP rhLtjZT(#uvAN$oe;Q60@1C_NW?N(o6ka(uxzezgN#+}t(u<8E*D=F$7 diff --git a/ui-tests/test/mobile.spec.ts-snapshots/notebook-chromium-linux.png b/ui-tests/test/mobile.spec.ts-snapshots/notebook-chromium-linux.png index 4dd10c34ce84991358ad2d7048fb5f997921331c..3b05e5370355c7f188a093aa311143c20301221d 100644 GIT binary patch literal 12483 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 LvdlZ|`rH2jWSlO^ literal 12203 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 z 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 G!T$lFl=~9^ literal 17802 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 diff --git a/ui-tests/test/mobile.spec.ts-snapshots/tree-chromium-linux.png b/ui-tests/test/mobile.spec.ts-snapshots/tree-chromium-linux.png index 0ea79afbb6d4cd2a103b23db56dca25ac68d6acc..38244f82e4d08884ebecce866c4c305ad5b29dbe 100644 GIT binary patch literal 21683 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 literal 21571 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 dV~M+DB5BX1TV8Gk0r= Date: Wed, 5 Oct 2022 22:59:36 +0200 Subject: [PATCH 48/57] Update toc snapshot for Firefox --- .../toc-left-panel-firefox-linux.png | Bin 8450 -> 10882 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/ui-tests/test/notebook.spec.ts-snapshots/toc-left-panel-firefox-linux.png b/ui-tests/test/notebook.spec.ts-snapshots/toc-left-panel-firefox-linux.png index 14a9fb1154aa780b31be90955284a7de074c4091..a952731615994827479e47887bc1221242270463 100644 GIT binary patch literal 10882 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 literal 8450 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 j=M40p%>4gFiFQ;uXSrMI*!&dW> Date: Wed, 5 Oct 2022 23:30:53 +0200 Subject: [PATCH 49/57] Remove shutdownAll in the menu tests --- ui-tests/test/menus.spec.ts | 4 ---- 1 file changed, 4 deletions(-) diff --git a/ui-tests/test/menus.spec.ts b/ui-tests/test/menus.spec.ts index f1c1b95af3..21263075f9 100644 --- a/ui-tests/test/menus.spec.ts +++ b/ui-tests/test/menus.spec.ts @@ -32,10 +32,6 @@ test.describe('Notebook Menus', () => { ); }); - test.afterEach(async ({ page }) => { - await page.kernel.shutdownAll(); - }); - MENU_PATHS.forEach(menuPath => { test(`Open menu item ${menuPath}`, async ({ page, tmpPath }) => { await page.goto(`notebooks/${tmpPath}/${NOTEBOOK}`); From f6b65e3baee49e830271f4e4d97400c669547738 Mon Sep 17 00:00:00 2001 From: Jeremy Tuloup Date: Thu, 6 Oct 2022 08:31:33 +0200 Subject: [PATCH 50/57] Tweak menu tests --- ui-tests/test/menus.spec.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/ui-tests/test/menus.spec.ts b/ui-tests/test/menus.spec.ts index 21263075f9..d20d49a08c 100644 --- a/ui-tests/test/menus.spec.ts +++ b/ui-tests/test/menus.spec.ts @@ -25,7 +25,7 @@ const MENU_PATHS = [ test.use({ autoGoto: false }); test.describe('Notebook Menus', () => { - test.beforeEach(async ({ page, tmpPath }) => { + test.beforeAll(async ({ page, tmpPath }) => { await page.contents.uploadFile( path.resolve(__dirname, `./notebooks/${NOTEBOOK}`), `${tmpPath}/${NOTEBOOK}` @@ -40,7 +40,8 @@ test.describe('Notebook Menus', () => { const imageName = `opened-menu-${menuPath.replace(/>/g, '-')}.png`; const menu = await page.menu.getOpenMenu(); - expect(await menu.screenshot()).toMatchSnapshot(imageName.toLowerCase()); + expect(menu).toBeDefined(); + expect(await menu!.screenshot()).toMatchSnapshot(imageName.toLowerCase()); }); }); }); From d58345373282d2a8d767426ea734deda9e1de5fb Mon Sep 17 00:00:00 2001 From: Jeremy Tuloup Date: Thu, 6 Oct 2022 08:58:13 +0200 Subject: [PATCH 51/57] Try dispatching a resize message manually --- packages/application-extension/package.json | 1 + packages/application-extension/src/index.ts | 15 ++++++++++++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/packages/application-extension/package.json b/packages/application-extension/package.json index 1aae687f0c..771a5f187e 100644 --- a/packages/application-extension/package.json +++ b/packages/application-extension/package.json @@ -55,6 +55,7 @@ "@jupyterlab/translation": "^4.0.0-alpha.14", "@lumino/coreutils": "^2.0.0-alpha.6", "@lumino/disposable": "^2.0.0-alpha.6", + "@lumino/messaging": "^2.0.0-alpha.6", "@lumino/widgets": "^2.0.0-alpha.6" }, "devDependencies": { diff --git a/packages/application-extension/src/index.ts b/packages/application-extension/src/index.ts index 00011f8391..236997e291 100644 --- a/packages/application-extension/src/index.ts +++ b/packages/application-extension/src/index.ts @@ -50,6 +50,8 @@ import { IDisposable } from '@lumino/disposable'; +import { MessageLoop } from '@lumino/messaging'; + import { Menu, Widget } from '@lumino/widgets'; import { SideBarPalette } from './sidebarpalette'; @@ -201,7 +203,7 @@ const opener: JupyterFrontEndPlugin = { // TODO: fix upstream? await settingRegistry?.load('@jupyterlab/notebook-extension:panel'); - await new Promise(async () => { + await new Promise(async (resolve, reject) => { // TODO: get factory from file type instead? if (ext === '.ipynb') { docManager.open(file, NOTEBOOK_FACTORY, undefined, { @@ -212,7 +214,18 @@ const opener: JupyterFrontEndPlugin = { ref: '_noref' }); } + resolve(void 0); }); + + // force triggering a resize event to try fixing toolbar rendering issues: + // https://github.com/jupyter/notebook/issues/6553 + const currentWidget = app.shell.currentWidget; + if (currentWidget) { + MessageLoop.sendMessage( + currentWidget, + Widget.ResizeMessage.UnknownSize + ); + } } }); From 12119f97b355b3228e127b8fdc22ec529b052de2 Mon Sep 17 00:00:00 2001 From: Jeremy Tuloup Date: Thu, 6 Oct 2022 09:30:38 +0200 Subject: [PATCH 52/57] Fix what looks like a rebase issue --- packages/application-extension/package.json | 1 - packages/application-extension/src/index.ts | 49 +++------------------ ui-tests/test/menus.spec.ts | 2 +- 3 files changed, 8 insertions(+), 44 deletions(-) diff --git a/packages/application-extension/package.json b/packages/application-extension/package.json index 771a5f187e..1aae687f0c 100644 --- a/packages/application-extension/package.json +++ b/packages/application-extension/package.json @@ -55,7 +55,6 @@ "@jupyterlab/translation": "^4.0.0-alpha.14", "@lumino/coreutils": "^2.0.0-alpha.6", "@lumino/disposable": "^2.0.0-alpha.6", - "@lumino/messaging": "^2.0.0-alpha.6", "@lumino/widgets": "^2.0.0-alpha.6" }, "devDependencies": { diff --git a/packages/application-extension/src/index.ts b/packages/application-extension/src/index.ts index 236997e291..b1da7e05c2 100644 --- a/packages/application-extension/src/index.ts +++ b/packages/application-extension/src/index.ts @@ -50,22 +50,10 @@ import { IDisposable } from '@lumino/disposable'; -import { MessageLoop } from '@lumino/messaging'; - import { Menu, Widget } from '@lumino/widgets'; import { SideBarPalette } from './sidebarpalette'; -/** - * The default notebook factory. - */ -const NOTEBOOK_FACTORY = 'Notebook'; - -/** - * The editor factory. - */ -const EDITOR_FACTORY = 'Editor'; - /** * A regular expression to match path to notebooks and documents */ @@ -178,12 +166,10 @@ const opener: JupyterFrontEndPlugin = { id: '@jupyter-notebook/application-extension:opener', autoStart: true, requires: [IRouter, IDocumentManager], - optional: [ISettingRegistry], activate: ( app: JupyterFrontEnd, router: IRouter, - docManager: IDocumentManager, - settingRegistry: ISettingRegistry | null + docManager: IDocumentManager ): void => { const { commands } = app; @@ -198,34 +184,13 @@ const opener: JupyterFrontEndPlugin = { } const file = decodeURIComponent(path); - const ext = PathExt.extname(file); - - // TODO: fix upstream? - await settingRegistry?.load('@jupyterlab/notebook-extension:panel'); - - await new Promise(async (resolve, reject) => { - // TODO: get factory from file type instead? - if (ext === '.ipynb') { - docManager.open(file, NOTEBOOK_FACTORY, undefined, { - ref: '_noref' - }); - } else { - docManager.open(file, EDITOR_FACTORY, undefined, { - ref: '_noref' - }); - } - resolve(void 0); + const urlParams = new URLSearchParams(parsed.search); + const factory = urlParams.get('factory') ?? 'default'; + app.started.then(async () => { + docManager.open(file, factory, undefined, { + ref: '_noref' + }); }); - - // force triggering a resize event to try fixing toolbar rendering issues: - // https://github.com/jupyter/notebook/issues/6553 - const currentWidget = app.shell.currentWidget; - if (currentWidget) { - MessageLoop.sendMessage( - currentWidget, - Widget.ResizeMessage.UnknownSize - ); - } } }); diff --git a/ui-tests/test/menus.spec.ts b/ui-tests/test/menus.spec.ts index d20d49a08c..330c67515e 100644 --- a/ui-tests/test/menus.spec.ts +++ b/ui-tests/test/menus.spec.ts @@ -25,7 +25,7 @@ const MENU_PATHS = [ test.use({ autoGoto: false }); test.describe('Notebook Menus', () => { - test.beforeAll(async ({ page, tmpPath }) => { + test.beforeEach(async ({ page, tmpPath }) => { await page.contents.uploadFile( path.resolve(__dirname, `./notebooks/${NOTEBOOK}`), `${tmpPath}/${NOTEBOOK}` From b893cf0d06e8a3740bb7eed5940f25ecb9166ded Mon Sep 17 00:00:00 2001 From: Jeremy Tuloup Date: Thu, 6 Oct 2022 09:53:56 +0200 Subject: [PATCH 53/57] Wait for kernel ready before menu screenshots --- ui-tests/test/menus.spec.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/ui-tests/test/menus.spec.ts b/ui-tests/test/menus.spec.ts index 330c67515e..7b957d3c92 100644 --- a/ui-tests/test/menus.spec.ts +++ b/ui-tests/test/menus.spec.ts @@ -6,6 +6,7 @@ import path from 'path'; import { test } from './fixtures'; import { expect } from '@playwright/test'; +import { waitForKernelReady } from './utils'; const NOTEBOOK = 'empty.ipynb'; @@ -35,6 +36,8 @@ test.describe('Notebook Menus', () => { MENU_PATHS.forEach(menuPath => { test(`Open menu item ${menuPath}`, async ({ page, tmpPath }) => { await page.goto(`notebooks/${tmpPath}/${NOTEBOOK}`); + await waitForKernelReady(page); + await page.menu.open(menuPath); expect(await page.menu.isOpen(menuPath)).toBeTruthy(); From 708928b2f067754eeb6c78603aca94e6b3e46dbe Mon Sep 17 00:00:00 2001 From: Jeremy Tuloup Date: Thu, 6 Oct 2022 10:26:56 +0200 Subject: [PATCH 54/57] Try resize workaround in tests for now Fix order of selectors --- ui-tests/test/mobile.spec.ts | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/ui-tests/test/mobile.spec.ts b/ui-tests/test/mobile.spec.ts index 2296060888..fd4eb17dc3 100644 --- a/ui-tests/test/mobile.spec.ts +++ b/ui-tests/test/mobile.spec.ts @@ -6,9 +6,10 @@ import path from 'path'; import { expect } from '@playwright/test'; import { test } from './fixtures'; + import { waitForKernelReady } from './utils'; -test.use({ autoGoto: false, viewport: { width: 524, height: 800 } }); +test.use({ autoGoto: false }); test.describe('Mobile', () => { test('The layout should be more compact on the file browser page', async ({ @@ -16,7 +17,13 @@ test.describe('Mobile', () => { tmpPath }) => { await page.goto(`tree/${tmpPath}`); + + // temporary workaround to trigger a toolbar resize + // TODO: investigate in https://github.com/jupyter/notebook/issues/6553 + await page.setViewportSize({ width: 524, height: 800 }); + await page.waitForSelector('#top-panel-wrapper', { state: 'hidden' }); + expect(await page.screenshot()).toMatchSnapshot('tree.png'); }); @@ -30,12 +37,14 @@ test.describe('Mobile', () => { `${tmpPath}/${notebook}` ); await page.goto(`notebooks/${tmpPath}/${notebook}`); - // TODO: investigate why this does not run the cells in Jupyter Notebook - // await page.notebook.run(); // wait for the kernel status animations to be finished await waitForKernelReady(page); + // temporary workaround to trigger a toolbar resize + // TODO: investigate in https://github.com/jupyter/notebook/issues/6553 + await page.setViewportSize({ width: 524, height: 800 }); + // force switching back to command mode to avoid capturing the cursor in the screenshot await page.evaluate(async () => { await window.jupyterapp.commands.execute('notebook:enter-command-mode'); From b4f520c58b357d298e131dc3f0690555548dcb9c Mon Sep 17 00:00:00 2001 From: Jeremy Tuloup Date: Thu, 6 Oct 2022 14:37:13 +0200 Subject: [PATCH 55/57] Drop unused async --- packages/application-extension/src/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/application-extension/src/index.ts b/packages/application-extension/src/index.ts index b1da7e05c2..486ec23f07 100644 --- a/packages/application-extension/src/index.ts +++ b/packages/application-extension/src/index.ts @@ -175,7 +175,7 @@ const opener: JupyterFrontEndPlugin = { const command = 'router:tree'; commands.addCommand(command, { - execute: async (args: any) => { + execute: (args: any) => { const parsed = args as IRouter.ILocation; const matches = parsed.path.match(TREE_PATTERN) ?? []; const [, , path] = matches; From 820ee988063894f666c46801a260426aae8e4e3c Mon Sep 17 00:00:00 2001 From: Jeremy Tuloup Date: Thu, 6 Oct 2022 14:43:36 +0200 Subject: [PATCH 56/57] Update kernel menu snapshot for firefox --- .../opened-menu-kernel-firefox-linux.png | Bin 24856 -> 22671 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/ui-tests/test/menus.spec.ts-snapshots/opened-menu-kernel-firefox-linux.png b/ui-tests/test/menus.spec.ts-snapshots/opened-menu-kernel-firefox-linux.png index 2832e5b53824b3878bd7df04c0cf18bf2565ce8f..27910d69f2efc4ce6bdaddbf5b46f06be2553034 100644 GIT binary patch literal 22671 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

ryH4>vJ`mlnFZZGlmM?Fv-cV#c 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 literal 24856 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 From 94eadd817a2b4974f463912f3bd908d972642823 Mon Sep 17 00:00:00 2001 From: Jeremy Tuloup Date: Thu, 6 Oct 2022 15:17:47 +0200 Subject: [PATCH 57/57] Remove `isEmpty` from the shell API (only used for tests) --- packages/application/src/shell.ts | 10 ---------- packages/application/test/shell.spec.ts | 26 +++++++++++++++---------- 2 files changed, 16 insertions(+), 20 deletions(-) diff --git a/packages/application/src/shell.ts b/packages/application/src/shell.ts index de80556d47..fc97e4393a 100644 --- a/packages/application/src/shell.ts +++ b/packages/application/src/shell.ts @@ -318,16 +318,6 @@ export class NotebookShell extends Widget implements JupyterFrontEnd.IShell { this._rightHandler.panel.hide(); } - /** - * Is a particular area empty (no widgets)? - * - * @param area Named area in the application - * @returns true if area has no widgets, false if at least one widget is present - */ - isEmpty(area: Shell.Area): boolean { - return Array.from(this.widgets(area)).length === 0; - } - private _topWrapper: Panel; private _topHandler: Private.PanelHandler; private _menuWrapper: Panel; diff --git a/packages/application/test/shell.spec.ts b/packages/application/test/shell.spec.ts index 87210aadc1..b419d0305c 100644 --- a/packages/application/test/shell.spec.ts +++ b/packages/application/test/shell.spec.ts @@ -29,9 +29,10 @@ describe('Shell for notebooks', () => { }); it('should make all areas empty initially', () => { - ['main', 'top', 'left', 'right', 'menu'].forEach(area => - expect(shell.isEmpty(area as Shell.Area)).toBe(true) - ); + ['main', 'top', 'left', 'right', 'menu'].forEach(area => { + const widgets = Array.from(shell.widgets(area as Shell.Area)); + expect(widgets.length).toEqual(0); + }); }); }); @@ -98,7 +99,8 @@ describe('Shell for notebooks', () => { const widget = new Widget(); widget.id = 'foo'; shell.add(widget, 'left'); - expect(shell.isEmpty('left')).toBe(false); + const widgets = Array.from(shell.widgets('left')); + expect(widgets.length).toBeGreaterThan(0); }); }); @@ -107,7 +109,8 @@ describe('Shell for notebooks', () => { const widget = new Widget(); widget.id = 'foo'; shell.add(widget, 'right'); - expect(shell.isEmpty('right')).toBe(false); + const widgets = Array.from(shell.widgets('right')); + expect(widgets.length).toBeGreaterThan(0); }); }); }); @@ -130,9 +133,10 @@ describe('Shell for tree view', () => { }); it('should make all areas empty initially', () => { - ['main', 'top', 'left', 'right', 'menu'].forEach(area => - expect(shell.isEmpty(area as Shell.Area)).toBe(true) - ); + ['main', 'top', 'left', 'right', 'menu'].forEach(area => { + const widgets = Array.from(shell.widgets(area as Shell.Area)); + expect(widgets.length).toEqual(0); + }); }); }); @@ -157,7 +161,8 @@ describe('Shell for tree view', () => { const widget = new Widget(); widget.id = 'foo'; shell.add(widget, 'left'); - expect(shell.isEmpty('left')).toBe(false); + const widgets = Array.from(shell.widgets('left')); + expect(widgets.length).toBeGreaterThan(0); }); }); @@ -166,7 +171,8 @@ describe('Shell for tree view', () => { const widget = new Widget(); widget.id = 'foo'; shell.add(widget, 'right'); - expect(shell.isEmpty('right')).toBe(false); + const widgets = Array.from(shell.widgets('right')); + expect(widgets.length).toBeGreaterThan(0); }); }); });