@opensumi/ide-core-browser 2.25.3 → 2.25.4-next-1688526464.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/common/common.command.d.ts +5 -0
- package/lib/common/common.command.d.ts.map +1 -1
- package/lib/common/common.command.js +17 -1
- package/lib/common/common.command.js.map +1 -1
- package/lib/components/actions/index.js +4 -4
- package/lib/components/actions/index.js.map +1 -1
- package/lib/components/layout/layout.d.ts +5 -5
- package/lib/components/layout/split-panel.d.ts.map +1 -1
- package/lib/components/layout/split-panel.js +40 -39
- package/lib/components/layout/split-panel.js.map +1 -1
- package/lib/layout/layout.interface.d.ts +2 -0
- package/lib/layout/layout.interface.d.ts.map +1 -1
- package/lib/layout/layout.interface.js.map +1 -1
- package/lib/markdown/index.d.ts.map +1 -1
- package/lib/markdown/index.js +0 -1
- package/lib/markdown/index.js.map +1 -1
- package/lib/menu/next/menu-id.d.ts +2 -1
- package/lib/menu/next/menu-id.d.ts.map +1 -1
- package/lib/menu/next/menu-id.js +2 -0
- package/lib/menu/next/menu-id.js.map +1 -1
- package/lib/preferences/settings.d.ts +4 -0
- package/lib/preferences/settings.d.ts.map +1 -1
- package/lib/react-providers/config-provider.d.ts +2 -1
- package/lib/react-providers/config-provider.d.ts.map +1 -1
- package/package.json +5 -5
- package/src/common/common.command.ts +17 -0
- package/src/components/actions/index.tsx +6 -6
- package/src/components/layout/split-panel.tsx +204 -168
- package/src/layout/layout.interface.ts +2 -0
- package/src/markdown/index.tsx +0 -1
- package/src/menu/next/menu-id.ts +2 -0
- package/src/preferences/settings.ts +4 -0
- package/src/react-providers/config-provider.tsx +3 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../src/preferences/settings.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAElF,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,eAAO,MAAM,0BAA0B,eAAuC,CAAC;AAC/E,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,wBAAwB,EAAE,CAAC;IAEpC,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,eAAe,OAAE;IAE/D,gBAAgB,CAAC,KAAK,EAAE,eAAe,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,aAAa,EAAE,CAAC;IAE3E,oBAAoB,CAAC,KAAK,EAAE,aAAa,GAAG,WAAW,CAAC;IAExD,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,WAAW,CAAC;IAE/E,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,uBAAuB,EAAE,CAAC;IACzG,qBAAqB,CAAC,YAAY,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS,CAAC;IAC7E,aAAa,CAAC,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,GAAG;QAAE,KAAK,EAAE,GAAG,CAAC;QAAC,cAAc,EAAE,eAAe,CAAA;KAAE,CAAC;IAE/G,aAAa,CAAC,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAE/E,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/C,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,MAAM,WAAW,aAAa;IAE5B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,aAAa,CAAC,EAAE,eAAe,EAAE,CAAC;CACnC;AAED,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,WAAW,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACpC;;OAEG;IACH,SAAS,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QAAE,KAAK,EAAE,eAAe,CAAA;KAAE,CAAC,CAAC;IAC5D;;OAEG;IACH,WAAW,CAAC,EAAE,eAAe,EAAE,CAAC;IAChC;;OAEG;IACH,aAAa,CAAC,EAAE,eAAe,EAAE,CAAC;CACnC;AAED,MAAM,WAAW,uBAAwB,SAAQ,eAAe;IAC9D,WAAW,CAAC,EAAE,2BAA2B,EAAE,CAAC;IAC5C,WAAW,CAAC,EAAE,uBAAuB,EAAE,CAAC;CACzC;AAED,MAAM,WAAW,2BAA2B;IAC1C,EAAE,EAAE,MAAM,CAAC;IACX;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B"}
|
|
1
|
+
{"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../src/preferences/settings.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAElF,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,eAAO,MAAM,0BAA0B,eAAuC,CAAC;AAC/E,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,wBAAwB,EAAE,CAAC;IAEpC,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,eAAe,OAAE;IAE/D,gBAAgB,CAAC,KAAK,EAAE,eAAe,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,aAAa,EAAE,CAAC;IAE3E,oBAAoB,CAAC,KAAK,EAAE,aAAa,GAAG,WAAW,CAAC;IAExD,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,WAAW,CAAC;IAE/E,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,uBAAuB,EAAE,CAAC;IACzG,qBAAqB,CAAC,YAAY,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS,CAAC;IAC7E,aAAa,CAAC,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,GAAG;QAAE,KAAK,EAAE,GAAG,CAAC;QAAC,cAAc,EAAE,eAAe,CAAA;KAAE,CAAC;IAE/G,aAAa,CAAC,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAE/E,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/C,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,MAAM,WAAW,aAAa;IAE5B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,aAAa,CAAC,EAAE,eAAe,EAAE,CAAC;CACnC;AAED,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,WAAW,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACpC;;OAEG;IACH,SAAS,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QAAE,KAAK,EAAE,eAAe,CAAA;KAAE,CAAC,CAAC;IAC5D;;OAEG;IACH,WAAW,CAAC,EAAE,eAAe,EAAE,CAAC;IAChC;;OAEG;IACH,aAAa,CAAC,EAAE,eAAe,EAAE,CAAC;CACnC;AAED,MAAM,WAAW,uBAAwB,SAAQ,eAAe;IAC9D,WAAW,CAAC,EAAE,2BAA2B,EAAE,CAAC;IAC5C,WAAW,CAAC,EAAE,uBAAuB,EAAE,CAAC;CACzC;AAED,MAAM,WAAW,2BAA2B;IAC1C,EAAE,EAAE,MAAM,CAAC;IACX;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B"}
|
|
@@ -211,7 +211,7 @@ export interface AppConfig {
|
|
|
211
211
|
* 视图组件内默认的组件样式资源 CDN 来源
|
|
212
212
|
* 默认值为 'alipay'
|
|
213
213
|
*/
|
|
214
|
-
componentCDNType?:
|
|
214
|
+
componentCDNType?: TComponentCDNType;
|
|
215
215
|
/**
|
|
216
216
|
* 指定前端是否为 Electron 环境 (Electron Renderer)
|
|
217
217
|
* 为兼容老的逻辑,若不兼容则 fallback 到 isElectronRenderer 的判断
|
|
@@ -248,4 +248,5 @@ export declare const ConfigContext: React.Context<AppConfig>;
|
|
|
248
248
|
export declare function ConfigProvider(props: React.PropsWithChildren<{
|
|
249
249
|
value: AppConfig;
|
|
250
250
|
}>): JSX.Element;
|
|
251
|
+
export type TComponentCDNType = 'unpkg' | 'jsdelivr' | 'alipay' | 'npmmirror';
|
|
251
252
|
//# sourceMappingURL=config-provider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-provider.d.ts","sourceRoot":"","sources":["../../src/react-providers/config-provider.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"config-provider.d.ts","sourceRoot":"","sources":["../../src/react-providers/config-provider.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opensumi/ide-core-browser",
|
|
3
|
-
"version": "2.25.
|
|
3
|
+
"version": "2.25.4-next-1688526464.0",
|
|
4
4
|
"description": "@opensumi/ide-core-browser",
|
|
5
5
|
"files": [
|
|
6
6
|
"lib",
|
|
@@ -18,9 +18,9 @@
|
|
|
18
18
|
"build": "tsc --build ../../configs/ts/references/tsconfig.core-browser.json"
|
|
19
19
|
},
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"@opensumi/ide-components": "2.25.
|
|
22
|
-
"@opensumi/ide-connection": "2.25.
|
|
23
|
-
"@opensumi/ide-core-common": "2.25.
|
|
21
|
+
"@opensumi/ide-components": "2.25.4-next-1688526464.0",
|
|
22
|
+
"@opensumi/ide-connection": "2.25.4-next-1688526464.0",
|
|
23
|
+
"@opensumi/ide-core-common": "2.25.4-next-1688526464.0",
|
|
24
24
|
"@opensumi/vscode-debugprotocol": "1.49.0-beta.1",
|
|
25
25
|
"@vscode/codicons": "0.0.27",
|
|
26
26
|
"ajv": "^6.10.0",
|
|
@@ -50,5 +50,5 @@
|
|
|
50
50
|
"peerDependencies": {
|
|
51
51
|
"react": ">=16.8.6"
|
|
52
52
|
},
|
|
53
|
-
"gitHead": "
|
|
53
|
+
"gitHead": "5b91ede7c8aaff39b2132b7d171ace7385fee1db"
|
|
54
54
|
}
|
|
@@ -363,6 +363,12 @@ export namespace EDITOR_COMMANDS {
|
|
|
363
363
|
category: CATEGORY,
|
|
364
364
|
};
|
|
365
365
|
|
|
366
|
+
export const MERGEEDITOR_RESET: Command = {
|
|
367
|
+
id: 'editor.mergeEditor.reset',
|
|
368
|
+
category: CATEGORY,
|
|
369
|
+
label: '%mergeEditor.reset%',
|
|
370
|
+
};
|
|
371
|
+
|
|
366
372
|
export const CLOSE: Command = {
|
|
367
373
|
id: 'editor.close',
|
|
368
374
|
category: CATEGORY,
|
|
@@ -1012,3 +1018,14 @@ export namespace QUICK_OPEN_COMMANDS {
|
|
|
1012
1018
|
id: 'editor.action.quickView',
|
|
1013
1019
|
};
|
|
1014
1020
|
}
|
|
1021
|
+
|
|
1022
|
+
export namespace SCM_COMMANDS {
|
|
1023
|
+
// git extension 1.71 版本之前存在下划线,这里为了做兼容处理: https://github.com/microsoft/vscode/blob/1.68.1/extensions/git/src/repository.ts#L613
|
|
1024
|
+
export const _GIT_OPEN_MERGE_EDITOR: Command = {
|
|
1025
|
+
id: '_git.openMergeEditor',
|
|
1026
|
+
};
|
|
1027
|
+
// git extension 1.71 版本之后就去掉了前面的下划线: https://github.com/microsoft/vscode/commit/c0ade8bc816386b7194d69fed878d4b9bb796d6c#diff-da56ff967ab1a9606c01af61dc926332afb862f13c8e5c74a575bc2aa1b15e43R411
|
|
1028
|
+
export const GIT_OPEN_MERGE_EDITOR: Command = {
|
|
1029
|
+
id: 'git.openMergeEditor',
|
|
1030
|
+
};
|
|
1031
|
+
}
|
|
@@ -108,9 +108,9 @@ export const MenuActionList: React.FC<{
|
|
|
108
108
|
}
|
|
109
109
|
|
|
110
110
|
return (
|
|
111
|
-
|
|
111
|
+
<React.Fragment key={`${menuNode.id}-${(menuNode as SubmenuItemNode).submenuId}-${index}`}>
|
|
112
112
|
<Menu.SubMenu
|
|
113
|
-
key={`${(menuNode as SubmenuItemNode).submenuId}-${index}`}
|
|
113
|
+
key={`${menuNode.id}-${(menuNode as SubmenuItemNode).submenuId}-${index}`}
|
|
114
114
|
className={styles.submenuItem}
|
|
115
115
|
popupClassName='kt-menu'
|
|
116
116
|
title={<MenuAction hasSubmenu data={menuNode} iconService={iconService} />}
|
|
@@ -118,22 +118,22 @@ export const MenuActionList: React.FC<{
|
|
|
118
118
|
{recursiveRender(menuNode.children, menuNode.label)}
|
|
119
119
|
</Menu.SubMenu>
|
|
120
120
|
{hasSeparator ? <Menu.Divider key={`divider-${index}`} className={styles.menuItemDivider} /> : null}
|
|
121
|
-
|
|
121
|
+
</React.Fragment>
|
|
122
122
|
);
|
|
123
123
|
}
|
|
124
124
|
|
|
125
125
|
return (
|
|
126
|
-
|
|
126
|
+
<React.Fragment key={`${menuNode.id}-${index}`}>
|
|
127
127
|
<Menu.Item
|
|
128
128
|
id={`${menuNode.id}-${index}`}
|
|
129
|
-
key={`${menuNode.id}-${
|
|
129
|
+
key={`${menuNode.id}-${index}`}
|
|
130
130
|
className={styles.menuItem}
|
|
131
131
|
disabled={menuNode.disabled}
|
|
132
132
|
>
|
|
133
133
|
<MenuAction data={menuNode} disabled={menuNode.disabled} iconService={iconService} />
|
|
134
134
|
</Menu.Item>
|
|
135
135
|
{hasSeparator ? <Menu.Divider key={`divider-${index}`} className={styles.menuItemDivider} /> : null}
|
|
136
|
-
|
|
136
|
+
</React.Fragment>
|
|
137
137
|
);
|
|
138
138
|
}),
|
|
139
139
|
[],
|
|
@@ -79,6 +79,18 @@ export interface SplitPanelProps extends SplitChildProps {
|
|
|
79
79
|
const getProp = (child: React.ReactNode, prop: string) =>
|
|
80
80
|
child && child['props'] && (child['props'][prop] ?? child['props'][`data-sp-${prop}`]);
|
|
81
81
|
|
|
82
|
+
function getElementSize(element: any, totalFlexNum: number) {
|
|
83
|
+
if (getProp(element, 'savedSize')) {
|
|
84
|
+
return getProp(element, 'savedSize') + 'px';
|
|
85
|
+
} else if (getProp(element, 'defaultSize') !== undefined) {
|
|
86
|
+
return getProp(element, 'defaultSize') + 'px';
|
|
87
|
+
} else if (getProp(element, 'flex')) {
|
|
88
|
+
return (getProp(element, 'flex') / totalFlexNum) * 100 + '%';
|
|
89
|
+
} else {
|
|
90
|
+
return (1 / totalFlexNum) * 100 + '%';
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
|
|
82
94
|
export const SplitPanel: React.FC<SplitPanelProps> = ({
|
|
83
95
|
id,
|
|
84
96
|
className,
|
|
@@ -95,12 +107,17 @@ export const SplitPanel: React.FC<SplitPanelProps> = ({
|
|
|
95
107
|
}) => {
|
|
96
108
|
const ResizeHandle = Layout.getResizeHandle(direction);
|
|
97
109
|
// convert children to list
|
|
98
|
-
const childList = React.Children.toArray(children);
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
110
|
+
const childList = React.useMemo(() => React.Children.toArray(children), [children]);
|
|
111
|
+
|
|
112
|
+
const totalFlexNum = React.useMemo(
|
|
113
|
+
() =>
|
|
114
|
+
childList.reduce(
|
|
115
|
+
(accumulator, item) => accumulator + (getProp(item, 'flex') !== undefined ? getProp(item, 'flex') : 1),
|
|
116
|
+
0,
|
|
117
|
+
),
|
|
118
|
+
[childList],
|
|
102
119
|
);
|
|
103
|
-
|
|
120
|
+
|
|
104
121
|
const resizeDelegates = React.useRef<IResizeHandleDelegate[]>([]);
|
|
105
122
|
const eventBus = useInjectable<IEventBus>(IEventBus);
|
|
106
123
|
const rootRef = React.useRef<HTMLElement>();
|
|
@@ -115,178 +132,197 @@ export const SplitPanel: React.FC<SplitPanelProps> = ({
|
|
|
115
132
|
splitPanelService.panels = [];
|
|
116
133
|
|
|
117
134
|
// 获取setSize的handle,对于最右端或最底部的视图,取上一个位置的handle
|
|
118
|
-
const setSizeHandle = (
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
delegate
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
const delegate = resizeDelegates.current[targetIndex];
|
|
133
|
-
if (delegate) {
|
|
134
|
-
delegate.setRelativeSize(prev, next);
|
|
135
|
-
}
|
|
136
|
-
};
|
|
137
|
-
|
|
138
|
-
const getSizeHandle = (index) => (isLatter?: boolean) => {
|
|
139
|
-
const targetIndex = isLatter ? index - 1 : index;
|
|
140
|
-
const delegate = resizeDelegates.current[targetIndex];
|
|
141
|
-
if (delegate) {
|
|
142
|
-
return delegate.getAbsoluteSize(isLatter);
|
|
143
|
-
}
|
|
144
|
-
return 0;
|
|
145
|
-
};
|
|
135
|
+
const setSizeHandle = React.useCallback(
|
|
136
|
+
(index) => (size?: number, isLatter?: boolean) => {
|
|
137
|
+
const targetIndex = isLatter ? index - 1 : index;
|
|
138
|
+
const delegate = resizeDelegates.current[targetIndex];
|
|
139
|
+
if (delegate) {
|
|
140
|
+
delegate.setAbsoluteSize(
|
|
141
|
+
size !== undefined ? size : getProp(childList[index], 'defaultSize'),
|
|
142
|
+
isLatter,
|
|
143
|
+
resizeKeep,
|
|
144
|
+
);
|
|
145
|
+
}
|
|
146
|
+
},
|
|
147
|
+
[resizeDelegates.current],
|
|
148
|
+
);
|
|
146
149
|
|
|
147
|
-
const
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
150
|
+
const setRelativeSizeHandle = React.useCallback(
|
|
151
|
+
(index) => (prev: number, next: number, isLatter?: boolean) => {
|
|
152
|
+
const targetIndex = isLatter ? index - 1 : index;
|
|
153
|
+
const delegate = resizeDelegates.current[targetIndex];
|
|
154
|
+
if (delegate) {
|
|
155
|
+
delegate.setRelativeSize(prev, next);
|
|
156
|
+
}
|
|
157
|
+
},
|
|
158
|
+
[resizeDelegates.current],
|
|
159
|
+
);
|
|
155
160
|
|
|
156
|
-
const
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
161
|
+
const getSizeHandle = React.useCallback(
|
|
162
|
+
(index) => (isLatter?: boolean) => {
|
|
163
|
+
const targetIndex = isLatter ? index - 1 : index;
|
|
164
|
+
const delegate = resizeDelegates.current[targetIndex];
|
|
165
|
+
if (delegate) {
|
|
166
|
+
return delegate.getAbsoluteSize(isLatter);
|
|
167
|
+
}
|
|
168
|
+
return 0;
|
|
169
|
+
},
|
|
170
|
+
[resizeDelegates.current],
|
|
171
|
+
);
|
|
164
172
|
|
|
165
|
-
const
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
173
|
+
const getRelativeSizeHandle = React.useCallback(
|
|
174
|
+
(index) => (isLatter?: boolean) => {
|
|
175
|
+
const targetIndex = isLatter ? index - 1 : index;
|
|
176
|
+
const delegate = resizeDelegates.current[targetIndex];
|
|
177
|
+
if (delegate) {
|
|
178
|
+
return delegate.getRelativeSize();
|
|
179
|
+
}
|
|
180
|
+
return [0, 0];
|
|
181
|
+
},
|
|
182
|
+
[resizeDelegates.current],
|
|
183
|
+
);
|
|
172
184
|
|
|
173
|
-
const
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
|
|
185
|
+
const lockResizeHandle = React.useCallback(
|
|
186
|
+
(index) => (lock: boolean | undefined, isLatter?: boolean) => {
|
|
187
|
+
const targetIndex = isLatter ? index - 1 : index;
|
|
188
|
+
const newResizeState = resizeLockState.current.map((state, idx) =>
|
|
189
|
+
idx === targetIndex ? (lock !== undefined ? lock : !state) : state,
|
|
190
|
+
);
|
|
191
|
+
resizeLockState.current = newResizeState;
|
|
192
|
+
setLocks(newResizeState);
|
|
193
|
+
},
|
|
194
|
+
[resizeDelegates.current],
|
|
195
|
+
);
|
|
184
196
|
|
|
185
|
-
const
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
197
|
+
const setMaxSizeHandle = React.useCallback(
|
|
198
|
+
(index) => (lock: boolean | undefined, isLatter?: boolean) => {
|
|
199
|
+
const newMaxState = maxLockState.current.map((state, idx) =>
|
|
200
|
+
idx === index ? (lock !== undefined ? lock : !state) : state,
|
|
201
|
+
);
|
|
202
|
+
maxLockState.current = newMaxState;
|
|
203
|
+
setMaxLocks(newMaxState);
|
|
204
|
+
},
|
|
205
|
+
[resizeDelegates.current],
|
|
206
|
+
);
|
|
190
207
|
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
const
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
208
|
+
const hidePanelHandle = React.useCallback(
|
|
209
|
+
(index: number) => (show?: boolean) => {
|
|
210
|
+
const newHideState = hideState.current.map((state, idx) =>
|
|
211
|
+
idx === index ? (show !== undefined ? !show : !state) : state,
|
|
212
|
+
);
|
|
213
|
+
hideState.current = newHideState;
|
|
214
|
+
const location = getProp(childList[index], 'slot') || getProp(childList[index], 'id');
|
|
215
|
+
if (location) {
|
|
216
|
+
fireResizeEvent(location);
|
|
199
217
|
}
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
fireResizeEvent(nextLocation!);
|
|
210
|
-
}}
|
|
211
|
-
noColor={true}
|
|
212
|
-
findNextElement={
|
|
213
|
-
dynamicTarget
|
|
214
|
-
? (direction: boolean) => splitPanelService.getFirstResizablePanel(index - 1, direction)
|
|
215
|
-
: undefined
|
|
216
|
-
}
|
|
217
|
-
findPrevElement={
|
|
218
|
-
dynamicTarget
|
|
219
|
-
? (direction: boolean) => splitPanelService.getFirstResizablePanel(index - 1, direction, true)
|
|
220
|
-
: undefined
|
|
221
|
-
}
|
|
222
|
-
key={`split-handle-${index}`}
|
|
223
|
-
delegate={(delegate) => {
|
|
224
|
-
resizeDelegates.current.push(delegate);
|
|
225
|
-
}}
|
|
226
|
-
flexMode={flexMode}
|
|
227
|
-
/>,
|
|
228
|
-
);
|
|
218
|
+
setHides(newHideState);
|
|
219
|
+
},
|
|
220
|
+
[childList, hideState.current],
|
|
221
|
+
);
|
|
222
|
+
|
|
223
|
+
const fireResizeEvent = React.useCallback(
|
|
224
|
+
(location?: string) => {
|
|
225
|
+
if (location) {
|
|
226
|
+
eventBus.fire(new ResizeEvent({ slotLocation: location }));
|
|
229
227
|
}
|
|
230
|
-
}
|
|
228
|
+
},
|
|
229
|
+
[eventBus],
|
|
230
|
+
);
|
|
231
231
|
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
setSize: setSizeHandle(index),
|
|
237
|
-
getSize: getSizeHandle(index),
|
|
238
|
-
setRelativeSize: setRelativeSizeHandle(index),
|
|
239
|
-
getRelativeSize: getRelativeSizeHandle(index),
|
|
240
|
-
lockSize: lockResizeHandle(index),
|
|
241
|
-
setMaxSize: setMaxSizeHandle(index),
|
|
242
|
-
hidePanel: hidePanelHandle(index),
|
|
243
|
-
}}
|
|
244
|
-
>
|
|
245
|
-
<div
|
|
246
|
-
data-min-resize={getProp(element, 'minResize')}
|
|
247
|
-
data-max-resize={getProp(element, 'maxResize')}
|
|
248
|
-
ref={(ele) => {
|
|
249
|
-
if (ele && splitPanelService.panels.indexOf(ele) === -1) {
|
|
250
|
-
splitPanelService.panels.push(ele);
|
|
251
|
-
}
|
|
252
|
-
}}
|
|
253
|
-
id={getProp(element, 'id') /* @deprecated: query by data-view-id */}
|
|
254
|
-
style={{
|
|
255
|
-
// 手风琴场景,固定尺寸和 flex 尺寸混合布局;需要在 Resize Flex 模式下禁用
|
|
256
|
-
...(getProp(element, 'flex') &&
|
|
257
|
-
!getProp(element, 'savedSize') &&
|
|
258
|
-
!childList.find((item) => getProp(item, 'flexGrow'))
|
|
259
|
-
? { flex: getProp(element, 'flex') }
|
|
260
|
-
: { [Layout.getSizeProperty(direction)]: getElementSize(element) }),
|
|
261
|
-
// 相对尺寸带来的问题,必须限制最小最大尺寸
|
|
262
|
-
[Layout.getMinSizeProperty(direction)]: getProp(element, 'minSize')
|
|
263
|
-
? getProp(element, 'minSize') + 'px'
|
|
264
|
-
: '-1px',
|
|
265
|
-
[Layout.getMaxSizeProperty(direction)]:
|
|
266
|
-
maxLocks[index] && getProp(element, 'maxSize') ? getProp(element, 'maxSize') + 'px' : 'unset',
|
|
267
|
-
// Resize Flex 模式下应用 flexGrow
|
|
268
|
-
...(getProp(element, 'flexGrow') !== undefined ? { flexGrow: getProp(element, 'flexGrow') } : {}),
|
|
269
|
-
display: hides[index] ? 'none' : 'block',
|
|
270
|
-
backgroundColor: getProp(element, 'backgroundColor'),
|
|
271
|
-
}}
|
|
272
|
-
>
|
|
273
|
-
{element}
|
|
274
|
-
</div>
|
|
275
|
-
</PanelContext.Provider>,
|
|
276
|
-
);
|
|
277
|
-
});
|
|
232
|
+
const elements: React.ReactNodeArray = React.useMemo(
|
|
233
|
+
() =>
|
|
234
|
+
childList.map((element, index) => {
|
|
235
|
+
const result: JSX.Element[] = [];
|
|
278
236
|
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
237
|
+
if (index !== 0) {
|
|
238
|
+
const targetElement = index === 1 ? childList[index - 1] : childList[index];
|
|
239
|
+
let flexMode: ResizeFlexMode | undefined;
|
|
240
|
+
if (getProp(element, 'flexGrow')) {
|
|
241
|
+
flexMode = ResizeFlexMode.Prev;
|
|
242
|
+
} else if (getProp(childList[index - 1], 'flexGrow')) {
|
|
243
|
+
flexMode = ResizeFlexMode.Next;
|
|
244
|
+
}
|
|
245
|
+
const noResize = getProp(targetElement, 'noResize') || locks[index - 1];
|
|
246
|
+
if (!noResize) {
|
|
247
|
+
result.push(
|
|
248
|
+
<ResizeHandle
|
|
249
|
+
className={resizeHandleClassName}
|
|
250
|
+
onResize={(prev, next) => {
|
|
251
|
+
const prevLocation = getProp(childList[index - 1], 'slot') || getProp(childList[index - 1], 'id');
|
|
252
|
+
const nextLocation = getProp(childList[index], 'slot') || getProp(childList[index], 'id');
|
|
253
|
+
fireResizeEvent(prevLocation!);
|
|
254
|
+
fireResizeEvent(nextLocation!);
|
|
255
|
+
}}
|
|
256
|
+
noColor={true}
|
|
257
|
+
findNextElement={
|
|
258
|
+
dynamicTarget
|
|
259
|
+
? (direction: boolean) => splitPanelService.getFirstResizablePanel(index - 1, direction)
|
|
260
|
+
: undefined
|
|
261
|
+
}
|
|
262
|
+
findPrevElement={
|
|
263
|
+
dynamicTarget
|
|
264
|
+
? (direction: boolean) => splitPanelService.getFirstResizablePanel(index - 1, direction, true)
|
|
265
|
+
: undefined
|
|
266
|
+
}
|
|
267
|
+
key={`split-handle-${index}`}
|
|
268
|
+
delegate={(delegate) => {
|
|
269
|
+
resizeDelegates.current.push(delegate);
|
|
270
|
+
}}
|
|
271
|
+
flexMode={flexMode}
|
|
272
|
+
/>,
|
|
273
|
+
);
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
result.push(
|
|
278
|
+
<PanelContext.Provider
|
|
279
|
+
key={index}
|
|
280
|
+
value={{
|
|
281
|
+
setSize: setSizeHandle(index),
|
|
282
|
+
getSize: getSizeHandle(index),
|
|
283
|
+
setRelativeSize: setRelativeSizeHandle(index),
|
|
284
|
+
getRelativeSize: getRelativeSizeHandle(index),
|
|
285
|
+
lockSize: lockResizeHandle(index),
|
|
286
|
+
setMaxSize: setMaxSizeHandle(index),
|
|
287
|
+
hidePanel: hidePanelHandle(index),
|
|
288
|
+
}}
|
|
289
|
+
>
|
|
290
|
+
<div
|
|
291
|
+
data-min-resize={getProp(element, 'minResize')}
|
|
292
|
+
data-max-resize={getProp(element, 'maxResize')}
|
|
293
|
+
ref={(ele) => {
|
|
294
|
+
if (ele && splitPanelService.panels.indexOf(ele) === -1) {
|
|
295
|
+
splitPanelService.panels.push(ele);
|
|
296
|
+
}
|
|
297
|
+
}}
|
|
298
|
+
id={getProp(element, 'id') /* @deprecated: query by data-view-id */}
|
|
299
|
+
style={{
|
|
300
|
+
// 手风琴场景,固定尺寸和 flex 尺寸混合布局;需要在 Resize Flex 模式下禁用
|
|
301
|
+
...(getProp(element, 'flex') &&
|
|
302
|
+
!getProp(element, 'savedSize') &&
|
|
303
|
+
!childList.find((item) => getProp(item, 'flexGrow'))
|
|
304
|
+
? { flex: getProp(element, 'flex') }
|
|
305
|
+
: { [Layout.getSizeProperty(direction)]: getElementSize(element, totalFlexNum) }),
|
|
306
|
+
// 相对尺寸带来的问题,必须限制最小最大尺寸
|
|
307
|
+
[Layout.getMinSizeProperty(direction)]: getProp(element, 'minSize')
|
|
308
|
+
? getProp(element, 'minSize') + 'px'
|
|
309
|
+
: '-1px',
|
|
310
|
+
[Layout.getMaxSizeProperty(direction)]:
|
|
311
|
+
maxLocks[index] && getProp(element, 'maxSize') ? getProp(element, 'maxSize') + 'px' : 'unset',
|
|
312
|
+
// Resize Flex 模式下应用 flexGrow
|
|
313
|
+
...(getProp(element, 'flexGrow') !== undefined ? { flexGrow: getProp(element, 'flexGrow') } : {}),
|
|
314
|
+
display: hides[index] ? 'none' : 'block',
|
|
315
|
+
backgroundColor: getProp(element, 'backgroundColor'),
|
|
316
|
+
}}
|
|
317
|
+
>
|
|
318
|
+
{element}
|
|
319
|
+
</div>
|
|
320
|
+
</PanelContext.Provider>,
|
|
321
|
+
);
|
|
322
|
+
return result;
|
|
323
|
+
}),
|
|
324
|
+
[children, childList, resizeHandleClassName, dynamicTarget, resizeDelegates.current, hides],
|
|
325
|
+
);
|
|
290
326
|
|
|
291
327
|
React.useEffect(() => {
|
|
292
328
|
if (rootRef.current) {
|
|
@@ -311,7 +347,7 @@ export const SplitPanel: React.FC<SplitPanelProps> = ({
|
|
|
311
347
|
className={clsx(styles['split-panel'], className)}
|
|
312
348
|
style={{ flexDirection: Layout.getFlexDirection(direction), ...style }}
|
|
313
349
|
>
|
|
314
|
-
{elements}
|
|
350
|
+
{elements.filter(Boolean)}
|
|
315
351
|
</div>
|
|
316
352
|
);
|
|
317
353
|
};
|
|
@@ -2,6 +2,7 @@ import type React from 'react';
|
|
|
2
2
|
|
|
3
3
|
import { MaybeNull, BasicEvent } from '@opensumi/ide-core-common';
|
|
4
4
|
|
|
5
|
+
import { Layout } from '../components/layout/index';
|
|
5
6
|
import type { IMenu, IContextMenu } from '../menu/next';
|
|
6
7
|
import type { SlotLocation } from '../react-providers';
|
|
7
8
|
|
|
@@ -75,6 +76,7 @@ export interface ExtViewContainerOptions {
|
|
|
75
76
|
fromExtension?: boolean;
|
|
76
77
|
// viewContainer 最小高度,默认 120
|
|
77
78
|
miniSize?: number;
|
|
79
|
+
alignment?: Layout.alignment;
|
|
78
80
|
}
|
|
79
81
|
export const ComponentRegistry = Symbol('ComponentRegistry');
|
|
80
82
|
|
package/src/markdown/index.tsx
CHANGED
package/src/menu/next/menu-id.ts
CHANGED
|
@@ -84,6 +84,8 @@ export enum MenuId {
|
|
|
84
84
|
// setting.json
|
|
85
85
|
SettingJSONGlyphMarginContext = 'settingJson/glyphMargin/context',
|
|
86
86
|
SubSettingJSONGlyphMarginContext = 'sub/settingJson/glyphMargin/context',
|
|
87
|
+
// merge editor context
|
|
88
|
+
MergeEditorResultTitleContext = 'mergeEditor/result/title/context',
|
|
87
89
|
}
|
|
88
90
|
|
|
89
91
|
export function getTabbarCommonMenuId(location: string) {
|
|
@@ -216,7 +216,7 @@ export interface AppConfig {
|
|
|
216
216
|
* 视图组件内默认的组件样式资源 CDN 来源
|
|
217
217
|
* 默认值为 'alipay'
|
|
218
218
|
*/
|
|
219
|
-
componentCDNType?:
|
|
219
|
+
componentCDNType?: TComponentCDNType;
|
|
220
220
|
/**
|
|
221
221
|
* 指定前端是否为 Electron 环境 (Electron Renderer)
|
|
222
222
|
* 为兼容老的逻辑,若不兼容则 fallback 到 isElectronRenderer 的判断
|
|
@@ -277,3 +277,5 @@ export function ConfigProvider(props: React.PropsWithChildren<{ value: AppConfig
|
|
|
277
277
|
|
|
278
278
|
return React.createElement(extraContextProvider, { children: app });
|
|
279
279
|
}
|
|
280
|
+
|
|
281
|
+
export type TComponentCDNType = 'unpkg' | 'jsdelivr' | 'alipay' | 'npmmirror';
|