@theia/notebook 1.41.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +30 -0
- package/lib/browser/contributions/notebook-actions-contribution.d.ts +27 -0
- package/lib/browser/contributions/notebook-actions-contribution.d.ts.map +1 -0
- package/lib/browser/contributions/notebook-actions-contribution.js +172 -0
- package/lib/browser/contributions/notebook-actions-contribution.js.map +1 -0
- package/lib/browser/contributions/notebook-cell-actions-contribution.d.ts +30 -0
- package/lib/browser/contributions/notebook-cell-actions-contribution.d.ts.map +1 -0
- package/lib/browser/contributions/notebook-cell-actions-contribution.js +200 -0
- package/lib/browser/contributions/notebook-cell-actions-contribution.js.map +1 -0
- package/lib/browser/contributions/notebook-color-contribution.d.ts +6 -0
- package/lib/browser/contributions/notebook-color-contribution.d.ts.map +1 -0
- package/lib/browser/contributions/notebook-color-contribution.js +252 -0
- package/lib/browser/contributions/notebook-color-contribution.js.map +1 -0
- package/lib/browser/contributions/notebook-context-keys.d.ts +38 -0
- package/lib/browser/contributions/notebook-context-keys.d.ts.map +1 -0
- package/lib/browser/contributions/notebook-context-keys.js +95 -0
- package/lib/browser/contributions/notebook-context-keys.js.map +1 -0
- package/lib/browser/index.d.ts +11 -0
- package/lib/browser/index.d.ts.map +1 -0
- package/lib/browser/index.js +38 -0
- package/lib/browser/index.js.map +1 -0
- package/lib/browser/notebook-cell-resource-resolver.d.ts +20 -0
- package/lib/browser/notebook-cell-resource-resolver.d.ts.map +1 -0
- package/lib/browser/notebook-cell-resource-resolver.js +75 -0
- package/lib/browser/notebook-cell-resource-resolver.js.map +1 -0
- package/lib/browser/notebook-editor-widget-factory.d.ts +17 -0
- package/lib/browser/notebook-editor-widget-factory.d.ts.map +1 -0
- package/lib/browser/notebook-editor-widget-factory.js +78 -0
- package/lib/browser/notebook-editor-widget-factory.js.map +1 -0
- package/lib/browser/notebook-editor-widget.d.ts +49 -0
- package/lib/browser/notebook-editor-widget.d.ts.map +1 -0
- package/lib/browser/notebook-editor-widget.js +150 -0
- package/lib/browser/notebook-editor-widget.js.map +1 -0
- package/lib/browser/notebook-frontend-module.d.ts +5 -0
- package/lib/browser/notebook-frontend-module.d.ts.map +1 -0
- package/lib/browser/notebook-frontend-module.js +81 -0
- package/lib/browser/notebook-frontend-module.js.map +1 -0
- package/lib/browser/notebook-open-handler.d.ts +18 -0
- package/lib/browser/notebook-open-handler.d.ts.map +1 -0
- package/lib/browser/notebook-open-handler.js +94 -0
- package/lib/browser/notebook-open-handler.js.map +1 -0
- package/lib/browser/notebook-renderer-registry.d.ts +17 -0
- package/lib/browser/notebook-renderer-registry.d.ts.map +1 -0
- package/lib/browser/notebook-renderer-registry.js +63 -0
- package/lib/browser/notebook-renderer-registry.js.map +1 -0
- package/lib/browser/notebook-type-registry.d.ts +7 -0
- package/lib/browser/notebook-type-registry.d.ts.map +1 -0
- package/lib/browser/notebook-type-registry.js +42 -0
- package/lib/browser/notebook-type-registry.js.map +1 -0
- package/lib/browser/renderers/cell-output-webview.d.ts +12 -0
- package/lib/browser/renderers/cell-output-webview.d.ts.map +1 -0
- package/lib/browser/renderers/cell-output-webview.js +20 -0
- package/lib/browser/renderers/cell-output-webview.js.map +1 -0
- package/lib/browser/service/notebook-cell-context-manager.d.ts +16 -0
- package/lib/browser/service/notebook-cell-context-manager.d.ts.map +1 -0
- package/lib/browser/service/notebook-cell-context-manager.js +83 -0
- package/lib/browser/service/notebook-cell-context-manager.js.map +1 -0
- package/lib/browser/service/notebook-editor-service.d.ts +22 -0
- package/lib/browser/service/notebook-editor-service.d.ts.map +1 -0
- package/lib/browser/service/notebook-editor-service.js +95 -0
- package/lib/browser/service/notebook-editor-service.js.map +1 -0
- package/lib/browser/service/notebook-execution-service.d.ts +25 -0
- package/lib/browser/service/notebook-execution-service.d.ts.map +1 -0
- package/lib/browser/service/notebook-execution-service.js +140 -0
- package/lib/browser/service/notebook-execution-service.js.map +1 -0
- package/lib/browser/service/notebook-execution-state-service.d.ts +94 -0
- package/lib/browser/service/notebook-execution-state-service.d.ts.map +1 -0
- package/lib/browser/service/notebook-execution-state-service.js +250 -0
- package/lib/browser/service/notebook-execution-state-service.js.map +1 -0
- package/lib/browser/service/notebook-kernel-history-service.d.ts +23 -0
- package/lib/browser/service/notebook-kernel-history-service.d.ts.map +1 -0
- package/lib/browser/service/notebook-kernel-history-service.js +109 -0
- package/lib/browser/service/notebook-kernel-history-service.js.map +1 -0
- package/lib/browser/service/notebook-kernel-quick-pick-service.d.ts +65 -0
- package/lib/browser/service/notebook-kernel-quick-pick-service.d.ts.map +1 -0
- package/lib/browser/service/notebook-kernel-quick-pick-service.js +430 -0
- package/lib/browser/service/notebook-kernel-quick-pick-service.js.map +1 -0
- package/lib/browser/service/notebook-kernel-service.d.ts +112 -0
- package/lib/browser/service/notebook-kernel-service.d.ts.map +1 -0
- package/lib/browser/service/notebook-kernel-service.js +274 -0
- package/lib/browser/service/notebook-kernel-service.js.map +1 -0
- package/lib/browser/service/notebook-model-resolver-service.d.ts +26 -0
- package/lib/browser/service/notebook-model-resolver-service.d.ts.map +1 -0
- package/lib/browser/service/notebook-model-resolver-service.js +139 -0
- package/lib/browser/service/notebook-model-resolver-service.js.map +1 -0
- package/lib/browser/service/notebook-renderer-messaging-service.d.ts +30 -0
- package/lib/browser/service/notebook-renderer-messaging-service.d.ts.map +1 -0
- package/lib/browser/service/notebook-renderer-messaging-service.js +94 -0
- package/lib/browser/service/notebook-renderer-messaging-service.js.map +1 -0
- package/lib/browser/service/notebook-service.d.ts +64 -0
- package/lib/browser/service/notebook-service.d.ts.map +1 -0
- package/lib/browser/service/notebook-service.js +162 -0
- package/lib/browser/service/notebook-service.js.map +1 -0
- package/lib/browser/view/notebook-cell-editor.d.ts +26 -0
- package/lib/browser/view/notebook-cell-editor.d.ts.map +1 -0
- package/lib/browser/view/notebook-cell-editor.js +79 -0
- package/lib/browser/view/notebook-cell-editor.js.map +1 -0
- package/lib/browser/view/notebook-cell-list-view.d.ts +43 -0
- package/lib/browser/view/notebook-cell-list-view.d.ts.map +1 -0
- package/lib/browser/view/notebook-cell-list-view.js +111 -0
- package/lib/browser/view/notebook-cell-list-view.js.map +1 -0
- package/lib/browser/view/notebook-cell-toolbar-factory.d.ts +25 -0
- package/lib/browser/view/notebook-cell-toolbar-factory.d.ts.map +1 -0
- package/lib/browser/view/notebook-cell-toolbar-factory.js +93 -0
- package/lib/browser/view/notebook-cell-toolbar-factory.js.map +1 -0
- package/lib/browser/view/notebook-cell-toolbar.d.ts +25 -0
- package/lib/browser/view/notebook-cell-toolbar.d.ts.map +1 -0
- package/lib/browser/view/notebook-cell-toolbar.js +50 -0
- package/lib/browser/view/notebook-cell-toolbar.js.map +1 -0
- package/lib/browser/view/notebook-code-cell-view.d.ts +47 -0
- package/lib/browser/view/notebook-code-cell-view.d.ts.map +1 -0
- package/lib/browser/view/notebook-code-cell-view.js +166 -0
- package/lib/browser/view/notebook-code-cell-view.js.map +1 -0
- package/lib/browser/view/notebook-main-toolbar.d.ts +31 -0
- package/lib/browser/view/notebook-main-toolbar.d.ts.map +1 -0
- package/lib/browser/view/notebook-main-toolbar.js +118 -0
- package/lib/browser/view/notebook-main-toolbar.js.map +1 -0
- package/lib/browser/view/notebook-markdown-cell-view.d.ts +12 -0
- package/lib/browser/view/notebook-markdown-cell-view.d.ts.map +1 -0
- package/lib/browser/view/notebook-markdown-cell-view.js +70 -0
- package/lib/browser/view/notebook-markdown-cell-view.js.map +1 -0
- package/lib/browser/view-model/notebook-cell-model.d.ts +74 -0
- package/lib/browser/view-model/notebook-cell-model.d.ts.map +1 -0
- package/lib/browser/view-model/notebook-cell-model.js +226 -0
- package/lib/browser/view-model/notebook-cell-model.js.map +1 -0
- package/lib/browser/view-model/notebook-cell-output-model.d.ts +19 -0
- package/lib/browser/view-model/notebook-cell-output-model.d.ts.map +1 -0
- package/lib/browser/view-model/notebook-cell-output-model.js +61 -0
- package/lib/browser/view-model/notebook-cell-output-model.js.map +1 -0
- package/lib/browser/view-model/notebook-model.d.ts +59 -0
- package/lib/browser/view-model/notebook-model.d.ts.map +1 -0
- package/lib/browser/view-model/notebook-model.js +315 -0
- package/lib/browser/view-model/notebook-model.js.map +1 -0
- package/lib/common/index.d.ts +3 -0
- package/lib/common/index.d.ts.map +1 -0
- package/lib/common/index.js +30 -0
- package/lib/common/index.js.map +1 -0
- package/lib/common/notebook-common.d.ts +344 -0
- package/lib/common/notebook-common.d.ts.map +1 -0
- package/lib/common/notebook-common.js +112 -0
- package/lib/common/notebook-common.js.map +1 -0
- package/lib/common/notebook-protocol.d.ts +21 -0
- package/lib/common/notebook-protocol.d.ts.map +1 -0
- package/lib/common/notebook-protocol.js +18 -0
- package/lib/common/notebook-protocol.js.map +1 -0
- package/lib/common/notebook-range.d.ts +14 -0
- package/lib/common/notebook-range.d.ts.map +1 -0
- package/lib/common/notebook-range.js +18 -0
- package/lib/common/notebook-range.js.map +1 -0
- package/package.json +52 -0
- package/src/browser/contributions/notebook-actions-contribution.ts +171 -0
- package/src/browser/contributions/notebook-cell-actions-contribution.ts +204 -0
- package/src/browser/contributions/notebook-color-contribution.ts +268 -0
- package/src/browser/contributions/notebook-context-keys.ts +99 -0
- package/src/browser/index.ts +26 -0
- package/src/browser/notebook-cell-resource-resolver.ts +79 -0
- package/src/browser/notebook-editor-widget-factory.ts +70 -0
- package/src/browser/notebook-editor-widget.tsx +157 -0
- package/src/browser/notebook-frontend-module.ts +95 -0
- package/src/browser/notebook-open-handler.ts +87 -0
- package/src/browser/notebook-renderer-registry.ts +62 -0
- package/src/browser/notebook-type-registry.ts +30 -0
- package/src/browser/renderers/cell-output-webview.ts +32 -0
- package/src/browser/service/notebook-cell-context-manager.ts +70 -0
- package/src/browser/service/notebook-editor-service.ts +86 -0
- package/src/browser/service/notebook-execution-service.ts +139 -0
- package/src/browser/service/notebook-execution-state-service.ts +322 -0
- package/src/browser/service/notebook-kernel-history-service.ts +109 -0
- package/src/browser/service/notebook-kernel-quick-pick-service.ts +494 -0
- package/src/browser/service/notebook-kernel-service.ts +357 -0
- package/src/browser/service/notebook-model-resolver-service.ts +141 -0
- package/src/browser/service/notebook-renderer-messaging-service.ts +111 -0
- package/src/browser/service/notebook-service.ts +178 -0
- package/src/browser/style/index.css +236 -0
- package/src/browser/view/notebook-cell-editor.tsx +97 -0
- package/src/browser/view/notebook-cell-list-view.tsx +171 -0
- package/src/browser/view/notebook-cell-toolbar-factory.tsx +91 -0
- package/src/browser/view/notebook-cell-toolbar.tsx +70 -0
- package/src/browser/view/notebook-code-cell-view.tsx +190 -0
- package/src/browser/view/notebook-main-toolbar.tsx +115 -0
- package/src/browser/view/notebook-markdown-cell-view.tsx +73 -0
- package/src/browser/view-model/notebook-cell-model.ts +271 -0
- package/src/browser/view-model/notebook-cell-output-model.ts +69 -0
- package/src/browser/view-model/notebook-model.ts +372 -0
- package/src/common/index.ts +18 -0
- package/src/common/notebook-common.ts +462 -0
- package/src/common/notebook-protocol.ts +35 -0
- package/src/common/notebook-range.ts +30 -0
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 2023 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
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
18
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
19
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
20
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
21
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
22
|
+
};
|
|
23
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
24
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
25
|
+
};
|
|
26
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
27
|
+
exports.NotebookMarkdownCellRenderer = void 0;
|
|
28
|
+
const React = require("@theia/core/shared/react");
|
|
29
|
+
const markdown_renderer_1 = require("@theia/core/lib/browser/markdown-rendering/markdown-renderer");
|
|
30
|
+
const markdown_string_1 = require("@theia/core/lib/common/markdown-rendering/markdown-string");
|
|
31
|
+
const notebook_cell_editor_1 = require("./notebook-cell-editor");
|
|
32
|
+
const inversify_1 = require("@theia/core/shared/inversify");
|
|
33
|
+
const monaco_editor_1 = require("@theia/monaco/lib/browser/monaco-editor");
|
|
34
|
+
const core_1 = require("@theia/core");
|
|
35
|
+
let NotebookMarkdownCellRenderer = class NotebookMarkdownCellRenderer {
|
|
36
|
+
render(notebookModel, cell) {
|
|
37
|
+
return React.createElement(MarkdownCell, { markdownRenderer: this.markdownRenderer, monacoServices: this.monacoServices, cell: cell, notebookModel: notebookModel });
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
__decorate([
|
|
41
|
+
(0, inversify_1.inject)(markdown_renderer_1.MarkdownRenderer),
|
|
42
|
+
__metadata("design:type", Object)
|
|
43
|
+
], NotebookMarkdownCellRenderer.prototype, "markdownRenderer", void 0);
|
|
44
|
+
__decorate([
|
|
45
|
+
(0, inversify_1.inject)(monaco_editor_1.MonacoEditorServices),
|
|
46
|
+
__metadata("design:type", monaco_editor_1.MonacoEditorServices)
|
|
47
|
+
], NotebookMarkdownCellRenderer.prototype, "monacoServices", void 0);
|
|
48
|
+
NotebookMarkdownCellRenderer = __decorate([
|
|
49
|
+
(0, inversify_1.injectable)()
|
|
50
|
+
], NotebookMarkdownCellRenderer);
|
|
51
|
+
exports.NotebookMarkdownCellRenderer = NotebookMarkdownCellRenderer;
|
|
52
|
+
function MarkdownCell({ markdownRenderer, monacoServices, cell, notebookModel }) {
|
|
53
|
+
const [editMode, setEditMode] = React.useState(false);
|
|
54
|
+
React.useEffect(() => {
|
|
55
|
+
const listener = cell.onDidRequestCellEditChange(cellEdit => setEditMode(cellEdit));
|
|
56
|
+
return () => listener.dispose();
|
|
57
|
+
}, [editMode]);
|
|
58
|
+
let markdownContent = React.useMemo(() => markdownRenderer.render(new markdown_string_1.MarkdownStringImpl(cell.source)).element.innerHTML, [cell, editMode]);
|
|
59
|
+
if (markdownContent.length === 0) {
|
|
60
|
+
markdownContent = `<i class="theia-notebook-empty-markdown">${core_1.nls.localizeByDefault('Empty markdown cell, double-click or press enter to edit.')}</i>`;
|
|
61
|
+
}
|
|
62
|
+
return editMode ?
|
|
63
|
+
React.createElement(notebook_cell_editor_1.CellEditor, { cell: cell, notebookModel: notebookModel, monacoServices: monacoServices }) :
|
|
64
|
+
React.createElement("div", { className: 'theia-notebook-markdown-content', onDoubleClick: () => cell.requestEdit(),
|
|
65
|
+
// This sets the non React HTML node from the markdown renderers output as a child node to this react component
|
|
66
|
+
// This is currently sadly the best way we have to combine React (Virtual Nodes) and normal dom nodes
|
|
67
|
+
// the HTML is allready sanitized by the markdown renderer, so we don't need to sanitize it again
|
|
68
|
+
dangerouslySetInnerHTML: { __html: markdownContent } });
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=notebook-markdown-cell-view.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notebook-markdown-cell-view.js","sourceRoot":"","sources":["../../../src/browser/view/notebook-markdown-cell-view.tsx"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;;;;;;;;;AAEhF,kDAAkD;AAClD,oGAAgG;AAChG,+FAA+F;AAI/F,iEAAoD;AACpD,4DAAkE;AAClE,2EAA+E;AAC/E,sCAAkC;AAGlC,IAAa,4BAA4B,GAAzC,MAAa,4BAA4B;IAOrC,MAAM,CAAC,aAA4B,EAAE,IAAuB;QACxD,OAAO,oBAAC,YAAY,IAAC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAC7F,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,aAAa,GAAI,CAAC;IACrD,CAAC;CAEJ,CAAA;AATG;IADC,IAAA,kBAAM,EAAC,oCAAgB,CAAC;;sEAC2B;AAEpD;IADC,IAAA,kBAAM,EAAC,oCAAoB,CAAC;8BACM,oCAAoB;oEAAC;AAL/C,4BAA4B;IADxC,IAAA,sBAAU,GAAE;GACA,4BAA4B,CAYxC;AAZY,oEAA4B;AAsBzC,SAAS,YAAY,CAAC,EAAE,gBAAgB,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,EAAqB;IAC9F,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEtD,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,MAAM,QAAQ,GAAG,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;QACpF,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;IACpC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,IAAI,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,oCAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC5I,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE;QAC9B,eAAe,GAAG,4CAA4C,UAAG,CAAC,iBAAiB,CAAC,2DAA2D,CAAC,MAAM,CAAC;KAC1J;IAED,OAAO,QAAQ,CAAC,CAAC;QACb,oBAAC,iCAAU,IAAC,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,GAAI,CAAC,CAAC;QAC1F,6BAAK,SAAS,EAAC,iCAAiC,EAC5C,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE;YACvC,+GAA+G;YAC/G,qGAAqG;YACrG,iGAAiG;YACjG,uBAAuB,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE,GACtD,CAAC;AACX,CAAC"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { Disposable, DisposableCollection, Emitter, Event, URI } from '@theia/core';
|
|
2
|
+
import { interfaces } from '@theia/core/shared/inversify';
|
|
3
|
+
import { MonacoEditorModel } from '@theia/monaco/lib/browser/monaco-editor-model';
|
|
4
|
+
import { MonacoTextModelService } from '@theia/monaco/lib/browser/monaco-text-model-service';
|
|
5
|
+
import { CellInternalMetadataChangedEvent, CellKind, NotebookCellCollapseState, NotebookCellInternalMetadata, NotebookCellMetadata, NotebookCellOutputsSplice, CellOutput, CellData, NotebookCell } from '../../common';
|
|
6
|
+
import { NotebookCellOutputModel } from './notebook-cell-output-model';
|
|
7
|
+
export declare const NotebookCellModelFactory: unique symbol;
|
|
8
|
+
export declare function createNotebookCellModelContainer(parent: interfaces.Container, props: NotebookCellModelProps, notebookCellContextManager: new (...args: never[]) => unknown): interfaces.Container;
|
|
9
|
+
declare const NotebookCellContextManager: unique symbol;
|
|
10
|
+
interface NotebookCellContextManager {
|
|
11
|
+
updateCellContext(cell: NotebookCellModel, context: HTMLElement): void;
|
|
12
|
+
dispose(): void;
|
|
13
|
+
onDidChangeContext: Event<void>;
|
|
14
|
+
}
|
|
15
|
+
export interface NotebookCellModelProps {
|
|
16
|
+
readonly uri: URI;
|
|
17
|
+
readonly handle: number;
|
|
18
|
+
source: string;
|
|
19
|
+
language: string;
|
|
20
|
+
readonly cellKind: CellKind;
|
|
21
|
+
outputs: CellOutput[];
|
|
22
|
+
metadata?: NotebookCellMetadata | undefined;
|
|
23
|
+
internalMetadata?: NotebookCellInternalMetadata | undefined;
|
|
24
|
+
readonly collapseState?: NotebookCellCollapseState | undefined;
|
|
25
|
+
}
|
|
26
|
+
export declare class NotebookCellModel implements NotebookCell, Disposable {
|
|
27
|
+
protected readonly onDidChangeOutputsEmitter: Emitter<NotebookCellOutputsSplice>;
|
|
28
|
+
readonly onDidChangeOutputs: Event<NotebookCellOutputsSplice>;
|
|
29
|
+
protected readonly onDidChangeOutputItemsEmitter: Emitter<void>;
|
|
30
|
+
readonly onDidChangeOutputItems: Event<void>;
|
|
31
|
+
protected readonly onDidChangeContentEmitter: Emitter<"content" | "language" | "mime">;
|
|
32
|
+
readonly onDidChangeContent: Event<'content' | 'language' | 'mime'>;
|
|
33
|
+
protected readonly onDidChangeMetadataEmitter: Emitter<void>;
|
|
34
|
+
readonly onDidChangeMetadata: Event<void>;
|
|
35
|
+
protected readonly onDidChangeInternalMetadataEmitter: Emitter<CellInternalMetadataChangedEvent>;
|
|
36
|
+
readonly onDidChangeInternalMetadata: Event<CellInternalMetadataChangedEvent>;
|
|
37
|
+
protected readonly onDidChangeLanguageEmitter: Emitter<string>;
|
|
38
|
+
readonly onDidChangeLanguage: Event<string>;
|
|
39
|
+
protected readonly onDidRequestCellEditChangeEmitter: Emitter<boolean>;
|
|
40
|
+
readonly onDidRequestCellEditChange: Event<boolean>;
|
|
41
|
+
readonly notebookCellContextManager: NotebookCellContextManager;
|
|
42
|
+
protected readonly props: NotebookCellModelProps;
|
|
43
|
+
protected readonly textModelService: MonacoTextModelService;
|
|
44
|
+
get outputs(): NotebookCellOutputModel[];
|
|
45
|
+
protected _outputs: NotebookCellOutputModel[];
|
|
46
|
+
get metadata(): NotebookCellMetadata;
|
|
47
|
+
protected _metadata: NotebookCellMetadata;
|
|
48
|
+
protected toDispose: DisposableCollection;
|
|
49
|
+
protected _internalMetadata: NotebookCellInternalMetadata;
|
|
50
|
+
get internalMetadata(): NotebookCellInternalMetadata;
|
|
51
|
+
set internalMetadata(newInternalMetadata: NotebookCellInternalMetadata);
|
|
52
|
+
textModel: MonacoEditorModel;
|
|
53
|
+
protected htmlContext: HTMLLIElement;
|
|
54
|
+
get context(): HTMLLIElement;
|
|
55
|
+
get textBuffer(): string;
|
|
56
|
+
get source(): string;
|
|
57
|
+
set source(source: string);
|
|
58
|
+
get language(): string;
|
|
59
|
+
set language(newLanguage: string);
|
|
60
|
+
get uri(): URI;
|
|
61
|
+
get handle(): number;
|
|
62
|
+
get cellKind(): CellKind;
|
|
63
|
+
protected init(): void;
|
|
64
|
+
refChanged(node: HTMLLIElement): void;
|
|
65
|
+
dispose(): void;
|
|
66
|
+
requestEdit(): void;
|
|
67
|
+
requestStopEdit(): void;
|
|
68
|
+
spliceNotebookCellOutputs(splice: NotebookCellOutputsSplice): void;
|
|
69
|
+
replaceOutputItems(outputId: string, newOutputItem: CellOutput): boolean;
|
|
70
|
+
getData(): CellData;
|
|
71
|
+
resolveTextModel(): Promise<MonacoEditorModel>;
|
|
72
|
+
}
|
|
73
|
+
export {};
|
|
74
|
+
//# sourceMappingURL=notebook-cell-model.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notebook-cell-model.d.ts","sourceRoot":"","sources":["../../../src/browser/view-model/notebook-cell-model.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 2023 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
|
+
/*---------------------------------------------------------------------------------------------
|
|
18
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
19
|
+
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
20
|
+
*--------------------------------------------------------------------------------------------*/
|
|
21
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
22
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
23
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
24
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
25
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
26
|
+
};
|
|
27
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
28
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
29
|
+
};
|
|
30
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
31
|
+
exports.NotebookCellModel = exports.createNotebookCellModelContainer = exports.NotebookCellModelFactory = void 0;
|
|
32
|
+
const core_1 = require("@theia/core");
|
|
33
|
+
const inversify_1 = require("@theia/core/shared/inversify");
|
|
34
|
+
const monaco_text_model_service_1 = require("@theia/monaco/lib/browser/monaco-text-model-service");
|
|
35
|
+
const notebook_cell_output_model_1 = require("./notebook-cell-output-model");
|
|
36
|
+
exports.NotebookCellModelFactory = Symbol('NotebookModelFactory');
|
|
37
|
+
function createNotebookCellModelContainer(parent, props, notebookCellContextManager) {
|
|
38
|
+
const child = parent.createChild();
|
|
39
|
+
child.bind(NotebookCellModelProps).toConstantValue(props);
|
|
40
|
+
// We need the constructor as property here to avoid circular dependencies for the context manager
|
|
41
|
+
child.bind(NotebookCellContextManager).to(notebookCellContextManager).inSingletonScope();
|
|
42
|
+
child.bind(NotebookCellModel).toSelf();
|
|
43
|
+
return child;
|
|
44
|
+
}
|
|
45
|
+
exports.createNotebookCellModelContainer = createNotebookCellModelContainer;
|
|
46
|
+
const NotebookCellContextManager = Symbol('NotebookCellContextManager');
|
|
47
|
+
const NotebookCellModelProps = Symbol('NotebookModelProps');
|
|
48
|
+
let NotebookCellModel = class NotebookCellModel {
|
|
49
|
+
constructor() {
|
|
50
|
+
this.onDidChangeOutputsEmitter = new core_1.Emitter();
|
|
51
|
+
this.onDidChangeOutputs = this.onDidChangeOutputsEmitter.event;
|
|
52
|
+
this.onDidChangeOutputItemsEmitter = new core_1.Emitter();
|
|
53
|
+
this.onDidChangeOutputItems = this.onDidChangeOutputItemsEmitter.event;
|
|
54
|
+
this.onDidChangeContentEmitter = new core_1.Emitter();
|
|
55
|
+
this.onDidChangeContent = this.onDidChangeContentEmitter.event;
|
|
56
|
+
this.onDidChangeMetadataEmitter = new core_1.Emitter();
|
|
57
|
+
this.onDidChangeMetadata = this.onDidChangeMetadataEmitter.event;
|
|
58
|
+
this.onDidChangeInternalMetadataEmitter = new core_1.Emitter();
|
|
59
|
+
this.onDidChangeInternalMetadata = this.onDidChangeInternalMetadataEmitter.event;
|
|
60
|
+
this.onDidChangeLanguageEmitter = new core_1.Emitter();
|
|
61
|
+
this.onDidChangeLanguage = this.onDidChangeLanguageEmitter.event;
|
|
62
|
+
this.onDidRequestCellEditChangeEmitter = new core_1.Emitter();
|
|
63
|
+
this.onDidRequestCellEditChange = this.onDidRequestCellEditChangeEmitter.event;
|
|
64
|
+
this.toDispose = new core_1.DisposableCollection();
|
|
65
|
+
}
|
|
66
|
+
get outputs() {
|
|
67
|
+
return this._outputs;
|
|
68
|
+
}
|
|
69
|
+
get metadata() {
|
|
70
|
+
return this._metadata;
|
|
71
|
+
}
|
|
72
|
+
get internalMetadata() {
|
|
73
|
+
return this._internalMetadata;
|
|
74
|
+
}
|
|
75
|
+
set internalMetadata(newInternalMetadata) {
|
|
76
|
+
const lastRunSuccessChanged = this._internalMetadata.lastRunSuccess !== newInternalMetadata.lastRunSuccess;
|
|
77
|
+
newInternalMetadata = {
|
|
78
|
+
...newInternalMetadata,
|
|
79
|
+
...{ runStartTimeAdjustment: computeRunStartTimeAdjustment(this._internalMetadata, newInternalMetadata) }
|
|
80
|
+
};
|
|
81
|
+
this._internalMetadata = newInternalMetadata;
|
|
82
|
+
this.onDidChangeInternalMetadataEmitter.fire({ lastRunSuccessChanged });
|
|
83
|
+
}
|
|
84
|
+
get context() {
|
|
85
|
+
return this.htmlContext;
|
|
86
|
+
}
|
|
87
|
+
get textBuffer() {
|
|
88
|
+
return this.textModel ? this.textModel.getText() : this.source;
|
|
89
|
+
}
|
|
90
|
+
get source() {
|
|
91
|
+
return this.props.source;
|
|
92
|
+
}
|
|
93
|
+
set source(source) {
|
|
94
|
+
this.props.source = source;
|
|
95
|
+
}
|
|
96
|
+
get language() {
|
|
97
|
+
return this.props.language;
|
|
98
|
+
}
|
|
99
|
+
set language(newLanguage) {
|
|
100
|
+
if (this.language === newLanguage) {
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
this.props.language = newLanguage;
|
|
104
|
+
if (this.textModel) {
|
|
105
|
+
this.textModel.setLanguageId(newLanguage);
|
|
106
|
+
}
|
|
107
|
+
this.language = newLanguage;
|
|
108
|
+
this.onDidChangeLanguageEmitter.fire(newLanguage);
|
|
109
|
+
this.onDidChangeContentEmitter.fire('language');
|
|
110
|
+
}
|
|
111
|
+
get uri() {
|
|
112
|
+
return this.props.uri;
|
|
113
|
+
}
|
|
114
|
+
get handle() {
|
|
115
|
+
return this.props.handle;
|
|
116
|
+
}
|
|
117
|
+
get cellKind() {
|
|
118
|
+
return this.props.cellKind;
|
|
119
|
+
}
|
|
120
|
+
init() {
|
|
121
|
+
var _a, _b;
|
|
122
|
+
this._outputs = this.props.outputs.map(op => new notebook_cell_output_model_1.NotebookCellOutputModel(op));
|
|
123
|
+
this._metadata = (_a = this.props.metadata) !== null && _a !== void 0 ? _a : {};
|
|
124
|
+
this._internalMetadata = (_b = this.props.internalMetadata) !== null && _b !== void 0 ? _b : {};
|
|
125
|
+
}
|
|
126
|
+
refChanged(node) {
|
|
127
|
+
if (node) {
|
|
128
|
+
this.htmlContext = node;
|
|
129
|
+
this.notebookCellContextManager.updateCellContext(this, node);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
dispose() {
|
|
133
|
+
this.onDidChangeOutputsEmitter.dispose();
|
|
134
|
+
this.onDidChangeOutputItemsEmitter.dispose();
|
|
135
|
+
this.onDidChangeContentEmitter.dispose();
|
|
136
|
+
this.onDidChangeMetadataEmitter.dispose();
|
|
137
|
+
this.onDidChangeInternalMetadataEmitter.dispose();
|
|
138
|
+
this.onDidChangeLanguageEmitter.dispose();
|
|
139
|
+
this.notebookCellContextManager.dispose();
|
|
140
|
+
this.textModel.dispose();
|
|
141
|
+
this.toDispose.dispose();
|
|
142
|
+
}
|
|
143
|
+
requestEdit() {
|
|
144
|
+
this.onDidRequestCellEditChangeEmitter.fire(true);
|
|
145
|
+
}
|
|
146
|
+
requestStopEdit() {
|
|
147
|
+
this.onDidRequestCellEditChangeEmitter.fire(false);
|
|
148
|
+
}
|
|
149
|
+
spliceNotebookCellOutputs(splice) {
|
|
150
|
+
if (splice.deleteCount > 0 && splice.newOutputs.length > 0) {
|
|
151
|
+
const commonLen = Math.min(splice.deleteCount, splice.newOutputs.length);
|
|
152
|
+
// update
|
|
153
|
+
for (let i = 0; i < commonLen; i++) {
|
|
154
|
+
const currentOutput = this.outputs[splice.start + i];
|
|
155
|
+
const newOutput = splice.newOutputs[i];
|
|
156
|
+
this.replaceOutputItems(currentOutput.outputId, newOutput);
|
|
157
|
+
}
|
|
158
|
+
this.outputs.splice(splice.start + commonLen, splice.deleteCount - commonLen, ...splice.newOutputs.slice(commonLen).map(op => new notebook_cell_output_model_1.NotebookCellOutputModel(op)));
|
|
159
|
+
this.onDidChangeOutputsEmitter.fire({ start: splice.start + commonLen, deleteCount: splice.deleteCount - commonLen, newOutputs: splice.newOutputs.slice(commonLen) });
|
|
160
|
+
}
|
|
161
|
+
else {
|
|
162
|
+
this.outputs.splice(splice.start, splice.deleteCount, ...splice.newOutputs.map(op => new notebook_cell_output_model_1.NotebookCellOutputModel(op)));
|
|
163
|
+
this.onDidChangeOutputsEmitter.fire(splice);
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
replaceOutputItems(outputId, newOutputItem) {
|
|
167
|
+
const output = this.outputs.find(out => out.outputId === outputId);
|
|
168
|
+
if (!output) {
|
|
169
|
+
return false;
|
|
170
|
+
}
|
|
171
|
+
output.replaceData(newOutputItem);
|
|
172
|
+
this.onDidChangeOutputItemsEmitter.fire();
|
|
173
|
+
return true;
|
|
174
|
+
}
|
|
175
|
+
getData() {
|
|
176
|
+
return {
|
|
177
|
+
cellKind: this.cellKind,
|
|
178
|
+
language: this.language,
|
|
179
|
+
outputs: this.outputs.map(output => output.getData()),
|
|
180
|
+
source: this.textBuffer,
|
|
181
|
+
collapseState: this.props.collapseState,
|
|
182
|
+
internalMetadata: this.internalMetadata,
|
|
183
|
+
metadata: this.metadata
|
|
184
|
+
};
|
|
185
|
+
}
|
|
186
|
+
async resolveTextModel() {
|
|
187
|
+
if (this.textModel) {
|
|
188
|
+
return this.textModel;
|
|
189
|
+
}
|
|
190
|
+
const ref = await this.textModelService.createModelReference(this.uri);
|
|
191
|
+
this.textModel = ref.object;
|
|
192
|
+
return ref.object;
|
|
193
|
+
}
|
|
194
|
+
};
|
|
195
|
+
__decorate([
|
|
196
|
+
(0, inversify_1.inject)(NotebookCellContextManager),
|
|
197
|
+
__metadata("design:type", Object)
|
|
198
|
+
], NotebookCellModel.prototype, "notebookCellContextManager", void 0);
|
|
199
|
+
__decorate([
|
|
200
|
+
(0, inversify_1.inject)(NotebookCellModelProps),
|
|
201
|
+
__metadata("design:type", Object)
|
|
202
|
+
], NotebookCellModel.prototype, "props", void 0);
|
|
203
|
+
__decorate([
|
|
204
|
+
(0, inversify_1.inject)(monaco_text_model_service_1.MonacoTextModelService),
|
|
205
|
+
__metadata("design:type", monaco_text_model_service_1.MonacoTextModelService)
|
|
206
|
+
], NotebookCellModel.prototype, "textModelService", void 0);
|
|
207
|
+
__decorate([
|
|
208
|
+
(0, inversify_1.postConstruct)(),
|
|
209
|
+
__metadata("design:type", Function),
|
|
210
|
+
__metadata("design:paramtypes", []),
|
|
211
|
+
__metadata("design:returntype", void 0)
|
|
212
|
+
], NotebookCellModel.prototype, "init", null);
|
|
213
|
+
NotebookCellModel = __decorate([
|
|
214
|
+
(0, inversify_1.injectable)()
|
|
215
|
+
], NotebookCellModel);
|
|
216
|
+
exports.NotebookCellModel = NotebookCellModel;
|
|
217
|
+
function computeRunStartTimeAdjustment(oldMetadata, newMetadata) {
|
|
218
|
+
if (oldMetadata.runStartTime !== newMetadata.runStartTime && typeof newMetadata.runStartTime === 'number') {
|
|
219
|
+
const offset = Date.now() - newMetadata.runStartTime;
|
|
220
|
+
return offset < 0 ? Math.abs(offset) : 0;
|
|
221
|
+
}
|
|
222
|
+
else {
|
|
223
|
+
return newMetadata.runStartTimeAdjustment;
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
//# sourceMappingURL=notebook-cell-model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notebook-cell-model.js","sourceRoot":"","sources":["../../../src/browser/view-model/notebook-cell-model.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Disposable } from '@theia/core';
|
|
2
|
+
import { CellOutput, CellOutputItem } from '../../common';
|
|
3
|
+
export declare class NotebookCellOutputModel implements Disposable {
|
|
4
|
+
private rawOutput;
|
|
5
|
+
private didChangeDataEmitter;
|
|
6
|
+
readonly onDidChangeData: import("@theia/core").Event<void>;
|
|
7
|
+
private requestOutputPresentationChangeEmitter;
|
|
8
|
+
readonly onRequestOutputPresentationChange: import("@theia/core").Event<void>;
|
|
9
|
+
get outputId(): string;
|
|
10
|
+
get outputs(): CellOutputItem[];
|
|
11
|
+
get metadata(): Record<string, unknown> | undefined;
|
|
12
|
+
constructor(rawOutput: CellOutput);
|
|
13
|
+
replaceData(rawData: CellOutput): void;
|
|
14
|
+
appendData(items: CellOutputItem[]): void;
|
|
15
|
+
dispose(): void;
|
|
16
|
+
requestOutputPresentationUpdate(): void;
|
|
17
|
+
getData(): CellOutput;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=notebook-cell-output-model.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notebook-cell-output-model.d.ts","sourceRoot":"","sources":["../../../src/browser/view-model/notebook-cell-output-model.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,UAAU,EAAW,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE1D,qBAAa,uBAAwB,YAAW,UAAU;IAoB1C,OAAO,CAAC,SAAS;IAlB7B,OAAO,CAAC,oBAAoB,CAAuB;IACnD,QAAQ,CAAC,eAAe,oCAAmC;IAE3D,OAAO,CAAC,sCAAsC,CAAuB;IACrE,QAAQ,CAAC,iCAAiC,oCAAqD;IAE/F,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,IAAI,OAAO,IAAI,cAAc,EAAE,CAE9B;IAED,IAAI,QAAQ,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAElD;gBAEmB,SAAS,EAAE,UAAU;IAEzC,WAAW,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI;IAKtC,UAAU,CAAC,KAAK,EAAE,cAAc,EAAE,GAAG,IAAI;IAKzC,OAAO,IAAI,IAAI;IAKf,+BAA+B,IAAI,IAAI;IAIvC,OAAO,IAAI,UAAU;CAQxB"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 2023 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.NotebookCellOutputModel = void 0;
|
|
19
|
+
const core_1 = require("@theia/core");
|
|
20
|
+
class NotebookCellOutputModel {
|
|
21
|
+
constructor(rawOutput) {
|
|
22
|
+
this.rawOutput = rawOutput;
|
|
23
|
+
this.didChangeDataEmitter = new core_1.Emitter();
|
|
24
|
+
this.onDidChangeData = this.didChangeDataEmitter.event;
|
|
25
|
+
this.requestOutputPresentationChangeEmitter = new core_1.Emitter();
|
|
26
|
+
this.onRequestOutputPresentationChange = this.requestOutputPresentationChangeEmitter.event;
|
|
27
|
+
}
|
|
28
|
+
get outputId() {
|
|
29
|
+
return this.rawOutput.outputId;
|
|
30
|
+
}
|
|
31
|
+
get outputs() {
|
|
32
|
+
return this.rawOutput.outputs || [];
|
|
33
|
+
}
|
|
34
|
+
get metadata() {
|
|
35
|
+
return this.rawOutput.metadata;
|
|
36
|
+
}
|
|
37
|
+
replaceData(rawData) {
|
|
38
|
+
this.rawOutput = rawData;
|
|
39
|
+
this.didChangeDataEmitter.fire();
|
|
40
|
+
}
|
|
41
|
+
appendData(items) {
|
|
42
|
+
this.rawOutput.outputs.push(...items);
|
|
43
|
+
this.didChangeDataEmitter.fire();
|
|
44
|
+
}
|
|
45
|
+
dispose() {
|
|
46
|
+
this.didChangeDataEmitter.dispose();
|
|
47
|
+
this.requestOutputPresentationChangeEmitter.dispose();
|
|
48
|
+
}
|
|
49
|
+
requestOutputPresentationUpdate() {
|
|
50
|
+
this.requestOutputPresentationChangeEmitter.fire();
|
|
51
|
+
}
|
|
52
|
+
getData() {
|
|
53
|
+
return {
|
|
54
|
+
outputs: this.outputs,
|
|
55
|
+
metadata: this.metadata,
|
|
56
|
+
outputId: this.outputId
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
exports.NotebookCellOutputModel = NotebookCellOutputModel;
|
|
61
|
+
//# sourceMappingURL=notebook-cell-output-model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notebook-cell-output-model.js","sourceRoot":"","sources":["../../../src/browser/view-model/notebook-cell-output-model.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,sCAAkD;AAGlD,MAAa,uBAAuB;IAoBhC,YAAoB,SAAqB;QAArB,cAAS,GAAT,SAAS,CAAY;QAlBjC,yBAAoB,GAAG,IAAI,cAAO,EAAQ,CAAC;QAC1C,oBAAe,GAAG,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC;QAEnD,2CAAsC,GAAG,IAAI,cAAO,EAAQ,CAAC;QAC5D,sCAAiC,GAAG,IAAI,CAAC,sCAAsC,CAAC,KAAK,CAAC;IAclD,CAAC;IAZ9C,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;IACnC,CAAC;IAED,IAAI,OAAO;QACP,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,IAAI,EAAE,CAAC;IACxC,CAAC;IAED,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;IACnC,CAAC;IAID,WAAW,CAAC,OAAmB;QAC3B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC;QACzB,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC;IACrC,CAAC;IAED,UAAU,CAAC,KAAuB;QAC9B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;QACtC,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC;IACrC,CAAC;IAED,OAAO;QACH,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,CAAC;QACpC,IAAI,CAAC,sCAAsC,CAAC,OAAO,EAAE,CAAC;IAC1D,CAAC;IAED,+BAA+B;QAC3B,IAAI,CAAC,sCAAsC,CAAC,IAAI,EAAE,CAAC;IACvD,CAAC;IAED,OAAO;QACH,OAAO;YACH,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;SAC1B,CAAC;IACN,CAAC;CAEJ;AAjDD,0DAiDC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { Disposable, URI } from '@theia/core';
|
|
2
|
+
import { Saveable, SaveOptions } from '@theia/core/lib/browser';
|
|
3
|
+
import { CellEditOperation, NotebookData, NotebookDocumentMetadata, NotebookModelWillAddRemoveEvent, NotebookTextModelChangedEvent } from '../../common';
|
|
4
|
+
import { NotebookSerializer } from '../service/notebook-service';
|
|
5
|
+
import { NotebookCellModel, NotebookCellModelProps } from './notebook-cell-model';
|
|
6
|
+
import { MonacoTextModelService } from '@theia/monaco/lib/browser/monaco-text-model-service';
|
|
7
|
+
import { interfaces } from '@theia/core/shared/inversify';
|
|
8
|
+
import { NotebookKernel } from '../service/notebook-kernel-service';
|
|
9
|
+
export declare const NotebookModelFactory: unique symbol;
|
|
10
|
+
export declare function createNotebookModelContainer(parent: interfaces.Container, props: NotebookModelProps): interfaces.Container;
|
|
11
|
+
export interface NotebookModelProps {
|
|
12
|
+
data: NotebookData;
|
|
13
|
+
uri: URI;
|
|
14
|
+
viewType: string;
|
|
15
|
+
serializer: NotebookSerializer;
|
|
16
|
+
}
|
|
17
|
+
export declare class NotebookModel implements Saveable, Disposable {
|
|
18
|
+
private props;
|
|
19
|
+
private cellModelFactory;
|
|
20
|
+
private readonly onDirtyChangedEmitter;
|
|
21
|
+
readonly onDirtyChanged: import("@theia/core").Event<void>;
|
|
22
|
+
private readonly onDidSaveNotebookEmitter;
|
|
23
|
+
readonly onDidSaveNotebook: import("@theia/core").Event<void>;
|
|
24
|
+
private readonly onDidAddOrRemoveCellEmitter;
|
|
25
|
+
readonly onDidAddOrRemoveCell: import("@theia/core").Event<NotebookModelWillAddRemoveEvent>;
|
|
26
|
+
private readonly onDidChangeContentEmitter;
|
|
27
|
+
readonly onDidChangeContent: import("@theia/core").Event<NotebookTextModelChangedEvent>;
|
|
28
|
+
private readonly fileService;
|
|
29
|
+
private readonly undoRedoService;
|
|
30
|
+
readonly autoSave: 'off' | 'afterDelay' | 'onFocusChange' | 'onWindowChange';
|
|
31
|
+
nextHandle: number;
|
|
32
|
+
kernel?: NotebookKernel;
|
|
33
|
+
dirty: boolean;
|
|
34
|
+
selectedCell?: NotebookCellModel;
|
|
35
|
+
private dirtyCells;
|
|
36
|
+
cells: NotebookCellModel[];
|
|
37
|
+
get uri(): URI;
|
|
38
|
+
get viewType(): string;
|
|
39
|
+
metadata: NotebookDocumentMetadata;
|
|
40
|
+
constructor(props: NotebookModelProps, modelService: MonacoTextModelService, cellModelFactory: (props: NotebookCellModelProps) => NotebookCellModel);
|
|
41
|
+
dispose(): void;
|
|
42
|
+
save(options: SaveOptions): Promise<void>;
|
|
43
|
+
createSnapshot(): Saveable.Snapshot;
|
|
44
|
+
revert(options?: Saveable.RevertOptions): Promise<void>;
|
|
45
|
+
isDirty(): boolean;
|
|
46
|
+
cellDirtyChanged(cell: NotebookCellModel, dirtyState: boolean): void;
|
|
47
|
+
undo(): void;
|
|
48
|
+
redo(): void;
|
|
49
|
+
setSelectedCell(cell: NotebookCellModel): void;
|
|
50
|
+
private addCellOutputListeners;
|
|
51
|
+
applyEdits(rawEdits: CellEditOperation[], computeUndoRedo: boolean): void;
|
|
52
|
+
private replaceCells;
|
|
53
|
+
private changeCellInternalMetadataPartial;
|
|
54
|
+
private updateNotebookMetadata;
|
|
55
|
+
private changeCellLanguage;
|
|
56
|
+
private moveCellToIndex;
|
|
57
|
+
private getCellIndexByHandle;
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=notebook-model.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notebook-model.d.ts","sourceRoot":"","sources":["../../../src/browser/view-model/notebook-model.ts"],"names":[],"mappings":"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"}
|