@theia/notebook 1.48.2 → 1.49.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.
Files changed (124) hide show
  1. package/lib/browser/contributions/notebook-actions-contribution.d.ts +7 -1
  2. package/lib/browser/contributions/notebook-actions-contribution.d.ts.map +1 -1
  3. package/lib/browser/contributions/notebook-actions-contribution.js +81 -7
  4. package/lib/browser/contributions/notebook-actions-contribution.js.map +1 -1
  5. package/lib/browser/contributions/notebook-cell-actions-contribution.d.ts +5 -0
  6. package/lib/browser/contributions/notebook-cell-actions-contribution.d.ts.map +1 -1
  7. package/lib/browser/contributions/notebook-cell-actions-contribution.js +86 -9
  8. package/lib/browser/contributions/notebook-cell-actions-contribution.js.map +1 -1
  9. package/lib/browser/contributions/notebook-label-provider-contribution.d.ts +16 -0
  10. package/lib/browser/contributions/notebook-label-provider-contribution.d.ts.map +1 -0
  11. package/lib/browser/contributions/notebook-label-provider-contribution.js +65 -0
  12. package/lib/browser/contributions/notebook-label-provider-contribution.js.map +1 -0
  13. package/lib/browser/contributions/notebook-outline-contribution.d.ts +30 -0
  14. package/lib/browser/contributions/notebook-outline-contribution.d.ts.map +1 -0
  15. package/lib/browser/contributions/notebook-outline-contribution.js +109 -0
  16. package/lib/browser/contributions/notebook-outline-contribution.js.map +1 -0
  17. package/lib/browser/contributions/notebook-output-action-contribution.d.ts +16 -0
  18. package/lib/browser/contributions/notebook-output-action-contribution.d.ts.map +1 -0
  19. package/lib/browser/contributions/notebook-output-action-contribution.js +85 -0
  20. package/lib/browser/contributions/notebook-output-action-contribution.js.map +1 -0
  21. package/lib/browser/contributions/notebook-preferences.d.ts +4 -0
  22. package/lib/browser/contributions/notebook-preferences.d.ts.map +1 -0
  23. package/lib/browser/contributions/notebook-preferences.js +31 -0
  24. package/lib/browser/contributions/notebook-preferences.js.map +1 -0
  25. package/lib/browser/notebook-cell-resource-resolver.d.ts +4 -0
  26. package/lib/browser/notebook-cell-resource-resolver.d.ts.map +1 -1
  27. package/lib/browser/notebook-cell-resource-resolver.js +35 -2
  28. package/lib/browser/notebook-cell-resource-resolver.js.map +1 -1
  29. package/lib/browser/notebook-editor-widget-factory.d.ts +1 -0
  30. package/lib/browser/notebook-editor-widget-factory.d.ts.map +1 -1
  31. package/lib/browser/notebook-editor-widget-factory.js +17 -3
  32. package/lib/browser/notebook-editor-widget-factory.js.map +1 -1
  33. package/lib/browser/notebook-editor-widget.d.ts +5 -1
  34. package/lib/browser/notebook-editor-widget.d.ts.map +1 -1
  35. package/lib/browser/notebook-editor-widget.js +20 -2
  36. package/lib/browser/notebook-editor-widget.js.map +1 -1
  37. package/lib/browser/notebook-frontend-module.d.ts.map +1 -1
  38. package/lib/browser/notebook-frontend-module.js +15 -2
  39. package/lib/browser/notebook-frontend-module.js.map +1 -1
  40. package/lib/browser/notebook-open-handler.d.ts +14 -9
  41. package/lib/browser/notebook-open-handler.d.ts.map +1 -1
  42. package/lib/browser/notebook-open-handler.js +38 -16
  43. package/lib/browser/notebook-open-handler.js.map +1 -1
  44. package/lib/browser/notebook-type-registry.d.ts +5 -1
  45. package/lib/browser/notebook-type-registry.d.ts.map +1 -1
  46. package/lib/browser/notebook-type-registry.js +27 -7
  47. package/lib/browser/notebook-type-registry.js.map +1 -1
  48. package/lib/browser/notebook-types.d.ts +2 -0
  49. package/lib/browser/notebook-types.d.ts.map +1 -1
  50. package/lib/browser/notebook-types.js.map +1 -1
  51. package/lib/browser/service/notebook-clipboard-service.d.ts +10 -0
  52. package/lib/browser/service/notebook-clipboard-service.d.ts.map +1 -0
  53. package/lib/browser/service/notebook-clipboard-service.js +42 -0
  54. package/lib/browser/service/notebook-clipboard-service.js.map +1 -0
  55. package/lib/browser/service/notebook-context-manager.d.ts +4 -1
  56. package/lib/browser/service/notebook-context-manager.d.ts.map +1 -1
  57. package/lib/browser/service/notebook-context-manager.js +33 -12
  58. package/lib/browser/service/notebook-context-manager.js.map +1 -1
  59. package/lib/browser/service/notebook-service.d.ts.map +1 -1
  60. package/lib/browser/service/notebook-service.js +4 -0
  61. package/lib/browser/service/notebook-service.js.map +1 -1
  62. package/lib/browser/view/notebook-cell-editor.d.ts.map +1 -1
  63. package/lib/browser/view/notebook-cell-editor.js +11 -2
  64. package/lib/browser/view/notebook-cell-editor.js.map +1 -1
  65. package/lib/browser/view/notebook-cell-list-view.d.ts.map +1 -1
  66. package/lib/browser/view/notebook-cell-list-view.js +4 -2
  67. package/lib/browser/view/notebook-cell-list-view.js.map +1 -1
  68. package/lib/browser/view/notebook-cell-toolbar-factory.d.ts +6 -4
  69. package/lib/browser/view/notebook-cell-toolbar-factory.d.ts.map +1 -1
  70. package/lib/browser/view/notebook-cell-toolbar-factory.js +21 -18
  71. package/lib/browser/view/notebook-cell-toolbar-factory.js.map +1 -1
  72. package/lib/browser/view/notebook-cell-toolbar.d.ts.map +1 -1
  73. package/lib/browser/view/notebook-cell-toolbar.js +3 -2
  74. package/lib/browser/view/notebook-cell-toolbar.js.map +1 -1
  75. package/lib/browser/view/notebook-code-cell-view.d.ts +5 -1
  76. package/lib/browser/view/notebook-code-cell-view.d.ts.map +1 -1
  77. package/lib/browser/view/notebook-code-cell-view.js +45 -17
  78. package/lib/browser/view/notebook-code-cell-view.js.map +1 -1
  79. package/lib/browser/view/notebook-main-toolbar.d.ts +5 -3
  80. package/lib/browser/view/notebook-main-toolbar.d.ts.map +1 -1
  81. package/lib/browser/view/notebook-main-toolbar.js +17 -9
  82. package/lib/browser/view/notebook-main-toolbar.js.map +1 -1
  83. package/lib/browser/view/notebook-markdown-cell-view.js +11 -8
  84. package/lib/browser/view/notebook-markdown-cell-view.js.map +1 -1
  85. package/lib/browser/view-model/notebook-cell-model.d.ts +20 -0
  86. package/lib/browser/view-model/notebook-cell-model.d.ts.map +1 -1
  87. package/lib/browser/view-model/notebook-cell-model.js +61 -2
  88. package/lib/browser/view-model/notebook-cell-model.js.map +1 -1
  89. package/lib/browser/view-model/notebook-model.d.ts +4 -2
  90. package/lib/browser/view-model/notebook-model.d.ts.map +1 -1
  91. package/lib/browser/view-model/notebook-model.js +25 -14
  92. package/lib/browser/view-model/notebook-model.js.map +1 -1
  93. package/lib/common/notebook-common.d.ts +7 -1
  94. package/lib/common/notebook-common.d.ts.map +1 -1
  95. package/lib/common/notebook-common.js +28 -4
  96. package/lib/common/notebook-common.js.map +1 -1
  97. package/package.json +9 -7
  98. package/src/browser/contributions/notebook-actions-contribution.ts +90 -9
  99. package/src/browser/contributions/notebook-cell-actions-contribution.ts +88 -11
  100. package/src/browser/contributions/notebook-label-provider-contribution.ts +63 -0
  101. package/src/browser/contributions/notebook-outline-contribution.ts +112 -0
  102. package/src/browser/contributions/notebook-output-action-contribution.ts +82 -0
  103. package/src/browser/contributions/notebook-preferences.ts +31 -0
  104. package/src/browser/notebook-cell-resource-resolver.ts +39 -1
  105. package/src/browser/notebook-editor-widget-factory.ts +18 -5
  106. package/src/browser/notebook-editor-widget.tsx +20 -2
  107. package/src/browser/notebook-frontend-module.ts +20 -4
  108. package/src/browser/notebook-open-handler.ts +48 -20
  109. package/src/browser/notebook-type-registry.ts +26 -6
  110. package/src/browser/notebook-types.ts +2 -0
  111. package/src/browser/service/notebook-clipboard-service.ts +43 -0
  112. package/src/browser/service/notebook-context-manager.ts +36 -10
  113. package/src/browser/service/notebook-service.ts +4 -0
  114. package/src/browser/style/index.css +19 -4
  115. package/src/browser/view/notebook-cell-editor.tsx +12 -2
  116. package/src/browser/view/notebook-cell-list-view.tsx +5 -2
  117. package/src/browser/view/notebook-cell-toolbar-factory.tsx +17 -15
  118. package/src/browser/view/notebook-cell-toolbar.tsx +3 -2
  119. package/src/browser/view/notebook-code-cell-view.tsx +51 -18
  120. package/src/browser/view/notebook-main-toolbar.tsx +20 -11
  121. package/src/browser/view/notebook-markdown-cell-view.tsx +12 -7
  122. package/src/browser/view-model/notebook-cell-model.ts +70 -2
  123. package/src/browser/view-model/notebook-model.ts +29 -16
  124. 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":";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,4DAAkE;AAClE,qDAA4G;AAC5G,8FAAwF;AACxF,+FAA0F;AAE1F,6FAAmG;AAGnG,sCAAwD;AACxD,yCAAiD;AACjD,kEAA8D;AAM9D,IAAiB,uBAAuB,CAIvC;AAJD,WAAiB,uBAAuB;IACpC,SAAgB,EAAE,CAAC,OAAe;QAC9B,OAAO,kBAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,kDAA4B,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,cAAc,IAAI,OAAO,CAAC;IACzG,CAAC;IAFe,0BAAE,KAEjB,CAAA;AACL,CAAC,EAJgB,uBAAuB,GAAvB,+BAAuB,KAAvB,+BAAuB,QAIvC;AAGD,IAAa,2BAA2B,GAAxC,MAAa,2BAA2B;IAAxC;QAgBc,oBAAe,GAAyB,IAAI,2BAAoB,EAAE,CAAC;QACnE,yBAAoB,GAAyB,IAAI,2BAAoB,EAAE,CAAC;IAuDtF,CAAC;IArDG,OAAO;QACH,IAAI,CAAC,2BAA2B,CAAC,wBAAwB,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;QAEhG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IACxE,CAAC;IAES,KAAK,CAAC,aAAa,CAAC,MAAwC;QAClE,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE;YAC9B,MAAM,MAAM,CAAC,KAAK,CAAC;YACnB,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC;YAC5B,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;YAC/B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,GAAG,EAAE;gBACxD,IAAI,IAAI,CAAC,aAAa,KAAK,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;oBACpD,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;iBACvC;YACL,CAAC,CAAC,CAAC,CAAC;YACJ,IAAI,MAAM,CAAC,KAAK,EAAE;gBACd,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,CAAC;gBACpC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,GAAG,EAAE;oBACrE,IAAI,MAAM,KAAK,IAAI,CAAC,aAAa,EAAE;wBAC/B,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;qBAC9B;gBACL,CAAC,CAAC,CAAC,CAAC;gBACJ,MAAM,KAAK,GAAG,MAAM,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC7E,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;aAChD;SACJ;IACL,CAAC;IAES,KAAK,CAAC,WAAW,CAAC,KAAoB;QAC5C,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC5B,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE;YACvB,SAAS,EAAE,IAAI,CAAC,QAAQ,KAAK,iBAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAA,iBAAO,EAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAA,iBAAO,EAAC,MAAM,CAAC;YACpF,MAAM,EAAE,SAAS;YACjB,QAAQ,EAAE,EAAE;YACZ,QAAQ,EAAE,KAAK,CAAC,YAAY,KAAK,IAAI;YACrC,QAAQ,EAAE,KAAK;YACf,YAAY,EAAE,IAAI;YAClB,GAAG,EAAE,KAAK,CAAC,GAAG;SACW,CAAA,CAAC,CAAC;IACnC,CAAC;IAED,UAAU,CAAC,IAAY;QACnB,IAAI,uBAAuB,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE;YAClC,MAAM,MAAM,GAAG,gBAAO,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;YACpD,MAAM,KAAK,GAAG,MAAM,IAAI,IAAI,CAAC,eAAe,CAAC,sBAAsB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACrF,IAAI,KAAK,EAAE;gBACP,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;aAC5C;SACJ;IACL,CAAC;CAEJ,CAAA;AArEG;IADC,IAAA,kBAAM,EAAC,4DAA2B,CAAC;2CACY,4DAA2B;gFAAC;AAG5E;IADC,IAAA,kBAAM,EAAC,yCAAkB,CAAC;2CACY,yCAAkB;uEAAC;AAG1D;IADC,IAAA,kBAAM,EAAC,uBAAa,CAAC;2CACY,uBAAa;kEAAC;AAGhD;IADC,IAAA,kBAAM,EAAC,kCAAe,CAAC;2CACY,kCAAe;oEAAC;AAZ3C,2BAA2B;IADvC,IAAA,sBAAU,GAAE;GACA,2BAA2B,CAwEvC;AAxEY,kEAA2B"}
