@opensumi/ide-core-browser 2.27.2 → 2.27.3-next-1706509546.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/bootstrap/app.d.ts +2 -2
- package/lib/bootstrap/app.d.ts.map +1 -1
- package/lib/bootstrap/app.js +13 -16
- package/lib/bootstrap/app.js.map +1 -1
- package/lib/bootstrap/app.view.d.ts +7 -4
- package/lib/bootstrap/app.view.d.ts.map +1 -1
- package/lib/bootstrap/app.view.js +8 -12
- package/lib/bootstrap/app.view.js.map +1 -1
- package/lib/bootstrap/connection.d.ts +7 -3
- package/lib/bootstrap/connection.d.ts.map +1 -1
- package/lib/bootstrap/connection.js +55 -25
- package/lib/bootstrap/connection.js.map +1 -1
- package/lib/common/common.module.d.ts +6 -2
- package/lib/common/common.module.d.ts.map +1 -1
- package/lib/common/common.module.js +2 -0
- package/lib/common/common.module.js.map +1 -1
- package/lib/components/layout/box-panel.d.ts.map +1 -1
- package/lib/components/layout/box-panel.js +8 -1
- package/lib/components/layout/box-panel.js.map +1 -1
- package/lib/components/layout/default-layout.d.ts +2 -2
- package/lib/components/layout/default-layout.d.ts.map +1 -1
- package/lib/components/layout/layout.d.ts +1 -1
- package/lib/components/layout/layout.d.ts.map +1 -1
- package/lib/components/layout/split-panel.d.ts.map +1 -1
- package/lib/components/layout/split-panel.js.map +1 -1
- package/lib/components/portal/index.d.ts +1 -0
- package/lib/components/portal/index.d.ts.map +1 -1
- package/lib/components/portal/index.js.map +1 -1
- package/lib/components/resize/resize.d.ts +3 -3
- package/lib/components/resize/resize.d.ts.map +1 -1
- package/lib/markdown/index.d.ts.map +1 -1
- package/lib/markdown/index.js.map +1 -1
- package/lib/progress/progress-indicator.d.ts.map +1 -1
- package/lib/react-providers/config-provider.d.ts +1 -1
- package/lib/react-providers/config-provider.d.ts.map +1 -1
- package/lib/react-providers/slot.d.ts +8 -6
- package/lib/react-providers/slot.d.ts.map +1 -1
- package/lib/react-providers/slot.js.map +1 -1
- package/lib/toolbar/components/button.d.ts +1 -1
- package/lib/toolbar/components/button.d.ts.map +1 -1
- package/lib/toolbar/components/button.js +4 -4
- package/lib/toolbar/components/button.js.map +1 -1
- package/lib/toolbar/components/dropdown-button.d.ts +2 -2
- package/lib/toolbar/components/dropdown-button.d.ts.map +1 -1
- package/lib/toolbar/components/select.d.ts +2 -2
- package/lib/toolbar/components/select.d.ts.map +1 -1
- package/lib/toolbar/toolbar.d.ts +2 -2
- package/lib/toolbar/toolbar.d.ts.map +1 -1
- package/lib/toolbar/toolbar.js +17 -18
- package/lib/toolbar/toolbar.js.map +1 -1
- package/lib/utils/create-overlay.d.ts.map +1 -1
- package/lib/utils/create-overlay.js +2 -1
- package/lib/utils/create-overlay.js.map +1 -1
- package/lib/utils/electron.d.ts +8 -2
- package/lib/utils/electron.d.ts.map +1 -1
- package/lib/utils/electron.js +9 -5
- package/lib/utils/electron.js.map +1 -1
- package/package.json +10 -11
- package/src/bootstrap/app.ts +22 -26
- package/src/bootstrap/app.view.tsx +13 -16
- package/src/bootstrap/connection.ts +73 -28
- package/src/common/common.module.ts +2 -0
- package/src/components/layout/box-panel.tsx +9 -0
- package/src/components/layout/split-panel.tsx +0 -1
- package/src/components/portal/index.tsx +1 -0
- package/src/markdown/index.tsx +5 -1
- package/src/progress/progress-indicator.ts +1 -1
- package/src/react-providers/slot.tsx +8 -3
- package/src/toolbar/components/button.tsx +5 -7
- package/src/toolbar/toolbar.tsx +15 -18
- package/src/utils/create-overlay.tsx +2 -1
- package/src/utils/electron.ts +13 -5
package/src/toolbar/toolbar.tsx
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import classnames from 'classnames';
|
|
2
2
|
import throttle from 'lodash/throttle';
|
|
3
3
|
import React from 'react';
|
|
4
|
-
import ReactDOM from 'react-dom';
|
|
4
|
+
import ReactDOM from 'react-dom/client';
|
|
5
5
|
|
|
6
6
|
import { IEventBus, Disposable, Emitter } from '@opensumi/ide-core-common';
|
|
7
7
|
|
|
@@ -638,7 +638,7 @@ class ToolbarActionRenderer {
|
|
|
638
638
|
element.classList.add(...this.resolvedToolbarAction.extraClassNames);
|
|
639
639
|
}
|
|
640
640
|
let setInDropDown: (inDropDown: boolean) => void | undefined;
|
|
641
|
-
ReactDOM.render(
|
|
641
|
+
ReactDOM.createRoot(element).render(
|
|
642
642
|
<ToolbarActionRenderWrapper
|
|
643
643
|
initialInDropDown={inDropDown}
|
|
644
644
|
action={this.toolbarAction}
|
|
@@ -651,23 +651,20 @@ class ToolbarActionRenderer {
|
|
|
651
651
|
}}
|
|
652
652
|
location={location}
|
|
653
653
|
/>,
|
|
654
|
-
element,
|
|
655
|
-
() => {
|
|
656
|
-
if (canceled) {
|
|
657
|
-
reject('canceled render toolbar');
|
|
658
|
-
} else {
|
|
659
|
-
this.reactElement = {
|
|
660
|
-
element,
|
|
661
|
-
setInDropDown: (inDropdown: boolean) => {
|
|
662
|
-
if (setInDropDown) {
|
|
663
|
-
setInDropDown(inDropdown);
|
|
664
|
-
}
|
|
665
|
-
},
|
|
666
|
-
};
|
|
667
|
-
resolve(element);
|
|
668
|
-
}
|
|
669
|
-
},
|
|
670
654
|
);
|
|
655
|
+
if (canceled) {
|
|
656
|
+
reject('canceled render toolbar');
|
|
657
|
+
} else {
|
|
658
|
+
this.reactElement = {
|
|
659
|
+
element,
|
|
660
|
+
setInDropDown: (inDropdown: boolean) => {
|
|
661
|
+
if (setInDropDown) {
|
|
662
|
+
setInDropDown(inDropdown);
|
|
663
|
+
}
|
|
664
|
+
},
|
|
665
|
+
};
|
|
666
|
+
resolve(element);
|
|
667
|
+
}
|
|
671
668
|
}
|
|
672
669
|
}).then((resolved) => {
|
|
673
670
|
this.renderPromise.resolved = resolved;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import ReactDOM from 'react-dom';
|
|
3
|
+
import ReactDOMClient from 'react-dom/client';
|
|
3
4
|
|
|
4
5
|
export const destroyFns: Array<() => void> = [];
|
|
5
6
|
|
|
@@ -31,7 +32,7 @@ export function createOverlay(children: React.ReactElement) {
|
|
|
31
32
|
}
|
|
32
33
|
|
|
33
34
|
function render(comp: React.ReactElement) {
|
|
34
|
-
|
|
35
|
+
ReactDOMClient.createRoot(div).render(React.cloneElement(comp));
|
|
35
36
|
}
|
|
36
37
|
|
|
37
38
|
function update(newChildren: React.ReactElement) {
|
package/src/utils/electron.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import { NetSocketConnection } from '@opensumi/ide-connection/lib/common/connection';
|
|
1
2
|
import { IDisposable, isDefined } from '@opensumi/ide-core-common';
|
|
2
3
|
import { IElectronMainApi } from '@opensumi/ide-core-common/lib/electron';
|
|
3
|
-
import type { MessageConnection } from '@opensumi/vscode-jsonrpc';
|
|
4
4
|
|
|
5
5
|
declare const ElectronIpcRenderer: IElectronIpcRenderer;
|
|
6
6
|
|
|
@@ -92,12 +92,18 @@ export function createElectronMainApi(name: string, enableCaptured?: boolean): I
|
|
|
92
92
|
);
|
|
93
93
|
}
|
|
94
94
|
|
|
95
|
+
export interface IElectronEnvMetadata {
|
|
96
|
+
windowClientId: string;
|
|
97
|
+
[key: string]: any;
|
|
98
|
+
}
|
|
99
|
+
|
|
95
100
|
export const electronEnv: {
|
|
96
101
|
currentWindowId: number;
|
|
97
102
|
currentWebContentsId: number;
|
|
98
103
|
ipcRenderer: IElectronIpcRenderer;
|
|
99
104
|
webviewPreload: string;
|
|
100
105
|
plainWebviewPreload: string;
|
|
106
|
+
metadata: IElectronEnvMetadata;
|
|
101
107
|
[key: string]: any;
|
|
102
108
|
} = (global as any) || {};
|
|
103
109
|
|
|
@@ -107,19 +113,21 @@ if (typeof ElectronIpcRenderer !== 'undefined') {
|
|
|
107
113
|
|
|
108
114
|
export interface IElectronNativeDialogService {
|
|
109
115
|
showOpenDialog(options: Electron.OpenDialogOptions): Promise<string[] | undefined>;
|
|
110
|
-
|
|
111
116
|
showSaveDialog(options: Electron.SaveDialogOptions): Promise<string | undefined>;
|
|
112
117
|
}
|
|
113
118
|
|
|
114
119
|
export const IElectronNativeDialogService = Symbol('IElectronNativeDialogService');
|
|
115
120
|
|
|
116
|
-
export function
|
|
121
|
+
export function createNetSocketConnection(connectPath?: string): NetSocketConnection {
|
|
117
122
|
let socket;
|
|
118
123
|
if (connectPath) {
|
|
119
124
|
socket = electronEnv.createNetConnection(connectPath);
|
|
120
125
|
} else {
|
|
121
126
|
socket = electronEnv.createRPCNetConnection();
|
|
122
127
|
}
|
|
123
|
-
|
|
124
|
-
|
|
128
|
+
return new NetSocketConnection(socket);
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
export function fromWindowClientId(suffix: string) {
|
|
132
|
+
return `${suffix}-${electronEnv.metadata.windowClientId}`;
|
|
125
133
|
}
|