@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.
Files changed (244) hide show
  1. package/README.md +7 -7
  2. package/i18n/nls.cs.json +158 -13
  3. package/i18n/nls.de.json +158 -13
  4. package/i18n/nls.es.json +158 -13
  5. package/i18n/nls.fr.json +158 -13
  6. package/i18n/nls.hu.json +158 -13
  7. package/i18n/nls.it.json +158 -13
  8. package/i18n/nls.ja.json +158 -13
  9. package/i18n/nls.json +159 -14
  10. package/i18n/nls.ko.json +158 -13
  11. package/i18n/nls.pl.json +158 -13
  12. package/i18n/nls.pt-br.json +158 -13
  13. package/i18n/nls.ru.json +158 -13
  14. package/i18n/nls.tr.json +158 -13
  15. package/i18n/nls.zh-cn.json +158 -13
  16. package/i18n/nls.zh-tw.json +158 -13
  17. package/lib/browser/catalog.json +197 -33
  18. package/lib/browser/common-frontend-contribution.d.ts +1 -1
  19. package/lib/browser/common-frontend-contribution.d.ts.map +1 -1
  20. package/lib/browser/common-frontend-contribution.js +13 -11
  21. package/lib/browser/common-frontend-contribution.js.map +1 -1
  22. package/lib/browser/context-menu-renderer.d.ts +14 -3
  23. package/lib/browser/context-menu-renderer.d.ts.map +1 -1
  24. package/lib/browser/context-menu-renderer.js +23 -1
  25. package/lib/browser/context-menu-renderer.js.map +1 -1
  26. package/lib/browser/frontend-application-module.d.ts.map +1 -1
  27. package/lib/browser/frontend-application-module.js +1 -3
  28. package/lib/browser/frontend-application-module.js.map +1 -1
  29. package/lib/browser/hover-service.d.ts.map +1 -1
  30. package/lib/browser/hover-service.js +7 -0
  31. package/lib/browser/hover-service.js.map +1 -1
  32. package/lib/browser/menu/action-menu-node.d.ts +36 -0
  33. package/lib/browser/menu/action-menu-node.d.ts.map +1 -0
  34. package/lib/browser/menu/action-menu-node.js +113 -0
  35. package/lib/browser/menu/action-menu-node.js.map +1 -0
  36. package/lib/browser/menu/browser-context-menu-renderer.d.ts +12 -4
  37. package/lib/browser/menu/browser-context-menu-renderer.d.ts.map +1 -1
  38. package/lib/browser/menu/browser-context-menu-renderer.js +12 -13
  39. package/lib/browser/menu/browser-context-menu-renderer.js.map +1 -1
  40. package/lib/browser/menu/browser-menu-module.d.ts.map +1 -1
  41. package/lib/browser/menu/browser-menu-module.js +4 -0
  42. package/lib/browser/menu/browser-menu-module.js.map +1 -1
  43. package/lib/browser/menu/browser-menu-node-factory.d.ts +13 -0
  44. package/lib/browser/menu/browser-menu-node-factory.d.ts.map +1 -0
  45. package/lib/browser/menu/browser-menu-node-factory.js +54 -0
  46. package/lib/browser/menu/browser-menu-node-factory.js.map +1 -0
  47. package/lib/browser/menu/browser-menu-plugin.d.ts +12 -30
  48. package/lib/browser/menu/browser-menu-plugin.d.ts.map +1 -1
  49. package/lib/browser/menu/browser-menu-plugin.js +78 -159
  50. package/lib/browser/menu/browser-menu-plugin.js.map +1 -1
  51. package/lib/browser/menu/composite-menu-node.d.ts +49 -0
  52. package/lib/browser/menu/composite-menu-node.d.ts.map +1 -0
  53. package/lib/browser/menu/composite-menu-node.js +127 -0
  54. package/lib/browser/menu/composite-menu-node.js.map +1 -0
  55. package/lib/browser/menu/menu.spec.d.ts.map +1 -0
  56. package/lib/{common → browser}/menu/menu.spec.js +38 -13
  57. package/lib/browser/menu/menu.spec.js.map +1 -0
  58. package/lib/browser/open-with-service.d.ts +1 -1
  59. package/lib/browser/saveable-service.d.ts.map +1 -1
  60. package/lib/browser/saveable-service.js +6 -1
  61. package/lib/browser/saveable-service.js.map +1 -1
  62. package/lib/browser/shell/application-shell.d.ts +7 -5
  63. package/lib/browser/shell/application-shell.d.ts.map +1 -1
  64. package/lib/browser/shell/application-shell.js +82 -28
  65. package/lib/browser/shell/application-shell.js.map +1 -1
  66. package/lib/browser/shell/index.d.ts +1 -0
  67. package/lib/browser/shell/index.d.ts.map +1 -1
  68. package/lib/browser/shell/index.js +1 -0
  69. package/lib/browser/shell/index.js.map +1 -1
  70. package/lib/browser/shell/sidebar-bottom-menu-widget.d.ts.map +1 -1
  71. package/lib/browser/shell/sidebar-bottom-menu-widget.js +2 -1
  72. package/lib/browser/shell/sidebar-bottom-menu-widget.js.map +1 -1
  73. package/lib/browser/shell/sidebar-menu-widget.d.ts +4 -1
  74. package/lib/browser/shell/sidebar-menu-widget.d.ts.map +1 -1
  75. package/lib/browser/shell/sidebar-menu-widget.js +14 -1
  76. package/lib/browser/shell/sidebar-menu-widget.js.map +1 -1
  77. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-menu-adapters.d.ts +66 -8
  78. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-menu-adapters.d.ts.map +1 -1
  79. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-menu-adapters.js +161 -8
  80. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-menu-adapters.js.map +1 -1
  81. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-registry.d.ts +18 -32
  82. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-registry.d.ts.map +1 -1
  83. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-registry.js +52 -88
  84. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-registry.js.map +1 -1
  85. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-types.d.ts +17 -21
  86. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-types.d.ts.map +1 -1
  87. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-types.js +9 -9
  88. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-types.js.map +1 -1
  89. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar.d.ts +7 -39
  90. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar.d.ts.map +1 -1
  91. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar.js +30 -238
  92. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar.js.map +1 -1
  93. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar.spec.js +13 -13
  94. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar.spec.js.map +1 -1
  95. package/lib/browser/shell/tab-bar-toolbar/tab-toolbar-item.d.ts +56 -0
  96. package/lib/browser/shell/tab-bar-toolbar/tab-toolbar-item.d.ts.map +1 -0
  97. package/lib/browser/shell/tab-bar-toolbar/tab-toolbar-item.js +208 -0
  98. package/lib/browser/shell/tab-bar-toolbar/tab-toolbar-item.js.map +1 -0
  99. package/lib/browser/shell/tab-bars.d.ts.map +1 -1
  100. package/lib/browser/shell/tab-bars.js +2 -1
  101. package/lib/browser/shell/tab-bars.js.map +1 -1
  102. package/lib/browser/shell/theia-dock-panel.d.ts +4 -10
  103. package/lib/browser/shell/theia-dock-panel.d.ts.map +1 -1
  104. package/lib/browser/shell/theia-dock-panel.js +7 -84
  105. package/lib/browser/shell/theia-dock-panel.js.map +1 -1
  106. package/lib/browser/shell/theia-split-panel.d.ts +6 -0
  107. package/lib/browser/shell/theia-split-panel.d.ts.map +1 -0
  108. package/lib/browser/shell/theia-split-panel.js +56 -0
  109. package/lib/browser/shell/theia-split-panel.js.map +1 -0
  110. package/lib/browser/tree/tree-widget.d.ts +1 -0
  111. package/lib/browser/tree/tree-widget.d.ts.map +1 -1
  112. package/lib/browser/tree/tree-widget.js +6 -0
  113. package/lib/browser/tree/tree-widget.js.map +1 -1
  114. package/lib/browser/view-container.d.ts +6 -3
  115. package/lib/browser/view-container.d.ts.map +1 -1
  116. package/lib/browser/view-container.js +36 -26
  117. package/lib/browser/view-container.js.map +1 -1
  118. package/lib/browser/window/default-secondary-window-service.d.ts +1 -0
  119. package/lib/browser/window/default-secondary-window-service.d.ts.map +1 -1
  120. package/lib/browser/window/default-secondary-window-service.js +3 -0
  121. package/lib/browser/window/default-secondary-window-service.js.map +1 -1
  122. package/lib/common/listener.d.ts +21 -0
  123. package/lib/common/listener.d.ts.map +1 -0
  124. package/lib/common/listener.js +81 -0
  125. package/lib/common/listener.js.map +1 -0
  126. package/lib/common/listener.spec.d.ts +2 -0
  127. package/lib/common/listener.spec.d.ts.map +1 -0
  128. package/lib/common/listener.spec.js +255 -0
  129. package/lib/common/listener.spec.js.map +1 -0
  130. package/lib/common/menu/index.d.ts +2 -3
  131. package/lib/common/menu/index.d.ts.map +1 -1
  132. package/lib/common/menu/index.js +2 -3
  133. package/lib/common/menu/index.js.map +1 -1
  134. package/lib/common/menu/menu-model-registry.d.ts +37 -50
  135. package/lib/common/menu/menu-model-registry.d.ts.map +1 -1
  136. package/lib/common/menu/menu-model-registry.js +176 -225
  137. package/lib/common/menu/menu-model-registry.js.map +1 -1
  138. package/lib/common/menu/menu-types.d.ts +58 -96
  139. package/lib/common/menu/menu-types.d.ts.map +1 -1
  140. package/lib/common/menu/menu-types.js +43 -39
  141. package/lib/common/menu/menu-types.js.map +1 -1
  142. package/lib/common/messaging/proxy-factory.d.ts.map +1 -1
  143. package/lib/common/messaging/proxy-factory.js +4 -0
  144. package/lib/common/messaging/proxy-factory.js.map +1 -1
  145. package/lib/electron-browser/menu/electron-context-menu-renderer.d.ts +15 -5
  146. package/lib/electron-browser/menu/electron-context-menu-renderer.d.ts.map +1 -1
  147. package/lib/electron-browser/menu/electron-context-menu-renderer.js +21 -14
  148. package/lib/electron-browser/menu/electron-context-menu-renderer.js.map +1 -1
  149. package/lib/electron-browser/menu/electron-main-menu-factory.d.ts +4 -16
  150. package/lib/electron-browser/menu/electron-main-menu-factory.d.ts.map +1 -1
  151. package/lib/electron-browser/menu/electron-main-menu-factory.js +84 -104
  152. package/lib/electron-browser/menu/electron-main-menu-factory.js.map +1 -1
  153. package/lib/electron-browser/menu/electron-menu-contribution.d.ts.map +1 -1
  154. package/lib/electron-browser/menu/electron-menu-contribution.js +1 -4
  155. package/lib/electron-browser/menu/electron-menu-contribution.js.map +1 -1
  156. package/lib/electron-browser/menu/electron-menu-module.d.ts.map +1 -1
  157. package/lib/electron-browser/menu/electron-menu-module.js +5 -0
  158. package/lib/electron-browser/menu/electron-menu-module.js.map +1 -1
  159. package/lib/electron-browser/window/electron-secondary-window-service.d.ts +1 -0
  160. package/lib/electron-browser/window/electron-secondary-window-service.d.ts.map +1 -1
  161. package/lib/electron-browser/window/electron-secondary-window-service.js +20 -0
  162. package/lib/electron-browser/window/electron-secondary-window-service.js.map +1 -1
  163. package/lib/electron-browser/window/electron-window-service.d.ts +3 -0
  164. package/lib/electron-browser/window/electron-window-service.d.ts.map +1 -1
  165. package/lib/electron-browser/window/electron-window-service.js +10 -1
  166. package/lib/electron-browser/window/electron-window-service.js.map +1 -1
  167. package/lib/electron-main/theia-electron-window.d.ts.map +1 -1
  168. package/lib/electron-main/theia-electron-window.js +2 -0
  169. package/lib/electron-main/theia-electron-window.js.map +1 -1
  170. package/package.json +7 -8
  171. package/src/browser/common-frontend-contribution.ts +14 -14
  172. package/src/browser/context-menu-renderer.ts +33 -5
  173. package/src/browser/frontend-application-module.ts +1 -7
  174. package/src/browser/hover-service.ts +7 -0
  175. package/src/browser/menu/action-menu-node.ts +128 -0
  176. package/src/browser/menu/browser-context-menu-renderer.ts +18 -11
  177. package/src/browser/menu/browser-menu-module.ts +4 -0
  178. package/src/browser/menu/browser-menu-node-factory.ts +48 -0
  179. package/src/browser/menu/browser-menu-plugin.ts +80 -168
  180. package/src/browser/menu/composite-menu-node.ts +140 -0
  181. package/src/{common → browser}/menu/menu.spec.ts +47 -15
  182. package/src/browser/open-with-service.ts +1 -1
  183. package/src/browser/saveable-service.ts +6 -1
  184. package/src/browser/shell/application-shell.ts +91 -29
  185. package/src/browser/shell/index.ts +1 -0
  186. package/src/browser/shell/sidebar-bottom-menu-widget.tsx +2 -1
  187. package/src/browser/shell/sidebar-menu-widget.tsx +12 -2
  188. package/src/browser/shell/tab-bar-toolbar/tab-bar-toolbar-menu-adapters.tsx +239 -0
  189. package/src/browser/shell/tab-bar-toolbar/tab-bar-toolbar-registry.ts +59 -102
  190. package/src/browser/shell/tab-bar-toolbar/tab-bar-toolbar-types.ts +14 -23
  191. package/src/browser/shell/tab-bar-toolbar/tab-bar-toolbar.spec.ts +14 -14
  192. package/src/browser/shell/tab-bar-toolbar/tab-bar-toolbar.tsx +34 -261
  193. package/src/browser/shell/tab-bar-toolbar/tab-toolbar-item.tsx +251 -0
  194. package/src/browser/shell/tab-bars.ts +2 -1
  195. package/src/browser/shell/theia-dock-panel.ts +10 -91
  196. package/src/browser/shell/theia-split-panel.ts +56 -0
  197. package/src/browser/style/hover-service.css +6 -1
  198. package/src/browser/style/index.css +3 -11
  199. package/src/browser/style/view-container.css +17 -31
  200. package/src/browser/tree/tree-widget.tsx +7 -0
  201. package/src/browser/view-container.ts +51 -30
  202. package/src/browser/window/default-secondary-window-service.ts +4 -0
  203. package/src/common/listener.spec.ts +315 -0
  204. package/src/common/listener.ts +88 -0
  205. package/src/common/menu/index.ts +2 -3
  206. package/src/common/menu/menu-model-registry.ts +187 -230
  207. package/src/common/menu/menu-types.ts +82 -128
  208. package/src/common/messaging/proxy-factory.ts +4 -1
  209. package/src/electron-browser/menu/electron-context-menu-renderer.ts +29 -13
  210. package/src/electron-browser/menu/electron-main-menu-factory.ts +92 -116
  211. package/src/electron-browser/menu/electron-menu-contribution.ts +1 -4
  212. package/src/electron-browser/menu/electron-menu-module.ts +6 -1
  213. package/src/electron-browser/window/electron-secondary-window-service.ts +22 -0
  214. package/src/electron-browser/window/electron-window-service.ts +11 -1
  215. package/src/electron-main/theia-electron-window.ts +2 -0
  216. package/lib/common/menu/action-menu-node.d.ts +0 -20
  217. package/lib/common/menu/action-menu-node.d.ts.map +0 -1
  218. package/lib/common/menu/action-menu-node.js +0 -57
  219. package/lib/common/menu/action-menu-node.js.map +0 -1
  220. package/lib/common/menu/composite-menu-node.d.ts +0 -47
  221. package/lib/common/menu/composite-menu-node.d.ts.map +0 -1
  222. package/lib/common/menu/composite-menu-node.js +0 -96
  223. package/lib/common/menu/composite-menu-node.js.map +0 -1
  224. package/lib/common/menu/composite-menu-node.spec.d.ts +0 -2
  225. package/lib/common/menu/composite-menu-node.spec.d.ts.map +0 -1
  226. package/lib/common/menu/composite-menu-node.spec.js +0 -68
  227. package/lib/common/menu/composite-menu-node.spec.js.map +0 -1
  228. package/lib/common/menu/menu-adapter.d.ts +0 -36
  229. package/lib/common/menu/menu-adapter.d.ts.map +0 -1
  230. package/lib/common/menu/menu-adapter.js +0 -93
  231. package/lib/common/menu/menu-adapter.js.map +0 -1
  232. package/lib/common/menu/menu.spec.d.ts.map +0 -1
  233. package/lib/common/menu/menu.spec.js.map +0 -1
  234. package/lib/common/test/mock-menu.d.ts +0 -8
  235. package/lib/common/test/mock-menu.d.ts.map +0 -1
  236. package/lib/common/test/mock-menu.js +0 -35
  237. package/lib/common/test/mock-menu.js.map +0 -1
  238. package/src/browser/shell/tab-bar-toolbar/tab-bar-toolbar-menu-adapters.ts +0 -31
  239. package/src/common/menu/action-menu-node.ts +0 -65
  240. package/src/common/menu/composite-menu-node.spec.ts +0 -67
  241. package/src/common/menu/composite-menu-node.ts +0 -116
  242. package/src/common/menu/menu-adapter.ts +0 -103
  243. package/src/common/test/mock-menu.ts +0 -35
  244. /package/lib/{common → browser}/menu/menu.spec.d.ts +0 -0
