@itwin/appui-abstract 4.0.0-dev.10 → 4.0.0-dev.101
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 +144 -1
- package/lib/cjs/appui-abstract/BaseUiItemsProvider.d.ts +5 -5
- package/lib/cjs/appui-abstract/BaseUiItemsProvider.d.ts.map +1 -1
- package/lib/cjs/appui-abstract/BaseUiItemsProvider.js +4 -3
- package/lib/cjs/appui-abstract/BaseUiItemsProvider.js.map +1 -1
- package/lib/cjs/appui-abstract/UiAdmin.js +1 -1
- package/lib/cjs/appui-abstract/UiAdmin.js.map +1 -1
- package/lib/cjs/appui-abstract/UiItemsManager.d.ts +6 -6
- package/lib/cjs/appui-abstract/UiItemsManager.d.ts.map +1 -1
- package/lib/cjs/appui-abstract/UiItemsManager.js +17 -22
- package/lib/cjs/appui-abstract/UiItemsManager.js.map +1 -1
- package/lib/cjs/appui-abstract/UiItemsProvider.d.ts +5 -4
- package/lib/cjs/appui-abstract/UiItemsProvider.d.ts.map +1 -1
- package/lib/cjs/appui-abstract/UiItemsProvider.js.map +1 -1
- package/lib/cjs/appui-abstract/backstage/BackstageItem.d.ts +3 -3
- package/lib/cjs/appui-abstract/backstage/BackstageItem.d.ts.map +1 -1
- package/lib/cjs/appui-abstract/backstage/BackstageItem.js +3 -3
- package/lib/cjs/appui-abstract/backstage/BackstageItem.js.map +1 -1
- package/lib/cjs/appui-abstract/backstage/BackstageItemsManager.js.map +1 -1
- package/lib/cjs/appui-abstract/content/StandardContentLayouts.js +1 -1
- package/lib/cjs/appui-abstract/content/StandardContentLayouts.js.map +1 -1
- package/lib/cjs/appui-abstract/dialogs/DialogItem.d.ts +1 -1
- package/lib/cjs/appui-abstract/dialogs/DialogItem.js.map +1 -1
- package/lib/cjs/appui-abstract/dialogs/UiLayoutDataProvider.js +1 -1
- package/lib/cjs/appui-abstract/dialogs/UiLayoutDataProvider.js.map +1 -1
- package/lib/cjs/appui-abstract/items/AbstractItemProps.d.ts +1 -1
- package/lib/cjs/appui-abstract/items/AbstractItemProps.d.ts.map +1 -1
- package/lib/cjs/appui-abstract/properties/Description.d.ts +1 -4
- package/lib/cjs/appui-abstract/properties/Description.d.ts.map +1 -1
- package/lib/cjs/appui-abstract/properties/Description.js.map +1 -1
- package/lib/cjs/appui-abstract/properties/EditorParams.d.ts +1 -1
- package/lib/cjs/appui-abstract/properties/EditorParams.d.ts.map +1 -1
- package/lib/cjs/appui-abstract/properties/Value.d.ts +1 -1
- package/lib/cjs/appui-abstract/properties/Value.d.ts.map +1 -1
- package/lib/cjs/appui-abstract/statusbar/StatusBarItem.d.ts +6 -6
- package/lib/cjs/appui-abstract/statusbar/StatusBarItem.d.ts.map +1 -1
- package/lib/cjs/appui-abstract/statusbar/StatusBarItem.js +1 -1
- package/lib/cjs/appui-abstract/statusbar/StatusBarItem.js.map +1 -1
- package/lib/cjs/appui-abstract/statusbar/StatusBarItemsManager.js.map +1 -1
- package/lib/cjs/appui-abstract/toolbars/ToolbarItem.d.ts +5 -5
- package/lib/cjs/appui-abstract/toolbars/ToolbarItem.d.ts.map +1 -1
- package/lib/cjs/appui-abstract/toolbars/ToolbarItem.js +1 -1
- package/lib/cjs/appui-abstract/toolbars/ToolbarItem.js.map +1 -1
- package/lib/cjs/appui-abstract/toolbars/ToolbarItemsManager.js.map +1 -1
- package/lib/cjs/appui-abstract/utils/IconSpecUtilities.d.ts +12 -0
- package/lib/cjs/appui-abstract/utils/IconSpecUtilities.d.ts.map +1 -1
- package/lib/cjs/appui-abstract/utils/IconSpecUtilities.js +20 -1
- package/lib/cjs/appui-abstract/utils/IconSpecUtilities.js.map +1 -1
- package/lib/cjs/appui-abstract/utils/callbacks.d.ts +4 -4
- package/lib/cjs/appui-abstract/utils/callbacks.d.ts.map +1 -1
- package/lib/cjs/appui-abstract/utils/filter/filters.d.ts +3 -3
- package/lib/cjs/appui-abstract/utils/filter/filters.d.ts.map +1 -1
- package/lib/cjs/appui-abstract/utils/filter/filters.js +28 -28
- package/lib/cjs/appui-abstract/utils/filter/filters.js.map +1 -1
- package/lib/cjs/appui-abstract/utils/filter/map.js +15 -17
- package/lib/cjs/appui-abstract/utils/filter/map.js.map +1 -1
- package/lib/cjs/appui-abstract/utils/filter/strings.js +2 -2
- package/lib/cjs/appui-abstract/utils/filter/strings.js.map +1 -1
- package/lib/cjs/appui-abstract/widget/AbstractWidgetProps.d.ts +24 -7
- package/lib/cjs/appui-abstract/widget/AbstractWidgetProps.d.ts.map +1 -1
- package/lib/cjs/appui-abstract/widget/AbstractWidgetProps.js.map +1 -1
- package/lib/cjs/appui-abstract/widget/StagePanel.d.ts +19 -4
- package/lib/cjs/appui-abstract/widget/StagePanel.d.ts.map +1 -1
- package/lib/cjs/appui-abstract/widget/StagePanel.js +21 -5
- package/lib/cjs/appui-abstract/widget/StagePanel.js.map +1 -1
- package/lib/cjs/appui-abstract.js +5 -1
- package/lib/cjs/appui-abstract.js.map +1 -1
- package/lib/esm/appui-abstract/BaseUiItemsProvider.d.ts +5 -5
- package/lib/esm/appui-abstract/BaseUiItemsProvider.d.ts.map +1 -1
- package/lib/esm/appui-abstract/BaseUiItemsProvider.js +4 -3
- package/lib/esm/appui-abstract/BaseUiItemsProvider.js.map +1 -1
- package/lib/esm/appui-abstract/UiAdmin.js +2 -1
- package/lib/esm/appui-abstract/UiAdmin.js.map +1 -1
- package/lib/esm/appui-abstract/UiItemsManager.d.ts +6 -6
- package/lib/esm/appui-abstract/UiItemsManager.d.ts.map +1 -1
- package/lib/esm/appui-abstract/UiItemsManager.js +18 -22
- package/lib/esm/appui-abstract/UiItemsManager.js.map +1 -1
- package/lib/esm/appui-abstract/UiItemsProvider.d.ts +5 -4
- package/lib/esm/appui-abstract/UiItemsProvider.d.ts.map +1 -1
- package/lib/esm/appui-abstract/UiItemsProvider.js.map +1 -1
- package/lib/esm/appui-abstract/backstage/BackstageItem.d.ts +3 -3
- package/lib/esm/appui-abstract/backstage/BackstageItem.d.ts.map +1 -1
- package/lib/esm/appui-abstract/backstage/BackstageItem.js +4 -3
- package/lib/esm/appui-abstract/backstage/BackstageItem.js.map +1 -1
- package/lib/esm/appui-abstract/backstage/BackstageItemsManager.js.map +1 -1
- package/lib/esm/appui-abstract/content/StandardContentLayouts.js +2 -1
- package/lib/esm/appui-abstract/content/StandardContentLayouts.js.map +1 -1
- package/lib/esm/appui-abstract/dialogs/DialogItem.d.ts +1 -1
- package/lib/esm/appui-abstract/dialogs/DialogItem.js.map +1 -1
- package/lib/esm/appui-abstract/dialogs/UiLayoutDataProvider.js +2 -1
- package/lib/esm/appui-abstract/dialogs/UiLayoutDataProvider.js.map +1 -1
- package/lib/esm/appui-abstract/items/AbstractItemProps.d.ts +1 -1
- package/lib/esm/appui-abstract/items/AbstractItemProps.d.ts.map +1 -1
- package/lib/esm/appui-abstract/properties/Description.d.ts +1 -4
- package/lib/esm/appui-abstract/properties/Description.d.ts.map +1 -1
- package/lib/esm/appui-abstract/properties/Description.js.map +1 -1
- package/lib/esm/appui-abstract/properties/EditorParams.d.ts +1 -1
- package/lib/esm/appui-abstract/properties/EditorParams.d.ts.map +1 -1
- package/lib/esm/appui-abstract/properties/Value.d.ts +1 -1
- package/lib/esm/appui-abstract/properties/Value.d.ts.map +1 -1
- package/lib/esm/appui-abstract/statusbar/StatusBarItem.d.ts +6 -6
- package/lib/esm/appui-abstract/statusbar/StatusBarItem.d.ts.map +1 -1
- package/lib/esm/appui-abstract/statusbar/StatusBarItem.js +2 -1
- package/lib/esm/appui-abstract/statusbar/StatusBarItem.js.map +1 -1
- package/lib/esm/appui-abstract/statusbar/StatusBarItemsManager.js.map +1 -1
- package/lib/esm/appui-abstract/toolbars/ToolbarItem.d.ts +5 -5
- package/lib/esm/appui-abstract/toolbars/ToolbarItem.d.ts.map +1 -1
- package/lib/esm/appui-abstract/toolbars/ToolbarItem.js +2 -1
- package/lib/esm/appui-abstract/toolbars/ToolbarItem.js.map +1 -1
- package/lib/esm/appui-abstract/toolbars/ToolbarItemsManager.js.map +1 -1
- package/lib/esm/appui-abstract/utils/IconSpecUtilities.d.ts +12 -0
- package/lib/esm/appui-abstract/utils/IconSpecUtilities.d.ts.map +1 -1
- package/lib/esm/appui-abstract/utils/IconSpecUtilities.js +21 -1
- package/lib/esm/appui-abstract/utils/IconSpecUtilities.js.map +1 -1
- package/lib/esm/appui-abstract/utils/callbacks.d.ts +4 -4
- package/lib/esm/appui-abstract/utils/callbacks.d.ts.map +1 -1
- package/lib/esm/appui-abstract/utils/filter/filters.d.ts +3 -3
- package/lib/esm/appui-abstract/utils/filter/filters.d.ts.map +1 -1
- package/lib/esm/appui-abstract/utils/filter/filters.js +28 -28
- package/lib/esm/appui-abstract/utils/filter/filters.js.map +1 -1
- package/lib/esm/appui-abstract/utils/filter/map.js +15 -17
- package/lib/esm/appui-abstract/utils/filter/map.js.map +1 -1
- package/lib/esm/appui-abstract/utils/filter/strings.js +2 -2
- package/lib/esm/appui-abstract/utils/filter/strings.js.map +1 -1
- package/lib/esm/appui-abstract/widget/AbstractWidgetProps.d.ts +24 -7
- package/lib/esm/appui-abstract/widget/AbstractWidgetProps.d.ts.map +1 -1
- package/lib/esm/appui-abstract/widget/AbstractWidgetProps.js.map +1 -1
- package/lib/esm/appui-abstract/widget/StagePanel.d.ts +19 -4
- package/lib/esm/appui-abstract/widget/StagePanel.d.ts.map +1 -1
- package/lib/esm/appui-abstract/widget/StagePanel.js +20 -4
- package/lib/esm/appui-abstract/widget/StagePanel.js.map +1 -1
- package/package.json +26 -19
@@ -2,13 +2,14 @@
|
|
2
2
|
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
3
3
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
4
4
|
*--------------------------------------------------------------------------------------------*/
|
5
|
+
/* eslint-disable deprecation/deprecation */
|
5
6
|
/** @packageDocumentation
|
6
7
|
* @module UiItemsProvider
|
7
8
|
*/
|
8
9
|
import { BeEvent, Logger } from "@itwin/core-bentley";
|
9
10
|
import { loggerCategory } from "./utils/misc";
|
10
11
|
/** Action taken by the application on item provided by a UiItemsProvider
|
11
|
-
* @public @deprecated
|
12
|
+
* @public @deprecated in 3.2. This was only used by the previously removed UiItemsArbiter.
|
12
13
|
*/
|
13
14
|
export var UiItemsApplicationAction;
|
14
15
|
(function (UiItemsApplicationAction) {
|
@@ -23,7 +24,7 @@ export var UiItemsApplicationAction;
|
|
23
24
|
* @deprecated in 3.6. Use [UiItemsManager]($appui-react) instead.
|
24
25
|
* @public
|
25
26
|
*/
|
26
|
-
|
27
|
+
class UiItemsManager {
|
27
28
|
/** For use in unit testing
|
28
29
|
* @internal */
|
29
30
|
static clearAllProviders() {
|
@@ -43,8 +44,7 @@ export class UiItemsManager {
|
|
43
44
|
* @param providerId id of the UiItemsProvider to get
|
44
45
|
*/
|
45
46
|
static getUiItemsProvider(providerId) {
|
46
|
-
|
47
|
-
return (_a = UiItemsManager._registeredUiItemsProviders.get(providerId)) === null || _a === void 0 ? void 0 : _a.provider;
|
47
|
+
return UiItemsManager._registeredUiItemsProviders.get(providerId)?.provider;
|
48
48
|
}
|
49
49
|
static sendRegisteredEvent(ev) {
|
50
50
|
UiItemsManager.onUiProviderRegisteredEvent.raiseEvent(ev);
|
@@ -54,8 +54,7 @@ export class UiItemsManager {
|
|
54
54
|
* @param uiProvider the UI items provider to register.
|
55
55
|
*/
|
56
56
|
static register(uiProvider, overrides) {
|
57
|
-
|
58
|
-
const providerId = (_a = overrides === null || overrides === void 0 ? void 0 : overrides.providerId) !== null && _a !== void 0 ? _a : uiProvider.id;
|
57
|
+
const providerId = overrides?.providerId ?? uiProvider.id;
|
59
58
|
if (UiItemsManager.getUiItemsProvider(providerId)) {
|
60
59
|
Logger.logInfo(loggerCategory(this), `UiItemsProvider (${providerId}) is already loaded`);
|
61
60
|
}
|
@@ -79,9 +78,9 @@ export class UiItemsManager {
|
|
79
78
|
static allowItemsFromProvider(entry, stageId, stageUsage) {
|
80
79
|
// istanbul ignore else
|
81
80
|
const overrides = entry.overrides;
|
82
|
-
if (undefined !== stageId &&
|
81
|
+
if (undefined !== stageId && overrides?.stageIds && !(overrides.stageIds.some((value) => value === stageId)))
|
83
82
|
return false;
|
84
|
-
if (undefined !== stageUsage &&
|
83
|
+
if (undefined !== stageUsage && overrides?.stageUsages && !(overrides.stageUsages.some((value) => value === stageUsage)))
|
85
84
|
return false;
|
86
85
|
return true;
|
87
86
|
}
|
@@ -93,17 +92,16 @@ export class UiItemsManager {
|
|
93
92
|
* @param toolbarOrientation orientation of the toolbar
|
94
93
|
* @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.
|
95
94
|
*/
|
96
|
-
static getToolbarButtonItems(stageId, stageUsage, toolbarUsage, toolbarOrientation) {
|
95
|
+
static getToolbarButtonItems(stageId, stageUsage, toolbarUsage, toolbarOrientation, stageAppData) {
|
97
96
|
const buttonItems = [];
|
98
97
|
if (0 === UiItemsManager._registeredUiItemsProviders.size)
|
99
98
|
return buttonItems;
|
100
99
|
UiItemsManager._registeredUiItemsProviders.forEach((entry) => {
|
101
|
-
var _a, _b;
|
102
100
|
const uiProvider = entry.provider;
|
103
|
-
const providerId =
|
101
|
+
const providerId = entry.overrides?.providerId ?? uiProvider.id;
|
104
102
|
// istanbul ignore else
|
105
103
|
if (uiProvider.provideToolbarButtonItems && this.allowItemsFromProvider(entry, stageId, stageUsage)) {
|
106
|
-
uiProvider.provideToolbarButtonItems(stageId, stageUsage, toolbarUsage, toolbarOrientation)
|
104
|
+
uiProvider.provideToolbarButtonItems(stageId, stageUsage, toolbarUsage, toolbarOrientation, stageAppData)
|
107
105
|
.forEach((spec) => {
|
108
106
|
// ignore duplicate ids
|
109
107
|
if (-1 === buttonItems.findIndex((existingItem) => spec.id === existingItem.id))
|
@@ -118,17 +116,16 @@ export class UiItemsManager {
|
|
118
116
|
* @param stageUsage the StageUsage of the active stage.
|
119
117
|
* @returns An array of CommonStatusBarItem that will be used to create controls for the status bar.
|
120
118
|
*/
|
121
|
-
static getStatusBarItems(stageId, stageUsage) {
|
119
|
+
static getStatusBarItems(stageId, stageUsage, stageAppData) {
|
122
120
|
const statusBarItems = [];
|
123
121
|
if (0 === UiItemsManager._registeredUiItemsProviders.size)
|
124
122
|
return statusBarItems;
|
125
123
|
UiItemsManager._registeredUiItemsProviders.forEach((entry) => {
|
126
|
-
var _a, _b;
|
127
124
|
const uiProvider = entry.provider;
|
128
|
-
const providerId =
|
125
|
+
const providerId = entry.overrides?.providerId ?? uiProvider.id;
|
129
126
|
// istanbul ignore else
|
130
127
|
if (uiProvider.provideStatusBarItems && this.allowItemsFromProvider(entry, stageId, stageUsage)) {
|
131
|
-
uiProvider.provideStatusBarItems(stageId, stageUsage)
|
128
|
+
uiProvider.provideStatusBarItems(stageId, stageUsage, stageAppData)
|
132
129
|
.forEach((item) => {
|
133
130
|
// ignore duplicate ids
|
134
131
|
if (-1 === statusBarItems.findIndex((existingItem) => item.id === existingItem.id))
|
@@ -146,9 +143,8 @@ export class UiItemsManager {
|
|
146
143
|
if (0 === UiItemsManager._registeredUiItemsProviders.size)
|
147
144
|
return backstageItems;
|
148
145
|
UiItemsManager._registeredUiItemsProviders.forEach((entry) => {
|
149
|
-
var _a, _b;
|
150
146
|
const uiProvider = entry.provider;
|
151
|
-
const providerId =
|
147
|
+
const providerId = entry.overrides?.providerId ?? uiProvider.id;
|
152
148
|
// istanbul ignore else
|
153
149
|
if (uiProvider.provideBackstageItems) { // Note: We do not call this.allowItemsFromProvider here as backstage items
|
154
150
|
uiProvider.provideBackstageItems() // should not be considered stage specific. If they need to be hidden
|
@@ -168,17 +164,16 @@ export class UiItemsManager {
|
|
168
164
|
* @param section the section within location.
|
169
165
|
* @returns An array of AbstractWidgetProps that will be used to create widgets.
|
170
166
|
*/
|
171
|
-
static getWidgets(stageId, stageUsage, location, section) {
|
167
|
+
static getWidgets(stageId, stageUsage, location, section, zoneLocation, stageAppData) {
|
172
168
|
const widgets = [];
|
173
169
|
if (0 === UiItemsManager._registeredUiItemsProviders.size)
|
174
170
|
return widgets;
|
175
171
|
UiItemsManager._registeredUiItemsProviders.forEach((entry) => {
|
176
|
-
var _a, _b;
|
177
172
|
const uiProvider = entry.provider;
|
178
|
-
const providerId =
|
173
|
+
const providerId = entry.overrides?.providerId ?? uiProvider.id;
|
179
174
|
// istanbul ignore else
|
180
175
|
if (uiProvider.provideWidgets && this.allowItemsFromProvider(entry, stageId, stageUsage)) {
|
181
|
-
uiProvider.provideWidgets(stageId, stageUsage, location, section)
|
176
|
+
uiProvider.provideWidgets(stageId, stageUsage, location, section, zoneLocation, stageAppData)
|
182
177
|
.forEach((widget) => {
|
183
178
|
// ignore duplicate ids
|
184
179
|
if (-1 === widgets.findIndex((existingItem) => widget.id === existingItem.id))
|
@@ -192,4 +187,5 @@ export class UiItemsManager {
|
|
192
187
|
UiItemsManager._registeredUiItemsProviders = new Map();
|
193
188
|
/** Event raised any time a UiProvider is registered or unregistered. */
|
194
189
|
UiItemsManager.onUiProviderRegisteredEvent = new BeEvent();
|
190
|
+
export { UiItemsManager };
|
195
191
|
//# sourceMappingURL=UiItemsManager.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"UiItemsManager.js","sourceRoot":"","sources":["../../../src/appui-abstract/UiItemsManager.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,EAAgB,MAAM,qBAAqB,CAAC;AAMpE,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAG9C;;GAEG;AACH,MAAM,CAAN,IAAY,wBAOX;AAPD,WAAY,wBAAwB;IAClC,mCAAmC;IACnC,yEAAK,CAAA;IACL,sCAAsC;IACtC,+EAAQ,CAAA;IACR,wCAAwC;IACxC,2EAAM,CAAA;AACR,CAAC,EAPW,wBAAwB,KAAxB,wBAAwB,QAOnC;AA+CD;;;GAGG;AACH,MAAM,OAAO,cAAc;IAGzB;mBACe;IACR,MAAM,CAAC,iBAAiB;QAC7B,cAAc,CAAC,2BAA2B,CAAC,KAAK,EAAE,CAAC;IACrD,CAAC;IAKD,8CAA8C;IACvC,MAAM,KAAK,qBAAqB;QACrC,MAAM,GAAG,GAAG,CAAC,GAAG,cAAc,CAAC,2BAA2B,CAAC,IAAI,EAAE,CAAC,CAAC;QACnE,OAAO,GAAG,CAAC;IACb,CAAC;IAED,yDAAyD;IAClD,MAAM,KAAK,sBAAsB;QACtC,OAAO,IAAI,CAAC,2BAA2B,CAAC,IAAI,GAAG,CAAC,CAAC;IACnD,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,kBAAkB,CAAC,UAAkB;;QACjD,OAAO,MAAA,cAAc,CAAC,2BAA2B,CAAC,GAAG,CAAC,UAAU,CAAC,0CAAE,QAAQ,CAAC;IAC9E,CAAC;IAEO,MAAM,CAAC,mBAAmB,CAAC,EAAqC;QACtE,cAAc,CAAC,2BAA2B,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,QAAQ,CAAC,UAA2B,EAAE,SAAmC;;QACrF,MAAM,UAAU,GAAG,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,UAAU,mCAAI,UAAU,CAAC,EAAE,CAAC;QAE1D,IAAI,cAAc,CAAC,kBAAkB,CAAC,UAAU,CAAC,EAAE;YACjD,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,oBAAoB,UAAU,qBAAqB,CAAC,CAAC;SAC3F;aAAM;YACL,cAAc,CAAC,2BAA2B,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC;YAChG,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,mBAAmB,UAAU,CAAC,EAAE,kBAAkB,UAAU,GAAG,CAAC,CAAC;YAEtG,cAAc,CAAC,mBAAmB,CAAC,EAAE,UAAU,EAAuC,CAAC,CAAC;SACzF;IACH,CAAC;IAED,8EAA8E;IACvE,MAAM,CAAC,UAAU,CAAC,YAAoB;QAC3C,MAAM,QAAQ,GAAG,cAAc,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;QACjE,IAAI,CAAC,QAAQ;YACX,OAAO;QAET,QAAQ,CAAC,YAAY,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC;QAEjD,cAAc,CAAC,2BAA2B,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAChE,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,oBAAoB,YAAY,YAAY,CAAC,CAAC;QAEnF,8BAA8B;QAC9B,cAAc,CAAC,mBAAmB,CAAC,EAAE,UAAU,EAAE,YAAY,EAAuC,CAAC,CAAC;IACxG,CAAC;IAEO,MAAM,CAAC,sBAAsB,CAAC,KAA0B,EAAE,OAAgB,EAAE,UAAmB;QACrG,uBAAuB;QACvB,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QAClC,IAAI,SAAS,KAAK,OAAO,KAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,QAAQ,CAAA,IAAI,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC;YAClH,OAAO,KAAK,CAAC;QACf,IAAI,SAAS,KAAK,UAAU,KAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,WAAW,CAAA,IAAI,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC;YAC9H,OAAO,KAAK,CAAC;QACf,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;OAOG;IACI,MAAM,CAAC,qBAAqB,CAAC,OAAe,EAAE,UAAkB,EAAE,YAA0B,EACjG,kBAAsC;QACtC,MAAM,WAAW,GAAwB,EAAE,CAAC;QAC5C,IAAI,CAAC,KAAK,cAAc,CAAC,2BAA2B,CAAC,IAAI;YACvD,OAAO,WAAW,CAAC;QAErB,cAAc,CAAC,2BAA2B,CAAC,OAAO,CAAC,CAAC,KAA0B,EAAE,EAAE;;YAChF,MAAM,UAAU,GAAG,KAAK,CAAC,QAAQ,CAAC;YAClC,MAAM,UAAU,GAAG,MAAA,MAAA,KAAK,CAAC,SAAS,0CAAE,UAAU,mCAAI,UAAU,CAAC,EAAE,CAAC;YAChE,uBAAuB;YACvB,IAAI,UAAU,CAAC,yBAAyB,IAAI,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE;gBACnG,UAAU,CAAC,yBAAyB,CAAC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,kBAAkB,CAAC;qBACxF,OAAO,CAAC,CAAC,IAAuB,EAAE,EAAE;oBACnC,uBAAuB;oBACvB,IAAI,CAAC,CAAC,KAAK,WAAW,CAAC,SAAS,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,YAAY,CAAC,EAAE,CAAC;wBAC7E,WAAW,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;gBAC9C,CAAC,CAAC,CAAC;aACN;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,iBAAiB,CAAC,OAAe,EAAE,UAAkB;QACjE,MAAM,cAAc,GAA0B,EAAE,CAAC;QAEjD,IAAI,CAAC,KAAK,cAAc,CAAC,2BAA2B,CAAC,IAAI;YACvD,OAAO,cAAc,CAAC;QAExB,cAAc,CAAC,2BAA2B,CAAC,OAAO,CAAC,CAAC,KAA0B,EAAE,EAAE;;YAChF,MAAM,UAAU,GAAG,KAAK,CAAC,QAAQ,CAAC;YAClC,MAAM,UAAU,GAAG,MAAA,MAAA,KAAK,CAAC,SAAS,0CAAE,UAAU,mCAAI,UAAU,CAAC,EAAE,CAAC;YAEhE,uBAAuB;YACvB,IAAI,UAAU,CAAC,qBAAqB,IAAI,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE;gBAC/F,UAAU,CAAC,qBAAqB,CAAC,OAAO,EAAE,UAAU,CAAC;qBAClD,OAAO,CAAC,CAAC,IAAyB,EAAE,EAAE;oBACrC,uBAAuB;oBACvB,IAAI,CAAC,CAAC,KAAK,cAAc,CAAC,SAAS,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,YAAY,CAAC,EAAE,CAAC;wBAChF,cAAc,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;gBACjD,CAAC,CAAC,CAAC;aACN;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,cAAc,CAAC;IACxB,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,iBAAiB;QAC7B,MAAM,cAAc,GAAoB,EAAE,CAAC;QAE3C,IAAI,CAAC,KAAK,cAAc,CAAC,2BAA2B,CAAC,IAAI;YACvD,OAAO,cAAc,CAAC;QAExB,cAAc,CAAC,2BAA2B,CAAC,OAAO,CAAC,CAAC,KAA0B,EAAE,EAAE;;YAChF,MAAM,UAAU,GAAG,KAAK,CAAC,QAAQ,CAAC;YAClC,MAAM,UAAU,GAAG,MAAA,MAAA,KAAK,CAAC,SAAS,0CAAE,UAAU,mCAAI,UAAU,CAAC,EAAE,CAAC;YAEhE,uBAAuB;YACvB,IAAI,UAAU,CAAC,qBAAqB,EAAE,EAAE,2EAA2E;gBACjH,UAAU,CAAC,qBAAqB,EAAE,CAAI,2EAA2E;qBAC9G,OAAO,CAAC,CAAC,IAAmB,EAAE,EAAE;oBAC/B,uBAAuB;oBACvB,IAAI,CAAC,CAAC,KAAK,cAAc,CAAC,SAAS,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,YAAY,CAAC,EAAE,CAAC;wBAChF,cAAc,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;gBACjD,CAAC,CAAC,CAAC;aACN;QACH,CAAC,CAAC,CAAC;QACH,OAAO,cAAc,CAAC;IACxB,CAAC;IAED;;;;;;OAMG;IACI,MAAM,CAAC,UAAU,CAAC,OAAe,EAAE,UAAkB,EAAE,QAA4B,EAAE,OAA2B;QACrH,MAAM,OAAO,GAA0B,EAAE,CAAC;QAE1C,IAAI,CAAC,KAAK,cAAc,CAAC,2BAA2B,CAAC,IAAI;YACvD,OAAO,OAAO,CAAC;QAEjB,cAAc,CAAC,2BAA2B,CAAC,OAAO,CAAC,CAAC,KAA0B,EAAE,EAAE;;YAChF,MAAM,UAAU,GAAG,KAAK,CAAC,QAAQ,CAAC;YAClC,MAAM,UAAU,GAAG,MAAA,MAAA,KAAK,CAAC,SAAS,0CAAE,UAAU,mCAAI,UAAU,CAAC,EAAE,CAAC;YAEhE,uBAAuB;YACvB,IAAI,UAAU,CAAC,cAAc,IAAI,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE;gBACxF,UAAU,CAAC,cAAc,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,CAAC;qBAC9D,OAAO,CAAC,CAAC,MAA2B,EAAE,EAAE;oBACvC,uBAAuB;oBACvB,IAAI,CAAC,CAAC,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,YAAY,CAAC,EAAE,CAAC;wBAC3E,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;gBAC5C,CAAC,CAAC,CAAC;aACN;QACH,CAAC,CAAC,CAAC;QACH,OAAO,OAAO,CAAC;IACjB,CAAC;;AA9Lc,0CAA2B,GAAqC,IAAI,GAAG,EAA+B,CAAC;AAQtH,wEAAwE;AACjD,0CAA2B,GAAG,IAAI,OAAO,EAAmD,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module UiItemsProvider\n */\n\nimport { BeEvent, Logger, MarkRequired } from \"@itwin/core-bentley\";\nimport { BackstageItem } from \"./backstage/BackstageItem\";\nimport { CommonStatusBarItem } from \"./statusbar/StatusBarItem\";\nimport { CommonToolbarItem, ToolbarOrientation, ToolbarUsage } from \"./toolbars/ToolbarItem\";\nimport { AbstractWidgetProps } from \"./widget/AbstractWidgetProps\";\nimport { StagePanelLocation, StagePanelSection } from \"./widget/StagePanel\";\nimport { loggerCategory } from \"./utils/misc\";\nimport { UiItemsProvider } from \"./UiItemsProvider\";\n\n/** Action taken by the application on item provided by a UiItemsProvider\n * @public @deprecated this was only used by the previously removed UiItemsArbiter.\n */\nexport enum UiItemsApplicationAction {\n /** Allow the change to the item */\n Allow,\n /** Disallow the change to the item */\n Disallow,\n /** Update the item during the change */\n Update,\n}\n\n/** UIProvider Registered Event Args interface.\n * @deprecated in 3.6. Use [UiItemsProviderRegisteredEventArgs]($appui-react) instead.\n * @public\n */\nexport interface UiItemProviderRegisteredEventArgs {\n providerId: string;\n}\n\n/** UiItemProviderOverrides allows the application that registers a provider to limit when it is allowed to provide items\n * @deprecated in 3.6. Use [AllowedUiItemsProviderOverrides]($appui-react) instead.\n * @public\n */\nexport interface AllowedUiItemProviderOverrides {\n /** allows providerId to be overridden in the items manager for cases where the same provider needs to provide different content to different stages\n * @beta\n */\n providerId?: string;\n /** if specified then the current stage's Usage will be compared before allowing any items to be provided\n * @beta\n */\n stageUsages?: string[];\n /** if specified then the current stage's Id will be compared before allowing any items to be provided\n * @beta\n */\n stageIds?: string[];\n}\n\n/** Allowed overrides applied to a UiItemsProvider the application that registers a provider to limit when it is allowed to provide items.\n * Note that if an override `providerId` is specified then either `stageIds` or `stageUsages` must be defined to limit when the provider's\n * items are allowed.\n * @deprecated in 3.6. Use [UiItemsProviderOverrides]($appui-react) instead.\n * @public\n */\nexport type UiItemProviderOverrides = MarkRequired<AllowedUiItemProviderOverrides, \"providerId\" | \"stageUsages\"> |\n MarkRequired<AllowedUiItemProviderOverrides, \"providerId\" | \"stageIds\"> | // eslint-disable-line @typescript-eslint/indent\n MarkRequired<AllowedUiItemProviderOverrides, \"stageIds\"> | // eslint-disable-line @typescript-eslint/indent\n MarkRequired<AllowedUiItemProviderOverrides, \"stageUsages\"> | // eslint-disable-line @typescript-eslint/indent\n MarkRequired<AllowedUiItemProviderOverrides, \"providerId\" | \"stageUsages\" | \"stageIds\">; // eslint-disable-line @typescript-eslint/indent\n\n/** Interface that defines an instance of a UiItemsProvider and its application specified overrides. */\ninterface UiItemProviderEntry {\n provider: UiItemsProvider;\n overrides?: UiItemProviderOverrides;\n}\n\n/** Controls registering of UiItemsProviders and calls the provider's methods when populating different parts of the User Interface.\n * @deprecated in 3.6. Use [UiItemsManager]($appui-react) instead.\n * @public\n */\nexport class UiItemsManager {\n private static _registeredUiItemsProviders: Map<string, UiItemProviderEntry> = new Map<string, UiItemProviderEntry>();\n\n /** For use in unit testing\n * @internal */\n public static clearAllProviders() {\n UiItemsManager._registeredUiItemsProviders.clear();\n }\n\n /** Event raised any time a UiProvider is registered or unregistered. */\n public static readonly onUiProviderRegisteredEvent = new BeEvent<(ev: UiItemProviderRegisteredEventArgs) => void>();\n\n /** Return number of registered UiProvider. */\n public static get registeredProviderIds() {\n const ids = [...UiItemsManager._registeredUiItemsProviders.keys()];\n return ids;\n }\n\n /** Return true if there is any registered UiProvider. */\n public static get hasRegisteredProviders(): boolean {\n return this._registeredUiItemsProviders.size > 0;\n }\n\n /**\n * Retrieves a previously loaded UiItemsProvider.\n * @param providerId id of the UiItemsProvider to get\n */\n public static getUiItemsProvider(providerId: string): UiItemsProvider | undefined {\n return UiItemsManager._registeredUiItemsProviders.get(providerId)?.provider;\n }\n\n private static sendRegisteredEvent(ev: UiItemProviderRegisteredEventArgs) {\n UiItemsManager.onUiProviderRegisteredEvent.raiseEvent(ev);\n }\n\n /**\n * Registers a UiItemsProvider with the UiItemsManager.\n * @param uiProvider the UI items provider to register.\n */\n public static register(uiProvider: UiItemsProvider, overrides?: UiItemProviderOverrides): void {\n const providerId = overrides?.providerId ?? uiProvider.id;\n\n if (UiItemsManager.getUiItemsProvider(providerId)) {\n Logger.logInfo(loggerCategory(this), `UiItemsProvider (${providerId}) is already loaded`);\n } else {\n UiItemsManager._registeredUiItemsProviders.set(providerId, { provider: uiProvider, overrides });\n Logger.logInfo(loggerCategory(this), `UiItemsProvider ${uiProvider.id} registered as ${providerId} `);\n\n UiItemsManager.sendRegisteredEvent({ providerId } as UiItemProviderRegisteredEventArgs);\n }\n }\n\n /** Remove a specific UiItemsProvider from the list of available providers. */\n public static unregister(uiProviderId: string): void {\n const provider = UiItemsManager.getUiItemsProvider(uiProviderId);\n if (!provider)\n return;\n\n provider.onUnregister && provider.onUnregister();\n\n UiItemsManager._registeredUiItemsProviders.delete(uiProviderId);\n Logger.logInfo(loggerCategory(this), `UiItemsProvider (${uiProviderId}) unloaded`);\n\n // trigger a refresh of the ui\n UiItemsManager.sendRegisteredEvent({ providerId: uiProviderId } as UiItemProviderRegisteredEventArgs);\n }\n\n private static allowItemsFromProvider(entry: UiItemProviderEntry, stageId?: string, stageUsage?: string) {\n // istanbul ignore else\n const overrides = entry.overrides;\n if (undefined !== stageId && overrides?.stageIds && !(overrides.stageIds.some((value: string) => value === stageId)))\n return false;\n if (undefined !== stageUsage && overrides?.stageUsages && !(overrides.stageUsages.some((value: string) => value === stageUsage)))\n return false;\n return true;\n }\n\n /** Called when the application is populating a toolbar so that any registered UiItemsProvider can add tool buttons that either either execute\n * an action or specify a registered ToolId into toolbar.\n * @param stageId a string identifier the active stage.\n * @param stageUsage the StageUsage of the active stage.\n * @param toolbarUsage usage of the toolbar\n * @param toolbarOrientation orientation of the toolbar\n * @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.\n */\n public static getToolbarButtonItems(stageId: string, stageUsage: string, toolbarUsage: ToolbarUsage,\n toolbarOrientation: ToolbarOrientation): CommonToolbarItem[] {\n const buttonItems: CommonToolbarItem[] = [];\n if (0 === UiItemsManager._registeredUiItemsProviders.size)\n return buttonItems;\n\n UiItemsManager._registeredUiItemsProviders.forEach((entry: UiItemProviderEntry) => {\n const uiProvider = entry.provider;\n const providerId = entry.overrides?.providerId ?? uiProvider.id;\n // istanbul ignore else\n if (uiProvider.provideToolbarButtonItems && this.allowItemsFromProvider(entry, stageId, stageUsage)) {\n uiProvider.provideToolbarButtonItems(stageId, stageUsage, toolbarUsage, toolbarOrientation)\n .forEach((spec: CommonToolbarItem) => {\n // ignore duplicate ids\n if (-1 === buttonItems.findIndex((existingItem) => spec.id === existingItem.id))\n buttonItems.push({ ...spec, providerId });\n });\n }\n });\n\n return buttonItems;\n }\n\n /** Called when the application is populating the statusbar so that any registered UiItemsProvider can add status fields\n * @param stageId a string identifier the active stage.\n * @param stageUsage the StageUsage of the active stage.\n * @returns An array of CommonStatusBarItem that will be used to create controls for the status bar.\n */\n public static getStatusBarItems(stageId: string, stageUsage: string): CommonStatusBarItem[] {\n const statusBarItems: CommonStatusBarItem[] = [];\n\n if (0 === UiItemsManager._registeredUiItemsProviders.size)\n return statusBarItems;\n\n UiItemsManager._registeredUiItemsProviders.forEach((entry: UiItemProviderEntry) => {\n const uiProvider = entry.provider;\n const providerId = entry.overrides?.providerId ?? uiProvider.id;\n\n // istanbul ignore else\n if (uiProvider.provideStatusBarItems && this.allowItemsFromProvider(entry, stageId, stageUsage)) {\n uiProvider.provideStatusBarItems(stageId, stageUsage)\n .forEach((item: CommonStatusBarItem) => {\n // ignore duplicate ids\n if (-1 === statusBarItems.findIndex((existingItem) => item.id === existingItem.id))\n statusBarItems.push({ ...item, providerId });\n });\n }\n });\n\n return statusBarItems;\n }\n\n /** Called when the application is populating the statusbar so that any registered UiItemsProvider can add status fields\n * @returns An array of BackstageItem that will be used to create controls for the backstage menu.\n */\n public static getBackstageItems(): BackstageItem[] {\n const backstageItems: BackstageItem[] = [];\n\n if (0 === UiItemsManager._registeredUiItemsProviders.size)\n return backstageItems;\n\n UiItemsManager._registeredUiItemsProviders.forEach((entry: UiItemProviderEntry) => {\n const uiProvider = entry.provider;\n const providerId = entry.overrides?.providerId ?? uiProvider.id;\n\n // istanbul ignore else\n if (uiProvider.provideBackstageItems) { // Note: We do not call this.allowItemsFromProvider here as backstage items\n uiProvider.provideBackstageItems() // should not be considered stage specific. If they need to be hidden\n .forEach((item: BackstageItem) => { // the isHidden property should be set to a ConditionalBooleanValue\n // ignore duplicate ids\n if (-1 === backstageItems.findIndex((existingItem) => item.id === existingItem.id))\n backstageItems.push({ ...item, providerId });\n });\n }\n });\n return backstageItems;\n }\n\n /** Called when the application is populating the Stage Panels so that any registered UiItemsProvider can add widgets\n * @param stageId a string identifier the active stage.\n * @param stageUsage the StageUsage of the active stage.\n * @param location the location within the stage.\n * @param section the section within location.\n * @returns An array of AbstractWidgetProps that will be used to create widgets.\n */\n public static getWidgets(stageId: string, stageUsage: string, location: StagePanelLocation, section?: StagePanelSection): ReadonlyArray<AbstractWidgetProps> {\n const widgets: AbstractWidgetProps[] = [];\n\n if (0 === UiItemsManager._registeredUiItemsProviders.size)\n return widgets;\n\n UiItemsManager._registeredUiItemsProviders.forEach((entry: UiItemProviderEntry) => {\n const uiProvider = entry.provider;\n const providerId = entry.overrides?.providerId ?? uiProvider.id;\n\n // istanbul ignore else\n if (uiProvider.provideWidgets && this.allowItemsFromProvider(entry, stageId, stageUsage)) {\n uiProvider.provideWidgets(stageId, stageUsage, location, section)\n .forEach((widget: AbstractWidgetProps) => {\n // ignore duplicate ids\n if (-1 === widgets.findIndex((existingItem) => widget.id === existingItem.id))\n widgets.push({ ...widget, providerId });\n });\n }\n });\n return widgets;\n }\n\n}\n"]}
|
1
|
+
{"version":3,"file":"UiItemsManager.js","sourceRoot":"","sources":["../../../src/appui-abstract/UiItemsManager.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/* eslint-disable deprecation/deprecation */\n/** @packageDocumentation\n * @module UiItemsProvider\n */\n\nimport { BeEvent, Logger, MarkRequired } from \"@itwin/core-bentley\";\nimport { BackstageItem } from \"./backstage/BackstageItem\";\nimport { CommonStatusBarItem } from \"./statusbar/StatusBarItem\";\nimport { CommonToolbarItem, ToolbarOrientation, ToolbarUsage } from \"./toolbars/ToolbarItem\";\nimport { AbstractWidgetProps } from \"./widget/AbstractWidgetProps\";\nimport { AbstractZoneLocation, StagePanelLocation, StagePanelSection } from \"./widget/StagePanel\";\nimport { loggerCategory } from \"./utils/misc\";\nimport { UiItemsProvider } from \"./UiItemsProvider\";\n\n/** Action taken by the application on item provided by a UiItemsProvider\n * @public @deprecated in 3.2. This was only used by the previously removed UiItemsArbiter.\n */\nexport enum UiItemsApplicationAction {\n /** Allow the change to the item */\n Allow,\n /** Disallow the change to the item */\n Disallow,\n /** Update the item during the change */\n Update,\n}\n\n/** UIProvider Registered Event Args interface.\n * @deprecated in 3.6. Use [UiItemsProviderRegisteredEventArgs]($appui-react) instead.\n * @public\n */\nexport interface UiItemProviderRegisteredEventArgs {\n providerId: string;\n}\n\n/** UiItemProviderOverrides allows the application that registers a provider to limit when it is allowed to provide items\n * @deprecated in 3.6. Use [AllowedUiItemsProviderOverrides]($appui-react) instead.\n * @public\n */\nexport interface AllowedUiItemProviderOverrides {\n /** allows providerId to be overridden in the items manager for cases where the same provider needs to provide different content to different stages\n * @beta\n */\n providerId?: string;\n /** if specified then the current stage's Usage will be compared before allowing any items to be provided\n * @beta\n */\n stageUsages?: string[];\n /** if specified then the current stage's Id will be compared before allowing any items to be provided\n * @beta\n */\n stageIds?: string[];\n}\n\n/** Allowed overrides applied to a UiItemsProvider the application that registers a provider to limit when it is allowed to provide items.\n * Note that if an override `providerId` is specified then either `stageIds` or `stageUsages` must be defined to limit when the provider's\n * items are allowed.\n * @deprecated in 3.6. Use [UiItemsProviderOverrides]($appui-react) instead.\n * @public\n */\nexport type UiItemProviderOverrides = MarkRequired<AllowedUiItemProviderOverrides, \"providerId\" | \"stageUsages\"> |\n MarkRequired<AllowedUiItemProviderOverrides, \"providerId\" | \"stageIds\"> | // eslint-disable-line @typescript-eslint/indent\n MarkRequired<AllowedUiItemProviderOverrides, \"stageIds\"> | // eslint-disable-line @typescript-eslint/indent\n MarkRequired<AllowedUiItemProviderOverrides, \"stageUsages\"> | // eslint-disable-line @typescript-eslint/indent\n MarkRequired<AllowedUiItemProviderOverrides, \"providerId\" | \"stageUsages\" | \"stageIds\">; // eslint-disable-line @typescript-eslint/indent\n\n/** Interface that defines an instance of a UiItemsProvider and its application specified overrides. */\ninterface UiItemProviderEntry {\n provider: UiItemsProvider;\n overrides?: UiItemProviderOverrides;\n}\n\n/** Controls registering of UiItemsProviders and calls the provider's methods when populating different parts of the User Interface.\n * @deprecated in 3.6. Use [UiItemsManager]($appui-react) instead.\n * @public\n */\nexport class UiItemsManager {\n private static _registeredUiItemsProviders: Map<string, UiItemProviderEntry> = new Map<string, UiItemProviderEntry>();\n\n /** For use in unit testing\n * @internal */\n public static clearAllProviders() {\n UiItemsManager._registeredUiItemsProviders.clear();\n }\n\n /** Event raised any time a UiProvider is registered or unregistered. */\n public static readonly onUiProviderRegisteredEvent = new BeEvent<(ev: UiItemProviderRegisteredEventArgs) => void>();\n\n /** Return number of registered UiProvider. */\n public static get registeredProviderIds() {\n const ids = [...UiItemsManager._registeredUiItemsProviders.keys()];\n return ids;\n }\n\n /** Return true if there is any registered UiProvider. */\n public static get hasRegisteredProviders(): boolean {\n return this._registeredUiItemsProviders.size > 0;\n }\n\n /**\n * Retrieves a previously loaded UiItemsProvider.\n * @param providerId id of the UiItemsProvider to get\n */\n public static getUiItemsProvider(providerId: string): UiItemsProvider | undefined {\n return UiItemsManager._registeredUiItemsProviders.get(providerId)?.provider;\n }\n\n private static sendRegisteredEvent(ev: UiItemProviderRegisteredEventArgs) {\n UiItemsManager.onUiProviderRegisteredEvent.raiseEvent(ev);\n }\n\n /**\n * Registers a UiItemsProvider with the UiItemsManager.\n * @param uiProvider the UI items provider to register.\n */\n public static register(uiProvider: UiItemsProvider, overrides?: UiItemProviderOverrides): void {\n const providerId = overrides?.providerId ?? uiProvider.id;\n\n if (UiItemsManager.getUiItemsProvider(providerId)) {\n Logger.logInfo(loggerCategory(this), `UiItemsProvider (${providerId}) is already loaded`);\n } else {\n UiItemsManager._registeredUiItemsProviders.set(providerId, { provider: uiProvider, overrides });\n Logger.logInfo(loggerCategory(this), `UiItemsProvider ${uiProvider.id} registered as ${providerId} `);\n\n UiItemsManager.sendRegisteredEvent({ providerId } as UiItemProviderRegisteredEventArgs);\n }\n }\n\n /** Remove a specific UiItemsProvider from the list of available providers. */\n public static unregister(uiProviderId: string): void {\n const provider = UiItemsManager.getUiItemsProvider(uiProviderId);\n if (!provider)\n return;\n\n provider.onUnregister && provider.onUnregister();\n\n UiItemsManager._registeredUiItemsProviders.delete(uiProviderId);\n Logger.logInfo(loggerCategory(this), `UiItemsProvider (${uiProviderId}) unloaded`);\n\n // trigger a refresh of the ui\n UiItemsManager.sendRegisteredEvent({ providerId: uiProviderId } as UiItemProviderRegisteredEventArgs);\n }\n\n private static allowItemsFromProvider(entry: UiItemProviderEntry, stageId?: string, stageUsage?: string) {\n // istanbul ignore else\n const overrides = entry.overrides;\n if (undefined !== stageId && overrides?.stageIds && !(overrides.stageIds.some((value: string) => value === stageId)))\n return false;\n if (undefined !== stageUsage && overrides?.stageUsages && !(overrides.stageUsages.some((value: string) => value === stageUsage)))\n return false;\n return true;\n }\n\n /** Called when the application is populating a toolbar so that any registered UiItemsProvider can add tool buttons that either either execute\n * an action or specify a registered ToolId into toolbar.\n * @param stageId a string identifier the active stage.\n * @param stageUsage the StageUsage of the active stage.\n * @param toolbarUsage usage of the toolbar\n * @param toolbarOrientation orientation of the toolbar\n * @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.\n */\n public static getToolbarButtonItems(stageId: string, stageUsage: string, toolbarUsage: ToolbarUsage,\n toolbarOrientation: ToolbarOrientation, stageAppData?: any): CommonToolbarItem[] {\n const buttonItems: CommonToolbarItem[] = [];\n if (0 === UiItemsManager._registeredUiItemsProviders.size)\n return buttonItems;\n\n UiItemsManager._registeredUiItemsProviders.forEach((entry: UiItemProviderEntry) => {\n const uiProvider = entry.provider;\n const providerId = entry.overrides?.providerId ?? uiProvider.id;\n // istanbul ignore else\n if (uiProvider.provideToolbarButtonItems && this.allowItemsFromProvider(entry, stageId, stageUsage)) {\n uiProvider.provideToolbarButtonItems(stageId, stageUsage, toolbarUsage, toolbarOrientation, stageAppData)\n .forEach((spec: CommonToolbarItem) => {\n // ignore duplicate ids\n if (-1 === buttonItems.findIndex((existingItem)=> spec.id === existingItem.id ))\n buttonItems.push({ ...spec, providerId });\n });\n }\n });\n\n return buttonItems;\n }\n\n /** Called when the application is populating the statusbar so that any registered UiItemsProvider can add status fields\n * @param stageId a string identifier the active stage.\n * @param stageUsage the StageUsage of the active stage.\n * @returns An array of CommonStatusBarItem that will be used to create controls for the status bar.\n */\n public static getStatusBarItems(stageId: string, stageUsage: string, stageAppData?: any): CommonStatusBarItem[] {\n const statusBarItems: CommonStatusBarItem[] = [];\n\n if (0 === UiItemsManager._registeredUiItemsProviders.size)\n return statusBarItems;\n\n UiItemsManager._registeredUiItemsProviders.forEach((entry: UiItemProviderEntry) => {\n const uiProvider = entry.provider;\n const providerId = entry.overrides?.providerId ?? uiProvider.id;\n\n // istanbul ignore else\n if (uiProvider.provideStatusBarItems && this.allowItemsFromProvider(entry, stageId, stageUsage)) {\n uiProvider.provideStatusBarItems(stageId, stageUsage, stageAppData)\n .forEach((item: CommonStatusBarItem) => {\n // ignore duplicate ids\n if (-1 === statusBarItems.findIndex((existingItem)=> item.id === existingItem.id ))\n statusBarItems.push({ ...item, providerId });\n });\n }\n });\n\n return statusBarItems;\n }\n\n /** Called when the application is populating the statusbar so that any registered UiItemsProvider can add status fields\n * @returns An array of BackstageItem that will be used to create controls for the backstage menu.\n */\n public static getBackstageItems(): BackstageItem[] {\n const backstageItems: BackstageItem[] = [];\n\n if (0 === UiItemsManager._registeredUiItemsProviders.size)\n return backstageItems;\n\n UiItemsManager._registeredUiItemsProviders.forEach((entry: UiItemProviderEntry) => {\n const uiProvider = entry.provider;\n const providerId = entry.overrides?.providerId ?? uiProvider.id;\n\n // istanbul ignore else\n if (uiProvider.provideBackstageItems) { // Note: We do not call this.allowItemsFromProvider here as backstage items\n uiProvider.provideBackstageItems() // should not be considered stage specific. If they need to be hidden\n .forEach((item: BackstageItem) => { // the isHidden property should be set to a ConditionalBooleanValue\n // ignore duplicate ids\n if (-1 === backstageItems.findIndex((existingItem)=> item.id === existingItem.id ))\n backstageItems.push({ ...item, providerId });\n });\n }\n });\n return backstageItems;\n }\n\n /** Called when the application is populating the Stage Panels so that any registered UiItemsProvider can add widgets\n * @param stageId a string identifier the active stage.\n * @param stageUsage the StageUsage of the active stage.\n * @param location the location within the stage.\n * @param section the section within location.\n * @returns An array of AbstractWidgetProps that will be used to create widgets.\n */\n public static getWidgets(stageId: string, stageUsage: string, location: StagePanelLocation, section?: StagePanelSection, zoneLocation?: AbstractZoneLocation, stageAppData?: any): ReadonlyArray<AbstractWidgetProps> {\n const widgets: AbstractWidgetProps[] = [];\n\n if (0 === UiItemsManager._registeredUiItemsProviders.size)\n return widgets;\n\n UiItemsManager._registeredUiItemsProviders.forEach((entry: UiItemProviderEntry) => {\n const uiProvider = entry.provider;\n const providerId = entry.overrides?.providerId ?? uiProvider.id;\n\n // istanbul ignore else\n if (uiProvider.provideWidgets && this.allowItemsFromProvider(entry, stageId, stageUsage)) {\n uiProvider.provideWidgets(stageId, stageUsage, location, section, zoneLocation, stageAppData)\n .forEach((widget: AbstractWidgetProps) => {\n // ignore duplicate ids\n if (-1 === widgets.findIndex((existingItem)=> widget.id === existingItem.id ))\n widgets.push({ ...widget, providerId });\n });\n }\n });\n return widgets;\n }\n\n}\n"]}
|
@@ -5,7 +5,7 @@ import { BackstageItem } from "./backstage/BackstageItem";
|
|
5
5
|
import { CommonStatusBarItem } from "./statusbar/StatusBarItem";
|
6
6
|
import { CommonToolbarItem, ToolbarOrientation, ToolbarUsage } from "./toolbars/ToolbarItem";
|
7
7
|
import { AbstractWidgetProps } from "./widget/AbstractWidgetProps";
|
8
|
-
import { StagePanelLocation, StagePanelSection } from "./widget/StagePanel";
|
8
|
+
import { AbstractZoneLocation, StagePanelLocation, StagePanelSection } from "./widget/StagePanel";
|
9
9
|
/** Describes interface of objects that want to provide UI component to the running IModelApp.
|
10
10
|
* @deprecated in 3.6. Use [UiItemsProvider]($appui-react) instead.
|
11
11
|
* @public
|
@@ -14,15 +14,16 @@ export interface UiItemsProvider {
|
|
14
14
|
/** id of provider */
|
15
15
|
readonly id: string;
|
16
16
|
/** UiItemsManager calls following method to get items to populate specific toolbars */
|
17
|
-
provideToolbarButtonItems?: (stageId: string, stageUsage: string, toolbarUsage: ToolbarUsage, toolbarOrientation: ToolbarOrientation) => CommonToolbarItem[];
|
17
|
+
provideToolbarButtonItems?: (stageId: string, stageUsage: string, toolbarUsage: ToolbarUsage, toolbarOrientation: ToolbarOrientation, stageAppData?: any) => CommonToolbarItem[];
|
18
18
|
/** UiItemsManager calls following method to augment base statusbar for stages that allow it. */
|
19
|
-
provideStatusBarItems?: (stageId: string, stageUsage: string) => CommonStatusBarItem[];
|
19
|
+
provideStatusBarItems?: (stageId: string, stageUsage: string, stageAppData?: any) => CommonStatusBarItem[];
|
20
20
|
/** UiItemsManager calls following method to augment backstage items. */
|
21
21
|
provideBackstageItems?: () => BackstageItem[];
|
22
22
|
/** UiItemsManager calls following method to augment Widget lists.
|
23
23
|
* @note Returned widgets must provide unique `AbstractWidgetProps["id"]` to correctly save/restore App layout.
|
24
24
|
*/
|
25
|
-
provideWidgets?: (stageId: string, stageUsage: string, location: StagePanelLocation, section?: StagePanelSection
|
25
|
+
provideWidgets?: (stageId: string, stageUsage: string, location: StagePanelLocation, section?: StagePanelSection, // eslint-disable-line deprecation/deprecation
|
26
|
+
zoneLocation?: AbstractZoneLocation, stageAppData?: any) => ReadonlyArray<AbstractWidgetProps>;
|
26
27
|
/** Function called when the provider is unregistered via `ItemsManager.unregister` to allow provider to do cleanup. */
|
27
28
|
onUnregister?: () => void;
|
28
29
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"UiItemsProvider.d.ts","sourceRoot":"","sources":["../../../src/appui-abstract/UiItemsProvider.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC7F,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;
|
1
|
+
{"version":3,"file":"UiItemsProvider.d.ts","sourceRoot":"","sources":["../../../src/appui-abstract/UiItemsProvider.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC7F,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAElG;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,qBAAqB;IACrB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAEpB,uFAAuF;IACvF,yBAAyB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,YAAY,CAAC,EAAE,GAAG,KAAK,iBAAiB,EAAE,CAAC;IACjL,gGAAgG;IAChG,qBAAqB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,GAAG,KAAK,mBAAmB,EAAE,CAAC;IAC3G,wEAAwE;IACxE,qBAAqB,CAAC,EAAE,MAAM,aAAa,EAAE,CAAC;IAC9C;;OAEG;IACH,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,kBAAkB,EAAE,OAAO,CAAC,EAAE,iBAAiB,EAAE,8CAA8C;IAC9J,YAAY,CAAC,EAAE,oBAAoB,EAAE,YAAY,CAAC,EAAE,GAAG,KAAK,aAAa,CAAC,mBAAmB,CAAC,CAAC;IACjG,uHAAuH;IACvH,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;CAC3B"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"UiItemsProvider.js","sourceRoot":"","sources":["../../../src/appui-abstract/UiItemsProvider.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module UiItemsProvider\n */\n\nimport { BackstageItem } from \"./backstage/BackstageItem\";\nimport { CommonStatusBarItem } from \"./statusbar/StatusBarItem\";\nimport { CommonToolbarItem, ToolbarOrientation, ToolbarUsage } from \"./toolbars/ToolbarItem\";\nimport { AbstractWidgetProps } from \"./widget/AbstractWidgetProps\";\nimport { StagePanelLocation, StagePanelSection } from \"./widget/StagePanel\";\n\n/** Describes interface of objects that want to provide UI component to the running IModelApp.\n * @deprecated in 3.6. Use [UiItemsProvider]($appui-react) instead.\n * @public\n */\nexport interface UiItemsProvider {\n /** id of provider */\n readonly id: string;\n\n /** UiItemsManager calls following method to get items to populate specific toolbars */\n provideToolbarButtonItems?: (stageId: string, stageUsage: string, toolbarUsage: ToolbarUsage, toolbarOrientation: ToolbarOrientation) => CommonToolbarItem[]
|
1
|
+
{"version":3,"file":"UiItemsProvider.js","sourceRoot":"","sources":["../../../src/appui-abstract/UiItemsProvider.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module UiItemsProvider\n */\n\nimport { BackstageItem } from \"./backstage/BackstageItem\";\nimport { CommonStatusBarItem } from \"./statusbar/StatusBarItem\";\nimport { CommonToolbarItem, ToolbarOrientation, ToolbarUsage } from \"./toolbars/ToolbarItem\";\nimport { AbstractWidgetProps } from \"./widget/AbstractWidgetProps\";\nimport { AbstractZoneLocation, StagePanelLocation, StagePanelSection } from \"./widget/StagePanel\";\n\n/** Describes interface of objects that want to provide UI component to the running IModelApp.\n * @deprecated in 3.6. Use [UiItemsProvider]($appui-react) instead.\n * @public\n */\nexport interface UiItemsProvider {\n /** id of provider */\n readonly id: string;\n\n /** UiItemsManager calls following method to get items to populate specific toolbars */\n provideToolbarButtonItems?: (stageId: string, stageUsage: string, toolbarUsage: ToolbarUsage, toolbarOrientation: ToolbarOrientation, stageAppData?: any) => CommonToolbarItem[]; // eslint-disable-line deprecation/deprecation\n /** UiItemsManager calls following method to augment base statusbar for stages that allow it. */\n provideStatusBarItems?: (stageId: string, stageUsage: string, stageAppData?: any) => CommonStatusBarItem[]; // eslint-disable-line deprecation/deprecation\n /** UiItemsManager calls following method to augment backstage items. */\n provideBackstageItems?: () => BackstageItem[]; // eslint-disable-line deprecation/deprecation\n /** UiItemsManager calls following method to augment Widget lists.\n * @note Returned widgets must provide unique `AbstractWidgetProps[\"id\"]` to correctly save/restore App layout.\n */\n provideWidgets?: (stageId: string, stageUsage: string, location: StagePanelLocation, section?: StagePanelSection, // eslint-disable-line deprecation/deprecation\n zoneLocation?: AbstractZoneLocation, stageAppData?: any) => ReadonlyArray<AbstractWidgetProps>; // eslint-disable-line deprecation/deprecation\n /** Function called when the provider is unregistered via `ItemsManager.unregister` to allow provider to do cleanup. */\n onUnregister?: () => void;\n}\n"]}
|
@@ -68,7 +68,7 @@ export interface BackstageStageLauncher extends CommonBackstageItem {
|
|
68
68
|
* @deprecated in 3.6. Use [BackstageItem]($appui-react) instead.
|
69
69
|
* @public
|
70
70
|
*/
|
71
|
-
export
|
71
|
+
export type BackstageItem = BackstageActionItem | BackstageStageLauncher;
|
72
72
|
/** BackstageActionItem type guard.
|
73
73
|
* @deprecated in 3.6. Use [isBackstageActionItem]($appui-react) instead.
|
74
74
|
* @public
|
@@ -85,8 +85,8 @@ export declare const isStageLauncher: (item: BackstageItem) => item is Backstage
|
|
85
85
|
*/
|
86
86
|
export declare class BackstageItemUtilities {
|
87
87
|
/** Creates a stage launcher backstage item */
|
88
|
-
static createStageLauncher: (frontstageId: string, groupPriority: number, itemPriority: number, label: string | ConditionalStringValue, subtitle?: string | ConditionalStringValue
|
88
|
+
static createStageLauncher: (frontstageId: string, groupPriority: number, itemPriority: number, label: string | ConditionalStringValue, subtitle?: string | ConditionalStringValue, icon?: string | ConditionalStringValue, overrides?: Partial<BackstageStageLauncher>) => BackstageStageLauncher;
|
89
89
|
/** Creates an action backstage item */
|
90
|
-
static createActionItem: (itemId: string, groupPriority: number, itemPriority: number, execute: () => void, label: string | ConditionalStringValue, subtitle?: string | ConditionalStringValue
|
90
|
+
static createActionItem: (itemId: string, groupPriority: number, itemPriority: number, execute: () => void, label: string | ConditionalStringValue, subtitle?: string | ConditionalStringValue, icon?: string | ConditionalStringValue, overrides?: Partial<BackstageActionItem>) => BackstageActionItem;
|
91
91
|
}
|
92
92
|
//# sourceMappingURL=BackstageItem.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"BackstageItem.d.ts","sourceRoot":"","sources":["../../../../src/appui-abstract/backstage/BackstageItem.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD;;;GAGG;AACH,oBAAY,iBAAiB;IAC3B,4CAA4C;IAC5C,UAAU,IAAI;IACd,kCAAkC;IAClC,aAAa,IAAI;CAClB;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAoB,SAAQ,YAAY;IACvD,8DAA8D;IAC9D,eAAe,CAAC,EAAE,GAAG,CAAC;IACtB,0DAA0D;IAC1D,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;IAC/B;;;OAGG;IACH,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,qHAAqH;IACrH,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,sBAAsB,CAAC;IAChD,kIAAkI;IAClI,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,oDAAoD;IACpD,QAAQ,CAAC,YAAY,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACzC,6FAA6F;IAC7F,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,uBAAuB,CAAC;IACtD,+FAA+F;IAC/F,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,GAAG,uBAAuB,CAAC;IACxD,sEAAsE;IACtE,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,aAAa;IACb,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,sBAAsB,CAAC;IAChD,gBAAgB;IAChB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,sBAAsB,CAAC;IACpD,eAAe;IACf,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,sBAAsB,CAAC;IACnD,sHAAsH;IACtH,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,uBAAuB,CAAC;CACvD;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAoB,SAAQ,mBAAmB;IAC9D,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;CAC9B;AAED;;;GAGG;AACH,MAAM,WAAW,sBAAuB,SAAQ,mBAAmB;IACjE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED;;;GAGG;AACH,
|
1
|
+
{"version":3,"file":"BackstageItem.d.ts","sourceRoot":"","sources":["../../../../src/appui-abstract/backstage/BackstageItem.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD;;;GAGG;AACH,oBAAY,iBAAiB;IAC3B,4CAA4C;IAC5C,UAAU,IAAI;IACd,kCAAkC;IAClC,aAAa,IAAI;CAClB;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAoB,SAAQ,YAAY;IACvD,8DAA8D;IAC9D,eAAe,CAAC,EAAE,GAAG,CAAC;IACtB,0DAA0D;IAC1D,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;IAC/B;;;OAGG;IACH,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,qHAAqH;IACrH,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,sBAAsB,CAAC;IAChD,kIAAkI;IAClI,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,oDAAoD;IACpD,QAAQ,CAAC,YAAY,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACzC,6FAA6F;IAC7F,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,uBAAuB,CAAC;IACtD,+FAA+F;IAC/F,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,GAAG,uBAAuB,CAAC;IACxD,sEAAsE;IACtE,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,aAAa;IACb,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,sBAAsB,CAAC;IAChD,gBAAgB;IAChB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,sBAAsB,CAAC;IACpD,eAAe;IACf,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,sBAAsB,CAAC;IACnD,sHAAsH;IACtH,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,uBAAuB,CAAC;CACvD;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAoB,SAAQ,mBAAmB;IAC9D,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;CAC9B;AAED;;;GAGG;AACH,MAAM,WAAW,sBAAuB,SAAQ,mBAAmB;IACjE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,mBAAmB,GAAG,sBAAsB,CAAC;AAEzE;;;GAGG;AACH,eAAO,MAAM,YAAY,SAAU,aAAa,gCAE/C,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,eAAe,SAAU,aAAa,mCAElD,CAAC;AAEF;;;GAGG;AACH,qBAAa,sBAAsB;IACjC,8CAA8C;IAC9C,OAAc,mBAAmB,iBACjB,MAAM,iBAAiB,MAAM,gBAAgB,MAAM,SAAS,MAAM,GAAG,sBAAsB,aAC9F,MAAM,GAAG,sBAAsB,SAAS,MAAM,GAAG,sBAAsB,cAAc,QAAQ,sBAAsB,CAAC,KAC9H,sBAAsB,CAUtB;IAEH,uCAAuC;IACvC,OAAc,gBAAgB,WACpB,MAAM,iBAAiB,MAAM,gBAAgB,MAAM,WAAW,MAAM,IAAI,SAAS,MAAM,GAAG,sBAAsB,aAC7G,MAAM,GAAG,sBAAsB,SAAS,MAAM,GAAG,sBAAsB,cAAc,QAAQ,mBAAmB,CAAC,KAC3H,mBAAmB,CAUnB;CACJ"}
|
@@ -34,14 +34,14 @@ export const isStageLauncher = (item) => {
|
|
34
34
|
* @deprecated in 3.6. Use [BackstageItemUtilities]($appui-react) instead.
|
35
35
|
* @public
|
36
36
|
*/
|
37
|
-
|
37
|
+
class BackstageItemUtilities {
|
38
38
|
}
|
39
39
|
/** Creates a stage launcher backstage item */
|
40
40
|
BackstageItemUtilities.createStageLauncher = (frontstageId, groupPriority, itemPriority, label, subtitle, icon, overrides // eslint-disable-line deprecation/deprecation
|
41
41
|
) => ({
|
42
42
|
groupPriority,
|
43
43
|
icon,
|
44
|
-
internalData: overrides
|
44
|
+
internalData: overrides?.internalData,
|
45
45
|
id: frontstageId,
|
46
46
|
itemPriority,
|
47
47
|
label,
|
@@ -55,11 +55,12 @@ BackstageItemUtilities.createActionItem = (itemId, groupPriority, itemPriority,
|
|
55
55
|
execute,
|
56
56
|
groupPriority,
|
57
57
|
icon,
|
58
|
-
internalData: overrides
|
58
|
+
internalData: overrides?.internalData,
|
59
59
|
id: itemId,
|
60
60
|
itemPriority,
|
61
61
|
label,
|
62
62
|
subtitle,
|
63
63
|
...overrides,
|
64
64
|
});
|
65
|
+
export { BackstageItemUtilities };
|
65
66
|
//# sourceMappingURL=BackstageItem.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"BackstageItem.js","sourceRoot":"","sources":["../../../../src/appui-abstract/backstage/BackstageItem.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAOH;;;GAGG;AACH,MAAM,CAAN,IAAY,iBAKX;AALD,WAAY,iBAAiB;IAC3B,4CAA4C;IAC5C,qEAAc,CAAA;IACd,kCAAkC;IAClC,2EAAiB,CAAA;AACnB,CAAC,EALW,iBAAiB,KAAjB,iBAAiB,QAK5B;AA4DD;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAmB,EAA+B,EAAE;IAC/E,OAAQ,IAA4B,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,8CAA8C;AAC5G,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAmB,EAAkC,EAAE;IACrF,OAAQ,IAA+B,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,8CAA8C;AAC/G,CAAC,CAAC;AAEF;;;GAGG;AACH,
|
1
|
+
{"version":3,"file":"BackstageItem.js","sourceRoot":"","sources":["../../../../src/appui-abstract/backstage/BackstageItem.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAOH;;;GAGG;AACH,MAAM,CAAN,IAAY,iBAKX;AALD,WAAY,iBAAiB;IAC3B,4CAA4C;IAC5C,qEAAc,CAAA;IACd,kCAAkC;IAClC,2EAAiB,CAAA;AACnB,CAAC,EALW,iBAAiB,KAAjB,iBAAiB,QAK5B;AA4DD;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAmB,EAA+B,EAAE;IAC/E,OAAQ,IAA4B,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,8CAA8C;AAC5G,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAmB,EAAkC,EAAE;IACrF,OAAQ,IAA+B,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,8CAA8C;AAC/G,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAa,sBAAsB;;AACjC,8CAA8C;AAChC,0CAAmB,GAAG,CAClC,YAAoB,EAAE,aAAqB,EAAE,YAAoB,EAAE,KAAsC,EACzG,QAA0C,EAAE,IAAsC,EAAE,SAA2C,CAAC,8CAA8C;EACtJ,EAAE,CAAC,CAAC;IAC5B,aAAa;IACb,IAAI;IACJ,YAAY,EAAE,SAAS,EAAE,YAAY;IACrC,EAAE,EAAE,YAAY;IAChB,YAAY;IACZ,KAAK;IACL,OAAO,EAAE,YAAY;IACrB,QAAQ;IACR,GAAG,SAAS;CACb,CAAC,CAAC;AAEH,uCAAuC;AACzB,uCAAgB,GAAG,CAC/B,MAAc,EAAE,aAAqB,EAAE,YAAoB,EAAE,OAAmB,EAAE,KAAsC,EACxH,QAA0C,EAAE,IAAsC,EAAE,SAAwC,CAAC,8CAA8C;EACtJ,EAAE,CAAC,CAAC;IACzB,OAAO;IACP,aAAa;IACb,IAAI;IACJ,YAAY,EAAE,SAAS,EAAE,YAAY;IACrC,EAAE,EAAE,MAAM;IACV,YAAY;IACZ,KAAK;IACL,QAAQ;IACR,GAAG,SAAS;CACb,CAAC,CAAC;SA/BQ,sBAAsB","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Backstage\n */\n\nimport { BadgeType } from \"../items/BadgeType\";\nimport { ConditionalBooleanValue } from \"../items/ConditionalBooleanValue\";\nimport { ConditionalStringValue } from \"../items/ConditionalStringValue\";\nimport { ProvidedItem } from \"../items/ProvidedItem\";\n\n/** Used to specify the item type added to the backstage menu.\n * @deprecated in 3.6. Use type guards instead.\n * @public\n */\nexport enum BackstageItemType {\n /** Item that executes an action function */\n ActionItem = 1,\n /** Item that activate a stage. */\n StageLauncher = 2,\n}\n\n/** Describes the data needed to insert a button into the backstage menu.\n * @deprecated in 3.6. Use [CommonBackstageItem]($appui-react) instead.\n * @public\n */\nexport interface CommonBackstageItem extends ProvidedItem { // eslint-disable-line deprecation/deprecation\n /** can be used by application to store miscellaneous data. */\n applicationData?: any;\n /** Describes badge. Renders no badge if not specified. */\n readonly badgeType?: BadgeType;\n /** Specifies the item's grouping value. Items are sorted by group and then item priority. When\n * group priority changes a separator is inserted. It is recommended using values 10 through 100, incrementing by 10. This\n * allows extensions enough gaps to insert their own groups.\n */\n readonly groupPriority: number;\n /** Name of icon WebFont entry or if specifying an imported SVG symbol use \"webSvg:\" prefix to imported symbol Id. */\n readonly icon?: string | ConditionalStringValue;\n /** Required unique id of the item. To ensure uniqueness it is suggested that a namespace prefix of the extension name be used. */\n readonly id: string;\n /** optional data to be used by item implementor. */\n readonly internalData?: Map<string, any>;\n /** Describes if the item is visible or hidden. The default is for the item to be visible. */\n readonly isHidden?: boolean | ConditionalBooleanValue;\n /** Describes if the item is enabled or disabled. The default is for the item to be enabled. */\n readonly isDisabled?: boolean | ConditionalBooleanValue;\n /** Priority within a group (recommend using values 1 through 100). */\n readonly itemPriority: number;\n /** Label. */\n readonly label: string | ConditionalStringValue;\n /** Subtitle. */\n readonly subtitle?: string | ConditionalStringValue;\n /** Tooltip. */\n readonly tooltip?: string | ConditionalStringValue;\n /** Describes if the item is active. The default is for the item to be active if stageId matches activeFrontstageId */\n readonly isActive?: boolean | ConditionalBooleanValue;\n}\n\n/** Describes the data needed to insert an action button into the backstage menu.\n * @deprecated in 3.6. Use [BackstageActionItem]($appui-react) instead.\n * @public\n */\nexport interface BackstageActionItem extends CommonBackstageItem { // eslint-disable-line deprecation/deprecation\n readonly execute: () => void;\n}\n\n/** Describes the data needed to insert an action button into the backstage menu.\n * @deprecated in 3.6. Use [BackstageActionItem]($appui-react) instead.\n * @public\n */\nexport interface BackstageStageLauncher extends CommonBackstageItem { // eslint-disable-line deprecation/deprecation\n readonly stageId: string;\n}\n\n/** Describes the data needed to insert a button into the backstage menu.\n * @deprecated in 3.6. Use [BackstageItem]($appui-react) instead.\n * @public\n */\nexport type BackstageItem = BackstageActionItem | BackstageStageLauncher; // eslint-disable-line deprecation/deprecation\n\n/** BackstageActionItem type guard.\n * @deprecated in 3.6. Use [isBackstageActionItem]($appui-react) instead.\n * @public\n */\nexport const isActionItem = (item: BackstageItem): item is BackstageActionItem => { // eslint-disable-line deprecation/deprecation\n return (item as BackstageActionItem).execute !== undefined; // eslint-disable-line deprecation/deprecation\n};\n\n/** BackstageStageLauncher type guard.\n * @deprecated in 3.6. Use [isBackstageStageLauncher]($appui-react) instead.\n * @public\n */\nexport const isStageLauncher = (item: BackstageItem): item is BackstageStageLauncher => { // eslint-disable-line deprecation/deprecation\n return (item as BackstageStageLauncher).stageId !== undefined; // eslint-disable-line deprecation/deprecation\n};\n\n/** Utilities for creating and maintaining backstage items\n * @deprecated in 3.6. Use [BackstageItemUtilities]($appui-react) instead.\n * @public\n */\nexport class BackstageItemUtilities {\n /** Creates a stage launcher backstage item */\n public static createStageLauncher = (\n frontstageId: string, groupPriority: number, itemPriority: number, label: string | ConditionalStringValue,\n subtitle?: string | ConditionalStringValue, icon?: string | ConditionalStringValue, overrides?: Partial<BackstageStageLauncher> // eslint-disable-line deprecation/deprecation\n ): BackstageStageLauncher => ({ // eslint-disable-line deprecation/deprecation\n groupPriority,\n icon,\n internalData: overrides?.internalData,\n id: frontstageId,\n itemPriority,\n label,\n stageId: frontstageId,\n subtitle,\n ...overrides,\n });\n\n /** Creates an action backstage item */\n public static createActionItem = (\n itemId: string, groupPriority: number, itemPriority: number, execute: () => void, label: string | ConditionalStringValue,\n subtitle?: string | ConditionalStringValue, icon?: string | ConditionalStringValue, overrides?: Partial<BackstageActionItem> // eslint-disable-line deprecation/deprecation\n ): BackstageActionItem => ({ // eslint-disable-line deprecation/deprecation\n execute,\n groupPriority,\n icon,\n internalData: overrides?.internalData,\n id: itemId,\n itemPriority,\n label,\n subtitle,\n ...overrides,\n });\n}\n"]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"BackstageItemsManager.js","sourceRoot":"","sources":["../../../../src/appui-abstract/backstage/BackstageItemsManager.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAczE,MAAM,UAAU,GAAG,
|
1
|
+
{"version":3,"file":"BackstageItemsManager.js","sourceRoot":"","sources":["../../../../src/appui-abstract/backstage/BackstageItemsManager.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Backstage\n */\n\nimport { BeEvent } from \"@itwin/core-bentley\";\nimport { ConditionalBooleanValue } from \"../items/ConditionalBooleanValue\";\nimport { ConditionalStringValue } from \"../items/ConditionalStringValue\";\nimport { BackstageItem } from \"./BackstageItem\";\n\n/* eslint-disable deprecation/deprecation */\n\n/** Arguments of [[BackstageItemsManager.onChanged]] event.\n * @internal\n */\nexport interface BackstageItemsChangedArgs {\n readonly items: ReadonlyArray<BackstageItem>;\n}\n\ntype InstanceOrArray<T> = T | ReadonlyArray<T>;\n\nconst isInstance = <T>(args: InstanceOrArray<T>): args is T => {\n return !Array.isArray(args);\n};\n\n/**\n * Controls backstage items.\n * @internal\n */\nexport class BackstageItemsManager {\n private _items: ReadonlyArray<BackstageItem> = [];\n\n constructor(items?: ReadonlyArray<BackstageItem>) {\n // istanbul ignore else\n if (items)\n this.loadItemsInternal(items, true, false);\n }\n\n private loadItemsInternal(items: ReadonlyArray<BackstageItem>, processConditions: boolean, sendItemChanged: boolean) {\n if (processConditions && items) {\n const eventIds = BackstageItemsManager.getSyncIdsOfInterest(items);\n if (0 !== eventIds.length) {\n const { itemsUpdated, updatedItems } = this.internalRefreshAffectedItems(items, new Set(eventIds));\n\n // istanbul ignore else\n if (itemsUpdated)\n items = updatedItems;\n }\n }\n\n this._items = items;\n if (sendItemChanged)\n this.onItemsChanged.raiseEvent({ items });\n }\n\n /** load items but do not fire onItemsChanged\n * @internal\n */\n public loadItems(items: ReadonlyArray<BackstageItem>) {\n this.loadItemsInternal(items, true, false);\n }\n\n /** Event raised when backstage items are changed.\n * @internal\n */\n public readonly onItemsChanged = new BeEvent<(args: BackstageItemsChangedArgs) => void>();\n\n public get items(): ReadonlyArray<BackstageItem> {\n return this._items;\n }\n\n public set items(items: ReadonlyArray<BackstageItem>) {\n // istanbul ignore else\n if (items !== this._items)\n this.loadItemsInternal(items, true, true);\n }\n\n /** @internal */\n public add(itemOrItems: BackstageItem | ReadonlyArray<BackstageItem>) {\n let itemsToAdd;\n if (isInstance(itemOrItems))\n itemsToAdd = [itemOrItems];\n else {\n itemsToAdd = itemOrItems.filter((itemToAdd, index) => itemOrItems.findIndex((item) => item.id === itemToAdd.id) === index);\n }\n itemsToAdd = itemsToAdd.filter((itemToAdd) => this._items.find((item) => item.id === itemToAdd.id) === undefined);\n if (itemsToAdd.length === 0)\n return;\n const items = [\n ...this._items,\n ...itemsToAdd,\n ];\n this.items = items;\n }\n\n /** @internal */\n public remove(itemIdOrItemIds: BackstageItem[\"id\"] | ReadonlyArray<BackstageItem[\"id\"]>) {\n const items = this._items.filter((item) => {\n return isInstance(itemIdOrItemIds) ? item.id !== itemIdOrItemIds : !itemIdOrItemIds.find((itemId) => itemId === item.id);\n });\n this.items = items;\n }\n\n /** @internal */\n public static getSyncIdsOfInterest(items: readonly BackstageItem[]): string[] {\n const eventIds = new Set<string>();\n items.forEach((item) => {\n for (const [, entry] of Object.entries(item)) {\n if (entry instanceof ConditionalBooleanValue) {\n entry.syncEventIds.forEach((eventId: string) => eventIds.add(eventId.toLowerCase()));\n } else /* istanbul ignore else */ if (entry instanceof ConditionalStringValue) {\n entry.syncEventIds.forEach((eventId: string) => eventIds.add(eventId.toLowerCase()));\n }\n }\n });\n return [...eventIds.values()];\n }\n\n private internalRefreshAffectedItems(items: readonly BackstageItem[], eventIds: Set<string>): { itemsUpdated: boolean, updatedItems: BackstageItem[] } {\n // istanbul ignore next\n if (0 === eventIds.size)\n return { itemsUpdated: false, updatedItems: [] };\n\n let updateRequired = false;\n\n const newItems: BackstageItem[] = [];\n for (const item of items) {\n const updatedItem = { ...item };\n\n for (const [, entry] of Object.entries(updatedItem)) {\n if (entry instanceof ConditionalBooleanValue) {\n // istanbul ignore else\n if (ConditionalBooleanValue.refreshValue(entry, eventIds))\n updateRequired = true;\n } else /* istanbul ignore else */ if (entry instanceof ConditionalStringValue) {\n // istanbul ignore else\n if (ConditionalStringValue.refreshValue(entry, eventIds))\n updateRequired = true;\n }\n }\n\n newItems.push(updatedItem);\n }\n\n return { itemsUpdated: updateRequired, updatedItems: newItems };\n }\n\n public refreshAffectedItems(eventIds: Set<string>) {\n // istanbul ignore next\n if (0 === eventIds.size)\n return;\n\n const { itemsUpdated, updatedItems } = this.internalRefreshAffectedItems(this.items, eventIds);\n\n // istanbul ignore else\n if (itemsUpdated)\n this.loadItemsInternal(updatedItems, false, true);\n }\n\n}\n"]}
|
@@ -9,7 +9,7 @@
|
|
9
9
|
* Class that define Standard Content Layouts that can be used to specify how the content is arranged in a frontstage.
|
10
10
|
* @public
|
11
11
|
*/
|
12
|
-
|
12
|
+
class StandardContentLayouts {
|
13
13
|
}
|
14
14
|
StandardContentLayouts.singleView = {
|
15
15
|
id: "uia:singleView",
|
@@ -102,4 +102,5 @@ StandardContentLayouts.availableLayouts = [
|
|
102
102
|
StandardContentLayouts.threeViewsTwoOnBottom,
|
103
103
|
StandardContentLayouts.threeViewsTwoOnTop,
|
104
104
|
];
|
105
|
+
export { StandardContentLayouts };
|
105
106
|
//# sourceMappingURL=StandardContentLayouts.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"StandardContentLayouts.js","sourceRoot":"","sources":["../../../../src/appui-abstract/content/StandardContentLayouts.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAIH;;;GAGG;AACH,
|
1
|
+
{"version":3,"file":"StandardContentLayouts.js","sourceRoot":"","sources":["../../../../src/appui-abstract/content/StandardContentLayouts.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module ContentView\n */\n\nimport { ContentLayoutProps } from \"./ContentLayoutProps\";\n\n/**\n * Class that define Standard Content Layouts that can be used to specify how the content is arranged in a frontstage.\n * @public\n */\nexport class StandardContentLayouts {\n public static readonly singleView: ContentLayoutProps = {\n id: \"uia:singleView\",\n description: \"Single Content View\",\n };\n\n public static readonly fourQuadrants: ContentLayoutProps = {\n id: \"uia:fourQuadrants\",\n description: \"Four Views, two stacked on the left, two stacked on the right\",\n verticalSplit: {\n id: \"uia:fourQuadrantVerticalSplit\",\n percentage: 0.50,\n lock: false,\n minSizeLeft: 100,\n minSizeRight: 100,\n left: { horizontalSplit: { id: \"uia:fourQuadrantsLeftHorizontal\", percentage: 0.50, top: 0, bottom: 1, lock: false, minSizeTop: 50, minSizeBottom: 50 } },\n right: { horizontalSplit: { id: \"uia:fourQuadrantsRightHorizontal\", percentage: 0.50, top: 2, bottom: 3, lock: false, minSizeTop: 50, minSizeBottom: 50 } },\n },\n };\n\n public static readonly twoVerticalSplit: ContentLayoutProps = {\n id: \"uia:twoVerticalSplit\",\n description: \"Two Views, side by side\",\n verticalSplit: {\n id: \"uia:twoViewsVerticalSplit\",\n percentage: 0.50,\n left: 0,\n right: 1,\n },\n };\n public static readonly twoHorizontalSplit: ContentLayoutProps = {\n id: \"uia:twoHorizontalSplit\",\n description: \"Two views, stack one on top of the other\",\n horizontalSplit: {\n id: \"uia:twoViewsHorizontalSplit\",\n percentage: 0.50,\n lock: false,\n top: 0,\n bottom: 1,\n },\n };\n\n public static readonly threeViewsTwoOnLeft: ContentLayoutProps = {\n id: \"uia:threeViewsTwoOnLeft\",\n description: \"Three views, one on the right with the two on the left stacked one of top of the other\",\n verticalSplit: {\n id: \"uia:twoViewsOnLeftSplit\",\n percentage: 0.50,\n left: { horizontalSplit: { id: \"uia:twoViewsOnLeftHorizontal\", percentage: 0.50, top: 0, bottom: 1, lock: false, minSizeTop: 50, minSizeBottom: 50 } },\n right: 2,\n },\n };\n\n public static readonly threeViewsTwoOnRight: ContentLayoutProps = {\n id: \"uia:threeViewsTwoOnRight\",\n description: \"Three views, one on the left with the two on the right stacked one of top of the other\",\n verticalSplit: {\n id: \"uia:twoViewsOnRightSplit\",\n percentage: 0.50,\n left: 0,\n right: { horizontalSplit: { id: \"uia:twoViewsOnRightHorizontal\", percentage: 0.50, top: 1, bottom: 2, lock: false, minSizeTop: 50, minSizeBottom: 50 } },\n },\n };\n\n public static readonly threeViewsTwoOnBottom: ContentLayoutProps = {\n id: \"uia:threeViewsTwoOnBottom\",\n description: \"Three Views, one on top and two side by side on the bottom\",\n horizontalSplit: {\n id: \"uia:threeViewsTwoOnBottomHorizontal\",\n percentage: 0.50,\n lock: false,\n top: 0,\n bottom: { verticalSplit: { id: \"uia:twoViewsOnBottomVertical\", percentage: 0.50, left: 1, right: 2, lock: false, minSizeLeft: 50, minSizeRight: 50 } },\n },\n };\n\n public static readonly threeViewsTwoOnTop: ContentLayoutProps = {\n id: \"uia:threeViewsTwoOnTop\",\n description: \"Three Views, two side by side on top and one on the bottom\",\n horizontalSplit: {\n id: \"uia:twoViewsOnTopHorizontal\",\n percentage: 0.50,\n lock: false,\n top: { verticalSplit: { id: \"uia:twoViewsOnTopVertical\", percentage: 0.50, left: 0, right: 1, lock: false, minSizeLeft: 50, minSizeRight: 50 } },\n bottom: 2,\n },\n };\n\n // provides and iterable list of standard content layouts\n public static readonly availableLayouts: ContentLayoutProps[] = [\n StandardContentLayouts.singleView,\n StandardContentLayouts.fourQuadrants,\n StandardContentLayouts.twoVerticalSplit,\n StandardContentLayouts.twoHorizontalSplit,\n StandardContentLayouts.threeViewsTwoOnLeft,\n StandardContentLayouts.threeViewsTwoOnRight,\n StandardContentLayouts.threeViewsTwoOnBottom,\n StandardContentLayouts.threeViewsTwoOnTop,\n ];\n\n}\n"]}
|
@@ -18,7 +18,7 @@ export interface EditorPosition {
|
|
18
18
|
/** Determines the column position for the type editor */
|
19
19
|
columnIndex: number;
|
20
20
|
/** Number of columns to occupy. Defaults to 1
|
21
|
-
* @deprecated
|
21
|
+
* @deprecated in 2.19. No longer necessary, ignored.
|
22
22
|
*/
|
23
23
|
columnSpan?: number;
|
24
24
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"DialogItem.js","sourceRoot":"","sources":["../../../../src/appui-abstract/dialogs/DialogItem.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AA0DH;;GAEG;AACH,MAAM,OAAO,cAAc;IACzB,YAAmB,WAAgC,EAAU,MAAS,EAAU,aAAsB,EAAU,WAAqB;QAAlH,gBAAW,GAAX,WAAW,CAAqB;QAAU,WAAM,GAAN,MAAM,CAAG;QAAU,kBAAa,GAAb,aAAa,CAAS;QAAU,gBAAW,GAAX,WAAW,CAAU;IAAI,CAAC;IAE1I,IAAW,UAAU;QACnB,OAAO,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAED,IAAW,UAAU,CAAC,GAAY;QAChC,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;IACzB,CAAC;IAED,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAW,KAAK,CAAC,GAAM;QACrB,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;IACpB,CAAC;IAED,IAAW,IAAI;QACb,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;IAC/B,CAAC;IAED,IAAW,YAAY,CAAC,GAAuB;QAC7C,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC;IAC3B,CAAC;IAED,IAAW,YAAY;QACrB,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED,IAAW,eAAe;QACxB,uBAAuB;QACvB,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,YAAY,IAAI;YAC7K,OAAO;gBACL,KAAK,EAAE,IAAI,CAAC,MAAM;gBAClB,YAAY,EAAE,IAAI,CAAC,aAAa;aACd,CAAC;QACvB,uBAAuB;QACvB,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAC9C,CAAC;IAED,IAAW,eAAe,CAAC,GAAoB;QAC7C,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,KAAqB,CAAC;QACxC,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC,YAAY,CAAC;IACxC,CAAC;IAED,IAAW,QAAQ;QACjB,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC;QACpC,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,eAAe,EAAE,UAAU,EAAE,CAAC;IAC9E,CAAC;IAED,IAAW,IAAI;QACb,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC;IAClE,CAAC;IAEM,YAAY,CAAC,cAA8B,EAAE,YAAyB;QAC3E,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,eAAe,EAAE,QAAQ,EAAE,IAAI,CAAC,WAAW,EAAE,cAAc,EAAE,UAAU,EAAE,IAAI,CAAC,WAAW,EAAE,YAAY,EAAE,CAAC;IACjI,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Dialog\n */\n\nimport { PropertyDescription } from \"../properties/Description\";\n\n/** [[DialogItemValue]] Interface of PrimitiveValue types that have type editor support for use in dialogs.\n * @public\n */\nexport interface DialogItemValue {\n value?: number | string | boolean | Date;\n displayValue?: string;\n}\n/** [[EditorPosition]] Interface used to identify the location of the item a DialogItem property value.\n * @public\n */\nexport interface EditorPosition {\n /** Determine the order the row is shown in UI */\n rowPriority: number;\n /** Determines the column position for the type editor */\n columnIndex: number;\n /** Number of columns to occupy. Defaults to 1\n * @deprecated
|
1
|
+
{"version":3,"file":"DialogItem.js","sourceRoot":"","sources":["../../../../src/appui-abstract/dialogs/DialogItem.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AA0DH;;GAEG;AACH,MAAM,OAAO,cAAc;IACzB,YAAmB,WAAgC,EAAU,MAAS,EAAU,aAAsB,EAAU,WAAqB;QAAlH,gBAAW,GAAX,WAAW,CAAqB;QAAU,WAAM,GAAN,MAAM,CAAG;QAAU,kBAAa,GAAb,aAAa,CAAS;QAAU,gBAAW,GAAX,WAAW,CAAU;IAAI,CAAC;IAE1I,IAAW,UAAU;QACnB,OAAO,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAED,IAAW,UAAU,CAAC,GAAY;QAChC,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;IACzB,CAAC;IAED,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAW,KAAK,CAAC,GAAM;QACrB,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;IACpB,CAAC;IAED,IAAW,IAAI;QACb,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;IAC/B,CAAC;IAED,IAAW,YAAY,CAAC,GAAuB;QAC7C,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC;IAC3B,CAAC;IAED,IAAW,YAAY;QACrB,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED,IAAW,eAAe;QACxB,uBAAuB;QACvB,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,YAAY,IAAI;YAC7K,OAAO;gBACL,KAAK,EAAE,IAAI,CAAC,MAAM;gBAClB,YAAY,EAAE,IAAI,CAAC,aAAa;aACd,CAAC;QACvB,uBAAuB;QACvB,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAC9C,CAAC;IAED,IAAW,eAAe,CAAC,GAAoB;QAC7C,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,KAAqB,CAAC;QACxC,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC,YAAY,CAAC;IACxC,CAAC;IAED,IAAW,QAAQ;QACjB,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC;QACpC,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,eAAe,EAAE,UAAU,EAAE,CAAC;IAC9E,CAAC;IAED,IAAW,IAAI;QACb,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC;IAClE,CAAC;IAEM,YAAY,CAAC,cAA8B,EAAE,YAAyB;QAC3E,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,eAAe,EAAE,QAAQ,EAAE,IAAI,CAAC,WAAW,EAAE,cAAc,EAAE,UAAU,EAAE,IAAI,CAAC,WAAW,EAAE,YAAY,EAAE,CAAC;IACjI,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Dialog\n */\n\nimport { PropertyDescription } from \"../properties/Description\";\n\n/** [[DialogItemValue]] Interface of PrimitiveValue types that have type editor support for use in dialogs.\n * @public\n */\nexport interface DialogItemValue {\n value?: number | string | boolean | Date;\n displayValue?: string;\n}\n/** [[EditorPosition]] Interface used to identify the location of the item a DialogItem property value.\n * @public\n */\nexport interface EditorPosition {\n /** Determine the order the row is shown in UI */\n rowPriority: number;\n /** Determines the column position for the type editor */\n columnIndex: number;\n /** Number of columns to occupy. Defaults to 1\n * @deprecated in 2.19. No longer necessary, ignored.\n */\n columnSpan?: number;\n}\n\n/** [[BaseDialogItem]] contains only the members necessary to create a PropertyRecord.\n * @public\n */\nexport interface BaseDialogItem {\n readonly value: DialogItemValue;\n readonly property: PropertyDescription;\n readonly isDisabled?: boolean;\n}\n/** [[DialogItem]] is the specification that the display engine turns into a UI item.\n * @see See learning documentation [DialogItem]($docs/learning/ui/abstract/dialogitem.md)\n * @public\n */\nexport interface DialogItem extends BaseDialogItem {\n readonly editorPosition: EditorPosition;\n readonly lockProperty?: BaseDialogItem;\n}\n\n/** [[DialogPropertyItem]] us the specification to use if you are defining the components directly, e.g., in React\n * @public\n */\nexport interface DialogPropertyItem {\n readonly value: DialogItemValue;\n readonly propertyName: string;\n}\n\n/** [[DialogPropertySyncItem]] is used to pass sync messages for DialogPropertyItems\n * @public\n */\nexport interface DialogPropertySyncItem extends DialogPropertyItem {\n readonly isDisabled?: boolean;\n readonly property?: PropertyDescription;\n}\n\n/** [[DialogProperty]] is a generic helper class that assists working with properties used by UiLayoutDataProvider implementations (i.e. Tool Settings and Dynamic Dialogs).\n * @public\n */\nexport class DialogProperty<T> {\n constructor(public description: PropertyDescription, private _value: T, private _displayValue?: string, private _isDisabled?: boolean) { }\n\n public get isDisabled() {\n return !!this._isDisabled;\n }\n\n public set isDisabled(val: boolean) {\n this._isDisabled = val;\n }\n\n public get value() {\n return this._value;\n }\n\n public set value(val: T) {\n this._value = val;\n }\n\n public get name() {\n return this.description.name;\n }\n\n public set displayValue(val: string | undefined) {\n this._displayValue = val;\n }\n\n public get displayValue() {\n return this._displayValue;\n }\n\n public get dialogItemValue() {\n // istanbul ignore else\n if (typeof this._value === \"string\" || typeof this._value === \"number\" || typeof this._value === \"undefined\" || typeof this._value === \"boolean\" || this._value instanceof Date)\n return {\n value: this._value,\n displayValue: this._displayValue,\n } as DialogItemValue;\n // istanbul ignore next\n throw new Error(\"Not valid primitive type\");\n }\n\n public set dialogItemValue(val: DialogItemValue) {\n this._value = val.value as unknown as T;\n this._displayValue = val.displayValue;\n }\n\n public get syncItem(): DialogPropertySyncItem {\n const isDisabled = this._isDisabled;\n return { propertyName: this.name, value: this.dialogItemValue, isDisabled };\n }\n\n public get item(): DialogPropertyItem {\n return { propertyName: this.name, value: this.dialogItemValue };\n }\n\n public toDialogItem(editorPosition: EditorPosition, lockProperty?: DialogItem): DialogItem {\n return { value: this.dialogItemValue, property: this.description, editorPosition, isDisabled: this._isDisabled, lockProperty };\n }\n}\n"]}
|
@@ -38,7 +38,7 @@ export var DialogButtonStyle;
|
|
38
38
|
/**
|
39
39
|
* @public
|
40
40
|
*/
|
41
|
-
|
41
|
+
class UiLayoutDataProvider extends UiDataProvider {
|
42
42
|
constructor() {
|
43
43
|
super(...arguments);
|
44
44
|
/** Applies change of a single property - this is the default method used when property editors are dynamically generated. */
|
@@ -145,6 +145,7 @@ UiLayoutDataProvider.getPropertyRecord = (dialogItem) => {
|
|
145
145
|
record.isDisabled = UiLayoutDataProvider.getItemDisabledState(dialogItem);
|
146
146
|
return record;
|
147
147
|
};
|
148
|
+
export { UiLayoutDataProvider };
|
148
149
|
/** [[DialogLayoutDataProvider]] Abstract class that allows property values to be passed between hosting API and Dialog that generates and arranges components dynamically
|
149
150
|
* including the buttons at the bottom of the dialog.
|
150
151
|
* @public
|