@theia/notebook 1.62.0-next.3 → 1.62.0
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/lib/browser/contributions/notebook-actions-contribution.d.ts +2 -2
- package/lib/browser/contributions/notebook-actions-contribution.d.ts.map +1 -1
- package/lib/browser/contributions/notebook-actions-contribution.js +6 -8
- package/lib/browser/contributions/notebook-actions-contribution.js.map +1 -1
- package/lib/browser/contributions/notebook-cell-actions-contribution.d.ts +2 -2
- package/lib/browser/contributions/notebook-cell-actions-contribution.d.ts.map +1 -1
- package/lib/browser/contributions/notebook-cell-actions-contribution.js +11 -12
- package/lib/browser/contributions/notebook-cell-actions-contribution.js.map +1 -1
- package/lib/browser/service/notebook-context-manager.d.ts +1 -3
- package/lib/browser/service/notebook-context-manager.d.ts.map +1 -1
- package/lib/browser/service/notebook-context-manager.js +0 -10
- package/lib/browser/service/notebook-context-manager.js.map +1 -1
- package/lib/browser/view/notebook-cell-list-view.d.ts +2 -2
- package/lib/browser/view/notebook-cell-list-view.d.ts.map +1 -1
- package/lib/browser/view/notebook-cell-list-view.js +15 -8
- package/lib/browser/view/notebook-cell-list-view.js.map +1 -1
- package/lib/browser/view/notebook-cell-toolbar-factory.d.ts +4 -2
- package/lib/browser/view/notebook-cell-toolbar-factory.d.ts.map +1 -1
- package/lib/browser/view/notebook-cell-toolbar-factory.js +30 -19
- package/lib/browser/view/notebook-cell-toolbar-factory.js.map +1 -1
- package/lib/browser/view/notebook-cell-toolbar.d.ts +1 -2
- package/lib/browser/view/notebook-cell-toolbar.d.ts.map +1 -1
- package/lib/browser/view/notebook-cell-toolbar.js +2 -4
- package/lib/browser/view/notebook-cell-toolbar.js.map +1 -1
- package/lib/browser/view/notebook-main-toolbar.d.ts +3 -4
- package/lib/browser/view/notebook-main-toolbar.d.ts.map +1 -1
- package/lib/browser/view/notebook-main-toolbar.js +22 -45
- package/lib/browser/view/notebook-main-toolbar.js.map +1 -1
- package/package.json +8 -8
- package/src/browser/contributions/notebook-actions-contribution.ts +7 -9
- package/src/browser/contributions/notebook-cell-actions-contribution.ts +14 -14
- package/src/browser/service/notebook-context-manager.ts +1 -15
- package/src/browser/view/notebook-cell-list-view.tsx +25 -18
- package/src/browser/view/notebook-cell-toolbar-factory.tsx +35 -23
- package/src/browser/view/notebook-cell-toolbar.tsx +3 -6
- package/src/browser/view/notebook-main-toolbar.tsx +23 -49
|
@@ -25,47 +25,58 @@ const notebook_cell_toolbar_1 = require("./notebook-cell-toolbar");
|
|
|
25
25
|
const browser_1 = require("@theia/core/lib/browser");
|
|
26
26
|
const notebook_context_manager_1 = require("../service/notebook-context-manager");
|
|
27
27
|
let NotebookCellToolbarFactory = class NotebookCellToolbarFactory {
|
|
28
|
+
constructor() {
|
|
29
|
+
this.onDidChangeContextEmitter = new core_1.Emitter;
|
|
30
|
+
this.onDidChangeContext = this.onDidChangeContextEmitter.event;
|
|
31
|
+
this.toDisposeOnRender = new core_1.DisposableCollection();
|
|
32
|
+
}
|
|
28
33
|
renderCellToolbar(menuPath, cell, itemOptions) {
|
|
29
|
-
return React.createElement(notebook_cell_toolbar_1.NotebookCellToolbar, { getMenuItems: () => this.getMenuItems(menuPath, cell, itemOptions),
|
|
34
|
+
return React.createElement(notebook_cell_toolbar_1.NotebookCellToolbar, { getMenuItems: () => this.getMenuItems(menuPath, cell, itemOptions), onContextChanged: this.onDidChangeContext });
|
|
30
35
|
}
|
|
31
36
|
renderSidebar(menuPath, cell, itemOptions) {
|
|
32
|
-
return React.createElement(notebook_cell_toolbar_1.NotebookCellSidebar, { getMenuItems: () => this.getMenuItems(menuPath, cell, itemOptions),
|
|
37
|
+
return React.createElement(notebook_cell_toolbar_1.NotebookCellSidebar, { getMenuItems: () => this.getMenuItems(menuPath, cell, itemOptions), onContextChanged: this.onDidChangeContext });
|
|
33
38
|
}
|
|
34
39
|
getMenuItems(menuItemPath, cell, itemOptions) {
|
|
35
40
|
var _a, _b;
|
|
41
|
+
this.toDisposeOnRender.dispose();
|
|
42
|
+
this.toDisposeOnRender = new core_1.DisposableCollection();
|
|
36
43
|
const inlineItems = [];
|
|
37
44
|
for (const menuNode of this.menuRegistry.getMenu(menuItemPath).children) {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
45
|
+
const itemPath = [...menuItemPath, menuNode.id];
|
|
46
|
+
if (menuNode.isVisible(itemPath, this.notebookContextManager.getCellContext(cell.handle), this.notebookContextManager.context, (_b = (_a = itemOptions.commandArgs) === null || _a === void 0 ? void 0 : _a.call(itemOptions)) !== null && _b !== void 0 ? _b : [])) {
|
|
47
|
+
if (core_1.RenderedMenuNode.is(menuNode)) {
|
|
48
|
+
if (menuNode.onDidChange) {
|
|
49
|
+
this.toDisposeOnRender.push(menuNode.onDidChange(() => this.onDidChangeContextEmitter.fire()));
|
|
50
|
+
}
|
|
51
|
+
inlineItems.push(this.createToolbarItem(itemPath, menuNode, itemOptions));
|
|
44
52
|
}
|
|
45
53
|
}
|
|
46
54
|
}
|
|
47
55
|
return inlineItems;
|
|
48
56
|
}
|
|
49
|
-
createToolbarItem(menuNode, itemOptions) {
|
|
50
|
-
const menuPath = menuNode.role === 0 /* CompoundMenuNodeRole.Submenu */ ? this.menuRegistry.getPath(menuNode) : undefined;
|
|
57
|
+
createToolbarItem(menuPath, menuNode, itemOptions) {
|
|
51
58
|
return {
|
|
52
59
|
id: menuNode.id,
|
|
53
60
|
icon: menuNode.icon,
|
|
54
61
|
label: menuNode.label,
|
|
55
|
-
onClick:
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
62
|
+
onClick: e => {
|
|
63
|
+
var _a, _b, _c;
|
|
64
|
+
if (core_1.CompoundMenuNode.is(menuNode)) {
|
|
65
|
+
this.contextMenuRenderer.render({
|
|
59
66
|
anchor: e.nativeEvent,
|
|
60
|
-
menuPath,
|
|
67
|
+
menuPath: menuPath,
|
|
68
|
+
menu: menuNode,
|
|
61
69
|
includeAnchorArg: false,
|
|
62
70
|
args: (_a = itemOptions.contextMenuArgs) === null || _a === void 0 ? void 0 : _a.call(itemOptions),
|
|
63
71
|
context: this.notebookContextManager.context || e.currentTarget
|
|
64
72
|
});
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
73
|
+
}
|
|
74
|
+
else if (core_1.CommandMenu.is(menuNode)) {
|
|
75
|
+
menuNode.run(menuPath, ...((_c = (_b = itemOptions.commandArgs) === null || _b === void 0 ? void 0 : _b.call(itemOptions)) !== null && _c !== void 0 ? _c : []));
|
|
76
|
+
}
|
|
77
|
+
;
|
|
78
|
+
},
|
|
79
|
+
isVisible: () => true
|
|
69
80
|
};
|
|
70
81
|
}
|
|
71
82
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notebook-cell-toolbar-factory.js","sourceRoot":"","sources":["../../../src/browser/view/notebook-cell-toolbar-factory.tsx"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;AAEhF,kDAAkD;AAClD,
|
|
1
|
+
{"version":3,"file":"notebook-cell-toolbar-factory.js","sourceRoot":"","sources":["../../../src/browser/view/notebook-cell-toolbar-factory.tsx"],"names":[],"mappings":"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"}
|
|
@@ -2,10 +2,9 @@
|
|
|
2
2
|
import * as React from '@theia/core/shared/react';
|
|
3
3
|
import { NotebookCellToolbarItem } from './notebook-cell-toolbar-factory';
|
|
4
4
|
import { DisposableCollection, Event } from '@theia/core';
|
|
5
|
-
import { ContextKeyChangeEvent } from '@theia/core/lib/browser/context-key-service';
|
|
6
5
|
export interface NotebookCellToolbarProps {
|
|
7
6
|
getMenuItems: () => NotebookCellToolbarItem[];
|
|
8
|
-
|
|
7
|
+
onContextChanged: Event<void>;
|
|
9
8
|
}
|
|
10
9
|
interface NotebookCellToolbarState {
|
|
11
10
|
inlineItems: NotebookCellToolbarItem[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notebook-cell-toolbar.d.ts","sourceRoot":"","sources":["../../../src/browser/view/notebook-cell-toolbar.tsx"],"names":[],"mappings":";AAeA,OAAO,KAAK,KAAK,MAAM,0BAA0B,CAAC;AAElD,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"notebook-cell-toolbar.d.ts","sourceRoot":"","sources":["../../../src/browser/view/notebook-cell-toolbar.tsx"],"names":[],"mappings":";AAeA,OAAO,KAAK,KAAK,MAAM,0BAA0B,CAAC;AAElD,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAE1D,MAAM,WAAW,wBAAwB;IACrC,YAAY,EAAE,MAAM,uBAAuB,EAAE,CAAC;IAC9C,gBAAgB,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;CACjC;AAED,UAAU,wBAAwB;IAC9B,WAAW,EAAE,uBAAuB,EAAE,CAAC;CAC1C;AAED,uBAAe,qBAAsB,SAAQ,KAAK,CAAC,SAAS,CAAC,wBAAwB,EAAE,wBAAwB,CAAC;IAE5G,SAAS,CAAC,SAAS,uBAA8B;gBAErC,KAAK,EAAE,wBAAwB;IASlC,oBAAoB,IAAI,IAAI;IAIrC,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,uBAAuB,GAAG,KAAK,CAAC,SAAS;CAIvE;AAED,qBAAa,mBAAoB,SAAQ,qBAAqB;IAEjD,MAAM,IAAI,KAAK,CAAC,SAAS;CAMrC;AAED,qBAAa,mBAAoB,SAAQ,qBAAqB;IAEjD,MAAM,IAAI,KAAK,CAAC,SAAS;CAKrC"}
|
|
@@ -23,11 +23,9 @@ class NotebookCellActionBar extends React.Component {
|
|
|
23
23
|
constructor(props) {
|
|
24
24
|
super(props);
|
|
25
25
|
this.toDispose = new core_1.DisposableCollection();
|
|
26
|
-
this.toDispose.push(props.
|
|
26
|
+
this.toDispose.push(props.onContextChanged(e => {
|
|
27
27
|
const menuItems = this.props.getMenuItems();
|
|
28
|
-
|
|
29
|
-
this.setState({ inlineItems: menuItems });
|
|
30
|
-
}
|
|
28
|
+
this.setState({ inlineItems: menuItems });
|
|
31
29
|
}));
|
|
32
30
|
this.state = { inlineItems: this.props.getMenuItems() };
|
|
33
31
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notebook-cell-toolbar.js","sourceRoot":"","sources":["../../../src/browser/view/notebook-cell-toolbar.tsx"],"names":[],"mappings":";;;AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;AAChF,kDAAkD;AAClD,qDAAsD;AAEtD,sCAA0D;
|
|
1
|
+
{"version":3,"file":"notebook-cell-toolbar.js","sourceRoot":"","sources":["../../../src/browser/view/notebook-cell-toolbar.tsx"],"names":[],"mappings":";;;AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;AAChF,kDAAkD;AAClD,qDAAsD;AAEtD,sCAA0D;AAW1D,MAAe,qBAAsB,SAAQ,KAAK,CAAC,SAA6D;IAI5G,YAAY,KAA+B;QACvC,KAAK,CAAC,KAAK,CAAC,CAAC;QAHP,cAAS,GAAG,IAAI,2BAAoB,EAAE,CAAC;QAI7C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE;YAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;YAC5C,IAAI,CAAC,QAAQ,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC,CAAC;QACJ,IAAI,CAAC,KAAK,GAAG,EAAE,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,CAAC;IAC5D,CAAC;IAEQ,oBAAoB;QACzB,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAES,UAAU,CAAC,IAA6B;QAC9C,OAAO,6BAAK,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,IAAI,IAAI,qBAAW,mCAAmC,GAAI,CAAC;IACnK,CAAC;CAEJ;AAED,MAAa,mBAAoB,SAAQ,qBAAqB;IAEjD,MAAM;QACX,OAAO,6BAAK,SAAS,EAAC,6BAA6B,IAC9C,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CACnF,CAAC;IACX,CAAC;CAEJ;AARD,kDAQC;AAED,MAAa,mBAAoB,SAAQ,qBAAqB;IAEjD,MAAM;QACX,OAAO,6BAAK,SAAS,EAAC,qCAAqC,IACtD,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CACnF,CAAC;IACX,CAAC;CACJ;AAPD,kDAOC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import { CommandRegistry, DisposableCollection, MenuModelRegistry, MenuNode } from '@theia/core';
|
|
2
|
+
import { CommandMenu, CommandRegistry, DisposableCollection, MenuModelRegistry, MenuNode, MenuPath } from '@theia/core';
|
|
3
3
|
import * as React from '@theia/core/shared/react';
|
|
4
4
|
import { ContextMenuRenderer } from '@theia/core/lib/browser';
|
|
5
5
|
import { NotebookModel } from '../view-model/notebook-model';
|
|
@@ -44,10 +44,9 @@ export declare class NotebookMainToolbar extends React.Component<NotebookMainToo
|
|
|
44
44
|
protected renderContextMenu(event: MouseEvent, menuItems: readonly MenuNode[]): void;
|
|
45
45
|
render(): React.ReactNode;
|
|
46
46
|
protected gapElementChanged(element: HTMLDivElement | null): void;
|
|
47
|
-
protected renderMenuItem(item: MenuNode, submenu?: string): React.ReactNode;
|
|
47
|
+
protected renderMenuItem<T>(itemPath: MenuPath, item: MenuNode, submenu?: string): React.ReactNode;
|
|
48
48
|
protected getMenuItems(): readonly MenuNode[];
|
|
49
|
-
protected getAdditionalClasses(item:
|
|
50
|
-
protected getAllContextKeys(menus: readonly MenuNode[], keySet: Set<string>): void;
|
|
49
|
+
protected getAdditionalClasses(itemPath: MenuPath, item: CommandMenu): string;
|
|
51
50
|
protected calculateNumberOfHiddenItems(allMenuItems: readonly MenuNode[]): number;
|
|
52
51
|
}
|
|
53
52
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notebook-main-toolbar.d.ts","sourceRoot":"","sources":["../../../src/browser/view/notebook-main-toolbar.tsx"],"names":[],"mappings":";AAeA,OAAO,EAAc,eAAe,
|
|
1
|
+
{"version":3,"file":"notebook-main-toolbar.d.ts","sourceRoot":"","sources":["../../../src/browser/view/notebook-main-toolbar.tsx"],"names":[],"mappings":";AAeA,OAAO,EAAc,WAAW,EAAE,eAAe,EAAE,oBAAoB,EAAoB,iBAAiB,EAAE,QAAQ,EAAE,QAAQ,EAAO,MAAM,aAAa,CAAC;AAC3J,OAAO,KAAK,KAAK,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAW,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAEvE,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAE3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,6CAA6C,CAAC;AAChF,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAE7E,MAAM,WAAW,wBAAwB;IACrC,aAAa,EAAE,aAAa,CAAA;IAC5B,YAAY,EAAE,iBAAiB,CAAC;IAChC,qBAAqB,EAAE,qBAAqB,CAAC;IAC7C,eAAe,EAAE,eAAe,CAAC;IACjC,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,UAAU,EAAE,WAAW,CAAC;IACxB,sBAAsB,EAAE,sBAAsB,CAAC;IAC/C,mBAAmB,EAAE,mBAAmB,CAAC;CAC5C;AAED,qBACa,2BAA2B;IACL,SAAS,CAAC,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB,CAAC;IACtE,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAClD,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,iBAAiB,CAAC;IACnD,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IACnD,SAAS,CAAC,QAAQ,CAAC,sBAAsB,EAAE,sBAAsB,CAAC;IACrE,SAAS,CAAC,QAAQ,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;IAEzF,MAAM,CAAC,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,GAAG,KAAK,CAAC,SAAS;CAUjF;AAED,UAAU,wBAAwB;IAC9B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,mBAAmB,EAAE,MAAM,CAAC;CAC/B;AAED,qBAAa,mBAAoB,SAAQ,KAAK,CAAC,SAAS,CAAC,wBAAwB,EAAE,wBAAwB,CAAC;IAGxG,MAAM,CAAC,QAAQ,CAAC,aAAa,MAAM;IAEnC,SAAS,CAAC,SAAS,uBAA8B;IAEjD,SAAS,CAAC,cAAc,WAEiG;IAEzH,SAAS,CAAC,UAAU,EAAE,cAAc,GAAG,SAAS,CAAC;IACjD,SAAS,CAAC,mBAAmB,EAAE,MAAM,CAAK;IAE1C,SAAS,CAAC,cAAc,EAAE,cAAc,CAAyD;gBAErF,KAAK,EAAE,wBAAwB;IA4BlC,oBAAoB,IAAI,IAAI;IAI5B,kBAAkB,IAAI,IAAI;IAI1B,iBAAiB,IAAI,IAAI;IAIlC,SAAS,CAAC,oBAAoB,IAAI,IAAI;IAWtC,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,QAAQ,EAAE,GAAG,IAAI;IAiB3E,MAAM,IAAI,KAAK,CAAC,SAAS;IAmBlC,SAAS,CAAC,iBAAiB,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,GAAG,IAAI;IAWjE,SAAS,CAAC,cAAc,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,SAAS;IAmBlG,SAAS,CAAC,YAAY,IAAI,SAAS,QAAQ,EAAE;IAI7C,SAAS,CAAC,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,GAAG,MAAM;IAI7E,SAAS,CAAC,4BAA4B,CAAC,YAAY,EAAE,SAAS,QAAQ,EAAE,GAAG,MAAM;CAKpF"}
|
|
@@ -87,18 +87,12 @@ class NotebookMainToolbar extends React.Component {
|
|
|
87
87
|
}
|
|
88
88
|
}));
|
|
89
89
|
// TODO maybe we need a mechanism to check for changes in the menu to update this toolbar
|
|
90
|
-
const
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
this.forceUpdate();
|
|
95
|
-
}
|
|
96
|
-
});
|
|
97
|
-
props.contextKeyService.onDidChange(e => {
|
|
98
|
-
if (e.affects(contextKeys)) {
|
|
99
|
-
this.forceUpdate();
|
|
90
|
+
const menuItems = this.getMenuItems();
|
|
91
|
+
for (const item of menuItems) {
|
|
92
|
+
if (item.onDidChange) {
|
|
93
|
+
item.onDidChange(() => this.forceUpdate());
|
|
100
94
|
}
|
|
101
|
-
}
|
|
95
|
+
}
|
|
102
96
|
}
|
|
103
97
|
componentWillUnmount() {
|
|
104
98
|
this.toDispose.dispose();
|
|
@@ -122,12 +116,13 @@ class NotebookMainToolbar extends React.Component {
|
|
|
122
116
|
}
|
|
123
117
|
renderContextMenu(event, menuItems) {
|
|
124
118
|
const hiddenItems = menuItems.slice(menuItems.length - this.calculateNumberOfHiddenItems(menuItems));
|
|
125
|
-
const
|
|
126
|
-
|
|
127
|
-
hiddenItems.forEach(item => contextMenu.addNode(item));
|
|
119
|
+
const menu = new core_1.GroupImpl(notebook_actions_contribution_1.NotebookMenus.NOTEBOOK_MAIN_TOOLBAR_HIDDEN_ITEMS_CONTEXT_MENU[0]);
|
|
120
|
+
hiddenItems.forEach(item => menu.addNode(item));
|
|
128
121
|
this.props.contextMenuRenderer.render({
|
|
129
122
|
anchor: event,
|
|
130
|
-
menuPath:
|
|
123
|
+
menuPath: notebook_actions_contribution_1.NotebookMenus.NOTEBOOK_MAIN_TOOLBAR_HIDDEN_ITEMS_CONTEXT_MENU,
|
|
124
|
+
menu: menu,
|
|
125
|
+
contextKeyService: this.props.contextKeyService,
|
|
131
126
|
context: this.props.editorNode,
|
|
132
127
|
args: [this.props.notebookModel.uri]
|
|
133
128
|
});
|
|
@@ -136,7 +131,7 @@ class NotebookMainToolbar extends React.Component {
|
|
|
136
131
|
var _a;
|
|
137
132
|
const menuItems = this.getMenuItems();
|
|
138
133
|
return React.createElement("div", { className: 'theia-notebook-main-toolbar', id: 'notebook-main-toolbar' },
|
|
139
|
-
menuItems.slice(0, menuItems.length - this.calculateNumberOfHiddenItems(menuItems)).map(item => this.renderMenuItem(item)),
|
|
134
|
+
menuItems.slice(0, menuItems.length - this.calculateNumberOfHiddenItems(menuItems)).map(item => this.renderMenuItem(notebook_actions_contribution_1.NotebookMenus.NOTEBOOK_MAIN_TOOLBAR, item)),
|
|
140
135
|
this.state.numberOfHiddenItems > 0 &&
|
|
141
136
|
React.createElement("span", { className: `${(0, browser_1.codicon)('ellipsis')} action-label theia-notebook-main-toolbar-item`, onClick: e => this.renderContextMenu(e.nativeEvent, menuItems) }),
|
|
142
137
|
React.createElement("div", { ref: element => this.gapElementChanged(element), style: { flexGrow: 1 } }),
|
|
@@ -154,46 +149,28 @@ class NotebookMainToolbar extends React.Component {
|
|
|
154
149
|
this.resizeObserver.observe(this.gapElement);
|
|
155
150
|
}
|
|
156
151
|
}
|
|
157
|
-
renderMenuItem(item, submenu) {
|
|
158
|
-
var _a, _b
|
|
159
|
-
if (
|
|
160
|
-
const itemNodes = core_1.ArrayUtils.coalesce((_b = (_a = item.children) === null || _a === void 0 ? void 0 : _a.map(child => this.renderMenuItem(child, item.id))) !== null && _b !== void 0 ? _b : []);
|
|
152
|
+
renderMenuItem(itemPath, item, submenu) {
|
|
153
|
+
var _a, _b;
|
|
154
|
+
if (core_1.Group.is(item)) {
|
|
155
|
+
const itemNodes = core_1.ArrayUtils.coalesce((_b = (_a = item.children) === null || _a === void 0 ? void 0 : _a.map(child => this.renderMenuItem([...itemPath, child.id], child, item.id))) !== null && _b !== void 0 ? _b : []);
|
|
161
156
|
return React.createElement(React.Fragment, { key: item.id },
|
|
162
157
|
itemNodes,
|
|
163
158
|
itemNodes && itemNodes.length > 0 && React.createElement("span", { key: `${item.id}-separator`, className: 'theia-notebook-toolbar-separator' }));
|
|
164
159
|
}
|
|
165
|
-
else if ((this.nativeSubmenus.includes(submenu !== null && submenu !== void 0 ? submenu : '')) ||
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
return undefined;
|
|
169
|
-
}
|
|
170
|
-
const command = this.props.commandRegistry.getCommand((_d = item.command) !== null && _d !== void 0 ? _d : '');
|
|
171
|
-
const label = (_e = command === null || command === void 0 ? void 0 : command.shortTitle) !== null && _e !== void 0 ? _e : item.label;
|
|
172
|
-
const title = (_f = command === null || command === void 0 ? void 0 : command.tooltip) !== null && _f !== void 0 ? _f : item.label;
|
|
173
|
-
return React.createElement("div", { key: item.id, id: item.id, title: title, className: `theia-notebook-main-toolbar-item action-label${this.getAdditionalClasses(item)}`, onClick: () => {
|
|
174
|
-
if (item.command && (!item.when || this.props.contextKeyService.match(item.when, this.props.editorNode))) {
|
|
175
|
-
this.props.commandRegistry.executeCommand(item.command, this.props.notebookModel.uri);
|
|
176
|
-
}
|
|
160
|
+
else if (core_1.CommandMenu.is(item) && ((this.nativeSubmenus.includes(submenu !== null && submenu !== void 0 ? submenu : '')) || item.isVisible(itemPath, this.props.contextKeyService, this.props.editorNode))) {
|
|
161
|
+
return React.createElement("div", { key: item.id, id: item.id, title: item.label, className: `theia-notebook-main-toolbar-item action-label${this.getAdditionalClasses(itemPath, item)}`, onClick: () => {
|
|
162
|
+
item.run(itemPath, this.props.notebookModel.uri);
|
|
177
163
|
} },
|
|
178
164
|
React.createElement("span", { className: item.icon }),
|
|
179
|
-
React.createElement("span", { className: 'theia-notebook-main-toolbar-item-text' }, label));
|
|
165
|
+
React.createElement("span", { className: 'theia-notebook-main-toolbar-item-text' }, item.label));
|
|
180
166
|
}
|
|
181
167
|
return undefined;
|
|
182
168
|
}
|
|
183
169
|
getMenuItems() {
|
|
184
|
-
|
|
185
|
-
const pluginCommands = this.props.menuRegistry.getMenuNode(menuPath).children;
|
|
186
|
-
const theiaCommands = this.props.menuRegistry.getMenu([menuPath]).children;
|
|
187
|
-
return theiaCommands.concat(pluginCommands);
|
|
188
|
-
}
|
|
189
|
-
getAdditionalClasses(item) {
|
|
190
|
-
return !item.when || this.props.contextKeyService.match(item.when, this.props.editorNode) ? '' : ' theia-mod-disabled';
|
|
170
|
+
return this.props.menuRegistry.getMenu(notebook_actions_contribution_1.NotebookMenus.NOTEBOOK_MAIN_TOOLBAR).children;
|
|
191
171
|
}
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
.forEach(item => { var _a; return (_a = this.props.contextKeyService.parseKeys(item.when)) === null || _a === void 0 ? void 0 : _a.forEach(key => keySet.add(key)); });
|
|
195
|
-
menus.filter(item => item.children && item.children.length > 0)
|
|
196
|
-
.forEach(item => this.getAllContextKeys(item.children, keySet));
|
|
172
|
+
getAdditionalClasses(itemPath, item) {
|
|
173
|
+
return item.isEnabled(itemPath, this.props.editorNode) ? '' : ' theia-mod-disabled';
|
|
197
174
|
}
|
|
198
175
|
calculateNumberOfHiddenItems(allMenuItems) {
|
|
199
176
|
return this.state.numberOfHiddenItems >= allMenuItems.length ?
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notebook-main-toolbar.js","sourceRoot":"","sources":["../../../src/browser/view/notebook-main-toolbar.tsx"],"names":[],"mappings":";;;;AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;AAChF,
|
|
1
|
+
{"version":3,"file":"notebook-main-toolbar.js","sourceRoot":"","sources":["../../../src/browser/view/notebook-main-toolbar.tsx"],"names":[],"mappings":";;;;AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;AAChF,sCAA2J;AAC3J,kDAAkD;AAClD,qDAAuE;AACvE,kGAAiG;AAEjG,gFAA2E;AAC3E,4DAAkE;AAClE,qFAAgF;AAChF,kFAA6E;AActE,IAAM,2BAA2B,GAAjC,MAAM,2BAA2B;IAQpC,MAAM,CAAC,aAA4B,EAAE,UAAuB;QACxD,OAAO,oBAAC,mBAAmB,IAAC,aAAa,EAAE,aAAa,EACpD,YAAY,EAAE,IAAI,CAAC,YAAY,EAC/B,qBAAqB,EAAE,IAAI,CAAC,qBAAqB,EACjD,eAAe,EAAE,IAAI,CAAC,eAAe,EACrC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EACzC,UAAU,EAAE,UAAU,EACtB,sBAAsB,EAAE,IAAI,CAAC,sBAAsB,EACnD,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,GAAI,CAAC;IAC1D,CAAC;CACJ,CAAA;AAlBY,kEAA2B;AACc;IAAjD,IAAA,kBAAM,EAAC,+CAAqB,CAAC;sCAA2C,+CAAqB;0EAAC;AACnD;IAA3C,IAAA,kBAAM,EAAC,sBAAe,CAAC;sCAAqC,sBAAe;oEAAC;AAC/B;IAA7C,IAAA,kBAAM,EAAC,wBAAiB,CAAC;sCAAkC,wBAAiB;iEAAC;AAChC;IAA7C,IAAA,kBAAM,EAAC,uCAAiB,CAAC;;sEAAyD;AAChC;IAAlD,IAAA,kBAAM,EAAC,iDAAsB,CAAC;sCAA4C,iDAAsB;2EAAC;AAClD;IAA/C,IAAA,kBAAM,EAAC,6BAAmB,CAAC;sCAAyC,6BAAmB;wEAAC;sCANhF,2BAA2B;IADvC,IAAA,sBAAU,GAAE;GACA,2BAA2B,CAkBvC;AAOD,MAAa,mBAAoB,SAAQ,KAAK,CAAC,SAA6D;IAgBxG,YAAY,KAA+B;;QACvC,KAAK,CAAC,KAAK,CAAC,CAAC;QAZP,cAAS,GAAG,IAAI,2BAAoB,EAAE,CAAC;QAEvC,mBAAc,GAAG;YACvB,6CAAa,CAAC,oCAAoC,CAAC,6CAAa,CAAC,oCAAoC,CAAC,MAAM,GAAG,CAAC,CAAC;YACjH,6CAAa,CAAC,qCAAqC,CAAC,6CAAa,CAAC,qCAAqC,CAAC,MAAM,GAAG,CAAC,CAAC;SAAC,CAAC;QAG/G,wBAAmB,GAAW,CAAC,CAAC;QAEhC,mBAAc,GAAmB,IAAI,cAAc,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC;QAK7F,IAAI,CAAC,KAAK,GAAG;YACT,mBAAmB,EAAE,MAAA,KAAK,CAAC,qBAAqB,CAAC,4BAA4B,CAAC,KAAK,CAAC,aAAa,CAAC,0CAAE,KAAK;YACzG,mBAAmB,EAAE,CAAC;SACzB,CAAC;QACF,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,yBAAyB,CAAC,KAAK,CAAC,EAAE;;YAC9E,IAAI,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAClD,IAAI,CAAC,QAAQ,CAAC,EAAE,mBAAmB,EAAE,MAAA,KAAK,CAAC,qBAAqB,CAAC,SAAS,CAAC,MAAA,KAAK,CAAC,SAAS,mCAAI,EAAE,CAAC,0CAAE,KAAK,EAAE,CAAC,CAAC;YAChH,CAAC;QACL,CAAC,CAAC,CAAC,CAAC;QACJ,oEAAoE;QACpE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,cAAc,CAAC,GAAG,EAAE;;YAChE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,mBAAmB,EAAE,CAAC;gBAClC,IAAI,CAAC,QAAQ,CAAC,EAAE,mBAAmB,EAAE,MAAA,KAAK,CAAC,qBAAqB,CAAC,4BAA4B,CAAC,KAAK,CAAC,aAAa,CAAC,0CAAE,KAAK,EAAE,CAAC,CAAC;YACjI,CAAC;QACL,CAAC,CAAC,CAAC,CAAC;QAEJ,yFAAyF;QACzF,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACtC,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;YAC3B,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACnB,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;YAC/C,CAAC;QACL,CAAC;IACL,CAAC;IAEQ,oBAAoB;QACzB,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAEQ,kBAAkB;QACvB,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAChC,CAAC;IAEQ,iBAAiB;QACtB,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAChC,CAAC;IAES,oBAAoB;QAC1B,MAAM,iBAAiB,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC;QACrD,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,qBAAqB,EAAE,CAAC,KAAK,GAAG,mBAAmB,CAAC,aAAa,IAAI,IAAI,CAAC,KAAK,CAAC,mBAAmB,GAAG,iBAAiB,EAAE,CAAC;YAC7J,IAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,mBAAmB,EAAE,IAAI,CAAC,KAAK,CAAC,mBAAmB,GAAG,CAAC,EAAE,CAAC,CAAC;YAC1F,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,UAAU,CAAC,qBAAqB,EAAE,CAAC,KAAK,CAAC;QAC7E,CAAC;aAAM,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,qBAAqB,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,KAAK,CAAC,mBAAmB,GAAG,CAAC,EAAE,CAAC;YAC3I,IAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,mBAAmB,EAAE,CAAC,EAAE,CAAC,CAAC;YACzD,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,UAAU,CAAC,qBAAqB,EAAE,CAAC,KAAK,CAAC;QAC7E,CAAC;IACL,CAAC;IAES,iBAAiB,CAAC,KAAiB,EAAE,SAA8B;QACzE,MAAM,WAAW,GAAG,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,4BAA4B,CAAC,SAAS,CAAC,CAAC,CAAC;QAErG,MAAM,IAAI,GAAG,IAAI,gBAAS,CAAC,6CAAa,CAAC,+CAA+C,CAAC,CAAC,CAAC,CAAC,CAAC;QAE7F,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QAEhD,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,MAAM,CAAC;YAClC,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,6CAAa,CAAC,+CAA+C;YACvE,IAAI,EAAE,IAAI;YACV,iBAAiB,EAAE,IAAI,CAAC,KAAK,CAAC,iBAAiB;YAC/C,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU;YAC9B,IAAI,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC;SACvC,CAAC,CAAC;IACP,CAAC;IAEQ,MAAM;;QACX,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACtC,OAAO,6BAAK,SAAS,EAAC,6BAA6B,EAAC,EAAE,EAAC,uBAAuB;YACzE,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,4BAA4B,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,6CAAa,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC;YAE5J,IAAI,CAAC,KAAK,CAAC,mBAAmB,GAAG,CAAC;gBAClC,8BAAM,SAAS,EAAE,GAAG,IAAA,iBAAO,EAAC,UAAU,CAAC,gDAAgD,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,WAAW,EAAE,SAAS,CAAC,GAAI;YAE/J,6BAAK,GAAG,EAAE,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAQ;YACpF,6BAAK,SAAS,EAAC,+CAA+C,EAAC,EAAE,EAAE,gDAAgB,CAAC,qBAAqB,CAAC,EAAE,EACxG,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,cAAc,CAAC,gDAAgB,CAAC,qBAAqB,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;gBAC7H,8BAAM,SAAS,EAAE,IAAA,iBAAO,EAAC,oBAAoB,CAAC,GAAI;gBAClD,8BAAM,SAAS,EAAC,wCAAwC,EAAC,EAAE,EAAC,aAAa,IACpE,MAAA,IAAI,CAAC,KAAK,CAAC,mBAAmB,mCAAI,UAAG,CAAC,iBAAiB,CAAC,eAAe,CAAC,CACtE,CACL,CACH,CAAC;IACZ,CAAC;IAES,iBAAiB,CAAC,OAA8B;QACtD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACnD,CAAC;QACD,IAAI,CAAC,UAAU,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,SAAS,CAAC;QACvC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,UAAU,CAAC,qBAAqB,EAAE,CAAC,KAAK,CAAC;YACzE,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACjD,CAAC;IACL,CAAC;IAES,cAAc,CAAI,QAAkB,EAAE,IAAc,EAAE,OAAgB;;QAC5E,IAAI,YAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACjB,MAAM,SAAS,GAAG,iBAAU,CAAC,QAAQ,CAAC,MAAA,MAAA,IAAI,CAAC,QAAQ,0CAAE,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,GAAG,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,mCAAI,EAAE,CAAC,CAAC;YACvI,OAAO,oBAAC,KAAK,CAAC,QAAQ,IAAC,GAAG,EAAE,IAAI,CAAC,EAAE;gBAC9B,SAAS;gBACT,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,8BAAM,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,YAAY,EAAE,SAAS,EAAC,kCAAkC,GAAQ,CAChH,CAAC;QACtB,CAAC;aAAM,IAAI,kBAAW,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;YAClK,OAAO,6BAAK,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,gDAAgD,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,EAC5J,OAAO,EAAE,GAAG,EAAE;oBACV,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;gBACrD,CAAC;gBACD,8BAAM,SAAS,EAAE,IAAI,CAAC,IAAI,GAAI;gBAC9B,8BAAM,SAAS,EAAC,uCAAuC,IAAE,IAAI,CAAC,KAAK,CAAQ,CACzE,CAAC;QACX,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAES,YAAY;QAClB,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,6CAAa,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC;IACzF,CAAC;IAES,oBAAoB,CAAC,QAAkB,EAAE,IAAiB;QAChE,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC;IACxF,CAAC;IAES,4BAA4B,CAAC,YAAiC;QACpE,OAAO,IAAI,CAAC,KAAK,CAAC,mBAAmB,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;YAC1D,YAAY,CAAC,MAAM,CAAC,CAAC;YACrB,IAAI,CAAC,KAAK,CAAC,mBAAmB,GAAG,YAAY,CAAC,MAAM,CAAC;IAC7D,CAAC;;AAjJL,kDAkJC;AAhJG,yFAAyF;AACzE,iCAAa,GAAG,EAAE,AAAL,CAAM"}
|
package/package.json
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@theia/notebook",
|
|
3
|
-
"version": "1.62.0
|
|
3
|
+
"version": "1.62.0",
|
|
4
4
|
"description": "Theia - Notebook Extension",
|
|
5
5
|
"dependencies": {
|
|
6
|
-
"@theia/core": "1.62.0
|
|
7
|
-
"@theia/editor": "1.62.0
|
|
8
|
-
"@theia/filesystem": "1.62.0
|
|
9
|
-
"@theia/monaco": "1.62.0
|
|
6
|
+
"@theia/core": "1.62.0",
|
|
7
|
+
"@theia/editor": "1.62.0",
|
|
8
|
+
"@theia/filesystem": "1.62.0",
|
|
9
|
+
"@theia/monaco": "1.62.0",
|
|
10
10
|
"@theia/monaco-editor-core": "1.96.302",
|
|
11
|
-
"@theia/outline-view": "1.62.0
|
|
11
|
+
"@theia/outline-view": "1.62.0",
|
|
12
12
|
"advanced-mark.js": "^2.6.0",
|
|
13
13
|
"react-perfect-scrollbar": "^1.5.8",
|
|
14
14
|
"tslib": "^2.6.2"
|
|
@@ -46,12 +46,12 @@
|
|
|
46
46
|
"watch": "theiaext watch"
|
|
47
47
|
},
|
|
48
48
|
"devDependencies": {
|
|
49
|
-
"@theia/ext-scripts": "1.
|
|
49
|
+
"@theia/ext-scripts": "1.62.0",
|
|
50
50
|
"@types/markdown-it": "^12.2.3",
|
|
51
51
|
"@types/vscode-notebook-renderer": "^1.72.0"
|
|
52
52
|
},
|
|
53
53
|
"nyc": {
|
|
54
54
|
"extends": "../../configs/nyc.json"
|
|
55
55
|
},
|
|
56
|
-
"gitHead": "
|
|
56
|
+
"gitHead": "a4e035ccc26fde24c2769a466cb18e3b54c517c5"
|
|
57
57
|
}
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
15
15
|
// *****************************************************************************
|
|
16
16
|
|
|
17
|
-
import { Command, CommandContribution, CommandHandler, CommandRegistry,
|
|
17
|
+
import { Command, CommandContribution, CommandHandler, CommandRegistry, MenuContribution, MenuModelRegistry, nls, URI } from '@theia/core';
|
|
18
18
|
import { inject, injectable } from '@theia/core/shared/inversify';
|
|
19
19
|
import { ApplicationShell, codicon, KeybindingContribution, KeybindingRegistry } from '@theia/core/lib/browser';
|
|
20
20
|
import { NotebookModel } from '../view-model/notebook-model';
|
|
@@ -297,9 +297,8 @@ export class NotebookActionsContribution implements CommandContribution, MenuCon
|
|
|
297
297
|
|
|
298
298
|
registerMenus(menus: MenuModelRegistry): void {
|
|
299
299
|
// independent submenu for plugins to add commands
|
|
300
|
-
menus.
|
|
300
|
+
menus.registerSubmenu(NotebookMenus.NOTEBOOK_MAIN_TOOLBAR, 'Notebook Main Toolbar');
|
|
301
301
|
// Add Notebook Cell items
|
|
302
|
-
menus.registerSubmenu(NotebookMenus.NOTEBOOK_MAIN_TOOLBAR_CELL_ADD_GROUP, 'Add Notebook Cell', { role: CompoundMenuNodeRole.Group });
|
|
303
302
|
menus.registerMenuAction(NotebookMenus.NOTEBOOK_MAIN_TOOLBAR_CELL_ADD_GROUP, {
|
|
304
303
|
commandId: NotebookCommands.ADD_NEW_CODE_CELL_COMMAND.id,
|
|
305
304
|
label: nls.localizeByDefault('Code'),
|
|
@@ -312,7 +311,6 @@ export class NotebookActionsContribution implements CommandContribution, MenuCon
|
|
|
312
311
|
});
|
|
313
312
|
|
|
314
313
|
// Execution related items
|
|
315
|
-
menus.registerSubmenu(NotebookMenus.NOTEBOOK_MAIN_TOOLBAR_EXECUTION_GROUP, 'Cell Execution', { role: CompoundMenuNodeRole.Group });
|
|
316
314
|
menus.registerMenuAction(NotebookMenus.NOTEBOOK_MAIN_TOOLBAR_EXECUTION_GROUP, {
|
|
317
315
|
commandId: NotebookCommands.EXECUTE_NOTEBOOK_COMMAND.id,
|
|
318
316
|
label: nls.localizeByDefault('Run All'),
|
|
@@ -327,7 +325,7 @@ export class NotebookActionsContribution implements CommandContribution, MenuCon
|
|
|
327
325
|
when: NOTEBOOK_HAS_OUTPUTS
|
|
328
326
|
});
|
|
329
327
|
|
|
330
|
-
menus.
|
|
328
|
+
menus.registerSubmenu(NotebookMenus.NOTEBOOK_MAIN_TOOLBAR_HIDDEN_ITEMS_CONTEXT_MENU, '');
|
|
331
329
|
}
|
|
332
330
|
|
|
333
331
|
registerKeybindings(keybindings: KeybindingRegistry): void {
|
|
@@ -375,8 +373,8 @@ export class NotebookActionsContribution implements CommandContribution, MenuCon
|
|
|
375
373
|
}
|
|
376
374
|
|
|
377
375
|
export namespace NotebookMenus {
|
|
378
|
-
export const NOTEBOOK_MAIN_TOOLBAR = 'notebook
|
|
379
|
-
export const NOTEBOOK_MAIN_TOOLBAR_CELL_ADD_GROUP = [NOTEBOOK_MAIN_TOOLBAR, 'cell-add-group'];
|
|
380
|
-
export const NOTEBOOK_MAIN_TOOLBAR_EXECUTION_GROUP = [NOTEBOOK_MAIN_TOOLBAR, 'cell-execution-group'];
|
|
381
|
-
export const NOTEBOOK_MAIN_TOOLBAR_HIDDEN_ITEMS_CONTEXT_MENU = 'notebook-main-toolbar-hidden-items-context-menu';
|
|
376
|
+
export const NOTEBOOK_MAIN_TOOLBAR = ['notebook', 'toolbar'];
|
|
377
|
+
export const NOTEBOOK_MAIN_TOOLBAR_CELL_ADD_GROUP = [...NOTEBOOK_MAIN_TOOLBAR, 'cell-add-group'];
|
|
378
|
+
export const NOTEBOOK_MAIN_TOOLBAR_EXECUTION_GROUP = [...NOTEBOOK_MAIN_TOOLBAR, 'cell-execution-group'];
|
|
379
|
+
export const NOTEBOOK_MAIN_TOOLBAR_HIDDEN_ITEMS_CONTEXT_MENU = ['notebook-main-toolbar-hidden-items-context-menu'];
|
|
382
380
|
}
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
15
15
|
// *****************************************************************************
|
|
16
16
|
|
|
17
|
-
import { Command, CommandContribution, CommandHandler, CommandRegistry,
|
|
17
|
+
import { Command, CommandContribution, CommandHandler, CommandRegistry, MenuContribution, MenuModelRegistry, nls } from '@theia/core';
|
|
18
18
|
import { codicon, Key, KeybindingContribution, KeybindingRegistry, KeyCode, KeyModifier } from '@theia/core/lib/browser';
|
|
19
19
|
import { inject, injectable, postConstruct } from '@theia/core/shared/inversify';
|
|
20
20
|
import { NotebookModel } from '../view-model/notebook-model';
|
|
@@ -234,15 +234,17 @@ export class NotebookCellActionContribution implements MenuContribution, Command
|
|
|
234
234
|
NotebookCellActionContribution.ADDITIONAL_ACTION_MENU,
|
|
235
235
|
nls.localizeByDefault('More'),
|
|
236
236
|
{
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
order: '30'
|
|
237
|
+
sortString: '30',
|
|
238
|
+
icon: codicon('ellipsis')
|
|
240
239
|
}
|
|
241
240
|
);
|
|
242
241
|
|
|
243
|
-
menus.
|
|
242
|
+
menus.registerSubmenu(NotebookCellActionContribution.CONTRIBUTED_CELL_ACTION_MENU, '');
|
|
244
243
|
// since contributions are adding to an independent submenu we have to manually add it to the more submenu
|
|
245
|
-
menus.
|
|
244
|
+
menus.linkCompoundMenuNode({
|
|
245
|
+
newParentPath: NotebookCellActionContribution.ADDITIONAL_ACTION_MENU,
|
|
246
|
+
submenuPath: NotebookCellActionContribution.CONTRIBUTED_CELL_ACTION_MENU
|
|
247
|
+
});
|
|
246
248
|
|
|
247
249
|
// code cell sidebar menu
|
|
248
250
|
menus.registerMenuAction(NotebookCellActionContribution.CODE_CELL_SIDEBAR_MENU, {
|
|
@@ -259,19 +261,17 @@ export class NotebookCellActionContribution implements MenuContribution, Command
|
|
|
259
261
|
});
|
|
260
262
|
|
|
261
263
|
// Notebook Cell extra execution options
|
|
262
|
-
menus.
|
|
264
|
+
menus.registerSubmenu(NotebookCellActionContribution.CONTRIBUTED_CELL_EXECUTION_MENU,
|
|
263
265
|
nls.localizeByDefault('More...'),
|
|
264
|
-
{
|
|
266
|
+
{ icon: codicon('chevron-down') });
|
|
265
267
|
// menus.getMenu(NotebookCellActionContribution.CODE_CELL_SIDEBAR_MENU).addNode(menus.getMenuNode(NotebookCellActionContribution.CONTRIBUTED_CELL_EXECUTION_MENU));
|
|
266
268
|
|
|
267
269
|
// code cell output sidebar menu
|
|
268
270
|
menus.registerSubmenu(
|
|
269
271
|
NotebookCellActionContribution.ADDITIONAL_OUTPUT_SIDEBAR_MENU,
|
|
270
272
|
nls.localizeByDefault('More'),
|
|
271
|
-
{
|
|
272
|
-
|
|
273
|
-
role: CompoundMenuNodeRole.Submenu
|
|
274
|
-
});
|
|
273
|
+
{ icon: codicon('ellipsis') }
|
|
274
|
+
);
|
|
275
275
|
menus.registerMenuAction(NotebookCellActionContribution.ADDITIONAL_OUTPUT_SIDEBAR_MENU, {
|
|
276
276
|
commandId: NotebookCellCommands.CLEAR_OUTPUTS_COMMAND.id,
|
|
277
277
|
label: nls.localizeByDefault('Clear Cell Outputs'),
|
|
@@ -565,8 +565,8 @@ export class NotebookCellActionContribution implements MenuContribution, Command
|
|
|
565
565
|
export namespace NotebookCellActionContribution {
|
|
566
566
|
export const ACTION_MENU = ['notebook-cell-actions-menu'];
|
|
567
567
|
export const ADDITIONAL_ACTION_MENU = [...ACTION_MENU, 'more'];
|
|
568
|
-
export const CONTRIBUTED_CELL_ACTION_MENU = 'notebook/cell/title';
|
|
569
|
-
export const CONTRIBUTED_CELL_EXECUTION_MENU = 'notebook/cell/execute';
|
|
568
|
+
export const CONTRIBUTED_CELL_ACTION_MENU = ['notebook/cell/title'];
|
|
569
|
+
export const CONTRIBUTED_CELL_EXECUTION_MENU = ['notebook/cell/execute'];
|
|
570
570
|
export const CODE_CELL_SIDEBAR_MENU = ['code-cell-sidebar-menu'];
|
|
571
571
|
export const OUTPUT_SIDEBAR_MENU = ['code-cell-output-sidebar-menu'];
|
|
572
572
|
export const ADDITIONAL_OUTPUT_SIDEBAR_MENU = [...OUTPUT_SIDEBAR_MENU, 'more'];
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
|
|
17
17
|
import { inject, injectable } from '@theia/core/shared/inversify';
|
|
18
18
|
import { ContextKeyChangeEvent, ContextKeyService, ContextMatcher, ScopedValueStore } from '@theia/core/lib/browser/context-key-service';
|
|
19
|
-
import { DisposableCollection
|
|
19
|
+
import { DisposableCollection } from '@theia/core';
|
|
20
20
|
import { NotebookKernelService } from './notebook-kernel-service';
|
|
21
21
|
import {
|
|
22
22
|
NOTEBOOK_CELL_EDITABLE,
|
|
@@ -43,9 +43,6 @@ export class NotebookContextManager {
|
|
|
43
43
|
|
|
44
44
|
protected readonly toDispose = new DisposableCollection();
|
|
45
45
|
|
|
46
|
-
protected readonly onDidChangeContextEmitter = new Emitter<ContextKeyChangeEvent>();
|
|
47
|
-
readonly onDidChangeContext = this.onDidChangeContextEmitter.event;
|
|
48
|
-
|
|
49
46
|
protected _context?: HTMLElement;
|
|
50
47
|
|
|
51
48
|
scopedStore: ScopedValueStore;
|
|
@@ -72,14 +69,12 @@ export class NotebookContextManager {
|
|
|
72
69
|
if (e.notebook.toString() === widget?.getResourceUri()?.toString()) {
|
|
73
70
|
this.scopedStore.setContext(NOTEBOOK_KERNEL_SELECTED, !!e.newKernel);
|
|
74
71
|
this.scopedStore.setContext(NOTEBOOK_KERNEL, e.newKernel);
|
|
75
|
-
this.onDidChangeContextEmitter.fire(this.createContextKeyChangedEvent([NOTEBOOK_KERNEL_SELECTED, NOTEBOOK_KERNEL]));
|
|
76
72
|
}
|
|
77
73
|
}));
|
|
78
74
|
|
|
79
75
|
widget.model?.onDidChangeContent(events => {
|
|
80
76
|
if (events.some(e => e.kind === NotebookCellsChangeType.ModelChange || e.kind === NotebookCellsChangeType.Output)) {
|
|
81
77
|
this.scopedStore.setContext(NOTEBOOK_HAS_OUTPUTS, widget.model?.cells.some(cell => cell.outputs.length > 0));
|
|
82
|
-
this.onDidChangeContextEmitter.fire(this.createContextKeyChangedEvent([NOTEBOOK_HAS_OUTPUTS]));
|
|
83
78
|
}
|
|
84
79
|
});
|
|
85
80
|
|
|
@@ -91,23 +86,18 @@ export class NotebookContextManager {
|
|
|
91
86
|
widget.model?.onDidChangeSelectedCell(e => {
|
|
92
87
|
this.selectedCellChanged(e.cell);
|
|
93
88
|
this.scopedStore.setContext(NOTEBOOK_CELL_FOCUSED, !!e);
|
|
94
|
-
this.onDidChangeContextEmitter.fire(this.createContextKeyChangedEvent([NOTEBOOK_CELL_FOCUSED]));
|
|
95
89
|
});
|
|
96
90
|
|
|
97
91
|
this.toDispose.push(this.executionStateService.onDidChangeExecution(e => {
|
|
98
92
|
if (e.notebook.toString() === widget.model?.uri.toString()) {
|
|
99
93
|
this.setCellContext(e.cellHandle, NOTEBOOK_CELL_EXECUTING, !!e.changed);
|
|
100
94
|
this.setCellContext(e.cellHandle, NOTEBOOK_CELL_EXECUTION_STATE, e.changed?.state ?? 'idle');
|
|
101
|
-
this.onDidChangeContextEmitter.fire(this.createContextKeyChangedEvent([NOTEBOOK_CELL_EXECUTING, NOTEBOOK_CELL_EXECUTION_STATE]));
|
|
102
95
|
}
|
|
103
96
|
}));
|
|
104
97
|
|
|
105
98
|
widget.onDidChangeOutputInputFocus(focus => {
|
|
106
99
|
this.scopedStore.setContext(NOTEBOOK_OUTPUT_INPUT_FOCUSED, focus);
|
|
107
|
-
this.onDidChangeContextEmitter.fire(this.createContextKeyChangedEvent([NOTEBOOK_OUTPUT_INPUT_FOCUSED]));
|
|
108
100
|
});
|
|
109
|
-
|
|
110
|
-
this.onDidChangeContextEmitter.fire(this.createContextKeyChangedEvent([NOTEBOOK_VIEW_TYPE, NOTEBOOK_KERNEL_SELECTED, NOTEBOOK_KERNEL]));
|
|
111
101
|
}
|
|
112
102
|
|
|
113
103
|
protected cellDisposables = new DisposableCollection();
|
|
@@ -123,12 +113,8 @@ export class NotebookContextManager {
|
|
|
123
113
|
this.cellDisposables.push(cell.onDidRequestCellEditChange(cellEdit => {
|
|
124
114
|
this.scopedStore.setContext(NOTEBOOK_CELL_MARKDOWN_EDIT_MODE, cellEdit);
|
|
125
115
|
this.scopedStore.setContext(NOTEBOOK_CELL_EDITABLE, cell.cellKind === CellKind.Markup && !cellEdit);
|
|
126
|
-
this.onDidChangeContextEmitter.fire(this.createContextKeyChangedEvent([NOTEBOOK_CELL_MARKDOWN_EDIT_MODE]));
|
|
127
116
|
}));
|
|
128
117
|
}
|
|
129
|
-
|
|
130
|
-
this.onDidChangeContextEmitter.fire(this.createContextKeyChangedEvent([NOTEBOOK_CELL_TYPE]));
|
|
131
|
-
|
|
132
118
|
}
|
|
133
119
|
|
|
134
120
|
protected setCellContext(cellHandle: number, key: string, value: unknown): void {
|