@@ -15,23 +15,176 @@
15
15
  // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
16
  // *****************************************************************************
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.ToolbarMenuNodeWrapper = exports.TOOLBAR_WRAPPER_ID_SUFFIX = void 0;
18
+ exports.ToolbarSubmenuWrapper = exports.ToolbarMenuNodeWrapper = exports.TOOLBAR_WRAPPER_ID_SUFFIX = void 0;
19
+ const React = require("react");
19
20
  const tab_bar_toolbar_types_1 = require("./tab-bar-toolbar-types");
21
+ const tab_bar_toolbar_1 = require("./tab-bar-toolbar");
22
+ const widgets_1 = require("../../widgets");
23
+ const menu_1 = require("../../../common/menu");
20
24
  exports.TOOLBAR_WRAPPER_ID_SUFFIX = '-as-tabbar-toolbar-item';
21
- class ToolbarMenuNodeWrapper {
22
- constructor(menuNode, group, delegateMenuPath, menuPath) {
25
+ class AbstractToolbarMenuWrapper {
26
+ constructor(effectiveMenuPath, commandRegistry, menuRegistry, contextKeyService, contextMenuRenderer) {
27
+ this.effectiveMenuPath = effectiveMenuPath;
28
+ this.commandRegistry = commandRegistry;
29
+ this.menuRegistry = menuRegistry;
30
+ this.contextKeyService = contextKeyService;
31
+ this.contextMenuRenderer = contextMenuRenderer;
32
+ }
33
+ isEnabled() {
34
+ if (menu_1.CommandMenu.is(this.menuNode)) {
35
+ return this.menuNode.isEnabled(this.effectiveMenuPath);
36
+ }
37
+ return true;
38
+ }
39
+ isToggled() {
40
+ if (menu_1.CommandMenu.is(this.menuNode) && this.menuNode.isToggled) {
41
+ return !!this.menuNode.isToggled(this.effectiveMenuPath);
42
+ }
43
+ return false;
44
+ }
45
+ render(widget) {
46
+ return this.renderMenuItem(widget);
47
+ }
48
+ toMenuNode() {
49
+ return this.menuNode;
50
+ }
51
+ /**
52
+ * Presents the menu to popup on the `event` that is the clicking of
53
+ * a menu toolbar item.
54
+ *
55
+ * @param menuPath the path of the registered menu to show
56
+ * @param event the mouse event triggering the menu
57
+ */
58
+ showPopupMenu(widget, menuPath, event, contextMatcher) {
59
+ event.stopPropagation();
60
+ event.preventDefault();
61
+ const anchor = (0, tab_bar_toolbar_1.toAnchor)(event);
62
+ this.contextMenuRenderer.render({
63
+ menuPath: menuPath,
64
+ menu: this.menuNode,
65
+ args: [widget],
66
+ anchor,
67
+ context: (widget === null || widget === void 0 ? void 0 : widget.node) || event.target,
68
+ contextKeyService: contextMatcher,
69
+ });
70
+ }
71
+ /**
72
+ * Renders a toolbar item that is a menu, presenting it as a button with a little
73
+ * chevron decoration that pops up a floating menu when clicked.
74
+ *
75
+ * @param item a toolbar item that is a menu item
76
+ * @returns the rendered toolbar item
77
+ */
78
+ renderMenuItem(widget) {
79
+ const icon = this.icon || 'ellipsis';
80
+ const contextMatcher = this.contextKeyService;
81
+ if (menu_1.CompoundMenuNode.is(this.menuNode) && !this.menuNode.isEmpty(this.effectiveMenuPath, this.contextKeyService, widget.node)) {
82
+ return React.createElement("div", { key: this.id, className: tab_bar_toolbar_1.TabBarToolbar.Styles.TAB_BAR_TOOLBAR_ITEM + ' enabled menu' },
83
+ React.createElement("div", { className: (0, widgets_1.codicon)(icon, true), title: this.text, onClick: e => this.executeCommand(e) }),
84
+ React.createElement("div", { className: widgets_1.ACTION_ITEM, onClick: event => this.showPopupMenu(widget, this.menuPath, event, contextMatcher) },
85
+ React.createElement("div", { className: (0, widgets_1.codicon)('chevron-down') + ' chevron' })));
86
+ }
87
+ else {
88
+ return React.createElement("div", { key: this.id, className: tab_bar_toolbar_1.TabBarToolbar.Styles.TAB_BAR_TOOLBAR_ITEM + ' enabled menu' },
89
+ React.createElement("div", { className: (0, widgets_1.codicon)(icon, true), title: this.text, onClick: e => this.executeCommand(e) }));
90
+ }
91
+ }
92
+ }
93
+ class ToolbarMenuNodeWrapper extends AbstractToolbarMenuWrapper {
94
+ constructor(effectiveMenuPath, commandRegistry, menuRegistry, contextKeyService, contextMenuRenderer, menuNode, group, menuPath) {
95
+ super(effectiveMenuPath, commandRegistry, menuRegistry, contextKeyService, contextMenuRenderer);
23
96
  this.menuNode = menuNode;
24
97
  this.group = group;
25
- this.delegateMenuPath = delegateMenuPath;
26
98
  this.menuPath = menuPath;
27
99
  }
100
+ executeCommand(e) {
101
+ if (menu_1.CommandMenu.is(this.menuNode)) {
102
+ this.menuNode.run(this.effectiveMenuPath);
103
+ }
104
+ }
105
+ isVisible(widget) {
106
+ const menuNodeVisible = this.menuNode.isVisible(this.effectiveMenuPath, this.contextKeyService, widget.node);
107
+ if (menu_1.CommandMenu.is(this.menuNode)) {
108
+ return menuNodeVisible;
109
+ }
110
+ else if (menu_1.CompoundMenuNode.is(this.menuNode)) {
111
+ return menuNodeVisible && !menu_1.MenuModelRegistry.isEmpty(this.menuNode);
112
+ }
113
+ else {
114
+ return menuNodeVisible;
115
+ }
116
+ }
28
117
  get id() { return this.menuNode.id + exports.TOOLBAR_WRAPPER_ID_SUFFIX; }
29
- get command() { var _a; return (_a = this.menuNode.command) !== null && _a !== void 0 ? _a : ''; }
30
- ;
31
118
  get icon() { return this.menuNode.icon; }
32
119
  get tooltip() { return this.menuNode.label; }
33
- get when() { return this.menuNode.when; }
34
- get text() { return (this.group === tab_bar_toolbar_types_1.NAVIGATION || this.group === undefined) ? undefined : this.menuNode.label; }
120
+ get text() {
121
+ return (this.group === tab_bar_toolbar_types_1.NAVIGATION || this.group === undefined) ? undefined : this.menuNode.label;
122
+ }
123
+ get onDidChange() {
124
+ return this.menuNode.onDidChange;
125
+ }
35
126
  }
36
127
  exports.ToolbarMenuNodeWrapper = ToolbarMenuNodeWrapper;
128
+ class ToolbarSubmenuWrapper extends AbstractToolbarMenuWrapper {
129
+ constructor(effectiveMenuPath, commandRegistry, menuRegistry, contextKeyService, contextMenuRenderer, toolbarItem) {
130
+ super(effectiveMenuPath, commandRegistry, menuRegistry, contextKeyService, contextMenuRenderer);
131
+ this.toolbarItem = toolbarItem;
132
+ }
133
+ isEnabled(widget) {
134
+ return this.toolbarItem.command ? this.commandRegistry.isEnabled(this.toolbarItem.command, widget) : !!this.toolbarItem.menuPath;
135
+ }
136
+ executeCommand(e, widget) {
137
+ e.preventDefault();
138
+ e.stopPropagation();
139
+ if (!this.isEnabled(widget)) {
140
+ return;
141
+ }
142
+ if (this.toolbarItem.command) {
143
+ this.commandRegistry.executeCommand(this.toolbarItem.command, widget);
144
+ }
145
+ }
146
+ ;
147
+ isVisible(widget) {
148
+ const menuNode = this.menuNode;
149
+ if (this.toolbarItem.isVisible && !this.toolbarItem.isVisible(widget)) {
150
+ return false;
151
+ }
152
+ if (!menuNode.isVisible(this.effectiveMenuPath, this.contextKeyService, widget.node, widget)) {
153
+ return false;
154
+ }
155
+ if (this.toolbarItem.command) {
156
+ return true;
157
+ }
158
+ if (menu_1.CompoundMenuNode.is(menuNode)) {
159
+ return !menuNode.isEmpty(this.effectiveMenuPath, this.contextKeyService, widget.node, widget);
160
+ }
161
+ return true;
162
+ }
163
+ get id() { return this.toolbarItem.id; }
164
+ get icon() {
165
+ if (typeof this.toolbarItem.icon === 'function') {
166
+ return this.toolbarItem.icon();
167
+ }
168
+ if (this.toolbarItem.icon) {
169
+ return this.toolbarItem.icon;
170
+ }
171
+ if (this.toolbarItem.command) {
172
+ const command = this.commandRegistry.getCommand(this.toolbarItem.command);
173
+ return command === null || command === void 0 ? void 0 : command.iconClass;
174
+ }
175
+ return undefined;
176
+ }
177
+ get tooltip() { return this.toolbarItem.tooltip; }
178
+ get text() { return (this.toolbarItem.group === tab_bar_toolbar_types_1.NAVIGATION || this.toolbarItem.group === undefined) ? undefined : this.toolbarItem.text; }
179
+ get onDidChange() {
180
+ return this.menuNode.onDidChange;
181
+ }
182
+ get menuPath() {
183
+ return this.toolbarItem.menuPath;
184
+ }
185
+ get menuNode() {
186
+ return this.menuRegistry.getMenu(this.menuPath);
187
+ }
188
+ }
189
+ exports.ToolbarSubmenuWrapper = ToolbarSubmenuWrapper;
37
190
  //# sourceMappingURL=tab-bar-toolbar-menu-adapters.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tab-bar-toolbar-menu-adapters.js","sourceRoot":"","sources":["../../../../src/browser/shell/tab-bar-toolbar/tab-bar-toolbar-menu-adapters.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;;;AAGhF,mEAA0E;AAE7D,QAAA,yBAAyB,GAAG,yBAAyB,CAAC;AAEnE,MAAa,sBAAsB;IAC/B,YAA+B,QAAkB,EAAW,KAAyB,EAAW,gBAA0B,EAAW,QAAmB;QAAzH,aAAQ,GAAR,QAAQ,CAAU;QAAW,UAAK,GAAL,KAAK,CAAoB;QAAW,qBAAgB,GAAhB,gBAAgB,CAAU;QAAW,aAAQ,GAAR,QAAQ,CAAW;IAAI,CAAC;IAC7J,IAAI,EAAE,KAAa,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,iCAAyB,CAAC,CAAC,CAAC;IACzE,IAAI,OAAO,aAAa,OAAO,MAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,mCAAI,EAAE,CAAC,CAAC,CAAC;IAAA,CAAC;IAC9D,IAAI,IAAI,KAAyB,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7D,IAAI,OAAO,KAAyB,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IACjE,IAAI,IAAI,KAAyB,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7D,IAAI,IAAI,KAAyB,OAAO,CAAC,IAAI,CAAC,KAAK,KAAK,kCAAU,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;CACvI;AARD,wDAQC"}
1
+ {"version":3,"file":"tab-bar-toolbar-menu-adapters.js","sourceRoot":"","sources":["../../../../src/browser/shell/tab-bar-toolbar/tab-bar-toolbar-menu-adapters.tsx"],"names":[],"mappings":"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"}
@@ -1,9 +1,13 @@
1
1
  /// <reference types="lodash" />
2
- import { CommandRegistry, ContributionProvider, Disposable, Emitter, Event, MenuModelRegistry, MenuPath } from '../../../common';
2
+ import { CommandRegistry, ContributionProvider, Disposable, DisposableCollection, Emitter, Event, MenuModelRegistry, MenuPath } from '../../../common';
3
3
  import { ContextKeyService } from '../../context-key-service';
4
4
  import { FrontendApplicationContribution } from '../../frontend-application-contribution';
5
5
  import { Widget } from '../../widgets';
6
- import { MenuDelegate, ReactTabBarToolbarItem, RenderedToolbarItem, TabBarToolbarItem } from './tab-bar-toolbar-types';
6
+ import { ReactTabBarToolbarAction, RenderedToolbarAction } from './tab-bar-toolbar-types';
7
+ import { KeybindingRegistry } from '../../keybinding';
8
+ import { LabelParser } from '../../label-parser';
9
+ import { ContextMenuRenderer } from '../../context-menu-renderer';
10
+ import { TabBarToolbarItem } from './tab-toolbar-item';
7
11
  /**
8
12
  * Clients should implement this interface if they want to contribute to the tab-bar toolbar.
9
13
  */
@@ -18,6 +22,10 @@ export interface TabBarToolbarContribution {
18
22
  */
19
23
  registerToolbarItems(registry: TabBarToolbarRegistry): void;
20
24
  }
25
+ interface MenuDelegate {
26
+ menuPath: MenuPath;
27
+ isVisible(widget?: Widget): boolean;
28
+ }
21
29
  /**
22
30
  * Main, shared registry for tab-bar toolbar items.
23
31
  */
@@ -27,6 +35,9 @@ export declare class TabBarToolbarRegistry implements FrontendApplicationContrib
27
35
  protected readonly commandRegistry: CommandRegistry;
28
36
  protected readonly contextKeyService: ContextKeyService;
29
37
  protected readonly menuRegistry: MenuModelRegistry;
38
+ protected readonly keybindingRegistry: KeybindingRegistry;
39
+ protected readonly labelParser: LabelParser;
40
+ protected readonly contextMenuRenderer: ContextMenuRenderer;
30
41
  protected readonly contributionProvider: ContributionProvider<TabBarToolbarContribution>;
31
42
  protected readonly onDidChangeEmitter: Emitter<void>;
32
43
  readonly onDidChange: Event<void>;
@@ -37,41 +48,15 @@ export declare class TabBarToolbarRegistry implements FrontendApplicationContrib
37
48
  *
38
49
  * @param item the item to register.
39
50
  */
40
- registerItem(item: RenderedToolbarItem | ReactTabBarToolbarItem): Disposable;
51
+ registerItem(item: RenderedToolbarAction | ReactTabBarToolbarAction): Disposable;
52
+ doRegisterItem(item: TabBarToolbarItem): DisposableCollection;
41
53
  /**
42
54
  * Returns an array of tab-bar toolbar items which are visible when the `widget` argument is the current one.
43
55
  *
44
56
  * By default returns with all items where the command is enabled and `item.isVisible` is `true`.
45
57
  */
46
- visibleItems(widget: Widget): Array<TabBarToolbarItem | ReactTabBarToolbarItem>;
47
- /**
48
- * Query whether a toolbar `item` should be shown in the toolbar.
49
- * This implementation delegates to item-specific checks according to their type.
50
- *
51
- * @param item a menu toolbar item
52
- * @param widget the widget that is updating the toolbar
53
- * @returns `false` if the `item` should be suppressed, otherwise `true`
54
- */
55
- protected isItemVisible(item: TabBarToolbarItem | ReactTabBarToolbarItem, widget: Widget): boolean;
56
- /**
57
- * Query whether a conditional toolbar `item` should be shown in the toolbar.
58
- * This implementation delegates to the `item`'s own intrinsic conditionality.
59
- *
60
- * @param item a menu toolbar item
61
- * @param widget the widget that is updating the toolbar
62
- * @returns `false` if the `item` should be suppressed, otherwise `true`
63
- */
64
- protected isConditionalItemVisible(item: TabBarToolbarItem, widget: Widget): boolean;
65
- /**
66
- * Query whether a menu toolbar `item` should be shown in the toolbar.
67
- * This implementation returns `false` if the `item` does not have any actual menu to show.
68
- *
69
- * @param item a menu toolbar item
70
- * @param widget the widget that is updating the toolbar
71
- * @returns `false` if the `item` should be suppressed, otherwise `true`
72
- */
73
- isNonEmptyMenu(item: TabBarToolbarItem, widget: Widget | undefined): boolean;
74
- unregisterItem(itemOrId: TabBarToolbarItem | ReactTabBarToolbarItem | string): void;
58
+ visibleItems(widget: Widget): Array<TabBarToolbarItem>;
59
+ unregisterItem(id: string): void;
75
60
  registerMenuDelegate(menuPath: MenuPath, when?: ((widget: Widget) => boolean)): Disposable;
76
61
  unregisterMenuDelegate(menuPath: MenuPath): void;
77
62
  /**
@@ -83,4 +68,5 @@ export declare class TabBarToolbarRegistry implements FrontendApplicationContrib
83
68
  */
84
69
  toElementId(menuPath: MenuPath): string;
85
70
  }
71
+ export {};
86
72
  //# sourceMappingURL=tab-bar-toolbar-registry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tab-bar-toolbar-registry.d.ts","sourceRoot":"","sources":["../../../../src/browser/shell/tab-bar-toolbar/tab-bar-toolbar-registry.ts"],"names":[],"mappings":";AAmBA,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,UAAU,EAAwB,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAY,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACjK,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,+BAA+B,EAAE,MAAM,yCAAyC,CAAC;AAC1F,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAGvH;;GAEG;AACH,eAAO,MAAM,yBAAyB,eAAsC,CAAC;AAC7E;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACtC;;;OAGG;IACH,oBAAoB,CAAC,QAAQ,EAAE,qBAAqB,GAAG,IAAI,CAAC;CAC/D;AAKD;;GAEG;AACH,qBACa,qBAAsB,YAAW,+BAA+B;IAEzE,SAAS,CAAC,KAAK,iCAAiE;IAChF,SAAS,CAAC,aAAa,4BAAmC;IAEjC,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAClD,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IACxD,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,iBAAiB,CAAC;IAG9E,SAAS,CAAC,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB,CAAC,yBAAyB,CAAC,CAAC;IAEzF,SAAS,CAAC,QAAQ,CAAC,kBAAkB,gBAAuB;IAC5D,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,CAAiC;IAElE,SAAS,CAAC,eAAe,4CAA8D;IAEvF,OAAO,IAAI,IAAI;IAOf;;;;OAIG;IACH,YAAY,CAAC,IAAI,EAAE,mBAAmB,GAAG,sBAAsB,GAAG,UAAU;IAiB5E;;;;OAIG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC,iBAAiB,GAAG,sBAAsB,CAAC;IAiC/E;;;;;;;OAOG;IACH,SAAS,CAAC,aAAa,CAAC,IAAI,EAAE,iBAAiB,GAAG,sBAAsB,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO;IAgBlG;;;;;;;OAOG;IACH,SAAS,CAAC,wBAAwB,CAAC,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO;IAUpF;;;;;;;OAOG;IACH,cAAc,CAAC,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO;IAmB5E,cAAc,CAAC,QAAQ,EAAE,iBAAiB,GAAG,sBAAsB,GAAG,MAAM,GAAG,IAAI;IAOnF,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,UAAU;IAgB1F,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAMhD;;;;;;OAMG;IACH,WAAW,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM;CAI1C"}
1
+ {"version":3,"file":"tab-bar-toolbar-registry.d.ts","sourceRoot":"","sources":["../../../../src/browser/shell/tab-bar-toolbar/tab-bar-toolbar-registry.ts"],"names":[],"mappings":";AAmBA,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,UAAU,EAAE,oBAAoB,EAAE,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACvJ,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,+BAA+B,EAAE,MAAM,yCAAyC,CAAC;AAC1F,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAE1F,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAElE,OAAO,EAAiD,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEtG;;GAEG;AACH,eAAO,MAAM,yBAAyB,eAAsC,CAAC;AAC7E;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACtC;;;OAGG;IACH,oBAAoB,CAAC,QAAQ,EAAE,qBAAqB,GAAG,IAAI,CAAC;CAC/D;AAGD,UAAU,YAAY;IAClB,QAAQ,EAAE,QAAQ,CAAC;IACnB,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACvC;AACD;;GAEG;AACH,qBACa,qBAAsB,YAAW,+BAA+B;IAEzE,SAAS,CAAC,KAAK,iCAAwC;IACvD,SAAS,CAAC,aAAa,4BAAmC;IAEjC,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAClD,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IACxD,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,iBAAiB,CAAC;IAClD,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;IACjE,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IACpC,SAAS,CAAC,QAAQ,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;IAGzF,SAAS,CAAC,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB,CAAC,yBAAyB,CAAC,CAAC;IAEzF,SAAS,CAAC,QAAQ,CAAC,kBAAkB,gBAAuB;IAC5D,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,CAAiC;IAElE,SAAS,CAAC,eAAe,4CAA8D;IAEvF,OAAO,IAAI,IAAI;IAOf;;;;OAIG;IACH,YAAY,CAAC,IAAI,EAAE,qBAAqB,GAAG,wBAAwB,GAAG,UAAU;IAgBhF,cAAc,CAAC,IAAI,EAAE,iBAAiB,GAAG,oBAAoB;IAmB7D;;;;OAIG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC,iBAAiB,CAAC;IAkCtD,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAMhC,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,UAAU;IAc1F,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAMhD;;;;;;OAMG;IACH,WAAW,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM;CAI1C"}
@@ -22,12 +22,17 @@ const inversify_1 = require("inversify");
22
22
  // eslint-disable-next-line max-len
23
23
  const common_1 = require("../../../common");
24
24
  const context_key_service_1 = require("../../context-key-service");
25
+ const tab_bar_toolbar_types_1 = require("./tab-bar-toolbar-types");
25
26
  const tab_bar_toolbar_menu_adapters_1 = require("./tab-bar-toolbar-menu-adapters");
27
+ const keybinding_1 = require("../../keybinding");
28
+ const label_parser_1 = require("../../label-parser");
29
+ const context_menu_renderer_1 = require("../../context-menu-renderer");
30
+ const menu_1 = require("../../../common/menu");
31
+ const tab_toolbar_item_1 = require("./tab-toolbar-item");
26
32
  /**
27
33
  * Clients should implement this interface if they want to contribute to the tab-bar toolbar.
28
34
  */
29
35
  exports.TabBarToolbarContribution = Symbol('TabBarToolbarContribution');
30
- function yes() { return true; }
31
36
  const menuDelegateSeparator = '=@=';
32
37
  /**
33
38
  * Main, shared registry for tab-bar toolbar items.
@@ -53,13 +58,31 @@ let TabBarToolbarRegistry = class TabBarToolbarRegistry {
53
58
  * @param item the item to register.
54
59
  */
55
60
  registerItem(item) {
56
- const { id } = item;
57
- if (this.items.has(id)) {
58
- throw new Error(`A toolbar item is already registered with the '${id}' ID.`);
61
+ if (tab_bar_toolbar_types_1.ReactTabBarToolbarAction.is(item)) {
62
+ return this.doRegisterItem(new tab_toolbar_item_1.ReactToolbarItemImpl(this.commandRegistry, this.contextKeyService, item));
59
63
  }
60
- this.items.set(id, item);
64
+ else {
65
+ if (item.menuPath) {
66
+ return this.doRegisterItem(new tab_bar_toolbar_menu_adapters_1.ToolbarSubmenuWrapper(item.menuPath, this.commandRegistry, this.menuRegistry, this.contextKeyService, this.contextMenuRenderer, item));
67
+ }
68
+ else {
69
+ const wrapper = new tab_toolbar_item_1.RenderedToolbarItemImpl(this.commandRegistry, this.contextKeyService, this.keybindingRegistry, this.labelParser, item);
70
+ const disposables = this.doRegisterItem(wrapper);
71
+ disposables.push(wrapper);
72
+ return disposables;
73
+ }
74
+ }
75
+ }
76
+ doRegisterItem(item) {
77
+ if (this.items.has(item.id)) {
78
+ throw new Error(`A toolbar item is already registered with the '${item.id}' ID.`);
79
+ }
80
+ this.items.set(item.id, item);
61
81
  this.fireOnDidChange();
62
- const toDispose = new common_1.DisposableCollection(common_1.Disposable.create(() => this.fireOnDidChange()), common_1.Disposable.create(() => this.items.delete(id)));
82
+ const toDispose = new common_1.DisposableCollection(common_1.Disposable.create(() => {
83
+ this.items.delete(item.id);
84
+ this.fireOnDidChange();
85
+ }));
63
86
  if (item.onDidChange) {
64
87
  toDispose.push(item.onDidChange(() => this.fireOnDidChange()));
65
88
  }
@@ -76,7 +99,7 @@ let TabBarToolbarRegistry = class TabBarToolbarRegistry {
76
99
  }
77
100
  const result = [];
78
101
  for (const item of this.items.values()) {
79
- if (this.isItemVisible(item, widget)) {
102
+ if (item.isVisible(widget)) {
80
103
  result.push(item);
81
104
  }
82
105
  }
@@ -84,18 +107,16 @@ let TabBarToolbarRegistry = class TabBarToolbarRegistry {
84
107
  if (delegate.isVisible(widget)) {
85
108
  const menu = this.menuRegistry.getMenu(delegate.menuPath);
86
109
  for (const child of menu.children) {
87
- if (!child.when || this.contextKeyService.match(child.when, widget.node)) {
88
- if (child.children) {
110
+ if (child.isVisible([...delegate.menuPath, child.id], this.contextKeyService, widget.node)) {
111
+ if (menu_1.CompoundMenuNode.is(child)) {
89
112
  for (const grandchild of child.children) {
90
- if (!grandchild.when || this.contextKeyService.match(grandchild.when, widget.node)) {
91
- const menuPath = this.menuRegistry.getPath(grandchild);
92
- result.push(new tab_bar_toolbar_menu_adapters_1.ToolbarMenuNodeWrapper(grandchild, child.id, delegate.menuPath, menuPath));
113
+ if (grandchild.isVisible([...delegate.menuPath, child.id, grandchild.id], this.contextKeyService, widget.node) && menu_1.RenderedMenuNode.is(grandchild)) {
114
+ result.push(new tab_bar_toolbar_menu_adapters_1.ToolbarMenuNodeWrapper([...delegate.menuPath, child.id, grandchild.id], this.commandRegistry, this.menuRegistry, this.contextKeyService, this.contextMenuRenderer, grandchild, child.id, delegate.menuPath));
93
115
  }
94
116
  }
95
117
  }
96
- else if (child.command) {
97
- const menuPath = this.menuRegistry.getPath(child);
98
- result.push(new tab_bar_toolbar_menu_adapters_1.ToolbarMenuNodeWrapper(child, undefined, delegate.menuPath, menuPath));
118
+ else if (menu_1.CommandMenu.is(child)) {
119
+ result.push(new tab_bar_toolbar_menu_adapters_1.ToolbarMenuNodeWrapper([...delegate.menuPath, child.id], this.commandRegistry, this.menuRegistry, this.contextKeyService, this.contextMenuRenderer, child, undefined, delegate.menuPath));
99
120
  }
100
121
  }
101
122
  }
@@ -103,73 +124,7 @@ let TabBarToolbarRegistry = class TabBarToolbarRegistry {
103
124
  }
104
125
  return result;
105
126
  }
106
- /**
107
- * Query whether a toolbar `item` should be shown in the toolbar.
108
- * This implementation delegates to item-specific checks according to their type.
109
- *
110
- * @param item a menu toolbar item
111
- * @param widget the widget that is updating the toolbar
112
- * @returns `false` if the `item` should be suppressed, otherwise `true`
113
- */
114
- isItemVisible(item, widget) {
115
- if (!this.isConditionalItemVisible(item, widget)) {
116
- return false;
117
- }
118
- if (item.command && !this.commandRegistry.isVisible(item.command, widget)) {
119
- return false;
120
- }
121
- if (item.menuPath && !this.isNonEmptyMenu(item, widget)) {
122
- return false;
123
- }
124
- // The item is not vetoed. Accept it
125
- return true;
126
- }
127
- /**
128
- * Query whether a conditional toolbar `item` should be shown in the toolbar.
129
- * This implementation delegates to the `item`'s own intrinsic conditionality.
130
- *
131
- * @param item a menu toolbar item
132
- * @param widget the widget that is updating the toolbar
133
- * @returns `false` if the `item` should be suppressed, otherwise `true`
134
- */
135
- isConditionalItemVisible(item, widget) {
136
- if (item.isVisible && !item.isVisible(widget)) {
137
- return false;
138
- }
139
- if (item.when && !this.contextKeyService.match(item.when, widget.node)) {
140
- return false;
141
- }
142
- return true;
143
- }
144
- /**
145
- * Query whether a menu toolbar `item` should be shown in the toolbar.
146
- * This implementation returns `false` if the `item` does not have any actual menu to show.
147
- *
148
- * @param item a menu toolbar item
149
- * @param widget the widget that is updating the toolbar
150
- * @returns `false` if the `item` should be suppressed, otherwise `true`
151
- */
152
- isNonEmptyMenu(item, widget) {
153
- if (!item.menuPath) {
154
- return false;
155
- }
156
- const menu = this.menuRegistry.getMenu(item.menuPath);
157
- const isVisible = node => {
158
- var _a, _b;
159
- return ((_a = node.children) === null || _a === void 0 ? void 0 : _a.length)
160
- // Either the node is a sub-menu that has some visible child ...
161
- ? (_b = node.children) === null || _b === void 0 ? void 0 : _b.some(isVisible)
162
- // ... or there is a command ...
163
- : !!node.command
164
- // ... that is visible ...
165
- && this.commandRegistry.isVisible(node.command, widget)
166
- // ... and a "when" clause does not suppress the menu node.
167
- && (!node.when || this.contextKeyService.match(node.when, widget === null || widget === void 0 ? void 0 : widget.node));
168
- };
169
- return isVisible(menu);
170
- }
171
- unregisterItem(itemOrId) {
172
- const id = typeof itemOrId === 'string' ? itemOrId : itemOrId.id;
127
+ unregisterItem(id) {
173
128
  if (this.items.delete(id)) {
174
129
  this.fireOnDidChange();
175
130
  }
@@ -177,12 +132,9 @@ let TabBarToolbarRegistry = class TabBarToolbarRegistry {
177
132
  registerMenuDelegate(menuPath, when) {
178
133
  const id = this.toElementId(menuPath);
179
134
  if (!this.menuDelegates.has(id)) {
180
- const isVisible = !when
181
- ? yes
182
- : typeof when === 'function'
183
- ? when
184
- : widget => this.contextKeyService.match(when, widget === null || widget === void 0 ? void 0 : widget.node);
185
- this.menuDelegates.set(id, { menuPath, isVisible });
135
+ this.menuDelegates.set(id, {
136
+ menuPath, isVisible: (widget) => !when || when(widget)
137
+ });
186
138
  this.fireOnDidChange();
187
139
  return { dispose: () => this.unregisterMenuDelegate(menuPath) };
188
140
  }
@@ -218,6 +170,18 @@ tslib_1.__decorate([
218
170
  (0, inversify_1.inject)(common_1.MenuModelRegistry),
219
171
  tslib_1.__metadata("design:type", common_1.MenuModelRegistry)
220
172
  ], TabBarToolbarRegistry.prototype, "menuRegistry", void 0);
173
+ tslib_1.__decorate([
174
+ (0, inversify_1.inject)(keybinding_1.KeybindingRegistry),
175
+ tslib_1.__metadata("design:type", keybinding_1.KeybindingRegistry)
176
+ ], TabBarToolbarRegistry.prototype, "keybindingRegistry", void 0);
177
+ tslib_1.__decorate([
178
+ (0, inversify_1.inject)(label_parser_1.LabelParser),
179
+ tslib_1.__metadata("design:type", label_parser_1.LabelParser)
180
+ ], TabBarToolbarRegistry.prototype, "labelParser", void 0);
181
+ tslib_1.__decorate([
182
+ (0, inversify_1.inject)(context_menu_renderer_1.ContextMenuRenderer),
183
+ tslib_1.__metadata("design:type", context_menu_renderer_1.ContextMenuRenderer)
184
+ ], TabBarToolbarRegistry.prototype, "contextMenuRenderer", void 0);
221
185
  tslib_1.__decorate([
222
186
  (0, inversify_1.inject)(common_1.ContributionProvider),
223
187
  (0, inversify_1.named)(exports.TabBarToolbarContribution),
@@ -1 +1 @@
1
- {"version":3,"file":"tab-bar-toolbar-registry.js","sourceRoot":"","sources":["../../../../src/browser/shell/tab-bar-toolbar/tab-bar-toolbar-registry.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,4CAA6C;AAC7C,yCAAsD;AACtD,mCAAmC;AACnC,4CAAiK;AACjK,mEAA8D;AAI9D,mFAAyE;AAEzE;;GAEG;AACU,QAAA,yBAAyB,GAAG,MAAM,CAAC,2BAA2B,CAAC,CAAC;AAY7E,SAAS,GAAG,KAAW,OAAO,IAAI,CAAC,CAAC,CAAC;AACrC,MAAM,qBAAqB,GAAG,KAAK,CAAC;AAEpC;;GAEG;AAEI,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;IAA3B;QAEO,UAAK,GAAG,IAAI,GAAG,EAAsD,CAAC;QACtE,kBAAa,GAAG,IAAI,GAAG,EAAwB,CAAC;QASvC,uBAAkB,GAAG,IAAI,gBAAO,EAAQ,CAAC;QACnD,gBAAW,GAAgB,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC;QAClE,qEAAqE;QAC3D,oBAAe,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;IAkL3F,CAAC;IAhLG,OAAO;QACH,MAAM,aAAa,GAAG,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,EAAE,CAAC;QACnE,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;YACvC,YAAY,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAC5C,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,YAAY,CAAC,IAAkD;QAC3D,MAAM,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC;QACpB,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,kDAAkD,EAAE,OAAO,CAAC,CAAC;QACjF,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QACzB,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,MAAM,SAAS,GAAG,IAAI,6BAAoB,CACtC,mBAAU,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,EAC/C,mBAAU,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CACjD,CAAC;QACF,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;QACnE,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAED;;;;OAIG;IACH,YAAY,CAAC,MAAc;QACvB,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACpB,OAAO,EAAE,CAAC;QACd,CAAC;QACD,MAAM,MAAM,GAAsD,EAAE,CAAC;QACrE,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;YACrC,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC;gBACnC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtB,CAAC;QACL,CAAC;QACD,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC;YACjD,IAAI,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBAC1D,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAChC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;wBACvE,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;4BACjB,KAAK,MAAM,UAAU,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;gCACtC,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;oCACjF,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;oCACvD,MAAM,CAAC,IAAI,CAAC,IAAI,sDAAsB,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;gCAC/F,CAAC;4BACL,CAAC;wBACL,CAAC;6BAAM,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;4BACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;4BAClD,MAAM,CAAC,IAAI,CAAC,IAAI,sDAAsB,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;wBAC3F,CAAC;oBACL,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;;;;;;OAOG;IACO,aAAa,CAAC,IAAgD,EAAE,MAAc;QACpF,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC;YAC/C,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC;YACxE,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC;YACtD,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,oCAAoC;QACpC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;;;;;OAOG;IACO,wBAAwB,CAAC,IAAuB,EAAE,MAAc;QACtE,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5C,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YACrE,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;;;;;OAOG;IACH,cAAc,CAAC,IAAuB,EAAE,MAA0B;QAC9D,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjB,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtD,MAAM,SAAS,GAAgC,IAAI,CAAC,EAAE;;YAClD,OAAA,CAAA,MAAA,IAAI,CAAC,QAAQ,0CAAE,MAAM;gBACjB,gEAAgE;gBAChE,CAAC,CAAC,MAAA,IAAI,CAAC,QAAQ,0CAAE,IAAI,CAAC,SAAS,CAAC;gBAChC,gCAAgC;gBAChC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO;oBAChB,0BAA0B;uBACvB,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC;oBACvD,2DAA2D;uBACxD,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,CAAC,CAAC,CAAA;SAAA,CAAC;QAEjF,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAED,cAAc,CAAC,QAA6D;QACxE,MAAM,EAAE,GAAG,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjE,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC,eAAe,EAAE,CAAC;QAC3B,CAAC;IACL,CAAC;IAED,oBAAoB,CAAC,QAAkB,EAAE,IAAoC;QACzE,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QACtC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YAC9B,MAAM,SAAS,GAA8B,CAAC,IAAI;gBAC9C,CAAC,CAAC,GAAG;gBACL,CAAC,CAAC,OAAO,IAAI,KAAK,UAAU;oBACxB,CAAC,CAAC,IAAI;oBACN,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,CAAC,CAAC;YACrE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;YACpD,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpE,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,wEAAwE,EAAE,QAAQ,CAAC,CAAC;QACjG,OAAO,mBAAU,CAAC,IAAI,CAAC;IAC3B,CAAC;IAED,sBAAsB,CAAC,QAAkB;QACrC,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;YACxD,IAAI,CAAC,eAAe,EAAE,CAAC;QAC3B,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACH,WAAW,CAAC,QAAkB;QAC1B,OAAO,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAChD,CAAC;CAEJ,CAAA;AAjMY,sDAAqB;AAKc;IAA3C,IAAA,kBAAM,EAAC,wBAAe,CAAC;sCAAqC,wBAAe;8DAAC;AAC/B;IAA7C,IAAA,kBAAM,EAAC,uCAAiB,CAAC;;gEAAyD;AACrC;IAA7C,IAAA,kBAAM,EAAC,0BAAiB,CAAC;sCAAkC,0BAAiB;2DAAC;AAG3D;IADlB,IAAA,kBAAM,EAAC,6BAAoB,CAAC;IAAE,IAAA,iBAAK,EAAC,iCAAyB,CAAC;;mEAC0B;gCAVhF,qBAAqB;IADjC,IAAA,sBAAU,GAAE;GACA,qBAAqB,CAiMjC"}
1
+ {"version":3,"file":"tab-bar-toolbar-registry.js","sourceRoot":"","sources":["../../../../src/browser/shell/tab-bar-toolbar/tab-bar-toolbar-registry.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import * as React from 'react';
2
- import { Event, MenuPath } from '../../../common';
2
+ import { Event } from '../../../common';
3
3
  import { Widget } from '../../widgets';
4
+ import { MenuPath } from '../../../common/menu';
4
5
  /** Items whose group is exactly 'navigation' will be rendered inline. */
5
6
  export declare const NAVIGATION = "navigation";
6
7
  export declare const TAB_BAR_TOOLBAR_CONTEXT_MENU: string[];
@@ -10,11 +11,11 @@ export interface TabBarDelegator extends Widget {
10
11
  export declare namespace TabBarDelegator {
11
12
  function is(candidate?: Widget): candidate is TabBarDelegator;
12
13
  }
13
- export type TabBarToolbarItem = RenderedToolbarItem | ReactTabBarToolbarItem;
14
+ export type TabBarToolbarAction = RenderedToolbarAction | ReactTabBarToolbarAction;
14
15
  /**
15
16
  * Representation of an item in the tab
16
17
  */
17
- export interface TabBarToolbarItemBase {
18
+ export interface TabBarToolbarActionBase {
18
19
  /**
19
20
  * The unique ID of the toolbar item.
20
21
  */
@@ -44,21 +45,14 @@ export interface TabBarToolbarItemBase {
44
45
  group?: string;
45
46
  /**
46
47
  * A menu path with which this item is associated.
47
- * If accompanied by a command, this data will be passed to the {@link MenuCommandExecutor}.
48
- * If no command is present, this menu will be opened.
49
48
  */
50
49
  menuPath?: MenuPath;
51
- /**
52
- * The path of the menu delegate that contributed this toolbar item
53
- */
54
- delegateMenuPath?: MenuPath;
55
- contextKeyOverlays?: Record<string, string>;
56
50
  /**
57
51
  * Optional ordering string for placing the item within its group
58
52
  */
59
53
  order?: string;
60
54
  }
61
- export interface RenderedToolbarItem extends TabBarToolbarItemBase {
55
+ export interface RenderedToolbarAction extends TabBarToolbarActionBase {
62
56
  /**
63
57
  * Optional icon for the item.
64
58
  */
@@ -81,22 +75,24 @@ export interface RenderedToolbarItem extends TabBarToolbarItemBase {
81
75
  }
82
76
  /**
83
77
  * Tab-bar toolbar item backed by a `React.ReactNode`.
84
- * Unlike the `TabBarToolbarItem`, this item is not connected to the command service.
78
+ * Unlike the `TabBarToolbarAction`, this item is not connected to the command service.
85
79
  */
86
- export interface ReactTabBarToolbarItem extends TabBarToolbarItemBase {
80
+ export interface ReactTabBarToolbarAction extends TabBarToolbarActionBase {
87
81
  render(widget?: Widget): React.ReactNode;
88
82
  }
89
- export declare namespace ReactTabBarToolbarItem {
90
- function is(item: TabBarToolbarItem): item is ReactTabBarToolbarItem;
91
- }
92
- export interface MenuDelegate {
93
- menuPath: MenuPath;
94
- isVisible(widget?: Widget): boolean;
83
+ export declare namespace ReactTabBarToolbarAction {
84
+ function is(item: TabBarToolbarAction): item is ReactTabBarToolbarAction;
95
85
  }
96
- export declare namespace TabBarToolbarItem {
86
+ export declare namespace TabBarToolbarAction {
97
87
  /**
98
88
  * Compares the items by `priority` in ascending. Undefined priorities will be treated as `0`.
99
89
  */
100
- const PRIORITY_COMPARATOR: (left: TabBarToolbarItem, right: TabBarToolbarItem) => number;
90
+ const PRIORITY_COMPARATOR: (left: {
91
+ group?: string;
92
+ priority?: number;
93
+ }, right: {
94
+ group?: string;
95
+ priority?: number;
96
+ }) => number;
101
97
  }
102
98
  //# sourceMappingURL=tab-bar-toolbar-types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tab-bar-toolbar-types.d.ts","sourceRoot":"","sources":["../../../../src/browser/shell/tab-bar-toolbar/tab-bar-toolbar-types.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAc,KAAK,EAAwB,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACpF,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAEvC,yEAAyE;AACzE,eAAO,MAAM,UAAU,eAAe,CAAC;AACvC,eAAO,MAAM,4BAA4B,UAAmC,CAAC;AAE7E,MAAM,WAAW,eAAgB,SAAQ,MAAM;IAC3C,iBAAiB,IAAI,MAAM,GAAG,SAAS,CAAC;CAC3C;AAED,yBAAiB,eAAe,CAAC;IAC7B,SAAgB,EAAE,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,IAAI,eAAe,CAEnE;CACJ;AAED,MAAM,MAAM,iBAAiB,GAAG,mBAAmB,GAAG,sBAAsB,CAAC;AAE7E;;GAEG;AACH,MAAM,WAAW,qBAAqB;IAClC;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,SAAS,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACrC;;;;OAIG;IACH,WAAW,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAE1B;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB;;OAEG;IACH,gBAAgB,CAAC,EAAE,QAAQ,CAAC;IAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5C;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,mBAAoB,SAAQ,qBAAqB;IAC9D;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,CAAC;IAE/B;;;;;;;;;OASG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,MAAM,WAAW,sBAAuB,SAAQ,qBAAqB;IACjE,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC;CAC5C;AAED,yBAAiB,sBAAsB,CAAC;IACpC,SAAgB,EAAE,CAAC,IAAI,EAAE,iBAAiB,GAAG,IAAI,IAAI,sBAAsB,CAE1E;CACJ;AAED,MAAM,WAAW,YAAY;IACzB,QAAQ,EAAE,QAAQ,CAAC;IACnB,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACvC;AAED,yBAAiB,iBAAiB,CAAC;IAE/B;;OAEG;IACI,MAAM,mBAAmB,SAAU,iBAAiB,SAAS,iBAAiB,WAapF,CAAC;CACL"}
1
+ {"version":3,"file":"tab-bar-toolbar-types.d.ts","sourceRoot":"","sources":["../../../../src/browser/shell/tab-bar-toolbar/tab-bar-toolbar-types.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAc,KAAK,EAAwB,MAAM,iBAAiB,CAAC;AAC1E,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD,yEAAyE;AACzE,eAAO,MAAM,UAAU,eAAe,CAAC;AACvC,eAAO,MAAM,4BAA4B,UAAmC,CAAC;AAE7E,MAAM,WAAW,eAAgB,SAAQ,MAAM;IAC3C,iBAAiB,IAAI,MAAM,GAAG,SAAS,CAAC;CAC3C;AAED,yBAAiB,eAAe,CAAC;IAC7B,SAAgB,EAAE,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,IAAI,eAAe,CAEnE;CACJ;AAED,MAAM,MAAM,mBAAmB,GAAG,qBAAqB,GAAG,wBAAwB,CAAC;AAEnF;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACpC;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,SAAS,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAErC;;;;OAIG;IACH,WAAW,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAE1B;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAEpB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,qBAAsB,SAAQ,uBAAuB;IAClE;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,CAAC;IAE/B;;;;;;;;;OASG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,MAAM,WAAW,wBAAyB,SAAQ,uBAAuB;IACrE,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC;CAC5C;AAED,yBAAiB,wBAAwB,CAAC;IACtC,SAAgB,EAAE,CAAC,IAAI,EAAE,mBAAmB,GAAG,IAAI,IAAI,wBAAwB,CAE9E;CACJ;AAED,yBAAiB,mBAAmB,CAAC;IAEjC;;OAEG;IACI,MAAM,mBAAmB,SAAU;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,SAAS;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,WAa5H,CAAC;CACL"}