@theia/core 1.28.0-next.7 → 1.28.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 +6 -6
- package/i18n/nls.cs.json +33 -2
- package/i18n/nls.de.json +33 -2
- package/i18n/nls.es.json +33 -2
- package/i18n/nls.fr.json +33 -2
- package/i18n/nls.hu.json +33 -2
- package/i18n/nls.it.json +33 -2
- package/i18n/nls.ja.json +33 -2
- package/i18n/nls.json +35 -4
- package/i18n/nls.pl.json +33 -2
- package/i18n/nls.pt-br.json +33 -2
- package/i18n/nls.pt-pt.json +33 -2
- package/i18n/nls.ru.json +33 -2
- package/i18n/nls.zh-cn.json +33 -2
- package/lib/browser/common-frontend-contribution.d.ts +1 -1
- package/lib/browser/common-frontend-contribution.d.ts.map +1 -1
- package/lib/browser/common-frontend-contribution.js +6 -5
- package/lib/browser/common-frontend-contribution.js.map +1 -1
- package/lib/browser/context-key-service.d.ts +3 -1
- package/lib/browser/context-key-service.d.ts.map +1 -1
- package/lib/browser/context-menu-renderer.d.ts +5 -0
- package/lib/browser/context-menu-renderer.d.ts.map +1 -1
- package/lib/browser/frontend-application-module.d.ts.map +1 -1
- package/lib/browser/frontend-application-module.js +2 -0
- package/lib/browser/frontend-application-module.js.map +1 -1
- package/lib/browser/frontend-application.d.ts +3 -2
- package/lib/browser/frontend-application.d.ts.map +1 -1
- package/lib/browser/frontend-application.js.map +1 -1
- package/lib/browser/keybinding.d.ts.map +1 -1
- package/lib/browser/keybinding.js +9 -7
- package/lib/browser/keybinding.js.map +1 -1
- package/lib/browser/keybinding.spec.js +13 -3
- package/lib/browser/keybinding.spec.js.map +1 -1
- package/lib/browser/menu/browser-context-menu-renderer.d.ts +1 -1
- package/lib/browser/menu/browser-context-menu-renderer.d.ts.map +1 -1
- package/lib/browser/menu/browser-context-menu-renderer.js +2 -2
- package/lib/browser/menu/browser-context-menu-renderer.js.map +1 -1
- package/lib/browser/menu/browser-menu-plugin.d.ts +23 -24
- package/lib/browser/menu/browser-menu-plugin.d.ts.map +1 -1
- package/lib/browser/menu/browser-menu-plugin.js +62 -79
- package/lib/browser/menu/browser-menu-plugin.js.map +1 -1
- package/lib/browser/resource-context-key.d.ts +1 -0
- package/lib/browser/resource-context-key.d.ts.map +1 -1
- package/lib/browser/resource-context-key.js +8 -6
- package/lib/browser/resource-context-key.js.map +1 -1
- package/lib/browser/shell/shell-layout-restorer.d.ts.map +1 -1
- package/lib/browser/shell/shell-layout-restorer.js +2 -1
- package/lib/browser/shell/shell-layout-restorer.js.map +1 -1
- package/lib/browser/shell/side-panel-toolbar.d.ts.map +1 -1
- package/lib/browser/shell/side-panel-toolbar.js +0 -1
- package/lib/browser/shell/side-panel-toolbar.js.map +1 -1
- package/lib/browser/shell/tab-bar-toolbar/index.d.ts +4 -0
- package/lib/browser/shell/tab-bar-toolbar/index.d.ts.map +1 -0
- package/lib/browser/shell/tab-bar-toolbar/index.js +31 -0
- package/lib/browser/shell/tab-bar-toolbar/index.js.map +1 -0
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-menu-adapters.d.ts +16 -0
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-menu-adapters.d.ts.map +1 -0
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-menu-adapters.js +36 -0
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-menu-adapters.js.map +1 -0
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-registry.d.ts +51 -0
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-registry.d.ts.map +1 -0
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-registry.js +173 -0
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-registry.js.map +1 -0
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-types.d.ts +119 -0
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-types.d.ts.map +1 -0
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-types.js +67 -0
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-types.js.map +1 -0
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar.d.ts +53 -0
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar.d.ts.map +1 -0
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar.js +264 -0
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar.js.map +1 -0
- package/lib/browser/shell/{tab-bar-toolbar.spec.d.ts → tab-bar-toolbar/tab-bar-toolbar.spec.d.ts} +0 -0
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar.spec.d.ts.map +1 -0
- package/lib/browser/shell/{tab-bar-toolbar.spec.js → tab-bar-toolbar/tab-bar-toolbar.spec.js} +3 -3
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar.spec.js.map +1 -0
- package/lib/browser/view-container.d.ts.map +1 -1
- package/lib/browser/view-container.js +1 -10
- package/lib/browser/view-container.js.map +1 -1
- package/lib/browser/widget-manager.d.ts.map +1 -1
- package/lib/browser/widget-manager.js +2 -1
- package/lib/browser/widget-manager.js.map +1 -1
- package/lib/browser/widget-manager.spec.js +13 -0
- package/lib/browser/widget-manager.spec.js.map +1 -1
- package/lib/browser/window/default-window-service.d.ts +2 -1
- package/lib/browser/window/default-window-service.d.ts.map +1 -1
- package/lib/browser/window/default-window-service.js +9 -4
- package/lib/browser/window/default-window-service.js.map +1 -1
- package/lib/browser/window/window-service.d.ts +2 -1
- package/lib/browser/window/window-service.d.ts.map +1 -1
- package/lib/browser/window/window-service.js.map +1 -1
- package/lib/common/color.d.ts +3 -0
- package/lib/common/color.d.ts.map +1 -1
- package/lib/common/frontend-application-state.d.ts +14 -0
- package/lib/common/frontend-application-state.d.ts.map +1 -1
- package/lib/common/frontend-application-state.js +16 -0
- package/lib/common/frontend-application-state.js.map +1 -1
- package/lib/common/menu/action-menu-node.d.ts +20 -0
- package/lib/common/menu/action-menu-node.d.ts.map +1 -0
- package/lib/common/menu/action-menu-node.js +57 -0
- package/lib/common/menu/action-menu-node.js.map +1 -0
- package/lib/common/menu/composite-menu-node.d.ts +52 -0
- package/lib/common/menu/composite-menu-node.d.ts.map +1 -0
- package/lib/common/menu/composite-menu-node.js +102 -0
- package/lib/common/menu/composite-menu-node.js.map +1 -0
- package/lib/common/menu/index.d.ts +6 -0
- package/lib/common/menu/index.d.ts.map +1 -0
- package/lib/common/menu/index.js +33 -0
- package/lib/common/menu/index.js.map +1 -0
- package/lib/common/menu/menu-adapter.d.ts +36 -0
- package/lib/common/menu/menu-adapter.d.ts.map +1 -0
- package/lib/common/menu/menu-adapter.js +101 -0
- package/lib/common/menu/menu-adapter.js.map +1 -0
- package/lib/common/{menu.d.ts → menu/menu-model-registry.d.ts} +22 -124
- package/lib/common/menu/menu-model-registry.d.ts.map +1 -0
- package/lib/common/{menu.js → menu/menu-model-registry.js} +71 -147
- package/lib/common/menu/menu-model-registry.js.map +1 -0
- package/lib/common/menu/menu-types.d.ts +120 -0
- package/lib/common/menu/menu-types.d.ts.map +1 -0
- package/lib/common/menu/menu-types.js +84 -0
- package/lib/common/menu/menu-types.js.map +1 -0
- package/lib/common/{menu.spec.d.ts → menu/menu.spec.d.ts} +0 -0
- package/lib/common/menu/menu.spec.d.ts.map +1 -0
- package/lib/common/{menu.spec.js → menu/menu.spec.js} +3 -3
- package/lib/common/menu/menu.spec.js.map +1 -0
- package/lib/common/message-rpc/rpc-message-encoder.d.ts +12 -11
- package/lib/common/message-rpc/rpc-message-encoder.d.ts.map +1 -1
- package/lib/common/message-rpc/rpc-message-encoder.js +21 -12
- package/lib/common/message-rpc/rpc-message-encoder.js.map +1 -1
- package/lib/common/messaging/abstract-connection-provider.d.ts +1 -1
- package/lib/common/messaging/abstract-connection-provider.js +3 -3
- package/lib/common/quick-pick-service.d.ts +1 -0
- package/lib/common/quick-pick-service.d.ts.map +1 -1
- package/lib/common/quick-pick-service.js.map +1 -1
- package/lib/electron-browser/menu/electron-context-menu-renderer.js +2 -2
- package/lib/electron-browser/menu/electron-context-menu-renderer.js.map +1 -1
- package/lib/electron-browser/menu/electron-main-menu-factory.d.ts +14 -5
- package/lib/electron-browser/menu/electron-main-menu-factory.d.ts.map +1 -1
- package/lib/electron-browser/menu/electron-main-menu-factory.js +71 -82
- package/lib/electron-browser/menu/electron-main-menu-factory.js.map +1 -1
- package/lib/electron-browser/menu/electron-menu-contribution.d.ts.map +1 -1
- package/lib/electron-browser/menu/electron-menu-contribution.js +6 -0
- package/lib/electron-browser/menu/electron-menu-contribution.js.map +1 -1
- package/lib/electron-browser/messaging/electron-ws-connection-provider.js +1 -1
- package/lib/electron-browser/window/electron-window-service.js +1 -1
- package/lib/electron-browser/window/electron-window-service.js.map +1 -1
- package/lib/electron-common/messaging/electron-messages.d.ts +3 -14
- package/lib/electron-common/messaging/electron-messages.d.ts.map +1 -1
- package/lib/electron-common/messaging/electron-messages.js +3 -16
- package/lib/electron-common/messaging/electron-messages.js.map +1 -1
- package/lib/electron-main/messaging/electron-messaging-contribution.d.ts +3 -3
- package/lib/electron-main/messaging/electron-messaging-contribution.js +6 -6
- package/package.json +7 -6
- package/src/browser/common-frontend-contribution.ts +6 -5
- package/src/browser/context-key-service.ts +1 -1
- package/src/browser/context-menu-renderer.ts +5 -0
- package/src/browser/frontend-application-module.ts +7 -1
- package/src/browser/frontend-application.ts +3 -2
- package/src/browser/keybinding.spec.ts +13 -3
- package/src/browser/keybinding.ts +8 -9
- package/src/browser/menu/browser-context-menu-renderer.ts +2 -2
- package/src/browser/menu/browser-menu-plugin.ts +74 -86
- package/src/browser/resource-context-key.ts +9 -6
- package/src/browser/shell/shell-layout-restorer.ts +2 -1
- package/src/browser/shell/side-panel-toolbar.ts +0 -1
- package/src/browser/shell/tab-bar-toolbar/index.ts +19 -0
- package/src/browser/shell/tab-bar-toolbar/tab-bar-toolbar-menu-adapters.ts +31 -0
- package/src/browser/shell/tab-bar-toolbar/tab-bar-toolbar-registry.ts +170 -0
- package/src/browser/shell/tab-bar-toolbar/tab-bar-toolbar-types.ts +186 -0
- package/src/browser/shell/{tab-bar-toolbar.spec.ts → tab-bar-toolbar/tab-bar-toolbar.spec.ts} +2 -2
- package/src/browser/shell/tab-bar-toolbar/tab-bar-toolbar.tsx +261 -0
- package/src/browser/style/alert-messages.css +6 -0
- package/src/browser/view-container.ts +1 -10
- package/src/browser/widget-manager.spec.ts +14 -0
- package/src/browser/widget-manager.ts +2 -1
- package/src/browser/window/default-window-service.ts +9 -4
- package/src/browser/window/window-service.ts +2 -1
- package/src/common/color.ts +3 -0
- package/src/common/frontend-application-state.ts +15 -0
- package/src/common/menu/action-menu-node.ts +65 -0
- package/src/common/menu/composite-menu-node.ts +121 -0
- package/src/common/menu/index.ts +21 -0
- package/src/common/menu/menu-adapter.ts +103 -0
- package/src/common/{menu.ts → menu/menu-model-registry.ts} +61 -222
- package/src/common/menu/menu-types.ts +183 -0
- package/src/common/{menu.spec.ts → menu/menu.spec.ts} +3 -2
- package/src/common/message-rpc/rpc-message-encoder.ts +24 -13
- package/src/common/messaging/abstract-connection-provider.ts +4 -4
- package/src/common/quick-pick-service.ts +1 -0
- package/src/electron-browser/menu/electron-context-menu-renderer.ts +2 -2
- package/src/electron-browser/menu/electron-main-menu-factory.ts +82 -96
- package/src/electron-browser/menu/electron-menu-contribution.ts +8 -0
- package/src/electron-browser/messaging/electron-ws-connection-provider.ts +1 -1
- package/src/electron-browser/window/electron-window-service.ts +1 -1
- package/src/electron-common/messaging/electron-messages.ts +4 -15
- package/src/electron-main/messaging/electron-messaging-contribution.ts +8 -8
- package/lib/browser/shell/tab-bar-toolbar.d.ts +0 -186
- package/lib/browser/shell/tab-bar-toolbar.d.ts.map +0 -1
- package/lib/browser/shell/tab-bar-toolbar.js +0 -362
- package/lib/browser/shell/tab-bar-toolbar.js.map +0 -1
- package/lib/browser/shell/tab-bar-toolbar.spec.d.ts.map +0 -1
- package/lib/browser/shell/tab-bar-toolbar.spec.js.map +0 -1
- package/lib/common/menu.d.ts.map +0 -1
- package/lib/common/menu.js.map +0 -1
- package/lib/common/menu.spec.d.ts.map +0 -1
- package/lib/common/menu.spec.js.map +0 -1
- package/src/browser/shell/tab-bar-toolbar.tsx +0 -495
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { Disposable } from '../disposable';
|
|
2
|
+
import { CompoundMenuNode, CompoundMenuNodeMetadata, CompoundMenuNodeRole, MenuNode, SubMenuOptions } from './menu-types';
|
|
3
|
+
/**
|
|
4
|
+
* Node representing a (sub)menu in the menu tree structure.
|
|
5
|
+
*/
|
|
6
|
+
export declare class CompositeMenuNode implements MenuNode, CompoundMenuNode, CompoundMenuNodeMetadata {
|
|
7
|
+
readonly id: string;
|
|
8
|
+
label?: string | undefined;
|
|
9
|
+
readonly parent?: (MenuNode & CompoundMenuNode) | undefined;
|
|
10
|
+
protected readonly _children: MenuNode[];
|
|
11
|
+
iconClass?: string;
|
|
12
|
+
order?: string;
|
|
13
|
+
readonly when?: string;
|
|
14
|
+
readonly _role?: CompoundMenuNodeRole;
|
|
15
|
+
constructor(id: string, label?: string | undefined, options?: SubMenuOptions, parent?: (MenuNode & CompoundMenuNode) | undefined);
|
|
16
|
+
get icon(): string | undefined;
|
|
17
|
+
get children(): ReadonlyArray<MenuNode>;
|
|
18
|
+
get role(): CompoundMenuNodeRole;
|
|
19
|
+
/**
|
|
20
|
+
* Inserts the given node at the position indicated by `sortString`.
|
|
21
|
+
*
|
|
22
|
+
* @returns a disposable which, when called, will remove the given node again.
|
|
23
|
+
*/
|
|
24
|
+
addNode(node: MenuNode): Disposable;
|
|
25
|
+
/**
|
|
26
|
+
* Removes the first node with the given id.
|
|
27
|
+
*
|
|
28
|
+
* @param id node id.
|
|
29
|
+
*/
|
|
30
|
+
removeNode(id: string): void;
|
|
31
|
+
get sortString(): string;
|
|
32
|
+
get isSubmenu(): boolean;
|
|
33
|
+
/** @deprecated @since 1.28 use CompoundMenuNode.isNavigationGroup instead */
|
|
34
|
+
static isNavigationGroup: typeof CompoundMenuNode.isNavigationGroup;
|
|
35
|
+
}
|
|
36
|
+
export declare class CompositeMenuNodeWrapper implements MenuNode, CompoundMenuNodeMetadata {
|
|
37
|
+
protected readonly wrapped: Readonly<CompositeMenuNode>;
|
|
38
|
+
readonly parent: MenuNode & CompoundMenuNode;
|
|
39
|
+
protected readonly options?: SubMenuOptions | undefined;
|
|
40
|
+
constructor(wrapped: Readonly<CompositeMenuNode>, parent: MenuNode & CompoundMenuNode, options?: SubMenuOptions | undefined);
|
|
41
|
+
get id(): string;
|
|
42
|
+
get label(): string | undefined;
|
|
43
|
+
get sortString(): string;
|
|
44
|
+
get isSubmenu(): boolean;
|
|
45
|
+
get role(): CompoundMenuNodeRole;
|
|
46
|
+
get icon(): string | undefined;
|
|
47
|
+
get iconClass(): string | undefined;
|
|
48
|
+
get order(): string | undefined;
|
|
49
|
+
get when(): string | undefined;
|
|
50
|
+
get children(): ReadonlyArray<MenuNode>;
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=composite-menu-node.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"composite-menu-node.d.ts","sourceRoot":"","sources":["../../../src/common/menu/composite-menu-node.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE1H;;GAEG;AACH,qBAAa,iBAAkB,YAAW,QAAQ,EAAE,gBAAgB,EAAE,wBAAwB;aAQtE,EAAE,EAAE,MAAM;IACnB,KAAK,CAAC;IAEb,QAAQ,CAAC,MAAM,CAAC;IAVpB,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,EAAE,CAAM;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,CAAC,EAAE,oBAAoB,CAAC;gBAGlB,EAAE,EAAE,MAAM,EACnB,KAAK,CAAC,oBAAQ,EACrB,OAAO,CAAC,EAAE,cAAc,EACf,MAAM,CAAC,2CAA6B;IAUjD,IAAI,IAAI,IAAI,MAAM,GAAG,SAAS,CAE7B;IAED,IAAI,QAAQ,IAAI,aAAa,CAAC,QAAQ,CAAC,CAEtC;IAED,IAAI,IAAI,IAAI,oBAAoB,CAAmG;IAEnI;;;;OAIG;IACI,OAAO,CAAC,IAAI,EAAE,QAAQ,GAAG,UAAU;IAa1C;;;;OAIG;IACI,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAUnC,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,6EAA6E;IAC7E,MAAM,CAAC,iBAAiB,4CAAsC;CACjE;AAED,qBAAa,wBAAyB,YAAW,QAAQ,EAAE,wBAAwB;IACnE,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,iBAAiB,CAAC;IAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,GAAG,gBAAgB;IAAE,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAA/G,OAAO,EAAE,QAAQ,CAAC,iBAAiB,CAAC,EAAW,MAAM,EAAE,QAAQ,GAAG,gBAAgB,EAAqB,OAAO,CAAC,4BAAgB;IAE9J,IAAI,EAAE,IAAI,MAAM,CAA4B;IAE5C,IAAI,KAAK,IAAI,MAAM,GAAG,SAAS,CAA+B;IAE9D,IAAI,UAAU,IAAI,MAAM,CAAkC;IAE1D,IAAI,SAAS,IAAI,OAAO,CAAgC;IAExD,IAAI,IAAI,IAAI,oBAAoB,CAAoD;IAEpF,IAAI,IAAI,IAAI,MAAM,GAAG,SAAS,CAA2B;IAEzD,IAAI,SAAS,IAAI,MAAM,GAAG,SAAS,CAA8D;IAEjG,IAAI,KAAK,IAAI,MAAM,GAAG,SAAS,CAAsD;IAErF,IAAI,IAAI,IAAI,MAAM,GAAG,SAAS,CAAoD;IAElF,IAAI,QAAQ,IAAI,aAAa,CAAC,QAAQ,CAAC,CAAkC;CAC5E"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 2022 Ericsson and others.
|
|
4
|
+
//
|
|
5
|
+
// This program and the accompanying materials are made available under the
|
|
6
|
+
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
7
|
+
// http://www.eclipse.org/legal/epl-2.0.
|
|
8
|
+
//
|
|
9
|
+
// This Source Code may also be made available under the following Secondary
|
|
10
|
+
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
11
|
+
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
12
|
+
// with the GNU Classpath Exception which is available at
|
|
13
|
+
// https://www.gnu.org/software/classpath/license.html.
|
|
14
|
+
//
|
|
15
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
16
|
+
// *****************************************************************************
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.CompositeMenuNodeWrapper = exports.CompositeMenuNode = void 0;
|
|
19
|
+
const menu_types_1 = require("./menu-types");
|
|
20
|
+
/**
|
|
21
|
+
* Node representing a (sub)menu in the menu tree structure.
|
|
22
|
+
*/
|
|
23
|
+
class CompositeMenuNode {
|
|
24
|
+
constructor(id, label, options, parent) {
|
|
25
|
+
this.id = id;
|
|
26
|
+
this.label = label;
|
|
27
|
+
this.parent = parent;
|
|
28
|
+
this._children = [];
|
|
29
|
+
if (options) {
|
|
30
|
+
this.iconClass = options.iconClass;
|
|
31
|
+
this.order = options.order;
|
|
32
|
+
this.when = options.when;
|
|
33
|
+
this._role = options === null || options === void 0 ? void 0 : options.role;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
get icon() {
|
|
37
|
+
return this.iconClass;
|
|
38
|
+
}
|
|
39
|
+
get children() {
|
|
40
|
+
return this._children;
|
|
41
|
+
}
|
|
42
|
+
get role() { var _a; return (_a = this._role) !== null && _a !== void 0 ? _a : (this.label ? 0 /* Submenu */ : 1 /* Group */); }
|
|
43
|
+
/**
|
|
44
|
+
* Inserts the given node at the position indicated by `sortString`.
|
|
45
|
+
*
|
|
46
|
+
* @returns a disposable which, when called, will remove the given node again.
|
|
47
|
+
*/
|
|
48
|
+
addNode(node) {
|
|
49
|
+
this._children.push(node);
|
|
50
|
+
this._children.sort(menu_types_1.CompoundMenuNode.sortChildren);
|
|
51
|
+
return {
|
|
52
|
+
dispose: () => {
|
|
53
|
+
const idx = this._children.indexOf(node);
|
|
54
|
+
if (idx >= 0) {
|
|
55
|
+
this._children.splice(idx, 1);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Removes the first node with the given id.
|
|
62
|
+
*
|
|
63
|
+
* @param id node id.
|
|
64
|
+
*/
|
|
65
|
+
removeNode(id) {
|
|
66
|
+
const node = this._children.find(n => n.id === id);
|
|
67
|
+
if (node) {
|
|
68
|
+
const idx = this._children.indexOf(node);
|
|
69
|
+
if (idx >= 0) {
|
|
70
|
+
this._children.splice(idx, 1);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
get sortString() {
|
|
75
|
+
return this.order || this.id;
|
|
76
|
+
}
|
|
77
|
+
get isSubmenu() {
|
|
78
|
+
return Boolean(this.label);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
exports.CompositeMenuNode = CompositeMenuNode;
|
|
82
|
+
/** @deprecated @since 1.28 use CompoundMenuNode.isNavigationGroup instead */
|
|
83
|
+
CompositeMenuNode.isNavigationGroup = menu_types_1.CompoundMenuNode.isNavigationGroup;
|
|
84
|
+
class CompositeMenuNodeWrapper {
|
|
85
|
+
constructor(wrapped, parent, options) {
|
|
86
|
+
this.wrapped = wrapped;
|
|
87
|
+
this.parent = parent;
|
|
88
|
+
this.options = options;
|
|
89
|
+
}
|
|
90
|
+
get id() { return this.wrapped.id; }
|
|
91
|
+
get label() { return this.wrapped.label; }
|
|
92
|
+
get sortString() { return this.order || this.id; }
|
|
93
|
+
get isSubmenu() { return Boolean(this.label); }
|
|
94
|
+
get role() { var _a, _b; return (_b = (_a = this.options) === null || _a === void 0 ? void 0 : _a.role) !== null && _b !== void 0 ? _b : this.wrapped.role; }
|
|
95
|
+
get icon() { return this.iconClass; }
|
|
96
|
+
get iconClass() { var _a, _b; return (_b = (_a = this.options) === null || _a === void 0 ? void 0 : _a.iconClass) !== null && _b !== void 0 ? _b : this.wrapped.iconClass; }
|
|
97
|
+
get order() { var _a, _b; return (_b = (_a = this.options) === null || _a === void 0 ? void 0 : _a.order) !== null && _b !== void 0 ? _b : this.wrapped.order; }
|
|
98
|
+
get when() { var _a, _b; return (_b = (_a = this.options) === null || _a === void 0 ? void 0 : _a.when) !== null && _b !== void 0 ? _b : this.wrapped.when; }
|
|
99
|
+
get children() { return this.wrapped.children; }
|
|
100
|
+
}
|
|
101
|
+
exports.CompositeMenuNodeWrapper = CompositeMenuNodeWrapper;
|
|
102
|
+
//# sourceMappingURL=composite-menu-node.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"composite-menu-node.js","sourceRoot":"","sources":["../../../src/common/menu/composite-menu-node.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/common/menu/index.ts"],"names":[],"mappings":"AAgBA,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,cAAc,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 2022 Ericsson and others.
|
|
4
|
+
//
|
|
5
|
+
// This program and the accompanying materials are made available under the
|
|
6
|
+
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
7
|
+
// http://www.eclipse.org/legal/epl-2.0.
|
|
8
|
+
//
|
|
9
|
+
// This Source Code may also be made available under the following Secondary
|
|
10
|
+
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
11
|
+
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
12
|
+
// with the GNU Classpath Exception which is available at
|
|
13
|
+
// https://www.gnu.org/software/classpath/license.html.
|
|
14
|
+
//
|
|
15
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
16
|
+
// *****************************************************************************
|
|
17
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
18
|
+
if (k2 === undefined) k2 = k;
|
|
19
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
20
|
+
}) : (function(o, m, k, k2) {
|
|
21
|
+
if (k2 === undefined) k2 = k;
|
|
22
|
+
o[k2] = m[k];
|
|
23
|
+
}));
|
|
24
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
25
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
26
|
+
};
|
|
27
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
28
|
+
__exportStar(require("./action-menu-node"), exports);
|
|
29
|
+
__exportStar(require("./composite-menu-node"), exports);
|
|
30
|
+
__exportStar(require("./menu-adapter"), exports);
|
|
31
|
+
__exportStar(require("./menu-model-registry"), exports);
|
|
32
|
+
__exportStar(require("./menu-types"), exports);
|
|
33
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/common/menu/index.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,0CAA0C;AAC1C,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,2EAA2E;AAC3E,gFAAgF;;;;;;;;;;;;AAEhF,qDAAmC;AACnC,wDAAsC;AACtC,iDAA+B;AAC/B,wDAAsC;AACtC,+CAA6B"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { CommandRegistry } from '../command';
|
|
2
|
+
import { Disposable } from '../disposable';
|
|
3
|
+
import { MenuPath } from './menu-types';
|
|
4
|
+
export declare type MenuCommandArguments = [menuPath: MenuPath, command: string, ...commandArgs: unknown[]];
|
|
5
|
+
export declare const MenuCommandExecutor: unique symbol;
|
|
6
|
+
export interface MenuCommandExecutor {
|
|
7
|
+
isVisible(...args: MenuCommandArguments): boolean;
|
|
8
|
+
isEnabled(...args: MenuCommandArguments): boolean;
|
|
9
|
+
isToggled(...args: MenuCommandArguments): boolean;
|
|
10
|
+
executeCommand(...args: MenuCommandArguments): Promise<unknown>;
|
|
11
|
+
}
|
|
12
|
+
export declare const MenuCommandAdapter: unique symbol;
|
|
13
|
+
export interface MenuCommandAdapter extends MenuCommandExecutor {
|
|
14
|
+
/** Return values less than or equal to 0 are treated as rejections. */
|
|
15
|
+
canHandle(...args: MenuCommandArguments): number;
|
|
16
|
+
}
|
|
17
|
+
export declare const MenuCommandAdapterRegistry: unique symbol;
|
|
18
|
+
export interface MenuCommandAdapterRegistry {
|
|
19
|
+
registerAdapter(adapter: MenuCommandAdapter): Disposable;
|
|
20
|
+
getAdapterFor(...args: MenuCommandArguments): MenuCommandAdapter | undefined;
|
|
21
|
+
}
|
|
22
|
+
export declare class MenuCommandExecutorImpl implements MenuCommandExecutor {
|
|
23
|
+
protected readonly adapterRegistry: MenuCommandAdapterRegistry;
|
|
24
|
+
protected readonly commandRegistry: CommandRegistry;
|
|
25
|
+
executeCommand(menuPath: MenuPath, command: string, ...commandArgs: unknown[]): Promise<unknown>;
|
|
26
|
+
isVisible(menuPath: MenuPath, command: string, ...commandArgs: unknown[]): boolean;
|
|
27
|
+
isEnabled(menuPath: MenuPath, command: string, ...commandArgs: unknown[]): boolean;
|
|
28
|
+
isToggled(menuPath: MenuPath, command: string, ...commandArgs: unknown[]): boolean;
|
|
29
|
+
protected delegate<T extends keyof MenuCommandExecutor>(menuPath: MenuPath, command: string, commandArgs: unknown[], method: T): ReturnType<MenuCommandExecutor[T]>;
|
|
30
|
+
}
|
|
31
|
+
export declare class MenuCommandAdapterRegistryImpl implements MenuCommandAdapterRegistry {
|
|
32
|
+
protected readonly adapters: MenuCommandAdapter[];
|
|
33
|
+
registerAdapter(adapter: MenuCommandAdapter): Disposable;
|
|
34
|
+
getAdapterFor(menuPath: MenuPath, command: string, ...commandArgs: unknown[]): MenuCommandAdapter | undefined;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=menu-adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"menu-adapter.d.ts","sourceRoot":"","sources":["../../../src/common/menu/menu-adapter.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,oBAAY,oBAAoB,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC;AAEpG,eAAO,MAAM,mBAAmB,eAAgC,CAAC;AACjE,MAAM,WAAW,mBAAmB;IAChC,SAAS,CAAC,GAAG,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC;IAClD,SAAS,CAAC,GAAG,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC;IAClD,SAAS,CAAC,GAAG,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC;IAClD,cAAc,CAAC,GAAG,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACnE;AAED,eAAO,MAAM,kBAAkB,eAA+B,CAAC;AAC/D,MAAM,WAAW,kBAAmB,SAAQ,mBAAmB;IAC3D,uEAAuE;IACvE,SAAS,CAAC,GAAG,IAAI,EAAE,oBAAoB,GAAG,MAAM,CAAC;CACpD;AAED,eAAO,MAAM,0BAA0B,eAAuC,CAAC;AAC/E,MAAM,WAAW,0BAA0B;IACvC,eAAe,CAAC,OAAO,EAAE,kBAAkB,GAAG,UAAU,CAAC;IACzD,aAAa,CAAC,GAAG,IAAI,EAAE,oBAAoB,GAAG,kBAAkB,GAAG,SAAS,CAAC;CAChF;AAED,qBACa,uBAAwB,YAAW,mBAAmB;IAC3B,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,0BAA0B,CAAC;IAC1E,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAE7E,cAAc,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAIhG,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,OAAO,EAAE,GAAG,OAAO;IAIlF,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,OAAO,EAAE,GAAG,OAAO;IAIlF,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,OAAO,EAAE,GAAG,OAAO;IAIlF,SAAS,CAAC,QAAQ,CAAC,CAAC,SAAS,MAAM,mBAAmB,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,CAAC,GAAG,UAAU,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;CAMtK;AAED,qBACa,8BAA+B,YAAW,0BAA0B;IAC7E,SAAS,CAAC,QAAQ,CAAC,QAAQ,uBAAmC;IAE9D,eAAe,CAAC,OAAO,EAAE,kBAAkB,GAAG,UAAU;IAaxD,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,OAAO,EAAE,GAAG,kBAAkB,GAAG,SAAS;CAahH"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 2022 Ericsson and others.
|
|
4
|
+
//
|
|
5
|
+
// This program and the accompanying materials are made available under the
|
|
6
|
+
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
7
|
+
// http://www.eclipse.org/legal/epl-2.0.
|
|
8
|
+
//
|
|
9
|
+
// This Source Code may also be made available under the following Secondary
|
|
10
|
+
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
11
|
+
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
12
|
+
// with the GNU Classpath Exception which is available at
|
|
13
|
+
// https://www.gnu.org/software/classpath/license.html.
|
|
14
|
+
//
|
|
15
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
16
|
+
// *****************************************************************************
|
|
17
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
18
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
19
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
20
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
21
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
22
|
+
};
|
|
23
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
24
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
25
|
+
};
|
|
26
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
27
|
+
exports.MenuCommandAdapterRegistryImpl = exports.MenuCommandExecutorImpl = exports.MenuCommandAdapterRegistry = exports.MenuCommandAdapter = exports.MenuCommandExecutor = void 0;
|
|
28
|
+
const inversify_1 = require("inversify");
|
|
29
|
+
const command_1 = require("../command");
|
|
30
|
+
const disposable_1 = require("../disposable");
|
|
31
|
+
exports.MenuCommandExecutor = Symbol('MenuCommandExecutor');
|
|
32
|
+
;
|
|
33
|
+
exports.MenuCommandAdapter = Symbol('MenuCommandAdapter');
|
|
34
|
+
exports.MenuCommandAdapterRegistry = Symbol('MenuCommandAdapterRegistry');
|
|
35
|
+
let MenuCommandExecutorImpl = class MenuCommandExecutorImpl {
|
|
36
|
+
executeCommand(menuPath, command, ...commandArgs) {
|
|
37
|
+
return this.delegate(menuPath, command, commandArgs, 'executeCommand');
|
|
38
|
+
}
|
|
39
|
+
isVisible(menuPath, command, ...commandArgs) {
|
|
40
|
+
return this.delegate(menuPath, command, commandArgs, 'isVisible');
|
|
41
|
+
}
|
|
42
|
+
isEnabled(menuPath, command, ...commandArgs) {
|
|
43
|
+
return this.delegate(menuPath, command, commandArgs, 'isEnabled');
|
|
44
|
+
}
|
|
45
|
+
isToggled(menuPath, command, ...commandArgs) {
|
|
46
|
+
return this.delegate(menuPath, command, commandArgs, 'isToggled');
|
|
47
|
+
}
|
|
48
|
+
delegate(menuPath, command, commandArgs, method) {
|
|
49
|
+
const adapter = this.adapterRegistry.getAdapterFor(menuPath, command, commandArgs);
|
|
50
|
+
return (adapter
|
|
51
|
+
? adapter[method](menuPath, command, ...commandArgs)
|
|
52
|
+
: this.commandRegistry[method](command, ...commandArgs));
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
__decorate([
|
|
56
|
+
(0, inversify_1.inject)(exports.MenuCommandAdapterRegistry),
|
|
57
|
+
__metadata("design:type", Object)
|
|
58
|
+
], MenuCommandExecutorImpl.prototype, "adapterRegistry", void 0);
|
|
59
|
+
__decorate([
|
|
60
|
+
(0, inversify_1.inject)(command_1.CommandRegistry),
|
|
61
|
+
__metadata("design:type", command_1.CommandRegistry)
|
|
62
|
+
], MenuCommandExecutorImpl.prototype, "commandRegistry", void 0);
|
|
63
|
+
MenuCommandExecutorImpl = __decorate([
|
|
64
|
+
(0, inversify_1.injectable)()
|
|
65
|
+
], MenuCommandExecutorImpl);
|
|
66
|
+
exports.MenuCommandExecutorImpl = MenuCommandExecutorImpl;
|
|
67
|
+
let MenuCommandAdapterRegistryImpl = class MenuCommandAdapterRegistryImpl {
|
|
68
|
+
constructor() {
|
|
69
|
+
this.adapters = new Array();
|
|
70
|
+
}
|
|
71
|
+
registerAdapter(adapter) {
|
|
72
|
+
if (!this.adapters.includes(adapter)) {
|
|
73
|
+
this.adapters.push(adapter);
|
|
74
|
+
return disposable_1.Disposable.create(() => {
|
|
75
|
+
const index = this.adapters.indexOf(adapter);
|
|
76
|
+
if (index !== -1) {
|
|
77
|
+
this.adapters.splice(index, 1);
|
|
78
|
+
}
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
return disposable_1.Disposable.NULL;
|
|
82
|
+
}
|
|
83
|
+
getAdapterFor(menuPath, command, ...commandArgs) {
|
|
84
|
+
let bestAdapter = undefined;
|
|
85
|
+
let bestScore = 0;
|
|
86
|
+
let currentScore = 0;
|
|
87
|
+
for (const adapter of this.adapters) {
|
|
88
|
+
// Greater than or equal: favor later registrations over earlier.
|
|
89
|
+
if ((currentScore = adapter.canHandle(menuPath, command, ...commandArgs)) >= bestScore) {
|
|
90
|
+
bestScore = currentScore;
|
|
91
|
+
bestAdapter = adapter;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
return bestAdapter;
|
|
95
|
+
}
|
|
96
|
+
};
|
|
97
|
+
MenuCommandAdapterRegistryImpl = __decorate([
|
|
98
|
+
(0, inversify_1.injectable)()
|
|
99
|
+
], MenuCommandAdapterRegistryImpl);
|
|
100
|
+
exports.MenuCommandAdapterRegistryImpl = MenuCommandAdapterRegistryImpl;
|
|
101
|
+
//# sourceMappingURL=menu-adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"menu-adapter.js","sourceRoot":"","sources":["../../../src/common/menu/menu-adapter.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,0CAA0C;AAC1C,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,2EAA2E;AAC3E,gFAAgF;;;;;;;;;;;;AAEhF,yCAA+C;AAC/C,wCAA6C;AAC7C,8CAA2C;AAK9B,QAAA,mBAAmB,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC;AAMhE,CAAC;AAEW,QAAA,kBAAkB,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC;AAMlD,QAAA,0BAA0B,GAAG,MAAM,CAAC,4BAA4B,CAAC,CAAC;AAO/E,IAAa,uBAAuB,GAApC,MAAa,uBAAuB;IAIhC,cAAc,CAAC,QAAkB,EAAE,OAAe,EAAE,GAAG,WAAsB;QACzE,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,gBAAgB,CAAC,CAAC;IAC3E,CAAC;IAED,SAAS,CAAC,QAAkB,EAAE,OAAe,EAAE,GAAG,WAAsB;QACpE,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;IACtE,CAAC;IAED,SAAS,CAAC,QAAkB,EAAE,OAAe,EAAE,GAAG,WAAsB;QACpE,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;IACtE,CAAC;IAED,SAAS,CAAC,QAAkB,EAAE,OAAe,EAAE,GAAG,WAAsB;QACpE,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;IACtE,CAAC;IAES,QAAQ,CAAsC,QAAkB,EAAE,OAAe,EAAE,WAAsB,EAAE,MAAS;QAC1H,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;QACnF,OAAO,CAAC,OAAO;YACX,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC;YACpD,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,GAAG,WAAW,CAAC,CAAuC,CAAC;IACvG,CAAC;CACJ,CAAA;AAzBuC;IAAnC,IAAA,kBAAM,EAAC,kCAA0B,CAAC;;gEAAgE;AAC1E;IAAxB,IAAA,kBAAM,EAAC,yBAAe,CAAC;8BAAqC,yBAAe;gEAAC;AAFpE,uBAAuB;IADnC,IAAA,sBAAU,GAAE;GACA,uBAAuB,CA0BnC;AA1BY,0DAAuB;AA6BpC,IAAa,8BAA8B,GAA3C,MAAa,8BAA8B;IAA3C;QACuB,aAAQ,GAAG,IAAI,KAAK,EAAsB,CAAC;IA4BlE,CAAC;IA1BG,eAAe,CAAC,OAA2B;QACvC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;YAClC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC5B,OAAO,uBAAU,CAAC,MAAM,CAAC,GAAG,EAAE;gBAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBAC7C,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;oBACd,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;iBAClC;YACL,CAAC,CAAC,CAAC;SACN;QACD,OAAO,uBAAU,CAAC,IAAI,CAAC;IAC3B,CAAC;IAED,aAAa,CAAC,QAAkB,EAAE,OAAe,EAAE,GAAG,WAAsB;QACxE,IAAI,WAAW,GAAmC,SAAS,CAAC;QAC5D,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjC,iEAAiE;YACjE,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC,CAAC,IAAI,SAAS,EAAE;gBACpF,SAAS,GAAG,YAAY,CAAC;gBACzB,WAAW,GAAG,OAAO,CAAC;aACzB;SACJ;QACD,OAAO,WAAW,CAAC;IACvB,CAAC;CACJ,CAAA;AA7BY,8BAA8B;IAD1C,IAAA,sBAAU,GAAE;GACA,8BAA8B,CA6B1C;AA7BY,wEAA8B"}
|
|
@@ -1,61 +1,8 @@
|
|
|
1
|
-
import { Disposable } from '
|
|
2
|
-
import { CommandRegistry, Command } from '
|
|
3
|
-
import { ContributionProvider } from '
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
*/
|
|
7
|
-
export interface MenuAction {
|
|
8
|
-
/**
|
|
9
|
-
* The command to execute.
|
|
10
|
-
*/
|
|
11
|
-
commandId: string;
|
|
12
|
-
/**
|
|
13
|
-
* In addition to the mandatory command property, an alternative command can be defined.
|
|
14
|
-
* It will be shown and invoked when pressing Alt while opening a menu.
|
|
15
|
-
*/
|
|
16
|
-
alt?: string;
|
|
17
|
-
/**
|
|
18
|
-
* A specific label for this action. If not specified the command label or command id will be used.
|
|
19
|
-
*/
|
|
20
|
-
label?: string;
|
|
21
|
-
/**
|
|
22
|
-
* Icon class(es). If not specified the icon class associated with the specified command
|
|
23
|
-
* (i.e. `command.iconClass`) will be used if it exists.
|
|
24
|
-
*/
|
|
25
|
-
icon?: string;
|
|
26
|
-
/**
|
|
27
|
-
* Menu entries are sorted in ascending order based on their `order` strings. If omitted the determined
|
|
28
|
-
* label will be used instead.
|
|
29
|
-
*/
|
|
30
|
-
order?: string;
|
|
31
|
-
/**
|
|
32
|
-
* Optional expression which will be evaluated by the {@link ContextKeyService} to determine visibility
|
|
33
|
-
* of the action, e.g. `resourceLangId == markdown`.
|
|
34
|
-
*/
|
|
35
|
-
when?: string;
|
|
36
|
-
}
|
|
37
|
-
export declare namespace MenuAction {
|
|
38
|
-
function is(arg: MenuAction | any): arg is MenuAction;
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* Additional options when creating a new submenu.
|
|
42
|
-
*/
|
|
43
|
-
export interface SubMenuOptions {
|
|
44
|
-
/**
|
|
45
|
-
* The class to use for the submenu icon.
|
|
46
|
-
*/
|
|
47
|
-
iconClass?: string;
|
|
48
|
-
/**
|
|
49
|
-
* Menu entries are sorted in ascending order based on their `order` strings. If omitted the determined
|
|
50
|
-
* label will be used instead.
|
|
51
|
-
*/
|
|
52
|
-
order?: string;
|
|
53
|
-
}
|
|
54
|
-
export declare type MenuPath = string[];
|
|
55
|
-
export declare const MAIN_MENU_BAR: MenuPath;
|
|
56
|
-
export declare const SETTINGS_MENU: MenuPath;
|
|
57
|
-
export declare const ACCOUNTS_MENU: MenuPath;
|
|
58
|
-
export declare const ACCOUNTS_SUBMENU: string[];
|
|
1
|
+
import { Disposable } from '../disposable';
|
|
2
|
+
import { CommandRegistry, Command } from '../command';
|
|
3
|
+
import { ContributionProvider } from '../contribution-provider';
|
|
4
|
+
import { CompositeMenuNode } from './composite-menu-node';
|
|
5
|
+
import { MenuAction, MenuNode, MenuPath, SubMenuOptions } from './menu-types';
|
|
59
6
|
export declare const MenuContribution: unique symbol;
|
|
60
7
|
/**
|
|
61
8
|
* Representation of a menu contribution.
|
|
@@ -99,6 +46,7 @@ export declare class MenuModelRegistry {
|
|
|
99
46
|
protected readonly contributions: ContributionProvider<MenuContribution>;
|
|
100
47
|
protected readonly commands: CommandRegistry;
|
|
101
48
|
protected readonly root: CompositeMenuNode;
|
|
49
|
+
protected readonly independentSubmenus: Map<string, CompositeMenuNode>;
|
|
102
50
|
constructor(contributions: ContributionProvider<MenuContribution>, commands: CommandRegistry);
|
|
103
51
|
onStart(): void;
|
|
104
52
|
/**
|
|
@@ -112,7 +60,8 @@ export declare class MenuModelRegistry {
|
|
|
112
60
|
*
|
|
113
61
|
* @returns a disposable which, when called, will remove the menu node again.
|
|
114
62
|
*/
|
|
115
|
-
registerMenuNode(menuPath: MenuPath, menuNode: MenuNode): Disposable;
|
|
63
|
+
registerMenuNode(menuPath: MenuPath | string, menuNode: MenuNode, group?: string): Disposable;
|
|
64
|
+
getMenuNode(menuPath: MenuPath | string, group?: string): CompositeMenuNode;
|
|
116
65
|
/**
|
|
117
66
|
* Register a new menu at the given path with the given label.
|
|
118
67
|
* (If the menu already exists without a label, iconClass or order this method can be used to set them.)
|
|
@@ -129,6 +78,8 @@ export declare class MenuModelRegistry {
|
|
|
129
78
|
* will be thrown.
|
|
130
79
|
*/
|
|
131
80
|
registerSubmenu(menuPath: MenuPath, label: string, options?: SubMenuOptions): Disposable;
|
|
81
|
+
registerIndependentSubmenu(id: string, label: string, options?: SubMenuOptions): Disposable;
|
|
82
|
+
linkSubmenu(parentPath: MenuPath | string, childId: string | MenuPath, options?: SubMenuOptions, group?: string): Disposable;
|
|
132
83
|
/**
|
|
133
84
|
* Unregister all menu nodes with the same id as the given menu action.
|
|
134
85
|
*
|
|
@@ -156,7 +107,15 @@ export declare class MenuModelRegistry {
|
|
|
156
107
|
* @param id technical identifier of the `MenuNode`.
|
|
157
108
|
*/
|
|
158
109
|
unregisterMenuNode(id: string): void;
|
|
110
|
+
/**
|
|
111
|
+
* Finds a submenu as a descendant of the `root` node.
|
|
112
|
+
* See {@link MenuModelRegistry.findSubMenu findSubMenu}.
|
|
113
|
+
*/
|
|
159
114
|
protected findGroup(menuPath: MenuPath, options?: SubMenuOptions): CompositeMenuNode;
|
|
115
|
+
/**
|
|
116
|
+
* Finds or creates a submenu as an immediate child of `current`.
|
|
117
|
+
* @throws if a node with the given `menuId` exists but is not a {@link CompositeMenuNode}.
|
|
118
|
+
*/
|
|
160
119
|
protected findSubMenu(current: CompositeMenuNode, menuId: string, options?: SubMenuOptions): CompositeMenuNode;
|
|
161
120
|
/**
|
|
162
121
|
* Returns the menu at the given path.
|
|
@@ -167,71 +126,10 @@ export declare class MenuModelRegistry {
|
|
|
167
126
|
* returned if it exists, otherwise an error is thrown.
|
|
168
127
|
*/
|
|
169
128
|
getMenu(menuPath?: MenuPath): CompositeMenuNode;
|
|
170
|
-
}
|
|
171
|
-
/**
|
|
172
|
-
* Base interface of the nodes used in the menu tree structure.
|
|
173
|
-
*/
|
|
174
|
-
export interface MenuNode {
|
|
175
|
-
/**
|
|
176
|
-
* the optional label for this specific node.
|
|
177
|
-
*/
|
|
178
|
-
readonly label?: string;
|
|
179
129
|
/**
|
|
180
|
-
*
|
|
130
|
+
* Returns the {@link MenuPath path} at which a given menu node can be accessed from this registry, if it can be determined.
|
|
131
|
+
* Returns `undefined` if the `parent` of any node in the chain is unknown.
|
|
181
132
|
*/
|
|
182
|
-
|
|
183
|
-
/**
|
|
184
|
-
* Menu nodes are sorted in ascending order based on their `sortString`.
|
|
185
|
-
*/
|
|
186
|
-
readonly sortString: string;
|
|
187
|
-
}
|
|
188
|
-
/**
|
|
189
|
-
* Node representing a (sub)menu in the menu tree structure.
|
|
190
|
-
*/
|
|
191
|
-
export declare class CompositeMenuNode implements MenuNode {
|
|
192
|
-
readonly id: string;
|
|
193
|
-
label?: string | undefined;
|
|
194
|
-
protected readonly _children: MenuNode[];
|
|
195
|
-
iconClass?: string;
|
|
196
|
-
order?: string;
|
|
197
|
-
constructor(id: string, label?: string | undefined, options?: SubMenuOptions);
|
|
198
|
-
get children(): ReadonlyArray<MenuNode>;
|
|
199
|
-
/**
|
|
200
|
-
* Inserts the given node at the position indicated by `sortString`.
|
|
201
|
-
*
|
|
202
|
-
* @returns a disposable which, when called, will remove the given node again.
|
|
203
|
-
*/
|
|
204
|
-
addNode(node: MenuNode): Disposable;
|
|
205
|
-
/**
|
|
206
|
-
* Removes the first node with the given id.
|
|
207
|
-
*
|
|
208
|
-
* @param id node id.
|
|
209
|
-
*/
|
|
210
|
-
removeNode(id: string): void;
|
|
211
|
-
get sortString(): string;
|
|
212
|
-
get isSubmenu(): boolean;
|
|
213
|
-
/**
|
|
214
|
-
* Indicates whether the given node is the special `navigation` menu.
|
|
215
|
-
*
|
|
216
|
-
* @param node the menu node to check.
|
|
217
|
-
* @returns `true` when the given node is a {@link CompositeMenuNode} with id `navigation`,
|
|
218
|
-
* `false` otherwise.
|
|
219
|
-
*/
|
|
220
|
-
static isNavigationGroup(node: MenuNode): node is CompositeMenuNode;
|
|
221
|
-
}
|
|
222
|
-
/**
|
|
223
|
-
* Node representing an action in the menu tree structure.
|
|
224
|
-
* It's based on {@link MenuAction} for which it tries to determine the
|
|
225
|
-
* best label, icon and sortString with the given data.
|
|
226
|
-
*/
|
|
227
|
-
export declare class ActionMenuNode implements MenuNode {
|
|
228
|
-
readonly action: MenuAction;
|
|
229
|
-
protected readonly commands: CommandRegistry;
|
|
230
|
-
readonly altNode: ActionMenuNode | undefined;
|
|
231
|
-
constructor(action: MenuAction, commands: CommandRegistry);
|
|
232
|
-
get id(): string;
|
|
233
|
-
get label(): string;
|
|
234
|
-
get icon(): string | undefined;
|
|
235
|
-
get sortString(): string;
|
|
133
|
+
getPath(node: MenuNode): MenuPath | undefined;
|
|
236
134
|
}
|
|
237
|
-
//# sourceMappingURL=menu.d.ts.map
|
|
135
|
+
//# sourceMappingURL=menu-model-registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"menu-model-registry.d.ts","sourceRoot":"","sources":["../../../src/common/menu/menu-model-registry.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAA4B,MAAM,uBAAuB,CAAC;AACpF,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAG9E,eAAO,MAAM,gBAAgB,eAA6B,CAAC;AAE3D;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,WAAW,gBAAgB;IAC7B;;;OAGG;IACH,aAAa,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI,CAAC;CACjD;AAED;;;;GAIG;AACH,qBACa,iBAAiB;IAMtB,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,oBAAoB,CAAC,gBAAgB,CAAC;IAC/C,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,eAAe;IANzE,SAAS,CAAC,QAAQ,CAAC,IAAI,oBAA6B;IACpD,SAAS,CAAC,QAAQ,CAAC,mBAAmB,iCAAwC;gBAIvD,aAAa,EAAE,oBAAoB,CAAC,gBAAgB,CAAC,EAC5B,QAAQ,EAAE,eAAe;IAGzE,OAAO,IAAI,IAAI;IAMf;;;;OAIG;IACH,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,GAAG,UAAU;IAKpE;;;;OAIG;IACH,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,UAAU;IAK7F,WAAW,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,iBAAiB;IAa3E;;;;;;;;;;;;;;OAcG;IACH,eAAe,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU;IA8BxF,0BAA0B,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU;IAQ3F,WAAW,CAAC,UAAU,EAAE,QAAQ,GAAG,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,QAAQ,EAAE,OAAO,CAAC,EAAE,cAAc,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,UAAU;IAO5H;;;;;OAKG;IACH,oBAAoB,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,IAAI;IACjE;;;;;OAKG;IACH,oBAAoB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,IAAI;IACjE;;;;;OAKG;IACH,oBAAoB,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,IAAI;IAe3D;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAYpC;;;OAGG;IACH,SAAS,CAAC,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,iBAAiB;IAQpF;;;OAGG;IACH,SAAS,CAAC,WAAW,CAAC,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,iBAAiB;IAa9G;;;;;;;OAOG;IACH,OAAO,CAAC,QAAQ,GAAE,QAAa,GAAG,iBAAiB;IAInD;;;OAGG;IACH,OAAO,CAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS;CAehD"}
|