@theia/core 1.61.0 → 1.62.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 +7 -7
- package/i18n/nls.cs.json +158 -13
- package/i18n/nls.de.json +158 -13
- package/i18n/nls.es.json +158 -13
- package/i18n/nls.fr.json +158 -13
- package/i18n/nls.hu.json +158 -13
- package/i18n/nls.it.json +158 -13
- package/i18n/nls.ja.json +158 -13
- package/i18n/nls.json +159 -14
- package/i18n/nls.ko.json +158 -13
- package/i18n/nls.pl.json +158 -13
- package/i18n/nls.pt-br.json +158 -13
- package/i18n/nls.ru.json +158 -13
- package/i18n/nls.tr.json +158 -13
- package/i18n/nls.zh-cn.json +158 -13
- package/i18n/nls.zh-tw.json +158 -13
- package/lib/browser/catalog.json +197 -33
- 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 +13 -11
- package/lib/browser/common-frontend-contribution.js.map +1 -1
- package/lib/browser/context-menu-renderer.d.ts +14 -3
- package/lib/browser/context-menu-renderer.d.ts.map +1 -1
- package/lib/browser/context-menu-renderer.js +23 -1
- package/lib/browser/context-menu-renderer.js.map +1 -1
- package/lib/browser/frontend-application-module.d.ts.map +1 -1
- package/lib/browser/frontend-application-module.js +1 -3
- package/lib/browser/frontend-application-module.js.map +1 -1
- package/lib/browser/hover-service.d.ts.map +1 -1
- package/lib/browser/hover-service.js +7 -0
- package/lib/browser/hover-service.js.map +1 -1
- package/lib/browser/menu/action-menu-node.d.ts +36 -0
- package/lib/browser/menu/action-menu-node.d.ts.map +1 -0
- package/lib/browser/menu/action-menu-node.js +113 -0
- package/lib/browser/menu/action-menu-node.js.map +1 -0
- package/lib/browser/menu/browser-context-menu-renderer.d.ts +12 -4
- package/lib/browser/menu/browser-context-menu-renderer.d.ts.map +1 -1
- package/lib/browser/menu/browser-context-menu-renderer.js +12 -13
- package/lib/browser/menu/browser-context-menu-renderer.js.map +1 -1
- package/lib/browser/menu/browser-menu-module.d.ts.map +1 -1
- package/lib/browser/menu/browser-menu-module.js +4 -0
- package/lib/browser/menu/browser-menu-module.js.map +1 -1
- package/lib/browser/menu/browser-menu-node-factory.d.ts +13 -0
- package/lib/browser/menu/browser-menu-node-factory.d.ts.map +1 -0
- package/lib/browser/menu/browser-menu-node-factory.js +54 -0
- package/lib/browser/menu/browser-menu-node-factory.js.map +1 -0
- package/lib/browser/menu/browser-menu-plugin.d.ts +12 -30
- package/lib/browser/menu/browser-menu-plugin.d.ts.map +1 -1
- package/lib/browser/menu/browser-menu-plugin.js +78 -159
- package/lib/browser/menu/browser-menu-plugin.js.map +1 -1
- package/lib/browser/menu/composite-menu-node.d.ts +49 -0
- package/lib/browser/menu/composite-menu-node.d.ts.map +1 -0
- package/lib/browser/menu/composite-menu-node.js +127 -0
- package/lib/browser/menu/composite-menu-node.js.map +1 -0
- package/lib/browser/menu/menu.spec.d.ts.map +1 -0
- package/lib/{common → browser}/menu/menu.spec.js +38 -13
- package/lib/browser/menu/menu.spec.js.map +1 -0
- package/lib/browser/open-with-service.d.ts +1 -1
- package/lib/browser/saveable-service.d.ts.map +1 -1
- package/lib/browser/saveable-service.js +6 -1
- package/lib/browser/saveable-service.js.map +1 -1
- package/lib/browser/shell/application-shell.d.ts +7 -5
- package/lib/browser/shell/application-shell.d.ts.map +1 -1
- package/lib/browser/shell/application-shell.js +82 -28
- package/lib/browser/shell/application-shell.js.map +1 -1
- package/lib/browser/shell/index.d.ts +1 -0
- package/lib/browser/shell/index.d.ts.map +1 -1
- package/lib/browser/shell/index.js +1 -0
- package/lib/browser/shell/index.js.map +1 -1
- package/lib/browser/shell/sidebar-bottom-menu-widget.d.ts.map +1 -1
- package/lib/browser/shell/sidebar-bottom-menu-widget.js +2 -1
- package/lib/browser/shell/sidebar-bottom-menu-widget.js.map +1 -1
- package/lib/browser/shell/sidebar-menu-widget.d.ts +4 -1
- package/lib/browser/shell/sidebar-menu-widget.d.ts.map +1 -1
- package/lib/browser/shell/sidebar-menu-widget.js +14 -1
- package/lib/browser/shell/sidebar-menu-widget.js.map +1 -1
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-menu-adapters.d.ts +66 -8
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-menu-adapters.d.ts.map +1 -1
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-menu-adapters.js +161 -8
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-menu-adapters.js.map +1 -1
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-registry.d.ts +18 -32
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-registry.d.ts.map +1 -1
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-registry.js +52 -88
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-registry.js.map +1 -1
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-types.d.ts +17 -21
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-types.d.ts.map +1 -1
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-types.js +9 -9
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-types.js.map +1 -1
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar.d.ts +7 -39
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar.d.ts.map +1 -1
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar.js +30 -238
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar.js.map +1 -1
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar.spec.js +13 -13
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar.spec.js.map +1 -1
- package/lib/browser/shell/tab-bar-toolbar/tab-toolbar-item.d.ts +56 -0
- package/lib/browser/shell/tab-bar-toolbar/tab-toolbar-item.d.ts.map +1 -0
- package/lib/browser/shell/tab-bar-toolbar/tab-toolbar-item.js +208 -0
- package/lib/browser/shell/tab-bar-toolbar/tab-toolbar-item.js.map +1 -0
- package/lib/browser/shell/tab-bars.d.ts.map +1 -1
- package/lib/browser/shell/tab-bars.js +2 -1
- package/lib/browser/shell/tab-bars.js.map +1 -1
- package/lib/browser/shell/theia-dock-panel.d.ts +4 -10
- package/lib/browser/shell/theia-dock-panel.d.ts.map +1 -1
- package/lib/browser/shell/theia-dock-panel.js +7 -84
- package/lib/browser/shell/theia-dock-panel.js.map +1 -1
- package/lib/browser/shell/theia-split-panel.d.ts +6 -0
- package/lib/browser/shell/theia-split-panel.d.ts.map +1 -0
- package/lib/browser/shell/theia-split-panel.js +56 -0
- package/lib/browser/shell/theia-split-panel.js.map +1 -0
- package/lib/browser/tree/tree-widget.d.ts +1 -0
- package/lib/browser/tree/tree-widget.d.ts.map +1 -1
- package/lib/browser/tree/tree-widget.js +6 -0
- package/lib/browser/tree/tree-widget.js.map +1 -1
- package/lib/browser/view-container.d.ts +6 -3
- package/lib/browser/view-container.d.ts.map +1 -1
- package/lib/browser/view-container.js +36 -26
- package/lib/browser/view-container.js.map +1 -1
- package/lib/browser/window/default-secondary-window-service.d.ts +1 -0
- package/lib/browser/window/default-secondary-window-service.d.ts.map +1 -1
- package/lib/browser/window/default-secondary-window-service.js +3 -0
- package/lib/browser/window/default-secondary-window-service.js.map +1 -1
- package/lib/common/listener.d.ts +21 -0
- package/lib/common/listener.d.ts.map +1 -0
- package/lib/common/listener.js +81 -0
- package/lib/common/listener.js.map +1 -0
- package/lib/common/listener.spec.d.ts +2 -0
- package/lib/common/listener.spec.d.ts.map +1 -0
- package/lib/common/listener.spec.js +255 -0
- package/lib/common/listener.spec.js.map +1 -0
- package/lib/common/menu/index.d.ts +2 -3
- package/lib/common/menu/index.d.ts.map +1 -1
- package/lib/common/menu/index.js +2 -3
- package/lib/common/menu/index.js.map +1 -1
- package/lib/common/menu/menu-model-registry.d.ts +37 -50
- package/lib/common/menu/menu-model-registry.d.ts.map +1 -1
- package/lib/common/menu/menu-model-registry.js +176 -225
- package/lib/common/menu/menu-model-registry.js.map +1 -1
- package/lib/common/menu/menu-types.d.ts +58 -96
- package/lib/common/menu/menu-types.d.ts.map +1 -1
- package/lib/common/menu/menu-types.js +43 -39
- package/lib/common/menu/menu-types.js.map +1 -1
- package/lib/common/messaging/proxy-factory.d.ts.map +1 -1
- package/lib/common/messaging/proxy-factory.js +4 -0
- package/lib/common/messaging/proxy-factory.js.map +1 -1
- package/lib/electron-browser/menu/electron-context-menu-renderer.d.ts +15 -5
- package/lib/electron-browser/menu/electron-context-menu-renderer.d.ts.map +1 -1
- package/lib/electron-browser/menu/electron-context-menu-renderer.js +21 -14
- package/lib/electron-browser/menu/electron-context-menu-renderer.js.map +1 -1
- package/lib/electron-browser/menu/electron-main-menu-factory.d.ts +4 -16
- package/lib/electron-browser/menu/electron-main-menu-factory.d.ts.map +1 -1
- package/lib/electron-browser/menu/electron-main-menu-factory.js +84 -104
- 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 +1 -4
- package/lib/electron-browser/menu/electron-menu-contribution.js.map +1 -1
- package/lib/electron-browser/menu/electron-menu-module.d.ts.map +1 -1
- package/lib/electron-browser/menu/electron-menu-module.js +5 -0
- package/lib/electron-browser/menu/electron-menu-module.js.map +1 -1
- package/lib/electron-browser/window/electron-secondary-window-service.d.ts +1 -0
- package/lib/electron-browser/window/electron-secondary-window-service.d.ts.map +1 -1
- package/lib/electron-browser/window/electron-secondary-window-service.js +20 -0
- package/lib/electron-browser/window/electron-secondary-window-service.js.map +1 -1
- package/lib/electron-browser/window/electron-window-service.d.ts +3 -0
- package/lib/electron-browser/window/electron-window-service.d.ts.map +1 -1
- package/lib/electron-browser/window/electron-window-service.js +10 -1
- package/lib/electron-browser/window/electron-window-service.js.map +1 -1
- package/lib/electron-main/theia-electron-window.d.ts.map +1 -1
- package/lib/electron-main/theia-electron-window.js +2 -0
- package/lib/electron-main/theia-electron-window.js.map +1 -1
- package/package.json +7 -8
- package/src/browser/common-frontend-contribution.ts +14 -14
- package/src/browser/context-menu-renderer.ts +33 -5
- package/src/browser/frontend-application-module.ts +1 -7
- package/src/browser/hover-service.ts +7 -0
- package/src/browser/menu/action-menu-node.ts +128 -0
- package/src/browser/menu/browser-context-menu-renderer.ts +18 -11
- package/src/browser/menu/browser-menu-module.ts +4 -0
- package/src/browser/menu/browser-menu-node-factory.ts +48 -0
- package/src/browser/menu/browser-menu-plugin.ts +80 -168
- package/src/browser/menu/composite-menu-node.ts +140 -0
- package/src/{common → browser}/menu/menu.spec.ts +47 -15
- package/src/browser/open-with-service.ts +1 -1
- package/src/browser/saveable-service.ts +6 -1
- package/src/browser/shell/application-shell.ts +91 -29
- package/src/browser/shell/index.ts +1 -0
- package/src/browser/shell/sidebar-bottom-menu-widget.tsx +2 -1
- package/src/browser/shell/sidebar-menu-widget.tsx +12 -2
- package/src/browser/shell/tab-bar-toolbar/tab-bar-toolbar-menu-adapters.tsx +239 -0
- package/src/browser/shell/tab-bar-toolbar/tab-bar-toolbar-registry.ts +59 -102
- package/src/browser/shell/tab-bar-toolbar/tab-bar-toolbar-types.ts +14 -23
- package/src/browser/shell/tab-bar-toolbar/tab-bar-toolbar.spec.ts +14 -14
- package/src/browser/shell/tab-bar-toolbar/tab-bar-toolbar.tsx +34 -261
- package/src/browser/shell/tab-bar-toolbar/tab-toolbar-item.tsx +251 -0
- package/src/browser/shell/tab-bars.ts +2 -1
- package/src/browser/shell/theia-dock-panel.ts +10 -91
- package/src/browser/shell/theia-split-panel.ts +56 -0
- package/src/browser/style/hover-service.css +6 -1
- package/src/browser/style/index.css +3 -11
- package/src/browser/style/view-container.css +17 -31
- package/src/browser/tree/tree-widget.tsx +7 -0
- package/src/browser/view-container.ts +51 -30
- package/src/browser/window/default-secondary-window-service.ts +4 -0
- package/src/common/listener.spec.ts +315 -0
- package/src/common/listener.ts +88 -0
- package/src/common/menu/index.ts +2 -3
- package/src/common/menu/menu-model-registry.ts +187 -230
- package/src/common/menu/menu-types.ts +82 -128
- package/src/common/messaging/proxy-factory.ts +4 -1
- package/src/electron-browser/menu/electron-context-menu-renderer.ts +29 -13
- package/src/electron-browser/menu/electron-main-menu-factory.ts +92 -116
- package/src/electron-browser/menu/electron-menu-contribution.ts +1 -4
- package/src/electron-browser/menu/electron-menu-module.ts +6 -1
- package/src/electron-browser/window/electron-secondary-window-service.ts +22 -0
- package/src/electron-browser/window/electron-window-service.ts +11 -1
- package/src/electron-main/theia-electron-window.ts +2 -0
- package/lib/common/menu/action-menu-node.d.ts +0 -20
- package/lib/common/menu/action-menu-node.d.ts.map +0 -1
- package/lib/common/menu/action-menu-node.js +0 -57
- package/lib/common/menu/action-menu-node.js.map +0 -1
- package/lib/common/menu/composite-menu-node.d.ts +0 -47
- package/lib/common/menu/composite-menu-node.d.ts.map +0 -1
- package/lib/common/menu/composite-menu-node.js +0 -96
- package/lib/common/menu/composite-menu-node.js.map +0 -1
- package/lib/common/menu/composite-menu-node.spec.d.ts +0 -2
- package/lib/common/menu/composite-menu-node.spec.d.ts.map +0 -1
- package/lib/common/menu/composite-menu-node.spec.js +0 -68
- package/lib/common/menu/composite-menu-node.spec.js.map +0 -1
- package/lib/common/menu/menu-adapter.d.ts +0 -36
- package/lib/common/menu/menu-adapter.d.ts.map +0 -1
- package/lib/common/menu/menu-adapter.js +0 -93
- package/lib/common/menu/menu-adapter.js.map +0 -1
- package/lib/common/menu/menu.spec.d.ts.map +0 -1
- package/lib/common/menu/menu.spec.js.map +0 -1
- package/lib/common/test/mock-menu.d.ts +0 -8
- package/lib/common/test/mock-menu.d.ts.map +0 -1
- package/lib/common/test/mock-menu.js +0 -35
- package/lib/common/test/mock-menu.js.map +0 -1
- package/src/browser/shell/tab-bar-toolbar/tab-bar-toolbar-menu-adapters.ts +0 -31
- package/src/common/menu/action-menu-node.ts +0 -65
- package/src/common/menu/composite-menu-node.spec.ts +0 -67
- package/src/common/menu/composite-menu-node.ts +0 -116
- package/src/common/menu/menu-adapter.ts +0 -103
- package/src/common/test/mock-menu.ts +0 -35
- /package/lib/{common → browser}/menu/menu.spec.d.ts +0 -0
|
@@ -1,96 +0,0 @@
|
|
|
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-only 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
|
-
this.updateOptions(options);
|
|
30
|
-
}
|
|
31
|
-
get when() { return this._when; }
|
|
32
|
-
get icon() { return this.iconClass; }
|
|
33
|
-
get children() { return this._children; }
|
|
34
|
-
get role() { var _a; return (_a = this._role) !== null && _a !== void 0 ? _a : (this.label ? 0 /* CompoundMenuNodeRole.Submenu */ : 1 /* CompoundMenuNodeRole.Group */); }
|
|
35
|
-
addNode(node) {
|
|
36
|
-
this._children.push(node);
|
|
37
|
-
this._children.sort(menu_types_1.CompoundMenuNode.sortChildren);
|
|
38
|
-
return {
|
|
39
|
-
dispose: () => {
|
|
40
|
-
const idx = this._children.indexOf(node);
|
|
41
|
-
if (idx >= 0) {
|
|
42
|
-
this._children.splice(idx, 1);
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
};
|
|
46
|
-
}
|
|
47
|
-
removeNode(id) {
|
|
48
|
-
const idx = this._children.findIndex(n => n.id === id);
|
|
49
|
-
if (idx >= 0) {
|
|
50
|
-
this._children.splice(idx, 1);
|
|
51
|
-
return true;
|
|
52
|
-
}
|
|
53
|
-
return false;
|
|
54
|
-
}
|
|
55
|
-
updateOptions(options) {
|
|
56
|
-
var _a, _b, _c, _d, _e, _f;
|
|
57
|
-
if (options) {
|
|
58
|
-
this.iconClass = (_b = (_a = options.icon) !== null && _a !== void 0 ? _a : options.iconClass) !== null && _b !== void 0 ? _b : this.iconClass;
|
|
59
|
-
this.label = (_c = options.label) !== null && _c !== void 0 ? _c : this.label;
|
|
60
|
-
this.order = (_d = options.order) !== null && _d !== void 0 ? _d : this.order;
|
|
61
|
-
this._role = (_e = options.role) !== null && _e !== void 0 ? _e : this._role;
|
|
62
|
-
this._when = (_f = options.when) !== null && _f !== void 0 ? _f : this._when;
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
get sortString() {
|
|
66
|
-
return this.order || this.id;
|
|
67
|
-
}
|
|
68
|
-
get isSubmenu() {
|
|
69
|
-
return Boolean(this.label);
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
exports.CompositeMenuNode = CompositeMenuNode;
|
|
73
|
-
/** @deprecated @since 1.28 use CompoundMenuNode.isNavigationGroup instead */
|
|
74
|
-
CompositeMenuNode.isNavigationGroup = menu_types_1.CompoundMenuNode.isNavigationGroup;
|
|
75
|
-
class CompositeMenuNodeWrapper {
|
|
76
|
-
constructor(wrapped, parent, options) {
|
|
77
|
-
this.wrapped = wrapped;
|
|
78
|
-
this.parent = parent;
|
|
79
|
-
this.options = options;
|
|
80
|
-
}
|
|
81
|
-
get id() { return this.wrapped.id; }
|
|
82
|
-
get label() { return this.wrapped.label; }
|
|
83
|
-
get sortString() { var _a; return ((_a = this.options) === null || _a === void 0 ? void 0 : _a.order) || this.wrapped.sortString; }
|
|
84
|
-
get isSubmenu() { return Boolean(this.label); }
|
|
85
|
-
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; }
|
|
86
|
-
get icon() { return this.iconClass; }
|
|
87
|
-
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.icon; }
|
|
88
|
-
get order() { return this.sortString; }
|
|
89
|
-
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; }
|
|
90
|
-
get children() { return this.wrapped.children; }
|
|
91
|
-
addNode(node) { return this.wrapped.addNode(node); }
|
|
92
|
-
removeNode(id) { return this.wrapped.removeNode(id); }
|
|
93
|
-
updateOptions(options) { return this.wrapped.updateOptions(options); }
|
|
94
|
-
}
|
|
95
|
-
exports.CompositeMenuNodeWrapper = CompositeMenuNodeWrapper;
|
|
96
|
-
//# sourceMappingURL=composite-menu-node.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"composite-menu-node.js","sourceRoot":"","sources":["../../../src/common/menu/composite-menu-node.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"composite-menu-node.spec.d.ts","sourceRoot":"","sources":["../../../src/common/menu/composite-menu-node.spec.ts"],"names":[],"mappings":""}
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
// *****************************************************************************
|
|
4
|
-
// Copyright (C) 2024 EclipseSource and others.
|
|
5
|
-
//
|
|
6
|
-
// This program and the accompanying materials are made available under the
|
|
7
|
-
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
8
|
-
// http://www.eclipse.org/legal/epl-2.0.
|
|
9
|
-
//
|
|
10
|
-
// This Source Code may also be made available under the following Secondary
|
|
11
|
-
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
12
|
-
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
13
|
-
// with the GNU Classpath Exception which is available at
|
|
14
|
-
// https://www.gnu.org/software/classpath/license.html.
|
|
15
|
-
//
|
|
16
|
-
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
17
|
-
// *****************************************************************************
|
|
18
|
-
const chai_1 = require("chai");
|
|
19
|
-
const composite_menu_node_1 = require("./composite-menu-node");
|
|
20
|
-
describe('composite-menu-node', () => {
|
|
21
|
-
describe('updateOptions', () => {
|
|
22
|
-
it('should update undefined node properties', () => {
|
|
23
|
-
const node = new composite_menu_node_1.CompositeMenuNode('test-id');
|
|
24
|
-
node.updateOptions({ label: 'node-label', icon: 'icon', order: 'a', role: 2 /* CompoundMenuNodeRole.Flat */, when: 'node-condition' });
|
|
25
|
-
(0, chai_1.expect)(node.label).to.equal('node-label');
|
|
26
|
-
(0, chai_1.expect)(node.icon).to.equal('icon');
|
|
27
|
-
(0, chai_1.expect)(node.order).to.equal('a');
|
|
28
|
-
(0, chai_1.expect)(node.role).to.equal(2 /* CompoundMenuNodeRole.Flat */);
|
|
29
|
-
(0, chai_1.expect)(node.when).to.equal('node-condition');
|
|
30
|
-
});
|
|
31
|
-
it('should update existing node properties', () => {
|
|
32
|
-
const node = new composite_menu_node_1.CompositeMenuNode('test-id', 'test-label', { icon: 'test-icon', order: 'a1', role: 0 /* CompoundMenuNodeRole.Submenu */, when: 'test-condition' });
|
|
33
|
-
node.updateOptions({ label: 'NEW-label', icon: 'NEW-icon', order: 'a2', role: 2 /* CompoundMenuNodeRole.Flat */, when: 'NEW-condition' });
|
|
34
|
-
(0, chai_1.expect)(node.label).to.equal('NEW-label');
|
|
35
|
-
(0, chai_1.expect)(node.icon).to.equal('NEW-icon');
|
|
36
|
-
(0, chai_1.expect)(node.order).to.equal('a2');
|
|
37
|
-
(0, chai_1.expect)(node.role).to.equal(2 /* CompoundMenuNodeRole.Flat */);
|
|
38
|
-
(0, chai_1.expect)(node.when).to.equal('NEW-condition');
|
|
39
|
-
});
|
|
40
|
-
it('should update only the icon without affecting other properties', () => {
|
|
41
|
-
const node = new composite_menu_node_1.CompositeMenuNode('test-id', 'test-label', { icon: 'test-icon', order: 'a' });
|
|
42
|
-
node.updateOptions({ icon: 'NEW-icon' });
|
|
43
|
-
(0, chai_1.expect)(node.label).to.equal('test-label');
|
|
44
|
-
(0, chai_1.expect)(node.icon).to.equal('NEW-icon');
|
|
45
|
-
(0, chai_1.expect)(node.order).to.equal('a');
|
|
46
|
-
});
|
|
47
|
-
it('should not allow to unset properties', () => {
|
|
48
|
-
const node = new composite_menu_node_1.CompositeMenuNode('test-id', 'test-label', { icon: 'test-icon', order: 'a' });
|
|
49
|
-
node.updateOptions({ icon: undefined });
|
|
50
|
-
(0, chai_1.expect)(node.label).to.equal('test-label');
|
|
51
|
-
(0, chai_1.expect)(node.icon).to.equal('test-icon');
|
|
52
|
-
(0, chai_1.expect)(node.order).to.equal('a');
|
|
53
|
-
});
|
|
54
|
-
it('should allow to set empty strings in properties', () => {
|
|
55
|
-
const node = new composite_menu_node_1.CompositeMenuNode('test-id', 'test-label');
|
|
56
|
-
node.updateOptions({ label: '' });
|
|
57
|
-
(0, chai_1.expect)(node.label).to.equal('');
|
|
58
|
-
});
|
|
59
|
-
it('should not cause side effects when updating a property to its existing value', () => {
|
|
60
|
-
const node = new composite_menu_node_1.CompositeMenuNode('test-id', 'test-label', { icon: 'test-icon', order: 'a' });
|
|
61
|
-
node.updateOptions({ icon: 'test-icon' });
|
|
62
|
-
(0, chai_1.expect)(node.label).to.equal('test-label');
|
|
63
|
-
(0, chai_1.expect)(node.icon).to.equal('test-icon');
|
|
64
|
-
(0, chai_1.expect)(node.order).to.equal('a');
|
|
65
|
-
});
|
|
66
|
-
});
|
|
67
|
-
});
|
|
68
|
-
//# sourceMappingURL=composite-menu-node.spec.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"composite-menu-node.spec.js","sourceRoot":"","sources":["../../../src/common/menu/composite-menu-node.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { CommandRegistry } from '../command';
|
|
2
|
-
import { Disposable } from '../disposable';
|
|
3
|
-
import { MenuPath } from './menu-types';
|
|
4
|
-
export 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
|
|
@@ -1 +0,0 @@
|
|
|
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,MAAM,MAAM,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"}
|
|
@@ -1,93 +0,0 @@
|
|
|
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-only WITH Classpath-exception-2.0
|
|
16
|
-
// *****************************************************************************
|
|
17
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
exports.MenuCommandAdapterRegistryImpl = exports.MenuCommandExecutorImpl = exports.MenuCommandAdapterRegistry = exports.MenuCommandAdapter = exports.MenuCommandExecutor = void 0;
|
|
19
|
-
const tslib_1 = require("tslib");
|
|
20
|
-
const inversify_1 = require("inversify");
|
|
21
|
-
const command_1 = require("../command");
|
|
22
|
-
const disposable_1 = require("../disposable");
|
|
23
|
-
exports.MenuCommandExecutor = Symbol('MenuCommandExecutor');
|
|
24
|
-
;
|
|
25
|
-
exports.MenuCommandAdapter = Symbol('MenuCommandAdapter');
|
|
26
|
-
exports.MenuCommandAdapterRegistry = Symbol('MenuCommandAdapterRegistry');
|
|
27
|
-
let MenuCommandExecutorImpl = class MenuCommandExecutorImpl {
|
|
28
|
-
executeCommand(menuPath, command, ...commandArgs) {
|
|
29
|
-
return this.delegate(menuPath, command, commandArgs, 'executeCommand');
|
|
30
|
-
}
|
|
31
|
-
isVisible(menuPath, command, ...commandArgs) {
|
|
32
|
-
return this.delegate(menuPath, command, commandArgs, 'isVisible');
|
|
33
|
-
}
|
|
34
|
-
isEnabled(menuPath, command, ...commandArgs) {
|
|
35
|
-
return this.delegate(menuPath, command, commandArgs, 'isEnabled');
|
|
36
|
-
}
|
|
37
|
-
isToggled(menuPath, command, ...commandArgs) {
|
|
38
|
-
return this.delegate(menuPath, command, commandArgs, 'isToggled');
|
|
39
|
-
}
|
|
40
|
-
delegate(menuPath, command, commandArgs, method) {
|
|
41
|
-
const adapter = this.adapterRegistry.getAdapterFor(menuPath, command, commandArgs);
|
|
42
|
-
return (adapter
|
|
43
|
-
? adapter[method](menuPath, command, ...commandArgs)
|
|
44
|
-
: this.commandRegistry[method](command, ...commandArgs));
|
|
45
|
-
}
|
|
46
|
-
};
|
|
47
|
-
exports.MenuCommandExecutorImpl = MenuCommandExecutorImpl;
|
|
48
|
-
tslib_1.__decorate([
|
|
49
|
-
(0, inversify_1.inject)(exports.MenuCommandAdapterRegistry),
|
|
50
|
-
tslib_1.__metadata("design:type", Object)
|
|
51
|
-
], MenuCommandExecutorImpl.prototype, "adapterRegistry", void 0);
|
|
52
|
-
tslib_1.__decorate([
|
|
53
|
-
(0, inversify_1.inject)(command_1.CommandRegistry),
|
|
54
|
-
tslib_1.__metadata("design:type", command_1.CommandRegistry)
|
|
55
|
-
], MenuCommandExecutorImpl.prototype, "commandRegistry", void 0);
|
|
56
|
-
exports.MenuCommandExecutorImpl = MenuCommandExecutorImpl = tslib_1.__decorate([
|
|
57
|
-
(0, inversify_1.injectable)()
|
|
58
|
-
], MenuCommandExecutorImpl);
|
|
59
|
-
let MenuCommandAdapterRegistryImpl = class MenuCommandAdapterRegistryImpl {
|
|
60
|
-
constructor() {
|
|
61
|
-
this.adapters = new Array();
|
|
62
|
-
}
|
|
63
|
-
registerAdapter(adapter) {
|
|
64
|
-
if (!this.adapters.includes(adapter)) {
|
|
65
|
-
this.adapters.push(adapter);
|
|
66
|
-
return disposable_1.Disposable.create(() => {
|
|
67
|
-
const index = this.adapters.indexOf(adapter);
|
|
68
|
-
if (index !== -1) {
|
|
69
|
-
this.adapters.splice(index, 1);
|
|
70
|
-
}
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
|
-
return disposable_1.Disposable.NULL;
|
|
74
|
-
}
|
|
75
|
-
getAdapterFor(menuPath, command, ...commandArgs) {
|
|
76
|
-
let bestAdapter = undefined;
|
|
77
|
-
let bestScore = 0;
|
|
78
|
-
let currentScore = 0;
|
|
79
|
-
for (const adapter of this.adapters) {
|
|
80
|
-
// Greater than or equal: favor later registrations over earlier.
|
|
81
|
-
if ((currentScore = adapter.canHandle(menuPath, command, ...commandArgs)) >= bestScore) {
|
|
82
|
-
bestScore = currentScore;
|
|
83
|
-
bestAdapter = adapter;
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
return bestAdapter;
|
|
87
|
-
}
|
|
88
|
-
};
|
|
89
|
-
exports.MenuCommandAdapterRegistryImpl = MenuCommandAdapterRegistryImpl;
|
|
90
|
-
exports.MenuCommandAdapterRegistryImpl = MenuCommandAdapterRegistryImpl = tslib_1.__decorate([
|
|
91
|
-
(0, inversify_1.injectable)()
|
|
92
|
-
], MenuCommandAdapterRegistryImpl);
|
|
93
|
-
//# sourceMappingURL=menu-adapter.js.map
|
|
@@ -1 +0,0 @@
|
|
|
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,gFAAgF;AAChF,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;AAOxE,IAAM,uBAAuB,GAA7B,MAAM,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;AA1BY,0DAAuB;AACuB;IAAtD,IAAA,kBAAM,EAAC,kCAA0B,CAAC;;gEAAgE;AACvD;IAA3C,IAAA,kBAAM,EAAC,yBAAe,CAAC;sCAAqC,yBAAe;gEAAC;kCAFpE,uBAAuB;IADnC,IAAA,sBAAU,GAAE;GACA,uBAAuB,CA0BnC;AAGM,IAAM,8BAA8B,GAApC,MAAM,8BAA8B;IAApC;QACgB,aAAQ,GAAG,IAAI,KAAK,EAAsB,CAAC;IA4BlE,CAAC;IA1BG,eAAe,CAAC,OAA2B;QACvC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACnC,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,CAAC;oBACf,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBACnC,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC;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,CAAC;YAClC,iEAAiE;YACjE,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC,CAAC,IAAI,SAAS,EAAE,CAAC;gBACrF,SAAS,GAAG,YAAY,CAAC;gBACzB,WAAW,GAAG,OAAO,CAAC;YAC1B,CAAC;QACL,CAAC;QACD,OAAO,WAAW,CAAC;IACvB,CAAC;CACJ,CAAA;AA7BY,wEAA8B;yCAA9B,8BAA8B;IAD1C,IAAA,sBAAU,GAAE;GACA,8BAA8B,CA6B1C"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"menu.spec.d.ts","sourceRoot":"","sources":["../../../src/common/menu/menu.spec.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"menu.spec.js","sourceRoot":"","sources":["../../../src/common/menu/menu.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { Disposable } from '../disposable';
|
|
2
|
-
import { MenuModelRegistry, MenuPath, MenuAction } from '../menu';
|
|
3
|
-
export declare class MockMenuModelRegistry extends MenuModelRegistry {
|
|
4
|
-
constructor();
|
|
5
|
-
registerMenuAction(menuPath: MenuPath, item: MenuAction): Disposable;
|
|
6
|
-
registerSubmenu(menuPath: MenuPath, label: string): Disposable;
|
|
7
|
-
}
|
|
8
|
-
//# sourceMappingURL=mock-menu.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mock-menu.d.ts","sourceRoot":"","sources":["../../../src/common/test/mock-menu.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAElE,qBAAa,qBAAsB,SAAQ,iBAAiB;;IAO/C,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,GAAG,UAAU;IAIpE,eAAe,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,UAAU;CAG1E"}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// *****************************************************************************
|
|
3
|
-
// Copyright (C) 2018 Red Hat, Inc. 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-only WITH Classpath-exception-2.0
|
|
16
|
-
// *****************************************************************************
|
|
17
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
exports.MockMenuModelRegistry = void 0;
|
|
19
|
-
const disposable_1 = require("../disposable");
|
|
20
|
-
const command_1 = require("../command");
|
|
21
|
-
const menu_1 = require("../menu");
|
|
22
|
-
class MockMenuModelRegistry extends menu_1.MenuModelRegistry {
|
|
23
|
-
constructor() {
|
|
24
|
-
const commands = new command_1.CommandRegistry({ getContributions: () => [] });
|
|
25
|
-
super({ getContributions: () => [] }, commands);
|
|
26
|
-
}
|
|
27
|
-
registerMenuAction(menuPath, item) {
|
|
28
|
-
return disposable_1.Disposable.NULL;
|
|
29
|
-
}
|
|
30
|
-
registerSubmenu(menuPath, label) {
|
|
31
|
-
return disposable_1.Disposable.NULL;
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
exports.MockMenuModelRegistry = MockMenuModelRegistry;
|
|
35
|
-
//# sourceMappingURL=mock-menu.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mock-menu.js","sourceRoot":"","sources":["../../../src/common/test/mock-menu.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,+CAA+C;AAC/C,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;AAEhF,8CAA2C;AAC3C,wCAA6C;AAC7C,kCAAkE;AAElE,MAAa,qBAAsB,SAAQ,wBAAiB;IAExD;QACI,MAAM,QAAQ,GAAG,IAAI,yBAAe,CAAC,EAAE,gBAAgB,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACrE,KAAK,CAAC,EAAE,gBAAgB,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;IACpD,CAAC;IAEQ,kBAAkB,CAAC,QAAkB,EAAE,IAAgB;QAC5D,OAAO,uBAAU,CAAC,IAAI,CAAC;IAC3B,CAAC;IAEQ,eAAe,CAAC,QAAkB,EAAE,KAAa;QACtD,OAAO,uBAAU,CAAC,IAAI,CAAC;IAC3B,CAAC;CACJ;AAdD,sDAcC"}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
// *****************************************************************************
|
|
2
|
-
// Copyright (C) 2022 Ericsson and others.
|
|
3
|
-
//
|
|
4
|
-
// This program and the accompanying materials are made available under the
|
|
5
|
-
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
6
|
-
// http://www.eclipse.org/legal/epl-2.0.
|
|
7
|
-
//
|
|
8
|
-
// This Source Code may also be made available under the following Secondary
|
|
9
|
-
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
10
|
-
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
11
|
-
// with the GNU Classpath Exception which is available at
|
|
12
|
-
// https://www.gnu.org/software/classpath/license.html.
|
|
13
|
-
//
|
|
14
|
-
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
15
|
-
// *****************************************************************************
|
|
16
|
-
|
|
17
|
-
import { MenuNode, MenuPath } from '../../../common';
|
|
18
|
-
import { NAVIGATION, RenderedToolbarItem } from './tab-bar-toolbar-types';
|
|
19
|
-
|
|
20
|
-
export const TOOLBAR_WRAPPER_ID_SUFFIX = '-as-tabbar-toolbar-item';
|
|
21
|
-
|
|
22
|
-
export class ToolbarMenuNodeWrapper implements RenderedToolbarItem {
|
|
23
|
-
constructor(protected readonly menuNode: MenuNode, readonly group: string | undefined, readonly delegateMenuPath: MenuPath, readonly menuPath?: MenuPath) { }
|
|
24
|
-
get id(): string { return this.menuNode.id + TOOLBAR_WRAPPER_ID_SUFFIX; }
|
|
25
|
-
get command(): string { return this.menuNode.command ?? ''; };
|
|
26
|
-
get icon(): string | undefined { return this.menuNode.icon; }
|
|
27
|
-
get tooltip(): string | undefined { return this.menuNode.label; }
|
|
28
|
-
get when(): string | undefined { return this.menuNode.when; }
|
|
29
|
-
get text(): string | undefined { return (this.group === NAVIGATION || this.group === undefined) ? undefined : this.menuNode.label; }
|
|
30
|
-
}
|
|
31
|
-
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
// *****************************************************************************
|
|
2
|
-
// Copyright (C) 2022 Ericsson and others.
|
|
3
|
-
//
|
|
4
|
-
// This program and the accompanying materials are made available under the
|
|
5
|
-
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
6
|
-
// http://www.eclipse.org/legal/epl-2.0.
|
|
7
|
-
//
|
|
8
|
-
// This Source Code may also be made available under the following Secondary
|
|
9
|
-
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
10
|
-
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
11
|
-
// with the GNU Classpath Exception which is available at
|
|
12
|
-
// https://www.gnu.org/software/classpath/license.html.
|
|
13
|
-
//
|
|
14
|
-
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
15
|
-
// *****************************************************************************
|
|
16
|
-
|
|
17
|
-
import { CommandRegistry } from '../command';
|
|
18
|
-
import { AlternativeHandlerMenuNode, CommandMenuNode, MenuAction, MenuNode } from './menu-types';
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* Node representing an action in the menu tree structure.
|
|
22
|
-
* It's based on {@link MenuAction} for which it tries to determine the
|
|
23
|
-
* best label, icon and sortString with the given data.
|
|
24
|
-
*/
|
|
25
|
-
export class ActionMenuNode implements MenuNode, CommandMenuNode, Partial<AlternativeHandlerMenuNode> {
|
|
26
|
-
|
|
27
|
-
readonly altNode: ActionMenuNode | undefined;
|
|
28
|
-
|
|
29
|
-
constructor(
|
|
30
|
-
protected readonly action: MenuAction,
|
|
31
|
-
protected readonly commands: CommandRegistry,
|
|
32
|
-
) {
|
|
33
|
-
if (action.alt) {
|
|
34
|
-
this.altNode = new ActionMenuNode({ commandId: action.alt }, commands);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
get command(): string { return this.action.commandId; };
|
|
39
|
-
|
|
40
|
-
get when(): string | undefined { return this.action.when; }
|
|
41
|
-
|
|
42
|
-
get id(): string { return this.action.commandId; }
|
|
43
|
-
|
|
44
|
-
get label(): string {
|
|
45
|
-
if (this.action.label) {
|
|
46
|
-
return this.action.label;
|
|
47
|
-
}
|
|
48
|
-
const cmd = this.commands.getCommand(this.action.commandId);
|
|
49
|
-
if (!cmd) {
|
|
50
|
-
console.debug(`No label for action menu node: No command "${this.action.commandId}" exists.`);
|
|
51
|
-
return '';
|
|
52
|
-
}
|
|
53
|
-
return cmd.label || cmd.id;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
get icon(): string | undefined {
|
|
57
|
-
if (this.action.icon) {
|
|
58
|
-
return this.action.icon;
|
|
59
|
-
}
|
|
60
|
-
const command = this.commands.getCommand(this.action.commandId);
|
|
61
|
-
return command && command.iconClass;
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
get sortString(): string { return this.action.order || this.label; }
|
|
65
|
-
}
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
// *****************************************************************************
|
|
2
|
-
// Copyright (C) 2024 EclipseSource and others.
|
|
3
|
-
//
|
|
4
|
-
// This program and the accompanying materials are made available under the
|
|
5
|
-
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
6
|
-
// http://www.eclipse.org/legal/epl-2.0.
|
|
7
|
-
//
|
|
8
|
-
// This Source Code may also be made available under the following Secondary
|
|
9
|
-
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
10
|
-
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
11
|
-
// with the GNU Classpath Exception which is available at
|
|
12
|
-
// https://www.gnu.org/software/classpath/license.html.
|
|
13
|
-
//
|
|
14
|
-
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
15
|
-
// *****************************************************************************
|
|
16
|
-
import { expect } from 'chai';
|
|
17
|
-
import { CompositeMenuNode } from './composite-menu-node';
|
|
18
|
-
import { CompoundMenuNodeRole } from './menu-types';
|
|
19
|
-
|
|
20
|
-
describe('composite-menu-node', () => {
|
|
21
|
-
describe('updateOptions', () => {
|
|
22
|
-
it('should update undefined node properties', () => {
|
|
23
|
-
const node = new CompositeMenuNode('test-id');
|
|
24
|
-
node.updateOptions({ label: 'node-label', icon: 'icon', order: 'a', role: CompoundMenuNodeRole.Flat, when: 'node-condition' });
|
|
25
|
-
expect(node.label).to.equal('node-label');
|
|
26
|
-
expect(node.icon).to.equal('icon');
|
|
27
|
-
expect(node.order).to.equal('a');
|
|
28
|
-
expect(node.role).to.equal(CompoundMenuNodeRole.Flat);
|
|
29
|
-
expect(node.when).to.equal('node-condition');
|
|
30
|
-
});
|
|
31
|
-
it('should update existing node properties', () => {
|
|
32
|
-
const node = new CompositeMenuNode('test-id', 'test-label', { icon: 'test-icon', order: 'a1', role: CompoundMenuNodeRole.Submenu, when: 'test-condition' });
|
|
33
|
-
node.updateOptions({ label: 'NEW-label', icon: 'NEW-icon', order: 'a2', role: CompoundMenuNodeRole.Flat, when: 'NEW-condition' });
|
|
34
|
-
expect(node.label).to.equal('NEW-label');
|
|
35
|
-
expect(node.icon).to.equal('NEW-icon');
|
|
36
|
-
expect(node.order).to.equal('a2');
|
|
37
|
-
expect(node.role).to.equal(CompoundMenuNodeRole.Flat);
|
|
38
|
-
expect(node.when).to.equal('NEW-condition');
|
|
39
|
-
});
|
|
40
|
-
it('should update only the icon without affecting other properties', () => {
|
|
41
|
-
const node = new CompositeMenuNode('test-id', 'test-label', { icon: 'test-icon', order: 'a' });
|
|
42
|
-
node.updateOptions({ icon: 'NEW-icon' });
|
|
43
|
-
expect(node.label).to.equal('test-label');
|
|
44
|
-
expect(node.icon).to.equal('NEW-icon');
|
|
45
|
-
expect(node.order).to.equal('a');
|
|
46
|
-
});
|
|
47
|
-
it('should not allow to unset properties', () => {
|
|
48
|
-
const node = new CompositeMenuNode('test-id', 'test-label', { icon: 'test-icon', order: 'a' });
|
|
49
|
-
node.updateOptions({ icon: undefined });
|
|
50
|
-
expect(node.label).to.equal('test-label');
|
|
51
|
-
expect(node.icon).to.equal('test-icon');
|
|
52
|
-
expect(node.order).to.equal('a');
|
|
53
|
-
});
|
|
54
|
-
it('should allow to set empty strings in properties', () => {
|
|
55
|
-
const node = new CompositeMenuNode('test-id', 'test-label');
|
|
56
|
-
node.updateOptions({ label: '' });
|
|
57
|
-
expect(node.label).to.equal('');
|
|
58
|
-
});
|
|
59
|
-
it('should not cause side effects when updating a property to its existing value', () => {
|
|
60
|
-
const node = new CompositeMenuNode('test-id', 'test-label', { icon: 'test-icon', order: 'a' });
|
|
61
|
-
node.updateOptions({ icon: 'test-icon' });
|
|
62
|
-
expect(node.label).to.equal('test-label');
|
|
63
|
-
expect(node.icon).to.equal('test-icon');
|
|
64
|
-
expect(node.order).to.equal('a');
|
|
65
|
-
});
|
|
66
|
-
});
|
|
67
|
-
});
|