@theia/core 1.59.0 → 1.60.0-next.47
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -10
- package/lib/browser/about-dialog.d.ts.map +1 -1
- package/lib/browser/about-dialog.js +2 -1
- package/lib/browser/about-dialog.js.map +1 -1
- package/lib/browser/browser.d.ts +2 -0
- package/lib/browser/browser.d.ts.map +1 -1
- package/lib/browser/browser.js +6 -1
- package/lib/browser/browser.js.map +1 -1
- package/lib/browser/catalog.json +207 -16
- package/lib/browser/common-frontend-contribution.d.ts.map +1 -1
- package/lib/browser/common-frontend-contribution.js +24 -22
- package/lib/browser/common-frontend-contribution.js.map +1 -1
- package/lib/browser/common-styling-participants.js +25 -25
- package/lib/browser/menu/browser-context-menu-renderer.d.ts.map +1 -1
- package/lib/browser/menu/browser-context-menu-renderer.js +1 -2
- package/lib/browser/menu/browser-context-menu-renderer.js.map +1 -1
- package/lib/browser/menu/browser-menu-plugin.d.ts +5 -5
- package/lib/browser/menu/browser-menu-plugin.d.ts.map +1 -1
- package/lib/browser/menu/browser-menu-plugin.js +23 -13
- package/lib/browser/menu/browser-menu-plugin.js.map +1 -1
- package/lib/browser/preferences/injectable-preference-proxy.d.ts +1 -1
- package/lib/browser/preferences/injectable-preference-proxy.d.ts.map +1 -1
- package/lib/browser/preferences/preference-contribution.d.ts +1 -1
- package/lib/browser/preferences/preference-contribution.d.ts.map +1 -1
- package/lib/browser/preferences/preference-provider.d.ts +1 -1
- package/lib/browser/preferences/preference-provider.d.ts.map +1 -1
- package/lib/browser/preferences/preference-provider.js +1 -1
- package/lib/browser/preferences/preference-provider.js.map +1 -1
- package/lib/browser/preferences/preference-service.d.ts +1 -1
- package/lib/browser/preferences/preference-service.d.ts.map +1 -1
- package/lib/browser/preferences/preference-service.js +3 -3
- package/lib/browser/preferences/preference-service.js.map +1 -1
- package/lib/browser/preferences/preference-validation-service.d.ts +1 -1
- package/lib/browser/preferences/preference-validation-service.d.ts.map +1 -1
- package/lib/browser/saveable.d.ts +11 -3
- package/lib/browser/saveable.d.ts.map +1 -1
- package/lib/browser/saveable.js +2 -1
- package/lib/browser/saveable.js.map +1 -1
- package/lib/browser/shell/application-shell-mouse-tracker.d.ts +1 -1
- package/lib/browser/shell/application-shell-mouse-tracker.d.ts.map +1 -1
- package/lib/browser/shell/application-shell-mouse-tracker.js +3 -3
- package/lib/browser/shell/application-shell-mouse-tracker.js.map +1 -1
- package/lib/browser/shell/application-shell.d.ts +10 -7
- package/lib/browser/shell/application-shell.d.ts.map +1 -1
- package/lib/browser/shell/application-shell.js +24 -21
- package/lib/browser/shell/application-shell.js.map +1 -1
- package/lib/browser/shell/shell-layout-restorer.d.ts +1 -1
- package/lib/browser/shell/shell-layout-restorer.d.ts.map +1 -1
- package/lib/browser/shell/side-panel-handler.d.ts +2 -2
- package/lib/browser/shell/side-panel-handler.d.ts.map +1 -1
- package/lib/browser/shell/side-panel-handler.js +11 -11
- package/lib/browser/shell/side-panel-handler.js.map +1 -1
- package/lib/browser/shell/side-panel-toolbar.d.ts +2 -2
- package/lib/browser/shell/side-panel-toolbar.d.ts.map +1 -1
- package/lib/browser/shell/side-panel-toolbar.js +1 -1
- package/lib/browser/shell/side-panel-toolbar.js.map +1 -1
- package/lib/browser/shell/split-panels.d.ts +1 -1
- package/lib/browser/shell/split-panels.d.ts.map +1 -1
- package/lib/browser/shell/split-panels.js +1 -1
- package/lib/browser/shell/split-panels.js.map +1 -1
- package/lib/browser/shell/tab-bar-decorator.d.ts +1 -1
- package/lib/browser/shell/tab-bar-decorator.d.ts.map +1 -1
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar.d.ts +1 -1
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar.d.ts.map +1 -1
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar.js +1 -1
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar.js.map +1 -1
- package/lib/browser/shell/tab-bars.d.ts +18 -12
- package/lib/browser/shell/tab-bars.d.ts.map +1 -1
- package/lib/browser/shell/tab-bars.js +79 -51
- package/lib/browser/shell/tab-bars.js.map +1 -1
- package/lib/browser/shell/tab-bars.spec.js +1 -1
- package/lib/browser/shell/tab-bars.spec.js.map +1 -1
- package/lib/browser/shell/theia-dock-panel.d.ts +2 -2
- package/lib/browser/shell/theia-dock-panel.d.ts.map +1 -1
- package/lib/browser/shell/theia-dock-panel.js +3 -3
- package/lib/browser/shell/theia-dock-panel.js.map +1 -1
- package/lib/browser/shell/view-column-service.d.ts +1 -1
- package/lib/browser/shell/view-column-service.d.ts.map +1 -1
- package/lib/browser/shell/view-column-service.js +1 -1
- package/lib/browser/shell/view-column-service.js.map +1 -1
- package/lib/browser/shell/view-contribution.d.ts +1 -1
- package/lib/browser/shell/view-contribution.d.ts.map +1 -1
- package/lib/browser/source-tree/source-tree.d.ts.map +1 -1
- package/lib/browser/source-tree/source-tree.js +3 -2
- package/lib/browser/source-tree/source-tree.js.map +1 -1
- package/lib/browser/source-tree/tree-source.d.ts +1 -0
- package/lib/browser/source-tree/tree-source.d.ts.map +1 -1
- package/lib/browser/source-tree/tree-source.js.map +1 -1
- package/lib/browser/tree/tree-widget.d.ts +1 -1
- package/lib/browser/tree/tree-widget.d.ts.map +1 -1
- package/lib/browser/tree/tree-widget.js +1 -1
- package/lib/browser/tree/tree-widget.js.map +1 -1
- package/lib/browser/view-container.d.ts +6 -7
- package/lib/browser/view-container.d.ts.map +1 -1
- package/lib/browser/view-container.js +25 -25
- package/lib/browser/view-container.js.map +1 -1
- package/lib/browser/widget-manager.d.ts +1 -1
- package/lib/browser/widget-manager.d.ts.map +1 -1
- package/lib/browser/widget-manager.js +1 -1
- package/lib/browser/widget-manager.js.map +1 -1
- package/lib/browser/widget-manager.spec.js +1 -1
- package/lib/browser/widget-manager.spec.js.map +1 -1
- package/lib/browser/widgets/react-widget.d.ts +1 -1
- package/lib/browser/widgets/react-widget.d.ts.map +1 -1
- package/lib/browser/widgets/react-widget.js +1 -1
- package/lib/browser/widgets/react-widget.js.map +1 -1
- package/lib/browser/widgets/widget.d.ts +9 -8
- package/lib/browser/widgets/widget.d.ts.map +1 -1
- package/lib/browser/widgets/widget.js +7 -9
- package/lib/browser/widgets/widget.js.map +1 -1
- package/lib/common/json-schema.d.ts +1 -1
- package/lib/common/json-schema.d.ts.map +1 -1
- package/lib/common/preferences/preference-schema.d.ts +4 -1
- package/lib/common/preferences/preference-schema.d.ts.map +1 -1
- package/lib/common/preferences/preference-schema.js.map +1 -1
- package/lib/common/theme.d.ts +2 -0
- package/lib/common/theme.d.ts.map +1 -1
- package/lib/common/theme.js +5 -1
- package/lib/common/theme.js.map +1 -1
- package/lib/electron-browser/menu/electron-menu-contribution.d.ts +1 -1
- package/lib/electron-browser/menu/electron-menu-contribution.d.ts.map +1 -1
- package/lib/electron-browser/menu/electron-menu-contribution.js +6 -4
- package/lib/electron-browser/menu/electron-menu-contribution.js.map +1 -1
- package/lib/electron-browser/preload.d.ts.map +1 -1
- package/lib/electron-browser/preload.js +3 -0
- package/lib/electron-browser/preload.js.map +1 -1
- package/lib/electron-common/electron-api.d.ts +3 -0
- package/lib/electron-common/electron-api.d.ts.map +1 -1
- package/lib/electron-common/electron-api.js +2 -1
- package/lib/electron-common/electron-api.js.map +1 -1
- package/lib/electron-main/electron-api-main.d.ts.map +1 -1
- package/lib/electron-main/electron-api-main.js +1 -0
- package/lib/electron-main/electron-api-main.js.map +1 -1
- package/lib/electron-main/electron-main-application.d.ts +2 -0
- package/lib/electron-main/electron-main-application.d.ts.map +1 -1
- package/lib/electron-main/electron-main-application.js +3 -0
- package/lib/electron-main/electron-main-application.js.map +1 -1
- package/lib/node/messaging/websocket-frontend-connection-service.js +1 -1
- package/package.json +24 -24
- package/shared/@lumino/algorithm/index.d.ts +1 -0
- package/shared/@lumino/algorithm/index.js +1 -0
- package/shared/@lumino/commands/index.d.ts +1 -0
- package/shared/@lumino/commands/index.js +1 -0
- package/shared/@lumino/coreutils/index.d.ts +1 -0
- package/shared/@lumino/coreutils/index.js +1 -0
- package/shared/@lumino/domutils/index.d.ts +1 -0
- package/shared/@lumino/domutils/index.js +1 -0
- package/shared/@lumino/dragdrop/index.d.ts +1 -0
- package/shared/@lumino/dragdrop/index.js +1 -0
- package/shared/@lumino/messaging/index.d.ts +1 -0
- package/shared/@lumino/messaging/index.js +1 -0
- package/shared/@lumino/properties/index.d.ts +1 -0
- package/shared/@lumino/properties/index.js +1 -0
- package/shared/@lumino/signaling/index.d.ts +1 -0
- package/shared/@lumino/signaling/index.js +1 -0
- package/shared/@lumino/virtualdom/index.d.ts +1 -0
- package/shared/@lumino/virtualdom/index.js +1 -0
- package/shared/@lumino/widgets/index.d.ts +1 -0
- package/shared/@lumino/widgets/index.js +1 -0
- package/src/browser/about-dialog.tsx +2 -1
- package/src/browser/browser.ts +6 -1
- package/src/browser/common-frontend-contribution.ts +24 -22
- package/src/browser/common-styling-participants.ts +25 -25
- package/src/browser/menu/browser-context-menu-renderer.ts +1 -2
- package/src/browser/menu/browser-menu-plugin.ts +24 -14
- package/src/browser/preferences/injectable-preference-proxy.ts +1 -1
- package/src/browser/preferences/preference-contribution.ts +1 -1
- package/src/browser/preferences/preference-provider.ts +1 -1
- package/src/browser/preferences/preference-service.ts +1 -1
- package/src/browser/preferences/preference-validation-service.spec.ts +1 -1
- package/src/browser/preferences/preference-validation-service.ts +1 -1
- package/src/browser/saveable.ts +13 -3
- package/src/browser/shell/application-shell-mouse-tracker.ts +3 -3
- package/src/browser/shell/application-shell.ts +36 -32
- package/src/browser/shell/shell-layout-restorer.ts +1 -1
- package/src/browser/shell/side-panel-handler.ts +11 -11
- package/src/browser/shell/side-panel-toolbar.ts +2 -2
- package/src/browser/shell/split-panels.ts +1 -1
- package/src/browser/shell/tab-bar-decorator.ts +1 -1
- package/src/browser/shell/tab-bar-toolbar/tab-bar-toolbar.tsx +1 -1
- package/src/browser/shell/tab-bars.spec.ts +1 -1
- package/src/browser/shell/tab-bars.ts +92 -57
- package/src/browser/shell/theia-dock-panel.ts +3 -3
- package/src/browser/shell/view-column-service.ts +2 -2
- package/src/browser/shell/view-contribution.ts +1 -1
- package/src/browser/source-tree/source-tree.ts +3 -2
- package/src/browser/source-tree/tree-source.ts +1 -0
- package/src/browser/style/dialog.css +12 -12
- package/src/browser/style/dockpanel.css +19 -19
- package/src/browser/style/hover-service.css +1 -0
- package/src/browser/style/index.css +5 -3
- package/src/browser/style/menus.css +34 -31
- package/src/browser/style/sidepanel.css +52 -48
- package/src/browser/style/split-widget.css +5 -5
- package/src/browser/style/tabs.css +91 -97
- package/src/browser/style/view-container.css +14 -14
- package/src/browser/tree/tree-widget.tsx +2 -2
- package/src/browser/view-container.ts +34 -34
- package/src/browser/widget-manager.spec.ts +1 -1
- package/src/browser/widget-manager.ts +1 -1
- package/src/browser/widgets/react-widget.tsx +1 -1
- package/src/browser/widgets/widget.ts +18 -15
- package/src/common/json-schema.ts +1 -1
- package/src/common/preferences/preference-schema.ts +4 -1
- package/src/common/theme.ts +6 -0
- package/src/electron-browser/menu/electron-menu-contribution.ts +6 -5
- package/src/electron-browser/preload.ts +6 -3
- package/src/electron-common/electron-api.ts +3 -0
- package/src/electron-main/electron-api-main.ts +4 -1
- package/src/electron-main/electron-main-application.ts +5 -0
- package/src/node/messaging/websocket-frontend-connection-service.ts +1 -2
- package/shared/@phosphor/algorithm/index.d.ts +0 -1
- package/shared/@phosphor/algorithm/index.js +0 -1
- package/shared/@phosphor/commands/index.d.ts +0 -1
- package/shared/@phosphor/commands/index.js +0 -1
- package/shared/@phosphor/coreutils/index.d.ts +0 -1
- package/shared/@phosphor/coreutils/index.js +0 -1
- package/shared/@phosphor/domutils/index.d.ts +0 -1
- package/shared/@phosphor/domutils/index.js +0 -1
- package/shared/@phosphor/dragdrop/index.d.ts +0 -1
- package/shared/@phosphor/dragdrop/index.js +0 -1
- package/shared/@phosphor/messaging/index.d.ts +0 -1
- package/shared/@phosphor/messaging/index.js +0 -1
- package/shared/@phosphor/properties/index.d.ts +0 -1
- package/shared/@phosphor/properties/index.js +0 -1
- package/shared/@phosphor/signaling/index.d.ts +0 -1
- package/shared/@phosphor/signaling/index.js +0 -1
- package/shared/@phosphor/virtualdom/index.d.ts +0 -1
- package/shared/@phosphor/virtualdom/index.js +0 -1
- package/shared/@phosphor/widgets/index.d.ts +0 -1
- package/shared/@phosphor/widgets/index.js +0 -1
|
@@ -15,9 +15,8 @@
|
|
|
15
15
|
// *****************************************************************************
|
|
16
16
|
|
|
17
17
|
import { injectable, inject } from 'inversify';
|
|
18
|
-
import { Menu, MenuBar, Menu as MenuWidget, Widget } from '@
|
|
19
|
-
import { CommandRegistry as
|
|
20
|
-
import { ElementExt } from '@phosphor/domutils';
|
|
18
|
+
import { Menu, MenuBar, Menu as MenuWidget, Widget } from '@lumino/widgets';
|
|
19
|
+
import { CommandRegistry as LuminoCommandRegistry } from '@lumino/commands';
|
|
21
20
|
import {
|
|
22
21
|
CommandRegistry, environment, DisposableCollection, Disposable,
|
|
23
22
|
MenuModelRegistry, MAIN_MENU_BAR, MenuPath, MenuNode, MenuCommandExecutor, CompoundMenuNode, CompoundMenuNodeRole, CommandMenuNode,
|
|
@@ -32,6 +31,7 @@ import { Message, waitForRevealed } from '../widgets';
|
|
|
32
31
|
import { ApplicationShell } from '../shell';
|
|
33
32
|
import { CorePreferences } from '../core-preferences';
|
|
34
33
|
import { PreferenceService } from '../preferences/preference-service';
|
|
34
|
+
import { ElementExt } from '@lumino/domutils';
|
|
35
35
|
|
|
36
36
|
export abstract class MenuBarWidget extends MenuBar {
|
|
37
37
|
abstract activateMenu(label: string, ...labels: string[]): Promise<MenuWidget>;
|
|
@@ -161,7 +161,7 @@ export class BrowserMainMenuFactory implements MenuWidgetFactory {
|
|
|
161
161
|
}
|
|
162
162
|
|
|
163
163
|
export function isMenuElement(element: HTMLElement | null): boolean {
|
|
164
|
-
return !!element && element.className.includes('
|
|
164
|
+
return !!element && element.className.includes('lm-Menu');
|
|
165
165
|
}
|
|
166
166
|
|
|
167
167
|
export class DynamicMenuBarWidget extends MenuBarWidget {
|
|
@@ -181,7 +181,8 @@ export class DynamicMenuBarWidget extends MenuBarWidget {
|
|
|
181
181
|
// We want to save the focus object for the former case only.
|
|
182
182
|
if (!this.childMenu) {
|
|
183
183
|
const { activeElement } = document;
|
|
184
|
-
|
|
184
|
+
// we do not want to restore focus to menus
|
|
185
|
+
if (activeElement instanceof HTMLElement && !isMenuElement(activeElement)) {
|
|
185
186
|
this.previousFocusedElement = activeElement;
|
|
186
187
|
}
|
|
187
188
|
}
|
|
@@ -322,14 +323,14 @@ export class DynamicMenuWidget extends MenuWidget {
|
|
|
322
323
|
});
|
|
323
324
|
}
|
|
324
325
|
|
|
325
|
-
public override open(x: number, y: number, options?: MenuWidget.IOpenOptions
|
|
326
|
+
public override open(x: number, y: number, options?: MenuWidget.IOpenOptions): void {
|
|
326
327
|
const cb = () => {
|
|
327
328
|
this.restoreFocusedElement();
|
|
328
329
|
this.aboutToClose.disconnect(cb);
|
|
329
330
|
};
|
|
330
331
|
this.aboutToClose.connect(cb);
|
|
331
332
|
this.preserveFocusedElement();
|
|
332
|
-
super.open(x, y, options
|
|
333
|
+
super.open(x, y, options);
|
|
333
334
|
}
|
|
334
335
|
|
|
335
336
|
protected updateSubMenus(parent: MenuWidget, menu: CompoundMenuNode, commands: MenuCommandRegistry): void {
|
|
@@ -337,6 +338,13 @@ export class DynamicMenuWidget extends MenuWidget {
|
|
|
337
338
|
while (items[items.length - 1]?.type === 'separator') {
|
|
338
339
|
items.pop();
|
|
339
340
|
}
|
|
341
|
+
// Add at least one entry to avoid empty menus.
|
|
342
|
+
// This is needed as Lumino does all kind of checks whether a menu is empty and for example prevents activating it
|
|
343
|
+
// This item will be cleared once the menu is opened via the next update as we don't have empty main menus
|
|
344
|
+
// See https://github.com/jupyterlab/lumino/issues/729
|
|
345
|
+
if (items.length === 0) {
|
|
346
|
+
items.push({ type: 'separator' });
|
|
347
|
+
}
|
|
340
348
|
for (const item of items) {
|
|
341
349
|
parent.addItem(item);
|
|
342
350
|
}
|
|
@@ -382,7 +390,7 @@ export class DynamicMenuWidget extends MenuWidget {
|
|
|
382
390
|
}
|
|
383
391
|
|
|
384
392
|
protected preserveFocusedElement(previousFocusedElement: Element | null = document.activeElement): boolean {
|
|
385
|
-
if (!this.previousFocusedElement && previousFocusedElement instanceof HTMLElement) {
|
|
393
|
+
if (!this.previousFocusedElement && previousFocusedElement instanceof HTMLElement && !isMenuElement(previousFocusedElement)) {
|
|
386
394
|
this.previousFocusedElement = previousFocusedElement;
|
|
387
395
|
return true;
|
|
388
396
|
}
|
|
@@ -401,14 +409,16 @@ export class DynamicMenuWidget extends MenuWidget {
|
|
|
401
409
|
protected runWithPreservedFocusContext(what: () => void): void {
|
|
402
410
|
let focusToRestore: HTMLElement | undefined = undefined;
|
|
403
411
|
const { activeElement } = document;
|
|
404
|
-
if (this.previousFocusedElement &&
|
|
412
|
+
if (this.previousFocusedElement &&
|
|
413
|
+
activeElement instanceof HTMLElement &&
|
|
414
|
+
this.previousFocusedElement !== activeElement) {
|
|
405
415
|
focusToRestore = activeElement;
|
|
406
416
|
this.previousFocusedElement.focus({ preventScroll: true });
|
|
407
417
|
}
|
|
408
418
|
try {
|
|
409
419
|
what();
|
|
410
420
|
} finally {
|
|
411
|
-
if (focusToRestore) {
|
|
421
|
+
if (focusToRestore && !isMenuElement(focusToRestore)) {
|
|
412
422
|
focusToRestore.focus({ preventScroll: true });
|
|
413
423
|
}
|
|
414
424
|
}
|
|
@@ -465,9 +475,9 @@ export class BrowserMenuBarContribution implements FrontendApplicationContributi
|
|
|
465
475
|
}
|
|
466
476
|
|
|
467
477
|
/**
|
|
468
|
-
* Stores Theia-specific action menu nodes instead of
|
|
478
|
+
* Stores Theia-specific action menu nodes instead of Lumino commands with their handlers.
|
|
469
479
|
*/
|
|
470
|
-
export class MenuCommandRegistry extends
|
|
480
|
+
export class MenuCommandRegistry extends LuminoCommandRegistry {
|
|
471
481
|
|
|
472
482
|
protected actions = new Map<string, [MenuNode & CommandMenuNode, unknown[]]>();
|
|
473
483
|
protected toDispose = new DisposableCollection();
|
|
@@ -516,7 +526,7 @@ export class MenuCommandRegistry extends PhosphorCommandRegistry {
|
|
|
516
526
|
const unregisterCommand = this.addCommand(id, {
|
|
517
527
|
execute: () => commandExecutor.executeCommand(menuPath, id, ...args),
|
|
518
528
|
label: menu.label,
|
|
519
|
-
|
|
529
|
+
iconClass: menu.icon,
|
|
520
530
|
isEnabled: () => enabled,
|
|
521
531
|
isVisible: () => visible,
|
|
522
532
|
isToggled: () => toggled
|
|
@@ -532,7 +542,7 @@ export class MenuCommandRegistry extends PhosphorCommandRegistry {
|
|
|
532
542
|
this.addKeyBinding({
|
|
533
543
|
command: id,
|
|
534
544
|
keys,
|
|
535
|
-
selector: '.
|
|
545
|
+
selector: '.lm-Widget' // We have the Lumino dependency anyway.
|
|
536
546
|
});
|
|
537
547
|
}
|
|
538
548
|
return Disposable.create(() => unregisterCommand.dispose());
|
|
@@ -19,7 +19,7 @@ import { PreferenceSchema } from '../../common/preferences/preference-schema';
|
|
|
19
19
|
import { Disposable, DisposableCollection, Emitter, Event, isObject, MaybePromise } from '../../common';
|
|
20
20
|
import { PreferenceChangeEvent, PreferenceEventEmitter, PreferenceProxy, PreferenceProxyOptions, PreferenceRetrieval } from './preference-proxy';
|
|
21
21
|
import { PreferenceChange, PreferenceChangeImpl, PreferenceChanges, PreferenceScope, PreferenceService } from './preference-service';
|
|
22
|
-
import { JSONValue } from '@
|
|
22
|
+
import { JSONValue } from '@lumino/coreutils';
|
|
23
23
|
import { PreferenceProviderDataChange } from './preference-provider';
|
|
24
24
|
import { OverridePreferenceName } from './preference-language-override-service';
|
|
25
25
|
|
|
@@ -28,7 +28,7 @@ import { bindPreferenceConfigurations, PreferenceConfigurations } from './prefer
|
|
|
28
28
|
export { PreferenceSchema, PreferenceSchemaProperties, PreferenceDataSchema, PreferenceItem, PreferenceSchemaProperty, PreferenceDataProperty };
|
|
29
29
|
import { isObject, Mutable } from '../../common/types';
|
|
30
30
|
import { PreferenceLanguageOverrideService } from './preference-language-override-service';
|
|
31
|
-
import { JSONValue } from '@
|
|
31
|
+
import { JSONValue } from '@lumino/coreutils';
|
|
32
32
|
|
|
33
33
|
/* eslint-disable guard-for-in, @typescript-eslint/no-explicit-any */
|
|
34
34
|
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
|
|
19
19
|
import debounce = require('p-debounce');
|
|
20
20
|
import { injectable, inject } from 'inversify';
|
|
21
|
-
import { JSONExt, JSONValue } from '@
|
|
21
|
+
import { JSONExt, JSONValue } from '@lumino/coreutils';
|
|
22
22
|
import URI from '../../common/uri';
|
|
23
23
|
import { Disposable, DisposableCollection, Emitter, Event, isObject } from '../../common';
|
|
24
24
|
import { Deferred } from '../../common/promise-util';
|
|
@@ -24,7 +24,7 @@ import { PreferenceSchemaProvider } from './preference-contribution';
|
|
|
24
24
|
import URI from '../../common/uri';
|
|
25
25
|
import { PreferenceScope } from './preference-scope';
|
|
26
26
|
import { PreferenceConfigurations } from './preference-configurations';
|
|
27
|
-
import { JSONExt, JSONValue } from '@
|
|
27
|
+
import { JSONExt, JSONValue } from '@lumino/coreutils';
|
|
28
28
|
import { OverridePreferenceName, PreferenceLanguageOverrideService } from './preference-language-override-service';
|
|
29
29
|
|
|
30
30
|
export { PreferenceScope };
|
|
@@ -19,7 +19,7 @@ import { PreferenceValidationService } from './preference-validation-service';
|
|
|
19
19
|
import { PreferenceItem, PreferenceSchemaProvider } from './preference-contribution';
|
|
20
20
|
import { PreferenceLanguageOverrideService } from './preference-language-override-service';
|
|
21
21
|
import * as assert from 'assert';
|
|
22
|
-
import { JSONValue } from '@
|
|
22
|
+
import { JSONValue } from '@lumino/coreutils';
|
|
23
23
|
import { IJSONSchema, JsonType } from '../../common/json-schema';
|
|
24
24
|
|
|
25
25
|
/* eslint-disable no-null/no-null */
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
// *****************************************************************************
|
|
16
16
|
|
|
17
17
|
import { PreferenceItem } from '../../common/preferences/preference-schema';
|
|
18
|
-
import { JSONObject, JSONValue } from '../../../shared/@
|
|
18
|
+
import { JSONObject, JSONValue } from '../../../shared/@lumino/coreutils';
|
|
19
19
|
import { PreferenceSchemaProvider } from './preference-contribution';
|
|
20
20
|
import { PreferenceLanguageOverrideService } from './preference-language-override-service';
|
|
21
21
|
import { inject, injectable } from '../../../shared/inversify';
|
package/src/browser/saveable.ts
CHANGED
|
@@ -14,14 +14,14 @@
|
|
|
14
14
|
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
15
15
|
// *****************************************************************************
|
|
16
16
|
|
|
17
|
-
import { Widget } from '@
|
|
18
|
-
import { Message } from '@
|
|
17
|
+
import { Widget } from '@lumino/widgets';
|
|
18
|
+
import { Message } from '@lumino/messaging';
|
|
19
19
|
import { Emitter, Event } from '../common/event';
|
|
20
20
|
import { MaybePromise } from '../common/types';
|
|
21
21
|
import { Key } from './keyboard/keys';
|
|
22
22
|
import { AbstractDialog } from './dialogs';
|
|
23
23
|
import { nls } from '../common/nls';
|
|
24
|
-
import { Disposable, DisposableCollection, isObject } from '../common';
|
|
24
|
+
import { Disposable, DisposableCollection, isObject, URI } from '../common';
|
|
25
25
|
import { BinaryBuffer } from '../common/buffer';
|
|
26
26
|
|
|
27
27
|
export type AutoSaveMode = 'off' | 'afterDelay' | 'onFocusChange' | 'onWindowChange';
|
|
@@ -44,6 +44,10 @@ export interface Saveable {
|
|
|
44
44
|
* Saves dirty changes.
|
|
45
45
|
*/
|
|
46
46
|
save(options?: SaveOptions): MaybePromise<void>;
|
|
47
|
+
/**
|
|
48
|
+
* Performs the save operation with a new file name.
|
|
49
|
+
*/
|
|
50
|
+
saveAs?(options: SaveAsOptions): MaybePromise<void>;
|
|
47
51
|
/**
|
|
48
52
|
* Reverts dirty changes.
|
|
49
53
|
*/
|
|
@@ -87,6 +91,7 @@ export class DelegatingSaveable implements Saveable {
|
|
|
87
91
|
createSnapshot?(): Saveable.Snapshot;
|
|
88
92
|
applySnapshot?(snapshot: object): void;
|
|
89
93
|
serialize?(): Promise<BinaryBuffer>;
|
|
94
|
+
saveAs?(options: SaveAsOptions): MaybePromise<void>;
|
|
90
95
|
|
|
91
96
|
protected _delegate?: Saveable;
|
|
92
97
|
protected toDispose = new DisposableCollection();
|
|
@@ -110,6 +115,7 @@ export class DelegatingSaveable implements Saveable {
|
|
|
110
115
|
this.createSnapshot = delegate.createSnapshot?.bind(delegate);
|
|
111
116
|
this.applySnapshot = delegate.applySnapshot?.bind(delegate);
|
|
112
117
|
this.serialize = delegate.serialize?.bind(delegate);
|
|
118
|
+
this.saveAs = delegate.saveAs?.bind(delegate);
|
|
113
119
|
}
|
|
114
120
|
|
|
115
121
|
}
|
|
@@ -341,6 +347,10 @@ export interface SaveOptions {
|
|
|
341
347
|
readonly saveReason?: SaveReason;
|
|
342
348
|
}
|
|
343
349
|
|
|
350
|
+
export interface SaveAsOptions extends SaveOptions {
|
|
351
|
+
readonly target: URI;
|
|
352
|
+
}
|
|
353
|
+
|
|
344
354
|
/**
|
|
345
355
|
* The class name added to the dirty widget's title.
|
|
346
356
|
*/
|
|
@@ -19,7 +19,7 @@ import { ApplicationShell } from './application-shell';
|
|
|
19
19
|
import { injectable, inject } from 'inversify';
|
|
20
20
|
import { DisposableCollection, Disposable } from '../../common/disposable';
|
|
21
21
|
import { Emitter, Event } from '../../common/event';
|
|
22
|
-
import { FocusTracker, PanelLayout, SplitPanel } from '@
|
|
22
|
+
import { FocusTracker, PanelLayout, SplitPanel } from '@lumino/widgets';
|
|
23
23
|
import { addEventListener, Widget } from '../widgets';
|
|
24
24
|
/**
|
|
25
25
|
* Contribution that tracks `mouseup` and `mousedown` events.
|
|
@@ -44,7 +44,7 @@ export class ApplicationShellMouseTracker implements FrontendApplicationContribu
|
|
|
44
44
|
protected readonly mousedownListener: (e: MouseEvent) => void = e => this.mousedownEmitter.fire(e);
|
|
45
45
|
|
|
46
46
|
onStart(): void {
|
|
47
|
-
// Here we need to attach a `mousedown` listener to the `TabBar`s, `DockPanel`s and the `SidePanel`s. Otherwise,
|
|
47
|
+
// Here we need to attach a `mousedown` listener to the `TabBar`s, `DockPanel`s and the `SidePanel`s. Otherwise, Lumino handles the event and stops the propagation.
|
|
48
48
|
// Track the `mousedown` on the `TabBar` for the currently active widget.
|
|
49
49
|
this.applicationShell.onDidChangeActiveWidget((args: FocusTracker.IChangedArgs<Widget>) => {
|
|
50
50
|
this.toDisposeOnActiveChange.dispose();
|
|
@@ -68,7 +68,7 @@ export class ApplicationShellMouseTracker implements FrontendApplicationContribu
|
|
|
68
68
|
this.toDispose.pushAll([mainPanel, bottomPanel, leftPanelHandler.dockPanel, rightPanelHandler.dockPanel]
|
|
69
69
|
.map(panel => addEventListener(panel.node, 'mousedown', this.mousedownListener, true)));
|
|
70
70
|
|
|
71
|
-
// The `mouseup` event has to be tracked on the `document`.
|
|
71
|
+
// The `mouseup` event has to be tracked on the `document`. Lumino attaches to there.
|
|
72
72
|
document.addEventListener('mouseup', this.mouseupListener, true);
|
|
73
73
|
|
|
74
74
|
// Make sure it is disposed in the end.
|
|
@@ -15,13 +15,13 @@
|
|
|
15
15
|
// *****************************************************************************
|
|
16
16
|
|
|
17
17
|
import { injectable, inject, optional, postConstruct } from 'inversify';
|
|
18
|
-
import { ArrayExt, find, toArray, each } from '@
|
|
18
|
+
import { ArrayExt, find, toArray, each } from '@lumino/algorithm';
|
|
19
19
|
import {
|
|
20
20
|
BoxLayout, BoxPanel, DockLayout, DockPanel, FocusTracker, Layout, Panel, SplitLayout,
|
|
21
21
|
SplitPanel, TabBar, Widget, Title
|
|
22
|
-
} from '@
|
|
23
|
-
import { Message } from '@
|
|
24
|
-
import {
|
|
22
|
+
} from '@lumino/widgets';
|
|
23
|
+
import { Message } from '@lumino/messaging';
|
|
24
|
+
import { Drag } from '@lumino/dragdrop';
|
|
25
25
|
import { RecursivePartial, Event as CommonEvent, DisposableCollection, Disposable, environment, isObject, UntitledResourceResolver, UNTITLED_SCHEME } from '../../common';
|
|
26
26
|
import { animationFrame } from '../browser';
|
|
27
27
|
import { Saveable, SaveableWidget, SaveOptions } from '../saveable';
|
|
@@ -169,7 +169,7 @@ interface WidgetDragState {
|
|
|
169
169
|
leftExpanded: boolean;
|
|
170
170
|
rightExpanded: boolean;
|
|
171
171
|
bottomExpanded: boolean;
|
|
172
|
-
lastDragOver?:
|
|
172
|
+
lastDragOver?: Drag.Event;
|
|
173
173
|
leaveTimeout?: number;
|
|
174
174
|
}
|
|
175
175
|
|
|
@@ -264,6 +264,9 @@ export class ApplicationShell extends Widget {
|
|
|
264
264
|
return this._mainPanelRenderer;
|
|
265
265
|
}
|
|
266
266
|
|
|
267
|
+
protected initializedDeferred = new Deferred<void>();
|
|
268
|
+
initialized = this.initializedDeferred.promise;
|
|
269
|
+
|
|
267
270
|
/**
|
|
268
271
|
* Construct a new application shell.
|
|
269
272
|
*/
|
|
@@ -322,6 +325,7 @@ export class ApplicationShell extends Widget {
|
|
|
322
325
|
});
|
|
323
326
|
}
|
|
324
327
|
});
|
|
328
|
+
this.initializedDeferred.resolve();
|
|
325
329
|
}
|
|
326
330
|
|
|
327
331
|
protected initializeShell(): void {
|
|
@@ -386,39 +390,39 @@ export class ApplicationShell extends Widget {
|
|
|
386
390
|
}
|
|
387
391
|
|
|
388
392
|
protected override onBeforeAttach(msg: Message): void {
|
|
389
|
-
document.addEventListener('
|
|
390
|
-
document.addEventListener('
|
|
391
|
-
document.addEventListener('
|
|
392
|
-
document.addEventListener('
|
|
393
|
+
document.addEventListener('lm-dragenter', this, true);
|
|
394
|
+
document.addEventListener('lm-dragover', this, true);
|
|
395
|
+
document.addEventListener('lm-dragleave', this, true);
|
|
396
|
+
document.addEventListener('lm-drop', this, true);
|
|
393
397
|
}
|
|
394
398
|
|
|
395
399
|
protected override onAfterDetach(msg: Message): void {
|
|
396
|
-
document.removeEventListener('
|
|
397
|
-
document.removeEventListener('
|
|
398
|
-
document.removeEventListener('
|
|
399
|
-
document.removeEventListener('
|
|
400
|
+
document.removeEventListener('lm-dragenter', this, true);
|
|
401
|
+
document.removeEventListener('lm-dragover', this, true);
|
|
402
|
+
document.removeEventListener('lm-dragleave', this, true);
|
|
403
|
+
document.removeEventListener('lm-drop', this, true);
|
|
400
404
|
}
|
|
401
405
|
|
|
402
406
|
handleEvent(event: Event): void {
|
|
403
407
|
switch (event.type) {
|
|
404
|
-
case '
|
|
405
|
-
this.onDragEnter(event as
|
|
408
|
+
case 'lm-dragenter':
|
|
409
|
+
this.onDragEnter(event as Drag.Event);
|
|
406
410
|
break;
|
|
407
|
-
case '
|
|
408
|
-
this.onDragOver(event as
|
|
411
|
+
case 'lm-dragover':
|
|
412
|
+
this.onDragOver(event as Drag.Event);
|
|
409
413
|
break;
|
|
410
|
-
case '
|
|
411
|
-
this.onDrop(event as
|
|
414
|
+
case 'lm-drop':
|
|
415
|
+
this.onDrop(event as Drag.Event);
|
|
412
416
|
break;
|
|
413
|
-
case '
|
|
414
|
-
this.onDragLeave(event as
|
|
417
|
+
case 'lm-dragleave':
|
|
418
|
+
this.onDragLeave(event as Drag.Event);
|
|
415
419
|
break;
|
|
416
420
|
}
|
|
417
421
|
}
|
|
418
422
|
|
|
419
|
-
protected onDragEnter({ mimeData }:
|
|
423
|
+
protected onDragEnter({ mimeData }: Drag.Event): void {
|
|
420
424
|
if (!this.dragState) {
|
|
421
|
-
if (mimeData && mimeData.hasData('application/vnd.
|
|
425
|
+
if (mimeData && mimeData.hasData('application/vnd.lumino.widget-factory')) {
|
|
422
426
|
// The drag contains a widget, so we'll track it and expand side panels as needed
|
|
423
427
|
this.dragState = {
|
|
424
428
|
startTime: performance.now(),
|
|
@@ -430,7 +434,7 @@ export class ApplicationShell extends Widget {
|
|
|
430
434
|
}
|
|
431
435
|
}
|
|
432
436
|
|
|
433
|
-
protected onDragOver(event:
|
|
437
|
+
protected onDragOver(event: Drag.Event): void {
|
|
434
438
|
const state = this.dragState;
|
|
435
439
|
if (state) {
|
|
436
440
|
state.lastDragOver = event;
|
|
@@ -499,7 +503,7 @@ export class ApplicationShell extends Widget {
|
|
|
499
503
|
}
|
|
500
504
|
}
|
|
501
505
|
|
|
502
|
-
protected onDrop(event:
|
|
506
|
+
protected onDrop(event: Drag.Event): void {
|
|
503
507
|
const state = this.dragState;
|
|
504
508
|
if (state) {
|
|
505
509
|
if (state.leaveTimeout) {
|
|
@@ -521,7 +525,7 @@ export class ApplicationShell extends Widget {
|
|
|
521
525
|
}
|
|
522
526
|
}
|
|
523
527
|
|
|
524
|
-
protected onDragLeave(event:
|
|
528
|
+
protected onDragLeave(event: Drag.Event): void {
|
|
525
529
|
const state = this.dragState;
|
|
526
530
|
if (state) {
|
|
527
531
|
state.lastDragOver = undefined;
|
|
@@ -606,7 +610,7 @@ export class ApplicationShell extends Widget {
|
|
|
606
610
|
|
|
607
611
|
dockPanel.node.addEventListener('dblclick', event => {
|
|
608
612
|
const el = event.target as Element;
|
|
609
|
-
if (el.id === MAIN_AREA_ID || el.classList.contains('
|
|
613
|
+
if (el.id === MAIN_AREA_ID || el.classList.contains('lm-TabBar-content')) {
|
|
610
614
|
this.onDidDoubleClickMainAreaEmitter.fire();
|
|
611
615
|
}
|
|
612
616
|
});
|
|
@@ -663,7 +667,7 @@ export class ApplicationShell extends Widget {
|
|
|
663
667
|
}
|
|
664
668
|
this.refreshBottomPanelToggleButton();
|
|
665
669
|
}, this);
|
|
666
|
-
dockPanel.node.addEventListener('
|
|
670
|
+
dockPanel.node.addEventListener('lm-dragenter', event => {
|
|
667
671
|
// Make sure that the main panel hides its overlay when the bottom panel is expanded
|
|
668
672
|
this.mainPanel.overlay.hide(0);
|
|
669
673
|
});
|
|
@@ -796,7 +800,7 @@ export class ApplicationShell extends Widget {
|
|
|
796
800
|
const index = parent.widgets.indexOf(this.bottomPanel) - 1;
|
|
797
801
|
if (index >= 0) {
|
|
798
802
|
const handle = parent.handles[index];
|
|
799
|
-
if (!handle.classList.contains('
|
|
803
|
+
if (!handle.classList.contains('lm-mod-hidden')) {
|
|
800
804
|
const parentHeight = parent.node.clientHeight;
|
|
801
805
|
return parentHeight - handle.offsetTop;
|
|
802
806
|
}
|
|
@@ -1037,7 +1041,7 @@ export class ApplicationShell extends Widget {
|
|
|
1037
1041
|
*/
|
|
1038
1042
|
findWidgetForElement(element: HTMLElement): Widget | undefined {
|
|
1039
1043
|
let widgetNode: HTMLElement | null = element;
|
|
1040
|
-
while (widgetNode && !widgetNode.classList.contains('
|
|
1044
|
+
while (widgetNode && !widgetNode.classList.contains('lm-Widget')) {
|
|
1041
1045
|
widgetNode = widgetNode.parentElement;
|
|
1042
1046
|
}
|
|
1043
1047
|
if (widgetNode) {
|
|
@@ -1067,7 +1071,7 @@ export class ApplicationShell extends Widget {
|
|
|
1067
1071
|
if (event?.target instanceof HTMLElement) {
|
|
1068
1072
|
const tabNode = event.target;
|
|
1069
1073
|
|
|
1070
|
-
const titleIndex = Array.from(tabBar.contentNode.getElementsByClassName('
|
|
1074
|
+
const titleIndex = Array.from(tabBar.contentNode.getElementsByClassName('lm-TabBar-tab'))
|
|
1071
1075
|
.findIndex(node => node.contains(tabNode));
|
|
1072
1076
|
|
|
1073
1077
|
if (titleIndex !== -1) {
|
|
@@ -1198,7 +1202,7 @@ export class ApplicationShell extends Widget {
|
|
|
1198
1202
|
panel.markAsCurrent(widget!.title);
|
|
1199
1203
|
}
|
|
1200
1204
|
// Add checks to ensure that the 'sash' for left panel is displayed correctly
|
|
1201
|
-
if (newValue.node.className === '
|
|
1205
|
+
if (newValue.node.className === 'lm-Widget theia-view-container lm-DockPanel-widget') {
|
|
1202
1206
|
// Set the z-index so elements with `position: fixed` contained in the active widget are displayed correctly
|
|
1203
1207
|
this.setZIndex(newValue.node, '1');
|
|
1204
1208
|
}
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
// *****************************************************************************
|
|
16
16
|
|
|
17
17
|
import { injectable, inject, named } from 'inversify';
|
|
18
|
-
import { Widget } from '@
|
|
18
|
+
import { Widget } from '@lumino/widgets';
|
|
19
19
|
import { FrontendApplication } from '../frontend-application';
|
|
20
20
|
import { WidgetManager, WidgetConstructionOptions } from '../widget-manager';
|
|
21
21
|
import { StorageService } from '../storage-service';
|
|
@@ -15,11 +15,11 @@
|
|
|
15
15
|
// *****************************************************************************
|
|
16
16
|
|
|
17
17
|
import { injectable, inject } from 'inversify';
|
|
18
|
-
import { find, map, toArray, some } from '@
|
|
19
|
-
import { TabBar, Widget, DockPanel, Title, Panel, BoxPanel, BoxLayout, SplitPanel, PanelLayout } from '@
|
|
20
|
-
import { MimeData } from '@
|
|
21
|
-
import { Drag } from '@
|
|
22
|
-
import { AttachedProperty } from '@
|
|
18
|
+
import { find, map, toArray, some } from '@lumino/algorithm';
|
|
19
|
+
import { TabBar, Widget, DockPanel, Title, Panel, BoxPanel, BoxLayout, SplitPanel, PanelLayout } from '@lumino/widgets';
|
|
20
|
+
import { MimeData } from '@lumino/coreutils';
|
|
21
|
+
import { Drag } from '@lumino/dragdrop';
|
|
22
|
+
import { AttachedProperty } from '@lumino/properties';
|
|
23
23
|
import { TabBarRendererFactory, TabBarRenderer, SHELL_TABBAR_CONTEXT_MENU, SideTabBar } from './tab-bars';
|
|
24
24
|
import { SidebarMenuWidget, SidebarMenu, SidebarBottomMenuWidgetFactory, SidebarTopMenuWidgetFactory } from './sidebar-menu-widget';
|
|
25
25
|
import { SplitPositionHandler, SplitPositionOptions } from './split-panels';
|
|
@@ -557,12 +557,12 @@ export class SidePanelHandler {
|
|
|
557
557
|
const index = parent.widgets.indexOf(this.container);
|
|
558
558
|
if (this.side === 'left') {
|
|
559
559
|
const handle = parent.handles[index];
|
|
560
|
-
if (!handle.classList.contains('
|
|
560
|
+
if (!handle.classList.contains('lm-mod-hidden')) {
|
|
561
561
|
return handle.offsetLeft;
|
|
562
562
|
}
|
|
563
563
|
} else if (this.side === 'right') {
|
|
564
564
|
const handle = parent.handles[index - 1];
|
|
565
|
-
if (!handle.classList.contains('
|
|
565
|
+
if (!handle.classList.contains('lm-mod-hidden')) {
|
|
566
566
|
const parentWidth = parent.node.clientWidth;
|
|
567
567
|
return parentWidth - handle.offsetLeft;
|
|
568
568
|
}
|
|
@@ -633,13 +633,13 @@ export class SidePanelHandler {
|
|
|
633
633
|
const clonedTab = tab.cloneNode(true) as HTMLElement;
|
|
634
634
|
clonedTab.style.width = '';
|
|
635
635
|
clonedTab.style.height = '';
|
|
636
|
-
const label = clonedTab.getElementsByClassName('
|
|
636
|
+
const label = clonedTab.getElementsByClassName('lm-TabBar-tabLabel')[0] as HTMLElement;
|
|
637
637
|
label.style.width = '';
|
|
638
638
|
label.style.height = '';
|
|
639
639
|
|
|
640
640
|
// Create and start a drag to move the selected tab to another panel
|
|
641
641
|
const mimeData = new MimeData();
|
|
642
|
-
mimeData.setData('application/vnd.
|
|
642
|
+
mimeData.setData('application/vnd.lumino.widget-factory', () => title.owner);
|
|
643
643
|
const drag = new Drag({
|
|
644
644
|
mimeData,
|
|
645
645
|
dragImage: clonedTab,
|
|
@@ -647,10 +647,10 @@ export class SidePanelHandler {
|
|
|
647
647
|
supportedActions: 'move',
|
|
648
648
|
});
|
|
649
649
|
|
|
650
|
-
tab.classList.add('
|
|
650
|
+
tab.classList.add('lm-mod-hidden');
|
|
651
651
|
drag.start(clientX, clientY).then(() => {
|
|
652
652
|
// The promise is resolved when the drag has ended
|
|
653
|
-
tab.classList.remove('
|
|
653
|
+
tab.classList.remove('lm-mod-hidden');
|
|
654
654
|
});
|
|
655
655
|
}
|
|
656
656
|
|
|
@@ -14,9 +14,9 @@
|
|
|
14
14
|
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
15
15
|
// *****************************************************************************
|
|
16
16
|
|
|
17
|
-
import { Widget, Title } from '@
|
|
17
|
+
import { Widget, Title } from '@lumino/widgets';
|
|
18
18
|
import { TabBarToolbar, TabBarToolbarRegistry, TabBarToolbarFactory } from './tab-bar-toolbar';
|
|
19
|
-
import { Message } from '@
|
|
19
|
+
import { Message } from '@lumino/messaging';
|
|
20
20
|
import { BaseWidget } from '../widgets';
|
|
21
21
|
import { Emitter } from '../../common/event';
|
|
22
22
|
import { ContextMenuAccess, Anchor } from '../context-menu-renderer';
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
// *****************************************************************************
|
|
16
16
|
|
|
17
17
|
import { injectable } from 'inversify';
|
|
18
|
-
import { SplitPanel, SplitLayout, Widget } from '@
|
|
18
|
+
import { SplitPanel, SplitLayout, Widget } from '@lumino/widgets';
|
|
19
19
|
|
|
20
20
|
export interface SplitPositionOptions {
|
|
21
21
|
/** The side of the side panel that shall be resized. */
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
// *****************************************************************************
|
|
16
16
|
|
|
17
17
|
import debounce = require('lodash.debounce');
|
|
18
|
-
import { Title, Widget } from '@
|
|
18
|
+
import { Title, Widget } from '@lumino/widgets';
|
|
19
19
|
import { inject, injectable, named } from 'inversify';
|
|
20
20
|
import { ContributionProvider, Emitter, Event } from '../../common';
|
|
21
21
|
import { ColorRegistry } from '../color-registry';
|
|
@@ -18,7 +18,7 @@ import { enableJSDOM } from '../test/jsdom';
|
|
|
18
18
|
let disableJSDOM = enableJSDOM();
|
|
19
19
|
import { expect } from 'chai';
|
|
20
20
|
|
|
21
|
-
import { Title, Widget } from '@
|
|
21
|
+
import { Title, Widget } from '@lumino/widgets';
|
|
22
22
|
import { TabBarRenderer } from './tab-bars';
|
|
23
23
|
|
|
24
24
|
disableJSDOM();
|