@theia/notebook 1.48.3 → 1.49.1
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 +7 -1
- package/lib/browser/contributions/notebook-actions-contribution.d.ts.map +1 -1
- package/lib/browser/contributions/notebook-actions-contribution.js +81 -7
- package/lib/browser/contributions/notebook-actions-contribution.js.map +1 -1
- package/lib/browser/contributions/notebook-cell-actions-contribution.d.ts +5 -0
- package/lib/browser/contributions/notebook-cell-actions-contribution.d.ts.map +1 -1
- package/lib/browser/contributions/notebook-cell-actions-contribution.js +86 -9
- package/lib/browser/contributions/notebook-cell-actions-contribution.js.map +1 -1
- package/lib/browser/contributions/notebook-label-provider-contribution.d.ts +16 -0
- package/lib/browser/contributions/notebook-label-provider-contribution.d.ts.map +1 -0
- package/lib/browser/contributions/notebook-label-provider-contribution.js +65 -0
- package/lib/browser/contributions/notebook-label-provider-contribution.js.map +1 -0
- package/lib/browser/contributions/notebook-outline-contribution.d.ts +30 -0
- package/lib/browser/contributions/notebook-outline-contribution.d.ts.map +1 -0
- package/lib/browser/contributions/notebook-outline-contribution.js +109 -0
- package/lib/browser/contributions/notebook-outline-contribution.js.map +1 -0
- package/lib/browser/contributions/notebook-output-action-contribution.d.ts +16 -0
- package/lib/browser/contributions/notebook-output-action-contribution.d.ts.map +1 -0
- package/lib/browser/contributions/notebook-output-action-contribution.js +85 -0
- package/lib/browser/contributions/notebook-output-action-contribution.js.map +1 -0
- package/lib/browser/contributions/notebook-preferences.d.ts +4 -0
- package/lib/browser/contributions/notebook-preferences.d.ts.map +1 -0
- package/lib/browser/contributions/notebook-preferences.js +31 -0
- package/lib/browser/contributions/notebook-preferences.js.map +1 -0
- package/lib/browser/notebook-cell-resource-resolver.d.ts +4 -0
- package/lib/browser/notebook-cell-resource-resolver.d.ts.map +1 -1
- package/lib/browser/notebook-cell-resource-resolver.js +35 -2
- package/lib/browser/notebook-cell-resource-resolver.js.map +1 -1
- package/lib/browser/notebook-editor-widget-factory.d.ts +1 -0
- package/lib/browser/notebook-editor-widget-factory.d.ts.map +1 -1
- package/lib/browser/notebook-editor-widget-factory.js +17 -3
- package/lib/browser/notebook-editor-widget-factory.js.map +1 -1
- package/lib/browser/notebook-editor-widget.d.ts +5 -1
- package/lib/browser/notebook-editor-widget.d.ts.map +1 -1
- package/lib/browser/notebook-editor-widget.js +20 -2
- package/lib/browser/notebook-editor-widget.js.map +1 -1
- package/lib/browser/notebook-frontend-module.d.ts.map +1 -1
- package/lib/browser/notebook-frontend-module.js +15 -2
- package/lib/browser/notebook-frontend-module.js.map +1 -1
- package/lib/browser/notebook-open-handler.d.ts +14 -9
- package/lib/browser/notebook-open-handler.d.ts.map +1 -1
- package/lib/browser/notebook-open-handler.js +38 -16
- package/lib/browser/notebook-open-handler.js.map +1 -1
- package/lib/browser/notebook-type-registry.d.ts +5 -1
- package/lib/browser/notebook-type-registry.d.ts.map +1 -1
- package/lib/browser/notebook-type-registry.js +27 -7
- package/lib/browser/notebook-type-registry.js.map +1 -1
- package/lib/browser/notebook-types.d.ts +2 -0
- package/lib/browser/notebook-types.d.ts.map +1 -1
- package/lib/browser/notebook-types.js.map +1 -1
- package/lib/browser/service/notebook-clipboard-service.d.ts +10 -0
- package/lib/browser/service/notebook-clipboard-service.d.ts.map +1 -0
- package/lib/browser/service/notebook-clipboard-service.js +42 -0
- package/lib/browser/service/notebook-clipboard-service.js.map +1 -0
- package/lib/browser/service/notebook-context-manager.d.ts +4 -1
- package/lib/browser/service/notebook-context-manager.d.ts.map +1 -1
- package/lib/browser/service/notebook-context-manager.js +33 -12
- package/lib/browser/service/notebook-context-manager.js.map +1 -1
- package/lib/browser/service/notebook-service.d.ts.map +1 -1
- package/lib/browser/service/notebook-service.js +4 -0
- package/lib/browser/service/notebook-service.js.map +1 -1
- package/lib/browser/view/notebook-cell-editor.d.ts.map +1 -1
- package/lib/browser/view/notebook-cell-editor.js +11 -2
- package/lib/browser/view/notebook-cell-editor.js.map +1 -1
- package/lib/browser/view/notebook-cell-list-view.d.ts.map +1 -1
- package/lib/browser/view/notebook-cell-list-view.js +4 -2
- package/lib/browser/view/notebook-cell-list-view.js.map +1 -1
- package/lib/browser/view/notebook-cell-toolbar-factory.d.ts +6 -4
- package/lib/browser/view/notebook-cell-toolbar-factory.d.ts.map +1 -1
- package/lib/browser/view/notebook-cell-toolbar-factory.js +21 -18
- package/lib/browser/view/notebook-cell-toolbar-factory.js.map +1 -1
- package/lib/browser/view/notebook-cell-toolbar.d.ts.map +1 -1
- package/lib/browser/view/notebook-cell-toolbar.js +3 -2
- package/lib/browser/view/notebook-cell-toolbar.js.map +1 -1
- package/lib/browser/view/notebook-code-cell-view.d.ts +5 -1
- package/lib/browser/view/notebook-code-cell-view.d.ts.map +1 -1
- package/lib/browser/view/notebook-code-cell-view.js +45 -17
- package/lib/browser/view/notebook-code-cell-view.js.map +1 -1
- package/lib/browser/view/notebook-main-toolbar.d.ts +5 -3
- package/lib/browser/view/notebook-main-toolbar.d.ts.map +1 -1
- package/lib/browser/view/notebook-main-toolbar.js +17 -9
- package/lib/browser/view/notebook-main-toolbar.js.map +1 -1
- package/lib/browser/view/notebook-markdown-cell-view.js +11 -8
- package/lib/browser/view/notebook-markdown-cell-view.js.map +1 -1
- package/lib/browser/view-model/notebook-cell-model.d.ts +20 -0
- package/lib/browser/view-model/notebook-cell-model.d.ts.map +1 -1
- package/lib/browser/view-model/notebook-cell-model.js +61 -2
- package/lib/browser/view-model/notebook-cell-model.js.map +1 -1
- package/lib/browser/view-model/notebook-model.d.ts +4 -2
- package/lib/browser/view-model/notebook-model.d.ts.map +1 -1
- package/lib/browser/view-model/notebook-model.js +25 -14
- package/lib/browser/view-model/notebook-model.js.map +1 -1
- package/lib/common/notebook-common.d.ts +7 -1
- package/lib/common/notebook-common.d.ts.map +1 -1
- package/lib/common/notebook-common.js +28 -4
- package/lib/common/notebook-common.js.map +1 -1
- package/package.json +9 -7
- package/src/browser/contributions/notebook-actions-contribution.ts +90 -9
- package/src/browser/contributions/notebook-cell-actions-contribution.ts +88 -11
- package/src/browser/contributions/notebook-label-provider-contribution.ts +63 -0
- package/src/browser/contributions/notebook-outline-contribution.ts +112 -0
- package/src/browser/contributions/notebook-output-action-contribution.ts +82 -0
- package/src/browser/contributions/notebook-preferences.ts +31 -0
- package/src/browser/notebook-cell-resource-resolver.ts +39 -1
- package/src/browser/notebook-editor-widget-factory.ts +18 -5
- package/src/browser/notebook-editor-widget.tsx +20 -2
- package/src/browser/notebook-frontend-module.ts +20 -4
- package/src/browser/notebook-open-handler.ts +48 -20
- package/src/browser/notebook-type-registry.ts +26 -6
- package/src/browser/notebook-types.ts +2 -0
- package/src/browser/service/notebook-clipboard-service.ts +43 -0
- package/src/browser/service/notebook-context-manager.ts +36 -10
- package/src/browser/service/notebook-service.ts +4 -0
- package/src/browser/style/index.css +19 -4
- package/src/browser/view/notebook-cell-editor.tsx +12 -2
- package/src/browser/view/notebook-cell-list-view.tsx +5 -2
- package/src/browser/view/notebook-cell-toolbar-factory.tsx +17 -15
- package/src/browser/view/notebook-cell-toolbar.tsx +3 -2
- package/src/browser/view/notebook-code-cell-view.tsx +51 -18
- package/src/browser/view/notebook-main-toolbar.tsx +20 -11
- package/src/browser/view/notebook-markdown-cell-view.tsx +12 -7
- package/src/browser/view-model/notebook-cell-model.ts +70 -2
- package/src/browser/view-model/notebook-model.ts +29 -16
- package/src/common/notebook-common.ts +29 -4
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { FrontendApplicationContribution, LabelProvider } from '@theia/core/lib/browser';
|
|
2
|
+
import { NotebookEditorWidgetService } from '../service/notebook-editor-widget-service';
|
|
3
|
+
import { OutlineViewService } from '@theia/outline-view/lib/browser/outline-view-service';
|
|
4
|
+
import { NotebookModel } from '../view-model/notebook-model';
|
|
5
|
+
import { OutlineSymbolInformationNode } from '@theia/outline-view/lib/browser/outline-view-widget';
|
|
6
|
+
import { NotebookEditorWidget } from '../notebook-editor-widget';
|
|
7
|
+
import { NotebookCellModel } from '../view-model/notebook-cell-model';
|
|
8
|
+
import { DisposableCollection, URI } from '@theia/core';
|
|
9
|
+
import { NotebookService } from '../service/notebook-service';
|
|
10
|
+
export interface NotebookCellOutlineNode extends OutlineSymbolInformationNode {
|
|
11
|
+
notebookCell: NotebookCellModel;
|
|
12
|
+
uri: URI;
|
|
13
|
+
}
|
|
14
|
+
export declare namespace NotebookCellOutlineNode {
|
|
15
|
+
function is(element: object): element is NotebookCellOutlineNode;
|
|
16
|
+
}
|
|
17
|
+
export declare class NotebookOutlineContribution implements FrontendApplicationContribution {
|
|
18
|
+
protected readonly notebookEditorWidgetService: NotebookEditorWidgetService;
|
|
19
|
+
protected readonly outlineViewService: OutlineViewService;
|
|
20
|
+
protected readonly labelProvider: LabelProvider;
|
|
21
|
+
protected readonly notebookService: NotebookService;
|
|
22
|
+
protected currentEditor?: NotebookEditorWidget;
|
|
23
|
+
protected editorListeners: DisposableCollection;
|
|
24
|
+
protected editorModelListeners: DisposableCollection;
|
|
25
|
+
onStart(): void;
|
|
26
|
+
protected updateOutline(editor: NotebookEditorWidget | undefined): Promise<void>;
|
|
27
|
+
protected createRoots(model: NotebookModel): Promise<OutlineSymbolInformationNode[] | undefined>;
|
|
28
|
+
selectCell(node: object): void;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=notebook-outline-contribution.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notebook-outline-contribution.d.ts","sourceRoot":"","sources":["../../../src/browser/contributions/notebook-outline-contribution.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAW,+BAA+B,EAAE,aAAa,EAAY,MAAM,yBAAyB,CAAC;AAC5G,OAAO,EAAE,2BAA2B,EAAE,MAAM,2CAA2C,CAAC;AACxF,OAAO,EAAE,kBAAkB,EAAE,MAAM,sDAAsD,CAAC;AAC1F,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,4BAA4B,EAAE,MAAM,qDAAqD,CAAC;AACnG,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAExD,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,MAAM,WAAW,uBAAwB,SAAQ,4BAA4B;IACzE,YAAY,EAAE,iBAAiB,CAAC;IAChC,GAAG,EAAE,GAAG,CAAC;CACZ;AAED,yBAAiB,uBAAuB,CAAC;IACrC,SAAgB,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,IAAI,uBAAuB,CAEtE;CACJ;AAED,qBACa,2BAA4B,YAAW,+BAA+B;IAG/E,SAAS,CAAC,QAAQ,CAAC,2BAA2B,EAAE,2BAA2B,CAAC;IAG5E,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;IAG1D,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAGhD,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAEpD,SAAS,CAAC,aAAa,CAAC,EAAE,oBAAoB,CAAC;IAE/C,SAAS,CAAC,eAAe,EAAE,oBAAoB,CAA8B;IAC7E,SAAS,CAAC,oBAAoB,EAAE,oBAAoB,CAA8B;IAElF,OAAO,IAAI,IAAI;cAOC,aAAa,CAAC,MAAM,EAAE,oBAAoB,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;cAuBtE,WAAW,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,4BAA4B,EAAE,GAAG,SAAS,CAAC;IAatG,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;CAUjC"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 2024 TypeFox and others.
|
|
4
|
+
//
|
|
5
|
+
// This program and the accompanying materials are made available under the
|
|
6
|
+
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
7
|
+
// http://www.eclipse.org/legal/epl-2.0.
|
|
8
|
+
//
|
|
9
|
+
// This Source Code may also be made available under the following Secondary
|
|
10
|
+
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
11
|
+
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
12
|
+
// with the GNU Classpath Exception which is available at
|
|
13
|
+
// https://www.gnu.org/software/classpath/license.html.
|
|
14
|
+
//
|
|
15
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
16
|
+
// *****************************************************************************
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.NotebookOutlineContribution = exports.NotebookCellOutlineNode = void 0;
|
|
19
|
+
const tslib_1 = require("tslib");
|
|
20
|
+
const inversify_1 = require("@theia/core/shared/inversify");
|
|
21
|
+
const browser_1 = require("@theia/core/lib/browser");
|
|
22
|
+
const notebook_editor_widget_service_1 = require("../service/notebook-editor-widget-service");
|
|
23
|
+
const outline_view_service_1 = require("@theia/outline-view/lib/browser/outline-view-service");
|
|
24
|
+
const outline_view_widget_1 = require("@theia/outline-view/lib/browser/outline-view-widget");
|
|
25
|
+
const core_1 = require("@theia/core");
|
|
26
|
+
const common_1 = require("../../common");
|
|
27
|
+
const notebook_service_1 = require("../service/notebook-service");
|
|
28
|
+
var NotebookCellOutlineNode;
|
|
29
|
+
(function (NotebookCellOutlineNode) {
|
|
30
|
+
function is(element) {
|
|
31
|
+
return browser_1.TreeNode.is(element) && outline_view_widget_1.OutlineSymbolInformationNode.is(element) && 'notebookCell' in element;
|
|
32
|
+
}
|
|
33
|
+
NotebookCellOutlineNode.is = is;
|
|
34
|
+
})(NotebookCellOutlineNode = exports.NotebookCellOutlineNode || (exports.NotebookCellOutlineNode = {}));
|
|
35
|
+
let NotebookOutlineContribution = class NotebookOutlineContribution {
|
|
36
|
+
constructor() {
|
|
37
|
+
this.editorListeners = new core_1.DisposableCollection();
|
|
38
|
+
this.editorModelListeners = new core_1.DisposableCollection();
|
|
39
|
+
}
|
|
40
|
+
onStart() {
|
|
41
|
+
this.notebookEditorWidgetService.onDidChangeFocusedEditor(editor => this.updateOutline(editor));
|
|
42
|
+
this.outlineViewService.onDidSelect(node => this.selectCell(node));
|
|
43
|
+
this.outlineViewService.onDidTapNode(node => this.selectCell(node));
|
|
44
|
+
}
|
|
45
|
+
async updateOutline(editor) {
|
|
46
|
+
if (editor && !editor.isDisposed) {
|
|
47
|
+
await editor.ready;
|
|
48
|
+
this.currentEditor = editor;
|
|
49
|
+
this.editorListeners.dispose();
|
|
50
|
+
this.editorListeners.push(editor.onDidChangeVisibility(() => {
|
|
51
|
+
if (this.currentEditor === editor && !editor.isVisible) {
|
|
52
|
+
this.outlineViewService.publish([]);
|
|
53
|
+
}
|
|
54
|
+
}));
|
|
55
|
+
if (editor.model) {
|
|
56
|
+
this.editorModelListeners.dispose();
|
|
57
|
+
this.editorModelListeners.push(editor.model.onDidChangeSelectedCell(() => {
|
|
58
|
+
if (editor === this.currentEditor) {
|
|
59
|
+
this.updateOutline(editor);
|
|
60
|
+
}
|
|
61
|
+
}));
|
|
62
|
+
const roots = editor && editor.model && await this.createRoots(editor.model);
|
|
63
|
+
this.outlineViewService.publish(roots || []);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
async createRoots(model) {
|
|
68
|
+
return model.cells.map(cell => ({
|
|
69
|
+
id: cell.uri.toString(),
|
|
70
|
+
iconClass: cell.cellKind === common_1.CellKind.Markup ? (0, browser_1.codicon)('markdown') : (0, browser_1.codicon)('code'),
|
|
71
|
+
parent: undefined,
|
|
72
|
+
children: [],
|
|
73
|
+
selected: model.selectedCell === cell,
|
|
74
|
+
expanded: false,
|
|
75
|
+
notebookCell: cell,
|
|
76
|
+
uri: model.uri,
|
|
77
|
+
}));
|
|
78
|
+
}
|
|
79
|
+
selectCell(node) {
|
|
80
|
+
if (NotebookCellOutlineNode.is(node)) {
|
|
81
|
+
const parsed = common_1.CellUri.parse(node.notebookCell.uri);
|
|
82
|
+
const model = parsed && this.notebookService.getNotebookEditorModel(parsed.notebook);
|
|
83
|
+
if (model) {
|
|
84
|
+
model.setSelectedCell(node.notebookCell);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
};
|
|
89
|
+
(0, tslib_1.__decorate)([
|
|
90
|
+
(0, inversify_1.inject)(notebook_editor_widget_service_1.NotebookEditorWidgetService),
|
|
91
|
+
(0, tslib_1.__metadata)("design:type", notebook_editor_widget_service_1.NotebookEditorWidgetService)
|
|
92
|
+
], NotebookOutlineContribution.prototype, "notebookEditorWidgetService", void 0);
|
|
93
|
+
(0, tslib_1.__decorate)([
|
|
94
|
+
(0, inversify_1.inject)(outline_view_service_1.OutlineViewService),
|
|
95
|
+
(0, tslib_1.__metadata)("design:type", outline_view_service_1.OutlineViewService)
|
|
96
|
+
], NotebookOutlineContribution.prototype, "outlineViewService", void 0);
|
|
97
|
+
(0, tslib_1.__decorate)([
|
|
98
|
+
(0, inversify_1.inject)(browser_1.LabelProvider),
|
|
99
|
+
(0, tslib_1.__metadata)("design:type", browser_1.LabelProvider)
|
|
100
|
+
], NotebookOutlineContribution.prototype, "labelProvider", void 0);
|
|
101
|
+
(0, tslib_1.__decorate)([
|
|
102
|
+
(0, inversify_1.inject)(notebook_service_1.NotebookService),
|
|
103
|
+
(0, tslib_1.__metadata)("design:type", notebook_service_1.NotebookService)
|
|
104
|
+
], NotebookOutlineContribution.prototype, "notebookService", void 0);
|
|
105
|
+
NotebookOutlineContribution = (0, tslib_1.__decorate)([
|
|
106
|
+
(0, inversify_1.injectable)()
|
|
107
|
+
], NotebookOutlineContribution);
|
|
108
|
+
exports.NotebookOutlineContribution = NotebookOutlineContribution;
|
|
109
|
+
//# sourceMappingURL=notebook-outline-contribution.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notebook-outline-contribution.js","sourceRoot":"","sources":["../../../src/browser/contributions/notebook-outline-contribution.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Command, CommandContribution, CommandRegistry } from '@theia/core';
|
|
2
|
+
import { NotebookEditorWidgetService } from '../service/notebook-editor-widget-service';
|
|
3
|
+
import { CellOutput } from '../../common';
|
|
4
|
+
import { NotebookCellModel } from '../view-model/notebook-cell-model';
|
|
5
|
+
import { EditorManager } from '@theia/editor/lib/browser';
|
|
6
|
+
export declare namespace NotebookOutputCommands {
|
|
7
|
+
const ENABLE_SCROLLING: Command;
|
|
8
|
+
const OPEN_LARGE_OUTPUT: Command;
|
|
9
|
+
}
|
|
10
|
+
export declare class NotebookOutputActionContribution implements CommandContribution {
|
|
11
|
+
protected readonly notebookEditorService: NotebookEditorWidgetService;
|
|
12
|
+
protected readonly editorManager: EditorManager;
|
|
13
|
+
registerCommands(commands: CommandRegistry): void;
|
|
14
|
+
protected findOutputAndCell(output: string): [NotebookCellModel, CellOutput] | undefined;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=notebook-output-action-contribution.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notebook-output-action-contribution.d.ts","sourceRoot":"","sources":["../../../src/browser/contributions/notebook-output-action-contribution.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE5E,OAAO,EAAE,2BAA2B,EAAE,MAAM,2CAA2C,CAAC;AACxF,OAAO,EAAE,UAAU,EAAW,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D,yBAAiB,sBAAsB,CAAC;IAC7B,MAAM,gBAAgB,SAE3B,CAAC;IAEI,MAAM,iBAAiB,SAG5B,CAAC;CACN;AAED,qBACa,gCAAiC,YAAW,mBAAmB;IAGxE,SAAS,CAAC,QAAQ,CAAC,qBAAqB,EAAE,2BAA2B,CAAC;IAGtE,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAEhD,gBAAgB,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;IAqBjD,SAAS,CAAC,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,iBAAiB,EAAE,UAAU,CAAC,GAAG,SAAS;CAiB3F"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 2024 TypeFox and others.
|
|
4
|
+
//
|
|
5
|
+
// This program and the accompanying materials are made available under the
|
|
6
|
+
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
7
|
+
// http://www.eclipse.org/legal/epl-2.0.
|
|
8
|
+
//
|
|
9
|
+
// This Source Code may also be made available under the following Secondary
|
|
10
|
+
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
11
|
+
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
12
|
+
// with the GNU Classpath Exception which is available at
|
|
13
|
+
// https://www.gnu.org/software/classpath/license.html.
|
|
14
|
+
//
|
|
15
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
16
|
+
// *****************************************************************************
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.NotebookOutputActionContribution = exports.NotebookOutputCommands = void 0;
|
|
19
|
+
const tslib_1 = require("tslib");
|
|
20
|
+
const core_1 = require("@theia/core");
|
|
21
|
+
const inversify_1 = require("@theia/core/shared/inversify");
|
|
22
|
+
const notebook_editor_widget_service_1 = require("../service/notebook-editor-widget-service");
|
|
23
|
+
const common_1 = require("../../common");
|
|
24
|
+
const browser_1 = require("@theia/editor/lib/browser");
|
|
25
|
+
var NotebookOutputCommands;
|
|
26
|
+
(function (NotebookOutputCommands) {
|
|
27
|
+
NotebookOutputCommands.ENABLE_SCROLLING = core_1.Command.toDefaultLocalizedCommand({
|
|
28
|
+
id: 'cellOutput.enableScrolling',
|
|
29
|
+
});
|
|
30
|
+
NotebookOutputCommands.OPEN_LARGE_OUTPUT = core_1.Command.toDefaultLocalizedCommand({
|
|
31
|
+
id: 'workbench.action.openLargeOutput',
|
|
32
|
+
label: 'Open Large Output'
|
|
33
|
+
});
|
|
34
|
+
})(NotebookOutputCommands = exports.NotebookOutputCommands || (exports.NotebookOutputCommands = {}));
|
|
35
|
+
let NotebookOutputActionContribution = class NotebookOutputActionContribution {
|
|
36
|
+
registerCommands(commands) {
|
|
37
|
+
commands.registerCommand(NotebookOutputCommands.ENABLE_SCROLLING, {
|
|
38
|
+
execute: outputId => {
|
|
39
|
+
var _a;
|
|
40
|
+
const [cell, output] = (_a = this.findOutputAndCell(outputId)) !== null && _a !== void 0 ? _a : [];
|
|
41
|
+
if (cell && (output === null || output === void 0 ? void 0 : output.metadata)) {
|
|
42
|
+
output.metadata['scrollable'] = true;
|
|
43
|
+
cell.restartOutputRenderer(output.outputId);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
commands.registerCommand(NotebookOutputCommands.OPEN_LARGE_OUTPUT, {
|
|
48
|
+
execute: outputId => {
|
|
49
|
+
var _a;
|
|
50
|
+
const [cell, output] = (_a = this.findOutputAndCell(outputId)) !== null && _a !== void 0 ? _a : [];
|
|
51
|
+
if (cell && output) {
|
|
52
|
+
this.editorManager.open(common_1.CellUri.generateCellOutputUri(common_1.CellUri.parse(cell.uri).notebook, output.outputId));
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
findOutputAndCell(output) {
|
|
58
|
+
var _a;
|
|
59
|
+
const model = (_a = this.notebookEditorService.focusedEditor) === null || _a === void 0 ? void 0 : _a.model;
|
|
60
|
+
if (!model) {
|
|
61
|
+
return undefined;
|
|
62
|
+
}
|
|
63
|
+
const outputId = output.slice(0, output.lastIndexOf('-'));
|
|
64
|
+
for (const cell of model.cells) {
|
|
65
|
+
for (const outputModel of cell.outputs) {
|
|
66
|
+
if (outputModel.outputId === outputId) {
|
|
67
|
+
return [cell, outputModel];
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
(0, tslib_1.__decorate)([
|
|
74
|
+
(0, inversify_1.inject)(notebook_editor_widget_service_1.NotebookEditorWidgetService),
|
|
75
|
+
(0, tslib_1.__metadata)("design:type", notebook_editor_widget_service_1.NotebookEditorWidgetService)
|
|
76
|
+
], NotebookOutputActionContribution.prototype, "notebookEditorService", void 0);
|
|
77
|
+
(0, tslib_1.__decorate)([
|
|
78
|
+
(0, inversify_1.inject)(browser_1.EditorManager),
|
|
79
|
+
(0, tslib_1.__metadata)("design:type", browser_1.EditorManager)
|
|
80
|
+
], NotebookOutputActionContribution.prototype, "editorManager", void 0);
|
|
81
|
+
NotebookOutputActionContribution = (0, tslib_1.__decorate)([
|
|
82
|
+
(0, inversify_1.injectable)()
|
|
83
|
+
], NotebookOutputActionContribution);
|
|
84
|
+
exports.NotebookOutputActionContribution = NotebookOutputActionContribution;
|
|
85
|
+
//# sourceMappingURL=notebook-output-action-contribution.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notebook-output-action-contribution.js","sourceRoot":"","sources":["../../../src/browser/contributions/notebook-output-action-contribution.ts"],"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,sCAA4E;AAC5E,4DAAkE;AAClE,8FAAwF;AACxF,yCAAmD;AAEnD,uDAA0D;AAE1D,IAAiB,sBAAsB,CAStC;AATD,WAAiB,sBAAsB;IACtB,uCAAgB,GAAG,cAAO,CAAC,yBAAyB,CAAC;QAC9D,EAAE,EAAE,4BAA4B;KACnC,CAAC,CAAC;IAEU,wCAAiB,GAAG,cAAO,CAAC,yBAAyB,CAAC;QAC/D,EAAE,EAAE,kCAAkC;QACtC,KAAK,EAAE,mBAAmB;KAC7B,CAAC,CAAC;AACP,CAAC,EATgB,sBAAsB,GAAtB,8BAAsB,KAAtB,8BAAsB,QAStC;AAGD,IAAa,gCAAgC,GAA7C,MAAa,gCAAgC;IAQzC,gBAAgB,CAAC,QAAyB;QACtC,QAAQ,CAAC,eAAe,CAAC,sBAAsB,CAAC,gBAAgB,EAAE;YAC9D,OAAO,EAAE,QAAQ,CAAC,EAAE;;gBAChB,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,MAAA,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,mCAAI,EAAE,CAAC;gBAC9D,IAAI,IAAI,KAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,CAAA,EAAE;oBAC1B,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;oBACrC,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;iBAC/C;YACL,CAAC;SACJ,CAAC,CAAC;QAEH,QAAQ,CAAC,eAAe,CAAC,sBAAsB,CAAC,iBAAiB,EAAE;YAC/D,OAAO,EAAE,QAAQ,CAAC,EAAE;;gBAChB,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,MAAA,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,mCAAI,EAAE,CAAC;gBAC9D,IAAI,IAAI,IAAI,MAAM,EAAE;oBAChB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,gBAAO,CAAC,qBAAqB,CAAC,gBAAO,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;iBAC9G;YACL,CAAC;SACJ,CAAC,CAAC;IACP,CAAC;IAES,iBAAiB,CAAC,MAAc;;QACtC,MAAM,KAAK,GAAG,MAAA,IAAI,CAAC,qBAAqB,CAAC,aAAa,0CAAE,KAAK,CAAC;QAC9D,IAAI,CAAC,KAAK,EAAE;YACR,OAAO,SAAS,CAAC;SACpB;QAED,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;QAE1D,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE;YAC5B,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,OAAO,EAAE;gBACpC,IAAI,WAAW,CAAC,QAAQ,KAAK,QAAQ,EAAE;oBACnC,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;iBAC9B;aACJ;SACJ;IACL,CAAC;CAEJ,CAAA;AA3CG;IADC,IAAA,kBAAM,EAAC,4DAA2B,CAAC;2CACM,4DAA2B;+EAAC;AAGtE;IADC,IAAA,kBAAM,EAAC,uBAAa,CAAC;2CACY,uBAAa;uEAAC;AANvC,gCAAgC;IAD5C,IAAA,sBAAU,GAAE;GACA,gCAAgC,CA8C5C;AA9CY,4EAAgC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notebook-preferences.d.ts","sourceRoot":"","sources":["../../../src/browser/contributions/notebook-preferences.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,eAAO,MAAM,qBAAqB,yBAAyB,CAAC;AAE5D,eAAO,MAAM,wBAAwB,EAAE,gBAStC,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 2024 TypeFox and others.
|
|
4
|
+
//
|
|
5
|
+
// This program and the accompanying materials are made available under the
|
|
6
|
+
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
7
|
+
// http://www.eclipse.org/legal/epl-2.0.
|
|
8
|
+
//
|
|
9
|
+
// This Source Code may also be made available under the following Secondary
|
|
10
|
+
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
11
|
+
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
12
|
+
// with the GNU Classpath Exception which is available at
|
|
13
|
+
// https://www.gnu.org/software/classpath/license.html.
|
|
14
|
+
//
|
|
15
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
16
|
+
// *****************************************************************************
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.notebookPreferenceSchema = exports.NOTEBOOK_LINE_NUMBERS = void 0;
|
|
19
|
+
const core_1 = require("@theia/core");
|
|
20
|
+
exports.NOTEBOOK_LINE_NUMBERS = 'notebook.lineNumbers';
|
|
21
|
+
exports.notebookPreferenceSchema = {
|
|
22
|
+
properties: {
|
|
23
|
+
[exports.NOTEBOOK_LINE_NUMBERS]: {
|
|
24
|
+
type: 'string',
|
|
25
|
+
enum: ['on', 'off'],
|
|
26
|
+
default: 'off',
|
|
27
|
+
description: core_1.nls.localizeByDefault('Controls the display of line numbers in the cell editor.')
|
|
28
|
+
},
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=notebook-preferences.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notebook-preferences.js","sourceRoot":"","sources":["../../../src/browser/contributions/notebook-preferences.ts"],"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,sCAAkC;AAGrB,QAAA,qBAAqB,GAAG,sBAAsB,CAAC;AAE/C,QAAA,wBAAwB,GAAqB;IACtD,UAAU,EAAE;QACR,CAAC,6BAAqB,CAAC,EAAE;YACrB,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC;YACnB,OAAO,EAAE,KAAK;YACd,WAAW,EAAE,UAAG,CAAC,iBAAiB,CAAC,0DAA0D,CAAC;SACjG;KACJ;CACJ,CAAC"}
|
|
@@ -19,4 +19,8 @@ export declare class NotebookCellResourceResolver implements ResourceResolver {
|
|
|
19
19
|
protected readonly notebookService: NotebookService;
|
|
20
20
|
resolve(uri: URI): Promise<Resource>;
|
|
21
21
|
}
|
|
22
|
+
export declare class NotebookOutputResourceResolver implements ResourceResolver {
|
|
23
|
+
protected readonly notebookService: NotebookService;
|
|
24
|
+
resolve(uri: URI): Promise<Resource>;
|
|
25
|
+
}
|
|
22
26
|
//# sourceMappingURL=notebook-cell-resource-resolver.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notebook-cell-resource-resolver.d.ts","sourceRoot":"","sources":["../../src/browser/notebook-cell-resource-resolver.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAEnG,OAAO,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAE3E,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE5D,qBAAa,oBAAqB,YAAW,QAAQ;IAEjD,SAAS,CAAC,QAAQ,CAAC,0BAA0B,gBAAuB;IACpE,IAAI,mBAAmB,IAAI,KAAK,CAAC,IAAI,CAAC,CAErC;IAED,IAAI,mBAAmB,IAAI,KAAK,CAAC,OAAO,GAAG,cAAc,CAAC,GAAG,SAAS,CAErE;IAED,IAAI,QAAQ,IAAI,OAAO,GAAG,cAAc,GAAG,SAAS,CAEnD;IAED,SAAS,CAAC,IAAI,EAAE,iBAAiB,CAAC;IAClC,SAAS,CAAC,QAAQ,EAAE,aAAa,CAAC;IAElC,GAAG,EAAE,GAAG,CAAC;gBAEG,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,aAAa,EAAE,IAAI,EAAE,iBAAiB;IAMtE,YAAY,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;IAIxE,OAAO,IAAI,IAAI;CAIlB;AAED,qBACa,4BAA6B,YAAW,gBAAgB;IAGjE,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAE9C,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC;CAyB7C"}
|
|
1
|
+
{"version":3,"file":"notebook-cell-resource-resolver.d.ts","sourceRoot":"","sources":["../../src/browser/notebook-cell-resource-resolver.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAEnG,OAAO,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAE3E,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE5D,qBAAa,oBAAqB,YAAW,QAAQ;IAEjD,SAAS,CAAC,QAAQ,CAAC,0BAA0B,gBAAuB;IACpE,IAAI,mBAAmB,IAAI,KAAK,CAAC,IAAI,CAAC,CAErC;IAED,IAAI,mBAAmB,IAAI,KAAK,CAAC,OAAO,GAAG,cAAc,CAAC,GAAG,SAAS,CAErE;IAED,IAAI,QAAQ,IAAI,OAAO,GAAG,cAAc,GAAG,SAAS,CAEnD;IAED,SAAS,CAAC,IAAI,EAAE,iBAAiB,CAAC;IAClC,SAAS,CAAC,QAAQ,EAAE,aAAa,CAAC;IAElC,GAAG,EAAE,GAAG,CAAC;gBAEG,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,aAAa,EAAE,IAAI,EAAE,iBAAiB;IAMtE,YAAY,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;IAIxE,OAAO,IAAI,IAAI;CAIlB;AAED,qBACa,4BAA6B,YAAW,gBAAgB;IAGjE,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAE9C,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC;CAyB7C;AAED,qBACa,8BAA+B,YAAW,gBAAgB;IAGnE,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAE9C,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC;CA8B7C"}
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
16
16
|
// *****************************************************************************
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
exports.NotebookCellResourceResolver = exports.NotebookCellResource = void 0;
|
|
18
|
+
exports.NotebookOutputResourceResolver = exports.NotebookCellResourceResolver = exports.NotebookCellResource = void 0;
|
|
19
19
|
const tslib_1 = require("tslib");
|
|
20
20
|
const core_1 = require("@theia/core");
|
|
21
21
|
const inversify_1 = require("@theia/core/shared/inversify");
|
|
@@ -47,7 +47,7 @@ class NotebookCellResource {
|
|
|
47
47
|
exports.NotebookCellResource = NotebookCellResource;
|
|
48
48
|
let NotebookCellResourceResolver = class NotebookCellResourceResolver {
|
|
49
49
|
async resolve(uri) {
|
|
50
|
-
if (uri.scheme !== common_1.CellUri.
|
|
50
|
+
if (uri.scheme !== common_1.CellUri.cellUriScheme) {
|
|
51
51
|
throw new Error(`Cannot resolve cell uri with scheme '${uri.scheme}'`);
|
|
52
52
|
}
|
|
53
53
|
const parsedUri = common_1.CellUri.parse(uri);
|
|
@@ -73,4 +73,37 @@ NotebookCellResourceResolver = (0, tslib_1.__decorate)([
|
|
|
73
73
|
(0, inversify_1.injectable)()
|
|
74
74
|
], NotebookCellResourceResolver);
|
|
75
75
|
exports.NotebookCellResourceResolver = NotebookCellResourceResolver;
|
|
76
|
+
let NotebookOutputResourceResolver = class NotebookOutputResourceResolver {
|
|
77
|
+
async resolve(uri) {
|
|
78
|
+
if (uri.scheme !== common_1.CellUri.outputUriScheme) {
|
|
79
|
+
throw new Error(`Cannot resolve output uri with scheme '${uri.scheme}'`);
|
|
80
|
+
}
|
|
81
|
+
const parsedUri = common_1.CellUri.parseCellOutputUri(uri);
|
|
82
|
+
if (!parsedUri) {
|
|
83
|
+
throw new Error(`Cannot parse uri '${uri.toString()}'`);
|
|
84
|
+
}
|
|
85
|
+
const notebookModel = this.notebookService.getNotebookEditorModel(parsedUri.notebook);
|
|
86
|
+
if (!notebookModel) {
|
|
87
|
+
throw new Error(`No notebook found for uri '${parsedUri.notebook}'`);
|
|
88
|
+
}
|
|
89
|
+
const ouputModel = notebookModel.cells.flatMap(cell => cell.outputs).find(output => output.outputId === parsedUri.outputId);
|
|
90
|
+
if (!ouputModel) {
|
|
91
|
+
throw new Error(`No output found with id '${parsedUri.outputId}' in '${parsedUri.notebook}'`);
|
|
92
|
+
}
|
|
93
|
+
return {
|
|
94
|
+
uri: uri,
|
|
95
|
+
dispose: () => { },
|
|
96
|
+
readContents: async () => ouputModel.outputs[0].data.toString(),
|
|
97
|
+
readOnly: true,
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
};
|
|
101
|
+
(0, tslib_1.__decorate)([
|
|
102
|
+
(0, inversify_1.inject)(notebook_service_1.NotebookService),
|
|
103
|
+
(0, tslib_1.__metadata)("design:type", notebook_service_1.NotebookService)
|
|
104
|
+
], NotebookOutputResourceResolver.prototype, "notebookService", void 0);
|
|
105
|
+
NotebookOutputResourceResolver = (0, tslib_1.__decorate)([
|
|
106
|
+
(0, inversify_1.injectable)()
|
|
107
|
+
], NotebookOutputResourceResolver);
|
|
108
|
+
exports.NotebookOutputResourceResolver = NotebookOutputResourceResolver;
|
|
76
109
|
//# sourceMappingURL=notebook-cell-resource-resolver.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notebook-cell-resource-resolver.js","sourceRoot":"","sources":["../../src/browser/notebook-cell-resource-resolver.ts"],"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,sCAAmG;AACnG,4DAAkE;AAElE,sCAAoC;AACpC,iEAA6D;AAI7D,MAAa,oBAAoB;IAoB7B,YAAY,GAAQ,EAAE,QAAuB,EAAE,IAAuB;QAlBnD,+BAA0B,GAAG,IAAI,cAAO,EAAQ,CAAC;QAmBhE,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;IArBD,IAAI,mBAAmB;QACnB,OAAO,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC;IACjD,CAAC;IAED,IAAI,mBAAmB;QACnB,OAAO,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC;IAC7C,CAAC;IAED,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;IAClC,CAAC;IAaD,YAAY,CAAC,OAAyC;QAClD,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7C,CAAC;IAED,OAAO;QACH,IAAI,CAAC,0BAA0B,CAAC,OAAO,EAAE,CAAC;IAC9C,CAAC;CAEJ;AAlCD,oDAkCC;AAGD,IAAa,4BAA4B,GAAzC,MAAa,4BAA4B;IAKrC,KAAK,CAAC,OAAO,CAAC,GAAQ;QAClB,IAAI,GAAG,CAAC,MAAM,KAAK,gBAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"notebook-cell-resource-resolver.js","sourceRoot":"","sources":["../../src/browser/notebook-cell-resource-resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,5 +13,6 @@ export declare class NotebookEditorWidgetFactory implements WidgetFactory {
|
|
|
13
13
|
protected readonly createNotebookEditorWidget: (props: NotebookEditorProps) => NotebookEditorWidget;
|
|
14
14
|
createWidget(options?: NotebookEditorWidgetOptions): Promise<NotebookEditorWidget>;
|
|
15
15
|
private createEditor;
|
|
16
|
+
private setLabels;
|
|
16
17
|
}
|
|
17
18
|
//# sourceMappingURL=notebook-editor-widget-factory.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notebook-editor-widget-factory.d.ts","sourceRoot":"","sources":["../../src/browser/notebook-editor-widget-factory.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,aAAa,EAAE,wBAAwB,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAEjG,OAAO,EAAE,oBAAoB,EAAwC,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC3H,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,4BAA4B,EAAE,MAAM,2CAA2C,CAAC;AAEzF,MAAM,WAAW,2BAA4B,SAAQ,wBAAwB;IACzE,YAAY,EAAE,MAAM,CAAC;CACxB;AAED,qBACa,2BAA4B,YAAW,aAAa;IAC7D,QAAQ,CAAC,EAAE,EAAE,MAAM,CAA2B;IAG9C,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAGpD,SAAS,CAAC,QAAQ,CAAC,qBAAqB,EAAE,4BAA4B,CAAC;IAGvE,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAGhD,SAAS,CAAC,QAAQ,CAAC,0BAA0B,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,oBAAoB,CAAC;IAE9F,YAAY,CAAC,OAAO,CAAC,EAAE,2BAA2B,GAAG,OAAO,CAAC,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"notebook-editor-widget-factory.d.ts","sourceRoot":"","sources":["../../src/browser/notebook-editor-widget-factory.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,aAAa,EAAE,wBAAwB,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAEjG,OAAO,EAAE,oBAAoB,EAAwC,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC3H,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,4BAA4B,EAAE,MAAM,2CAA2C,CAAC;AAEzF,MAAM,WAAW,2BAA4B,SAAQ,wBAAwB;IACzE,YAAY,EAAE,MAAM,CAAC;CACxB;AAED,qBACa,2BAA4B,YAAW,aAAa;IAC7D,QAAQ,CAAC,EAAE,EAAE,MAAM,CAA2B;IAG9C,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAGpD,SAAS,CAAC,QAAQ,CAAC,qBAAqB,EAAE,4BAA4B,CAAC;IAGvE,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAGhD,SAAS,CAAC,QAAQ,CAAC,0BAA0B,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,oBAAoB,CAAC;IAE9F,YAAY,CAAC,OAAO,CAAC,EAAE,2BAA2B,GAAG,OAAO,CAAC,oBAAoB,CAAC;YAoB1E,YAAY;IAS1B,OAAO,CAAC,SAAS;CAUpB"}
|
|
@@ -34,9 +34,13 @@ let NotebookEditorWidgetFactory = class NotebookEditorWidgetFactory {
|
|
|
34
34
|
const uri = new core_1.URI(options.uri);
|
|
35
35
|
await this.notebookService.willOpenNotebook(options.notebookType);
|
|
36
36
|
const editor = await this.createEditor(uri, options.notebookType);
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
37
|
+
this.setLabels(editor, uri);
|
|
38
|
+
const labelListener = this.labelProvider.onDidChange(event => {
|
|
39
|
+
if (event.affects(uri)) {
|
|
40
|
+
this.setLabels(editor, uri);
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
editor.onDidDispose(() => labelListener.dispose());
|
|
40
44
|
return editor;
|
|
41
45
|
}
|
|
42
46
|
async createEditor(uri, notebookType) {
|
|
@@ -46,6 +50,16 @@ let NotebookEditorWidgetFactory = class NotebookEditorWidgetFactory {
|
|
|
46
50
|
notebookData: this.notebookModelResolver.resolve(uri, notebookType),
|
|
47
51
|
});
|
|
48
52
|
}
|
|
53
|
+
setLabels(editor, uri) {
|
|
54
|
+
var _a;
|
|
55
|
+
editor.title.caption = uri.path.fsPath();
|
|
56
|
+
if ((_a = editor.model) === null || _a === void 0 ? void 0 : _a.readOnly) {
|
|
57
|
+
editor.title.caption += ` • ${core_1.nls.localizeByDefault('Read-only')}`;
|
|
58
|
+
}
|
|
59
|
+
const icon = this.labelProvider.getIcon(uri);
|
|
60
|
+
editor.title.label = this.labelProvider.getName(uri);
|
|
61
|
+
editor.title.iconClass = icon + ' file-icon';
|
|
62
|
+
}
|
|
49
63
|
};
|
|
50
64
|
(0, tslib_1.__decorate)([
|
|
51
65
|
(0, inversify_1.inject)(notebook_service_1.NotebookService),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notebook-editor-widget-factory.js","sourceRoot":"","sources":["../../src/browser/notebook-editor-widget-factory.ts"],"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,
|
|
1
|
+
{"version":3,"file":"notebook-editor-widget-factory.js","sourceRoot":"","sources":["../../src/browser/notebook-editor-widget-factory.ts"],"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,sCAAuC;AACvC,qDAAiG;AACjG,4DAAkE;AAClE,qEAA2H;AAC3H,iEAA6D;AAC7D,+FAAyF;AAOzF,IAAa,2BAA2B,GAAxC,MAAa,2BAA2B;IAAxC;QACa,OAAE,GAAW,6CAAoB,CAAC,EAAE,CAAC;IAqDlD,CAAC;IAvCG,KAAK,CAAC,YAAY,CAAC,OAAqC;QACpD,IAAI,CAAC,OAAO,EAAE;YACV,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;SACtF;QACD,MAAM,GAAG,GAAG,IAAI,UAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAEjC,MAAM,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAElE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;QAElE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC5B,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE;YACzD,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBACpB,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;aAC/B;QACL,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QACnD,OAAO,MAAM,CAAC;IAClB,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,GAAQ,EAAE,YAAoB;QAErD,OAAO,IAAI,CAAC,0BAA0B,CAAC;YACnC,GAAG;YACH,YAAY;YACZ,YAAY,EAAE,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,GAAG,EAAE,YAAY,CAAC;SACtE,CAAC,CAAC;IACP,CAAC;IAEO,SAAS,CAAC,MAA4B,EAAE,GAAQ;;QACpD,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACzC,IAAI,MAAA,MAAM,CAAC,KAAK,0CAAE,QAAQ,EAAE;YACxB,MAAM,CAAC,KAAK,CAAC,OAAO,IAAI,MAAM,UAAG,CAAC,iBAAiB,CAAC,WAAW,CAAC,EAAE,CAAC;SACtE;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC7C,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACrD,MAAM,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,GAAG,YAAY,CAAC;IACjD,CAAC;CAEJ,CAAA;AAlDG;IADC,IAAA,kBAAM,EAAC,kCAAe,CAAC;2CACY,kCAAe;oEAAC;AAGpD;IADC,IAAA,kBAAM,EAAC,8DAA4B,CAAC;2CACK,8DAA4B;0EAAC;AAGvE;IADC,IAAA,kBAAM,EAAC,uBAAa,CAAC;2CACY,uBAAa;kEAAC;AAGhD;IADC,IAAA,kBAAM,EAAC,6DAAoC,CAAC;;+EACuD;AAb3F,2BAA2B;IADvC,IAAA,sBAAU,GAAE;GACA,2BAA2B,CAsDvC;AAtDY,kEAA2B"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
+
import * as React from '@theia/core/shared/react';
|
|
2
3
|
import { CommandRegistry, MenuModelRegistry, URI } from '@theia/core';
|
|
3
4
|
import { ReactWidget, Navigatable, SaveableSource, Message, DelegatingSaveable } from '@theia/core/lib/browser';
|
|
4
5
|
import { ReactNode } from '@theia/core/shared/react';
|
|
@@ -53,10 +54,13 @@ export declare class NotebookEditorWidget extends ReactWidget implements Navigat
|
|
|
53
54
|
protected readonly onPostRendererMessageEmitter: Emitter<RenderMessage>;
|
|
54
55
|
readonly onPostRendererMessage: import("vscode-jsonrpc/lib/common/events").Event<RenderMessage>;
|
|
55
56
|
protected readonly onDidReceiveKernelMessageEmitter: Emitter<unknown>;
|
|
56
|
-
readonly
|
|
57
|
+
readonly onDidReceiveKernelMessage: import("vscode-jsonrpc/lib/common/events").Event<unknown>;
|
|
57
58
|
protected readonly renderers: Map<CellKind, CellRenderer>;
|
|
58
59
|
protected _model?: NotebookModel;
|
|
59
60
|
protected _ready: Deferred<NotebookModel>;
|
|
61
|
+
protected scrollBarRef: React.RefObject<{
|
|
62
|
+
updateScroll(): void;
|
|
63
|
+
}>;
|
|
60
64
|
get notebookType(): string;
|
|
61
65
|
get ready(): Promise<NotebookModel>;
|
|
62
66
|
get model(): NotebookModel | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notebook-editor-widget.d.ts","sourceRoot":"","sources":["../../src/browser/notebook-editor-widget.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"notebook-editor-widget.d.ts","sourceRoot":"","sources":["../../src/browser/notebook-editor-widget.tsx"],"names":[],"mappings":"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"}
|
|
@@ -32,6 +32,7 @@ const notebook_main_toolbar_1 = require("./view/notebook-main-toolbar");
|
|
|
32
32
|
const promise_util_1 = require("@theia/core/lib/common/promise-util");
|
|
33
33
|
const notebook_context_manager_1 = require("./service/notebook-context-manager");
|
|
34
34
|
const notebook_viewport_service_1 = require("./view/notebook-viewport-service");
|
|
35
|
+
const notebook_cell_actions_contribution_1 = require("./contributions/notebook-cell-actions-contribution");
|
|
35
36
|
const PerfectScrollbar = require('react-perfect-scrollbar');
|
|
36
37
|
exports.NotebookEditorWidgetContainerFactory = Symbol('NotebookEditorWidgetContainerFactory');
|
|
37
38
|
function createNotebookEditorWidgetContainer(parent, props) {
|
|
@@ -39,6 +40,7 @@ function createNotebookEditorWidgetContainer(parent, props) {
|
|
|
39
40
|
child.bind(exports.NotebookEditorProps).toConstantValue(props);
|
|
40
41
|
child.bind(notebook_context_manager_1.NotebookContextManager).toSelf().inSingletonScope();
|
|
41
42
|
child.bind(notebook_main_toolbar_1.NotebookMainToolbarRenderer).toSelf().inSingletonScope();
|
|
43
|
+
child.bind(notebook_cell_toolbar_factory_1.NotebookCellToolbarFactory).toSelf().inSingletonScope();
|
|
42
44
|
child.bind(notebook_code_cell_view_1.NotebookCodeCellRenderer).toSelf().inSingletonScope();
|
|
43
45
|
child.bind(notebook_markdown_cell_view_1.NotebookMarkdownCellRenderer).toSelf().inSingletonScope();
|
|
44
46
|
child.bind(notebook_viewport_service_1.NotebookViewportService).toSelf().inSingletonScope();
|
|
@@ -63,9 +65,10 @@ let NotebookEditorWidget = class NotebookEditorWidget extends browser_1.ReactWid
|
|
|
63
65
|
this.onPostRendererMessageEmitter = new vscode_languageserver_protocol_1.Emitter();
|
|
64
66
|
this.onPostRendererMessage = this.onPostRendererMessageEmitter.event;
|
|
65
67
|
this.onDidReceiveKernelMessageEmitter = new vscode_languageserver_protocol_1.Emitter();
|
|
66
|
-
this.
|
|
68
|
+
this.onDidReceiveKernelMessage = this.onDidReceiveKernelMessageEmitter.event;
|
|
67
69
|
this.renderers = new Map();
|
|
68
70
|
this._ready = new promise_util_1.Deferred();
|
|
71
|
+
this.scrollBarRef = React.createRef();
|
|
69
72
|
}
|
|
70
73
|
get notebookType() {
|
|
71
74
|
return this.props.notebookType;
|
|
@@ -89,11 +92,24 @@ let NotebookEditorWidget = class NotebookEditorWidget extends browser_1.ReactWid
|
|
|
89
92
|
this.renderers.set(common_1.CellKind.Markup, this.markdownCellRenderer);
|
|
90
93
|
this.renderers.set(common_1.CellKind.Code, this.codeCellRenderer);
|
|
91
94
|
this._ready.resolve(this.waitForData());
|
|
95
|
+
this.ready.then(model => {
|
|
96
|
+
if (model.cells.length === 1 && model.cells[0].source === '') {
|
|
97
|
+
this.commandRegistry.executeCommand(notebook_cell_actions_contribution_1.NotebookCellCommands.EDIT_COMMAND.id, model, model.cells[0]);
|
|
98
|
+
model.setSelectedCell(model.cells[0]);
|
|
99
|
+
}
|
|
100
|
+
model.cells.forEach(cell => cell.onWillBlurCellEditor(() => this.node.focus()));
|
|
101
|
+
model.onDidAddOrRemoveCell(e => { var _a; return (_a = e.newCellIds) === null || _a === void 0 ? void 0 : _a.forEach(cellId => { var _a; return (_a = model.cells.find(cell => cell.handle === cellId)) === null || _a === void 0 ? void 0 : _a.onWillBlurCellEditor(() => this.node.focus()); }); });
|
|
102
|
+
});
|
|
92
103
|
}
|
|
93
104
|
async waitForData() {
|
|
94
105
|
this._model = await this.props.notebookData;
|
|
95
106
|
this.saveable.delegate = this._model;
|
|
96
107
|
this.toDispose.push(this._model);
|
|
108
|
+
this.toDispose.push(this._model.onDidChangeContent(() => {
|
|
109
|
+
// Update the scroll bar content after the content has changed
|
|
110
|
+
// Wait one frame to ensure that the content has been rendered
|
|
111
|
+
(0, browser_1.animationFrame)().then(() => { var _a; return (_a = this.scrollBarRef.current) === null || _a === void 0 ? void 0 : _a.updateScroll(); });
|
|
112
|
+
}));
|
|
97
113
|
this.toDispose.push(this._model.onDidChangeReadOnly(readOnly => {
|
|
98
114
|
if (readOnly) {
|
|
99
115
|
(0, browser_1.lock)(this.title);
|
|
@@ -137,7 +153,7 @@ let NotebookEditorWidget = class NotebookEditorWidget extends browser_1.ReactWid
|
|
|
137
153
|
return React.createElement("div", { className: 'theia-notebook-main-container' },
|
|
138
154
|
this.notebookMainToolbarRenderer.render(this._model, this.node),
|
|
139
155
|
React.createElement("div", { className: 'theia-notebook-viewport', ref: (ref) => this.viewportService.viewportElement = ref },
|
|
140
|
-
React.createElement(PerfectScrollbar, { className: 'theia-notebook-scroll-container', onScrollY: (e) => this.viewportService.onScroll(e) },
|
|
156
|
+
React.createElement(PerfectScrollbar, { className: 'theia-notebook-scroll-container', ref: this.scrollBarRef, onScrollY: (e) => this.viewportService.onScroll(e) },
|
|
141
157
|
React.createElement(notebook_cell_list_view_1.NotebookCellListView, { renderers: this.renderers, notebookModel: this._model, toolbarRenderer: this.cellToolbarFactory, commandRegistry: this.commandRegistry }))));
|
|
142
158
|
}
|
|
143
159
|
else {
|
|
@@ -158,12 +174,14 @@ let NotebookEditorWidget = class NotebookEditorWidget extends browser_1.ReactWid
|
|
|
158
174
|
this.onDidReceiveKernelMessageEmitter.fire(message);
|
|
159
175
|
}
|
|
160
176
|
dispose() {
|
|
177
|
+
var _a;
|
|
161
178
|
this.notebookContextManager.dispose();
|
|
162
179
|
this.onDidChangeModelEmitter.dispose();
|
|
163
180
|
this.onDidPostKernelMessageEmitter.dispose();
|
|
164
181
|
this.onDidReceiveKernelMessageEmitter.dispose();
|
|
165
182
|
this.onPostRendererMessageEmitter.dispose();
|
|
166
183
|
this.viewportService.dispose();
|
|
184
|
+
(_a = this._model) === null || _a === void 0 ? void 0 : _a.dispose();
|
|
167
185
|
super.dispose();
|
|
168
186
|
}
|
|
169
187
|
onAfterShow(msg) {
|