@opensumi/ide-notebook 3.4.5-next-1730119322.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 +33 -0
- package/lib/browser/index.d.ts +12 -0
- package/lib/browser/index.d.ts.map +1 -0
- package/lib/browser/index.js +49 -0
- package/lib/browser/index.js.map +1 -0
- package/lib/browser/kernel-panel/collapse/collapse-content.d.ts +10 -0
- package/lib/browser/kernel-panel/collapse/collapse-content.d.ts.map +1 -0
- package/lib/browser/kernel-panel/collapse/collapse-content.js +27 -0
- package/lib/browser/kernel-panel/collapse/collapse-content.js.map +1 -0
- package/lib/browser/kernel-panel/collapse/icon.d.ts +7 -0
- package/lib/browser/kernel-panel/collapse/icon.d.ts.map +1 -0
- package/lib/browser/kernel-panel/collapse/icon.js +64 -0
- package/lib/browser/kernel-panel/collapse/icon.js.map +1 -0
- package/lib/browser/kernel-panel/collapse/index.d.ts +5 -0
- package/lib/browser/kernel-panel/collapse/index.d.ts.map +1 -0
- package/lib/browser/kernel-panel/collapse/index.js +66 -0
- package/lib/browser/kernel-panel/collapse/index.js.map +1 -0
- package/lib/browser/kernel-panel/collapse/index.less +95 -0
- package/lib/browser/kernel-panel/collapse/kernel-collapse-content-item.d.ts +9 -0
- package/lib/browser/kernel-panel/collapse/kernel-collapse-content-item.d.ts.map +1 -0
- package/lib/browser/kernel-panel/collapse/kernel-collapse-content-item.js +41 -0
- package/lib/browser/kernel-panel/collapse/kernel-collapse-content-item.js.map +1 -0
- package/lib/browser/kernel-panel/collapse/kernel-collapse-content.d.ts +10 -0
- package/lib/browser/kernel-panel/collapse/kernel-collapse-content.d.ts.map +1 -0
- package/lib/browser/kernel-panel/collapse/kernel-collapse-content.js +4 -0
- package/lib/browser/kernel-panel/collapse/kernel-collapse-content.js.map +1 -0
- package/lib/browser/kernel-panel/collapse/page-collapse-content.d.ts +10 -0
- package/lib/browser/kernel-panel/collapse/page-collapse-content.d.ts.map +1 -0
- package/lib/browser/kernel-panel/collapse/page-collapse-content.js +32 -0
- package/lib/browser/kernel-panel/collapse/page-collapse-content.js.map +1 -0
- package/lib/browser/kernel-panel/index.d.ts +5 -0
- package/lib/browser/kernel-panel/index.d.ts.map +1 -0
- package/lib/browser/kernel-panel/index.js +5 -0
- package/lib/browser/kernel-panel/index.js.map +1 -0
- package/lib/browser/kernel-panel/index.less +20 -0
- package/lib/browser/kernel-panel/kernel-panel-view.d.ts +4 -0
- package/lib/browser/kernel-panel/kernel-panel-view.d.ts.map +1 -0
- package/lib/browser/kernel-panel/kernel-panel-view.js +72 -0
- package/lib/browser/kernel-panel/kernel-panel-view.js.map +1 -0
- package/lib/browser/kernel-panel/kernel.panel.color.tokens.d.ts +2 -0
- package/lib/browser/kernel-panel/kernel.panel.color.tokens.d.ts.map +1 -0
- package/lib/browser/kernel-panel/kernel.panel.color.tokens.js +10 -0
- package/lib/browser/kernel-panel/kernel.panel.color.tokens.js.map +1 -0
- package/lib/browser/kernel-panel/kernel.panel.contribution.d.ts +7 -0
- package/lib/browser/kernel-panel/kernel.panel.contribution.d.ts.map +1 -0
- package/lib/browser/kernel-panel/kernel.panel.contribution.js +32 -0
- package/lib/browser/kernel-panel/kernel.panel.contribution.js.map +1 -0
- package/lib/browser/kernel-panel/kernel.panel.protocol.d.ts +25 -0
- package/lib/browser/kernel-panel/kernel.panel.protocol.d.ts.map +1 -0
- package/lib/browser/kernel-panel/kernel.panel.protocol.js +7 -0
- package/lib/browser/kernel-panel/kernel.panel.protocol.js.map +1 -0
- package/lib/browser/libro/editor/editor-contribution.d.ts +13 -0
- package/lib/browser/libro/editor/editor-contribution.d.ts.map +1 -0
- package/lib/browser/libro/editor/editor-contribution.js +30 -0
- package/lib/browser/libro/editor/editor-contribution.js.map +1 -0
- package/lib/browser/libro/editor/index.less +48 -0
- package/lib/browser/libro/editor/keybind-handler.d.ts +14 -0
- package/lib/browser/libro/editor/keybind-handler.d.ts.map +1 -0
- package/lib/browser/libro/editor/keybind-handler.js +132 -0
- package/lib/browser/libro/editor/keybind-handler.js.map +1 -0
- package/lib/browser/libro/editor/module.d.ts +3 -0
- package/lib/browser/libro/editor/module.d.ts.map +1 -0
- package/lib/browser/libro/editor/module.js +22 -0
- package/lib/browser/libro/editor/module.js.map +1 -0
- package/lib/browser/libro/editor/opensumi-editor.d.ts +251 -0
- package/lib/browser/libro/editor/opensumi-editor.d.ts.map +1 -0
- package/lib/browser/libro/editor/opensumi-editor.js +567 -0
- package/lib/browser/libro/editor/opensumi-editor.js.map +1 -0
- package/lib/browser/libro/index.d.ts +4 -0
- package/lib/browser/libro/index.d.ts.map +1 -0
- package/lib/browser/libro/index.js +4 -0
- package/lib/browser/libro/index.js.map +1 -0
- package/lib/browser/libro/libro-opensumi-content-contribution.d.ts +9 -0
- package/lib/browser/libro/libro-opensumi-content-contribution.d.ts.map +1 -0
- package/lib/browser/libro/libro-opensumi-content-contribution.js +71 -0
- package/lib/browser/libro/libro-opensumi-content-contribution.js.map +1 -0
- package/lib/browser/libro/libro-opensumi-save-content-contribution.d.ts +10 -0
- package/lib/browser/libro/libro-opensumi-save-content-contribution.d.ts.map +1 -0
- package/lib/browser/libro/libro-opensumi-save-content-contribution.js +51 -0
- package/lib/browser/libro/libro-opensumi-save-content-contribution.js.map +1 -0
- package/lib/browser/libro/mana-module.d.ts +3 -0
- package/lib/browser/libro/mana-module.d.ts.map +1 -0
- package/lib/browser/libro/mana-module.js +8 -0
- package/lib/browser/libro/mana-module.js.map +1 -0
- package/lib/browser/libro-keybind-contribution.d.ts +19 -0
- package/lib/browser/libro-keybind-contribution.d.ts.map +1 -0
- package/lib/browser/libro-keybind-contribution.js +142 -0
- package/lib/browser/libro-keybind-contribution.js.map +1 -0
- package/lib/browser/libro-opener.d.ts +12 -0
- package/lib/browser/libro-opener.d.ts.map +1 -0
- package/lib/browser/libro-opener.js +83 -0
- package/lib/browser/libro-opener.js.map +1 -0
- package/lib/browser/libro.color.tokens.d.ts +2 -0
- package/lib/browser/libro.color.tokens.d.ts.map +1 -0
- package/lib/browser/libro.color.tokens.js +9 -0
- package/lib/browser/libro.color.tokens.js.map +1 -0
- package/lib/browser/libro.command.d.ts +6 -0
- package/lib/browser/libro.command.d.ts.map +1 -0
- package/lib/browser/libro.command.js +66 -0
- package/lib/browser/libro.command.js.map +1 -0
- package/lib/browser/libro.contribution.d.ts +29 -0
- package/lib/browser/libro.contribution.d.ts.map +1 -0
- package/lib/browser/libro.contribution.js +140 -0
- package/lib/browser/libro.contribution.js.map +1 -0
- package/lib/browser/libro.module.less +40 -0
- package/lib/browser/libro.protocol.d.ts +3 -0
- package/lib/browser/libro.protocol.d.ts.map +1 -0
- package/lib/browser/libro.protocol.js +3 -0
- package/lib/browser/libro.protocol.js.map +1 -0
- package/lib/browser/libro.service.d.ts +24 -0
- package/lib/browser/libro.service.d.ts.map +1 -0
- package/lib/browser/libro.service.js +68 -0
- package/lib/browser/libro.service.js.map +1 -0
- package/lib/browser/libro.view.d.ts +3 -0
- package/lib/browser/libro.view.d.ts.map +1 -0
- package/lib/browser/libro.view.js +54 -0
- package/lib/browser/libro.view.js.map +1 -0
- package/lib/browser/libro.view.tracker.d.ts +6 -0
- package/lib/browser/libro.view.tracker.d.ts.map +1 -0
- package/lib/browser/libro.view.tracker.js +28 -0
- package/lib/browser/libro.view.tracker.js.map +1 -0
- package/lib/browser/mana/index.d.ts +8 -0
- package/lib/browser/mana/index.d.ts.map +1 -0
- package/lib/browser/mana/index.js +15 -0
- package/lib/browser/mana/index.js.map +1 -0
- package/lib/browser/notebook-document-content-provider.d.ts +22 -0
- package/lib/browser/notebook-document-content-provider.d.ts.map +1 -0
- package/lib/browser/notebook-document-content-provider.js +80 -0
- package/lib/browser/notebook-document-content-provider.js.map +1 -0
- package/lib/browser/notebook.service.d.ts +27 -0
- package/lib/browser/notebook.service.d.ts.map +1 -0
- package/lib/browser/notebook.service.js +186 -0
- package/lib/browser/notebook.service.js.map +1 -0
- package/lib/browser/toc/index.d.ts +4 -0
- package/lib/browser/toc/index.d.ts.map +1 -0
- package/lib/browser/toc/index.js +4 -0
- package/lib/browser/toc/index.js.map +1 -0
- package/lib/browser/toc/toc.contribution.d.ts +6 -0
- package/lib/browser/toc/toc.contribution.d.ts.map +1 -0
- package/lib/browser/toc/toc.contribution.js +25 -0
- package/lib/browser/toc/toc.contribution.js.map +1 -0
- package/lib/browser/toc/toc.module.less +23 -0
- package/lib/browser/toc/toc.panel.color.tokens.d.ts +2 -0
- package/lib/browser/toc/toc.panel.color.tokens.d.ts.map +1 -0
- package/lib/browser/toc/toc.panel.color.tokens.js +6 -0
- package/lib/browser/toc/toc.panel.color.tokens.js.map +1 -0
- package/lib/browser/toc/toc.panel.d.ts +6 -0
- package/lib/browser/toc/toc.panel.d.ts.map +1 -0
- package/lib/browser/toc/toc.panel.js +61 -0
- package/lib/browser/toc/toc.panel.js.map +1 -0
- package/lib/index.d.ts +2 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +2 -0
- package/lib/index.js.map +1 -0
- package/package.json +42 -0
- package/src/browser/index.ts +44 -0
- package/src/browser/kernel-panel/collapse/collapse-content.tsx +46 -0
- package/src/browser/kernel-panel/collapse/icon.tsx +171 -0
- package/src/browser/kernel-panel/collapse/index.less +95 -0
- package/src/browser/kernel-panel/collapse/index.tsx +111 -0
- package/src/browser/kernel-panel/collapse/kernel-collapse-content-item.tsx +77 -0
- package/src/browser/kernel-panel/collapse/kernel-collapse-content.tsx +17 -0
- package/src/browser/kernel-panel/collapse/page-collapse-content.tsx +53 -0
- package/src/browser/kernel-panel/index.less +20 -0
- package/src/browser/kernel-panel/index.ts +4 -0
- package/src/browser/kernel-panel/kernel-panel-view.tsx +104 -0
- package/src/browser/kernel-panel/kernel.panel.color.tokens.ts +39 -0
- package/src/browser/kernel-panel/kernel.panel.contribution.ts +32 -0
- package/src/browser/kernel-panel/kernel.panel.protocol.ts +24 -0
- package/src/browser/libro/editor/editor-contribution.ts +41 -0
- package/src/browser/libro/editor/index.less +48 -0
- package/src/browser/libro/editor/keybind-handler.ts +133 -0
- package/src/browser/libro/editor/module.ts +30 -0
- package/src/browser/libro/editor/opensumi-editor.ts +826 -0
- package/src/browser/libro/index.ts +3 -0
- package/src/browser/libro/libro-opensumi-content-contribution.ts +63 -0
- package/src/browser/libro/libro-opensumi-save-content-contribution.ts +43 -0
- package/src/browser/libro/mana-module.ts +9 -0
- package/src/browser/libro-keybind-contribution.ts +147 -0
- package/src/browser/libro-opener.ts +96 -0
- package/src/browser/libro.color.tokens.ts +32 -0
- package/src/browser/libro.command.ts +63 -0
- package/src/browser/libro.contribution.tsx +189 -0
- package/src/browser/libro.module.less +40 -0
- package/src/browser/libro.protocol.ts +2 -0
- package/src/browser/libro.service.ts +85 -0
- package/src/browser/libro.view.tracker.ts +18 -0
- package/src/browser/libro.view.tsx +62 -0
- package/src/browser/mana/index.ts +20 -0
- package/src/browser/notebook-document-content-provider.ts +100 -0
- package/src/browser/notebook.service.ts +195 -0
- package/src/browser/toc/index.ts +3 -0
- package/src/browser/toc/toc.contribution.ts +24 -0
- package/src/browser/toc/toc.module.less +23 -0
- package/src/browser/toc/toc.panel.color.tokens.ts +11 -0
- package/src/browser/toc/toc.panel.tsx +66 -0
- package/src/index.ts +1 -0
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
import { __decorate, __metadata } from "tslib";
|
|
2
|
+
import { LibroJupyterNoEditorModule, ServerConnection, ServerManager } from '@difizen/libro-jupyter/noeditor';
|
|
3
|
+
import { LibroTOCModule } from '@difizen/libro-toc';
|
|
4
|
+
import { Container, ManaAppPreset, ManaComponents, ThemeService } from '@difizen/mana-app';
|
|
5
|
+
import React, { useState } from 'react';
|
|
6
|
+
import { Autowired } from '@opensumi/di';
|
|
7
|
+
import { AppConfig, ClientAppContextContribution, ClientAppContribution, CommandContribution, Domain, OpenerContribution, Schemes, URI, } from '@opensumi/ide-core-browser';
|
|
8
|
+
import { BrowserEditorContribution, WorkbenchEditorService, } from '@opensumi/ide-editor/lib/browser';
|
|
9
|
+
import { IconService } from '@opensumi/ide-theme/lib/browser';
|
|
10
|
+
import { IThemeService, IconType } from '@opensumi/ide-theme/lib/common';
|
|
11
|
+
import { initKernelPanelColorToken } from './kernel-panel';
|
|
12
|
+
import { LibroOpensumiModule } from './libro';
|
|
13
|
+
import { LibroOpener } from './libro-opener';
|
|
14
|
+
import { initLibroColorToken } from './libro.color.tokens';
|
|
15
|
+
import { LIBRO_COMPONENTS_ID, LIBRO_COMPONENTS_SCHEME_ID } from './libro.protocol';
|
|
16
|
+
import { OpensumiLibroView } from './libro.view';
|
|
17
|
+
import { ManaContainer, initLibroOpensumi, manaContainer } from './mana/index';
|
|
18
|
+
import { NotebookDocumentContentProvider } from './notebook-document-content-provider';
|
|
19
|
+
import { initTocPanelColorToken } from './toc';
|
|
20
|
+
const LIBRO_COMPONENTS_VIEW_COMMAND = {
|
|
21
|
+
id: 'opensumi-libro',
|
|
22
|
+
};
|
|
23
|
+
const LayoutWrapper = ({ children }) => {
|
|
24
|
+
const [isReady, setIsReady] = useState(false);
|
|
25
|
+
return (React.createElement(ManaComponents.Application, { context: { container: manaContainer }, modules: [ManaAppPreset, LibroJupyterNoEditorModule, LibroTOCModule, LibroOpensumiModule], renderChildren: true, onReady: () => setIsReady(true) }, isReady ? children : 'loading'));
|
|
26
|
+
};
|
|
27
|
+
let LibroContribution = class LibroContribution {
|
|
28
|
+
constructor() {
|
|
29
|
+
this.serverManagerInited = false;
|
|
30
|
+
}
|
|
31
|
+
registerOpener(registry) {
|
|
32
|
+
registry.registerOpener(this.libroOpener);
|
|
33
|
+
}
|
|
34
|
+
initialize(app) {
|
|
35
|
+
initLibroOpensumi(app.injector, manaContainer);
|
|
36
|
+
}
|
|
37
|
+
registerClientAppContext(Layout, injector) {
|
|
38
|
+
initLibroColorToken();
|
|
39
|
+
initKernelPanelColorToken();
|
|
40
|
+
initTocPanelColorToken();
|
|
41
|
+
return () => (React.createElement(LayoutWrapper, null,
|
|
42
|
+
React.createElement(Layout, null)));
|
|
43
|
+
}
|
|
44
|
+
registerCommands(registry) {
|
|
45
|
+
registry.registerCommand(LIBRO_COMPONENTS_VIEW_COMMAND, {
|
|
46
|
+
execute: () => {
|
|
47
|
+
this.editorService.open(new URI(`${LIBRO_COMPONENTS_SCHEME_ID}://`), {
|
|
48
|
+
preview: false,
|
|
49
|
+
});
|
|
50
|
+
},
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
registerEditorComponent(registry) {
|
|
54
|
+
registry.registerEditorComponent({
|
|
55
|
+
uid: LIBRO_COMPONENTS_ID,
|
|
56
|
+
scheme: LIBRO_COMPONENTS_SCHEME_ID,
|
|
57
|
+
component: OpensumiLibroView,
|
|
58
|
+
});
|
|
59
|
+
registry.registerEditorComponentResolver(Schemes.file, (resource, results) => {
|
|
60
|
+
if (resource.uri.path.ext === `.${LIBRO_COMPONENTS_SCHEME_ID}`) {
|
|
61
|
+
// 首次打开 notebook 文件时初始化 jupyter 服务连接
|
|
62
|
+
if (!this.serverManagerInited && this.config.notebookServerHost) {
|
|
63
|
+
this.serverManagerInited = true;
|
|
64
|
+
// 目前直接从浏览器连接 jupyter 服务,对服务的cors等配置会有要求
|
|
65
|
+
this.connectJupyterServer(this.config.notebookServerHost);
|
|
66
|
+
}
|
|
67
|
+
results.push({
|
|
68
|
+
type: 'component',
|
|
69
|
+
componentId: LIBRO_COMPONENTS_ID,
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
registerEditorDocumentModelContentProvider(registry) {
|
|
75
|
+
registry.registerEditorDocumentModelContentProvider(this.notebookDocumentContentProvider);
|
|
76
|
+
}
|
|
77
|
+
registerResource(service) {
|
|
78
|
+
service.registerResourceProvider({
|
|
79
|
+
scheme: LIBRO_COMPONENTS_SCHEME_ID,
|
|
80
|
+
provideResource: async (uri) => {
|
|
81
|
+
const iconClass = this.iconService.fromIcon('', 'https://mdn.alipayobjects.com/huamei_xt20ge/afts/img/A*LDFvSptm_zgAAAAAAAAAAAAADiuUAQ/original', IconType.Background);
|
|
82
|
+
return {
|
|
83
|
+
uri,
|
|
84
|
+
name: 'notebook',
|
|
85
|
+
icon: iconClass,
|
|
86
|
+
};
|
|
87
|
+
},
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
async onDidStart() {
|
|
91
|
+
const manaThemeService = this.manaContainer.get(ThemeService);
|
|
92
|
+
const curTheme = await this.themeService.getCurrentTheme();
|
|
93
|
+
manaThemeService.setCurrentTheme(curTheme.type);
|
|
94
|
+
this.themeService.onThemeChange((theme) => {
|
|
95
|
+
manaThemeService.setCurrentTheme(theme.type);
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
connectJupyterServer(serverHost) {
|
|
99
|
+
const libroServerConnection = this.manaContainer.get(ServerConnection);
|
|
100
|
+
libroServerConnection.updateSettings({
|
|
101
|
+
baseUrl: `http://${serverHost}/`,
|
|
102
|
+
wsUrl: `ws://${serverHost}/`,
|
|
103
|
+
});
|
|
104
|
+
const serverManager = this.manaContainer.get(ServerManager);
|
|
105
|
+
serverManager.launch();
|
|
106
|
+
}
|
|
107
|
+
};
|
|
108
|
+
__decorate([
|
|
109
|
+
Autowired(ManaContainer),
|
|
110
|
+
__metadata("design:type", Container)
|
|
111
|
+
], LibroContribution.prototype, "manaContainer", void 0);
|
|
112
|
+
__decorate([
|
|
113
|
+
Autowired(IconService),
|
|
114
|
+
__metadata("design:type", IconService)
|
|
115
|
+
], LibroContribution.prototype, "iconService", void 0);
|
|
116
|
+
__decorate([
|
|
117
|
+
Autowired(WorkbenchEditorService),
|
|
118
|
+
__metadata("design:type", WorkbenchEditorService)
|
|
119
|
+
], LibroContribution.prototype, "editorService", void 0);
|
|
120
|
+
__decorate([
|
|
121
|
+
Autowired(IThemeService),
|
|
122
|
+
__metadata("design:type", Object)
|
|
123
|
+
], LibroContribution.prototype, "themeService", void 0);
|
|
124
|
+
__decorate([
|
|
125
|
+
Autowired(NotebookDocumentContentProvider),
|
|
126
|
+
__metadata("design:type", NotebookDocumentContentProvider)
|
|
127
|
+
], LibroContribution.prototype, "notebookDocumentContentProvider", void 0);
|
|
128
|
+
__decorate([
|
|
129
|
+
Autowired(LibroOpener),
|
|
130
|
+
__metadata("design:type", LibroOpener)
|
|
131
|
+
], LibroContribution.prototype, "libroOpener", void 0);
|
|
132
|
+
__decorate([
|
|
133
|
+
Autowired(AppConfig),
|
|
134
|
+
__metadata("design:type", Object)
|
|
135
|
+
], LibroContribution.prototype, "config", void 0);
|
|
136
|
+
LibroContribution = __decorate([
|
|
137
|
+
Domain(ClientAppContribution, BrowserEditorContribution, ClientAppContextContribution, CommandContribution, OpenerContribution)
|
|
138
|
+
], LibroContribution);
|
|
139
|
+
export { LibroContribution };
|
|
140
|
+
//# sourceMappingURL=libro.contribution.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"libro.contribution.js","sourceRoot":"","sources":["../../src/browser/libro.contribution.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
.libroView {
|
|
2
|
+
height: 100%;
|
|
3
|
+
|
|
4
|
+
:global {
|
|
5
|
+
.libro-view {
|
|
6
|
+
background-color: var(--libro-background);
|
|
7
|
+
|
|
8
|
+
.cm-editor,
|
|
9
|
+
.cm-gutters {
|
|
10
|
+
background-color: var(--libro-input-background);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.libro-cell-right-toolbar {
|
|
15
|
+
background-color: var(--libro-side-toolbar-background);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
.libro-cell-output-container {
|
|
19
|
+
background-color: var(--libro-output-background);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.libro-cell-container,
|
|
23
|
+
.libro-input-hidden {
|
|
24
|
+
background-color: var(--libro-input-background);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.libro-e2-editor-container {
|
|
28
|
+
background-color: var(--libro-input-background) !important;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.libro-e2-editor {
|
|
32
|
+
background: var(--mana-libro-input-background) !important;
|
|
33
|
+
|
|
34
|
+
.monaco-editor-background,
|
|
35
|
+
.margin {
|
|
36
|
+
background: var(--libro-input-background) !important;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"libro.protocol.d.ts","sourceRoot":"","sources":["../../src/browser/libro.protocol.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB,mBAAmB,CAAC;AACpD,eAAO,MAAM,0BAA0B,UAAU,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"libro.protocol.js","sourceRoot":"","sources":["../../src/browser/libro.protocol.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,mBAAmB,GAAG,gBAAgB,CAAC;AACpD,MAAM,CAAC,MAAM,0BAA0B,GAAG,OAAO,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { CellView, LibroService, LibroView } from '@difizen/libro-jupyter/noeditor';
|
|
2
|
+
import { URI, WithEventBus } from '@opensumi/ide-core-browser';
|
|
3
|
+
import { WorkbenchEditorService } from '@opensumi/ide-editor';
|
|
4
|
+
import { LibroTracker } from './libro.view.tracker';
|
|
5
|
+
export declare const ILibroOpensumiService: unique symbol;
|
|
6
|
+
export interface ILibroOpensumiService {
|
|
7
|
+
libroTrackerMap: Map<string, LibroTracker>;
|
|
8
|
+
getOrCreatLibroView: (uri: URI) => Promise<LibroView>;
|
|
9
|
+
updateDirtyStatus: (uri: URI, dirty: boolean) => void;
|
|
10
|
+
getCellViewByUri: (uri: URI) => Promise<CellView | undefined>;
|
|
11
|
+
getCellLangauge: (cell: CellView) => string | undefined;
|
|
12
|
+
}
|
|
13
|
+
export declare class LibroOpensumiService extends WithEventBus implements ILibroOpensumiService {
|
|
14
|
+
private readonly manaContainer;
|
|
15
|
+
protected readonly editorService: WorkbenchEditorService;
|
|
16
|
+
constructor();
|
|
17
|
+
get libroService(): LibroService;
|
|
18
|
+
getOrCreatLibroView: (uri: URI) => Promise<LibroView>;
|
|
19
|
+
getCellViewByUri: (uri: URI) => Promise<CellView | undefined>;
|
|
20
|
+
getCellLangauge: (cell: CellView) => string | undefined;
|
|
21
|
+
updateDirtyStatus(uri: URI, dirty: boolean): void;
|
|
22
|
+
libroTrackerMap: Map<string, LibroTracker>;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=libro.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"libro.service.d.ts","sourceRoot":"","sources":["../../src/browser/libro.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,QAAQ,EAAwB,YAAY,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAKnH,OAAO,EAAE,GAAG,EAAE,YAAY,EAAQ,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAqC,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAEjG,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGpD,eAAO,MAAM,qBAAqB,eAAkC,CAAC;AAGrE,MAAM,WAAW,qBAAqB;IAEpC,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAE3C,mBAAmB,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC;IACtD,iBAAiB,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACtD,gBAAgB,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CAAC;IAC9D,eAAe,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,MAAM,GAAG,SAAS,CAAC;CACzD;AAED,qBACa,oBAAqB,SAAQ,YAAa,YAAW,qBAAqB;IAErF,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAY;IAG1C,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,sBAAsB,CAAC;;IAOzD,IAAI,YAAY,iBAGf;IAED,mBAAmB,QAAe,GAAG,wBAOnC;IAEF,gBAAgB,QAAe,GAAG,mCAchC;IAEF,eAAe,SAAU,QAAQ,wBAG/B;IAEF,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO;IAW1C,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAa;CACxD"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { __decorate, __metadata } from "tslib";
|
|
2
|
+
import { CellUri, LanguageSpecRegistry, LibroService } from '@difizen/libro-jupyter/noeditor';
|
|
3
|
+
import { Container, URI as ManaURI, getOrigin } from '@difizen/mana-app';
|
|
4
|
+
import { makeObservable } from 'mobx';
|
|
5
|
+
import { Autowired, Injectable } from '@opensumi/di';
|
|
6
|
+
import { WithEventBus, path } from '@opensumi/ide-core-browser';
|
|
7
|
+
import { ResourceDecorationNeedChangeEvent, WorkbenchEditorService } from '@opensumi/ide-editor';
|
|
8
|
+
import { ContentLoaderType, ManaContainer } from './mana';
|
|
9
|
+
export const ILibroOpensumiService = Symbol('ILibroOpensumiService');
|
|
10
|
+
let LibroOpensumiService = class LibroOpensumiService extends WithEventBus {
|
|
11
|
+
constructor() {
|
|
12
|
+
super();
|
|
13
|
+
this.getOrCreatLibroView = async (uri) => {
|
|
14
|
+
const libroOption = {
|
|
15
|
+
modelId: uri.toString(),
|
|
16
|
+
resource: uri.toString(),
|
|
17
|
+
loadType: ContentLoaderType,
|
|
18
|
+
};
|
|
19
|
+
return await this.libroService.getOrCreateView(libroOption);
|
|
20
|
+
};
|
|
21
|
+
this.getCellViewByUri = async (uri) => {
|
|
22
|
+
const parsed = CellUri.parse(new ManaURI(uri.toString(), { simpleMode: false }));
|
|
23
|
+
if (!parsed) {
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
const { notebookId, cellId } = parsed;
|
|
27
|
+
// const notebookUri = URI.file(notebookId);
|
|
28
|
+
/**
|
|
29
|
+
* 这里需要兼容各种不同的 content contribution 加载数据的方式,采取匹配model id的方式来找到libroview, 因为model id是会被编码进uri的
|
|
30
|
+
*/
|
|
31
|
+
const libroView = Array.from(this.libroService.getViewCache().values()).find((item) => path.join('/', String(item.model.id)) === notebookId);
|
|
32
|
+
return libroView === null || libroView === void 0 ? void 0 : libroView.model.cells.find((cell) => cell.model.id === cellId);
|
|
33
|
+
};
|
|
34
|
+
this.getCellLangauge = (cell) => {
|
|
35
|
+
var _a;
|
|
36
|
+
const languageSpecRegistry = this.manaContainer.get(LanguageSpecRegistry);
|
|
37
|
+
return (_a = getOrigin(languageSpecRegistry.languageSpecs).find((item) => item.mime === cell.model.mimeType)) === null || _a === void 0 ? void 0 : _a.language;
|
|
38
|
+
};
|
|
39
|
+
this.libroTrackerMap = new Map();
|
|
40
|
+
makeObservable(this);
|
|
41
|
+
}
|
|
42
|
+
get libroService() {
|
|
43
|
+
const libroService = this.manaContainer.get(LibroService);
|
|
44
|
+
return libroService;
|
|
45
|
+
}
|
|
46
|
+
updateDirtyStatus(uri, dirty) {
|
|
47
|
+
this.eventBus.fire(new ResourceDecorationNeedChangeEvent({
|
|
48
|
+
uri,
|
|
49
|
+
decoration: {
|
|
50
|
+
dirty,
|
|
51
|
+
},
|
|
52
|
+
}));
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
__decorate([
|
|
56
|
+
Autowired(ManaContainer),
|
|
57
|
+
__metadata("design:type", Container)
|
|
58
|
+
], LibroOpensumiService.prototype, "manaContainer", void 0);
|
|
59
|
+
__decorate([
|
|
60
|
+
Autowired(WorkbenchEditorService),
|
|
61
|
+
__metadata("design:type", WorkbenchEditorService)
|
|
62
|
+
], LibroOpensumiService.prototype, "editorService", void 0);
|
|
63
|
+
LibroOpensumiService = __decorate([
|
|
64
|
+
Injectable(),
|
|
65
|
+
__metadata("design:paramtypes", [])
|
|
66
|
+
], LibroOpensumiService);
|
|
67
|
+
export { LibroOpensumiService };
|
|
68
|
+
//# sourceMappingURL=libro.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"libro.service.js","sourceRoot":"","sources":["../../src/browser/libro.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"libro.view.d.ts","sourceRoot":"","sources":["../../src/browser/libro.view.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAO9E,eAAO,MAAM,iBAAiB,EAAE,oBA+C/B,CAAC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { DocumentCommands } from '@difizen/libro-jupyter/noeditor';
|
|
2
|
+
import { CommandRegistry, ViewRender } from '@difizen/mana-app';
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
import { INJECTOR_TOKEN } from '@opensumi/di';
|
|
5
|
+
import { useInjectable } from '@opensumi/ide-core-browser';
|
|
6
|
+
import styles from './libro.module.less';
|
|
7
|
+
import { ILibroOpensumiService } from './libro.service';
|
|
8
|
+
import { LibroTracker } from './libro.view.tracker';
|
|
9
|
+
import { ManaContainer } from './mana';
|
|
10
|
+
export const OpensumiLibroView = (...params) => {
|
|
11
|
+
const libroOpensumiService = useInjectable(ILibroOpensumiService);
|
|
12
|
+
const manaContainer = useInjectable(ManaContainer);
|
|
13
|
+
const commandRegistry = manaContainer.get(CommandRegistry);
|
|
14
|
+
const injector = useInjectable(INJECTOR_TOKEN);
|
|
15
|
+
const [libroTracker, setLibroTracker] = React.useState();
|
|
16
|
+
const [libroView, setLibroView] = React.useState(undefined);
|
|
17
|
+
React.useEffect(() => {
|
|
18
|
+
if (libroTracker === null || libroTracker === void 0 ? void 0 : libroTracker.refreshTimer) {
|
|
19
|
+
libroView === null || libroView === void 0 ? void 0 : libroView.dispose();
|
|
20
|
+
}
|
|
21
|
+
let autoSaveHandle;
|
|
22
|
+
libroOpensumiService.getOrCreatLibroView(params[0].resource.uri).then((libro) => {
|
|
23
|
+
setLibroView(libro);
|
|
24
|
+
if (!libroOpensumiService.libroTrackerMap.has(params[0].resource.uri.toString())) {
|
|
25
|
+
const tracker = injector.get(LibroTracker);
|
|
26
|
+
setLibroTracker(tracker);
|
|
27
|
+
libroOpensumiService.libroTrackerMap.set(params[0].resource.uri.toString(), tracker);
|
|
28
|
+
}
|
|
29
|
+
libro.model.onChanged(() => {
|
|
30
|
+
libroOpensumiService.updateDirtyStatus(params[0].resource.uri, true);
|
|
31
|
+
if (autoSaveHandle) {
|
|
32
|
+
window.clearTimeout(autoSaveHandle);
|
|
33
|
+
}
|
|
34
|
+
autoSaveHandle = window.setTimeout(() => {
|
|
35
|
+
commandRegistry
|
|
36
|
+
.executeCommand(DocumentCommands.Save.id, undefined, libro, undefined, { reason: 'autoSave' })
|
|
37
|
+
.then(() => {
|
|
38
|
+
if (libro) {
|
|
39
|
+
libro.model.dirty = false;
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
}, 1000);
|
|
43
|
+
});
|
|
44
|
+
libro.onSave(() => {
|
|
45
|
+
libroOpensumiService.updateDirtyStatus(params[0].resource.uri, false);
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
return () => {
|
|
49
|
+
window.clearTimeout(autoSaveHandle);
|
|
50
|
+
};
|
|
51
|
+
}, [libroTracker === null || libroTracker === void 0 ? void 0 : libroTracker.refreshTimer]);
|
|
52
|
+
return React.createElement("div", { className: styles.libroView }, libroView && React.createElement(ViewRender, { view: libroView }));
|
|
53
|
+
};
|
|
54
|
+
//# sourceMappingURL=libro.view.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"libro.view.js","sourceRoot":"","sources":["../../src/browser/libro.view.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"libro.view.tracker.d.ts","sourceRoot":"","sources":["../../src/browser/libro.view.tracker.ts"],"names":[],"mappings":"AAIA,qBACa,YAAY;;IAMvB,YAAY,EAAE,MAAM,GAAG,SAAS,CAAa;IAG7C,OAAO,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS;CAGzC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { __decorate, __metadata } from "tslib";
|
|
2
|
+
import { action, makeObservable, observable } from 'mobx';
|
|
3
|
+
import { Injectable } from '@opensumi/di';
|
|
4
|
+
let LibroTracker = class LibroTracker {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.refreshTimer = undefined;
|
|
7
|
+
makeObservable(this);
|
|
8
|
+
}
|
|
9
|
+
refresh(refreshTimer) {
|
|
10
|
+
this.refreshTimer = refreshTimer;
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
__decorate([
|
|
14
|
+
observable,
|
|
15
|
+
__metadata("design:type", Object)
|
|
16
|
+
], LibroTracker.prototype, "refreshTimer", void 0);
|
|
17
|
+
__decorate([
|
|
18
|
+
action,
|
|
19
|
+
__metadata("design:type", Function),
|
|
20
|
+
__metadata("design:paramtypes", [Object]),
|
|
21
|
+
__metadata("design:returntype", void 0)
|
|
22
|
+
], LibroTracker.prototype, "refresh", null);
|
|
23
|
+
LibroTracker = __decorate([
|
|
24
|
+
Injectable({ multiple: true }),
|
|
25
|
+
__metadata("design:paramtypes", [])
|
|
26
|
+
], LibroTracker);
|
|
27
|
+
export { LibroTracker };
|
|
28
|
+
//# sourceMappingURL=libro.view.tracker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"libro.view.tracker.js","sourceRoot":"","sources":["../../src/browser/libro.view.tracker.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAE1D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAGnC,IAAM,YAAY,GAAlB,MAAM,YAAY;IACvB;QAKA,iBAAY,GAAuB,SAAS,CAAC;QAJ3C,cAAc,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC;IAMD,OAAO,CAAC,YAAgC;QACtC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;CACF,CAAA;AANC;IADC,UAAU;;kDACkC;AAG7C;IADC,MAAM;;;;2CAGN;AAXU,YAAY;IADxB,UAAU,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;GAClB,YAAY,CAYxB"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Syringe } from '@difizen/mana-app';
|
|
2
|
+
import { Injector } from '@opensumi/di';
|
|
3
|
+
export declare const OpensumiInjector: Syringe.DefinedToken;
|
|
4
|
+
export declare const ManaContainer: unique symbol;
|
|
5
|
+
export declare const initLibroOpensumi: (injector: Injector, container?: Syringe.Container) => void;
|
|
6
|
+
export declare const manaContainer: Syringe.Container;
|
|
7
|
+
export declare const ContentLoaderType = "libro-opensumi-loader";
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/browser/mana/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE7D,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,eAAO,MAAM,gBAAgB,sBAA0C,CAAC;AACxE,eAAO,MAAM,aAAa,eAA0B,CAAC;AAErD,eAAO,MAAM,iBAAiB,aAAc,QAAQ,cAAc,OAAO,CAAC,SAAS,SAQlF,CAAC;AAEF,eAAO,MAAM,aAAa,mBAAgC,CAAC;AAE3D,eAAO,MAAM,iBAAiB,0BAA0B,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { GlobalContainer, Syringe } from '@difizen/mana-app';
|
|
2
|
+
export const OpensumiInjector = Syringe.defineToken('OpensumiInjector');
|
|
3
|
+
export const ManaContainer = Symbol('ManaContainer');
|
|
4
|
+
export const initLibroOpensumi = (injector, container) => {
|
|
5
|
+
const initInjector = injector;
|
|
6
|
+
const initContainer = container || GlobalContainer;
|
|
7
|
+
initInjector.addProviders({
|
|
8
|
+
token: ManaContainer,
|
|
9
|
+
useValue: initContainer,
|
|
10
|
+
});
|
|
11
|
+
initContainer === null || initContainer === void 0 ? void 0 : initContainer.register({ token: OpensumiInjector, useValue: initInjector });
|
|
12
|
+
};
|
|
13
|
+
export const manaContainer = GlobalContainer.createChild();
|
|
14
|
+
export const ContentLoaderType = 'libro-opensumi-loader';
|
|
15
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/browser/mana/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAI7D,MAAM,CAAC,MAAM,gBAAgB,GAAG,OAAO,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;AACxE,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;AAErD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,QAAkB,EAAE,SAA6B,EAAE,EAAE;IACrF,MAAM,YAAY,GAAG,QAAQ,CAAC;IAC9B,MAAM,aAAa,GAAG,SAAS,IAAI,eAAe,CAAC;IACnD,YAAY,CAAC,YAAY,CAAC;QACxB,KAAK,EAAE,aAAa;QACpB,QAAQ,EAAE,aAAa;KACxB,CAAC,CAAC;IACH,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAC;AAC/E,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,eAAe,CAAC,WAAW,EAAE,CAAC;AAE3D,MAAM,CAAC,MAAM,iBAAiB,GAAG,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { PreferenceService } from '@opensumi/ide-core-browser';
|
|
2
|
+
import { Event, IApplicationService, IEditorDocumentChange, IEditorDocumentModelSaveResult, MaybePromise, URI } from '@opensumi/ide-core-common';
|
|
3
|
+
import { IEditorDocumentModelContentProvider } from '@opensumi/ide-editor/lib/browser/doc-model/types';
|
|
4
|
+
import { EOL } from '@opensumi/ide-monaco';
|
|
5
|
+
import { ILibroOpensumiService } from './libro.service';
|
|
6
|
+
export declare class NotebookDocumentContentProvider implements IEditorDocumentModelContentProvider {
|
|
7
|
+
protected readonly applicationService: IApplicationService;
|
|
8
|
+
protected readonly preferenceService: PreferenceService;
|
|
9
|
+
protected readonly libroOpensumiService: ILibroOpensumiService;
|
|
10
|
+
private _onDidChangeContent;
|
|
11
|
+
onDidChangeContent: Event<URI>;
|
|
12
|
+
handlesScheme?(scheme: string): MaybePromise<boolean>;
|
|
13
|
+
provideEditorDocumentModelContent(uri: URI, encoding?: string | undefined): Promise<string>;
|
|
14
|
+
isReadonly(uri: URI): MaybePromise<boolean>;
|
|
15
|
+
saveDocumentModel?(uri: URI, content: string, baseContent: string, changes: IEditorDocumentChange[], encoding?: string | undefined, ignoreDiff?: boolean | undefined, eol?: EOL | undefined): MaybePromise<IEditorDocumentModelSaveResult>;
|
|
16
|
+
preferLanguageForUri?(uri: URI): Promise<string | undefined>;
|
|
17
|
+
provideEncoding?(uri: URI): MaybePromise<string>;
|
|
18
|
+
isAlwaysDirty?(uri: URI): MaybePromise<boolean>;
|
|
19
|
+
closeAutoSave?(uri: URI): MaybePromise<boolean>;
|
|
20
|
+
disposeEvenDirty?(uri: URI): MaybePromise<boolean>;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=notebook-document-content-provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notebook-document-content-provider.d.ts","sourceRoot":"","sources":["../../src/browser/notebook-document-content-provider.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAA2B,MAAM,4BAA4B,CAAC;AACxF,OAAO,EAEL,KAAK,EACL,mBAAmB,EACnB,qBAAqB,EACrB,8BAA8B,EAC9B,YAAY,EAEZ,GAAG,EACJ,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,mCAAmC,EAAE,MAAM,kDAAkD,CAAC;AACvG,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAE3C,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAExD,qBACa,+BAAgC,YAAW,mCAAmC;IAEzF,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,mBAAmB,CAAC;IAG3D,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAGxD,SAAS,CAAC,QAAQ,CAAC,oBAAoB,EAAE,qBAAqB,CAAC;IAE/D,OAAO,CAAC,mBAAmB,CAA+B;IAEnD,kBAAkB,EAAE,KAAK,CAAC,GAAG,CAAC,CAAkC;IAEvE,aAAa,CAAC,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC;IAO/C,iCAAiC,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;IAIjG,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC;IAG3C,iBAAiB,CAAC,CAChB,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,qBAAqB,EAAE,EAChC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,EAC7B,UAAU,CAAC,EAAE,OAAO,GAAG,SAAS,EAChC,GAAG,CAAC,EAAE,GAAG,GAAG,SAAS,GACpB,YAAY,CAAC,8BAA8B,CAAC;IAKzC,oBAAoB,CAAC,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAUlE,eAAe,CAAC,CAAC,GAAG,EAAE,GAAG,GAAG,YAAY,CAAC,MAAM,CAAC;IAgBhD,aAAa,CAAC,CAAC,GAAG,EAAE,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC;IAG/C,aAAa,CAAC,CAAC,GAAG,EAAE,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC;IAM/C,gBAAgB,CAAC,CAAC,GAAG,EAAE,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC;CAGnD"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { __decorate, __metadata } from "tslib";
|
|
2
|
+
import { LibroCellURIScheme } from '@difizen/libro-common';
|
|
3
|
+
import { Autowired, Injectable } from '@opensumi/di';
|
|
4
|
+
import { PreferenceService, getLanguageIdFromMonaco } from '@opensumi/ide-core-browser';
|
|
5
|
+
import { Emitter, IApplicationService, SaveTaskResponseState, } from '@opensumi/ide-core-common';
|
|
6
|
+
import { ILibroOpensumiService } from './libro.service';
|
|
7
|
+
let NotebookDocumentContentProvider = class NotebookDocumentContentProvider {
|
|
8
|
+
constructor() {
|
|
9
|
+
this._onDidChangeContent = new Emitter();
|
|
10
|
+
this.onDidChangeContent = this._onDidChangeContent.event;
|
|
11
|
+
}
|
|
12
|
+
handlesScheme(scheme) {
|
|
13
|
+
return scheme === LibroCellURIScheme;
|
|
14
|
+
}
|
|
15
|
+
// handlesUri?(uri: URI): MaybePromise<number> {
|
|
16
|
+
// throw new Error("Method not implemented.");
|
|
17
|
+
// }
|
|
18
|
+
async provideEditorDocumentModelContent(uri, encoding) {
|
|
19
|
+
var _a;
|
|
20
|
+
const cell = await this.libroOpensumiService.getCellViewByUri(uri);
|
|
21
|
+
return (_a = cell === null || cell === void 0 ? void 0 : cell.model.value) !== null && _a !== void 0 ? _a : '';
|
|
22
|
+
}
|
|
23
|
+
isReadonly(uri) {
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
26
|
+
saveDocumentModel(uri, content, baseContent, changes, encoding, ignoreDiff, eol) {
|
|
27
|
+
return {
|
|
28
|
+
state: SaveTaskResponseState.SUCCESS,
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
async preferLanguageForUri(uri) {
|
|
32
|
+
const cell = await this.libroOpensumiService.getCellViewByUri(uri);
|
|
33
|
+
if (!cell) {
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
return this.libroOpensumiService.getCellLangauge(cell);
|
|
37
|
+
}
|
|
38
|
+
// async provideEOL?(uri: URI): Promise<EOL> {
|
|
39
|
+
// return '\n'
|
|
40
|
+
// }
|
|
41
|
+
provideEncoding(uri) {
|
|
42
|
+
const encoding = this.preferenceService.get('files.encoding', undefined, uri.toString(), getLanguageIdFromMonaco(uri));
|
|
43
|
+
return encoding || 'utf8';
|
|
44
|
+
}
|
|
45
|
+
// provideEditorDocumentModelContentMd5?(uri: URI, encoding?: string | undefined): MaybePromise<string | undefined> {
|
|
46
|
+
// throw new Error("Method not implemented.");
|
|
47
|
+
// }
|
|
48
|
+
// onDidDisposeModel?(uri: URI): void {
|
|
49
|
+
// throw new Error("Method not implemented.");
|
|
50
|
+
// }
|
|
51
|
+
isAlwaysDirty(uri) {
|
|
52
|
+
return false;
|
|
53
|
+
}
|
|
54
|
+
closeAutoSave(uri) {
|
|
55
|
+
return true;
|
|
56
|
+
}
|
|
57
|
+
// guessEncoding?(uri: URI): Promise<string | undefined> {
|
|
58
|
+
// throw new Error("Method not implemented.");
|
|
59
|
+
// }
|
|
60
|
+
disposeEvenDirty(uri) {
|
|
61
|
+
return false;
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
__decorate([
|
|
65
|
+
Autowired(IApplicationService),
|
|
66
|
+
__metadata("design:type", Object)
|
|
67
|
+
], NotebookDocumentContentProvider.prototype, "applicationService", void 0);
|
|
68
|
+
__decorate([
|
|
69
|
+
Autowired(PreferenceService),
|
|
70
|
+
__metadata("design:type", Object)
|
|
71
|
+
], NotebookDocumentContentProvider.prototype, "preferenceService", void 0);
|
|
72
|
+
__decorate([
|
|
73
|
+
Autowired(ILibroOpensumiService),
|
|
74
|
+
__metadata("design:type", Object)
|
|
75
|
+
], NotebookDocumentContentProvider.prototype, "libroOpensumiService", void 0);
|
|
76
|
+
NotebookDocumentContentProvider = __decorate([
|
|
77
|
+
Injectable()
|
|
78
|
+
], NotebookDocumentContentProvider);
|
|
79
|
+
export { NotebookDocumentContentProvider };
|
|
80
|
+
//# sourceMappingURL=notebook-document-content-provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notebook-document-content-provider.js","sourceRoot":"","sources":["../../src/browser/notebook-document-content-provider.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AACxF,OAAO,EACL,OAAO,EAEP,mBAAmB,EAInB,qBAAqB,GAEtB,MAAM,2BAA2B,CAAC;AAInC,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAGjD,IAAM,+BAA+B,GAArC,MAAM,+BAA+B;IAArC;QAUG,wBAAmB,GAAiB,IAAI,OAAO,EAAE,CAAC;QAEnD,uBAAkB,GAAe,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC;IAmEzE,CAAC;IAjEC,aAAa,CAAE,MAAc;QAC3B,OAAO,MAAM,KAAK,kBAAkB,CAAC;IACvC,CAAC;IACD,gDAAgD;IAChD,gDAAgD;IAChD,IAAI;IAEJ,KAAK,CAAC,iCAAiC,CAAC,GAAQ,EAAE,QAA6B;;QAC7E,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;QACnE,OAAO,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,CAAC,KAAK,mCAAI,EAAE,CAAC;IACjC,CAAC;IACD,UAAU,CAAC,GAAQ;QACjB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,iBAAiB,CACf,GAAQ,EACR,OAAe,EACf,WAAmB,EACnB,OAAgC,EAChC,QAA6B,EAC7B,UAAgC,EAChC,GAAqB;QAErB,OAAO;YACL,KAAK,EAAE,qBAAqB,CAAC,OAAO;SACrC,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,oBAAoB,CAAE,GAAQ;QAClC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;QACnE,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QACD,OAAO,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IACzD,CAAC;IACD,8CAA8C;IAC9C,gBAAgB;IAChB,IAAI;IACJ,eAAe,CAAE,GAAQ;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CACzC,gBAAgB,EAChB,SAAS,EACT,GAAG,CAAC,QAAQ,EAAE,EACd,uBAAuB,CAAC,GAAG,CAAE,CAC9B,CAAC;QACF,OAAO,QAAQ,IAAI,MAAM,CAAC;IAC5B,CAAC;IAED,qHAAqH;IACrH,gDAAgD;IAChD,IAAI;IACJ,uCAAuC;IACvC,gDAAgD;IAChD,IAAI;IACJ,aAAa,CAAE,GAAQ;QACrB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,aAAa,CAAE,GAAQ;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,0DAA0D;IAC1D,gDAAgD;IAChD,IAAI;IACJ,gBAAgB,CAAE,GAAQ;QACxB,OAAO,KAAK,CAAC;IACf,CAAC;CACF,CAAA;AA7EoB;IADlB,SAAS,CAAC,mBAAmB,CAAC;;2EAC4B;AAGxC;IADlB,SAAS,CAAC,iBAAiB,CAAC;;0EAC2B;AAGrC;IADlB,SAAS,CAAC,qBAAqB,CAAC;;6EAC8B;AARpD,+BAA+B;IAD3C,UAAU,EAAE;GACA,+BAA+B,CA+E3C"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { CellView, LibroJupyterView, LibroView } from '@difizen/libro-jupyter/noeditor';
|
|
2
|
+
import { ClientAppContribution } from '@opensumi/ide-core-browser';
|
|
3
|
+
import { MaybePromise, Uri } from '@opensumi/ide-core-common';
|
|
4
|
+
import { INotebookModelAddedData, NotebookCellDto } from '@opensumi/ide-editor';
|
|
5
|
+
import { NotebookService } from '@opensumi/ide-editor/lib/browser/notebook.service';
|
|
6
|
+
export declare class NotebookServiceOverride extends NotebookService implements ClientAppContribution {
|
|
7
|
+
private readonly manaContainer;
|
|
8
|
+
private readonly editorModelService;
|
|
9
|
+
private readonly workbenchEditorService;
|
|
10
|
+
private readonly libroOpensumiService;
|
|
11
|
+
onDidStart(): MaybePromise<void>;
|
|
12
|
+
listenEditor(): void;
|
|
13
|
+
protected notebookVersions: Map<string, number>;
|
|
14
|
+
protected getNotebookVersion(libroView: LibroView): number;
|
|
15
|
+
protected deleteNotebookVersion(libroView: LibroView): boolean;
|
|
16
|
+
protected updateNotebookVersion(libroView: LibroView): void;
|
|
17
|
+
protected isValidNotebook(view: LibroView): boolean;
|
|
18
|
+
isCodeCell(mime: string): boolean;
|
|
19
|
+
getCellURI(cell: CellView): import("@difizen/mana-common").URI;
|
|
20
|
+
getCellModelRef(cell: CellView): import("@opensumi/ide-editor").IEditorDocumentModelRef | null;
|
|
21
|
+
asNotebookCell(cell: CellView): NotebookCellDto;
|
|
22
|
+
getNotebookUri(notebook: LibroJupyterView): Uri;
|
|
23
|
+
asNotebook(notebook: LibroJupyterView): INotebookModelAddedData;
|
|
24
|
+
listenLibro(): void;
|
|
25
|
+
protected handleOpenNotebook: (libroView: LibroView) => Promise<void>;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=notebook.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notebook.service.d.ts","sourceRoot":"","sources":["../../src/browser/notebook.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,QAAQ,EAAE,gBAAgB,EAAgB,SAAS,EAAQ,MAAM,iCAAiC,CAAC;AAIrH,OAAO,EAAE,qBAAqB,EAAO,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAU,YAAY,EAAE,GAAG,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,EAEL,uBAAuB,EACvB,eAAe,EAIhB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,eAAe,EAAE,MAAM,mDAAmD,CAAC;AAMpF,qBAEa,uBAAwB,SAAQ,eAAgB,YAAW,qBAAqB;IAE3F,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAY;IAE1C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA8B;IAEjE,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAyB;IAEhE,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAwB;IAE7D,UAAU,IAAI,YAAY,CAAC,IAAI,CAAC;IAKhC,YAAY;IAUZ,SAAS,CAAC,gBAAgB,sBAA6B;IAEvD,SAAS,CAAC,kBAAkB,CAAC,SAAS,EAAE,SAAS;IAKjD,SAAS,CAAC,qBAAqB,CAAC,SAAS,EAAE,SAAS;IAKpD,SAAS,CAAC,qBAAqB,CAAC,SAAS,EAAE,SAAS;IAMpD,SAAS,CAAC,eAAe,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO;IAOnD,UAAU,CAAC,IAAI,EAAE,MAAM;IAIvB,UAAU,CAAC,IAAI,EAAE,QAAQ;IAIzB,eAAe,CAAC,IAAI,EAAE,QAAQ;IAI9B,cAAc,CAAC,IAAI,EAAE,QAAQ,GAAG,eAAe;IAa/C,cAAc,CAAC,QAAQ,EAAE,gBAAgB;IAIzC,UAAU,CAAC,QAAQ,EAAE,gBAAgB,GAAG,uBAAuB;IAS/D,WAAW;IA2EX,SAAS,CAAC,kBAAkB,cAAqB,SAAS,mBAOxD;CACH"}
|