@@ -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,4 @@
1
+ import { PreferenceSchema } from '@theia/core/lib/browser';
2
+ export declare const NOTEBOOK_LINE_NUMBERS = "notebook.lineNumbers";
3
+ export declare const notebookPreferenceSchema: PreferenceSchema;
4
+ //# sourceMappingURL=notebook-preferences.d.ts.map
@@ -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.scheme) {
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,MAAM,EAAE;YAC/B,MAAM,IAAI,KAAK,CAAC,wCAAwC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;SAC1E;QAED,MAAM,SAAS,GAAG,gBAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,CAAC,SAAS,EAAE;YACZ,MAAM,IAAI,KAAK,CAAC,qBAAqB,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;SAC3D;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC,sBAAsB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAEtF,IAAI,CAAC,aAAa,EAAE;YAChB,MAAM,IAAI,KAAK,CAAC,8BAA8B,SAAS,CAAC,QAAQ,GAAG,CAAC,CAAC;SACxE;QAED,MAAM,iBAAiB,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM,CAAC,CAAC;QAE7F,IAAI,CAAC,iBAAiB,EAAE;YACpB,MAAM,IAAI,KAAK,CAAC,8BAA8B,SAAS,CAAC,MAAM,SAAS,SAAS,CAAC,QAAQ,GAAG,CAAC,CAAC;SACjG;QAED,OAAO,IAAI,oBAAoB,CAAC,GAAG,EAAE,aAAa,EAAE,iBAAiB,CAAC,CAAC;IAC3E,CAAC;CAEJ,CAAA;AA3BG;IADC,IAAA,kBAAM,EAAC,kCAAe,CAAC;2CACY,kCAAe;qEAAC;AAH3C,4BAA4B;IADxC,IAAA,sBAAU,GAAE;GACA,4BAA4B,CA8BxC;AA9BY,oEAA4B"}
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;YAiB1E,YAAY;CAS7B"}
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
- const icon = this.labelProvider.getIcon(uri);
38
- editor.title.label = this.labelProvider.getName(uri);
39
- editor.title.iconClass = icon + ' file-icon';
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,sCAAkC;AAClC,qDAAiG;AACjG,4DAAkE;AAClE,qEAA2H;AAC3H,iEAA6D;AAC7D,+FAAyF;AAOzF,IAAa,2BAA2B,GAAxC,MAAa,2BAA2B;IAAxC;QACa,OAAE,GAAW,6CAAoB,CAAC,EAAE,CAAC;IAwClD,CAAC;IA1BG,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,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;QAE7C,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;CAEJ,CAAA;AArCG;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,CAyCvC;AAzCY,kEAA2B"}
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 onDidRecieveKernelMessage: import("vscode-jsonrpc/lib/common/events").Event<unknown>;
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":"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"}
1
+ {"version":3,"file":"notebook-editor-widget.d.ts","sourceRoot":"","sources":["../../src/browser/notebook-editor-widget.tsx"],"names":[],"mappings":";AAgBA,OAAO,KAAK,KAAK,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,OAAO,EAAE,kBAAkB,EAAgC,MAAM,yBAAyB,CAAC;AAC9I,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,YAAY,IAAI,YAAY,EAAwB,MAAM,gCAAgC,CAAC;AACpG,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAC1E,OAAO,EAAE,4BAA4B,EAAE,MAAM,oCAAoC,CAAC;AAClF,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAClF,OAAO,EAAsB,UAAU,EAAiB,MAAM,8BAA8B,CAAC;AAC7F,OAAO,EAAE,OAAO,EAAE,MAAM,mDAAmD,CAAC;AAC5E,OAAO,EAAE,2BAA2B,EAAE,MAAM,0CAA0C,CAAC;AACvF,OAAO,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAI3E,eAAO,MAAM,oCAAoC,eAAiD,CAAC;AAEnG,wBAAgB,mCAAmC,CAAC,MAAM,EAAE,UAAU,CAAC,SAAS,EAAE,KAAK,EAAE,mBAAmB,GAAG,UAAU,CAAC,SAAS,CAelI;AAED,eAAO,MAAM,mBAAmB,eAAgC,CAAC;AAEjE,UAAU,aAAa;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAChC,GAAG,EAAE,GAAG,CAAC;IACT,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,YAAY,EAAE,OAAO,CAAC,aAAa,CAAC,CAAA;CACvC;AACD,eAAO,MAAM,yBAAyB,cAAc,CAAC;AAErD,qBACa,oBAAqB,SAAQ,WAAY,YAAW,WAAW,EAAE,cAAc;IACxF,MAAM,CAAC,QAAQ,CAAC,EAAE,cAAc;IAEhC,QAAQ,CAAC,QAAQ,qBAA4B;IAG7C,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,0BAA0B,CAAC;IAGlE,SAAS,CAAC,eAAe,EAAE,eAAe,CAAC;IAG3C,SAAS,CAAC,YAAY,EAAE,iBAAiB,CAAC;IAG1C,SAAS,CAAC,qBAAqB,EAAE,2BAA2B,CAAC;IAG7D,SAAS,CAAC,2BAA2B,EAAE,2BAA2B,CAAC;IAGnE,SAAS,CAAC,sBAAsB,EAAE,sBAAsB,CAAC;IAGzD,SAAS,CAAC,gBAAgB,EAAE,wBAAwB,CAAC;IAErD,SAAS,CAAC,oBAAoB,EAAE,4BAA4B,CAAC;IAE7D,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAAC;IAG9C,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,uBAAuB,CAAC;IAE5D,SAAS,CAAC,QAAQ,CAAC,uBAAuB,gBAAuB;IACjE,QAAQ,CAAC,gBAAgB,yDAAsC;IAE/D,SAAS,CAAC,QAAQ,CAAC,0BAA0B,oCAA2C;IACxF,QAAQ,CAAC,mBAAmB,6EAAyC;IAErE,SAAS,CAAC,QAAQ,CAAC,0BAA0B,mBAA0B;IACvE,QAAQ,CAAC,mBAAmB,4DAAyC;IAErE,SAAS,CAAC,QAAQ,CAAC,6BAA6B,mBAA0B;IAC1E,QAAQ,CAAC,sBAAsB,4DAA4C;IAE3E,SAAS,CAAC,QAAQ,CAAC,4BAA4B,yBAAgC;IAC/E,QAAQ,CAAC,qBAAqB,kEAA2C;IAEzE,SAAS,CAAC,QAAQ,CAAC,gCAAgC,mBAA0B;IAC7E,QAAQ,CAAC,yBAAyB,4DAA+C;IAEjF,SAAS,CAAC,QAAQ,CAAC,SAAS,8BAAqC;IACjE,SAAS,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC;IACjC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAkB;IAC3D,SAAS,CAAC,YAAY;wBAAqC,IAAI;OAAM;IAErE,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED,IAAI,KAAK,IAAI,OAAO,CAAC,aAAa,CAAC,CAElC;IAED,IAAI,KAAK,IAAI,aAAa,GAAG,SAAS,CAErC;IAGD,SAAS,CAAC,IAAI,IAAI,IAAI;cA2BN,WAAW,IAAI,OAAO,CAAC,aAAa,CAAC;cA4BlC,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAKxD,cAAc,IAAI,GAAG,GAAG,SAAS;IAIjC,eAAe,CAAC,WAAW,EAAE,GAAG,GAAG,GAAG,GAAG,SAAS;IAIlD,IAAI,IAAI,IAAI;IAIZ,IAAI,IAAI,IAAI;IAIZ,SAAS,CAAC,MAAM,IAAI,SAAS;cAoBV,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAKrD,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIzC,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAI/D,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAInC,OAAO,IAAI,IAAI;cAWL,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;cAK/B,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;CAIrD"}
@@ -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.onDidRecieveKernelMessage = this.onDidReceiveKernelMessageEmitter.event;
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) {