@itwin/appui-react 4.0.0-dev.16 → 4.0.0-dev.18
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/CHANGELOG.md +43 -18
- package/lib/cjs/appui-react/UiFramework.d.ts +10 -20
- package/lib/cjs/appui-react/UiFramework.d.ts.map +1 -1
- package/lib/cjs/appui-react/UiFramework.js +12 -24
- package/lib/cjs/appui-react/UiFramework.js.map +1 -1
- package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.d.ts.map +1 -1
- package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.js +4 -4
- package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.js.map +1 -1
- package/lib/cjs/appui-react/dialog/ContentDialogManager.d.ts +0 -39
- package/lib/cjs/appui-react/dialog/ContentDialogManager.d.ts.map +1 -1
- package/lib/cjs/appui-react/dialog/ContentDialogManager.js +1 -61
- package/lib/cjs/appui-react/dialog/ContentDialogManager.js.map +1 -1
- package/lib/cjs/appui-react/dialog/ModalDialogManager.d.ts +0 -30
- package/lib/cjs/appui-react/dialog/ModalDialogManager.d.ts.map +1 -1
- package/lib/cjs/appui-react/dialog/ModalDialogManager.js +1 -44
- package/lib/cjs/appui-react/dialog/ModalDialogManager.js.map +1 -1
- package/lib/cjs/appui-react/dialog/ModelessDialogManager.d.ts +0 -39
- package/lib/cjs/appui-react/dialog/ModelessDialogManager.d.ts.map +1 -1
- package/lib/cjs/appui-react/dialog/ModelessDialogManager.js +1 -60
- package/lib/cjs/appui-react/dialog/ModelessDialogManager.js.map +1 -1
- package/lib/cjs/appui-react/framework/FrameworkChildWindows.d.ts +1 -1
- package/lib/cjs/appui-react/framework/FrameworkChildWindows.js.map +1 -1
- package/lib/cjs/appui-react/framework/FrameworkContent.d.ts +2 -2
- package/lib/cjs/appui-react/framework/FrameworkContent.js.map +1 -1
- package/lib/cjs/appui-react/framework/FrameworkControls.d.ts +1 -1
- package/lib/cjs/appui-react/framework/FrameworkControls.js.map +1 -1
- package/lib/cjs/appui-react/framework/FrameworkDialogs.d.ts +1 -1
- package/lib/cjs/appui-react/framework/FrameworkDialogs.js.map +1 -1
- package/lib/cjs/appui-react/framework/FrameworkFrontstages.d.ts +7 -3
- package/lib/cjs/appui-react/framework/FrameworkFrontstages.d.ts.map +1 -1
- package/lib/cjs/appui-react/framework/FrameworkFrontstages.js.map +1 -1
- package/lib/cjs/appui-react/framework/FrameworkKeyboardShortcuts.d.ts +1 -1
- package/lib/cjs/appui-react/framework/FrameworkKeyboardShortcuts.js.map +1 -1
- package/lib/cjs/appui-react/framework/FrameworkToolSettings.d.ts +1 -1
- package/lib/cjs/appui-react/framework/FrameworkToolSettings.js.map +1 -1
- package/lib/cjs/appui-react/framework/FrameworkVisibility.d.ts +1 -1
- package/lib/cjs/appui-react/framework/FrameworkVisibility.js.map +1 -1
- package/lib/cjs/appui-react/frontstage/FrontstageDef.d.ts +1 -1
- package/lib/cjs/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
- package/lib/cjs/appui-react/frontstage/FrontstageDef.js +12 -3
- package/lib/cjs/appui-react/frontstage/FrontstageDef.js.map +1 -1
- package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.d.ts +6 -2
- package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.d.ts.map +1 -1
- package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.js +5 -1
- package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.js.map +1 -1
- package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcut.d.ts +0 -32
- package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcut.d.ts.map +1 -1
- package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcut.js +1 -55
- package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcut.js.map +1 -1
- package/lib/cjs/appui-react/messages/MessageManager.js +2 -3
- package/lib/cjs/appui-react/messages/MessageManager.js.map +1 -1
- package/lib/cjs/appui-react/stagepanels/StagePanelDef.d.ts +13 -197
- package/lib/cjs/appui-react/stagepanels/StagePanelDef.d.ts.map +1 -1
- package/lib/cjs/appui-react/stagepanels/StagePanelDef.js +32 -4
- package/lib/cjs/appui-react/stagepanels/StagePanelDef.js.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/AbstractUiItemsManager.d.ts +34 -0
- package/lib/cjs/appui-react/ui-items-provider/AbstractUiItemsManager.d.ts.map +1 -0
- package/lib/cjs/appui-react/ui-items-provider/AbstractUiItemsManager.js +500 -0
- package/lib/cjs/appui-react/ui-items-provider/AbstractUiItemsManager.js.map +1 -0
- package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.d.ts +6 -4
- package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.d.ts.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.js +33 -6
- package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
- package/lib/cjs/appui-react.d.ts +0 -7
- package/lib/cjs/appui-react.d.ts.map +1 -1
- package/lib/cjs/appui-react.js +0 -7
- package/lib/cjs/appui-react.js.map +1 -1
- package/lib/esm/appui-react/UiFramework.d.ts +10 -20
- package/lib/esm/appui-react/UiFramework.d.ts.map +1 -1
- package/lib/esm/appui-react/UiFramework.js +12 -24
- package/lib/esm/appui-react/UiFramework.js.map +1 -1
- package/lib/esm/appui-react/childwindow/InternalChildWindowManager.d.ts.map +1 -1
- package/lib/esm/appui-react/childwindow/InternalChildWindowManager.js +4 -4
- package/lib/esm/appui-react/childwindow/InternalChildWindowManager.js.map +1 -1
- package/lib/esm/appui-react/dialog/ContentDialogManager.d.ts +0 -39
- package/lib/esm/appui-react/dialog/ContentDialogManager.d.ts.map +1 -1
- package/lib/esm/appui-react/dialog/ContentDialogManager.js +0 -59
- package/lib/esm/appui-react/dialog/ContentDialogManager.js.map +1 -1
- package/lib/esm/appui-react/dialog/ModalDialogManager.d.ts +0 -30
- package/lib/esm/appui-react/dialog/ModalDialogManager.d.ts.map +1 -1
- package/lib/esm/appui-react/dialog/ModalDialogManager.js +0 -42
- package/lib/esm/appui-react/dialog/ModalDialogManager.js.map +1 -1
- package/lib/esm/appui-react/dialog/ModelessDialogManager.d.ts +0 -39
- package/lib/esm/appui-react/dialog/ModelessDialogManager.d.ts.map +1 -1
- package/lib/esm/appui-react/dialog/ModelessDialogManager.js +0 -58
- package/lib/esm/appui-react/dialog/ModelessDialogManager.js.map +1 -1
- package/lib/esm/appui-react/framework/FrameworkChildWindows.d.ts +1 -1
- package/lib/esm/appui-react/framework/FrameworkChildWindows.js.map +1 -1
- package/lib/esm/appui-react/framework/FrameworkContent.d.ts +2 -2
- package/lib/esm/appui-react/framework/FrameworkContent.js.map +1 -1
- package/lib/esm/appui-react/framework/FrameworkControls.d.ts +1 -1
- package/lib/esm/appui-react/framework/FrameworkControls.js.map +1 -1
- package/lib/esm/appui-react/framework/FrameworkDialogs.d.ts +1 -1
- package/lib/esm/appui-react/framework/FrameworkDialogs.js.map +1 -1
- package/lib/esm/appui-react/framework/FrameworkFrontstages.d.ts +7 -3
- package/lib/esm/appui-react/framework/FrameworkFrontstages.d.ts.map +1 -1
- package/lib/esm/appui-react/framework/FrameworkFrontstages.js.map +1 -1
- package/lib/esm/appui-react/framework/FrameworkKeyboardShortcuts.d.ts +1 -1
- package/lib/esm/appui-react/framework/FrameworkKeyboardShortcuts.js.map +1 -1
- package/lib/esm/appui-react/framework/FrameworkToolSettings.d.ts +1 -1
- package/lib/esm/appui-react/framework/FrameworkToolSettings.js.map +1 -1
- package/lib/esm/appui-react/framework/FrameworkVisibility.d.ts +1 -1
- package/lib/esm/appui-react/framework/FrameworkVisibility.js.map +1 -1
- package/lib/esm/appui-react/frontstage/FrontstageDef.d.ts +1 -1
- package/lib/esm/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
- package/lib/esm/appui-react/frontstage/FrontstageDef.js +12 -3
- package/lib/esm/appui-react/frontstage/FrontstageDef.js.map +1 -1
- package/lib/esm/appui-react/frontstage/InternalFrontstageManager.d.ts +6 -2
- package/lib/esm/appui-react/frontstage/InternalFrontstageManager.d.ts.map +1 -1
- package/lib/esm/appui-react/frontstage/InternalFrontstageManager.js +5 -1
- package/lib/esm/appui-react/frontstage/InternalFrontstageManager.js.map +1 -1
- package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcut.d.ts +0 -32
- package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcut.d.ts.map +1 -1
- package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcut.js +0 -53
- package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcut.js.map +1 -1
- package/lib/esm/appui-react/messages/MessageManager.js +2 -3
- package/lib/esm/appui-react/messages/MessageManager.js.map +1 -1
- package/lib/esm/appui-react/stagepanels/StagePanelDef.d.ts +13 -197
- package/lib/esm/appui-react/stagepanels/StagePanelDef.d.ts.map +1 -1
- package/lib/esm/appui-react/stagepanels/StagePanelDef.js +31 -3
- package/lib/esm/appui-react/stagepanels/StagePanelDef.js.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/AbstractUiItemsManager.d.ts +34 -0
- package/lib/esm/appui-react/ui-items-provider/AbstractUiItemsManager.d.ts.map +1 -0
- package/lib/esm/appui-react/ui-items-provider/AbstractUiItemsManager.js +496 -0
- package/lib/esm/appui-react/ui-items-provider/AbstractUiItemsManager.js.map +1 -0
- package/lib/esm/appui-react/ui-items-provider/UiItemsManager.d.ts +6 -4
- package/lib/esm/appui-react/ui-items-provider/UiItemsManager.d.ts.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/UiItemsManager.js +33 -6
- package/lib/esm/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
- package/lib/esm/appui-react.d.ts +0 -7
- package/lib/esm/appui-react.d.ts.map +1 -1
- package/lib/esm/appui-react.js +0 -7
- package/lib/esm/appui-react.js.map +1 -1
- package/lib/public/locales/en/UiFramework.json +0 -45
- package/package.json +21 -13
- package/lib/cjs/appui-react/childwindow/ChildWindowManager.d.ts +0 -74
- package/lib/cjs/appui-react/childwindow/ChildWindowManager.d.ts.map +0 -1
- package/lib/cjs/appui-react/childwindow/ChildWindowManager.js +0 -107
- package/lib/cjs/appui-react/childwindow/ChildWindowManager.js.map +0 -1
- package/lib/cjs/appui-react/configurableui/ConfigurableUiManager.d.ts +0 -66
- package/lib/cjs/appui-react/configurableui/ConfigurableUiManager.d.ts.map +0 -1
- package/lib/cjs/appui-react/configurableui/ConfigurableUiManager.js +0 -93
- package/lib/cjs/appui-react/configurableui/ConfigurableUiManager.js.map +0 -1
- package/lib/cjs/appui-react/content/ContentLayoutManager.d.ts +0 -48
- package/lib/cjs/appui-react/content/ContentLayoutManager.d.ts.map +0 -1
- package/lib/cjs/appui-react/content/ContentLayoutManager.js +0 -69
- package/lib/cjs/appui-react/content/ContentLayoutManager.js.map +0 -1
- package/lib/cjs/appui-react/content/ContentViewManager.d.ts +0 -63
- package/lib/cjs/appui-react/content/ContentViewManager.d.ts.map +0 -1
- package/lib/cjs/appui-react/content/ContentViewManager.js +0 -96
- package/lib/cjs/appui-react/content/ContentViewManager.js.map +0 -1
- package/lib/cjs/appui-react/frontstage/FrontstageManager.d.ts +0 -202
- package/lib/cjs/appui-react/frontstage/FrontstageManager.d.ts.map +0 -1
- package/lib/cjs/appui-react/frontstage/FrontstageManager.js +0 -269
- package/lib/cjs/appui-react/frontstage/FrontstageManager.js.map +0 -1
- package/lib/cjs/appui-react/toolsettings/ToolSettingsManager.d.ts +0 -44
- package/lib/cjs/appui-react/toolsettings/ToolSettingsManager.d.ts.map +0 -1
- package/lib/cjs/appui-react/toolsettings/ToolSettingsManager.js +0 -64
- package/lib/cjs/appui-react/toolsettings/ToolSettingsManager.js.map +0 -1
- package/lib/cjs/appui-react/utils/UiShowHideManager.d.ts +0 -54
- package/lib/cjs/appui-react/utils/UiShowHideManager.d.ts.map +0 -1
- package/lib/cjs/appui-react/utils/UiShowHideManager.js +0 -108
- package/lib/cjs/appui-react/utils/UiShowHideManager.js.map +0 -1
- package/lib/esm/appui-react/childwindow/ChildWindowManager.d.ts +0 -74
- package/lib/esm/appui-react/childwindow/ChildWindowManager.d.ts.map +0 -1
- package/lib/esm/appui-react/childwindow/ChildWindowManager.js +0 -103
- package/lib/esm/appui-react/childwindow/ChildWindowManager.js.map +0 -1
- package/lib/esm/appui-react/configurableui/ConfigurableUiManager.d.ts +0 -66
- package/lib/esm/appui-react/configurableui/ConfigurableUiManager.d.ts.map +0 -1
- package/lib/esm/appui-react/configurableui/ConfigurableUiManager.js +0 -89
- package/lib/esm/appui-react/configurableui/ConfigurableUiManager.js.map +0 -1
- package/lib/esm/appui-react/content/ContentLayoutManager.d.ts +0 -48
- package/lib/esm/appui-react/content/ContentLayoutManager.d.ts.map +0 -1
- package/lib/esm/appui-react/content/ContentLayoutManager.js +0 -65
- package/lib/esm/appui-react/content/ContentLayoutManager.js.map +0 -1
- package/lib/esm/appui-react/content/ContentViewManager.d.ts +0 -63
- package/lib/esm/appui-react/content/ContentViewManager.d.ts.map +0 -1
- package/lib/esm/appui-react/content/ContentViewManager.js +0 -92
- package/lib/esm/appui-react/content/ContentViewManager.js.map +0 -1
- package/lib/esm/appui-react/frontstage/FrontstageManager.d.ts +0 -202
- package/lib/esm/appui-react/frontstage/FrontstageManager.d.ts.map +0 -1
- package/lib/esm/appui-react/frontstage/FrontstageManager.js +0 -265
- package/lib/esm/appui-react/frontstage/FrontstageManager.js.map +0 -1
- package/lib/esm/appui-react/toolsettings/ToolSettingsManager.d.ts +0 -44
- package/lib/esm/appui-react/toolsettings/ToolSettingsManager.d.ts.map +0 -1
- package/lib/esm/appui-react/toolsettings/ToolSettingsManager.js +0 -60
- package/lib/esm/appui-react/toolsettings/ToolSettingsManager.js.map +0 -1
- package/lib/esm/appui-react/utils/UiShowHideManager.d.ts +0 -54
- package/lib/esm/appui-react/utils/UiShowHideManager.d.ts.map +0 -1
- package/lib/esm/appui-react/utils/UiShowHideManager.js +0 -105
- package/lib/esm/appui-react/utils/UiShowHideManager.js.map +0 -1
|
@@ -0,0 +1,500 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*---------------------------------------------------------------------------------------------
|
|
3
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
4
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
5
|
+
*--------------------------------------------------------------------------------------------*/
|
|
6
|
+
/** @packageDocumentation
|
|
7
|
+
* @module UiProvider
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.createAbstractUiItemsManagerAdapter = void 0;
|
|
11
|
+
/* eslint-disable deprecation/deprecation */
|
|
12
|
+
const abstract = require("@itwin/appui-abstract");
|
|
13
|
+
const core_bentley_1 = require("@itwin/core-bentley");
|
|
14
|
+
const core_react_1 = require("@itwin/core-react");
|
|
15
|
+
const StagePanelLocation_1 = require("../stagepanels/StagePanelLocation");
|
|
16
|
+
const StagePanelSection_1 = require("../stagepanels/StagePanelSection");
|
|
17
|
+
const ToolbarItem_1 = require("../toolbar/ToolbarItem");
|
|
18
|
+
const StatusBarItem_1 = require("../statusbar/StatusBarItem");
|
|
19
|
+
// @ts-ignore Removed in 4.0
|
|
20
|
+
const AbstractUiItemsManager = abstract.UiItemsManager;
|
|
21
|
+
// @ts-ignore Removed in 4.0
|
|
22
|
+
const isAbstractStatusBarCustomItem = abstract.isAbstractStatusBarCustomItem;
|
|
23
|
+
// @ts-ignore Removed in 4.0
|
|
24
|
+
const AbstractStagePanelLocation = abstract.StagePanelLocation; // eslint-disable-line @typescript-eslint/no-redeclare
|
|
25
|
+
// @ts-ignore Removed in 4.0
|
|
26
|
+
const AbstractStagePanelSection = abstract.StagePanelSection; // eslint-disable-line @typescript-eslint/no-redeclare
|
|
27
|
+
const AbstractToolbarItemUtilities = abstract.ToolbarItemUtilities;
|
|
28
|
+
const originalDataSymbol = Symbol("originalData");
|
|
29
|
+
/** @internal */
|
|
30
|
+
function createAbstractUiItemsManagerAdapter() {
|
|
31
|
+
if (!AbstractUiItemsManager)
|
|
32
|
+
return undefined;
|
|
33
|
+
return new AbstractUiItemsManagerAdapter(AbstractUiItemsManager);
|
|
34
|
+
}
|
|
35
|
+
exports.createAbstractUiItemsManagerAdapter = createAbstractUiItemsManagerAdapter;
|
|
36
|
+
class AbstractUiItemsManagerAdapter {
|
|
37
|
+
constructor(_adaptee) {
|
|
38
|
+
this._adaptee = _adaptee;
|
|
39
|
+
}
|
|
40
|
+
clearAllProviders() {
|
|
41
|
+
return this._adaptee.clearAllProviders();
|
|
42
|
+
}
|
|
43
|
+
get onUiProviderRegisteredEvent() {
|
|
44
|
+
if (!("emit" in this._adaptee.onUiProviderRegisteredEvent)) {
|
|
45
|
+
this._adaptee.onUiProviderRegisteredEvent.emit = (args) => {
|
|
46
|
+
this._adaptee.onUiProviderRegisteredEvent.raiseEvent(args);
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
return this._adaptee.onUiProviderRegisteredEvent;
|
|
50
|
+
}
|
|
51
|
+
unregister(providerId) {
|
|
52
|
+
return this._adaptee.unregister(providerId);
|
|
53
|
+
}
|
|
54
|
+
get hasRegisteredProviders() {
|
|
55
|
+
return this._adaptee.hasRegisteredProviders;
|
|
56
|
+
}
|
|
57
|
+
get registeredProviderIds() {
|
|
58
|
+
return this._adaptee.registeredProviderIds;
|
|
59
|
+
}
|
|
60
|
+
register(provider, overrides) {
|
|
61
|
+
const abstractProvider = new UiItemsProviderToAbstractAdapter(provider);
|
|
62
|
+
return this._adaptee.register(abstractProvider, overrides);
|
|
63
|
+
}
|
|
64
|
+
getUiItemsProvider(providerId) {
|
|
65
|
+
const abstractProvider = this._adaptee.getUiItemsProvider(providerId);
|
|
66
|
+
if (!abstractProvider)
|
|
67
|
+
return undefined;
|
|
68
|
+
const provider = new AbstractToUiItemsProviderAdapter(abstractProvider);
|
|
69
|
+
return provider;
|
|
70
|
+
}
|
|
71
|
+
getBackstageItems() {
|
|
72
|
+
const abstractItems = this._adaptee.getBackstageItems();
|
|
73
|
+
const items = abstractItems.map((abstractItem) => {
|
|
74
|
+
const item = fromAbstractBackstageItem(abstractItem);
|
|
75
|
+
return {
|
|
76
|
+
...item,
|
|
77
|
+
providerId: abstractItem.providerId ? abstractItem.providerId : "",
|
|
78
|
+
};
|
|
79
|
+
});
|
|
80
|
+
return items;
|
|
81
|
+
}
|
|
82
|
+
getStatusBarItems(stageId, stageUsage) {
|
|
83
|
+
const abstractItems = this._adaptee.getStatusBarItems(stageId, stageUsage);
|
|
84
|
+
const items = abstractItems.map((abstractItem) => {
|
|
85
|
+
const item = fromAbstractStatusBarItem(abstractItem);
|
|
86
|
+
return {
|
|
87
|
+
...item,
|
|
88
|
+
providerId: abstractItem.providerId ? abstractItem.providerId : "",
|
|
89
|
+
};
|
|
90
|
+
});
|
|
91
|
+
return items;
|
|
92
|
+
}
|
|
93
|
+
getToolbarButtonItems(stageId, stageUsage, usage, orientation) {
|
|
94
|
+
const abstractItems = this._adaptee.getToolbarButtonItems(stageId, stageUsage, usage, orientation);
|
|
95
|
+
const items = abstractItems.map((abstractItem) => {
|
|
96
|
+
const item = fromAbstractToolbarItem(abstractItem);
|
|
97
|
+
return {
|
|
98
|
+
...item,
|
|
99
|
+
providerId: abstractItem.providerId ?? "",
|
|
100
|
+
};
|
|
101
|
+
});
|
|
102
|
+
return items;
|
|
103
|
+
}
|
|
104
|
+
getWidgets(stageId, stageUsage, location, section) {
|
|
105
|
+
const abstractLocations = toAbstractStagePanelLocation(location);
|
|
106
|
+
const abstractSections = section === undefined ? [undefined] : toAbstractStagePanelSection(section);
|
|
107
|
+
const combos = [];
|
|
108
|
+
abstractLocations.forEach((abstractLocation) => {
|
|
109
|
+
abstractSections.forEach((abstractSection) => {
|
|
110
|
+
combos.push([abstractLocation, abstractSection]);
|
|
111
|
+
});
|
|
112
|
+
});
|
|
113
|
+
let abstractWidgets = combos.reduce((acc, [abstractLocation, abstractSection]) => {
|
|
114
|
+
const w = this._adaptee.getWidgets(stageId, stageUsage, abstractLocation, abstractSection);
|
|
115
|
+
acc.push(...w);
|
|
116
|
+
return acc;
|
|
117
|
+
}, []);
|
|
118
|
+
abstractWidgets = abstractWidgets.reduce((acc, abstractWidget) => {
|
|
119
|
+
if (-1 === acc.findIndex((w) => w.id === abstractWidget.id))
|
|
120
|
+
acc.push(abstractWidget);
|
|
121
|
+
return acc;
|
|
122
|
+
}, []);
|
|
123
|
+
const widgets = abstractWidgets
|
|
124
|
+
// @ts-ignore Possibly 'any'
|
|
125
|
+
.map((abstractWidget) => {
|
|
126
|
+
const widget = fromAbstractWidget(abstractWidget);
|
|
127
|
+
return {
|
|
128
|
+
...widget,
|
|
129
|
+
providerId: abstractWidget.providerId ?? "",
|
|
130
|
+
};
|
|
131
|
+
});
|
|
132
|
+
return widgets;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
class UiItemsProviderToAbstractAdapter {
|
|
136
|
+
get id() {
|
|
137
|
+
return this._adaptee.id;
|
|
138
|
+
}
|
|
139
|
+
constructor(_adaptee) {
|
|
140
|
+
this._adaptee = _adaptee;
|
|
141
|
+
}
|
|
142
|
+
onUnregister() {
|
|
143
|
+
this._adaptee.onUnregister?.();
|
|
144
|
+
}
|
|
145
|
+
provideBackstageItems() {
|
|
146
|
+
if (!this._adaptee.provideBackstageItems)
|
|
147
|
+
return [];
|
|
148
|
+
const items = this._adaptee.provideBackstageItems();
|
|
149
|
+
const abstractItems = items.map((item) => toAbstractBackstageItem(item));
|
|
150
|
+
return abstractItems;
|
|
151
|
+
}
|
|
152
|
+
provideStatusBarItems(stageId, stageUsage, _stageAppData) {
|
|
153
|
+
if (!this._adaptee.provideStatusBarItems)
|
|
154
|
+
return [];
|
|
155
|
+
const items = this._adaptee.provideStatusBarItems(stageId, stageUsage);
|
|
156
|
+
const abstractItems = items.map((item) => toAbstractStatusBarItem(item));
|
|
157
|
+
return abstractItems;
|
|
158
|
+
}
|
|
159
|
+
provideToolbarButtonItems(stageId, stageUsage, usage, orientation, _stageAppData) {
|
|
160
|
+
if (!this._adaptee.provideToolbarItems)
|
|
161
|
+
return [];
|
|
162
|
+
const items = this._adaptee.provideToolbarItems(stageId, stageUsage, usage, orientation);
|
|
163
|
+
const abstractItems = items.map((item) => toAbstractToolbarItem(item));
|
|
164
|
+
return abstractItems;
|
|
165
|
+
}
|
|
166
|
+
provideWidgets(stageId, stageUsage, abstractLocation, abstractSection, _zoneLocation, _stageAppData) {
|
|
167
|
+
if (!this._adaptee.provideWidgets)
|
|
168
|
+
return [];
|
|
169
|
+
const location = fromAbstractStagePanelLocation(abstractLocation);
|
|
170
|
+
const section = abstractSection === undefined ? undefined : fromAbstractStagePanelSection(abstractSection);
|
|
171
|
+
const widgets = this._adaptee.provideWidgets(stageId, stageUsage, location, section);
|
|
172
|
+
const abstractWidgets = widgets.map((widget) => toAbstractWidget(widget));
|
|
173
|
+
return abstractWidgets;
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
class AbstractToUiItemsProviderAdapter {
|
|
177
|
+
get id() {
|
|
178
|
+
return this._adaptee.id;
|
|
179
|
+
}
|
|
180
|
+
constructor(_adaptee) {
|
|
181
|
+
this._adaptee = _adaptee;
|
|
182
|
+
}
|
|
183
|
+
onUnregister() {
|
|
184
|
+
this._adaptee.onUnregister?.();
|
|
185
|
+
}
|
|
186
|
+
provideBackstageItems() {
|
|
187
|
+
if (!this._adaptee.provideBackstageItems)
|
|
188
|
+
return [];
|
|
189
|
+
const abstractItems = this._adaptee.provideBackstageItems();
|
|
190
|
+
const items = abstractItems.map((abstractItem) => fromAbstractBackstageItem(abstractItem));
|
|
191
|
+
return items;
|
|
192
|
+
}
|
|
193
|
+
provideStatusBarItems(stageId, stageUsage) {
|
|
194
|
+
if (!this._adaptee.provideStatusBarItems)
|
|
195
|
+
return [];
|
|
196
|
+
const abstractItems = this._adaptee.provideStatusBarItems(stageId, stageUsage);
|
|
197
|
+
const items = abstractItems.map((abstractItem) => fromAbstractStatusBarItem(abstractItem));
|
|
198
|
+
return items;
|
|
199
|
+
}
|
|
200
|
+
provideWidgets(stageId, stageUsage, location, section) {
|
|
201
|
+
if (!this._adaptee.provideWidgets)
|
|
202
|
+
return [];
|
|
203
|
+
const abstractLocations = toAbstractStagePanelLocation(location);
|
|
204
|
+
const abstractSections = section === undefined ? [undefined] : toAbstractStagePanelSection(section);
|
|
205
|
+
const combos = [];
|
|
206
|
+
abstractLocations.forEach((abstractLocation) => {
|
|
207
|
+
abstractSections.forEach((abstractSection) => {
|
|
208
|
+
combos.push([abstractLocation, abstractSection]);
|
|
209
|
+
});
|
|
210
|
+
});
|
|
211
|
+
let abstractWidgets = combos.reduce((acc, [abstractLocation, abstractSection]) => {
|
|
212
|
+
(0, core_bentley_1.assert)(!!this._adaptee.provideWidgets);
|
|
213
|
+
const w = this._adaptee.provideWidgets(stageId, stageUsage, abstractLocation, abstractSection);
|
|
214
|
+
acc.push(...w);
|
|
215
|
+
return acc;
|
|
216
|
+
}, []);
|
|
217
|
+
abstractWidgets = abstractWidgets.reduce((acc, abstractWidget) => {
|
|
218
|
+
if (-1 === acc.findIndex((w) => w.id === abstractWidget.id))
|
|
219
|
+
acc.push(abstractWidget);
|
|
220
|
+
return acc;
|
|
221
|
+
}, []);
|
|
222
|
+
const widgets = abstractWidgets.map((abstractWidget) => fromAbstractWidget(abstractWidget));
|
|
223
|
+
return widgets;
|
|
224
|
+
}
|
|
225
|
+
provideToolbarItems(stageId, stageUsage, usage, orientation) {
|
|
226
|
+
if (!this._adaptee.provideToolbarButtonItems)
|
|
227
|
+
return [];
|
|
228
|
+
const abstractItems = this._adaptee.provideToolbarButtonItems(stageId, stageUsage, usage, orientation);
|
|
229
|
+
const items = abstractItems.map((abstractItem) => fromAbstractToolbarItem(abstractItem));
|
|
230
|
+
return items;
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
function toAbstractBackstageItem(item) {
|
|
234
|
+
let abstractItem = getOriginalData(item);
|
|
235
|
+
if (abstractItem)
|
|
236
|
+
return abstractItem;
|
|
237
|
+
const internalData = new Map();
|
|
238
|
+
const icon = core_react_1.IconHelper.getIconData(item.icon, internalData);
|
|
239
|
+
abstractItem = {
|
|
240
|
+
...item,
|
|
241
|
+
badgeType: item.badge,
|
|
242
|
+
icon,
|
|
243
|
+
internalData,
|
|
244
|
+
};
|
|
245
|
+
setOriginalData(abstractItem, item);
|
|
246
|
+
return abstractItem;
|
|
247
|
+
}
|
|
248
|
+
function toAbstractStatusBarItem(item) {
|
|
249
|
+
let abstractItem = getOriginalData(item);
|
|
250
|
+
if (abstractItem)
|
|
251
|
+
return abstractItem;
|
|
252
|
+
if ((0, StatusBarItem_1.isStatusBarCustomItem)(item)) {
|
|
253
|
+
abstractItem = {
|
|
254
|
+
...item,
|
|
255
|
+
badgeType: item.badge,
|
|
256
|
+
isCustom: true,
|
|
257
|
+
reactNode: item.content,
|
|
258
|
+
};
|
|
259
|
+
}
|
|
260
|
+
else {
|
|
261
|
+
const internalData = new Map();
|
|
262
|
+
const icon = core_react_1.IconHelper.getIconData(item.icon, internalData);
|
|
263
|
+
abstractItem = {
|
|
264
|
+
...item,
|
|
265
|
+
badgeType: item.badge,
|
|
266
|
+
icon,
|
|
267
|
+
internalData,
|
|
268
|
+
};
|
|
269
|
+
}
|
|
270
|
+
setOriginalData(abstractItem, item);
|
|
271
|
+
return abstractItem;
|
|
272
|
+
}
|
|
273
|
+
function toAbstractToolbarItem(item) {
|
|
274
|
+
let abstractItem = getOriginalData(item);
|
|
275
|
+
if (abstractItem)
|
|
276
|
+
return abstractItem;
|
|
277
|
+
const internalData = new Map();
|
|
278
|
+
const icon = core_react_1.IconHelper.getIconData(item.icon, internalData);
|
|
279
|
+
if ((0, ToolbarItem_1.isToolbarActionItem)(item)) {
|
|
280
|
+
abstractItem = {
|
|
281
|
+
...item,
|
|
282
|
+
badgeType: item.badge,
|
|
283
|
+
icon,
|
|
284
|
+
internalData,
|
|
285
|
+
parentToolGroupId: item.parentGroupItemId,
|
|
286
|
+
};
|
|
287
|
+
}
|
|
288
|
+
else if ((0, ToolbarItem_1.isToolbarGroupItem)(item)) {
|
|
289
|
+
abstractItem = {
|
|
290
|
+
...item,
|
|
291
|
+
badgeType: item.badge,
|
|
292
|
+
icon,
|
|
293
|
+
internalData,
|
|
294
|
+
parentToolGroupId: item.parentGroupItemId,
|
|
295
|
+
items: item.items.map((i) => toAbstractToolbarItem(i)),
|
|
296
|
+
};
|
|
297
|
+
}
|
|
298
|
+
else {
|
|
299
|
+
abstractItem = {
|
|
300
|
+
...item,
|
|
301
|
+
badgeType: item.badge,
|
|
302
|
+
isCustom: true,
|
|
303
|
+
icon,
|
|
304
|
+
internalData,
|
|
305
|
+
};
|
|
306
|
+
}
|
|
307
|
+
setOriginalData(abstractItem, item);
|
|
308
|
+
return abstractItem;
|
|
309
|
+
}
|
|
310
|
+
function toAbstractWidget(widget) {
|
|
311
|
+
let abstractWidget = getOriginalData(widget);
|
|
312
|
+
if (abstractWidget)
|
|
313
|
+
return abstractWidget;
|
|
314
|
+
const allowedPanelTargets = widget.allowedPanels
|
|
315
|
+
// @ts-ignore Possibly 'any'
|
|
316
|
+
?.map((location) => {
|
|
317
|
+
const map = {
|
|
318
|
+
[StagePanelLocation_1.StagePanelLocation.Top]: "top",
|
|
319
|
+
[StagePanelLocation_1.StagePanelLocation.Left]: "left",
|
|
320
|
+
[StagePanelLocation_1.StagePanelLocation.Right]: "right",
|
|
321
|
+
[StagePanelLocation_1.StagePanelLocation.Bottom]: "bottom",
|
|
322
|
+
};
|
|
323
|
+
// @ts-ignore Possibly 'any'
|
|
324
|
+
return map[location];
|
|
325
|
+
});
|
|
326
|
+
const internalData = new Map();
|
|
327
|
+
const icon = core_react_1.IconHelper.getIconData(widget.icon, internalData);
|
|
328
|
+
abstractWidget = {
|
|
329
|
+
...widget,
|
|
330
|
+
id: widget.id ?? "",
|
|
331
|
+
getWidgetContent: () => widget.content,
|
|
332
|
+
allowedPanelTargets,
|
|
333
|
+
badgeType: widget.badge,
|
|
334
|
+
defaultFloatingPosition: typeof widget.canFloat === "object" ? widget.canFloat.defaultPosition : undefined,
|
|
335
|
+
defaultFloatingSize: typeof widget.canFloat === "object" ? widget.canFloat.defaultSize : undefined,
|
|
336
|
+
floatingContainerId: typeof widget.canFloat === "object" ? widget.canFloat.containerId : undefined,
|
|
337
|
+
hideWithUiWhenFloating: typeof widget.canFloat === "object" ? widget.canFloat.hideWithUi : undefined,
|
|
338
|
+
isFloatingStateSupported: !!widget.canFloat,
|
|
339
|
+
isFloatingStateWindowResizable: typeof widget.canFloat === "object" ? widget.canFloat.isResizable : undefined,
|
|
340
|
+
icon,
|
|
341
|
+
internalData,
|
|
342
|
+
};
|
|
343
|
+
setOriginalData(abstractWidget, widget);
|
|
344
|
+
return abstractWidget;
|
|
345
|
+
}
|
|
346
|
+
function fromAbstractBackstageItem(abstractItem) {
|
|
347
|
+
let item = getOriginalData(abstractItem);
|
|
348
|
+
if (item)
|
|
349
|
+
return item;
|
|
350
|
+
const icon = fromAbstractIcon(abstractItem.icon, abstractItem.internalData);
|
|
351
|
+
item = {
|
|
352
|
+
...abstractItem,
|
|
353
|
+
badge: abstractItem.badgeType,
|
|
354
|
+
icon,
|
|
355
|
+
};
|
|
356
|
+
setOriginalData(item, abstractItem);
|
|
357
|
+
return item;
|
|
358
|
+
}
|
|
359
|
+
function fromAbstractStatusBarItem(abstractItem) {
|
|
360
|
+
let item = getOriginalData(abstractItem);
|
|
361
|
+
if (item)
|
|
362
|
+
return item;
|
|
363
|
+
if (isAbstractStatusBarCustomItem(abstractItem)) {
|
|
364
|
+
const content = abstractItem.reactNode;
|
|
365
|
+
return {
|
|
366
|
+
...abstractItem,
|
|
367
|
+
badge: abstractItem.badgeType,
|
|
368
|
+
content,
|
|
369
|
+
};
|
|
370
|
+
}
|
|
371
|
+
else {
|
|
372
|
+
const icon = fromAbstractIcon(abstractItem.icon, abstractItem.internalData);
|
|
373
|
+
item = {
|
|
374
|
+
...abstractItem,
|
|
375
|
+
badge: abstractItem.badgeType,
|
|
376
|
+
icon,
|
|
377
|
+
};
|
|
378
|
+
}
|
|
379
|
+
(0, core_bentley_1.assert)(!!item);
|
|
380
|
+
setOriginalData(item, abstractItem);
|
|
381
|
+
return item;
|
|
382
|
+
}
|
|
383
|
+
function fromAbstractToolbarItem(abstractItem) {
|
|
384
|
+
let item = getOriginalData(abstractItem);
|
|
385
|
+
if (item)
|
|
386
|
+
return item;
|
|
387
|
+
const icon = fromAbstractIcon(abstractItem.icon, abstractItem.internalData);
|
|
388
|
+
if (AbstractToolbarItemUtilities.isCustomDefinition(abstractItem)) {
|
|
389
|
+
item = {
|
|
390
|
+
...abstractItem,
|
|
391
|
+
badge: abstractItem.badgeType,
|
|
392
|
+
icon,
|
|
393
|
+
};
|
|
394
|
+
}
|
|
395
|
+
else {
|
|
396
|
+
item = {
|
|
397
|
+
...abstractItem,
|
|
398
|
+
badge: abstractItem.badgeType,
|
|
399
|
+
parentGroupItemId: abstractItem.parentToolGroupId,
|
|
400
|
+
icon,
|
|
401
|
+
};
|
|
402
|
+
}
|
|
403
|
+
setOriginalData(item, abstractItem);
|
|
404
|
+
return item;
|
|
405
|
+
}
|
|
406
|
+
function fromAbstractWidget(abstractWidget) {
|
|
407
|
+
let widget = getOriginalData(abstractWidget);
|
|
408
|
+
if (widget)
|
|
409
|
+
return widget;
|
|
410
|
+
const allowedPanels = abstractWidget.allowedPanelTargets
|
|
411
|
+
// @ts-ignore Possibly 'any'
|
|
412
|
+
?.map((target) => {
|
|
413
|
+
const map = {
|
|
414
|
+
top: StagePanelLocation_1.StagePanelLocation.Top,
|
|
415
|
+
left: StagePanelLocation_1.StagePanelLocation.Left,
|
|
416
|
+
right: StagePanelLocation_1.StagePanelLocation.Right,
|
|
417
|
+
bottom: StagePanelLocation_1.StagePanelLocation.Bottom,
|
|
418
|
+
};
|
|
419
|
+
// @ts-ignore Possibly 'any'
|
|
420
|
+
return map[target];
|
|
421
|
+
});
|
|
422
|
+
const icon = fromAbstractIcon(abstractWidget.icon, abstractWidget.internalData);
|
|
423
|
+
widget = {
|
|
424
|
+
...abstractWidget,
|
|
425
|
+
id: abstractWidget.id ?? "",
|
|
426
|
+
content: abstractWidget.getWidgetContent(),
|
|
427
|
+
allowedPanels,
|
|
428
|
+
badge: abstractWidget.badgeType,
|
|
429
|
+
canFloat: abstractWidget.isFloatingStateSupported && {
|
|
430
|
+
containerId: abstractWidget.floatingContainerId,
|
|
431
|
+
defaultPosition: abstractWidget.defaultFloatingPosition,
|
|
432
|
+
defaultSize: abstractWidget.defaultFloatingSize,
|
|
433
|
+
hideWithUi: abstractWidget.hideWithUiWhenFloating,
|
|
434
|
+
isResizable: abstractWidget.isFloatingStateWindowResizable,
|
|
435
|
+
},
|
|
436
|
+
icon,
|
|
437
|
+
};
|
|
438
|
+
setOriginalData(widget, abstractWidget);
|
|
439
|
+
return widget;
|
|
440
|
+
}
|
|
441
|
+
function fromAbstractStagePanelLocation(location) {
|
|
442
|
+
switch (location) {
|
|
443
|
+
case AbstractStagePanelLocation.Left:
|
|
444
|
+
return StagePanelLocation_1.StagePanelLocation.Left;
|
|
445
|
+
case AbstractStagePanelLocation.Top:
|
|
446
|
+
return StagePanelLocation_1.StagePanelLocation.Top;
|
|
447
|
+
case AbstractStagePanelLocation.TopMost:
|
|
448
|
+
return StagePanelLocation_1.StagePanelLocation.Top;
|
|
449
|
+
case AbstractStagePanelLocation.Bottom:
|
|
450
|
+
return StagePanelLocation_1.StagePanelLocation.Bottom;
|
|
451
|
+
case AbstractStagePanelLocation.BottomMost:
|
|
452
|
+
return StagePanelLocation_1.StagePanelLocation.Bottom;
|
|
453
|
+
}
|
|
454
|
+
return StagePanelLocation_1.StagePanelLocation.Right;
|
|
455
|
+
}
|
|
456
|
+
function toAbstractStagePanelLocation(location) {
|
|
457
|
+
switch (location) {
|
|
458
|
+
case StagePanelLocation_1.StagePanelLocation.Left:
|
|
459
|
+
return [AbstractStagePanelLocation.Left];
|
|
460
|
+
case StagePanelLocation_1.StagePanelLocation.Top:
|
|
461
|
+
return [AbstractStagePanelLocation.Top, AbstractStagePanelLocation.TopMost];
|
|
462
|
+
case StagePanelLocation_1.StagePanelLocation.Bottom:
|
|
463
|
+
return [AbstractStagePanelLocation.Bottom, AbstractStagePanelLocation.BottomMost];
|
|
464
|
+
}
|
|
465
|
+
return [AbstractStagePanelLocation.Right];
|
|
466
|
+
}
|
|
467
|
+
function fromAbstractStagePanelSection(section) {
|
|
468
|
+
switch (section) {
|
|
469
|
+
case AbstractStagePanelSection.End:
|
|
470
|
+
return StagePanelSection_1.StagePanelSection.End;
|
|
471
|
+
}
|
|
472
|
+
return StagePanelSection_1.StagePanelSection.Start;
|
|
473
|
+
}
|
|
474
|
+
function toAbstractStagePanelSection(section) {
|
|
475
|
+
switch (section) {
|
|
476
|
+
case StagePanelSection_1.StagePanelSection.End:
|
|
477
|
+
return [AbstractStagePanelSection.End];
|
|
478
|
+
}
|
|
479
|
+
return [AbstractStagePanelSection.Start, AbstractStagePanelSection.Middle];
|
|
480
|
+
}
|
|
481
|
+
function fromAbstractIcon(icon, internalData) {
|
|
482
|
+
if (!icon)
|
|
483
|
+
return undefined;
|
|
484
|
+
const iconString = abstract.ConditionalStringValue.getValue(icon);
|
|
485
|
+
if (!iconString)
|
|
486
|
+
return undefined;
|
|
487
|
+
if (iconString === core_react_1.IconHelper.reactIconKey && internalData)
|
|
488
|
+
return internalData.get(core_react_1.IconHelper.reactIconKey);
|
|
489
|
+
return iconString;
|
|
490
|
+
}
|
|
491
|
+
function getOriginalData(obj) {
|
|
492
|
+
const originalData = obj[originalDataSymbol];
|
|
493
|
+
if (!originalData)
|
|
494
|
+
return undefined;
|
|
495
|
+
return originalData;
|
|
496
|
+
}
|
|
497
|
+
function setOriginalData(obj, data) {
|
|
498
|
+
obj[originalDataSymbol] = data;
|
|
499
|
+
}
|
|
500
|
+
//# sourceMappingURL=AbstractUiItemsManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AbstractUiItemsManager.js","sourceRoot":"","sources":["../../../../src/appui-react/ui-items-provider/AbstractUiItemsManager.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module UiProvider\r\n */\r\n\r\n/* eslint-disable deprecation/deprecation */\r\n\r\nimport * as abstract from \"@itwin/appui-abstract\";\r\nimport { assert, BeUiEvent } from \"@itwin/core-bentley\";\r\nimport { IconHelper, IconSpec } from \"@itwin/core-react\";\r\nimport type {\r\n // @ts-ignore Removed in 4.0\r\n BackstageItem as AbstractBackstageItem,\r\n // @ts-ignore Removed in 4.0\r\n CommonStatusBarItem as AbstractStatusBarItem,\r\n CommonToolbarItem as AbstractToolbarItem,\r\n // @ts-ignore Removed in 4.0\r\n ToolbarOrientation as AbstractToolbarOrientation,\r\n // @ts-ignore Removed in 4.0\r\n ToolbarUsage as AbstractToolbarUsage,\r\n // @ts-ignore Removed in 4.0\r\n UiItemsManager as AbstractUiItemsManagerType,\r\n // @ts-ignore Removed in 4.0\r\n UiItemsProvider as AbstractUiItemsProvider,\r\n // @ts-ignore Removed in 4.0\r\n AbstractWidgetProps as AbstractWidget,\r\n} from \"@itwin/appui-abstract\";\r\nimport type { UiItemsManager, UiItemsProviderOverrides, UiItemsProviderRegisteredEventArgs } from \"./UiItemsManager\";\r\nimport { StagePanelLocation } from \"../stagepanels/StagePanelLocation\";\r\nimport { StagePanelSection } from \"../stagepanels/StagePanelSection\";\r\nimport { Widget } from \"../widgets/Widget\";\r\nimport { ProviderItem } from \"./ProviderItem\";\r\nimport { UiItemsProvider } from \"./UiItemsProvider\";\r\nimport { isToolbarActionItem, isToolbarGroupItem, ToolbarItem, ToolbarOrientation, ToolbarUsage } from \"../toolbar/ToolbarItem\";\r\nimport { BackstageItem } from \"../backstage/BackstageItem\";\r\nimport { isStatusBarCustomItem, StatusBarItem } from \"../statusbar/StatusBarItem\";\r\n\r\n// @ts-ignore Removed in 4.0\r\nconst AbstractUiItemsManager: typeof AbstractUiItemsManagerType | undefined = abstract.UiItemsManager;\r\n// @ts-ignore Removed in 4.0\r\nconst isAbstractStatusBarCustomItem = abstract.isAbstractStatusBarCustomItem;\r\n// @ts-ignore Removed in 4.0\r\ntype AbstractStagePanelLocation = abstract.StagePanelLocation;\r\n// @ts-ignore Removed in 4.0\r\nconst AbstractStagePanelLocation = abstract.StagePanelLocation; // eslint-disable-line @typescript-eslint/no-redeclare\r\n// @ts-ignore Removed in 4.0\r\ntype AbstractStagePanelSection = abstract.StagePanelSection;\r\n// @ts-ignore Removed in 4.0\r\nconst AbstractStagePanelSection = abstract.StagePanelSection; // eslint-disable-line @typescript-eslint/no-redeclare\r\n\r\nconst AbstractToolbarItemUtilities = abstract.ToolbarItemUtilities;\r\n\r\nconst originalDataSymbol = Symbol(\"originalData\");\r\n\r\n/** @internal */\r\nexport function createAbstractUiItemsManagerAdapter() {\r\n if (!AbstractUiItemsManager)\r\n return undefined;\r\n return new AbstractUiItemsManagerAdapter(AbstractUiItemsManager);\r\n}\r\n\r\ntype Target = Pick<typeof UiItemsManager, \"getWidgets\" | \"getToolbarButtonItems\" | \"getStatusBarItems\" | \"getBackstageItems\" | \"register\" | \"getUiItemsProvider\" | \"registeredProviderIds\" | \"hasRegisteredProviders\" | \"unregister\" | \"onUiProviderRegisteredEvent\" | \"clearAllProviders\">;\r\n\r\nclass AbstractUiItemsManagerAdapter implements Target {\r\n constructor(private readonly _adaptee: typeof AbstractUiItemsManagerType) {\r\n }\r\n\r\n public clearAllProviders(): void {\r\n return this._adaptee.clearAllProviders();\r\n }\r\n\r\n public get onUiProviderRegisteredEvent(): BeUiEvent<UiItemsProviderRegisteredEventArgs> {\r\n if (!(\"emit\" in this._adaptee.onUiProviderRegisteredEvent)) {\r\n (this._adaptee.onUiProviderRegisteredEvent as any).emit = (args: UiItemsProviderRegisteredEventArgs) => {\r\n this._adaptee.onUiProviderRegisteredEvent.raiseEvent(args);\r\n };\r\n }\r\n return this._adaptee.onUiProviderRegisteredEvent as BeUiEvent<UiItemsProviderRegisteredEventArgs>;\r\n }\r\n\r\n public unregister(providerId: string): void {\r\n return this._adaptee.unregister(providerId);\r\n }\r\n\r\n public get hasRegisteredProviders(): boolean {\r\n return this._adaptee.hasRegisteredProviders;\r\n }\r\n\r\n public get registeredProviderIds(): string[] {\r\n return this._adaptee.registeredProviderIds;\r\n }\r\n\r\n public register(provider: UiItemsProvider, overrides?: UiItemsProviderOverrides | undefined): void {\r\n const abstractProvider = new UiItemsProviderToAbstractAdapter(provider);\r\n return this._adaptee.register(abstractProvider, overrides);\r\n }\r\n\r\n public getUiItemsProvider(providerId: string): UiItemsProvider | undefined {\r\n const abstractProvider = this._adaptee.getUiItemsProvider(providerId);\r\n if (!abstractProvider)\r\n return undefined;\r\n\r\n const provider = new AbstractToUiItemsProviderAdapter(abstractProvider);\r\n return provider;\r\n }\r\n\r\n public getBackstageItems(): readonly ProviderItem<BackstageItem>[] {\r\n const abstractItems = this._adaptee.getBackstageItems();\r\n const items = abstractItems.map((abstractItem) => {\r\n const item = fromAbstractBackstageItem(abstractItem);\r\n return {\r\n ...item,\r\n providerId: abstractItem.providerId ? abstractItem.providerId : \"\",\r\n };\r\n });\r\n return items;\r\n }\r\n\r\n public getStatusBarItems(stageId: string, stageUsage: string): readonly ProviderItem<StatusBarItem>[] {\r\n const abstractItems = this._adaptee.getStatusBarItems(stageId, stageUsage);\r\n const items = abstractItems.map((abstractItem) => {\r\n const item = fromAbstractStatusBarItem(abstractItem);\r\n return {\r\n ...item,\r\n providerId: abstractItem.providerId ? abstractItem.providerId : \"\",\r\n };\r\n });\r\n return items;\r\n }\r\n\r\n public getToolbarButtonItems(stageId: string, stageUsage: string, usage: ToolbarUsage, orientation: ToolbarOrientation): readonly ProviderItem<ToolbarItem>[] {\r\n const abstractItems = this._adaptee.getToolbarButtonItems(stageId, stageUsage, usage, orientation);\r\n const items = abstractItems.map((abstractItem) => {\r\n const item = fromAbstractToolbarItem(abstractItem);\r\n return {\r\n ...item,\r\n providerId: abstractItem.providerId ?? \"\",\r\n };\r\n });\r\n return items;\r\n }\r\n\r\n public getWidgets(stageId: string, stageUsage: string, location: StagePanelLocation, section?: StagePanelSection | undefined): readonly ProviderItem<Widget>[] {\r\n const abstractLocations = toAbstractStagePanelLocation(location);\r\n const abstractSections = section === undefined ? [undefined] as const : toAbstractStagePanelSection(section);\r\n const combos: [AbstractStagePanelLocation, AbstractStagePanelSection | undefined][] = [];\r\n abstractLocations.forEach((abstractLocation) => {\r\n abstractSections.forEach((abstractSection) => {\r\n combos.push([abstractLocation, abstractSection]);\r\n });\r\n });\r\n let abstractWidgets = combos.reduce<AbstractWidget[]>((acc, [abstractLocation, abstractSection]) => {\r\n const w = this._adaptee.getWidgets(stageId, stageUsage, abstractLocation, abstractSection);\r\n acc.push(...w);\r\n return acc;\r\n }, []);\r\n abstractWidgets = abstractWidgets.reduce<AbstractWidget[]>((acc, abstractWidget) => {\r\n if (-1 === acc.findIndex((w) => w.id === abstractWidget.id))\r\n acc.push(abstractWidget);\r\n return acc;\r\n }, []);\r\n const widgets = abstractWidgets\r\n // @ts-ignore Possibly 'any'\r\n .map((abstractWidget) => {\r\n const widget = fromAbstractWidget(abstractWidget);\r\n return {\r\n ...widget,\r\n providerId: abstractWidget.providerId ?? \"\",\r\n };\r\n });\r\n return widgets;\r\n }\r\n}\r\n\r\nclass UiItemsProviderToAbstractAdapter implements AbstractUiItemsProvider {\r\n public get id(): string {\r\n return this._adaptee.id;\r\n }\r\n\r\n constructor(private readonly _adaptee: UiItemsProvider) {\r\n }\r\n\r\n public onUnregister() {\r\n this._adaptee.onUnregister?.();\r\n }\r\n\r\n public provideBackstageItems() {\r\n if (!this._adaptee.provideBackstageItems)\r\n return [];\r\n\r\n const items = this._adaptee.provideBackstageItems();\r\n const abstractItems = items.map((item) => toAbstractBackstageItem(item));\r\n return abstractItems;\r\n }\r\n\r\n public provideStatusBarItems(stageId: string, stageUsage: string, _stageAppData?: any) {\r\n if (!this._adaptee.provideStatusBarItems)\r\n return [];\r\n\r\n const items = this._adaptee.provideStatusBarItems(stageId, stageUsage);\r\n const abstractItems = items.map((item) => toAbstractStatusBarItem(item));\r\n return abstractItems;\r\n }\r\n\r\n public provideToolbarButtonItems(stageId: string, stageUsage: string, usage: AbstractToolbarUsage, orientation: AbstractToolbarOrientation, _stageAppData?: any) {\r\n if (!this._adaptee.provideToolbarItems)\r\n return [];\r\n\r\n const items = this._adaptee.provideToolbarItems(stageId, stageUsage, usage, orientation);\r\n const abstractItems = items.map((item) => toAbstractToolbarItem(item));\r\n return abstractItems;\r\n }\r\n\r\n public provideWidgets(stageId: string, stageUsage: string, abstractLocation: AbstractStagePanelLocation, abstractSection?: AbstractStagePanelSection | undefined, _zoneLocation?: any, _stageAppData?: any) {\r\n if (!this._adaptee.provideWidgets)\r\n return [];\r\n\r\n const location = fromAbstractStagePanelLocation(abstractLocation);\r\n const section = abstractSection === undefined ? undefined : fromAbstractStagePanelSection(abstractSection);\r\n const widgets = this._adaptee.provideWidgets(stageId, stageUsage, location, section);\r\n const abstractWidgets = widgets.map((widget) => toAbstractWidget(widget));\r\n return abstractWidgets;\r\n }\r\n}\r\n\r\nclass AbstractToUiItemsProviderAdapter implements UiItemsProvider {\r\n public get id(): string {\r\n return this._adaptee.id;\r\n }\r\n\r\n constructor(private readonly _adaptee: AbstractUiItemsProvider) {\r\n }\r\n\r\n public onUnregister() {\r\n this._adaptee.onUnregister?.();\r\n }\r\n\r\n public provideBackstageItems() {\r\n if (!this._adaptee.provideBackstageItems)\r\n return [];\r\n\r\n const abstractItems = this._adaptee.provideBackstageItems();\r\n const items = abstractItems.map((abstractItem) => fromAbstractBackstageItem(abstractItem));\r\n return items;\r\n }\r\n\r\n public provideStatusBarItems(stageId: string, stageUsage: string) {\r\n if (!this._adaptee.provideStatusBarItems)\r\n return [];\r\n\r\n const abstractItems = this._adaptee.provideStatusBarItems(stageId, stageUsage);\r\n const items = abstractItems.map((abstractItem) => fromAbstractStatusBarItem(abstractItem));\r\n return items;\r\n }\r\n\r\n public provideWidgets(stageId: string, stageUsage: string, location: StagePanelLocation, section?: StagePanelSection) {\r\n if (!this._adaptee.provideWidgets)\r\n return [];\r\n\r\n const abstractLocations = toAbstractStagePanelLocation(location);\r\n const abstractSections = section === undefined ? [undefined] as const : toAbstractStagePanelSection(section);\r\n const combos: [AbstractStagePanelLocation, AbstractStagePanelSection | undefined][] = [];\r\n abstractLocations.forEach((abstractLocation) => {\r\n abstractSections.forEach((abstractSection) => {\r\n combos.push([abstractLocation, abstractSection]);\r\n });\r\n });\r\n let abstractWidgets = combos.reduce<AbstractWidget[]>((acc, [abstractLocation, abstractSection]) => {\r\n assert(!!this._adaptee.provideWidgets);\r\n const w = this._adaptee.provideWidgets(stageId, stageUsage, abstractLocation, abstractSection);\r\n acc.push(...w);\r\n return acc;\r\n }, []);\r\n abstractWidgets = abstractWidgets.reduce<AbstractWidget[]>((acc, abstractWidget) => {\r\n if (-1 === acc.findIndex((w) => w.id === abstractWidget.id))\r\n acc.push(abstractWidget);\r\n return acc;\r\n }, []);\r\n const widgets = abstractWidgets.map((abstractWidget) => fromAbstractWidget(abstractWidget));\r\n return widgets;\r\n }\r\n\r\n public provideToolbarItems(stageId: string, stageUsage: string, usage: ToolbarUsage, orientation: ToolbarOrientation) {\r\n if (!this._adaptee.provideToolbarButtonItems)\r\n return [];\r\n\r\n const abstractItems = this._adaptee.provideToolbarButtonItems(stageId, stageUsage, usage, orientation);\r\n const items = abstractItems.map((abstractItem) => fromAbstractToolbarItem(abstractItem));\r\n return items;\r\n }\r\n}\r\n\r\nfunction toAbstractBackstageItem(item: BackstageItem): AbstractBackstageItem {\r\n let abstractItem = getOriginalData<AbstractBackstageItem>(item);\r\n if (abstractItem)\r\n return abstractItem;\r\n\r\n const internalData = new Map();\r\n const icon = IconHelper.getIconData(item.icon, internalData);\r\n abstractItem = {\r\n ...item,\r\n badgeType: item.badge,\r\n icon,\r\n internalData,\r\n };\r\n setOriginalData(abstractItem, item);\r\n return abstractItem;\r\n}\r\n\r\nfunction toAbstractStatusBarItem(item: StatusBarItem): AbstractStatusBarItem {\r\n let abstractItem = getOriginalData<AbstractStatusBarItem>(item);\r\n if (abstractItem)\r\n return abstractItem;\r\n\r\n if (isStatusBarCustomItem(item)) {\r\n abstractItem = {\r\n ...item,\r\n badgeType: item.badge,\r\n isCustom: true,\r\n reactNode: item.content,\r\n } as AbstractStatusBarItem;\r\n } else {\r\n const internalData = new Map();\r\n const icon = IconHelper.getIconData(item.icon, internalData);\r\n abstractItem = {\r\n ...item,\r\n badgeType: item.badge,\r\n icon,\r\n internalData,\r\n };\r\n }\r\n setOriginalData(abstractItem, item);\r\n return abstractItem;\r\n}\r\n\r\nfunction toAbstractToolbarItem(item: ToolbarItem): AbstractToolbarItem {\r\n let abstractItem = getOriginalData<AbstractToolbarItem>(item);\r\n if (abstractItem)\r\n return abstractItem;\r\n\r\n const internalData = new Map();\r\n const icon = IconHelper.getIconData(item.icon, internalData);\r\n if (isToolbarActionItem(item)) {\r\n abstractItem = {\r\n ...item,\r\n badgeType: item.badge,\r\n icon,\r\n internalData,\r\n parentToolGroupId: item.parentGroupItemId,\r\n };\r\n } else if (isToolbarGroupItem(item)) {\r\n abstractItem = {\r\n ...item,\r\n badgeType: item.badge,\r\n icon,\r\n internalData,\r\n parentToolGroupId: item.parentGroupItemId,\r\n items: item.items.map((i) => toAbstractToolbarItem(i)) as any,\r\n };\r\n } else {\r\n abstractItem = {\r\n ...item,\r\n badgeType: item.badge,\r\n isCustom: true,\r\n icon,\r\n internalData,\r\n };\r\n }\r\n setOriginalData(abstractItem, item);\r\n return abstractItem;\r\n}\r\n\r\nfunction toAbstractWidget(widget: Widget): AbstractWidget {\r\n let abstractWidget = getOriginalData<AbstractWidget>(widget);\r\n if (abstractWidget)\r\n return abstractWidget;\r\n\r\n const allowedPanelTargets = widget.allowedPanels\r\n // @ts-ignore Possibly 'any'\r\n ?.map((location) => {\r\n const map = {\r\n [StagePanelLocation.Top]: \"top\" as const,\r\n [StagePanelLocation.Left]: \"left\" as const,\r\n [StagePanelLocation.Right]: \"right\" as const,\r\n [StagePanelLocation.Bottom]: \"bottom\" as const,\r\n };\r\n // @ts-ignore Possibly 'any'\r\n return map[location];\r\n });\r\n const internalData = new Map();\r\n const icon = IconHelper.getIconData(widget.icon, internalData);\r\n abstractWidget = {\r\n ...widget,\r\n id: widget.id ?? \"\",\r\n getWidgetContent: () => widget.content,\r\n allowedPanelTargets,\r\n badgeType: widget.badge,\r\n defaultFloatingPosition: typeof widget.canFloat === \"object\" ? widget.canFloat.defaultPosition : undefined,\r\n defaultFloatingSize: typeof widget.canFloat === \"object\" ? widget.canFloat.defaultSize : undefined,\r\n floatingContainerId: typeof widget.canFloat === \"object\" ? widget.canFloat.containerId : undefined,\r\n hideWithUiWhenFloating: typeof widget.canFloat === \"object\" ? widget.canFloat.hideWithUi : undefined,\r\n isFloatingStateSupported: !!widget.canFloat,\r\n isFloatingStateWindowResizable: typeof widget.canFloat === \"object\" ? widget.canFloat.isResizable : undefined,\r\n icon,\r\n internalData,\r\n };\r\n setOriginalData(abstractWidget, widget);\r\n return abstractWidget;\r\n}\r\n\r\nfunction fromAbstractBackstageItem(abstractItem: AbstractBackstageItem): BackstageItem {\r\n let item = getOriginalData<BackstageItem>(abstractItem);\r\n if (item)\r\n return item;\r\n\r\n const icon = fromAbstractIcon(abstractItem.icon, abstractItem.internalData);\r\n item = {\r\n ...abstractItem,\r\n badge: abstractItem.badgeType,\r\n icon,\r\n };\r\n setOriginalData(item, abstractItem);\r\n return item;\r\n}\r\n\r\nfunction fromAbstractStatusBarItem(abstractItem: AbstractStatusBarItem): StatusBarItem {\r\n let item = getOriginalData<StatusBarItem>(abstractItem);\r\n if (item)\r\n return item;\r\n\r\n if (isAbstractStatusBarCustomItem(abstractItem)) {\r\n const content: React.ReactNode | undefined = (abstractItem as any).reactNode;\r\n return {\r\n ...abstractItem,\r\n badge: abstractItem.badgeType,\r\n content,\r\n };\r\n } else {\r\n const icon = fromAbstractIcon(abstractItem.icon, abstractItem.internalData);\r\n item = {\r\n ...abstractItem,\r\n badge: abstractItem.badgeType,\r\n icon,\r\n };\r\n }\r\n assert(!!item);\r\n setOriginalData(item, abstractItem);\r\n return item;\r\n}\r\n\r\nfunction fromAbstractToolbarItem(abstractItem: AbstractToolbarItem): ToolbarItem {\r\n let item = getOriginalData<ToolbarItem>(abstractItem);\r\n if (item)\r\n return item;\r\n\r\n const icon = fromAbstractIcon(abstractItem.icon, abstractItem.internalData);\r\n if (AbstractToolbarItemUtilities.isCustomDefinition(abstractItem)) {\r\n item = {\r\n ...abstractItem,\r\n badge: abstractItem.badgeType,\r\n icon,\r\n };\r\n } else {\r\n item = {\r\n ...abstractItem,\r\n badge: abstractItem.badgeType,\r\n parentGroupItemId: abstractItem.parentToolGroupId,\r\n icon,\r\n };\r\n }\r\n setOriginalData(item, abstractItem);\r\n return item;\r\n}\r\n\r\nfunction fromAbstractWidget(abstractWidget: AbstractWidget): Widget {\r\n let widget = getOriginalData<Widget>(abstractWidget);\r\n if (widget)\r\n return widget;\r\n\r\n const allowedPanels = abstractWidget.allowedPanelTargets\r\n // @ts-ignore Possibly 'any'\r\n ?.map((target) => {\r\n const map = {\r\n top: StagePanelLocation.Top,\r\n left: StagePanelLocation.Left,\r\n right: StagePanelLocation.Right,\r\n bottom: StagePanelLocation.Bottom,\r\n };\r\n // @ts-ignore Possibly 'any'\r\n return map[target];\r\n });\r\n const icon = fromAbstractIcon(abstractWidget.icon, abstractWidget.internalData);\r\n widget = {\r\n ...abstractWidget,\r\n id: abstractWidget.id ?? \"\",\r\n content: abstractWidget.getWidgetContent(),\r\n allowedPanels,\r\n badge: abstractWidget.badgeType,\r\n canFloat: abstractWidget.isFloatingStateSupported && {\r\n containerId: abstractWidget.floatingContainerId,\r\n defaultPosition: abstractWidget.defaultFloatingPosition,\r\n defaultSize: abstractWidget.defaultFloatingSize,\r\n hideWithUi: abstractWidget.hideWithUiWhenFloating,\r\n isResizable: abstractWidget.isFloatingStateWindowResizable,\r\n },\r\n icon,\r\n };\r\n setOriginalData(widget, abstractWidget);\r\n return widget;\r\n}\r\n\r\nfunction fromAbstractStagePanelLocation(location: AbstractStagePanelLocation): StagePanelLocation {\r\n switch (location) {\r\n case AbstractStagePanelLocation.Left:\r\n return StagePanelLocation.Left;\r\n case AbstractStagePanelLocation.Top:\r\n return StagePanelLocation.Top;\r\n case AbstractStagePanelLocation.TopMost:\r\n return StagePanelLocation.Top;\r\n case AbstractStagePanelLocation.Bottom:\r\n return StagePanelLocation.Bottom;\r\n case AbstractStagePanelLocation.BottomMost:\r\n return StagePanelLocation.Bottom;\r\n }\r\n return StagePanelLocation.Right;\r\n}\r\n\r\nfunction toAbstractStagePanelLocation(location: StagePanelLocation): AbstractStagePanelLocation[] {\r\n switch (location) {\r\n case StagePanelLocation.Left:\r\n return [AbstractStagePanelLocation.Left];\r\n case StagePanelLocation.Top:\r\n return [AbstractStagePanelLocation.Top, AbstractStagePanelLocation.TopMost];\r\n case StagePanelLocation.Bottom:\r\n return [AbstractStagePanelLocation.Bottom, AbstractStagePanelLocation.BottomMost];\r\n }\r\n return [AbstractStagePanelLocation.Right];\r\n}\r\n\r\nfunction fromAbstractStagePanelSection(section: AbstractStagePanelSection): StagePanelSection {\r\n switch (section) {\r\n case AbstractStagePanelSection.End:\r\n return StagePanelSection.End;\r\n }\r\n return StagePanelSection.Start;\r\n}\r\n\r\nfunction toAbstractStagePanelSection(section: StagePanelSection): AbstractStagePanelSection[] {\r\n switch (section) {\r\n case StagePanelSection.End:\r\n return [AbstractStagePanelSection.End];\r\n }\r\n return [AbstractStagePanelSection.Start, AbstractStagePanelSection.Middle];\r\n}\r\n\r\nfunction fromAbstractIcon(icon: string | abstract.ConditionalStringValue | undefined, internalData: Map<string, any> | undefined): IconSpec {\r\n if (!icon)\r\n return undefined;\r\n const iconString = abstract.ConditionalStringValue.getValue(icon);\r\n if (!iconString)\r\n return undefined;\r\n if (iconString === IconHelper.reactIconKey && internalData)\r\n return internalData.get(IconHelper.reactIconKey) as React.ReactNode;\r\n return iconString;\r\n}\r\n\r\nfunction getOriginalData<TData>(obj: Object): TData | undefined {\r\n const originalData = (obj as any)[originalDataSymbol];\r\n if (!originalData)\r\n return undefined;\r\n return originalData;\r\n}\r\n\r\nfunction setOriginalData<TData>(obj: Object, data: TData) {\r\n (obj as any)[originalDataSymbol] = data;\r\n}\r\n"]}
|
|
@@ -38,11 +38,13 @@ export type UiItemsProviderOverrides = MarkRequired<AllowedUiItemsProviderOverri
|
|
|
38
38
|
*/
|
|
39
39
|
export declare class UiItemsManager {
|
|
40
40
|
private static _registeredUiItemsProviders;
|
|
41
|
+
private static _onUiProviderRegisteredEvent;
|
|
42
|
+
private static _abstractAdapter;
|
|
41
43
|
/** For use in unit testing
|
|
42
44
|
* @internal */
|
|
43
45
|
static clearAllProviders(): void;
|
|
44
46
|
/** Event raised any time a UiProvider is registered or unregistered. */
|
|
45
|
-
static
|
|
47
|
+
static get onUiProviderRegisteredEvent(): BeUiEvent<UiItemsProviderRegisteredEventArgs>;
|
|
46
48
|
/** Return number of registered UiProvider. */
|
|
47
49
|
static get registeredProviderIds(): string[];
|
|
48
50
|
/** Return true if there is any registered UiProvider. */
|
|
@@ -65,11 +67,11 @@ export declare class UiItemsManager {
|
|
|
65
67
|
* an action or specify a registered ToolId into toolbar.
|
|
66
68
|
* @param stageId a string identifier the active stage.
|
|
67
69
|
* @param stageUsage the StageUsage of the active stage.
|
|
68
|
-
* @param
|
|
69
|
-
* @param
|
|
70
|
+
* @param usage usage of the toolbar
|
|
71
|
+
* @param orientation orientation of the toolbar
|
|
70
72
|
* @returns an array of error messages. The array will be empty if the load is successful, otherwise it is a list of one or more problems.
|
|
71
73
|
*/
|
|
72
|
-
static getToolbarButtonItems(stageId: string, stageUsage: string,
|
|
74
|
+
static getToolbarButtonItems(stageId: string, stageUsage: string, usage: ToolbarUsage, orientation: ToolbarOrientation): ReadonlyArray<ProviderItem<ToolbarItem>>;
|
|
73
75
|
/** Called when the application is populating the statusbar so that any registered UiItemsProvider can add status fields
|
|
74
76
|
* @param stageId a string identifier the active stage.
|
|
75
77
|
* @param stageUsage the StageUsage of the active stage.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UiItemsManager.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/ui-items-provider/UiItemsManager.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAU,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEvF,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"UiItemsManager.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/ui-items-provider/UiItemsManager.ts"],"names":[],"mappings":"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"}
|