@itwin/appui-abstract 5.0.0-dev.9 → 5.0.0-dev.90
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 +51 -1
- package/lib/cjs/appui-abstract/UiAdmin.js +4 -5
- package/lib/cjs/appui-abstract/UiAdmin.js.map +1 -1
- package/lib/cjs/appui-abstract/common/KeyboardKey.js.map +1 -1
- package/lib/cjs/appui-abstract/content/ContentLayoutProps.js.map +1 -1
- package/lib/cjs/appui-abstract/content/StandardContentLayouts.js +91 -91
- 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 +4 -0
- package/lib/cjs/appui-abstract/dialogs/DialogItem.js.map +1 -1
- package/lib/cjs/appui-abstract/dialogs/UiDataProvider.js +3 -5
- package/lib/cjs/appui-abstract/dialogs/UiDataProvider.js.map +1 -1
- package/lib/cjs/appui-abstract/dialogs/UiLayoutDataProvider.js +15 -19
- package/lib/cjs/appui-abstract/dialogs/UiLayoutDataProvider.js.map +1 -1
- package/lib/cjs/appui-abstract/items/AbstractItemProps.js.map +1 -1
- package/lib/cjs/appui-abstract/items/AbstractMenuItemProps.js.map +1 -1
- package/lib/cjs/appui-abstract/items/AbstractToolbarProps.js.map +1 -1
- package/lib/cjs/appui-abstract/items/BadgeType.js.map +1 -1
- package/lib/cjs/appui-abstract/items/ConditionalBooleanValue.js +3 -0
- package/lib/cjs/appui-abstract/items/ConditionalBooleanValue.js.map +1 -1
- package/lib/cjs/appui-abstract/items/ConditionalStringValue.js +3 -0
- package/lib/cjs/appui-abstract/items/ConditionalStringValue.js.map +1 -1
- package/lib/cjs/appui-abstract/items/RelativePosition.js.map +1 -1
- package/lib/cjs/appui-abstract/notification/MessagePresenter.js.map +1 -1
- package/lib/cjs/appui-abstract/notification/MessageSeverity.js.map +1 -1
- package/lib/cjs/appui-abstract/properties/Description.js.map +1 -1
- package/lib/cjs/appui-abstract/properties/EditorParams.js.map +1 -1
- package/lib/cjs/appui-abstract/properties/PrimitiveTypes.js.map +1 -1
- package/lib/cjs/appui-abstract/properties/Record.js +18 -0
- package/lib/cjs/appui-abstract/properties/Record.js.map +1 -1
- package/lib/cjs/appui-abstract/properties/StandardEditorNames.js.map +1 -1
- package/lib/cjs/appui-abstract/properties/StandardTypeNames.js.map +1 -1
- package/lib/cjs/appui-abstract/properties/Value.js.map +1 -1
- package/lib/cjs/appui-abstract/quantity/BaseQuantityDescription.js +10 -6
- package/lib/cjs/appui-abstract/quantity/BaseQuantityDescription.js.map +1 -1
- package/lib/cjs/appui-abstract/toolbars/ToolbarItem.d.ts +3 -27
- package/lib/cjs/appui-abstract/toolbars/ToolbarItem.d.ts.map +1 -1
- package/lib/cjs/appui-abstract/toolbars/ToolbarItem.js +15 -37
- package/lib/cjs/appui-abstract/toolbars/ToolbarItem.js.map +1 -1
- package/lib/cjs/appui-abstract/utils/IconSpecUtilities.d.ts +0 -10
- package/lib/cjs/appui-abstract/utils/IconSpecUtilities.d.ts.map +1 -1
- package/lib/cjs/appui-abstract/utils/IconSpecUtilities.js +3 -20
- package/lib/cjs/appui-abstract/utils/IconSpecUtilities.js.map +1 -1
- package/lib/cjs/appui-abstract/utils/PointProps.js.map +1 -1
- package/lib/cjs/appui-abstract/utils/UiError.js +1 -0
- package/lib/cjs/appui-abstract/utils/UiError.js.map +1 -1
- package/lib/cjs/appui-abstract/utils/UiEvent.js.map +1 -1
- package/lib/cjs/appui-abstract/utils/UiEventDispatcher.js +7 -0
- package/lib/cjs/appui-abstract/utils/UiEventDispatcher.js.map +1 -1
- package/lib/cjs/appui-abstract/utils/callbacks.js.map +1 -1
- package/lib/cjs/appui-abstract/utils/filter/filters.js.map +1 -1
- package/lib/cjs/appui-abstract/utils/misc.js.map +1 -1
- package/lib/cjs/appui-abstract.d.ts +1 -28
- package/lib/cjs/appui-abstract.d.ts.map +1 -1
- package/lib/cjs/appui-abstract.js +1 -28
- package/lib/cjs/appui-abstract.js.map +1 -1
- package/lib/esm/appui-abstract/UiAdmin.js +4 -5
- package/lib/esm/appui-abstract/UiAdmin.js.map +1 -1
- package/lib/esm/appui-abstract/common/KeyboardKey.js.map +1 -1
- package/lib/esm/appui-abstract/content/ContentLayoutProps.js.map +1 -1
- package/lib/esm/appui-abstract/content/StandardContentLayouts.js +91 -91
- 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 +4 -0
- package/lib/esm/appui-abstract/dialogs/DialogItem.js.map +1 -1
- package/lib/esm/appui-abstract/dialogs/UiDataProvider.js +3 -5
- package/lib/esm/appui-abstract/dialogs/UiDataProvider.js.map +1 -1
- package/lib/esm/appui-abstract/dialogs/UiLayoutDataProvider.js +15 -19
- package/lib/esm/appui-abstract/dialogs/UiLayoutDataProvider.js.map +1 -1
- package/lib/esm/appui-abstract/items/AbstractItemProps.js.map +1 -1
- package/lib/esm/appui-abstract/items/AbstractMenuItemProps.js.map +1 -1
- package/lib/esm/appui-abstract/items/AbstractToolbarProps.js.map +1 -1
- package/lib/esm/appui-abstract/items/BadgeType.js.map +1 -1
- package/lib/esm/appui-abstract/items/ConditionalBooleanValue.js +3 -0
- package/lib/esm/appui-abstract/items/ConditionalBooleanValue.js.map +1 -1
- package/lib/esm/appui-abstract/items/ConditionalStringValue.js +3 -0
- package/lib/esm/appui-abstract/items/ConditionalStringValue.js.map +1 -1
- package/lib/esm/appui-abstract/items/RelativePosition.js.map +1 -1
- package/lib/esm/appui-abstract/notification/MessagePresenter.js.map +1 -1
- package/lib/esm/appui-abstract/notification/MessageSeverity.js.map +1 -1
- package/lib/esm/appui-abstract/properties/Description.js.map +1 -1
- package/lib/esm/appui-abstract/properties/EditorParams.js.map +1 -1
- package/lib/esm/appui-abstract/properties/PrimitiveTypes.js.map +1 -1
- package/lib/esm/appui-abstract/properties/Record.js +18 -0
- package/lib/esm/appui-abstract/properties/Record.js.map +1 -1
- package/lib/esm/appui-abstract/properties/StandardEditorNames.js.map +1 -1
- package/lib/esm/appui-abstract/properties/StandardTypeNames.js.map +1 -1
- package/lib/esm/appui-abstract/properties/Value.js.map +1 -1
- package/lib/esm/appui-abstract/quantity/BaseQuantityDescription.js +10 -6
- package/lib/esm/appui-abstract/quantity/BaseQuantityDescription.js.map +1 -1
- package/lib/esm/appui-abstract/toolbars/ToolbarItem.d.ts +3 -27
- package/lib/esm/appui-abstract/toolbars/ToolbarItem.d.ts.map +1 -1
- package/lib/esm/appui-abstract/toolbars/ToolbarItem.js +14 -36
- package/lib/esm/appui-abstract/toolbars/ToolbarItem.js.map +1 -1
- package/lib/esm/appui-abstract/utils/IconSpecUtilities.d.ts +0 -10
- package/lib/esm/appui-abstract/utils/IconSpecUtilities.d.ts.map +1 -1
- package/lib/esm/appui-abstract/utils/IconSpecUtilities.js +3 -20
- package/lib/esm/appui-abstract/utils/IconSpecUtilities.js.map +1 -1
- package/lib/esm/appui-abstract/utils/PointProps.js.map +1 -1
- package/lib/esm/appui-abstract/utils/UiError.js +1 -0
- package/lib/esm/appui-abstract/utils/UiError.js.map +1 -1
- package/lib/esm/appui-abstract/utils/UiEvent.js.map +1 -1
- package/lib/esm/appui-abstract/utils/UiEventDispatcher.js +7 -0
- package/lib/esm/appui-abstract/utils/UiEventDispatcher.js.map +1 -1
- package/lib/esm/appui-abstract/utils/callbacks.js.map +1 -1
- package/lib/esm/appui-abstract/utils/filter/filters.js.map +1 -1
- package/lib/esm/appui-abstract/utils/misc.js.map +1 -1
- package/lib/esm/appui-abstract.d.ts +1 -28
- package/lib/esm/appui-abstract.d.ts.map +1 -1
- package/lib/esm/appui-abstract.js +1 -28
- package/lib/esm/appui-abstract.js.map +1 -1
- package/package.json +13 -14
- package/lib/cjs/appui-abstract/BaseUiItemsProvider.d.ts +0 -31
- package/lib/cjs/appui-abstract/BaseUiItemsProvider.d.ts.map +0 -1
- package/lib/cjs/appui-abstract/BaseUiItemsProvider.js +0 -80
- package/lib/cjs/appui-abstract/BaseUiItemsProvider.js.map +0 -1
- package/lib/cjs/appui-abstract/UiItemsManager.d.ts +0 -111
- package/lib/cjs/appui-abstract/UiItemsManager.d.ts.map +0 -1
- package/lib/cjs/appui-abstract/UiItemsManager.js +0 -194
- package/lib/cjs/appui-abstract/UiItemsManager.js.map +0 -1
- package/lib/cjs/appui-abstract/UiItemsProvider.d.ts +0 -30
- package/lib/cjs/appui-abstract/UiItemsProvider.d.ts.map +0 -1
- package/lib/cjs/appui-abstract/UiItemsProvider.js +0 -10
- package/lib/cjs/appui-abstract/UiItemsProvider.js.map +0 -1
- package/lib/cjs/appui-abstract/backstage/BackstageItem.d.ts +0 -92
- package/lib/cjs/appui-abstract/backstage/BackstageItem.d.ts.map +0 -1
- package/lib/cjs/appui-abstract/backstage/BackstageItem.js +0 -69
- package/lib/cjs/appui-abstract/backstage/BackstageItem.js.map +0 -1
- package/lib/cjs/appui-abstract/backstage/BackstageItemsManager.d.ts +0 -43
- package/lib/cjs/appui-abstract/backstage/BackstageItemsManager.d.ts.map +0 -1
- package/lib/cjs/appui-abstract/backstage/BackstageItemsManager.js +0 -136
- package/lib/cjs/appui-abstract/backstage/BackstageItemsManager.js.map +0 -1
- package/lib/cjs/appui-abstract/items/ProvidedItem.d.ts +0 -12
- package/lib/cjs/appui-abstract/items/ProvidedItem.d.ts.map +0 -1
- package/lib/cjs/appui-abstract/items/ProvidedItem.js +0 -10
- package/lib/cjs/appui-abstract/items/ProvidedItem.js.map +0 -1
- package/lib/cjs/appui-abstract/items/StageUsage.d.ts +0 -17
- package/lib/cjs/appui-abstract/items/StageUsage.d.ts.map +0 -1
- package/lib/cjs/appui-abstract/items/StageUsage.js +0 -25
- package/lib/cjs/appui-abstract/items/StageUsage.js.map +0 -1
- package/lib/cjs/appui-abstract/statusbar/StatusBarItem.d.ts +0 -129
- package/lib/cjs/appui-abstract/statusbar/StatusBarItem.d.ts.map +0 -1
- package/lib/cjs/appui-abstract/statusbar/StatusBarItem.js +0 -88
- package/lib/cjs/appui-abstract/statusbar/StatusBarItem.js.map +0 -1
- package/lib/cjs/appui-abstract/statusbar/StatusBarItemsManager.d.ts +0 -40
- package/lib/cjs/appui-abstract/statusbar/StatusBarItemsManager.d.ts.map +0 -1
- package/lib/cjs/appui-abstract/statusbar/StatusBarItemsManager.js +0 -136
- package/lib/cjs/appui-abstract/statusbar/StatusBarItemsManager.js.map +0 -1
- package/lib/cjs/appui-abstract/toolbars/ToolbarItemsManager.d.ts +0 -46
- package/lib/cjs/appui-abstract/toolbars/ToolbarItemsManager.d.ts.map +0 -1
- package/lib/cjs/appui-abstract/toolbars/ToolbarItemsManager.js +0 -236
- package/lib/cjs/appui-abstract/toolbars/ToolbarItemsManager.js.map +0 -1
- package/lib/cjs/appui-abstract/widget/AbstractWidgetProps.d.ts +0 -87
- package/lib/cjs/appui-abstract/widget/AbstractWidgetProps.d.ts.map +0 -1
- package/lib/cjs/appui-abstract/widget/AbstractWidgetProps.js +0 -10
- package/lib/cjs/appui-abstract/widget/AbstractWidgetProps.js.map +0 -1
- package/lib/cjs/appui-abstract/widget/StagePanel.d.ts +0 -37
- package/lib/cjs/appui-abstract/widget/StagePanel.d.ts.map +0 -1
- package/lib/cjs/appui-abstract/widget/StagePanel.js +0 -47
- package/lib/cjs/appui-abstract/widget/StagePanel.js.map +0 -1
- package/lib/cjs/appui-abstract/widget/WidgetState.d.ts +0 -20
- package/lib/cjs/appui-abstract/widget/WidgetState.d.ts.map +0 -1
- package/lib/cjs/appui-abstract/widget/WidgetState.js +0 -28
- package/lib/cjs/appui-abstract/widget/WidgetState.js.map +0 -1
- package/lib/esm/appui-abstract/BaseUiItemsProvider.d.ts +0 -31
- package/lib/esm/appui-abstract/BaseUiItemsProvider.d.ts.map +0 -1
- package/lib/esm/appui-abstract/BaseUiItemsProvider.js +0 -76
- package/lib/esm/appui-abstract/BaseUiItemsProvider.js.map +0 -1
- package/lib/esm/appui-abstract/UiItemsManager.d.ts +0 -111
- package/lib/esm/appui-abstract/UiItemsManager.d.ts.map +0 -1
- package/lib/esm/appui-abstract/UiItemsManager.js +0 -190
- package/lib/esm/appui-abstract/UiItemsManager.js.map +0 -1
- package/lib/esm/appui-abstract/UiItemsProvider.d.ts +0 -30
- package/lib/esm/appui-abstract/UiItemsProvider.d.ts.map +0 -1
- package/lib/esm/appui-abstract/UiItemsProvider.js +0 -9
- package/lib/esm/appui-abstract/UiItemsProvider.js.map +0 -1
- package/lib/esm/appui-abstract/backstage/BackstageItem.d.ts +0 -92
- package/lib/esm/appui-abstract/backstage/BackstageItem.d.ts.map +0 -1
- package/lib/esm/appui-abstract/backstage/BackstageItem.js +0 -63
- package/lib/esm/appui-abstract/backstage/BackstageItem.js.map +0 -1
- package/lib/esm/appui-abstract/backstage/BackstageItemsManager.d.ts +0 -43
- package/lib/esm/appui-abstract/backstage/BackstageItemsManager.d.ts.map +0 -1
- package/lib/esm/appui-abstract/backstage/BackstageItemsManager.js +0 -132
- package/lib/esm/appui-abstract/backstage/BackstageItemsManager.js.map +0 -1
- package/lib/esm/appui-abstract/items/ProvidedItem.d.ts +0 -12
- package/lib/esm/appui-abstract/items/ProvidedItem.d.ts.map +0 -1
- package/lib/esm/appui-abstract/items/ProvidedItem.js +0 -9
- package/lib/esm/appui-abstract/items/ProvidedItem.js.map +0 -1
- package/lib/esm/appui-abstract/items/StageUsage.d.ts +0 -17
- package/lib/esm/appui-abstract/items/StageUsage.d.ts.map +0 -1
- package/lib/esm/appui-abstract/items/StageUsage.js +0 -22
- package/lib/esm/appui-abstract/items/StageUsage.js.map +0 -1
- package/lib/esm/appui-abstract/statusbar/StatusBarItem.d.ts +0 -129
- package/lib/esm/appui-abstract/statusbar/StatusBarItem.d.ts.map +0 -1
- package/lib/esm/appui-abstract/statusbar/StatusBarItem.js +0 -81
- package/lib/esm/appui-abstract/statusbar/StatusBarItem.js.map +0 -1
- package/lib/esm/appui-abstract/statusbar/StatusBarItemsManager.d.ts +0 -40
- package/lib/esm/appui-abstract/statusbar/StatusBarItemsManager.d.ts.map +0 -1
- package/lib/esm/appui-abstract/statusbar/StatusBarItemsManager.js +0 -132
- package/lib/esm/appui-abstract/statusbar/StatusBarItemsManager.js.map +0 -1
- package/lib/esm/appui-abstract/toolbars/ToolbarItemsManager.d.ts +0 -46
- package/lib/esm/appui-abstract/toolbars/ToolbarItemsManager.d.ts.map +0 -1
- package/lib/esm/appui-abstract/toolbars/ToolbarItemsManager.js +0 -232
- package/lib/esm/appui-abstract/toolbars/ToolbarItemsManager.js.map +0 -1
- package/lib/esm/appui-abstract/widget/AbstractWidgetProps.d.ts +0 -87
- package/lib/esm/appui-abstract/widget/AbstractWidgetProps.d.ts.map +0 -1
- package/lib/esm/appui-abstract/widget/AbstractWidgetProps.js +0 -9
- package/lib/esm/appui-abstract/widget/AbstractWidgetProps.js.map +0 -1
- package/lib/esm/appui-abstract/widget/StagePanel.d.ts +0 -37
- package/lib/esm/appui-abstract/widget/StagePanel.d.ts.map +0 -1
- package/lib/esm/appui-abstract/widget/StagePanel.js +0 -44
- package/lib/esm/appui-abstract/widget/StagePanel.js.map +0 -1
- package/lib/esm/appui-abstract/widget/WidgetState.d.ts +0 -20
- package/lib/esm/appui-abstract/widget/WidgetState.d.ts.map +0 -1
- package/lib/esm/appui-abstract/widget/WidgetState.js +0 -25
- package/lib/esm/appui-abstract/widget/WidgetState.js.map +0 -1
@@ -1,40 +0,0 @@
|
|
1
|
-
/** @packageDocumentation
|
2
|
-
* @module StatusBar
|
3
|
-
*/
|
4
|
-
import { BeEvent } from "@itwin/core-bentley";
|
5
|
-
import { CommonStatusBarItem, StatusBarItemId } from "./StatusBarItem";
|
6
|
-
/** Arguments of [[StatusBarItemsManager.onChanged]] event.
|
7
|
-
* @internal
|
8
|
-
*/
|
9
|
-
export interface StatusBarItemsChangedArgs {
|
10
|
-
readonly items: ReadonlyArray<CommonStatusBarItem>;
|
11
|
-
}
|
12
|
-
/**
|
13
|
-
* Controls status bar items.
|
14
|
-
* @internal
|
15
|
-
*/
|
16
|
-
export declare class StatusBarItemsManager {
|
17
|
-
private _items;
|
18
|
-
constructor(items?: ReadonlyArray<CommonStatusBarItem>);
|
19
|
-
/** Event raised when StatusBar items are changed.
|
20
|
-
* @internal
|
21
|
-
*/
|
22
|
-
readonly onItemsChanged: BeEvent<(args: StatusBarItemsChangedArgs) => void>;
|
23
|
-
private loadItemsInternal;
|
24
|
-
/** load items but do not fire onItemsChanged
|
25
|
-
* @internal
|
26
|
-
*/
|
27
|
-
loadItems(items: ReadonlyArray<CommonStatusBarItem>): void;
|
28
|
-
/** Get an array of the StatusBar items */
|
29
|
-
get items(): ReadonlyArray<CommonStatusBarItem>;
|
30
|
-
set items(items: ReadonlyArray<CommonStatusBarItem>);
|
31
|
-
add(itemOrItems: CommonStatusBarItem | ReadonlyArray<CommonStatusBarItem>): void;
|
32
|
-
/** Remove StatusBar items based on id */
|
33
|
-
remove(itemIdOrItemIds: StatusBarItemId | ReadonlyArray<StatusBarItemId>): void;
|
34
|
-
/** @internal */
|
35
|
-
removeAll(): void;
|
36
|
-
static getSyncIdsOfInterest(items: readonly CommonStatusBarItem[]): string[];
|
37
|
-
private internalRefreshAffectedItems;
|
38
|
-
refreshAffectedItems(eventIds: Set<string>): void;
|
39
|
-
}
|
40
|
-
//# sourceMappingURL=StatusBarItemsManager.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"StatusBarItemsManager.d.ts","sourceRoot":"","sources":["../../../../src/appui-abstract/statusbar/StatusBarItemsManager.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAG9C,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAUvE;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,mBAAmB,CAAC,CAAC;CACpD;AAED;;;GAGG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,MAAM,CAA0C;gBAE5C,KAAK,CAAC,EAAE,aAAa,CAAC,mBAAmB,CAAC;IAKtD;;OAEG;IACH,SAAgB,cAAc,iBAAsB,yBAAyB,KAAK,IAAI,EAAI;IAE1F,OAAO,CAAC,iBAAiB;IAiBzB;;OAEG;IACI,SAAS,CAAC,KAAK,EAAE,aAAa,CAAC,mBAAmB,CAAC;IAI1D,2CAA2C;IAC3C,IAAW,KAAK,IAAI,aAAa,CAAC,mBAAmB,CAAC,CAErD;IAED,IAAW,KAAK,CAAC,KAAK,EAAE,aAAa,CAAC,mBAAmB,CAAC,EAIzD;IAEM,GAAG,CAAC,WAAW,EAAE,mBAAmB,GAAG,aAAa,CAAC,mBAAmB,CAAC;IAiBhF,yCAAyC;IAClC,MAAM,CAAC,eAAe,EAAE,eAAe,GAAG,aAAa,CAAC,eAAe,CAC7E;IAOD,gBAAgB;IACT,SAAS;WAIF,oBAAoB,CAAC,KAAK,EAAE,SAAS,mBAAmB,EAAE,GAAG,MAAM,EAAE;IAcnF,OAAO,CAAC,4BAA4B;IA6B7B,oBAAoB,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC;CAWlD"}
|
@@ -1,132 +0,0 @@
|
|
1
|
-
/*---------------------------------------------------------------------------------------------
|
2
|
-
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
3
|
-
* See LICENSE.md in the project root for license terms and full copyright notice.
|
4
|
-
*--------------------------------------------------------------------------------------------*/
|
5
|
-
/** @packageDocumentation
|
6
|
-
* @module StatusBar
|
7
|
-
*/
|
8
|
-
import { BeEvent } from "@itwin/core-bentley";
|
9
|
-
import { ConditionalBooleanValue } from "../items/ConditionalBooleanValue";
|
10
|
-
import { ConditionalStringValue } from "../items/ConditionalStringValue";
|
11
|
-
const isInstance = (args) => {
|
12
|
-
return !Array.isArray(args);
|
13
|
-
};
|
14
|
-
/**
|
15
|
-
* Controls status bar items.
|
16
|
-
* @internal
|
17
|
-
*/
|
18
|
-
export class StatusBarItemsManager {
|
19
|
-
constructor(items) {
|
20
|
-
this._items = [];
|
21
|
-
/** Event raised when StatusBar items are changed.
|
22
|
-
* @internal
|
23
|
-
*/
|
24
|
-
this.onItemsChanged = new BeEvent();
|
25
|
-
if (items)
|
26
|
-
this.loadItemsInternal(items, true, false);
|
27
|
-
}
|
28
|
-
loadItemsInternal(items, processConditions, sendItemChanged) {
|
29
|
-
if (processConditions && items) {
|
30
|
-
const eventIds = StatusBarItemsManager.getSyncIdsOfInterest(items);
|
31
|
-
if (0 !== eventIds.length) {
|
32
|
-
const { itemsUpdated, updatedItems } = this.internalRefreshAffectedItems(items, new Set(eventIds));
|
33
|
-
// istanbul ignore else
|
34
|
-
if (itemsUpdated)
|
35
|
-
items = updatedItems;
|
36
|
-
}
|
37
|
-
}
|
38
|
-
this._items = items;
|
39
|
-
if (sendItemChanged)
|
40
|
-
this.onItemsChanged.raiseEvent({ items });
|
41
|
-
}
|
42
|
-
/** load items but do not fire onItemsChanged
|
43
|
-
* @internal
|
44
|
-
*/
|
45
|
-
loadItems(items) {
|
46
|
-
this.loadItemsInternal(items, true, false);
|
47
|
-
}
|
48
|
-
/** Get an array of the StatusBar items */
|
49
|
-
get items() {
|
50
|
-
return this._items;
|
51
|
-
}
|
52
|
-
set items(items) {
|
53
|
-
// istanbul ignore else
|
54
|
-
if (items !== this._items)
|
55
|
-
this.loadItemsInternal(items, true, true);
|
56
|
-
}
|
57
|
-
add(itemOrItems) {
|
58
|
-
let itemsToAdd;
|
59
|
-
if (isInstance(itemOrItems))
|
60
|
-
itemsToAdd = [itemOrItems];
|
61
|
-
else {
|
62
|
-
itemsToAdd = itemOrItems.filter((itemToAdd, index) => itemOrItems.findIndex((item) => item.id === itemToAdd.id) === index);
|
63
|
-
}
|
64
|
-
itemsToAdd = itemsToAdd.filter((itemToAdd) => this._items.find((item) => item.id === itemToAdd.id) === undefined);
|
65
|
-
if (itemsToAdd.length === 0)
|
66
|
-
return;
|
67
|
-
const items = [
|
68
|
-
...this._items,
|
69
|
-
...itemsToAdd,
|
70
|
-
];
|
71
|
-
this.items = items;
|
72
|
-
}
|
73
|
-
/** Remove StatusBar items based on id */
|
74
|
-
remove(itemIdOrItemIds) {
|
75
|
-
const items = this._items.filter((item) => {
|
76
|
-
return isInstance(itemIdOrItemIds) ? item.id !== itemIdOrItemIds : !itemIdOrItemIds.find((itemId) => itemId === item.id);
|
77
|
-
});
|
78
|
-
this.items = items;
|
79
|
-
}
|
80
|
-
/** @internal */
|
81
|
-
removeAll() {
|
82
|
-
this._items = [];
|
83
|
-
}
|
84
|
-
static getSyncIdsOfInterest(items) {
|
85
|
-
const eventIds = new Set();
|
86
|
-
items.forEach((item) => {
|
87
|
-
for (const [, entry] of Object.entries(item)) {
|
88
|
-
if (entry instanceof ConditionalBooleanValue) {
|
89
|
-
entry.syncEventIds.forEach((eventId) => eventIds.add(eventId.toLowerCase()));
|
90
|
-
}
|
91
|
-
else /* istanbul ignore else */ if (entry instanceof ConditionalStringValue) {
|
92
|
-
entry.syncEventIds.forEach((eventId) => eventIds.add(eventId.toLowerCase()));
|
93
|
-
}
|
94
|
-
}
|
95
|
-
});
|
96
|
-
return [...eventIds.values()];
|
97
|
-
}
|
98
|
-
internalRefreshAffectedItems(items, eventIds) {
|
99
|
-
// istanbul ignore next
|
100
|
-
if (0 === eventIds.size)
|
101
|
-
return { itemsUpdated: false, updatedItems: [] };
|
102
|
-
let updateRequired = false;
|
103
|
-
const newItems = [];
|
104
|
-
for (const item of items) {
|
105
|
-
const updatedItem = { ...item };
|
106
|
-
for (const [, entry] of Object.entries(updatedItem)) {
|
107
|
-
if (entry instanceof ConditionalBooleanValue) {
|
108
|
-
// istanbul ignore else
|
109
|
-
if (ConditionalBooleanValue.refreshValue(entry, eventIds))
|
110
|
-
updateRequired = true;
|
111
|
-
}
|
112
|
-
else /* istanbul ignore else */ if (entry instanceof ConditionalStringValue) {
|
113
|
-
// istanbul ignore else
|
114
|
-
if (ConditionalStringValue.refreshValue(entry, eventIds))
|
115
|
-
updateRequired = true;
|
116
|
-
}
|
117
|
-
}
|
118
|
-
newItems.push(updatedItem);
|
119
|
-
}
|
120
|
-
return { itemsUpdated: updateRequired, updatedItems: newItems };
|
121
|
-
}
|
122
|
-
refreshAffectedItems(eventIds) {
|
123
|
-
// istanbul ignore next
|
124
|
-
if (0 === eventIds.size)
|
125
|
-
return;
|
126
|
-
const { itemsUpdated, updatedItems } = this.internalRefreshAffectedItems(this.items, eventIds);
|
127
|
-
// istanbul ignore else
|
128
|
-
if (itemsUpdated)
|
129
|
-
this.loadItemsInternal(updatedItems, false, true);
|
130
|
-
}
|
131
|
-
}
|
132
|
-
//# sourceMappingURL=StatusBarItemsManager.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"StatusBarItemsManager.js","sourceRoot":"","sources":["../../../../src/appui-abstract/statusbar/StatusBarItemsManager.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 StatusBar\r\n */\r\n\r\nimport { BeEvent } from \"@itwin/core-bentley\";\r\nimport { ConditionalBooleanValue } from \"../items/ConditionalBooleanValue\";\r\nimport { ConditionalStringValue } from \"../items/ConditionalStringValue\";\r\nimport { CommonStatusBarItem, StatusBarItemId } from \"./StatusBarItem\";\r\n\r\n/* eslint-disable @typescript-eslint/no-deprecated */\r\n\r\ntype InstanceOrArray<T> = T | ReadonlyArray<T>;\r\n\r\nconst isInstance = <T>(args: InstanceOrArray<T>): args is T => {\r\n return !Array.isArray(args);\r\n};\r\n\r\n/** Arguments of [[StatusBarItemsManager.onChanged]] event.\r\n * @internal\r\n */\r\nexport interface StatusBarItemsChangedArgs {\r\n readonly items: ReadonlyArray<CommonStatusBarItem>;\r\n}\r\n\r\n/**\r\n * Controls status bar items.\r\n * @internal\r\n */\r\nexport class StatusBarItemsManager {\r\n private _items: ReadonlyArray<CommonStatusBarItem> = [];\r\n\r\n constructor(items?: ReadonlyArray<CommonStatusBarItem>) {\r\n if (items)\r\n this.loadItemsInternal(items, true, false);\r\n }\r\n\r\n /** Event raised when StatusBar items are changed.\r\n * @internal\r\n */\r\n public readonly onItemsChanged = new BeEvent<(args: StatusBarItemsChangedArgs) => void>();\r\n\r\n private loadItemsInternal(items: ReadonlyArray<CommonStatusBarItem>, processConditions: boolean, sendItemChanged: boolean) {\r\n if (processConditions && items) {\r\n const eventIds = StatusBarItemsManager.getSyncIdsOfInterest(items);\r\n if (0 !== eventIds.length) {\r\n const { itemsUpdated, updatedItems } = this.internalRefreshAffectedItems(items, new Set(eventIds));\r\n\r\n // istanbul ignore else\r\n if (itemsUpdated)\r\n items = updatedItems;\r\n }\r\n }\r\n\r\n this._items = items;\r\n if (sendItemChanged)\r\n this.onItemsChanged.raiseEvent({ items });\r\n }\r\n\r\n /** load items but do not fire onItemsChanged\r\n * @internal\r\n */\r\n public loadItems(items: ReadonlyArray<CommonStatusBarItem>) {\r\n this.loadItemsInternal(items, true, false);\r\n }\r\n\r\n /** Get an array of the StatusBar items */\r\n public get items(): ReadonlyArray<CommonStatusBarItem> {\r\n return this._items;\r\n }\r\n\r\n public set items(items: ReadonlyArray<CommonStatusBarItem>) {\r\n // istanbul ignore else\r\n if (items !== this._items)\r\n this.loadItemsInternal(items, true, true);\r\n }\r\n\r\n public add(itemOrItems: CommonStatusBarItem | ReadonlyArray<CommonStatusBarItem>) {\r\n let itemsToAdd;\r\n if (isInstance(itemOrItems))\r\n itemsToAdd = [itemOrItems];\r\n else {\r\n itemsToAdd = itemOrItems.filter((itemToAdd, index) => itemOrItems.findIndex((item) => item.id === itemToAdd.id) === index);\r\n }\r\n itemsToAdd = itemsToAdd.filter((itemToAdd) => this._items.find((item) => item.id === itemToAdd.id) === undefined);\r\n if (itemsToAdd.length === 0)\r\n return;\r\n const items = [\r\n ...this._items,\r\n ...itemsToAdd,\r\n ];\r\n this.items = items;\r\n }\r\n\r\n /** Remove StatusBar items based on id */\r\n public remove(itemIdOrItemIds: StatusBarItemId | ReadonlyArray<StatusBarItemId\r\n >) {\r\n const items = this._items.filter((item) => {\r\n return isInstance(itemIdOrItemIds) ? item.id !== itemIdOrItemIds : !itemIdOrItemIds.find((itemId) => itemId === item.id);\r\n });\r\n this.items = items;\r\n }\r\n\r\n /** @internal */\r\n public removeAll() {\r\n this._items = [];\r\n }\r\n\r\n public static getSyncIdsOfInterest(items: readonly CommonStatusBarItem[]): string[] {\r\n const eventIds = new Set<string>();\r\n items.forEach((item) => {\r\n for (const [, entry] of Object.entries(item)) {\r\n if (entry instanceof ConditionalBooleanValue) {\r\n entry.syncEventIds.forEach((eventId: string) => eventIds.add(eventId.toLowerCase()));\r\n } else /* istanbul ignore else */ if (entry instanceof ConditionalStringValue) {\r\n entry.syncEventIds.forEach((eventId: string) => eventIds.add(eventId.toLowerCase()));\r\n }\r\n }\r\n });\r\n return [...eventIds.values()];\r\n }\r\n\r\n private internalRefreshAffectedItems(items: readonly CommonStatusBarItem[], eventIds: Set<string>): { itemsUpdated: boolean, updatedItems: CommonStatusBarItem[] } {\r\n // istanbul ignore next\r\n if (0 === eventIds.size)\r\n return { itemsUpdated: false, updatedItems: [] };\r\n\r\n let updateRequired = false;\r\n\r\n const newItems: CommonStatusBarItem[] = [];\r\n for (const item of items) {\r\n const updatedItem = { ...item };\r\n\r\n for (const [, entry] of Object.entries(updatedItem)) {\r\n if (entry instanceof ConditionalBooleanValue) {\r\n // istanbul ignore else\r\n if (ConditionalBooleanValue.refreshValue(entry, eventIds))\r\n updateRequired = true;\r\n } else /* istanbul ignore else */ if (entry instanceof ConditionalStringValue) {\r\n // istanbul ignore else\r\n if (ConditionalStringValue.refreshValue(entry, eventIds))\r\n updateRequired = true;\r\n }\r\n }\r\n\r\n newItems.push(updatedItem);\r\n }\r\n\r\n return { itemsUpdated: updateRequired, updatedItems: newItems };\r\n }\r\n\r\n public refreshAffectedItems(eventIds: Set<string>) {\r\n // istanbul ignore next\r\n if (0 === eventIds.size)\r\n return;\r\n\r\n const { itemsUpdated, updatedItems } = this.internalRefreshAffectedItems(this.items, eventIds);\r\n\r\n // istanbul ignore else\r\n if (itemsUpdated)\r\n this.loadItemsInternal(updatedItems, false, true);\r\n }\r\n}\r\n"]}
|
@@ -1,46 +0,0 @@
|
|
1
|
-
/** @packageDocumentation
|
2
|
-
* @module Toolbar
|
3
|
-
*/
|
4
|
-
import { BeEvent } from "@itwin/core-bentley";
|
5
|
-
import { CommonToolbarItem, ToolbarItemId } from "./ToolbarItem";
|
6
|
-
/** Arguments of [[ToolbarItemsManager.onChanged]] event.
|
7
|
-
* @internal
|
8
|
-
*/
|
9
|
-
export interface ToolbarItemsChangedArgs {
|
10
|
-
readonly items: ReadonlyArray<CommonToolbarItem>;
|
11
|
-
}
|
12
|
-
/**
|
13
|
-
* Controls status bar items.
|
14
|
-
* @internal
|
15
|
-
*/
|
16
|
-
export declare class ToolbarItemsManager {
|
17
|
-
protected _items: ReadonlyArray<CommonToolbarItem>;
|
18
|
-
constructor(items?: ReadonlyArray<CommonToolbarItem>);
|
19
|
-
/** Event raised when Toolbar items are changed.
|
20
|
-
* @internal
|
21
|
-
*/
|
22
|
-
readonly onItemsChanged: BeEvent<(args: ToolbarItemsChangedArgs) => void>;
|
23
|
-
private loadItemsInternal;
|
24
|
-
/** load items but do not fire onItemsChanged
|
25
|
-
* @internal
|
26
|
-
*/
|
27
|
-
loadItems(items: ReadonlyArray<CommonToolbarItem>): void;
|
28
|
-
/** Get an array of the Toolbar items */
|
29
|
-
get items(): ReadonlyArray<CommonToolbarItem>;
|
30
|
-
set items(items: ReadonlyArray<CommonToolbarItem>);
|
31
|
-
add(itemOrItems: CommonToolbarItem | ReadonlyArray<CommonToolbarItem>): void;
|
32
|
-
/** Remove Toolbar items based on id */
|
33
|
-
remove(itemIdOrItemIds: ToolbarItemId | ReadonlyArray<ToolbarItemId>): void;
|
34
|
-
/** @internal */
|
35
|
-
removeAll(): void;
|
36
|
-
private static gatherSyncIds;
|
37
|
-
static getSyncIdsOfInterest(items: readonly CommonToolbarItem[]): string[];
|
38
|
-
private static refreshChildItems;
|
39
|
-
private internalRefreshAffectedItems;
|
40
|
-
refreshAffectedItems(eventIds: Set<string>): void;
|
41
|
-
private static isActiveToolIdRefreshRequiredForChildren;
|
42
|
-
private isActiveToolIdRefreshRequired;
|
43
|
-
private static refreshActiveToolIdInChildItems;
|
44
|
-
setActiveToolId(toolId: string): void;
|
45
|
-
}
|
46
|
-
//# sourceMappingURL=ToolbarItemsManager.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"ToolbarItemsManager.d.ts","sourceRoot":"","sources":["../../../../src/appui-abstract/toolbars/ToolbarItemsManager.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAG9C,OAAO,EAAgB,iBAAiB,EAAe,aAAa,EAAwB,MAAM,eAAe,CAAC;AAUlH;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;CAClD;AAED;;;GAGG;AACH,qBAAa,mBAAmB;IAC9B,SAAS,CAAC,MAAM,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAM;gBAE5C,KAAK,CAAC,EAAE,aAAa,CAAC,iBAAiB,CAAC;IAKpD;;OAEG;IACH,SAAgB,cAAc,iBAAsB,uBAAuB,KAAK,IAAI,EAAI;IAExF,OAAO,CAAC,iBAAiB;IAiBzB;;OAEG;IACI,SAAS,CAAC,KAAK,EAAE,aAAa,CAAC,iBAAiB,CAAC;IAIxD,yCAAyC;IACzC,IAAW,KAAK,IAAI,aAAa,CAAC,iBAAiB,CAAC,CAEnD;IAED,IAAW,KAAK,CAAC,KAAK,EAAE,aAAa,CAAC,iBAAiB,CAAC,EAIvD;IAEM,GAAG,CAAC,WAAW,EAAE,iBAAiB,GAAG,aAAa,CAAC,iBAAiB,CAAC;IAiB5E,uCAAuC;IAChC,MAAM,CAAC,eAAe,EAAE,aAAa,GAAG,aAAa,CAAC,aAAa,CACzE;IAOD,gBAAgB;IACT,SAAS;IAIhB,OAAO,CAAC,MAAM,CAAC,aAAa;WAiBd,oBAAoB,CAAC,KAAK,EAAE,SAAS,iBAAiB,EAAE,GAAG,MAAM,EAAE;IAMjF,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAiChC,OAAO,CAAC,4BAA4B;IAsC7B,oBAAoB,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC;IAYjD,OAAO,CAAC,MAAM,CAAC,wCAAwC;IAcvD,OAAO,CAAC,6BAA6B;IAerC,OAAO,CAAC,MAAM,CAAC,+BAA+B;IAevC,eAAe,CAAC,MAAM,EAAE,MAAM;CAoBtC"}
|
@@ -1,232 +0,0 @@
|
|
1
|
-
/*---------------------------------------------------------------------------------------------
|
2
|
-
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
3
|
-
* See LICENSE.md in the project root for license terms and full copyright notice.
|
4
|
-
*--------------------------------------------------------------------------------------------*/
|
5
|
-
/** @packageDocumentation
|
6
|
-
* @module Toolbar
|
7
|
-
*/
|
8
|
-
import { BeEvent } from "@itwin/core-bentley";
|
9
|
-
import { ConditionalBooleanValue } from "../items/ConditionalBooleanValue";
|
10
|
-
import { ConditionalStringValue } from "../items/ConditionalStringValue";
|
11
|
-
import { ToolbarItemUtilities } from "./ToolbarItem";
|
12
|
-
const isInstance = (args) => {
|
13
|
-
return !Array.isArray(args);
|
14
|
-
};
|
15
|
-
/**
|
16
|
-
* Controls status bar items.
|
17
|
-
* @internal
|
18
|
-
*/
|
19
|
-
export class ToolbarItemsManager {
|
20
|
-
constructor(items) {
|
21
|
-
this._items = [];
|
22
|
-
/** Event raised when Toolbar items are changed.
|
23
|
-
* @internal
|
24
|
-
*/
|
25
|
-
this.onItemsChanged = new BeEvent();
|
26
|
-
if (items)
|
27
|
-
this.loadItemsInternal(items, true, false);
|
28
|
-
}
|
29
|
-
loadItemsInternal(items, processConditions, sendItemChanged) {
|
30
|
-
if (processConditions && items) {
|
31
|
-
const eventIds = ToolbarItemsManager.getSyncIdsOfInterest(items);
|
32
|
-
if (0 !== eventIds.length) {
|
33
|
-
const { itemsUpdated, updatedItems } = this.internalRefreshAffectedItems(items, new Set(eventIds));
|
34
|
-
// istanbul ignore else
|
35
|
-
if (itemsUpdated)
|
36
|
-
items = updatedItems;
|
37
|
-
}
|
38
|
-
}
|
39
|
-
this._items = items;
|
40
|
-
if (sendItemChanged)
|
41
|
-
this.onItemsChanged.raiseEvent({ items });
|
42
|
-
}
|
43
|
-
/** load items but do not fire onItemsChanged
|
44
|
-
* @internal
|
45
|
-
*/
|
46
|
-
loadItems(items) {
|
47
|
-
this.loadItemsInternal(items, true, false);
|
48
|
-
}
|
49
|
-
/** Get an array of the Toolbar items */
|
50
|
-
get items() {
|
51
|
-
return this._items;
|
52
|
-
}
|
53
|
-
set items(items) {
|
54
|
-
// istanbul ignore else
|
55
|
-
if (items !== this._items)
|
56
|
-
this.loadItemsInternal(items, true, true);
|
57
|
-
}
|
58
|
-
add(itemOrItems) {
|
59
|
-
let itemsToAdd;
|
60
|
-
if (isInstance(itemOrItems))
|
61
|
-
itemsToAdd = [itemOrItems];
|
62
|
-
else {
|
63
|
-
itemsToAdd = itemOrItems.filter((itemToAdd, index) => itemOrItems.findIndex((item) => item.id === itemToAdd.id) === index);
|
64
|
-
}
|
65
|
-
itemsToAdd = itemsToAdd.filter((itemToAdd) => this._items.find((item) => item.id === itemToAdd.id) === undefined);
|
66
|
-
if (itemsToAdd.length === 0)
|
67
|
-
return;
|
68
|
-
const items = [
|
69
|
-
...this._items,
|
70
|
-
...itemsToAdd,
|
71
|
-
];
|
72
|
-
this.items = items;
|
73
|
-
}
|
74
|
-
/** Remove Toolbar items based on id */
|
75
|
-
remove(itemIdOrItemIds) {
|
76
|
-
const items = this._items.filter((item) => {
|
77
|
-
return isInstance(itemIdOrItemIds) ? item.id !== itemIdOrItemIds : !itemIdOrItemIds.find((itemId) => itemId === item.id);
|
78
|
-
});
|
79
|
-
this.items = items;
|
80
|
-
}
|
81
|
-
/** @internal */
|
82
|
-
removeAll() {
|
83
|
-
this._items = [];
|
84
|
-
}
|
85
|
-
static gatherSyncIds(eventIds, items) {
|
86
|
-
for (const item of items) {
|
87
|
-
for (const [, entry] of Object.entries(item)) {
|
88
|
-
if (entry instanceof ConditionalBooleanValue) {
|
89
|
-
entry.syncEventIds.forEach((eventId) => eventIds.add(eventId.toLowerCase()));
|
90
|
-
}
|
91
|
-
else /* istanbul ignore else */ if (entry instanceof ConditionalStringValue) {
|
92
|
-
entry.syncEventIds.forEach((eventId) => eventIds.add(eventId.toLowerCase()));
|
93
|
-
}
|
94
|
-
}
|
95
|
-
// istanbul ignore else
|
96
|
-
if (ToolbarItemUtilities.isGroupButton(item)) {
|
97
|
-
this.gatherSyncIds(eventIds, item.items);
|
98
|
-
}
|
99
|
-
}
|
100
|
-
}
|
101
|
-
static getSyncIdsOfInterest(items) {
|
102
|
-
const eventIds = new Set();
|
103
|
-
this.gatherSyncIds(eventIds, items);
|
104
|
-
return [...eventIds.values()];
|
105
|
-
}
|
106
|
-
static refreshChildItems(parentItem, eventIds) {
|
107
|
-
const updatedItems = [];
|
108
|
-
let itemsUpdated = false;
|
109
|
-
for (const item of parentItem.items) {
|
110
|
-
const updatedItem = { ...item };
|
111
|
-
if (ToolbarItemUtilities.isGroupButton(updatedItem)) {
|
112
|
-
const { childrenUpdated, childItems } = this.refreshChildItems(updatedItem, eventIds);
|
113
|
-
// istanbul ignore else
|
114
|
-
if (childrenUpdated) {
|
115
|
-
updatedItem.items = childItems;
|
116
|
-
itemsUpdated = true;
|
117
|
-
}
|
118
|
-
}
|
119
|
-
for (const [, entry] of Object.entries(updatedItem)) {
|
120
|
-
if (entry instanceof ConditionalBooleanValue) {
|
121
|
-
// istanbul ignore else
|
122
|
-
if (ConditionalBooleanValue.refreshValue(entry, eventIds))
|
123
|
-
itemsUpdated = true;
|
124
|
-
}
|
125
|
-
else /* istanbul ignore else */ if (entry instanceof ConditionalStringValue) {
|
126
|
-
// istanbul ignore else
|
127
|
-
if (ConditionalStringValue.refreshValue(entry, eventIds))
|
128
|
-
itemsUpdated = true;
|
129
|
-
}
|
130
|
-
}
|
131
|
-
updatedItems.push(updatedItem);
|
132
|
-
}
|
133
|
-
return { childrenUpdated: itemsUpdated, childItems: updatedItems };
|
134
|
-
}
|
135
|
-
internalRefreshAffectedItems(items, eventIds) {
|
136
|
-
// istanbul ignore next
|
137
|
-
if (0 === eventIds.size)
|
138
|
-
return { itemsUpdated: false, updatedItems: [] };
|
139
|
-
let updateRequired = false;
|
140
|
-
const newItems = [];
|
141
|
-
for (const item of items) {
|
142
|
-
const updatedItem = { ...item };
|
143
|
-
if (ToolbarItemUtilities.isGroupButton(updatedItem)) {
|
144
|
-
const { childrenUpdated, childItems } = ToolbarItemsManager.refreshChildItems(updatedItem, eventIds);
|
145
|
-
// istanbul ignore else
|
146
|
-
if (childrenUpdated) {
|
147
|
-
updatedItem.items = childItems;
|
148
|
-
updateRequired = true;
|
149
|
-
}
|
150
|
-
}
|
151
|
-
for (const [, entry] of Object.entries(updatedItem)) {
|
152
|
-
if (entry instanceof ConditionalBooleanValue) {
|
153
|
-
// istanbul ignore else
|
154
|
-
if (ConditionalBooleanValue.refreshValue(entry, eventIds))
|
155
|
-
updateRequired = true;
|
156
|
-
}
|
157
|
-
else /* istanbul ignore else */ if (entry instanceof ConditionalStringValue) {
|
158
|
-
// istanbul ignore else
|
159
|
-
if (ConditionalStringValue.refreshValue(entry, eventIds))
|
160
|
-
updateRequired = true;
|
161
|
-
}
|
162
|
-
}
|
163
|
-
newItems.push(updatedItem);
|
164
|
-
}
|
165
|
-
return { itemsUpdated: updateRequired, updatedItems: newItems };
|
166
|
-
}
|
167
|
-
refreshAffectedItems(eventIds) {
|
168
|
-
// istanbul ignore next
|
169
|
-
if (0 === eventIds.size)
|
170
|
-
return;
|
171
|
-
const { itemsUpdated, updatedItems } = this.internalRefreshAffectedItems(this.items, eventIds);
|
172
|
-
// istanbul ignore else
|
173
|
-
if (itemsUpdated)
|
174
|
-
this.loadItemsInternal(updatedItems, false, true);
|
175
|
-
}
|
176
|
-
static isActiveToolIdRefreshRequiredForChildren(children, toolId) {
|
177
|
-
for (const item of children) {
|
178
|
-
if (ToolbarItemUtilities.isGroupButton(item)) {
|
179
|
-
if (this.isActiveToolIdRefreshRequiredForChildren(item.items, toolId))
|
180
|
-
return true;
|
181
|
-
}
|
182
|
-
else {
|
183
|
-
const isActive = !!item.isActive;
|
184
|
-
if ((isActive && item.id !== toolId) || (!isActive && item.id === toolId))
|
185
|
-
return true;
|
186
|
-
}
|
187
|
-
}
|
188
|
-
return false;
|
189
|
-
}
|
190
|
-
isActiveToolIdRefreshRequired(toolId) {
|
191
|
-
for (const item of this.items) {
|
192
|
-
if (ToolbarItemUtilities.isGroupButton(item)) {
|
193
|
-
if (ToolbarItemsManager.isActiveToolIdRefreshRequiredForChildren(item.items, toolId))
|
194
|
-
return true;
|
195
|
-
}
|
196
|
-
else {
|
197
|
-
const isActive = !!item.isActive;
|
198
|
-
if ((isActive && item.id !== toolId) || (!isActive && item.id === toolId))
|
199
|
-
return true;
|
200
|
-
}
|
201
|
-
}
|
202
|
-
return false;
|
203
|
-
}
|
204
|
-
static refreshActiveToolIdInChildItems(parentItem, toolId) {
|
205
|
-
const newChildren = [];
|
206
|
-
for (const item of parentItem.items) {
|
207
|
-
const updatedItem = { ...item };
|
208
|
-
if (ToolbarItemUtilities.isGroupButton(updatedItem)) {
|
209
|
-
updatedItem.items = ToolbarItemsManager.refreshActiveToolIdInChildItems(updatedItem, toolId);
|
210
|
-
}
|
211
|
-
updatedItem.isActive = (updatedItem.id === toolId);
|
212
|
-
newChildren.push(updatedItem);
|
213
|
-
}
|
214
|
-
return newChildren;
|
215
|
-
}
|
216
|
-
setActiveToolId(toolId) {
|
217
|
-
// first see if any updates are really necessary
|
218
|
-
if (!this.isActiveToolIdRefreshRequired(toolId))
|
219
|
-
return;
|
220
|
-
const newItems = [];
|
221
|
-
for (const item of this.items) {
|
222
|
-
const updatedItem = { ...item };
|
223
|
-
if (ToolbarItemUtilities.isGroupButton(updatedItem)) {
|
224
|
-
updatedItem.items = ToolbarItemsManager.refreshActiveToolIdInChildItems(updatedItem, toolId);
|
225
|
-
}
|
226
|
-
updatedItem.isActive = (updatedItem.id === toolId);
|
227
|
-
newItems.push(updatedItem);
|
228
|
-
}
|
229
|
-
this.items = newItems;
|
230
|
-
}
|
231
|
-
}
|
232
|
-
//# sourceMappingURL=ToolbarItemsManager.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"ToolbarItemsManager.js","sourceRoot":"","sources":["../../../../src/appui-abstract/toolbars/ToolbarItemsManager.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 Toolbar\r\n */\r\n\r\nimport { BeEvent } from \"@itwin/core-bentley\";\r\nimport { ConditionalBooleanValue } from \"../items/ConditionalBooleanValue\";\r\nimport { ConditionalStringValue } from \"../items/ConditionalStringValue\";\r\nimport { ActionButton, CommonToolbarItem, GroupButton, ToolbarItemId, ToolbarItemUtilities } from \"./ToolbarItem\";\r\n\r\n/* eslint-disable @typescript-eslint/no-deprecated */\r\n\r\ntype InstanceOrArray<T> = T | ReadonlyArray<T>;\r\n\r\nconst isInstance = <T>(args: InstanceOrArray<T>): args is T => {\r\n return !Array.isArray(args);\r\n};\r\n\r\n/** Arguments of [[ToolbarItemsManager.onChanged]] event.\r\n * @internal\r\n */\r\nexport interface ToolbarItemsChangedArgs {\r\n readonly items: ReadonlyArray<CommonToolbarItem>;\r\n}\r\n\r\n/**\r\n * Controls status bar items.\r\n * @internal\r\n */\r\nexport class ToolbarItemsManager {\r\n protected _items: ReadonlyArray<CommonToolbarItem> = [];\r\n\r\n constructor(items?: ReadonlyArray<CommonToolbarItem>) {\r\n if (items)\r\n this.loadItemsInternal(items, true, false);\r\n }\r\n\r\n /** Event raised when Toolbar items are changed.\r\n * @internal\r\n */\r\n public readonly onItemsChanged = new BeEvent<(args: ToolbarItemsChangedArgs) => void>();\r\n\r\n private loadItemsInternal(items: ReadonlyArray<CommonToolbarItem>, processConditions: boolean, sendItemChanged: boolean) {\r\n if (processConditions && items) {\r\n const eventIds = ToolbarItemsManager.getSyncIdsOfInterest(items);\r\n if (0 !== eventIds.length) {\r\n const { itemsUpdated, updatedItems } = this.internalRefreshAffectedItems(items, new Set(eventIds));\r\n\r\n // istanbul ignore else\r\n if (itemsUpdated)\r\n items = updatedItems;\r\n }\r\n }\r\n\r\n this._items = items;\r\n if (sendItemChanged)\r\n this.onItemsChanged.raiseEvent({ items });\r\n }\r\n\r\n /** load items but do not fire onItemsChanged\r\n * @internal\r\n */\r\n public loadItems(items: ReadonlyArray<CommonToolbarItem>) {\r\n this.loadItemsInternal(items, true, false);\r\n }\r\n\r\n /** Get an array of the Toolbar items */\r\n public get items(): ReadonlyArray<CommonToolbarItem> {\r\n return this._items;\r\n }\r\n\r\n public set items(items: ReadonlyArray<CommonToolbarItem>) {\r\n // istanbul ignore else\r\n if (items !== this._items)\r\n this.loadItemsInternal(items, true, true);\r\n }\r\n\r\n public add(itemOrItems: CommonToolbarItem | ReadonlyArray<CommonToolbarItem>) {\r\n let itemsToAdd;\r\n if (isInstance(itemOrItems))\r\n itemsToAdd = [itemOrItems];\r\n else {\r\n itemsToAdd = itemOrItems.filter((itemToAdd, index) => itemOrItems.findIndex((item) => item.id === itemToAdd.id) === index);\r\n }\r\n itemsToAdd = itemsToAdd.filter((itemToAdd) => this._items.find((item) => item.id === itemToAdd.id) === undefined);\r\n if (itemsToAdd.length === 0)\r\n return;\r\n const items = [\r\n ...this._items,\r\n ...itemsToAdd,\r\n ];\r\n this.items = items;\r\n }\r\n\r\n /** Remove Toolbar items based on id */\r\n public remove(itemIdOrItemIds: ToolbarItemId | ReadonlyArray<ToolbarItemId\r\n >) {\r\n const items = this._items.filter((item) => {\r\n return isInstance(itemIdOrItemIds) ? item.id !== itemIdOrItemIds : !itemIdOrItemIds.find((itemId) => itemId === item.id);\r\n });\r\n this.items = items;\r\n }\r\n\r\n /** @internal */\r\n public removeAll() {\r\n this._items = [];\r\n }\r\n\r\n private static gatherSyncIds(eventIds: Set<string>, items: readonly CommonToolbarItem[]) {\r\n for (const item of items) {\r\n for (const [, entry] of Object.entries(item)) {\r\n if (entry instanceof ConditionalBooleanValue) {\r\n entry.syncEventIds.forEach((eventId: string) => eventIds.add(eventId.toLowerCase()));\r\n } else /* istanbul ignore else */ if (entry instanceof ConditionalStringValue) {\r\n entry.syncEventIds.forEach((eventId: string) => eventIds.add(eventId.toLowerCase()));\r\n }\r\n }\r\n\r\n // istanbul ignore else\r\n if (ToolbarItemUtilities.isGroupButton(item)) {\r\n this.gatherSyncIds(eventIds, item.items);\r\n }\r\n }\r\n }\r\n\r\n public static getSyncIdsOfInterest(items: readonly CommonToolbarItem[]): string[] {\r\n const eventIds = new Set<string>();\r\n this.gatherSyncIds(eventIds, items);\r\n return [...eventIds.values()];\r\n }\r\n\r\n private static refreshChildItems(parentItem: GroupButton, eventIds: Set<string>): { childrenUpdated: boolean, childItems: ReadonlyArray<ActionButton | GroupButton> } {\r\n const updatedItems: Array<ActionButton | GroupButton> = [];\r\n let itemsUpdated = false;\r\n\r\n for (const item of parentItem.items) {\r\n const updatedItem = { ...item };\r\n\r\n if (ToolbarItemUtilities.isGroupButton(updatedItem)) {\r\n const { childrenUpdated, childItems } = this.refreshChildItems(updatedItem, eventIds);\r\n // istanbul ignore else\r\n if (childrenUpdated) {\r\n updatedItem.items = childItems;\r\n itemsUpdated = true;\r\n }\r\n }\r\n\r\n for (const [, entry] of Object.entries(updatedItem)) {\r\n if (entry instanceof ConditionalBooleanValue) {\r\n // istanbul ignore else\r\n if (ConditionalBooleanValue.refreshValue(entry, eventIds))\r\n itemsUpdated = true;\r\n } else /* istanbul ignore else */ if (entry instanceof ConditionalStringValue) {\r\n // istanbul ignore else\r\n if (ConditionalStringValue.refreshValue(entry, eventIds))\r\n itemsUpdated = true;\r\n }\r\n }\r\n\r\n updatedItems.push(updatedItem);\r\n }\r\n return { childrenUpdated: itemsUpdated, childItems: updatedItems };\r\n }\r\n\r\n private internalRefreshAffectedItems(items: readonly CommonToolbarItem[], eventIds: Set<string>): { itemsUpdated: boolean, updatedItems: CommonToolbarItem[] } {\r\n // istanbul ignore next\r\n if (0 === eventIds.size)\r\n return { itemsUpdated: false, updatedItems: [] };\r\n\r\n let updateRequired = false;\r\n\r\n const newItems: CommonToolbarItem[] = [];\r\n for (const item of items) {\r\n const updatedItem = { ...item };\r\n\r\n if (ToolbarItemUtilities.isGroupButton(updatedItem)) {\r\n const { childrenUpdated, childItems } = ToolbarItemsManager.refreshChildItems(updatedItem, eventIds);\r\n // istanbul ignore else\r\n if (childrenUpdated) {\r\n updatedItem.items = childItems;\r\n updateRequired = true;\r\n }\r\n }\r\n\r\n for (const [, entry] of Object.entries(updatedItem)) {\r\n if (entry instanceof ConditionalBooleanValue) {\r\n // istanbul ignore else\r\n if (ConditionalBooleanValue.refreshValue(entry, eventIds))\r\n updateRequired = true;\r\n } else /* istanbul ignore else */ if (entry instanceof ConditionalStringValue) {\r\n // istanbul ignore else\r\n if (ConditionalStringValue.refreshValue(entry, eventIds))\r\n updateRequired = true;\r\n }\r\n }\r\n\r\n newItems.push(updatedItem);\r\n }\r\n\r\n return { itemsUpdated: updateRequired, updatedItems: newItems };\r\n }\r\n\r\n public refreshAffectedItems(eventIds: Set<string>) {\r\n // istanbul ignore next\r\n if (0 === eventIds.size)\r\n return;\r\n\r\n const { itemsUpdated, updatedItems } = this.internalRefreshAffectedItems(this.items, eventIds);\r\n\r\n // istanbul ignore else\r\n if (itemsUpdated)\r\n this.loadItemsInternal(updatedItems, false, true);\r\n }\r\n\r\n private static isActiveToolIdRefreshRequiredForChildren(children: ReadonlyArray<ActionButton | GroupButton>, toolId: string): boolean {\r\n for (const item of children) {\r\n if (ToolbarItemUtilities.isGroupButton(item)) {\r\n if (this.isActiveToolIdRefreshRequiredForChildren(item.items, toolId))\r\n return true;\r\n } else {\r\n const isActive = !!item.isActive;\r\n if ((isActive && item.id !== toolId) || (!isActive && item.id === toolId))\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n private isActiveToolIdRefreshRequired(toolId: string): boolean {\r\n for (const item of this.items) {\r\n if (ToolbarItemUtilities.isGroupButton(item)) {\r\n if (ToolbarItemsManager.isActiveToolIdRefreshRequiredForChildren(item.items, toolId))\r\n return true;\r\n } else {\r\n const isActive = !!item.isActive;\r\n if ((isActive && item.id !== toolId) || (!isActive && item.id === toolId))\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n private static refreshActiveToolIdInChildItems(parentItem: GroupButton, toolId: string): Array<ActionButton | GroupButton> {\r\n const newChildren: Array<ActionButton | GroupButton> = [];\r\n for (const item of parentItem.items) {\r\n const updatedItem = { ...item };\r\n\r\n if (ToolbarItemUtilities.isGroupButton(updatedItem)) {\r\n updatedItem.items = ToolbarItemsManager.refreshActiveToolIdInChildItems(updatedItem, toolId);\r\n }\r\n\r\n updatedItem.isActive = (updatedItem.id === toolId);\r\n newChildren.push(updatedItem);\r\n }\r\n return newChildren;\r\n }\r\n\r\n public setActiveToolId(toolId: string) {\r\n // first see if any updates are really necessary\r\n if (!this.isActiveToolIdRefreshRequired(toolId))\r\n return;\r\n\r\n const newItems: CommonToolbarItem[] = [];\r\n for (const item of this.items) {\r\n const updatedItem = { ...item };\r\n\r\n if (ToolbarItemUtilities.isGroupButton(updatedItem)) {\r\n updatedItem.items = ToolbarItemsManager.refreshActiveToolIdInChildItems(updatedItem, toolId);\r\n }\r\n\r\n updatedItem.isActive = (updatedItem.id === toolId);\r\n newItems.push(updatedItem);\r\n }\r\n\r\n this.items = newItems;\r\n }\r\n\r\n}\r\n"]}
|
@@ -1,87 +0,0 @@
|
|
1
|
-
/** @packageDocumentation
|
2
|
-
* @module Widget
|
3
|
-
*/
|
4
|
-
import { ConditionalStringValue } from "../items/ConditionalStringValue";
|
5
|
-
import { BadgeType } from "../items/BadgeType";
|
6
|
-
import { ProvidedItem } from "../items/ProvidedItem";
|
7
|
-
import { WidgetState } from "./WidgetState";
|
8
|
-
/** Properties for a Widget.
|
9
|
-
* @deprecated in 3.6. Use [Widget]($appui-react) instead.
|
10
|
-
* @public
|
11
|
-
*/
|
12
|
-
export interface AbstractWidgetProps extends ProvidedItem {
|
13
|
-
/** Gets the widget content. */
|
14
|
-
readonly getWidgetContent: () => any;
|
15
|
-
/** Name of icon WebFont entry or if specifying an imported SVG symbol use "webSvg:" prefix to imported symbol Id. */
|
16
|
-
readonly icon?: string | ConditionalStringValue;
|
17
|
-
/** Id used to uniquely identify the widget.
|
18
|
-
* @note It is recommended to provide unique widget id to correctly save/restore App layout.
|
19
|
-
*/
|
20
|
-
readonly id?: string;
|
21
|
-
/** Default Widget state. Controls how the Widget is initially displayed. Defaults to WidgetState.Unloaded. */
|
22
|
-
readonly defaultState?: WidgetState;
|
23
|
-
/** if set, component will be considered selected but will NOT display an "active stripe" - defaults to false. Typically used by buttons that toggle between two states. */
|
24
|
-
readonly label?: string | ConditionalStringValue;
|
25
|
-
/** used to explicitly set the tooltip shown by a component. */
|
26
|
-
readonly tooltip?: string | ConditionalStringValue;
|
27
|
-
/** Indicates whether the Widget is free-form or rectangular. Defaults to false for rectangular. The default is false.
|
28
|
-
* @deprecated in 3.0. Free-form widgets are obsolete.
|
29
|
-
* */
|
30
|
-
readonly isFreeform?: boolean;
|
31
|
-
/** Application data attached to the Widget. */
|
32
|
-
readonly applicationData?: any;
|
33
|
-
/** optional data to used by item implementor. */
|
34
|
-
readonly internalData?: Map<string, any>;
|
35
|
-
/** Indicates whether this Widget is for the Tool Settings. */
|
36
|
-
readonly isToolSettings?: boolean;
|
37
|
-
/** Indicates whether this Widget is for the Status Bar. */
|
38
|
-
readonly isStatusBar?: boolean;
|
39
|
-
/** Indicates whether this Widget should fill the available space in the Zone. */
|
40
|
-
readonly fillZone?: boolean;
|
41
|
-
/** Indicates if widget can be popped out to a child window. Defaults to false. */
|
42
|
-
readonly canPopout?: boolean;
|
43
|
-
/** If the widget state is changed to `floating` and the floatingContainerId is defined, the widget will be added to a
|
44
|
-
* floating panel by that name. If no name is specified, a GUID is used. */
|
45
|
-
readonly floatingContainerId?: string;
|
46
|
-
/** Indicates if widget can be in floating state, default to true. */
|
47
|
-
readonly isFloatingStateSupported?: boolean;
|
48
|
-
/** Indicates if floating widget is resizable, defaults to false which caused the widget to be auto-sized.. */
|
49
|
-
readonly isFloatingStateWindowResizable?: boolean;
|
50
|
-
/** Defines that default Top Left position when widget is floated via API calls */
|
51
|
-
readonly defaultFloatingPosition?: {
|
52
|
-
x: number;
|
53
|
-
y: number;
|
54
|
-
};
|
55
|
-
/** Widget priority */
|
56
|
-
readonly priority?: number;
|
57
|
-
/** Defines the SyncUi event Ids that will trigger the stateFunc to run to determine the state of the widget. */
|
58
|
-
readonly syncEventIds?: string[];
|
59
|
-
/** Function executed to determine the state of the widget.
|
60
|
-
* Used by UI 1.0 widgets ONLY.
|
61
|
-
* @deprecated in 3.3. UI 1.0 support will be removed in AppUi 4.0.
|
62
|
-
*/
|
63
|
-
readonly stateFunc?: (state: Readonly<WidgetState>) => WidgetState;
|
64
|
-
/** Badge to be overlaid on the widget tab. */
|
65
|
-
readonly badgeType?: BadgeType;
|
66
|
-
/** Handler for widget state changed event */
|
67
|
-
readonly onWidgetStateChanged?: () => void;
|
68
|
-
/** Save transient DOM state (i.e. scroll offset). */
|
69
|
-
readonly saveTransientState?: () => void;
|
70
|
-
/** Restore transient DOM state.
|
71
|
-
* @note Return true if the state is restored or the Widget will remount.
|
72
|
-
*/
|
73
|
-
readonly restoreTransientState?: () => boolean;
|
74
|
-
/** Optional default size to use when floating a widget. If not specified then the default is to size to content if possible.
|
75
|
-
* Certain widget can't be intrinsically sized and must specify a content. These are typically ones that use a canvas element
|
76
|
-
* internally. */
|
77
|
-
defaultFloatingSize?: {
|
78
|
-
width: number;
|
79
|
-
height: number;
|
80
|
-
};
|
81
|
-
/** Optional prop that tells the widget system to fade this widget out with the rest of the UI when it is in floating state */
|
82
|
-
hideWithUiWhenFloating?: boolean;
|
83
|
-
/** Optional prop specifying which Panel sides can be docking targets for this widget. If this prop is not specified, all sides are allowed.
|
84
|
-
* An empty array is treated the same as an undefined prop, allowing all targets. */
|
85
|
-
readonly allowedPanelTargets?: ReadonlyArray<"left" | "right" | "bottom" | "top">;
|
86
|
-
}
|
87
|
-
//# sourceMappingURL=AbstractWidgetProps.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"AbstractWidgetProps.d.ts","sourceRoot":"","sources":["../../../../src/appui-abstract/widget/AbstractWidgetProps.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C;;;GAGG;AACH,MAAM,WAAW,mBAAoB,SAAQ,YAAY;IACvD,+BAA+B;IAC/B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,GAAG,CAAC;IACrC,qHAAqH;IACrH,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,sBAAsB,CAAC;IAChD;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB,8GAA8G;IAC9G,QAAQ,CAAC,YAAY,CAAC,EAAE,WAAW,CAAC;IACpC,2KAA2K;IAC3K,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,sBAAsB,CAAC;IACjD,+DAA+D;IAC/D,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,sBAAsB,CAAC;IACnD;;SAEK;IACL,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B,+CAA+C;IAC/C,QAAQ,CAAC,eAAe,CAAC,EAAE,GAAG,CAAC;IAC/B,iDAAiD;IACjD,QAAQ,CAAC,YAAY,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACzC,8DAA8D;IAC9D,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAClC,2DAA2D;IAC3D,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC/B,iFAAiF;IACjF,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,kFAAkF;IAClF,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B;+EAC2E;IAC3E,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IACtC,qEAAqE;IACrE,QAAQ,CAAC,wBAAwB,CAAC,EAAE,OAAO,CAAC;IAC5C,8GAA8G;IAC9G,QAAQ,CAAC,8BAA8B,CAAC,EAAE,OAAO,CAAC;IAClD,kFAAkF;IAClF,QAAQ,CAAC,uBAAuB,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5D,sBAAsB;IACtB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,gHAAgH;IAChH,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACjC;;;MAGE;IACF,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,WAAW,CAAC,KAAK,WAAW,CAAC;IACnE,8CAA8C;IAC9C,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;IAC/B,6CAA6C;IAC7C,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3C,qDAAqD;IACrD,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAC;IACzC;;OAEG;IACH,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM,OAAO,CAAC;IAC/C;;qBAEiB;IACjB,mBAAmB,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACxD,8HAA8H;IAC9H,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC;yFACqF;IACrF,QAAQ,CAAC,mBAAmB,CAAC,EAAG,aAAa,CAAC,MAAM,GAAC,OAAO,GAAC,QAAQ,GAAC,KAAK,CAAC,CAAC;CAC9E"}
|
@@ -1,9 +0,0 @@
|
|
1
|
-
/*---------------------------------------------------------------------------------------------
|
2
|
-
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
3
|
-
* See LICENSE.md in the project root for license terms and full copyright notice.
|
4
|
-
*--------------------------------------------------------------------------------------------*/
|
5
|
-
/** @packageDocumentation
|
6
|
-
* @module Widget
|
7
|
-
*/
|
8
|
-
export {};
|
9
|
-
//# sourceMappingURL=AbstractWidgetProps.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"AbstractWidgetProps.js","sourceRoot":"","sources":["../../../../src/appui-abstract/widget/AbstractWidgetProps.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG","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 Widget\r\n */\r\n\r\nimport { ConditionalStringValue } from \"../items/ConditionalStringValue\";\r\nimport { BadgeType } from \"../items/BadgeType\";\r\nimport { ProvidedItem } from \"../items/ProvidedItem\";\r\nimport { WidgetState } from \"./WidgetState\";\r\n\r\n/** Properties for a Widget.\r\n * @deprecated in 3.6. Use [Widget]($appui-react) instead.\r\n * @public\r\n */\r\nexport interface AbstractWidgetProps extends ProvidedItem { // eslint-disable-line @typescript-eslint/no-deprecated\r\n /** Gets the widget content. */\r\n readonly getWidgetContent: () => any;\r\n /** Name of icon WebFont entry or if specifying an imported SVG symbol use \"webSvg:\" prefix to imported symbol Id. */\r\n readonly icon?: string | ConditionalStringValue;\r\n /** Id used to uniquely identify the widget.\r\n * @note It is recommended to provide unique widget id to correctly save/restore App layout.\r\n */\r\n readonly id?: string;\r\n /** Default Widget state. Controls how the Widget is initially displayed. Defaults to WidgetState.Unloaded. */\r\n readonly defaultState?: WidgetState; // eslint-disable-line @typescript-eslint/no-deprecated\r\n /** if set, component will be considered selected but will NOT display an \"active stripe\" - defaults to false. Typically used by buttons that toggle between two states. */\r\n readonly label?: string | ConditionalStringValue;\r\n /** used to explicitly set the tooltip shown by a component. */\r\n readonly tooltip?: string | ConditionalStringValue;\r\n /** Indicates whether the Widget is free-form or rectangular. Defaults to false for rectangular. The default is false.\r\n * @deprecated in 3.0. Free-form widgets are obsolete.\r\n * */\r\n readonly isFreeform?: boolean;\r\n /** Application data attached to the Widget. */\r\n readonly applicationData?: any;\r\n /** optional data to used by item implementor. */\r\n readonly internalData?: Map<string, any>;\r\n /** Indicates whether this Widget is for the Tool Settings. */\r\n readonly isToolSettings?: boolean;\r\n /** Indicates whether this Widget is for the Status Bar. */\r\n readonly isStatusBar?: boolean;\r\n /** Indicates whether this Widget should fill the available space in the Zone. */\r\n readonly fillZone?: boolean;\r\n /** Indicates if widget can be popped out to a child window. Defaults to false. */\r\n readonly canPopout?: boolean;\r\n /** If the widget state is changed to `floating` and the floatingContainerId is defined, the widget will be added to a\r\n * floating panel by that name. If no name is specified, a GUID is used. */\r\n readonly floatingContainerId?: string;\r\n /** Indicates if widget can be in floating state, default to true. */\r\n readonly isFloatingStateSupported?: boolean;\r\n /** Indicates if floating widget is resizable, defaults to false which caused the widget to be auto-sized.. */\r\n readonly isFloatingStateWindowResizable?: boolean;\r\n /** Defines that default Top Left position when widget is floated via API calls */\r\n readonly defaultFloatingPosition?: { x: number, y: number };\r\n /** Widget priority */\r\n readonly priority?: number;\r\n /** Defines the SyncUi event Ids that will trigger the stateFunc to run to determine the state of the widget. */\r\n readonly syncEventIds?: string[];\r\n /** Function executed to determine the state of the widget.\r\n * Used by UI 1.0 widgets ONLY.\r\n * @deprecated in 3.3. UI 1.0 support will be removed in AppUi 4.0.\r\n */\r\n readonly stateFunc?: (state: Readonly<WidgetState>) => WidgetState; // eslint-disable-line @typescript-eslint/no-deprecated\r\n /** Badge to be overlaid on the widget tab. */\r\n readonly badgeType?: BadgeType;\r\n /** Handler for widget state changed event */\r\n readonly onWidgetStateChanged?: () => void;\r\n /** Save transient DOM state (i.e. scroll offset). */\r\n readonly saveTransientState?: () => void;\r\n /** Restore transient DOM state.\r\n * @note Return true if the state is restored or the Widget will remount.\r\n */\r\n readonly restoreTransientState?: () => boolean;\r\n /** Optional default size to use when floating a widget. If not specified then the default is to size to content if possible.\r\n * Certain widget can't be intrinsically sized and must specify a content. These are typically ones that use a canvas element\r\n * internally. */\r\n defaultFloatingSize?: { width: number, height: number };\r\n /** Optional prop that tells the widget system to fade this widget out with the rest of the UI when it is in floating state */\r\n hideWithUiWhenFloating?: boolean;\r\n /** Optional prop specifying which Panel sides can be docking targets for this widget. If this prop is not specified, all sides are allowed.\r\n * An empty array is treated the same as an undefined prop, allowing all targets. */\r\n readonly allowedPanelTargets?: ReadonlyArray<\"left\"|\"right\"|\"bottom\"|\"top\">;\r\n}\r\n"]}
|