@opensumi/ide-notebook 3.7.2-next-1740450374.0 → 3.7.2-next-1741226843.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/browser/libro/libro-opensumi-content-contribution.d.ts.map +1 -1
- package/lib/browser/libro.contribution.d.ts.map +1 -1
- package/lib/browser/libro.contribution.js +4 -38
- package/lib/browser/libro.contribution.js.map +1 -1
- package/lib/browser/libro.protocol.d.ts +1 -3
- package/lib/browser/libro.protocol.d.ts.map +1 -1
- package/lib/browser/libro.protocol.js +1 -3
- package/lib/browser/libro.protocol.js.map +1 -1
- package/package.json +14 -20
- package/src/browser/libro/libro-opensumi-content-contribution.ts +1 -1
- package/src/browser/libro.contribution.tsx +4 -43
- package/src/browser/libro.protocol.ts +1 -3
- package/lib/browser/libro/diff-view/components/hooks.d.ts +0 -10
- package/lib/browser/libro/diff-view/components/hooks.d.ts.map +0 -1
- package/lib/browser/libro/diff-view/components/hooks.js +0 -96
- package/lib/browser/libro/diff-view/components/hooks.js.map +0 -1
- package/lib/browser/libro/diff-view/components/index.less +0 -318
- package/lib/browser/libro/diff-view/components/libro-diff-all-cells-same-components.d.ts +0 -3
- package/lib/browser/libro/diff-view/components/libro-diff-all-cells-same-components.d.ts.map +0 -1
- package/lib/browser/libro/diff-view/components/libro-diff-all-cells-same-components.js +0 -11
- package/lib/browser/libro/diff-view/components/libro-diff-all-cells-same-components.js.map +0 -1
- package/lib/browser/libro/diff-view/components/libro-diff-changed-cell-components.d.ts +0 -5
- package/lib/browser/libro/diff-view/components/libro-diff-changed-cell-components.d.ts.map +0 -1
- package/lib/browser/libro/diff-view/components/libro-diff-changed-cell-components.js +0 -59
- package/lib/browser/libro/diff-view/components/libro-diff-changed-cell-components.js.map +0 -1
- package/lib/browser/libro/diff-view/components/libro-diff-side-cell-components.d.ts +0 -5
- package/lib/browser/libro/diff-view/components/libro-diff-side-cell-components.d.ts.map +0 -1
- package/lib/browser/libro/diff-view/components/libro-diff-side-cell-components.js +0 -58
- package/lib/browser/libro/diff-view/components/libro-diff-side-cell-components.js.map +0 -1
- package/lib/browser/libro/diff-view/index.d.ts +0 -5
- package/lib/browser/libro/diff-view/index.d.ts.map +0 -1
- package/lib/browser/libro/diff-view/index.js +0 -5
- package/lib/browser/libro/diff-view/index.js.map +0 -1
- package/lib/browser/libro/diff-view/index.less +0 -47
- package/lib/browser/libro/diff-view/libro-diff-color-registry.d.ts +0 -6
- package/lib/browser/libro/diff-view/libro-diff-color-registry.d.ts.map +0 -1
- package/lib/browser/libro/diff-view/libro-diff-color-registry.js +0 -110
- package/lib/browser/libro/diff-view/libro-diff-color-registry.js.map +0 -1
- package/lib/browser/libro/diff-view/libro-diff-component.d.ts +0 -6
- package/lib/browser/libro/diff-view/libro-diff-component.d.ts.map +0 -1
- package/lib/browser/libro/diff-view/libro-diff-component.js +0 -21
- package/lib/browser/libro/diff-view/libro-diff-component.js.map +0 -1
- package/lib/browser/libro/diff-view/libro-diff-protocol.d.ts +0 -58
- package/lib/browser/libro/diff-view/libro-diff-protocol.d.ts.map +0 -1
- package/lib/browser/libro/diff-view/libro-diff-protocol.js +0 -38
- package/lib/browser/libro/diff-view/libro-diff-protocol.js.map +0 -1
- package/lib/browser/libro/diff-view/libro-diff-view.d.ts +0 -48
- package/lib/browser/libro/diff-view/libro-diff-view.d.ts.map +0 -1
- package/lib/browser/libro/diff-view/libro-diff-view.js +0 -297
- package/lib/browser/libro/diff-view/libro-diff-view.js.map +0 -1
- package/lib/browser/libro/diff-view/libro-version-manager.d.ts +0 -16
- package/lib/browser/libro/diff-view/libro-version-manager.d.ts.map +0 -1
- package/lib/browser/libro/diff-view/libro-version-manager.js +0 -127
- package/lib/browser/libro/diff-view/libro-version-manager.js.map +0 -1
- package/lib/browser/libro/diff-view/libro-version-view.d.ts +0 -13
- package/lib/browser/libro/diff-view/libro-version-view.d.ts.map +0 -1
- package/lib/browser/libro/diff-view/libro-version-view.js +0 -40
- package/lib/browser/libro/diff-view/libro-version-view.js.map +0 -1
- package/lib/browser/libro/diff-view/module.d.ts +0 -3
- package/lib/browser/libro/diff-view/module.d.ts.map +0 -1
- package/lib/browser/libro/diff-view/module.js +0 -10
- package/lib/browser/libro/diff-view/module.js.map +0 -1
- package/lib/browser/libro-preview.view.d.ts +0 -3
- package/lib/browser/libro-preview.view.d.ts.map +0 -1
- package/lib/browser/libro-preview.view.js +0 -27
- package/lib/browser/libro-preview.view.js.map +0 -1
- package/src/browser/libro/diff-view/components/hooks.tsx +0 -123
- package/src/browser/libro/diff-view/components/index.less +0 -318
- package/src/browser/libro/diff-view/components/libro-diff-all-cells-same-components.tsx +0 -43
- package/src/browser/libro/diff-view/components/libro-diff-changed-cell-components.tsx +0 -88
- package/src/browser/libro/diff-view/components/libro-diff-side-cell-components.tsx +0 -84
- package/src/browser/libro/diff-view/index.less +0 -47
- package/src/browser/libro/diff-view/index.ts +0 -4
- package/src/browser/libro/diff-view/libro-diff-color-registry.ts +0 -132
- package/src/browser/libro/diff-view/libro-diff-component.tsx +0 -25
- package/src/browser/libro/diff-view/libro-diff-protocol.ts +0 -94
- package/src/browser/libro/diff-view/libro-diff-view.tsx +0 -351
- package/src/browser/libro/diff-view/libro-version-manager.ts +0 -136
- package/src/browser/libro/diff-view/libro-version-view.tsx +0 -41
- package/src/browser/libro/diff-view/module.ts +0 -11
- package/src/browser/libro-preview.view.tsx +0 -33
|
@@ -1,136 +0,0 @@
|
|
|
1
|
-
import { LibroService } from '@difizen/libro-core';
|
|
2
|
-
import { ViewManager, getOrigin, inject, singleton } from '@difizen/mana-app';
|
|
3
|
-
|
|
4
|
-
import { Injector } from '@opensumi/di';
|
|
5
|
-
import { Event, MonacoService } from '@opensumi/ide-core-browser';
|
|
6
|
-
import { uuid } from '@opensumi/ide-utils';
|
|
7
|
-
import { IModelService } from '@opensumi/monaco-editor-core/esm/vs/editor/common/services/model';
|
|
8
|
-
import { StandaloneServices } from '@opensumi/monaco-editor-core/esm/vs/editor/standalone/browser/standaloneServices';
|
|
9
|
-
|
|
10
|
-
import { OpensumiInjector } from '../../mana';
|
|
11
|
-
|
|
12
|
-
import { DiffType } from './libro-diff-protocol';
|
|
13
|
-
import { LibroDiffView } from './libro-diff-view';
|
|
14
|
-
import { AIStudioLibroVersionView } from './libro-version-view';
|
|
15
|
-
|
|
16
|
-
import type { NotebookOption } from '@difizen/libro-core';
|
|
17
|
-
|
|
18
|
-
@singleton()
|
|
19
|
-
export class LibroVersionManager {
|
|
20
|
-
protected readonly libroService: LibroService;
|
|
21
|
-
protected readonly viewManager: ViewManager;
|
|
22
|
-
protected readonly opensumiInjector: Injector;
|
|
23
|
-
constructor(
|
|
24
|
-
@inject(LibroService) libroService: LibroService,
|
|
25
|
-
@inject(ViewManager) viewManager: ViewManager,
|
|
26
|
-
@inject(OpensumiInjector) opensumiInjector: Injector,
|
|
27
|
-
) {
|
|
28
|
-
this.libroService = libroService;
|
|
29
|
-
this.viewManager = viewManager;
|
|
30
|
-
this.opensumiInjector = opensumiInjector;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
async getOrCreateView(options: NotebookOption): Promise<AIStudioLibroVersionView> {
|
|
34
|
-
const aistudioLibroVersionView = await this.viewManager.getOrCreateView<AIStudioLibroVersionView>(
|
|
35
|
-
AIStudioLibroVersionView,
|
|
36
|
-
{
|
|
37
|
-
...(options || {}),
|
|
38
|
-
},
|
|
39
|
-
);
|
|
40
|
-
// 如果存在原始和目标uri,则创建diff视图,默认为预览视图(git uri)
|
|
41
|
-
if (options.originalUri && options.targetUri) {
|
|
42
|
-
this.viewManager
|
|
43
|
-
.getOrCreateView(LibroDiffView, {
|
|
44
|
-
id: uuid(),
|
|
45
|
-
origin: options.originalUri,
|
|
46
|
-
target: options.targetUri,
|
|
47
|
-
})
|
|
48
|
-
.then((diffView) => {
|
|
49
|
-
aistudioLibroVersionView.libroDiffView = diffView;
|
|
50
|
-
aistudioLibroVersionView.isDiff = true;
|
|
51
|
-
});
|
|
52
|
-
return aistudioLibroVersionView;
|
|
53
|
-
}
|
|
54
|
-
const libroView = await this.libroService.getOrCreateView({
|
|
55
|
-
...(options || {}),
|
|
56
|
-
});
|
|
57
|
-
// 版本预览视图只读
|
|
58
|
-
libroView.model.inputEditable = false;
|
|
59
|
-
libroView.model.cellsEditable = false;
|
|
60
|
-
libroView.headerRender = () => null;
|
|
61
|
-
aistudioLibroVersionView.libro = libroView;
|
|
62
|
-
return aistudioLibroVersionView;
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
createPreviewEditor(content: string, language: string, dom: HTMLElement, diffType: DiffType) {
|
|
66
|
-
const monacoService: MonacoService = this.opensumiInjector.get(MonacoService);
|
|
67
|
-
const editor = getOrigin(monacoService).createCodeEditor(dom, {
|
|
68
|
-
language,
|
|
69
|
-
minimap: {
|
|
70
|
-
enabled: false,
|
|
71
|
-
},
|
|
72
|
-
value: content,
|
|
73
|
-
automaticLayout: false,
|
|
74
|
-
folding: true,
|
|
75
|
-
wordWrap: 'off',
|
|
76
|
-
lineDecorationsWidth: 0,
|
|
77
|
-
lineNumbersMinChars: 3,
|
|
78
|
-
scrollbar: {
|
|
79
|
-
vertical: 'hidden',
|
|
80
|
-
alwaysConsumeMouseWheel: false,
|
|
81
|
-
verticalScrollbarSize: 0,
|
|
82
|
-
horizontal: 'visible',
|
|
83
|
-
horizontalScrollbarSize: 0,
|
|
84
|
-
},
|
|
85
|
-
glyphMargin: true,
|
|
86
|
-
scrollBeyondLastLine: false,
|
|
87
|
-
renderFinalNewline: 'off',
|
|
88
|
-
renderLineHighlight: 'none',
|
|
89
|
-
readOnly: true,
|
|
90
|
-
// scrollBeyondLastColumn: 2,
|
|
91
|
-
extraEditorClassName: `libro-diff-editor-${diffType}`,
|
|
92
|
-
});
|
|
93
|
-
return editor;
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
createDiffEditor(original: string, modified: string, language: string, dom: HTMLElement) {
|
|
97
|
-
const monacoService: MonacoService = this.opensumiInjector.get(MonacoService);
|
|
98
|
-
const editor = getOrigin(monacoService).createDiffEditor(dom, {
|
|
99
|
-
minimap: {
|
|
100
|
-
enabled: false,
|
|
101
|
-
},
|
|
102
|
-
automaticLayout: false,
|
|
103
|
-
renderSideBySide: true,
|
|
104
|
-
useInlineViewWhenSpaceIsLimited: false,
|
|
105
|
-
fontSize: 13,
|
|
106
|
-
folding: true,
|
|
107
|
-
wordWrap: 'off',
|
|
108
|
-
renderIndicators: false,
|
|
109
|
-
lineNumbersMinChars: 3,
|
|
110
|
-
scrollbar: {
|
|
111
|
-
vertical: 'hidden',
|
|
112
|
-
alwaysConsumeMouseWheel: false,
|
|
113
|
-
verticalScrollbarSize: 0,
|
|
114
|
-
horizontal: 'visible',
|
|
115
|
-
horizontalScrollbarSize: 0,
|
|
116
|
-
},
|
|
117
|
-
glyphMargin: true,
|
|
118
|
-
scrollBeyondLastLine: false,
|
|
119
|
-
scrollBeyondLastColumn: 1,
|
|
120
|
-
renderFinalNewline: 'off',
|
|
121
|
-
renderOverviewRuler: false,
|
|
122
|
-
renderLineHighlight: 'none',
|
|
123
|
-
enableSplitViewResizing: false,
|
|
124
|
-
lineDecorationsWidth: '16px',
|
|
125
|
-
diffWordWrap: 'off',
|
|
126
|
-
readOnly: true,
|
|
127
|
-
extraEditorClassName: 'libro-diff-editor-changed',
|
|
128
|
-
});
|
|
129
|
-
const modelService = StandaloneServices.get(IModelService);
|
|
130
|
-
editor.setModel({
|
|
131
|
-
original: modelService.createModel(original, { languageId: language, onDidChange: Event.None }),
|
|
132
|
-
modified: modelService.createModel(modified, { languageId: language, onDidChange: Event.None }),
|
|
133
|
-
});
|
|
134
|
-
return editor;
|
|
135
|
-
}
|
|
136
|
-
}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { LibroView } from '@difizen/libro-core';
|
|
2
|
-
import {
|
|
3
|
-
BaseView,
|
|
4
|
-
ViewInstance,
|
|
5
|
-
ViewOption,
|
|
6
|
-
ViewRender,
|
|
7
|
-
inject,
|
|
8
|
-
prop,
|
|
9
|
-
transient,
|
|
10
|
-
useInject,
|
|
11
|
-
view,
|
|
12
|
-
} from '@difizen/mana-app';
|
|
13
|
-
import React, { forwardRef } from 'react';
|
|
14
|
-
|
|
15
|
-
import type { LibroDiffView } from './';
|
|
16
|
-
const LibroVersionRender = forwardRef<HTMLDivElement>((_props, ref) => {
|
|
17
|
-
const aistudioLibroVersionView = useInject<AIStudioLibroVersionView>(ViewInstance);
|
|
18
|
-
return (
|
|
19
|
-
<div className='libro-version-content' ref={ref}>
|
|
20
|
-
{aistudioLibroVersionView.isDiff
|
|
21
|
-
? aistudioLibroVersionView.libroDiffView && <ViewRender view={aistudioLibroVersionView.libroDiffView} />
|
|
22
|
-
: aistudioLibroVersionView.libro && <ViewRender view={aistudioLibroVersionView.libro} />}
|
|
23
|
-
</div>
|
|
24
|
-
);
|
|
25
|
-
});
|
|
26
|
-
|
|
27
|
-
@transient()
|
|
28
|
-
@view('libro-version-view')
|
|
29
|
-
export class AIStudioLibroVersionView extends BaseView {
|
|
30
|
-
view = LibroVersionRender;
|
|
31
|
-
@inject(ViewOption) options: any;
|
|
32
|
-
@prop()
|
|
33
|
-
isDiff: boolean = false;
|
|
34
|
-
// for git preview
|
|
35
|
-
@prop()
|
|
36
|
-
libro: LibroView;
|
|
37
|
-
// for git diff
|
|
38
|
-
@prop()
|
|
39
|
-
libroDiffView: LibroDiffView;
|
|
40
|
-
onViewMount() {}
|
|
41
|
-
}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { LibroJupyterNoEditorModule } from '@difizen/libro-jupyter/noeditor';
|
|
2
|
-
import { ManaModule } from '@difizen/mana-app';
|
|
3
|
-
|
|
4
|
-
import { LibroDiffColorRegistry } from './libro-diff-color-registry';
|
|
5
|
-
import { LibroDiffView } from './libro-diff-view';
|
|
6
|
-
import { LibroVersionManager } from './libro-version-manager';
|
|
7
|
-
import { AIStudioLibroVersionView } from './libro-version-view';
|
|
8
|
-
|
|
9
|
-
export const LibroDiffModule = ManaModule.create()
|
|
10
|
-
.register(AIStudioLibroVersionView, LibroVersionManager, LibroDiffView, LibroDiffColorRegistry)
|
|
11
|
-
.dependOn(LibroJupyterNoEditorModule);
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { Container, URI, ViewRender } from '@difizen/mana-app';
|
|
2
|
-
import React, { useEffect, useState } from 'react';
|
|
3
|
-
|
|
4
|
-
import { useInjectable } from '@opensumi/ide-core-browser';
|
|
5
|
-
import { ReactEditorComponent } from '@opensumi/ide-editor/lib/browser/types';
|
|
6
|
-
|
|
7
|
-
import { LibroVersionManager } from './libro/diff-view/libro-version-manager';
|
|
8
|
-
import { AIStudioLibroVersionView } from './libro/diff-view/libro-version-view';
|
|
9
|
-
import { ContentLoaderType, ManaContainer } from './mana';
|
|
10
|
-
|
|
11
|
-
export const LibroVersionPreview: ReactEditorComponent = ({ resource }) => {
|
|
12
|
-
const uri = resource.uri;
|
|
13
|
-
const originalUri = uri.scheme === 'diff' ? new URI(decodeURIComponent(uri.getParsedQuery().original)) : undefined;
|
|
14
|
-
const targetUri = uri.scheme === 'diff' ? new URI(decodeURIComponent(uri.getParsedQuery().modified)) : undefined;
|
|
15
|
-
const manaContainer = useInjectable<Container>(ManaContainer);
|
|
16
|
-
const libroVersionManager = manaContainer.get(LibroVersionManager);
|
|
17
|
-
const [versionView, setVersionView] = useState<AIStudioLibroVersionView>();
|
|
18
|
-
|
|
19
|
-
useEffect(() => {
|
|
20
|
-
libroVersionManager
|
|
21
|
-
.getOrCreateView({
|
|
22
|
-
resource: uri.toString(),
|
|
23
|
-
loadType: ContentLoaderType,
|
|
24
|
-
originalUri,
|
|
25
|
-
targetUri,
|
|
26
|
-
})
|
|
27
|
-
.then((view) => {
|
|
28
|
-
setVersionView(view);
|
|
29
|
-
});
|
|
30
|
-
}, [uri]);
|
|
31
|
-
|
|
32
|
-
return <div className='libro-version'>{versionView && <ViewRender view={versionView}></ViewRender>}</div>;
|
|
33
|
-
};
|