@opensumi/ide-menu-bar 2.27.0 → 2.27.1-next-1697789179.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/menu-bar.contribution.d.ts +0 -3
- package/lib/browser/menu-bar.contribution.d.ts.map +1 -1
- package/lib/browser/menu-bar.contribution.js +3 -27
- package/lib/browser/menu-bar.contribution.js.map +1 -1
- package/lib/browser/menu-bar.store.d.ts +3 -0
- package/lib/browser/menu-bar.store.d.ts.map +1 -1
- package/lib/browser/menu-bar.store.js +23 -0
- package/lib/browser/menu-bar.store.js.map +1 -1
- package/lib/browser/menu-bar.view.d.ts +1 -1
- package/lib/browser/menu-bar.view.d.ts.map +1 -1
- package/lib/browser/menu-bar.view.js +3 -1
- package/lib/browser/menu-bar.view.js.map +1 -1
- package/package.json +6 -6
- package/src/browser/menu-bar.contribution.ts +3 -35
- package/src/browser/menu-bar.store.ts +41 -2
- package/src/browser/menu-bar.view.tsx +8 -2
|
@@ -2,11 +2,8 @@ import { Disposable } from '@opensumi/ide-core-browser';
|
|
|
2
2
|
import { ComponentContribution, ComponentRegistry } from '@opensumi/ide-core-browser/lib/layout';
|
|
3
3
|
export declare class MenuBarContribution extends Disposable implements ComponentContribution {
|
|
4
4
|
private readonly menubarStore;
|
|
5
|
-
private readonly menuRegistry;
|
|
6
5
|
private readonly preferenceService;
|
|
7
6
|
constructor();
|
|
8
|
-
private unregisterMenusBarByCompact;
|
|
9
|
-
private registerMenusBarByCompact;
|
|
10
7
|
registerComponent(registry: ComponentRegistry): void;
|
|
11
8
|
}
|
|
12
9
|
//# sourceMappingURL=menu-bar.contribution.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu-bar.contribution.d.ts","sourceRoot":"","sources":["../../src/browser/menu-bar.contribution.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,UAAU,EAAuC,MAAM,4BAA4B,CAAC;AAC9G,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAOjG,qBACa,mBAAoB,SAAQ,UAAW,YAAW,qBAAqB;IAElF,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAG5C,OAAO,CAAC,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"menu-bar.contribution.d.ts","sourceRoot":"","sources":["../../src/browser/menu-bar.contribution.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,UAAU,EAAuC,MAAM,4BAA4B,CAAC;AAC9G,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAOjG,qBACa,mBAAoB,SAAQ,UAAW,YAAW,qBAAqB;IAElF,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAG5C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAoB;;IA0BtD,iBAAiB,CAAC,QAAQ,EAAE,iBAAiB;CAY9C"}
|
|
@@ -5,7 +5,6 @@ const tslib_1 = require("tslib");
|
|
|
5
5
|
const di_1 = require("@opensumi/di");
|
|
6
6
|
const ide_core_browser_1 = require("@opensumi/ide-core-browser");
|
|
7
7
|
const layout_1 = require("@opensumi/ide-core-browser/lib/layout");
|
|
8
|
-
const next_1 = require("@opensumi/ide-core-browser/lib/menu/next");
|
|
9
8
|
const di_helper_1 = require("@opensumi/ide-core-common/lib/di-helper");
|
|
10
9
|
const menu_bar_store_1 = require("./menu-bar.store");
|
|
11
10
|
const menu_bar_view_1 = require("./menu-bar.view");
|
|
@@ -15,37 +14,18 @@ let MenuBarContribution = class MenuBarContribution extends ide_core_browser_1.D
|
|
|
15
14
|
this.addDispose(this.menubarStore.onDidMenuBarChange((menubarItems) => {
|
|
16
15
|
const isCompact = this.preferenceService.getValid("menubar.compactMode" /* MenubarSettingId.CompactMode */);
|
|
17
16
|
if (isCompact) {
|
|
18
|
-
this.registerMenusBarByCompact(menubarItems);
|
|
17
|
+
this.menubarStore.registerMenusBarByCompact(menubarItems);
|
|
19
18
|
}
|
|
20
19
|
}));
|
|
21
20
|
this.addDispose(this.preferenceService.onSpecificPreferenceChange("menubar.compactMode" /* MenubarSettingId.CompactMode */, ({ newValue }) => {
|
|
22
21
|
if (newValue) {
|
|
23
|
-
this.registerMenusBarByCompact();
|
|
22
|
+
this.menubarStore.registerMenusBarByCompact();
|
|
24
23
|
}
|
|
25
24
|
else {
|
|
26
|
-
this.unregisterMenusBarByCompact();
|
|
25
|
+
this.menubarStore.unregisterMenusBarByCompact();
|
|
27
26
|
}
|
|
28
27
|
}));
|
|
29
28
|
}
|
|
30
|
-
unregisterMenusBarByCompact() {
|
|
31
|
-
const preMenu = this.menuRegistry.getMenuItems(next_1.MenuId.MenubarCompactMenu);
|
|
32
|
-
preMenu.forEach((c) => {
|
|
33
|
-
this.menuRegistry.unregisterMenuItem(next_1.MenuId.MenubarCompactMenu, c.submenu);
|
|
34
|
-
});
|
|
35
|
-
this.menuRegistry.unregisterMenuItem(next_1.MenuId.ActivityBarTopExtra, next_1.MenuId.MenubarCompactMenu);
|
|
36
|
-
}
|
|
37
|
-
registerMenusBarByCompact(menubarItems = this.menubarStore.menubarItems) {
|
|
38
|
-
this.menuRegistry.registerMenuItem(next_1.MenuId.ActivityBarTopExtra, {
|
|
39
|
-
submenu: next_1.MenuId.MenubarCompactMenu,
|
|
40
|
-
iconClass: (0, ide_core_browser_1.getExternalIcon)('menu'),
|
|
41
|
-
order: 1,
|
|
42
|
-
group: 'navigation',
|
|
43
|
-
});
|
|
44
|
-
this.menuRegistry.registerMenuItems(next_1.MenuId.MenubarCompactMenu, menubarItems.map((item) => ({
|
|
45
|
-
label: item.label,
|
|
46
|
-
submenu: item.id,
|
|
47
|
-
})));
|
|
48
|
-
}
|
|
49
29
|
registerComponent(registry) {
|
|
50
30
|
registry.register('@opensumi/ide-menu-bar', {
|
|
51
31
|
id: 'ide-menu-bar',
|
|
@@ -59,10 +39,6 @@ tslib_1.__decorate([
|
|
|
59
39
|
(0, di_1.Autowired)(menu_bar_store_1.MenubarStore),
|
|
60
40
|
tslib_1.__metadata("design:type", menu_bar_store_1.MenubarStore)
|
|
61
41
|
], MenuBarContribution.prototype, "menubarStore", void 0);
|
|
62
|
-
tslib_1.__decorate([
|
|
63
|
-
(0, di_1.Autowired)(next_1.IMenuRegistry),
|
|
64
|
-
tslib_1.__metadata("design:type", next_1.IMenuRegistry)
|
|
65
|
-
], MenuBarContribution.prototype, "menuRegistry", void 0);
|
|
66
42
|
tslib_1.__decorate([
|
|
67
43
|
(0, di_1.Autowired)(ide_core_browser_1.PreferenceService),
|
|
68
44
|
tslib_1.__metadata("design:type", Object)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu-bar.contribution.js","sourceRoot":"","sources":["../../src/browser/menu-bar.contribution.ts"],"names":[],"mappings":";;;;AAAA,qCAAyC;AACzC,iEAA8G;AAC9G,kEAAiG;
|
|
1
|
+
{"version":3,"file":"menu-bar.contribution.js","sourceRoot":"","sources":["../../src/browser/menu-bar.contribution.ts"],"names":[],"mappings":";;;;AAAA,qCAAyC;AACzC,iEAA8G;AAC9G,kEAAiG;AAEjG,uEAAiE;AAEjE,qDAAgD;AAChD,mDAA0D;AAGnD,IAAM,mBAAmB,GAAzB,MAAM,mBAAoB,SAAQ,6BAAU;IAOjD;QACE,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,UAAU,CACb,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC,YAA4B,EAAE,EAAE;YACpE,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,0DAAuC,CAAC;YAEzF,IAAI,SAAS,EAAE;gBACb,IAAI,CAAC,YAAY,CAAC,yBAAyB,CAAC,YAAY,CAAC,CAAC;aAC3D;QACH,CAAC,CAAC,CACH,CAAC;QAEF,IAAI,CAAC,UAAU,CACb,IAAI,CAAC,iBAAiB,CAAC,0BAA0B,2DAA+B,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;YAC/F,IAAI,QAAQ,EAAE;gBACZ,IAAI,CAAC,YAAY,CAAC,yBAAyB,EAAE,CAAC;aAC/C;iBAAM;gBACL,IAAI,CAAC,YAAY,CAAC,2BAA2B,EAAE,CAAC;aACjD;QACH,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,iBAAiB,CAAC,QAA2B;QAC3C,QAAQ,CAAC,QAAQ,CACf,wBAAwB,EACxB;YACE,EAAE,EAAE,cAAc;YAClB,SAAS,EAAE,uCAAuB;SACnC,EACD;YACE,IAAI,EAAE,EAAE;SACT,CACF,CAAC;IACJ,CAAC;CACF,CAAA;AA1CC;IAAC,IAAA,cAAS,EAAC,6BAAY,CAAC;sCACO,6BAAY;yDAAC;AAE5C;IAAC,IAAA,cAAS,EAAC,oCAAiB,CAAC;;8DACyB;AAL3C,mBAAmB;IAD/B,IAAA,kBAAM,EAAC,8BAAqB,CAAC;;GACjB,mBAAmB,CA2C/B;AA3CY,kDAAmB"}
|
|
@@ -6,6 +6,7 @@ export declare abstract class AbstractMenubarStore extends Disposable {
|
|
|
6
6
|
}
|
|
7
7
|
export declare class MenubarStore extends Disposable implements AbstractMenubarStore {
|
|
8
8
|
private readonly menubarService;
|
|
9
|
+
private readonly menuRegistry;
|
|
9
10
|
menubarItems: import("mobx").IObservableArray<IMenubarItem>;
|
|
10
11
|
menuItems: import("mobx").ObservableMap<string, MenuNode[]>;
|
|
11
12
|
private readonly _onDidMenuBarChange;
|
|
@@ -17,5 +18,7 @@ export declare class MenubarStore extends Disposable implements AbstractMenubarS
|
|
|
17
18
|
private handleMenuChanged;
|
|
18
19
|
private handleMenubarChanged;
|
|
19
20
|
handleMenubarClick: (menuId: string) => void;
|
|
21
|
+
unregisterMenusBarByCompact(): void;
|
|
22
|
+
registerMenusBarByCompact(menubarItems?: IMenubarItem[]): void;
|
|
20
23
|
}
|
|
21
24
|
//# sourceMappingURL=menu-bar.store.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu-bar.store.d.ts","sourceRoot":"","sources":["../../src/browser/menu-bar.store.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAW,KAAK,
|
|
1
|
+
{"version":3,"file":"menu-bar.store.d.ts","sourceRoot":"","sources":["../../src/browser/menu-bar.store.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAW,KAAK,EAAmB,MAAM,4BAA4B,CAAC;AACzF,OAAO,EAGL,YAAY,EAGZ,QAAQ,EACT,MAAM,0CAA0C,CAAC;AAElD,8BAAsB,oBAAqB,SAAQ,UAAU;IAC3D,YAAY,EAAE,YAAY,EAAE,CAAC;IAC7B,QAAQ,CAAC,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;CAClD;AAED,qBACa,YAAa,SAAQ,UAAW,YAAW,oBAAoB;IAE1E,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAyB;IAGxD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAgB;IAGtC,YAAY,gDAAsC;IAGlD,SAAS,mDAAwC;IAExD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAiC;IACrE,IAAW,kBAAkB,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC,CAErD;;IAUD,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,eAAe;IAKvB,OAAO,CAAC,KAAK;IASb,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,oBAAoB;IAOrB,kBAAkB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAMjD;IAEK,2BAA2B;IAS3B,yBAAyB,CAAC,YAAY,GAAE,YAAY,EAAsB;CAmBlF"}
|
|
@@ -50,11 +50,34 @@ let MenubarStore = class MenubarStore extends ide_core_browser_1.Disposable {
|
|
|
50
50
|
this.menubarItems.replace(menubarItems);
|
|
51
51
|
this._onDidMenuBarChange.fire(this.menubarItems);
|
|
52
52
|
}
|
|
53
|
+
unregisterMenusBarByCompact() {
|
|
54
|
+
const preMenu = this.menuRegistry.getMenuItems(next_1.MenuId.MenubarCompactMenu);
|
|
55
|
+
preMenu.forEach((c) => {
|
|
56
|
+
this.menuRegistry.unregisterMenuItem(next_1.MenuId.MenubarCompactMenu, c.submenu);
|
|
57
|
+
});
|
|
58
|
+
this.menuRegistry.unregisterMenuItem(next_1.MenuId.ActivityBarTopExtra, next_1.MenuId.MenubarCompactMenu);
|
|
59
|
+
}
|
|
60
|
+
registerMenusBarByCompact(menubarItems = this.menubarItems) {
|
|
61
|
+
this.menuRegistry.registerMenuItem(next_1.MenuId.ActivityBarTopExtra, {
|
|
62
|
+
submenu: next_1.MenuId.MenubarCompactMenu,
|
|
63
|
+
iconClass: (0, ide_core_browser_1.getExternalIcon)('menu'),
|
|
64
|
+
order: 1,
|
|
65
|
+
group: 'navigation',
|
|
66
|
+
});
|
|
67
|
+
this.menuRegistry.registerMenuItems(next_1.MenuId.MenubarCompactMenu, menubarItems.map((item) => ({
|
|
68
|
+
label: item.label,
|
|
69
|
+
submenu: item.id,
|
|
70
|
+
})));
|
|
71
|
+
}
|
|
53
72
|
};
|
|
54
73
|
tslib_1.__decorate([
|
|
55
74
|
(0, di_1.Autowired)(next_1.AbstractMenubarService),
|
|
56
75
|
tslib_1.__metadata("design:type", next_1.AbstractMenubarService)
|
|
57
76
|
], MenubarStore.prototype, "menubarService", void 0);
|
|
77
|
+
tslib_1.__decorate([
|
|
78
|
+
(0, di_1.Autowired)(next_1.IMenuRegistry),
|
|
79
|
+
tslib_1.__metadata("design:type", next_1.IMenuRegistry)
|
|
80
|
+
], MenubarStore.prototype, "menuRegistry", void 0);
|
|
58
81
|
tslib_1.__decorate([
|
|
59
82
|
mobx_1.observable,
|
|
60
83
|
tslib_1.__metadata("design:type", Object)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu-bar.store.js","sourceRoot":"","sources":["../../src/browser/menu-bar.store.ts"],"names":[],"mappings":";;;;AAAA,uEAAuC;AACvC,+BAA0C;AAE1C,qCAAqD;AACrD,
|
|
1
|
+
{"version":3,"file":"menu-bar.store.js","sourceRoot":"","sources":["../../src/browser/menu-bar.store.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,6 @@ export declare const MenuBarActionWrapper: (props: MenuBarMixToolbarActionProps)
|
|
|
7
7
|
* 可供集成方导入的组件
|
|
8
8
|
* 后续如果有一些改动需要考虑是否有 breakchange
|
|
9
9
|
*/
|
|
10
|
-
export declare const IconMenuBar: () => JSX.Element;
|
|
10
|
+
export declare const IconMenuBar: () => React.JSX.Element;
|
|
11
11
|
export {};
|
|
12
12
|
//# sourceMappingURL=menu-bar.view.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu-bar.view.d.ts","sourceRoot":"","sources":["../../src/browser/menu-bar.view.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAgF1B,eAAO,MAAM,OAAO,
|
|
1
|
+
{"version":3,"file":"menu-bar.view.d.ts","sourceRoot":"","sources":["../../src/browser/menu-bar.view.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAgF1B,eAAO,MAAM,OAAO,iCAuDlB,CAAC;AAIH,KAAK,4BAA4B,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC,CAAC;AAEpF,eAAO,MAAM,uBAAuB,EAAE,KAAK,CAAC,EAAE,CAAC,4BAA4B,CAK1E,CAAC;AAIF,eAAO,MAAM,oBAAoB,uGAA8E,CAAC;AAEhH;;;GAGG;AACH,eAAO,MAAM,WAAW,yBASvB,CAAC"}
|
|
@@ -56,6 +56,7 @@ exports.MenuBar = (0, mobx_react_lite_1.observer)(() => {
|
|
|
56
56
|
var _a;
|
|
57
57
|
const menubarStore = (0, ide_core_browser_1.useInjectable)(menu_bar_store_1.MenubarStore);
|
|
58
58
|
const componentRegistry = (0, ide_core_browser_1.useInjectable)(ide_core_browser_1.ComponentRegistry);
|
|
59
|
+
const appConfig = (0, ide_core_browser_1.useInjectable)(ide_core_browser_1.AppConfig);
|
|
59
60
|
const [focusMode, setFocusMode] = react_1.default.useState(false);
|
|
60
61
|
const relatedTarget = react_1.default.useRef();
|
|
61
62
|
const handleMenubarFocusIn = react_1.default.useCallback((e) => {
|
|
@@ -75,7 +76,8 @@ exports.MenuBar = (0, mobx_react_lite_1.observer)(() => {
|
|
|
75
76
|
setFocusMode(false);
|
|
76
77
|
}, [focusMode]);
|
|
77
78
|
const LogoIcon = (_a = componentRegistry.getComponentRegistryInfo('@opensumi/ide-menu-bar-logo')) === null || _a === void 0 ? void 0 : _a.views[0].component;
|
|
78
|
-
|
|
79
|
+
const MENUBAR_HEIGHT = react_1.default.useMemo(() => { var _a; return ((_a = appConfig.layoutViewSize) === null || _a === void 0 ? void 0 : _a.MENUBAR_HEIGHT) || constants_1.LAYOUT_VIEW_SIZE.MENUBAR_HEIGHT; }, [appConfig]);
|
|
80
|
+
return (react_1.default.createElement(ide_components_1.ClickOutside, { className: menu_bar_module_less_1.default.menubars, style: { height: MENUBAR_HEIGHT }, mouseEvents: ['click', 'contextmenu'], tabIndex: -1, onFocus: handleMenubarFocusIn, onOutsideClick: handleMouseLeave },
|
|
79
81
|
LogoIcon ? react_1.default.createElement(LogoIcon, null) : react_1.default.createElement("div", { className: menu_bar_module_less_1.default.logoIconEmpty }),
|
|
80
82
|
menubarStore.menubarItems.map(({ id, label }) => (react_1.default.createElement(MenubarItem, { key: id, id: id, label: label, focusMode: focusMode, afterMenuClick: handleMenuItemClick, afterMenubarClick: () => setFocusMode((r) => !r) })))));
|
|
81
83
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu-bar.view.js","sourceRoot":"","sources":["../../src/browser/menu-bar.view.tsx"],"names":[],"mappings":";;;;AAAA,oEAA6B;AAC7B,qDAA2C;AAC3C,0DAA0B;AAE1B,6DAAwD;AACxD,oEAAiE;AACjE,8EAA2E;AAC3E,
|
|
1
|
+
{"version":3,"file":"menu-bar.view.js","sourceRoot":"","sources":["../../src/browser/menu-bar.view.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opensumi/ide-menu-bar",
|
|
3
|
-
"version": "2.27.0",
|
|
3
|
+
"version": "2.27.1-next-1697789179.0",
|
|
4
4
|
"description": "@opensumi/ide-menu-bar",
|
|
5
5
|
"files": [
|
|
6
6
|
"lib",
|
|
@@ -18,13 +18,13 @@
|
|
|
18
18
|
"url": "git@github.com:opensumi/core.git"
|
|
19
19
|
},
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"@opensumi/ide-core-common": "2.27.0",
|
|
22
|
-
"@opensumi/ide-theme": "2.27.0"
|
|
21
|
+
"@opensumi/ide-core-common": "2.27.1-next-1697789179.0",
|
|
22
|
+
"@opensumi/ide-theme": "2.27.1-next-1697789179.0"
|
|
23
23
|
},
|
|
24
24
|
"devDependencies": {
|
|
25
|
-
"@opensumi/ide-components": "2.27.0",
|
|
26
|
-
"@opensumi/ide-core-browser": "2.27.0",
|
|
25
|
+
"@opensumi/ide-components": "2.27.1-next-1697789179.0",
|
|
26
|
+
"@opensumi/ide-core-browser": "2.27.1-next-1697789179.0",
|
|
27
27
|
"@opensumi/ide-dev-tool": "1.3.1"
|
|
28
28
|
},
|
|
29
|
-
"gitHead": "
|
|
29
|
+
"gitHead": "f098f6685e6fedf4c74f7ef4910ba9fe87644ba1"
|
|
30
30
|
}
|
|
@@ -12,9 +12,6 @@ export class MenuBarContribution extends Disposable implements ComponentContribu
|
|
|
12
12
|
@Autowired(MenubarStore)
|
|
13
13
|
private readonly menubarStore: MenubarStore;
|
|
14
14
|
|
|
15
|
-
@Autowired(IMenuRegistry)
|
|
16
|
-
private readonly menuRegistry: IMenuRegistry;
|
|
17
|
-
|
|
18
15
|
@Autowired(PreferenceService)
|
|
19
16
|
private readonly preferenceService: PreferenceService;
|
|
20
17
|
|
|
@@ -26,7 +23,7 @@ export class MenuBarContribution extends Disposable implements ComponentContribu
|
|
|
26
23
|
const isCompact = this.preferenceService.getValid<boolean>(MenubarSettingId.CompactMode);
|
|
27
24
|
|
|
28
25
|
if (isCompact) {
|
|
29
|
-
this.registerMenusBarByCompact(menubarItems);
|
|
26
|
+
this.menubarStore.registerMenusBarByCompact(menubarItems);
|
|
30
27
|
}
|
|
31
28
|
}),
|
|
32
29
|
);
|
|
@@ -34,43 +31,14 @@ export class MenuBarContribution extends Disposable implements ComponentContribu
|
|
|
34
31
|
this.addDispose(
|
|
35
32
|
this.preferenceService.onSpecificPreferenceChange(MenubarSettingId.CompactMode, ({ newValue }) => {
|
|
36
33
|
if (newValue) {
|
|
37
|
-
this.registerMenusBarByCompact();
|
|
34
|
+
this.menubarStore.registerMenusBarByCompact();
|
|
38
35
|
} else {
|
|
39
|
-
this.unregisterMenusBarByCompact();
|
|
36
|
+
this.menubarStore.unregisterMenusBarByCompact();
|
|
40
37
|
}
|
|
41
38
|
}),
|
|
42
39
|
);
|
|
43
40
|
}
|
|
44
41
|
|
|
45
|
-
private unregisterMenusBarByCompact() {
|
|
46
|
-
const preMenu = this.menuRegistry.getMenuItems(MenuId.MenubarCompactMenu) as ISubmenuItem[];
|
|
47
|
-
preMenu.forEach((c) => {
|
|
48
|
-
this.menuRegistry.unregisterMenuItem(MenuId.MenubarCompactMenu, c.submenu);
|
|
49
|
-
});
|
|
50
|
-
|
|
51
|
-
this.menuRegistry.unregisterMenuItem(MenuId.ActivityBarTopExtra, MenuId.MenubarCompactMenu);
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
private registerMenusBarByCompact(menubarItems: IMenubarItem[] = this.menubarStore.menubarItems) {
|
|
55
|
-
this.menuRegistry.registerMenuItem(MenuId.ActivityBarTopExtra, {
|
|
56
|
-
submenu: MenuId.MenubarCompactMenu,
|
|
57
|
-
iconClass: getExternalIcon('menu'),
|
|
58
|
-
order: 1,
|
|
59
|
-
group: 'navigation',
|
|
60
|
-
});
|
|
61
|
-
|
|
62
|
-
this.menuRegistry.registerMenuItems(
|
|
63
|
-
MenuId.MenubarCompactMenu,
|
|
64
|
-
menubarItems.map(
|
|
65
|
-
(item: IMenubarItem) =>
|
|
66
|
-
({
|
|
67
|
-
label: item.label,
|
|
68
|
-
submenu: item.id,
|
|
69
|
-
} as ISubmenuItem),
|
|
70
|
-
),
|
|
71
|
-
);
|
|
72
|
-
}
|
|
73
|
-
|
|
74
42
|
registerComponent(registry: ComponentRegistry) {
|
|
75
43
|
registry.register(
|
|
76
44
|
'@opensumi/ide-menu-bar',
|
|
@@ -2,8 +2,15 @@ import debounce from 'lodash/debounce';
|
|
|
2
2
|
import { observable, action } from 'mobx';
|
|
3
3
|
|
|
4
4
|
import { Injectable, Autowired } from '@opensumi/di';
|
|
5
|
-
import { Disposable, Emitter, Event } from '@opensumi/ide-core-browser';
|
|
6
|
-
import {
|
|
5
|
+
import { Disposable, Emitter, Event, getExternalIcon } from '@opensumi/ide-core-browser';
|
|
6
|
+
import {
|
|
7
|
+
AbstractMenubarService,
|
|
8
|
+
IMenuRegistry,
|
|
9
|
+
IMenubarItem,
|
|
10
|
+
ISubmenuItem,
|
|
11
|
+
MenuId,
|
|
12
|
+
MenuNode,
|
|
13
|
+
} from '@opensumi/ide-core-browser/lib/menu/next';
|
|
7
14
|
|
|
8
15
|
export abstract class AbstractMenubarStore extends Disposable {
|
|
9
16
|
menubarItems: IMenubarItem[];
|
|
@@ -15,6 +22,9 @@ export class MenubarStore extends Disposable implements AbstractMenubarStore {
|
|
|
15
22
|
@Autowired(AbstractMenubarService)
|
|
16
23
|
private readonly menubarService: AbstractMenubarService;
|
|
17
24
|
|
|
25
|
+
@Autowired(IMenuRegistry)
|
|
26
|
+
private readonly menuRegistry: IMenuRegistry;
|
|
27
|
+
|
|
18
28
|
@observable
|
|
19
29
|
public menubarItems = observable.array<IMenubarItem>([]);
|
|
20
30
|
|
|
@@ -72,4 +82,33 @@ export class MenubarStore extends Disposable implements AbstractMenubarStore {
|
|
|
72
82
|
500,
|
|
73
83
|
{ leading: true, trailing: true },
|
|
74
84
|
);
|
|
85
|
+
|
|
86
|
+
public unregisterMenusBarByCompact() {
|
|
87
|
+
const preMenu = this.menuRegistry.getMenuItems(MenuId.MenubarCompactMenu) as ISubmenuItem[];
|
|
88
|
+
preMenu.forEach((c) => {
|
|
89
|
+
this.menuRegistry.unregisterMenuItem(MenuId.MenubarCompactMenu, c.submenu);
|
|
90
|
+
});
|
|
91
|
+
|
|
92
|
+
this.menuRegistry.unregisterMenuItem(MenuId.ActivityBarTopExtra, MenuId.MenubarCompactMenu);
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
public registerMenusBarByCompact(menubarItems: IMenubarItem[] = this.menubarItems) {
|
|
96
|
+
this.menuRegistry.registerMenuItem(MenuId.ActivityBarTopExtra, {
|
|
97
|
+
submenu: MenuId.MenubarCompactMenu,
|
|
98
|
+
iconClass: getExternalIcon('menu'),
|
|
99
|
+
order: 1,
|
|
100
|
+
group: 'navigation',
|
|
101
|
+
});
|
|
102
|
+
|
|
103
|
+
this.menuRegistry.registerMenuItems(
|
|
104
|
+
MenuId.MenubarCompactMenu,
|
|
105
|
+
menubarItems.map(
|
|
106
|
+
(item: IMenubarItem) =>
|
|
107
|
+
({
|
|
108
|
+
label: item.label,
|
|
109
|
+
submenu: item.id,
|
|
110
|
+
} as ISubmenuItem),
|
|
111
|
+
),
|
|
112
|
+
);
|
|
113
|
+
}
|
|
75
114
|
}
|
|
@@ -5,7 +5,7 @@ import React from 'react';
|
|
|
5
5
|
import { ClickOutside } from '@opensumi/ide-components';
|
|
6
6
|
import { Dropdown } from '@opensumi/ide-components/lib/dropdown';
|
|
7
7
|
import { Deprecated } from '@opensumi/ide-components/lib/utils/deprecated';
|
|
8
|
-
import { useInjectable, SlotRenderer, ComponentRegistry } from '@opensumi/ide-core-browser';
|
|
8
|
+
import { useInjectable, SlotRenderer, ComponentRegistry, AppConfig } from '@opensumi/ide-core-browser';
|
|
9
9
|
import { InlineActionBar, MenuActionList } from '@opensumi/ide-core-browser/lib/components/actions';
|
|
10
10
|
import { LAYOUT_VIEW_SIZE } from '@opensumi/ide-core-browser/lib/layout/constants';
|
|
11
11
|
import { AbstractMenuService, IMenubarItem, MenuId } from '@opensumi/ide-core-browser/lib/menu/next';
|
|
@@ -83,6 +83,7 @@ const MenubarItem = observer<
|
|
|
83
83
|
export const MenuBar = observer(() => {
|
|
84
84
|
const menubarStore = useInjectable<MenubarStore>(MenubarStore);
|
|
85
85
|
const componentRegistry: ComponentRegistry = useInjectable(ComponentRegistry);
|
|
86
|
+
const appConfig = useInjectable<AppConfig>(AppConfig);
|
|
86
87
|
const [focusMode, setFocusMode] = React.useState(false);
|
|
87
88
|
const relatedTarget = React.useRef<HTMLElement>();
|
|
88
89
|
|
|
@@ -107,10 +108,15 @@ export const MenuBar = observer(() => {
|
|
|
107
108
|
|
|
108
109
|
const LogoIcon = componentRegistry.getComponentRegistryInfo('@opensumi/ide-menu-bar-logo')?.views[0].component;
|
|
109
110
|
|
|
111
|
+
const MENUBAR_HEIGHT = React.useMemo(
|
|
112
|
+
() => appConfig.layoutViewSize?.MENUBAR_HEIGHT || LAYOUT_VIEW_SIZE.MENUBAR_HEIGHT,
|
|
113
|
+
[appConfig],
|
|
114
|
+
);
|
|
115
|
+
|
|
110
116
|
return (
|
|
111
117
|
<ClickOutside
|
|
112
118
|
className={styles.menubars}
|
|
113
|
-
style={{ height:
|
|
119
|
+
style={{ height: MENUBAR_HEIGHT }}
|
|
114
120
|
mouseEvents={['click', 'contextmenu']}
|
|
115
121
|
tabIndex={-1} // make focus event implement
|
|
116
122
|
onFocus={handleMenubarFocusIn}
|