@itwin/appui-react 3.2.0-dev.3 → 3.2.0-dev.34
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 +35 -1
- package/lib/cjs/appui-react/UiFramework.d.ts +11 -2
- package/lib/cjs/appui-react/UiFramework.d.ts.map +1 -1
- package/lib/cjs/appui-react/UiFramework.js +20 -3
- package/lib/cjs/appui-react/UiFramework.js.map +1 -1
- package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.js +4 -4
- package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.js.map +1 -1
- package/lib/cjs/appui-react/accudraw/AccuDrawInputField.js +1 -1
- package/lib/cjs/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
- package/lib/cjs/appui-react/accudraw/AccuDrawPopupManager.js +6 -6
- package/lib/cjs/appui-react/accudraw/AccuDrawPopupManager.js.map +1 -1
- package/lib/cjs/appui-react/accudraw/Calculator.d.ts.map +1 -1
- package/lib/cjs/appui-react/accudraw/Calculator.js +3 -2
- package/lib/cjs/appui-react/accudraw/Calculator.js.map +1 -1
- package/lib/cjs/appui-react/backstage/BackstageComposerItem.d.ts.map +1 -1
- package/lib/cjs/appui-react/backstage/BackstageComposerItem.js +4 -2
- package/lib/cjs/appui-react/backstage/BackstageComposerItem.js.map +1 -1
- package/lib/cjs/appui-react/childwindow/ChildWindowManager.js +1 -1
- package/lib/cjs/appui-react/childwindow/ChildWindowManager.js.map +1 -1
- package/lib/cjs/appui-react/configurableui/state.d.ts +5 -0
- package/lib/cjs/appui-react/configurableui/state.d.ts.map +1 -1
- package/lib/cjs/appui-react/configurableui/state.js +7 -0
- package/lib/cjs/appui-react/configurableui/state.js.map +1 -1
- package/lib/cjs/appui-react/frontstage/Frontstage.d.ts +5 -0
- package/lib/cjs/appui-react/frontstage/Frontstage.d.ts.map +1 -1
- package/lib/cjs/appui-react/frontstage/Frontstage.js +9 -1
- package/lib/cjs/appui-react/frontstage/Frontstage.js.map +1 -1
- package/lib/cjs/appui-react/frontstage/FrontstageComposer.d.ts.map +1 -1
- package/lib/cjs/appui-react/frontstage/FrontstageComposer.js +2 -0
- package/lib/cjs/appui-react/frontstage/FrontstageComposer.js.map +1 -1
- package/lib/cjs/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
- package/lib/cjs/appui-react/frontstage/FrontstageDef.js +18 -9
- package/lib/cjs/appui-react/frontstage/FrontstageDef.js.map +1 -1
- package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js +2 -2
- package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
- package/lib/cjs/appui-react/popup/KeyinPalettePanel.js +1 -1
- package/lib/cjs/appui-react/popup/KeyinPalettePanel.js.map +1 -1
- package/lib/cjs/appui-react/redux/FrameworkState.d.ts +1 -1
- package/lib/cjs/appui-react/settings/ui/UiSettingsPage.d.ts.map +1 -1
- package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js +16 -5
- package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
- package/lib/cjs/appui-react/stagepanels/StagePanel.d.ts +1 -1
- package/lib/cjs/appui-react/stagepanels/StagePanel.d.ts.map +1 -1
- package/lib/cjs/appui-react/stagepanels/StagePanel.js.map +1 -1
- package/lib/cjs/appui-react/stagepanels/StagePanelDef.d.ts +6 -4
- package/lib/cjs/appui-react/stagepanels/StagePanelDef.d.ts.map +1 -1
- package/lib/cjs/appui-react/stagepanels/StagePanelDef.js +6 -10
- package/lib/cjs/appui-react/stagepanels/StagePanelDef.js.map +1 -1
- package/lib/cjs/appui-react/statusfields/Indicator.d.ts +3 -3
- package/lib/cjs/appui-react/statusfields/Indicator.d.ts.map +1 -1
- package/lib/cjs/appui-react/statusfields/Indicator.js.map +1 -1
- package/lib/cjs/appui-react/statusfields/tileloading/TileLoadingIndicator.js +1 -1
- package/lib/cjs/appui-react/statusfields/tileloading/TileLoadingIndicator.js.map +1 -1
- package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts.map +1 -1
- package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js +35 -33
- package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
- package/lib/cjs/appui-react/theme/ThemeManager.js +1 -1
- package/lib/cjs/appui-react/theme/ThemeManager.js.map +1 -1
- package/lib/cjs/appui-react/toolbar/Toolbar.js +1 -1
- package/lib/cjs/appui-react/toolbar/Toolbar.js.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts +2 -2
- package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js +4 -3
- package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js.map +1 -1
- package/lib/cjs/appui-react/uistate/AppUiSettings.d.ts +3 -0
- package/lib/cjs/appui-react/uistate/AppUiSettings.d.ts.map +1 -1
- package/lib/cjs/appui-react/uistate/AppUiSettings.js +4 -0
- package/lib/cjs/appui-react/uistate/AppUiSettings.js.map +1 -1
- package/lib/cjs/appui-react/utils/PropsHelper.d.ts +3 -1
- package/lib/cjs/appui-react/utils/PropsHelper.d.ts.map +1 -1
- package/lib/cjs/appui-react/utils/PropsHelper.js +10 -0
- package/lib/cjs/appui-react/utils/PropsHelper.js.map +1 -1
- package/lib/cjs/appui-react/utils/UiShowHideManager.d.ts.map +1 -1
- package/lib/cjs/appui-react/utils/UiShowHideManager.js +1 -0
- package/lib/cjs/appui-react/utils/UiShowHideManager.js.map +1 -1
- package/lib/cjs/appui-react/widget-panels/Frontstage.d.ts +17 -1
- package/lib/cjs/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
- package/lib/cjs/appui-react/widget-panels/Frontstage.js +129 -124
- package/lib/cjs/appui-react/widget-panels/Frontstage.js.map +1 -1
- package/lib/cjs/appui-react/widget-panels/ToolSettings.scss +10 -0
- package/lib/cjs/appui-react/widgets/BackstageAppButton.js +3 -3
- package/lib/cjs/appui-react/widgets/BackstageAppButton.js.map +1 -1
- package/lib/cjs/appui-react/widgets/BasicToolWidget.d.ts +1 -1
- package/lib/cjs/appui-react/widgets/BasicToolWidget.d.ts.map +1 -1
- package/lib/cjs/appui-react/widgets/BasicToolWidget.js.map +1 -1
- package/lib/cjs/appui-react/widgets/WidgetDef.d.ts +8 -1
- package/lib/cjs/appui-react/widgets/WidgetDef.d.ts.map +1 -1
- package/lib/cjs/appui-react/widgets/WidgetDef.js +13 -3
- package/lib/cjs/appui-react/widgets/WidgetDef.js.map +1 -1
- package/lib/cjs/appui-react/widgets/WidgetHost.d.ts +1 -1
- package/lib/cjs/appui-react/widgets/WidgetHost.d.ts.map +1 -1
- package/lib/cjs/appui-react/widgets/WidgetHost.js +56 -7
- package/lib/cjs/appui-react/widgets/WidgetHost.js.map +1 -1
- package/lib/cjs/appui-react/widgets/WidgetManager.d.ts.map +1 -1
- package/lib/cjs/appui-react/widgets/WidgetManager.js +2 -1
- package/lib/cjs/appui-react/widgets/WidgetManager.js.map +1 -1
- package/lib/esm/appui-react/UiFramework.d.ts +11 -2
- package/lib/esm/appui-react/UiFramework.d.ts.map +1 -1
- package/lib/esm/appui-react/UiFramework.js +20 -3
- package/lib/esm/appui-react/UiFramework.js.map +1 -1
- package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.js +4 -4
- package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.js.map +1 -1
- package/lib/esm/appui-react/accudraw/AccuDrawInputField.js +1 -1
- package/lib/esm/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
- package/lib/esm/appui-react/accudraw/AccuDrawPopupManager.js +6 -6
- package/lib/esm/appui-react/accudraw/AccuDrawPopupManager.js.map +1 -1
- package/lib/esm/appui-react/accudraw/Calculator.d.ts.map +1 -1
- package/lib/esm/appui-react/accudraw/Calculator.js +5 -4
- package/lib/esm/appui-react/accudraw/Calculator.js.map +1 -1
- package/lib/esm/appui-react/backstage/BackstageComposerItem.d.ts.map +1 -1
- package/lib/esm/appui-react/backstage/BackstageComposerItem.js +5 -3
- package/lib/esm/appui-react/backstage/BackstageComposerItem.js.map +1 -1
- package/lib/esm/appui-react/childwindow/ChildWindowManager.js +1 -1
- package/lib/esm/appui-react/childwindow/ChildWindowManager.js.map +1 -1
- package/lib/esm/appui-react/configurableui/state.d.ts +5 -0
- package/lib/esm/appui-react/configurableui/state.d.ts.map +1 -1
- package/lib/esm/appui-react/configurableui/state.js +7 -0
- package/lib/esm/appui-react/configurableui/state.js.map +1 -1
- package/lib/esm/appui-react/frontstage/Frontstage.d.ts +5 -0
- package/lib/esm/appui-react/frontstage/Frontstage.d.ts.map +1 -1
- package/lib/esm/appui-react/frontstage/Frontstage.js +7 -0
- package/lib/esm/appui-react/frontstage/Frontstage.js.map +1 -1
- package/lib/esm/appui-react/frontstage/FrontstageComposer.d.ts.map +1 -1
- package/lib/esm/appui-react/frontstage/FrontstageComposer.js +2 -0
- package/lib/esm/appui-react/frontstage/FrontstageComposer.js.map +1 -1
- package/lib/esm/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
- package/lib/esm/appui-react/frontstage/FrontstageDef.js +18 -9
- package/lib/esm/appui-react/frontstage/FrontstageDef.js.map +1 -1
- package/lib/esm/appui-react/frontstage/ModalSettingsStage.js +2 -2
- package/lib/esm/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
- package/lib/esm/appui-react/popup/KeyinPalettePanel.js +1 -1
- package/lib/esm/appui-react/popup/KeyinPalettePanel.js.map +1 -1
- package/lib/esm/appui-react/redux/FrameworkState.d.ts +1 -1
- package/lib/esm/appui-react/settings/ui/UiSettingsPage.d.ts.map +1 -1
- package/lib/esm/appui-react/settings/ui/UiSettingsPage.js +16 -5
- package/lib/esm/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
- package/lib/esm/appui-react/stagepanels/StagePanel.d.ts +1 -1
- package/lib/esm/appui-react/stagepanels/StagePanel.d.ts.map +1 -1
- package/lib/esm/appui-react/stagepanels/StagePanel.js.map +1 -1
- package/lib/esm/appui-react/stagepanels/StagePanelDef.d.ts +6 -4
- package/lib/esm/appui-react/stagepanels/StagePanelDef.d.ts.map +1 -1
- package/lib/esm/appui-react/stagepanels/StagePanelDef.js +6 -10
- package/lib/esm/appui-react/stagepanels/StagePanelDef.js.map +1 -1
- package/lib/esm/appui-react/statusfields/Indicator.d.ts +3 -3
- package/lib/esm/appui-react/statusfields/Indicator.d.ts.map +1 -1
- package/lib/esm/appui-react/statusfields/Indicator.js.map +1 -1
- package/lib/esm/appui-react/statusfields/tileloading/TileLoadingIndicator.js +1 -1
- package/lib/esm/appui-react/statusfields/tileloading/TileLoadingIndicator.js.map +1 -1
- package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts.map +1 -1
- package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js +20 -18
- package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
- package/lib/esm/appui-react/theme/ThemeManager.js +1 -1
- package/lib/esm/appui-react/theme/ThemeManager.js.map +1 -1
- package/lib/esm/appui-react/toolbar/Toolbar.js +1 -1
- package/lib/esm/appui-react/toolbar/Toolbar.js.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts +2 -2
- package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js +4 -3
- package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js.map +1 -1
- package/lib/esm/appui-react/uistate/AppUiSettings.d.ts +3 -0
- package/lib/esm/appui-react/uistate/AppUiSettings.d.ts.map +1 -1
- package/lib/esm/appui-react/uistate/AppUiSettings.js +4 -0
- package/lib/esm/appui-react/uistate/AppUiSettings.js.map +1 -1
- package/lib/esm/appui-react/utils/PropsHelper.d.ts +3 -1
- package/lib/esm/appui-react/utils/PropsHelper.d.ts.map +1 -1
- package/lib/esm/appui-react/utils/PropsHelper.js +11 -1
- package/lib/esm/appui-react/utils/PropsHelper.js.map +1 -1
- package/lib/esm/appui-react/utils/UiShowHideManager.d.ts.map +1 -1
- package/lib/esm/appui-react/utils/UiShowHideManager.js +1 -0
- package/lib/esm/appui-react/utils/UiShowHideManager.js.map +1 -1
- package/lib/esm/appui-react/widget-panels/Frontstage.d.ts +17 -1
- package/lib/esm/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
- package/lib/esm/appui-react/widget-panels/Frontstage.js +130 -125
- package/lib/esm/appui-react/widget-panels/Frontstage.js.map +1 -1
- package/lib/esm/appui-react/widget-panels/ToolSettings.scss +10 -0
- package/lib/esm/appui-react/widgets/BackstageAppButton.js +3 -3
- package/lib/esm/appui-react/widgets/BackstageAppButton.js.map +1 -1
- package/lib/esm/appui-react/widgets/BasicToolWidget.d.ts +1 -1
- package/lib/esm/appui-react/widgets/BasicToolWidget.d.ts.map +1 -1
- package/lib/esm/appui-react/widgets/BasicToolWidget.js.map +1 -1
- package/lib/esm/appui-react/widgets/WidgetDef.d.ts +8 -1
- package/lib/esm/appui-react/widgets/WidgetDef.d.ts.map +1 -1
- package/lib/esm/appui-react/widgets/WidgetDef.js +13 -3
- package/lib/esm/appui-react/widgets/WidgetDef.js.map +1 -1
- package/lib/esm/appui-react/widgets/WidgetHost.d.ts +1 -1
- package/lib/esm/appui-react/widgets/WidgetHost.d.ts.map +1 -1
- package/lib/esm/appui-react/widgets/WidgetHost.js +56 -7
- package/lib/esm/appui-react/widgets/WidgetHost.js.map +1 -1
- package/lib/esm/appui-react/widgets/WidgetManager.d.ts.map +1 -1
- package/lib/esm/appui-react/widgets/WidgetManager.js +2 -1
- package/lib/esm/appui-react/widgets/WidgetManager.js.map +1 -1
- package/lib/public/locales/en/UiFramework.json +3 -1
- package/package.json +34 -34
|
@@ -9,6 +9,7 @@ import { CommandItemDef } from "../shared/CommandItemDef";
|
|
|
9
9
|
import { ItemList } from "../shared/ItemMap";
|
|
10
10
|
import { WidgetControl } from "./WidgetControl";
|
|
11
11
|
import { WidgetProps } from "./WidgetProps";
|
|
12
|
+
import { IconSpec, SizeProps } from "@itwin/core-react";
|
|
12
13
|
/** Widget State Changed Event Args interface.
|
|
13
14
|
* @public
|
|
14
15
|
*/
|
|
@@ -102,11 +103,13 @@ export declare class WidgetDef {
|
|
|
102
103
|
private _widgetType;
|
|
103
104
|
private _applicationData?;
|
|
104
105
|
private _iconSpec?;
|
|
106
|
+
private _internalData?;
|
|
105
107
|
private _badgeType?;
|
|
106
108
|
private _onWidgetStateChanged?;
|
|
107
109
|
private _saveTransientState?;
|
|
108
110
|
private _restoreTransientState?;
|
|
109
111
|
private _preferredPanelSize;
|
|
112
|
+
private _defaultFloatingSize;
|
|
110
113
|
private _canPopout?;
|
|
111
114
|
private _floatingContainerId?;
|
|
112
115
|
private _defaultFloatingPosition;
|
|
@@ -127,7 +130,8 @@ export declare class WidgetDef {
|
|
|
127
130
|
get stateFunc(): WidgetStateFunc | undefined;
|
|
128
131
|
get applicationData(): any | undefined;
|
|
129
132
|
get isFloating(): boolean;
|
|
130
|
-
get iconSpec():
|
|
133
|
+
get iconSpec(): IconSpec;
|
|
134
|
+
set iconSpec(spec: IconSpec);
|
|
131
135
|
get badgeType(): BadgeType | undefined;
|
|
132
136
|
get initialProps(): WidgetProps | undefined;
|
|
133
137
|
get widgetType(): WidgetType;
|
|
@@ -139,6 +143,9 @@ export declare class WidgetDef {
|
|
|
139
143
|
get defaultFloatingPosition(): PointProps | undefined;
|
|
140
144
|
set defaultFloatingPosition(position: PointProps | undefined);
|
|
141
145
|
/** @internal */
|
|
146
|
+
get defaultFloatingSize(): SizeProps | undefined;
|
|
147
|
+
set defaultFloatingSize(size: SizeProps | undefined);
|
|
148
|
+
/** @internal */
|
|
142
149
|
get defaultState(): WidgetState;
|
|
143
150
|
constructor(widgetProps: WidgetProps);
|
|
144
151
|
static initializeFromWidgetProps(widgetProps: WidgetProps, me: WidgetDef): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WidgetDef.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/widgets/WidgetDef.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAE,sBAAsB,EAAE,UAAU,EAAE,YAAY,EAAW,OAAO,EAAmB,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzK,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAA0B,gCAAgC,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAC;AAG9I,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAI7C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"WidgetDef.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/widgets/WidgetDef.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAE,sBAAsB,EAAE,UAAU,EAAE,YAAY,EAAW,OAAO,EAAmB,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzK,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAA0B,gCAAgC,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAC;AAG9I,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAI7C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAc,QAAQ,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAUpE;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,WAAW,CAAC;CAC1B;AAED;;GAEG;AACH,qBAAa,uBAAwB,SAAQ,OAAO,CAAC,2BAA2B,CAAC;CAAI;AAErF,gBAAgB;AAChB,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,SAAS,CAAC;CACtB;AAED,gBAAgB;AAChB,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,SAAS,CAAC;CACtB;AAED;;GAEG;AACH,oBAAY,UAAU;IACpB,IAAI,IAAA;IACJ,UAAU,IAAA;IACV,QAAQ,IAAA;IACR,WAAW,IAAA;IACX,YAAY,IAAA;IACZ,SAAS,IAAA;CACV;AAED;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,WAAW;IACrD,mBAAmB,CAAC,EAAE,SAAS,CAAC;IAChC,iBAAiB,CAAC,EAAE,SAAS,CAAC;IAE9B,eAAe,CAAC,EAAE,QAAQ,CAAC;IAC3B,aAAa,CAAC,EAAE,QAAQ,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,eAAgB,SAAQ,kBAAkB;IACzD,SAAS,CAAC,EAAE,cAAc,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,qBAAsB,SAAQ,kBAAkB;IAC/D,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,oBAAY,cAAc,GAAG,WAAW,GAAG,eAAe,GAAG,qBAAqB,CAAC;AAEnF;;GAEG;AACH,oBAAY,eAAe,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,WAAW,CAAC,KAAK,WAAW,CAAC;AAE5E,gBAAgB;AAChB,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAID;;GAEG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAC,IAAI,CAAK;IACxB,OAAO,CAAC,MAAM,CAAsD;IACpE,OAAO,CAAC,QAAQ,CAAsD;IACtE,OAAO,CAAC,gBAAgB,CAAkB;IAC1C,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,aAAa,CAAqC;IAC1D,OAAO,CAAC,MAAM,CAAqC;IACnD,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,QAAQ,CAAoE;IACpF,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,yBAAyB,CAAkB;IACnD,OAAO,CAAC,+BAA+B,CAAiB;IACxD,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,YAAY,CAAkB;IACtC,OAAO,CAAC,aAAa,CAAkB;IACvC,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,UAAU,CAAC,CAAkB;IACrC,OAAO,CAAC,WAAW,CAAsC;IACzD,OAAO,CAAC,gBAAgB,CAAC,CAAM;IAC/B,OAAO,CAAC,SAAS,CAAC,CAAoD;IACtE,OAAO,CAAC,aAAa,CAAC,CAAkB;IACxC,OAAO,CAAC,UAAU,CAAC,CAAY;IAC/B,OAAO,CAAC,qBAAqB,CAAC,CAAa;IAC3C,OAAO,CAAC,mBAAmB,CAAC,CAAa;IACzC,OAAO,CAAC,sBAAsB,CAAC,CAAgB;IAC/C,OAAO,CAAC,mBAAmB,CAA4B;IACvD,OAAO,CAAC,oBAAoB,CAAwB;IACpD,OAAO,CAAC,UAAU,CAAC,CAAU;IAC7B,OAAO,CAAC,oBAAoB,CAAC,CAAS;IACtC,OAAO,CAAC,wBAAwB,CAAyB;IACzD,OAAO,CAAC,aAAa,CAAC,CAAc;IAEpC,OAAO,CAAC,YAAY,CAKlB;IAEF,IAAW,KAAK,IAAI,WAAW,CAY9B;IAED,IAAW,EAAE,IAAI,MAAM,CAAqB;IAC5C,IAAW,OAAO,IAAI,MAAM,GAAG,gCAAgC,GAAG,SAAS,CAA0B;IACrG,IAAW,QAAQ,IAAI,MAAM,CAA2B;IACxD,IAAW,UAAU,IAAI,OAAO,CAA6B;IAC7D,IAAW,wBAAwB,IAAI,OAAO,CAA2C;IACzF,IAAW,8BAA8B,IAAI,OAAO,CAAiD;IACrG,IAAW,cAAc,IAAI,OAAO,CAAiC;IACrE,IAAW,WAAW,IAAI,OAAO,CAA8B;IAC/D,IAAW,YAAY,IAAI,OAAO,CAA+B;IACjE,IAAW,QAAQ,IAAI,OAAO,CAA2B;IACzD,IAAW,YAAY,IAAI,MAAM,EAAE,CAA+B;IAClE,IAAW,SAAS,IAAI,eAAe,GAAG,SAAS,CAA4B;IAC/E,IAAW,eAAe,IAAI,GAAG,GAAG,SAAS,CAAkC;IAC/E,IAAW,UAAU,IAAI,OAAO,CAAgD;IAChF,IAAW,QAAQ,IAAI,QAAQ,CAA0I;IACzK,IAAW,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAsG;IACxI,IAAW,SAAS,IAAI,SAAS,GAAG,SAAS,CAA4B;IACzE,IAAW,YAAY,IAAI,WAAW,GAAG,SAAS,CAA+B;IAEjF,IAAW,UAAU,IAAI,UAAU,CAA6B;IAChE,IAAW,UAAU,CAAC,IAAI,EAAE,UAAU,EAA8B;IAEpE,gBAAgB;IAChB,IAAW,WAAW,IACc,WAAW,CADO;IACtD,IAAW,WAAW,CAAC,WAAW,EAAE,WAAW,EAAsC;IAErF,gBAAgB;IAChB,IAAW,uBAAuB,IACW,UAAU,GAAG,SAAS,CADW;IAC9E,IAAW,uBAAuB,CAAC,QAAQ,EAAE,UAAU,GAAG,SAAS,EAA+C;IAElH,gBAAgB;IAChB,IAAW,mBAAmB,IACO,SAAS,GAAG,SAAS,CADY;IACtE,IAAW,mBAAmB,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS,EAAuC;IAEjG,gBAAgB;IAChB,IAAW,YAAY,gBAAiC;gBAE5C,WAAW,EAAE,WAAW;WAWtB,yBAAyB,CAAC,WAAW,EAAE,WAAW,EAAE,EAAE,EAAE,SAAS;WAyEjE,kCAAkC,CAAC,mBAAmB,EAAE,mBAAmB,GAAG,WAAW;IAMhG,gBAAgB,CAAC,KAAK,EAAE,WAAW;IAQ1C,OAAO,CAAC,kBAAkB,CASxB;IAEF,aAAa;IACb,IAAW,kBAAkB,8BAE5B;IAED,2BAA2B;IAC3B,IAAW,KAAK,IAAI,MAAM,CAEzB;IAED;;OAEG;IACI,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,sBAAsB,GAAG,YAAY;IAOjE,6BAA6B;IAC7B,IAAW,OAAO,IAAI,MAAM,CAE3B;IAED;;OAEG;IACI,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,sBAAsB,GAAG,YAAY;IAInE,IAAW,aAAa,IAAI,aAAa,GAAG,SAAS,CAEpD;IAEM,gBAAgB,CAAC,IAAI,EAAE,yBAAyB,GAAG,aAAa,GAAG,SAAS;IAqCnF,IAAW,SAAS,IAAI,KAAK,CAAC,SAAS,CAUtC;IAED,IAAW,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,EAEzC;IAEM,cAAc,CAAC,QAAQ,EAAE,WAAW,GAAG,IAAI;IAU3C,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS;IAI9C,IAAW,SAAS,IAAI,OAAO,GAAG,SAAS,CAE1C;IAEM,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS;IAIvD,IAAW,mBAAmB,IAAI,MAAM,GAAG,SAAS,CAEnD;IAEM,OAAO,IAAI,OAAO;IAIzB,IAAW,SAAS,IAAI,OAAO,CAE9B;IAED,IAAW,WAAW,IAAI,WAAW,CAEpC;IAED,IAAW,QAAQ,IAAI,OAAO,CAE7B;IAEM,oBAAoB,IAAI,IAAI;IAQnC,kEAAkE;IAC3D,kBAAkB,IAAI,IAAI;IAKjC;;OAEG;IACI,qBAAqB,IAAI,OAAO;IAavC;;;OAGG;IACI,IAAI;IAIX;;OAEG;IACI,MAAM;CAGd"}
|
|
@@ -16,6 +16,7 @@ const SyncUiEventDispatcher_1 = require("../syncui/SyncUiEventDispatcher");
|
|
|
16
16
|
const UiFramework_1 = require("../UiFramework");
|
|
17
17
|
const PropsHelper_1 = require("../utils/PropsHelper");
|
|
18
18
|
const StatusBarWidgetComposerControl_1 = require("./StatusBarWidgetComposerControl");
|
|
19
|
+
const core_react_1 = require("@itwin/core-react");
|
|
19
20
|
const widgetStateNameMap = new Map([
|
|
20
21
|
[appui_abstract_1.WidgetState.Closed, "Closed"],
|
|
21
22
|
[appui_abstract_1.WidgetState.Floating, "Floating"],
|
|
@@ -90,8 +91,9 @@ class WidgetDef {
|
|
|
90
91
|
if ("1" === UiFramework_1.UiFramework.uiVersion)
|
|
91
92
|
return this._state;
|
|
92
93
|
const frontstageDef = FrontstageManager_1.FrontstageManager.activeFrontstageDef;
|
|
93
|
-
if (frontstageDef
|
|
94
|
+
if (frontstageDef && frontstageDef.findWidgetDef(this.id)) {
|
|
94
95
|
const currentState = frontstageDef.getWidgetCurrentState(this);
|
|
96
|
+
// istanbul ignore else
|
|
95
97
|
if (undefined !== currentState)
|
|
96
98
|
return currentState;
|
|
97
99
|
}
|
|
@@ -111,7 +113,8 @@ class WidgetDef {
|
|
|
111
113
|
get stateFunc() { return this._stateFunc; }
|
|
112
114
|
get applicationData() { return this._applicationData; }
|
|
113
115
|
get isFloating() { return this.state === appui_abstract_1.WidgetState.Floating; }
|
|
114
|
-
get iconSpec() { return this._iconSpec; }
|
|
116
|
+
get iconSpec() { return this._iconSpec === core_react_1.IconHelper.reactIconKey ? core_react_1.IconHelper.getIconReactNode(this._iconSpec, this._internalData) : this._iconSpec; }
|
|
117
|
+
set iconSpec(spec) { this._iconSpec = this._internalData ? core_react_1.IconHelper.getIconData(spec, this._internalData) : spec; }
|
|
115
118
|
get badgeType() { return this._badgeType; }
|
|
116
119
|
get initialProps() { return this._initialProps; }
|
|
117
120
|
get widgetType() { return this._widgetType; }
|
|
@@ -123,6 +126,9 @@ class WidgetDef {
|
|
|
123
126
|
get defaultFloatingPosition() { return this._defaultFloatingPosition; }
|
|
124
127
|
set defaultFloatingPosition(position) { this._defaultFloatingPosition = position; }
|
|
125
128
|
/** @internal */
|
|
129
|
+
get defaultFloatingSize() { return this._defaultFloatingSize; }
|
|
130
|
+
set defaultFloatingSize(size) { this._defaultFloatingSize = size; }
|
|
131
|
+
/** @internal */
|
|
126
132
|
get defaultState() { return this._defaultState; }
|
|
127
133
|
static initializeFromWidgetProps(widgetProps, me) {
|
|
128
134
|
me._initialProps = widgetProps;
|
|
@@ -145,6 +151,7 @@ class WidgetDef {
|
|
|
145
151
|
me._classId = widgetProps.classId;
|
|
146
152
|
if (widgetProps.defaultState !== undefined) {
|
|
147
153
|
me._defaultState = widgetProps.defaultState;
|
|
154
|
+
// istanbul ignore next
|
|
148
155
|
if ("1" === UiFramework_1.UiFramework.uiVersion)
|
|
149
156
|
me._state = widgetProps.defaultState === appui_abstract_1.WidgetState.Floating ? appui_abstract_1.WidgetState.Open : widgetProps.defaultState;
|
|
150
157
|
}
|
|
@@ -168,12 +175,15 @@ class WidgetDef {
|
|
|
168
175
|
me._widgetReactNode = widgetProps.element;
|
|
169
176
|
if (widgetProps.iconSpec !== undefined)
|
|
170
177
|
me._iconSpec = widgetProps.iconSpec;
|
|
178
|
+
if (widgetProps.internalData)
|
|
179
|
+
me._internalData = widgetProps.internalData;
|
|
171
180
|
// istanbul ignore if
|
|
172
|
-
if (widgetProps.icon !== undefined)
|
|
181
|
+
if (widgetProps.icon !== undefined && me._iconSpec === undefined)
|
|
173
182
|
me._iconSpec = widgetProps.icon;
|
|
174
183
|
if (widgetProps.badgeType !== undefined)
|
|
175
184
|
me._badgeType = widgetProps.badgeType;
|
|
176
185
|
me._preferredPanelSize = widgetProps.preferredPanelSize;
|
|
186
|
+
me._defaultFloatingSize = widgetProps.defaultFloatingSize;
|
|
177
187
|
me._onWidgetStateChanged = widgetProps.onWidgetStateChanged;
|
|
178
188
|
me._saveTransientState = widgetProps.saveTransientState;
|
|
179
189
|
me._restoreTransientState = widgetProps.restoreTransientState;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WidgetDef.js","sourceRoot":"","sources":["../../../../src/appui-react/widgets/WidgetDef.tsx"],"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 Widget\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { AbstractWidgetProps, BadgeType, ConditionalStringValue, PointProps, StringGetter, UiError, UiEvent, UiSyncEventArgs, WidgetState } from \"@itwin/appui-abstract\";\r\nimport { Direction, PanelSide } from \"@itwin/appui-layout-react\";\r\nimport { ConfigurableCreateInfo, ConfigurableUiControlConstructor, ConfigurableUiControlType } from \"../configurableui/ConfigurableUiControl\";\r\nimport { ConfigurableUiManager } from \"../configurableui/ConfigurableUiManager\";\r\nimport { FrontstageManager } from \"../frontstage/FrontstageManager\";\r\nimport { CommandItemDef } from \"../shared/CommandItemDef\";\r\nimport { ItemList } from \"../shared/ItemMap\";\r\nimport { SyncUiEventDispatcher } from \"../syncui/SyncUiEventDispatcher\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { PropsHelper } from \"../utils/PropsHelper\";\r\nimport { WidgetControl } from \"./WidgetControl\";\r\nimport { WidgetProps } from \"./WidgetProps\";\r\nimport { StatusBarWidgetComposerControl } from \"./StatusBarWidgetComposerControl\";\r\n\r\nconst widgetStateNameMap = new Map<WidgetState, string>([\r\n [WidgetState.Closed, \"Closed\"],\r\n [WidgetState.Floating, \"Floating\"],\r\n [WidgetState.Hidden, \"Hidden\"],\r\n [WidgetState.Open, \"Open\"],\r\n [WidgetState.Unloaded, \"Unloaded\"],\r\n]);\r\n\r\n/** Widget State Changed Event Args interface.\r\n * @public\r\n */\r\nexport interface WidgetStateChangedEventArgs {\r\n widgetDef: WidgetDef;\r\n widgetState: WidgetState;\r\n}\r\n\r\n/** Widget State Changed Event class.\r\n * @public\r\n */\r\nexport class WidgetStateChangedEvent extends UiEvent<WidgetStateChangedEventArgs> { }\r\n\r\n/** @internal */\r\nexport interface WidgetChangedEventArgs {\r\n widgetDef: WidgetDef;\r\n}\r\n\r\n/** @internal */\r\nexport interface WidgetEventArgs {\r\n widgetDef: WidgetDef;\r\n}\r\n\r\n/** Widget type enum.\r\n * @public\r\n */\r\nexport enum WidgetType {\r\n Tool,\r\n Navigation,\r\n FreeFrom,\r\n Rectangular,\r\n ToolSettings,\r\n StatusBar,\r\n}\r\n\r\n/** Properties for a Toolbar Widget.\r\n * @public\r\n */\r\nexport interface ToolbarWidgetProps extends WidgetProps {\r\n horizontalDirection?: Direction; // eslint-disable-line deprecation/deprecation\r\n verticalDirection?: Direction; // eslint-disable-line deprecation/deprecation\r\n\r\n horizontalItems?: ItemList;\r\n verticalItems?: ItemList;\r\n}\r\n\r\n/** Properties for a Tool Widget.\r\n * @public\r\n */\r\nexport interface ToolWidgetProps extends ToolbarWidgetProps {\r\n appButton?: CommandItemDef;\r\n}\r\n\r\n/** Properties for a Navigation Widget.\r\n * @public\r\n */\r\nexport interface NavigationWidgetProps extends ToolbarWidgetProps {\r\n navigationAidId?: string;\r\n}\r\n\r\n/** Union of all Widget properties.\r\n * @public\r\n */\r\nexport type AnyWidgetProps = WidgetProps | ToolWidgetProps | NavigationWidgetProps;\r\n\r\n/** Prototype for WidgetDef StateFunc (UI 1.0 only deprecate ???)\r\n * @public\r\n */\r\nexport type WidgetStateFunc = (state: Readonly<WidgetState>) => WidgetState;\r\n\r\n/** @internal */\r\nexport interface TabLocation {\r\n widgetId: string;\r\n widgetIndex: number;\r\n side: PanelSide;\r\n tabIndex: number;\r\n}\r\n\r\n// -----------------------------------------------------------------------------\r\n\r\n/** A Widget Definition in the 9-Zone Layout system.\r\n * @public\r\n */\r\nexport class WidgetDef {\r\n private static _sId = 0;\r\n private _label: string | ConditionalStringValue | StringGetter = \"\";\r\n private _tooltip: string | ConditionalStringValue | StringGetter = \"\";\r\n private _widgetReactNode: React.ReactNode;\r\n private _widgetControl!: WidgetControl;\r\n private _defaultState: WidgetState = WidgetState.Unloaded;\r\n private _state: WidgetState = WidgetState.Unloaded;\r\n private _id: string;\r\n private _classId: string | ConfigurableUiControlConstructor | undefined = undefined;\r\n private _priority: number = 0;\r\n private _isFreeform: boolean = false;\r\n private _isFloatingStateSupported: boolean = false;\r\n private _isFloatingStateWindowResizable: boolean = true;\r\n private _isToolSettings: boolean = false;\r\n private _isStatusBar: boolean = false;\r\n private _stateChanged: boolean = false;\r\n private _fillZone: boolean = false;\r\n private _syncEventIds: string[] = [];\r\n private _stateFunc?: WidgetStateFunc;\r\n private _widgetType: WidgetType = WidgetType.Rectangular;\r\n private _applicationData?: any;\r\n private _iconSpec?: string | ConditionalStringValue | React.ReactNode;\r\n private _badgeType?: BadgeType;\r\n private _onWidgetStateChanged?: () => void;\r\n private _saveTransientState?: () => void;\r\n private _restoreTransientState?: () => boolean;\r\n private _preferredPanelSize: \"fit-content\" | undefined;\r\n private _canPopout?: boolean;\r\n private _floatingContainerId?: string;\r\n private _defaultFloatingPosition: PointProps | undefined;\r\n private _initialProps?: WidgetProps;\r\n\r\n private _tabLocation: TabLocation = {\r\n side: \"left\",\r\n tabIndex: 0,\r\n widgetId: \"\",\r\n widgetIndex: 0,\r\n };\r\n\r\n public get state(): WidgetState {\r\n if (\"1\" === UiFramework.uiVersion)\r\n return this._state;\r\n\r\n const frontstageDef = FrontstageManager.activeFrontstageDef;\r\n if (frontstageDef?.findWidgetDef(this.id)) {\r\n const currentState = frontstageDef.getWidgetCurrentState(this);\r\n if (undefined !== currentState)\r\n return currentState;\r\n }\r\n return this.defaultState;\r\n }\r\n\r\n public get id(): string { return this._id; }\r\n public get classId(): string | ConfigurableUiControlConstructor | undefined { return this._classId; }\r\n public get priority(): number { return this._priority; }\r\n public get isFreeform(): boolean { return this._isFreeform; }\r\n public get isFloatingStateSupported(): boolean { return this._isFloatingStateSupported; }\r\n public get isFloatingStateWindowResizable(): boolean { return this._isFloatingStateWindowResizable; }\r\n public get isToolSettings(): boolean { return this._isToolSettings; }\r\n public get isStatusBar(): boolean { return this._isStatusBar; }\r\n public get stateChanged(): boolean { return this._stateChanged; }\r\n public get fillZone(): boolean { return this._fillZone; }\r\n public get syncEventIds(): string[] { return this._syncEventIds; }\r\n public get stateFunc(): WidgetStateFunc | undefined { return this._stateFunc; }\r\n public get applicationData(): any | undefined { return this._applicationData; }\r\n public get isFloating(): boolean { return this.state === WidgetState.Floating; }\r\n public get iconSpec(): string | ConditionalStringValue | React.ReactNode { return this._iconSpec; }\r\n public get badgeType(): BadgeType | undefined { return this._badgeType; }\r\n public get initialProps(): WidgetProps | undefined { return this._initialProps; }\r\n\r\n public get widgetType(): WidgetType { return this._widgetType; }\r\n public set widgetType(type: WidgetType) { this._widgetType = type; }\r\n\r\n /** @internal */\r\n public get tabLocation() { return this._tabLocation; }\r\n public set tabLocation(tabLocation: TabLocation) { this._tabLocation = tabLocation; }\r\n\r\n /** @internal */\r\n public get defaultFloatingPosition() { return this._defaultFloatingPosition; }\r\n public set defaultFloatingPosition(position: PointProps | undefined) { this._defaultFloatingPosition = position; }\r\n\r\n /** @internal */\r\n public get defaultState() { return this._defaultState; }\r\n\r\n constructor(widgetProps: WidgetProps) {\r\n if (widgetProps.id !== undefined)\r\n this._id = widgetProps.id;\r\n else {\r\n WidgetDef._sId++;\r\n this._id = `Widget-${WidgetDef._sId}`;\r\n }\r\n\r\n WidgetDef.initializeFromWidgetProps(widgetProps, this);\r\n }\r\n\r\n public static initializeFromWidgetProps(widgetProps: WidgetProps, me: WidgetDef) {\r\n me._initialProps = widgetProps;\r\n if (widgetProps.label)\r\n me.setLabel(widgetProps.label);\r\n else if (widgetProps.labelKey)\r\n me._label = UiFramework.localization.getLocalizedString(widgetProps.labelKey);\r\n\r\n me.setCanPopout(widgetProps.canPopout);\r\n me.setFloatingContainerId(widgetProps.floatingContainerId);\r\n me.defaultFloatingPosition = widgetProps.defaultFloatingPosition ? widgetProps.defaultFloatingPosition as PointProps : undefined;\r\n\r\n if (widgetProps.priority !== undefined)\r\n me._priority = widgetProps.priority;\r\n\r\n if (widgetProps.tooltip)\r\n me.setTooltip(widgetProps.tooltip);\r\n else if (widgetProps.tooltipKey)\r\n me._tooltip = UiFramework.localization.getLocalizedString(widgetProps.tooltipKey);\r\n\r\n if (widgetProps.control !== undefined)\r\n me._classId = widgetProps.control;\r\n else if (widgetProps.classId !== undefined)\r\n me._classId = widgetProps.classId;\r\n\r\n if (widgetProps.defaultState !== undefined) {\r\n me._defaultState = widgetProps.defaultState;\r\n if (\"1\" === UiFramework.uiVersion)\r\n me._state = widgetProps.defaultState === WidgetState.Floating ? WidgetState.Open : widgetProps.defaultState;\r\n }\r\n\r\n if (widgetProps.isFreeform !== undefined) {\r\n me._isFreeform = widgetProps.isFreeform;\r\n me._widgetType = me.isFreeform ? WidgetType.FreeFrom : WidgetType.Rectangular;\r\n }\r\n\r\n if (widgetProps.isFloatingStateSupported !== undefined)\r\n me._isFloatingStateSupported = widgetProps.isFloatingStateSupported;\r\n if (widgetProps.isFloatingStateWindowResizable !== undefined)\r\n me._isFloatingStateWindowResizable = widgetProps.isFloatingStateWindowResizable;\r\n if (widgetProps.isToolSettings !== undefined)\r\n me._isToolSettings = widgetProps.isToolSettings;\r\n if (widgetProps.isStatusBar !== undefined)\r\n me._isStatusBar = widgetProps.isStatusBar;\r\n if (widgetProps.fillZone !== undefined)\r\n me._fillZone = widgetProps.fillZone;\r\n\r\n if (widgetProps.applicationData !== undefined)\r\n me._applicationData = widgetProps.applicationData;\r\n\r\n if (widgetProps.element !== undefined)\r\n me._widgetReactNode = widgetProps.element;\r\n\r\n if (widgetProps.iconSpec !== undefined)\r\n me._iconSpec = widgetProps.iconSpec;\r\n // istanbul ignore if\r\n if (widgetProps.icon !== undefined)\r\n me._iconSpec = widgetProps.icon;\r\n\r\n if (widgetProps.badgeType !== undefined)\r\n me._badgeType = widgetProps.badgeType;\r\n\r\n me._preferredPanelSize = widgetProps.preferredPanelSize;\r\n me._onWidgetStateChanged = widgetProps.onWidgetStateChanged;\r\n me._saveTransientState = widgetProps.saveTransientState;\r\n me._restoreTransientState = widgetProps.restoreTransientState;\r\n\r\n me.setUpSyncSupport(widgetProps);\r\n }\r\n\r\n public static createWidgetPropsFromAbstractProps(abstractWidgetProps: AbstractWidgetProps): WidgetProps {\r\n const widgetProps: WidgetProps = abstractWidgetProps;\r\n widgetProps.element = abstractWidgetProps.getWidgetContent();\r\n return widgetProps;\r\n }\r\n\r\n public setUpSyncSupport(props: WidgetProps) {\r\n if (props.stateFunc && props.syncEventIds && props.syncEventIds.length > 0) {\r\n this._syncEventIds = props.syncEventIds;\r\n this._stateFunc = props.stateFunc;\r\n SyncUiEventDispatcher.onSyncUiEvent.addListener(this._handleSyncUiEvent);\r\n }\r\n }\r\n\r\n private _handleSyncUiEvent = (args: UiSyncEventArgs): void => {\r\n if ((this.syncEventIds.length > 0) && this.syncEventIds.some((value: string): boolean => args.eventIds.has(value.toLowerCase()))) {\r\n // istanbul ignore else\r\n if (this.stateFunc) {\r\n let newState = this.state;\r\n newState = this.stateFunc(newState);\r\n this.setWidgetState(newState);\r\n }\r\n }\r\n };\r\n\r\n /** @alpha */\r\n public get preferredPanelSize() {\r\n return this._preferredPanelSize;\r\n }\r\n\r\n /** Get the label string */\r\n public get label(): string {\r\n return PropsHelper.getStringFromSpec(this._label);\r\n }\r\n\r\n /** Set the label.\r\n * @param v A string or a function to get the string.\r\n */\r\n public setLabel(v: string | ConditionalStringValue | StringGetter) {\r\n if (this._label === v)\r\n return;\r\n this._label = v;\r\n FrontstageManager.onWidgetLabelChangedEvent.emit({ widgetDef: this });\r\n }\r\n\r\n /** Get the tooltip string */\r\n public get tooltip(): string {\r\n return PropsHelper.getStringFromSpec(this._tooltip);\r\n }\r\n\r\n /** Set the tooltip.\r\n * @param v A string or a function to get the string.\r\n */\r\n public setTooltip(v: string | ConditionalStringValue | StringGetter) {\r\n this._tooltip = v;\r\n }\r\n\r\n public get widgetControl(): WidgetControl | undefined {\r\n return this._widgetControl;\r\n }\r\n\r\n public getWidgetControl(type: ConfigurableUiControlType): WidgetControl | undefined {\r\n if (!this._widgetControl && this.classId) {\r\n let usedClassId: string = \"\";\r\n\r\n if (typeof this.classId === \"string\") {\r\n // istanbul ignore else\r\n if (this.classId)\r\n this._widgetControl = ConfigurableUiManager.createControl(this.classId, this.id, this.applicationData) as WidgetControl;\r\n usedClassId = this.classId;\r\n } else {\r\n const info = new ConfigurableCreateInfo(this.classId.name, this.id, this.id);\r\n usedClassId = this.classId.name;\r\n this._widgetControl = new this.classId(info, this.applicationData) as WidgetControl;\r\n }\r\n\r\n // istanbul ignore else\r\n if (this._widgetControl) {\r\n if (this._widgetControl.getType() !== type) {\r\n throw new UiError(UiFramework.loggerCategory(this), `getWidgetControl: '${usedClassId}' is NOT a ${type}; it is a ${this._widgetControl.getType()}`);\r\n }\r\n\r\n this._widgetControl.widgetDef = this;\r\n this._widgetControl.initialize();\r\n }\r\n }\r\n\r\n // istanbul ignore next - To avoid breaking API changes, if a WidgetControl is not specified for a status bar use Default one.\r\n if (!this._widgetControl && this.isStatusBar) {\r\n const info = new ConfigurableCreateInfo(\"StatusBarWidgetComposerControl\", StatusBarWidgetComposerControl.controlId, StatusBarWidgetComposerControl.controlId);\r\n this._widgetControl = new StatusBarWidgetComposerControl(info, undefined);\r\n this._widgetControl.widgetDef = this;\r\n this._widgetControl.initialize();\r\n }\r\n\r\n return this._widgetControl;\r\n }\r\n\r\n public get reactNode(): React.ReactNode {\r\n if (!this._widgetReactNode) {\r\n const widgetControl = this.getWidgetControl(ConfigurableUiControlType.Widget);\r\n\r\n // istanbul ignore else\r\n if (widgetControl && widgetControl.reactNode)\r\n this._widgetReactNode = widgetControl.reactNode;\r\n }\r\n\r\n return this._widgetReactNode;\r\n }\r\n\r\n public set reactNode(node: React.ReactNode) {\r\n this._widgetReactNode = node;\r\n }\r\n\r\n public setWidgetState(newState: WidgetState): void {\r\n if (this.state === newState)\r\n return;\r\n if (\"1\" === UiFramework.uiVersion)\r\n this._state = newState;\r\n this._stateChanged = true;\r\n FrontstageManager.onWidgetStateChangedEvent.emit({ widgetDef: this, widgetState: newState });\r\n this.onWidgetStateChanged();\r\n }\r\n\r\n public setCanPopout(value: boolean | undefined) {\r\n this._canPopout = value;\r\n }\r\n\r\n public get canPopout(): boolean | undefined {\r\n return (this._canPopout);\r\n }\r\n\r\n public setFloatingContainerId(value: string | undefined) {\r\n this._floatingContainerId = value;\r\n }\r\n\r\n public get floatingContainerId(): string | undefined {\r\n return (this._floatingContainerId);\r\n }\r\n\r\n public canOpen(): boolean {\r\n return (this.isFloating || this.isActive);\r\n }\r\n\r\n public get isVisible(): boolean {\r\n return WidgetState.Hidden !== this.state;\r\n }\r\n\r\n public get activeState(): WidgetState {\r\n return this.state;\r\n }\r\n\r\n public get isActive(): boolean {\r\n return WidgetState.Open === this.activeState;\r\n }\r\n\r\n public onWidgetStateChanged(): void {\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n this.widgetControl && UiFramework.postTelemetry(`Widget ${this.widgetControl.classId} state set to ${widgetStateNameMap.get(this.state)}`, \"35402486-9839-441E-A5C7-46D546142D11\");\r\n this.widgetControl && this.widgetControl.onWidgetStateChanged();\r\n // istanbul ignore next\r\n this._onWidgetStateChanged && this._onWidgetStateChanged();\r\n }\r\n\r\n /** Overwrite to save transient DOM state (i.e. scroll offset). */\r\n public saveTransientState(): void {\r\n this.widgetControl && this.widgetControl.saveTransientState();\r\n this._saveTransientState && this._saveTransientState();\r\n }\r\n\r\n /** Overwrite to restore transient DOM state.\r\n * @note Return true if the state is restored or the Widget will remount.\r\n */\r\n public restoreTransientState(): boolean {\r\n let result = true;\r\n if (this.widgetControl || this._restoreTransientState) {\r\n let result1 = false, result2 = false;\r\n if (this.widgetControl)\r\n result1 = this.widgetControl.restoreTransientState();\r\n if (this._restoreTransientState)\r\n result2 = this._restoreTransientState();\r\n result = !(result1 || result2);\r\n }\r\n return result;\r\n }\r\n\r\n /** Opens the widget and makes it visible to the user.\r\n * I.e. opens the stage panel or brings the floating widget to front of the screen.\r\n * @alpha\r\n */\r\n public show() {\r\n FrontstageManager.onWidgetShowEvent.emit({ widgetDef: this });\r\n }\r\n\r\n /** Opens the widget and expands it to fill full size of the stage panel.\r\n * @alpha\r\n */\r\n public expand() {\r\n FrontstageManager.onWidgetExpandEvent.emit({ widgetDef: this });\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"WidgetDef.js","sourceRoot":"","sources":["../../../../src/appui-react/widgets/WidgetDef.tsx"],"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 Widget\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { AbstractWidgetProps, BadgeType, ConditionalStringValue, PointProps, StringGetter, UiError, UiEvent, UiSyncEventArgs, WidgetState } from \"@itwin/appui-abstract\";\r\nimport { Direction, PanelSide } from \"@itwin/appui-layout-react\";\r\nimport { ConfigurableCreateInfo, ConfigurableUiControlConstructor, ConfigurableUiControlType } from \"../configurableui/ConfigurableUiControl\";\r\nimport { ConfigurableUiManager } from \"../configurableui/ConfigurableUiManager\";\r\nimport { FrontstageManager } from \"../frontstage/FrontstageManager\";\r\nimport { CommandItemDef } from \"../shared/CommandItemDef\";\r\nimport { ItemList } from \"../shared/ItemMap\";\r\nimport { SyncUiEventDispatcher } from \"../syncui/SyncUiEventDispatcher\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { PropsHelper } from \"../utils/PropsHelper\";\r\nimport { WidgetControl } from \"./WidgetControl\";\r\nimport { WidgetProps } from \"./WidgetProps\";\r\nimport { StatusBarWidgetComposerControl } from \"./StatusBarWidgetComposerControl\";\r\nimport { IconHelper, IconSpec, SizeProps } from \"@itwin/core-react\";\r\n\r\nconst widgetStateNameMap = new Map<WidgetState, string>([\r\n [WidgetState.Closed, \"Closed\"],\r\n [WidgetState.Floating, \"Floating\"],\r\n [WidgetState.Hidden, \"Hidden\"],\r\n [WidgetState.Open, \"Open\"],\r\n [WidgetState.Unloaded, \"Unloaded\"],\r\n]);\r\n\r\n/** Widget State Changed Event Args interface.\r\n * @public\r\n */\r\nexport interface WidgetStateChangedEventArgs {\r\n widgetDef: WidgetDef;\r\n widgetState: WidgetState;\r\n}\r\n\r\n/** Widget State Changed Event class.\r\n * @public\r\n */\r\nexport class WidgetStateChangedEvent extends UiEvent<WidgetStateChangedEventArgs> { }\r\n\r\n/** @internal */\r\nexport interface WidgetChangedEventArgs {\r\n widgetDef: WidgetDef;\r\n}\r\n\r\n/** @internal */\r\nexport interface WidgetEventArgs {\r\n widgetDef: WidgetDef;\r\n}\r\n\r\n/** Widget type enum.\r\n * @public\r\n */\r\nexport enum WidgetType {\r\n Tool,\r\n Navigation,\r\n FreeFrom,\r\n Rectangular,\r\n ToolSettings,\r\n StatusBar,\r\n}\r\n\r\n/** Properties for a Toolbar Widget.\r\n * @public\r\n */\r\nexport interface ToolbarWidgetProps extends WidgetProps {\r\n horizontalDirection?: Direction; // eslint-disable-line deprecation/deprecation\r\n verticalDirection?: Direction; // eslint-disable-line deprecation/deprecation\r\n\r\n horizontalItems?: ItemList;\r\n verticalItems?: ItemList;\r\n}\r\n\r\n/** Properties for a Tool Widget.\r\n * @public\r\n */\r\nexport interface ToolWidgetProps extends ToolbarWidgetProps {\r\n appButton?: CommandItemDef;\r\n}\r\n\r\n/** Properties for a Navigation Widget.\r\n * @public\r\n */\r\nexport interface NavigationWidgetProps extends ToolbarWidgetProps {\r\n navigationAidId?: string;\r\n}\r\n\r\n/** Union of all Widget properties.\r\n * @public\r\n */\r\nexport type AnyWidgetProps = WidgetProps | ToolWidgetProps | NavigationWidgetProps;\r\n\r\n/** Prototype for WidgetDef StateFunc (UI 1.0 only deprecate ???)\r\n * @public\r\n */\r\nexport type WidgetStateFunc = (state: Readonly<WidgetState>) => WidgetState;\r\n\r\n/** @internal */\r\nexport interface TabLocation {\r\n widgetId: string;\r\n widgetIndex: number;\r\n side: PanelSide;\r\n tabIndex: number;\r\n}\r\n\r\n// -----------------------------------------------------------------------------\r\n\r\n/** A Widget Definition in the 9-Zone Layout system.\r\n * @public\r\n */\r\nexport class WidgetDef {\r\n private static _sId = 0;\r\n private _label: string | ConditionalStringValue | StringGetter = \"\";\r\n private _tooltip: string | ConditionalStringValue | StringGetter = \"\";\r\n private _widgetReactNode: React.ReactNode;\r\n private _widgetControl!: WidgetControl;\r\n private _defaultState: WidgetState = WidgetState.Unloaded;\r\n private _state: WidgetState = WidgetState.Unloaded;\r\n private _id: string;\r\n private _classId: string | ConfigurableUiControlConstructor | undefined = undefined;\r\n private _priority: number = 0;\r\n private _isFreeform: boolean = false;\r\n private _isFloatingStateSupported: boolean = false;\r\n private _isFloatingStateWindowResizable: boolean = true;\r\n private _isToolSettings: boolean = false;\r\n private _isStatusBar: boolean = false;\r\n private _stateChanged: boolean = false;\r\n private _fillZone: boolean = false;\r\n private _syncEventIds: string[] = [];\r\n private _stateFunc?: WidgetStateFunc;\r\n private _widgetType: WidgetType = WidgetType.Rectangular;\r\n private _applicationData?: any;\r\n private _iconSpec?: string | ConditionalStringValue | React.ReactNode;\r\n private _internalData?: Map<string,any>;\r\n private _badgeType?: BadgeType;\r\n private _onWidgetStateChanged?: () => void;\r\n private _saveTransientState?: () => void;\r\n private _restoreTransientState?: () => boolean;\r\n private _preferredPanelSize: \"fit-content\" | undefined;\r\n private _defaultFloatingSize: SizeProps | undefined;\r\n private _canPopout?: boolean;\r\n private _floatingContainerId?: string;\r\n private _defaultFloatingPosition: PointProps | undefined;\r\n private _initialProps?: WidgetProps;\r\n\r\n private _tabLocation: TabLocation = {\r\n side: \"left\",\r\n tabIndex: 0,\r\n widgetId: \"\",\r\n widgetIndex: 0,\r\n };\r\n\r\n public get state(): WidgetState {\r\n if (\"1\" === UiFramework.uiVersion)\r\n return this._state;\r\n\r\n const frontstageDef = FrontstageManager.activeFrontstageDef;\r\n if (frontstageDef && frontstageDef.findWidgetDef(this.id)) {\r\n const currentState = frontstageDef.getWidgetCurrentState(this);\r\n // istanbul ignore else\r\n if (undefined !== currentState)\r\n return currentState;\r\n }\r\n return this.defaultState;\r\n }\r\n\r\n public get id(): string { return this._id; }\r\n public get classId(): string | ConfigurableUiControlConstructor | undefined { return this._classId; }\r\n public get priority(): number { return this._priority; }\r\n public get isFreeform(): boolean { return this._isFreeform; }\r\n public get isFloatingStateSupported(): boolean { return this._isFloatingStateSupported; }\r\n public get isFloatingStateWindowResizable(): boolean { return this._isFloatingStateWindowResizable; }\r\n public get isToolSettings(): boolean { return this._isToolSettings; }\r\n public get isStatusBar(): boolean { return this._isStatusBar; }\r\n public get stateChanged(): boolean { return this._stateChanged; }\r\n public get fillZone(): boolean { return this._fillZone; }\r\n public get syncEventIds(): string[] { return this._syncEventIds; }\r\n public get stateFunc(): WidgetStateFunc | undefined { return this._stateFunc; }\r\n public get applicationData(): any | undefined { return this._applicationData; }\r\n public get isFloating(): boolean { return this.state === WidgetState.Floating; }\r\n public get iconSpec(): IconSpec { return this._iconSpec === IconHelper.reactIconKey ? IconHelper.getIconReactNode(this._iconSpec, this._internalData) : this._iconSpec; }\r\n public set iconSpec(spec: IconSpec ) { this._iconSpec = this._internalData ? IconHelper.getIconData(spec, this._internalData) : spec; }\r\n public get badgeType(): BadgeType | undefined { return this._badgeType; }\r\n public get initialProps(): WidgetProps | undefined { return this._initialProps; }\r\n\r\n public get widgetType(): WidgetType { return this._widgetType; }\r\n public set widgetType(type: WidgetType) { this._widgetType = type; }\r\n\r\n /** @internal */\r\n public get tabLocation() { return this._tabLocation; }\r\n public set tabLocation(tabLocation: TabLocation) { this._tabLocation = tabLocation; }\r\n\r\n /** @internal */\r\n public get defaultFloatingPosition() { return this._defaultFloatingPosition; }\r\n public set defaultFloatingPosition(position: PointProps | undefined) { this._defaultFloatingPosition = position; }\r\n\r\n /** @internal */\r\n public get defaultFloatingSize() { return this._defaultFloatingSize; }\r\n public set defaultFloatingSize(size: SizeProps | undefined) { this._defaultFloatingSize = size; }\r\n\r\n /** @internal */\r\n public get defaultState() { return this._defaultState; }\r\n\r\n constructor(widgetProps: WidgetProps) {\r\n if (widgetProps.id !== undefined)\r\n this._id = widgetProps.id;\r\n else {\r\n WidgetDef._sId++;\r\n this._id = `Widget-${WidgetDef._sId}`;\r\n }\r\n\r\n WidgetDef.initializeFromWidgetProps(widgetProps, this);\r\n }\r\n\r\n public static initializeFromWidgetProps(widgetProps: WidgetProps, me: WidgetDef) {\r\n me._initialProps = widgetProps;\r\n if (widgetProps.label)\r\n me.setLabel(widgetProps.label);\r\n else if (widgetProps.labelKey)\r\n me._label = UiFramework.localization.getLocalizedString(widgetProps.labelKey);\r\n\r\n me.setCanPopout(widgetProps.canPopout);\r\n me.setFloatingContainerId(widgetProps.floatingContainerId);\r\n me.defaultFloatingPosition = widgetProps.defaultFloatingPosition ? widgetProps.defaultFloatingPosition as PointProps : undefined;\r\n\r\n if (widgetProps.priority !== undefined)\r\n me._priority = widgetProps.priority;\r\n\r\n if (widgetProps.tooltip)\r\n me.setTooltip(widgetProps.tooltip);\r\n else if (widgetProps.tooltipKey)\r\n me._tooltip = UiFramework.localization.getLocalizedString(widgetProps.tooltipKey);\r\n\r\n if (widgetProps.control !== undefined)\r\n me._classId = widgetProps.control;\r\n else if (widgetProps.classId !== undefined)\r\n me._classId = widgetProps.classId;\r\n\r\n if (widgetProps.defaultState !== undefined) {\r\n me._defaultState = widgetProps.defaultState;\r\n // istanbul ignore next\r\n if (\"1\" === UiFramework.uiVersion)\r\n me._state = widgetProps.defaultState === WidgetState.Floating ? WidgetState.Open : widgetProps.defaultState;\r\n }\r\n\r\n if (widgetProps.isFreeform !== undefined) {\r\n me._isFreeform = widgetProps.isFreeform;\r\n me._widgetType = me.isFreeform ? WidgetType.FreeFrom : WidgetType.Rectangular;\r\n }\r\n\r\n if (widgetProps.isFloatingStateSupported !== undefined)\r\n me._isFloatingStateSupported = widgetProps.isFloatingStateSupported;\r\n if (widgetProps.isFloatingStateWindowResizable !== undefined)\r\n me._isFloatingStateWindowResizable = widgetProps.isFloatingStateWindowResizable;\r\n if (widgetProps.isToolSettings !== undefined)\r\n me._isToolSettings = widgetProps.isToolSettings;\r\n if (widgetProps.isStatusBar !== undefined)\r\n me._isStatusBar = widgetProps.isStatusBar;\r\n if (widgetProps.fillZone !== undefined)\r\n me._fillZone = widgetProps.fillZone;\r\n\r\n if (widgetProps.applicationData !== undefined)\r\n me._applicationData = widgetProps.applicationData;\r\n\r\n if (widgetProps.element !== undefined)\r\n me._widgetReactNode = widgetProps.element;\r\n\r\n if (widgetProps.iconSpec !== undefined)\r\n me._iconSpec = widgetProps.iconSpec;\r\n if (widgetProps.internalData)\r\n me._internalData = widgetProps.internalData;\r\n // istanbul ignore if\r\n if (widgetProps.icon !== undefined && me._iconSpec === undefined)\r\n me._iconSpec = widgetProps.icon;\r\n\r\n if (widgetProps.badgeType !== undefined)\r\n me._badgeType = widgetProps.badgeType;\r\n\r\n me._preferredPanelSize = widgetProps.preferredPanelSize;\r\n me._defaultFloatingSize = widgetProps.defaultFloatingSize;\r\n me._onWidgetStateChanged = widgetProps.onWidgetStateChanged;\r\n me._saveTransientState = widgetProps.saveTransientState;\r\n me._restoreTransientState = widgetProps.restoreTransientState;\r\n\r\n me.setUpSyncSupport(widgetProps);\r\n }\r\n\r\n public static createWidgetPropsFromAbstractProps(abstractWidgetProps: AbstractWidgetProps): WidgetProps {\r\n const widgetProps: WidgetProps = abstractWidgetProps;\r\n widgetProps.element = abstractWidgetProps.getWidgetContent();\r\n return widgetProps;\r\n }\r\n\r\n public setUpSyncSupport(props: WidgetProps) {\r\n if (props.stateFunc && props.syncEventIds && props.syncEventIds.length > 0) {\r\n this._syncEventIds = props.syncEventIds;\r\n this._stateFunc = props.stateFunc;\r\n SyncUiEventDispatcher.onSyncUiEvent.addListener(this._handleSyncUiEvent);\r\n }\r\n }\r\n\r\n private _handleSyncUiEvent = (args: UiSyncEventArgs): void => {\r\n if ((this.syncEventIds.length > 0) && this.syncEventIds.some((value: string): boolean => args.eventIds.has(value.toLowerCase()))) {\r\n // istanbul ignore else\r\n if (this.stateFunc) {\r\n let newState = this.state;\r\n newState = this.stateFunc(newState);\r\n this.setWidgetState(newState);\r\n }\r\n }\r\n };\r\n\r\n /** @alpha */\r\n public get preferredPanelSize() {\r\n return this._preferredPanelSize;\r\n }\r\n\r\n /** Get the label string */\r\n public get label(): string {\r\n return PropsHelper.getStringFromSpec(this._label);\r\n }\r\n\r\n /** Set the label.\r\n * @param v A string or a function to get the string.\r\n */\r\n public setLabel(v: string | ConditionalStringValue | StringGetter) {\r\n if (this._label === v)\r\n return;\r\n this._label = v;\r\n FrontstageManager.onWidgetLabelChangedEvent.emit({ widgetDef: this });\r\n }\r\n\r\n /** Get the tooltip string */\r\n public get tooltip(): string {\r\n return PropsHelper.getStringFromSpec(this._tooltip);\r\n }\r\n\r\n /** Set the tooltip.\r\n * @param v A string or a function to get the string.\r\n */\r\n public setTooltip(v: string | ConditionalStringValue | StringGetter) {\r\n this._tooltip = v;\r\n }\r\n\r\n public get widgetControl(): WidgetControl | undefined {\r\n return this._widgetControl;\r\n }\r\n\r\n public getWidgetControl(type: ConfigurableUiControlType): WidgetControl | undefined {\r\n if (!this._widgetControl && this.classId) {\r\n let usedClassId: string = \"\";\r\n\r\n if (typeof this.classId === \"string\") {\r\n // istanbul ignore else\r\n if (this.classId)\r\n this._widgetControl = ConfigurableUiManager.createControl(this.classId, this.id, this.applicationData) as WidgetControl;\r\n usedClassId = this.classId;\r\n } else {\r\n const info = new ConfigurableCreateInfo(this.classId.name, this.id, this.id);\r\n usedClassId = this.classId.name;\r\n this._widgetControl = new this.classId(info, this.applicationData) as WidgetControl;\r\n }\r\n\r\n // istanbul ignore else\r\n if (this._widgetControl) {\r\n if (this._widgetControl.getType() !== type) {\r\n throw new UiError(UiFramework.loggerCategory(this), `getWidgetControl: '${usedClassId}' is NOT a ${type}; it is a ${this._widgetControl.getType()}`);\r\n }\r\n\r\n this._widgetControl.widgetDef = this;\r\n this._widgetControl.initialize();\r\n }\r\n }\r\n\r\n // istanbul ignore next - To avoid breaking API changes, if a WidgetControl is not specified for a status bar use Default one.\r\n if (!this._widgetControl && this.isStatusBar) {\r\n const info = new ConfigurableCreateInfo(\"StatusBarWidgetComposerControl\", StatusBarWidgetComposerControl.controlId, StatusBarWidgetComposerControl.controlId);\r\n this._widgetControl = new StatusBarWidgetComposerControl(info, undefined);\r\n this._widgetControl.widgetDef = this;\r\n this._widgetControl.initialize();\r\n }\r\n\r\n return this._widgetControl;\r\n }\r\n\r\n public get reactNode(): React.ReactNode {\r\n if (!this._widgetReactNode) {\r\n const widgetControl = this.getWidgetControl(ConfigurableUiControlType.Widget);\r\n\r\n // istanbul ignore else\r\n if (widgetControl && widgetControl.reactNode)\r\n this._widgetReactNode = widgetControl.reactNode;\r\n }\r\n\r\n return this._widgetReactNode;\r\n }\r\n\r\n public set reactNode(node: React.ReactNode) {\r\n this._widgetReactNode = node;\r\n }\r\n\r\n public setWidgetState(newState: WidgetState): void {\r\n if (this.state === newState)\r\n return;\r\n if (\"1\" === UiFramework.uiVersion)\r\n this._state = newState;\r\n this._stateChanged = true;\r\n FrontstageManager.onWidgetStateChangedEvent.emit({ widgetDef: this, widgetState: newState });\r\n this.onWidgetStateChanged();\r\n }\r\n\r\n public setCanPopout(value: boolean | undefined) {\r\n this._canPopout = value;\r\n }\r\n\r\n public get canPopout(): boolean | undefined {\r\n return (this._canPopout);\r\n }\r\n\r\n public setFloatingContainerId(value: string | undefined) {\r\n this._floatingContainerId = value;\r\n }\r\n\r\n public get floatingContainerId(): string | undefined {\r\n return (this._floatingContainerId);\r\n }\r\n\r\n public canOpen(): boolean {\r\n return (this.isFloating || this.isActive);\r\n }\r\n\r\n public get isVisible(): boolean {\r\n return WidgetState.Hidden !== this.state;\r\n }\r\n\r\n public get activeState(): WidgetState {\r\n return this.state;\r\n }\r\n\r\n public get isActive(): boolean {\r\n return WidgetState.Open === this.activeState;\r\n }\r\n\r\n public onWidgetStateChanged(): void {\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n this.widgetControl && UiFramework.postTelemetry(`Widget ${this.widgetControl.classId} state set to ${widgetStateNameMap.get(this.state)}`, \"35402486-9839-441E-A5C7-46D546142D11\");\r\n this.widgetControl && this.widgetControl.onWidgetStateChanged();\r\n // istanbul ignore next\r\n this._onWidgetStateChanged && this._onWidgetStateChanged();\r\n }\r\n\r\n /** Overwrite to save transient DOM state (i.e. scroll offset). */\r\n public saveTransientState(): void {\r\n this.widgetControl && this.widgetControl.saveTransientState();\r\n this._saveTransientState && this._saveTransientState();\r\n }\r\n\r\n /** Overwrite to restore transient DOM state.\r\n * @note Return true if the state is restored or the Widget will remount.\r\n */\r\n public restoreTransientState(): boolean {\r\n let result = true;\r\n if (this.widgetControl || this._restoreTransientState) {\r\n let result1 = false, result2 = false;\r\n if (this.widgetControl)\r\n result1 = this.widgetControl.restoreTransientState();\r\n if (this._restoreTransientState)\r\n result2 = this._restoreTransientState();\r\n result = !(result1 || result2);\r\n }\r\n return result;\r\n }\r\n\r\n /** Opens the widget and makes it visible to the user.\r\n * I.e. opens the stage panel or brings the floating widget to front of the screen.\r\n * @alpha\r\n */\r\n public show() {\r\n FrontstageManager.onWidgetShowEvent.emit({ widgetDef: this });\r\n }\r\n\r\n /** Opens the widget and expands it to fill full size of the stage panel.\r\n * @alpha\r\n */\r\n public expand() {\r\n FrontstageManager.onWidgetExpandEvent.emit({ widgetDef: this });\r\n }\r\n}\r\n"]}
|
|
@@ -35,7 +35,7 @@ export declare class WidgetHost {
|
|
|
35
35
|
/** Updates the WidgetHost with dynamic widgets
|
|
36
36
|
* @internal
|
|
37
37
|
*/
|
|
38
|
-
updateDynamicWidgetDefs(stageId: string, stageUsage: string, location: ZoneLocation | StagePanelLocation, section: StagePanelSection | undefined,
|
|
38
|
+
updateDynamicWidgetDefs(stageId: string, stageUsage: string, location: ZoneLocation | StagePanelLocation, section: StagePanelSection | undefined, allStageWidgetDefs: WidgetDef[], frontstageApplicationData?: any): void;
|
|
39
39
|
/** Sorts all widgets */
|
|
40
40
|
private sortWidgetDefs;
|
|
41
41
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WidgetHost.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/widgets/WidgetHost.tsx"],"names":[],"mappings":"AAKA;;GAEG;AAEH,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE9E,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC;;;GAGG;AACH,qBAAa,UAAU;IAErB,OAAO,CAAC,WAAW,CAAuC;IAC1D,OAAO,CAAC,kBAAkB,CAAuC;IACjE,OAAO,CAAC,iBAAiB,CAAgC;IAEzD;OACG;;IAGH;;OAEG;IACI,YAAY,CAAC,SAAS,EAAE,SAAS;IAKxC,gCAAgC;IAChC,IAAW,UAAU,IAAI,aAAa,CAAC,SAAS,CAAC,CAEhD;IAED,kCAAkC;IAClC,IAAW,WAAW,IAAI,MAAM,CAE/B;IAED;;OAEG;IACI,kBAAkB,IAAI,SAAS,GAAG,SAAS;IAOlD;;;OAGG;IACI,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAIvD;;OAEG;IACI,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,GAAG,kBAAkB,EAAE,OAAO,EAAE,iBAAiB,GAAG,SAAS,EACrJ,
|
|
1
|
+
{"version":3,"file":"WidgetHost.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/widgets/WidgetHost.tsx"],"names":[],"mappings":"AAKA;;GAEG;AAEH,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE9E,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC;;;GAGG;AACH,qBAAa,UAAU;IAErB,OAAO,CAAC,WAAW,CAAuC;IAC1D,OAAO,CAAC,kBAAkB,CAAuC;IACjE,OAAO,CAAC,iBAAiB,CAAgC;IAEzD;OACG;;IAGH;;OAEG;IACI,YAAY,CAAC,SAAS,EAAE,SAAS;IAKxC,gCAAgC;IAChC,IAAW,UAAU,IAAI,aAAa,CAAC,SAAS,CAAC,CAEhD;IAED,kCAAkC;IAClC,IAAW,WAAW,IAAI,MAAM,CAE/B;IAED;;OAEG;IACI,kBAAkB,IAAI,SAAS,GAAG,SAAS;IAOlD;;;OAGG;IACI,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAIvD;;OAEG;IACI,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,GAAG,kBAAkB,EAAE,OAAO,EAAE,iBAAiB,GAAG,SAAS,EACrJ,kBAAkB,EAAE,SAAS,EAAE,EAAE,yBAAyB,CAAC,EAAE,GAAG,GAC/D,IAAI;IA6DP,wBAAwB;IACxB,OAAO,CAAC,cAAc;CAWvB"}
|
|
@@ -9,7 +9,9 @@
|
|
|
9
9
|
*/
|
|
10
10
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
11
|
exports.WidgetHost = void 0;
|
|
12
|
+
const appui_abstract_1 = require("@itwin/appui-abstract");
|
|
12
13
|
const UiFramework_1 = require("../UiFramework");
|
|
14
|
+
const Zone_1 = require("../zones/Zone");
|
|
13
15
|
/**
|
|
14
16
|
* A WidgetHost represents a definition that hosts one or most Widgets in a Frontstage.
|
|
15
17
|
* @public
|
|
@@ -55,14 +57,61 @@ class WidgetHost {
|
|
|
55
57
|
/** Updates the WidgetHost with dynamic widgets
|
|
56
58
|
* @internal
|
|
57
59
|
*/
|
|
58
|
-
updateDynamicWidgetDefs(stageId, stageUsage, location, section,
|
|
59
|
-
var _a;
|
|
60
|
-
widgetDefs
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
return !duplicate;
|
|
60
|
+
updateDynamicWidgetDefs(stageId, stageUsage, location, section, allStageWidgetDefs, frontstageApplicationData) {
|
|
61
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
62
|
+
// get widgetDefs not already in allStageWidgetDefs and add them
|
|
63
|
+
const uniqueWidgets = this._widgetDefs.filter((widgetDef) => {
|
|
64
|
+
return !allStageWidgetDefs.find((wDef) => wDef.id === widgetDef.id);
|
|
64
65
|
});
|
|
65
|
-
|
|
66
|
+
allStageWidgetDefs.push(...uniqueWidgets);
|
|
67
|
+
let dynamicWidgetDefs;
|
|
68
|
+
if (location in Zone_1.ZoneLocation) {
|
|
69
|
+
switch (location) {
|
|
70
|
+
case Zone_1.ZoneLocation.CenterLeft:
|
|
71
|
+
break; // added to BottomLeft
|
|
72
|
+
case Zone_1.ZoneLocation.BottomLeft:
|
|
73
|
+
{
|
|
74
|
+
const middleDynamicWidgetDefs = (_a = UiFramework_1.UiFramework.widgetManager.getWidgetDefs(stageId, stageUsage, Zone_1.ZoneLocation.CenterLeft, section, frontstageApplicationData)) !== null && _a !== void 0 ? _a : [];
|
|
75
|
+
const bottomDynamicWidgetDefs = (_b = UiFramework_1.UiFramework.widgetManager.getWidgetDefs(stageId, stageUsage, Zone_1.ZoneLocation.BottomLeft, section, frontstageApplicationData)) !== null && _b !== void 0 ? _b : [];
|
|
76
|
+
dynamicWidgetDefs = [...middleDynamicWidgetDefs, ...bottomDynamicWidgetDefs];
|
|
77
|
+
}
|
|
78
|
+
break;
|
|
79
|
+
case Zone_1.ZoneLocation.CenterRight:
|
|
80
|
+
break; // added to BottomRight
|
|
81
|
+
case Zone_1.ZoneLocation.BottomRight:
|
|
82
|
+
{
|
|
83
|
+
const middleDynamicWidgetDefs = (_c = UiFramework_1.UiFramework.widgetManager.getWidgetDefs(stageId, stageUsage, Zone_1.ZoneLocation.CenterRight, section, frontstageApplicationData)) !== null && _c !== void 0 ? _c : [];
|
|
84
|
+
const bottomDynamicWidgetDefs = (_d = UiFramework_1.UiFramework.widgetManager.getWidgetDefs(stageId, stageUsage, Zone_1.ZoneLocation.BottomRight, section, frontstageApplicationData)) !== null && _d !== void 0 ? _d : [];
|
|
85
|
+
dynamicWidgetDefs = [...middleDynamicWidgetDefs, ...bottomDynamicWidgetDefs];
|
|
86
|
+
}
|
|
87
|
+
break;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
else if ((location in appui_abstract_1.StagePanelLocation) && undefined !== section) {
|
|
91
|
+
switch (section) {
|
|
92
|
+
case appui_abstract_1.StagePanelSection.Start: {
|
|
93
|
+
dynamicWidgetDefs = (_e = UiFramework_1.UiFramework.widgetManager.getWidgetDefs(stageId, stageUsage, location, appui_abstract_1.StagePanelSection.Start, frontstageApplicationData)) !== null && _e !== void 0 ? _e : [];
|
|
94
|
+
break;
|
|
95
|
+
}
|
|
96
|
+
case appui_abstract_1.StagePanelSection.Middle:
|
|
97
|
+
break; // added to BottomLeft
|
|
98
|
+
case appui_abstract_1.StagePanelSection.End: {
|
|
99
|
+
const middleDynamicWidgetDefs = (_f = UiFramework_1.UiFramework.widgetManager.getWidgetDefs(stageId, stageUsage, location, appui_abstract_1.StagePanelSection.Middle, frontstageApplicationData)) !== null && _f !== void 0 ? _f : [];
|
|
100
|
+
const bottomDynamicWidgetDefs = (_g = UiFramework_1.UiFramework.widgetManager.getWidgetDefs(stageId, stageUsage, location, appui_abstract_1.StagePanelSection.End, frontstageApplicationData)) !== null && _g !== void 0 ? _g : [];
|
|
101
|
+
dynamicWidgetDefs = [...middleDynamicWidgetDefs, ...bottomDynamicWidgetDefs];
|
|
102
|
+
break;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
const uniqueDynamicWidgetDefs = dynamicWidgetDefs === null || dynamicWidgetDefs === void 0 ? void 0 : dynamicWidgetDefs.filter((widgetDef) => {
|
|
107
|
+
return ((!allStageWidgetDefs.find((wDef) => wDef.id === widgetDef.id)));
|
|
108
|
+
});
|
|
109
|
+
// Now that we no longer support a middle panel section, yet we have existing API that allows a middle section to be
|
|
110
|
+
// defined, the following is needed to combining middle and end panel section widgets into a single set of widgets
|
|
111
|
+
if (uniqueDynamicWidgetDefs) {
|
|
112
|
+
allStageWidgetDefs.push(...uniqueDynamicWidgetDefs);
|
|
113
|
+
this._dynamicWidgetDefs = [...uniqueDynamicWidgetDefs];
|
|
114
|
+
}
|
|
66
115
|
this.sortWidgetDefs();
|
|
67
116
|
}
|
|
68
117
|
/** Sorts all widgets */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WidgetHost.js","sourceRoot":"","sources":["../../../../src/appui-react/widgets/WidgetHost.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F,4CAA4C;AAC5C;;GAEG;;;AAGH,gDAA6C;AAI7C;;;GAGG;AACH,MAAa,UAAU;IAMrB;OACG;IACH;QANQ,gBAAW,GAAgB,IAAI,KAAK,EAAa,CAAC;QAElD,sBAAiB,GAA6B,EAAE,CAAC;IAIzC,CAAC;IAEjB;;OAEG;IACI,YAAY,CAAC,SAAoB;QACtC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACjC,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAED,gCAAgC;IAChC,IAAW,UAAU;QACnB,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IAED,kCAAkC;IAClC,IAAW,WAAW;QACpB,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;IAChC,CAAC;IAED;;OAEG;IACI,kBAAkB;QACvB,IAAI,IAAI,CAAC,WAAW,KAAK,CAAC,EAAE;YAC1B,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;SAC3B;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;OAGG;IACI,aAAa,CAAC,EAAU;QAC7B,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,SAAoB,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED;;OAEG;IACI,uBAAuB,CAAC,OAAe,EAAE,UAAkB,EAAE,QAA2C,EAAE,OAAsC,EACrJ,UAAuB,EAAE,yBAA+B;;QAExD,UAAU,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;QACrC,IAAI,CAAC,kBAAkB,GAAG,MAAA,yBAAW,CAAC,aAAa,CAAC,aAAa,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,yBAAyB,CAAC,0CAChI,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE;YACrB,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE,CAAC,CAAC;YACtE,OAAO,CAAC,SAAS,CAAC;QACpB,CAAC,CAAC,CAAC;QACL,IAAI,CAAC,kBAAkB,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACvE,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAED,wBAAwB;IAChB,cAAc;QACpB,IAAI,gBAAgB,GAAG,EAAE,CAAC;QAC1B,IAAI,IAAI,CAAC,kBAAkB;YACzB,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;;YAEpE,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QAE9C,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;QAEzD,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;IAC5C,CAAC;CACF;AA1ED,gCA0EC","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/* eslint-disable deprecation/deprecation */\r\n/** @packageDocumentation\r\n * @module Widget\r\n */\r\n\r\nimport { StagePanelLocation, StagePanelSection } from \"@itwin/appui-abstract\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { ZoneLocation } from \"../zones/Zone\";\r\nimport { WidgetDef } from \"./WidgetDef\";\r\n\r\n/**\r\n * A WidgetHost represents a definition that hosts one or most Widgets in a Frontstage.\r\n * @public\r\n */\r\nexport class WidgetHost {\r\n\r\n private _widgetDefs: WidgetDef[] = new Array<WidgetDef>();\r\n private _dynamicWidgetDefs: ReadonlyArray<WidgetDef> | undefined;\r\n private _sortedWidgetDefs: ReadonlyArray<WidgetDef> = [];\r\n\r\n /** Constructor for WidgetHost.\r\n */\r\n constructor() { }\r\n\r\n /** Adds a WidgetDef to the list of Widgets.\r\n * @param widgetDef Definition of the Widget to add\r\n */\r\n public addWidgetDef(widgetDef: WidgetDef) {\r\n this._widgetDefs.push(widgetDef);\r\n this.sortWidgetDefs();\r\n }\r\n\r\n /** Gets the list of Widgets. */\r\n public get widgetDefs(): ReadonlyArray<WidgetDef> {\r\n return this._sortedWidgetDefs;\r\n }\r\n\r\n /** Gets the number of Widgets. */\r\n public get widgetCount(): number {\r\n return this.widgetDefs.length;\r\n }\r\n\r\n /** If there is only one Widget in the Panel, gets the single WidgetDef.\r\n * @returns The single WidgetDef if there is only one Widget; otherwise, undefined is returned.\r\n */\r\n public getSingleWidgetDef(): WidgetDef | undefined {\r\n if (this.widgetCount === 1) {\r\n return this.widgetDefs[0];\r\n }\r\n return undefined;\r\n }\r\n\r\n /** Finds a WidgetDef with a given Id.\r\n * @param id Id of the WidgetDef to find\r\n * @returns The WidgetDef if found; otherwise, undefined is returned.\r\n */\r\n public findWidgetDef(id: string): WidgetDef | undefined {\r\n return this.widgetDefs.find((widgetDef: WidgetDef) => widgetDef.id === id);\r\n }\r\n\r\n /** Updates the WidgetHost with dynamic widgets\r\n * @internal\r\n */\r\n public updateDynamicWidgetDefs(stageId: string, stageUsage: string, location: ZoneLocation | StagePanelLocation, section: StagePanelSection | undefined,\r\n widgetDefs: WidgetDef[], frontstageApplicationData?: any\r\n ): void {\r\n widgetDefs.push(...this._widgetDefs);\r\n this._dynamicWidgetDefs = UiFramework.widgetManager.getWidgetDefs(stageId, stageUsage, location, section, frontstageApplicationData)\r\n ?.filter((widgetDef) => {\r\n const duplicate = widgetDefs.find((wDef) => wDef.id === widgetDef.id);\r\n return !duplicate;\r\n });\r\n this._dynamicWidgetDefs && widgetDefs.push(...this._dynamicWidgetDefs);\r\n this.sortWidgetDefs();\r\n }\r\n\r\n /** Sorts all widgets */\r\n private sortWidgetDefs(): void {\r\n let sortedWidgetDefs = [];\r\n if (this._dynamicWidgetDefs)\r\n sortedWidgetDefs = this._widgetDefs.concat(this._dynamicWidgetDefs);\r\n else\r\n sortedWidgetDefs = this._widgetDefs.slice();\r\n\r\n sortedWidgetDefs.sort((a, b) => a.priority - b.priority);\r\n\r\n this._sortedWidgetDefs = sortedWidgetDefs;\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"WidgetHost.js","sourceRoot":"","sources":["../../../../src/appui-react/widgets/WidgetHost.tsx"],"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/* eslint-disable deprecation/deprecation */\r\n/** @packageDocumentation\r\n * @module Widget\r\n */\r\n\r\nimport { StagePanelLocation, StagePanelSection } from \"@itwin/appui-abstract\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { ZoneLocation } from \"../zones/Zone\";\r\nimport { WidgetDef } from \"./WidgetDef\";\r\n\r\n/**\r\n * A WidgetHost represents a definition that hosts one or most Widgets in a Frontstage.\r\n * @public\r\n */\r\nexport class WidgetHost {\r\n\r\n private _widgetDefs: WidgetDef[] = new Array<WidgetDef>();\r\n private _dynamicWidgetDefs: ReadonlyArray<WidgetDef> | undefined;\r\n private _sortedWidgetDefs: ReadonlyArray<WidgetDef> = [];\r\n\r\n /** Constructor for WidgetHost.\r\n */\r\n constructor() { }\r\n\r\n /** Adds a WidgetDef to the list of Widgets.\r\n * @param widgetDef Definition of the Widget to add\r\n */\r\n public addWidgetDef(widgetDef: WidgetDef) {\r\n this._widgetDefs.push(widgetDef);\r\n this.sortWidgetDefs();\r\n }\r\n\r\n /** Gets the list of Widgets. */\r\n public get widgetDefs(): ReadonlyArray<WidgetDef> {\r\n return this._sortedWidgetDefs;\r\n }\r\n\r\n /** Gets the number of Widgets. */\r\n public get widgetCount(): number {\r\n return this.widgetDefs.length;\r\n }\r\n\r\n /** If there is only one Widget in the Panel, gets the single WidgetDef.\r\n * @returns The single WidgetDef if there is only one Widget; otherwise, undefined is returned.\r\n */\r\n public getSingleWidgetDef(): WidgetDef | undefined {\r\n if (this.widgetCount === 1) {\r\n return this.widgetDefs[0];\r\n }\r\n return undefined;\r\n }\r\n\r\n /** Finds a WidgetDef with a given Id.\r\n * @param id Id of the WidgetDef to find\r\n * @returns The WidgetDef if found; otherwise, undefined is returned.\r\n */\r\n public findWidgetDef(id: string): WidgetDef | undefined {\r\n return this.widgetDefs.find((widgetDef: WidgetDef) => widgetDef.id === id);\r\n }\r\n\r\n /** Updates the WidgetHost with dynamic widgets\r\n * @internal\r\n */\r\n public updateDynamicWidgetDefs(stageId: string, stageUsage: string, location: ZoneLocation | StagePanelLocation, section: StagePanelSection | undefined,\r\n allStageWidgetDefs: WidgetDef[], frontstageApplicationData?: any\r\n ): void {\r\n // get widgetDefs not already in allStageWidgetDefs and add them\r\n const uniqueWidgets = this._widgetDefs.filter((widgetDef) => {\r\n return !allStageWidgetDefs.find((wDef) => wDef.id === widgetDef.id);\r\n });\r\n\r\n allStageWidgetDefs.push(...uniqueWidgets);\r\n\r\n let dynamicWidgetDefs: readonly WidgetDef[] | undefined;\r\n\r\n if (location in ZoneLocation) {\r\n switch (location) {\r\n case ZoneLocation.CenterLeft:\r\n break; // added to BottomLeft\r\n case ZoneLocation.BottomLeft:\r\n {\r\n const middleDynamicWidgetDefs = UiFramework.widgetManager.getWidgetDefs(stageId, stageUsage, ZoneLocation.CenterLeft, section, frontstageApplicationData) ?? [];\r\n const bottomDynamicWidgetDefs = UiFramework.widgetManager.getWidgetDefs(stageId, stageUsage, ZoneLocation.BottomLeft, section, frontstageApplicationData) ?? [];\r\n dynamicWidgetDefs = [...middleDynamicWidgetDefs, ...bottomDynamicWidgetDefs];\r\n }\r\n break;\r\n case ZoneLocation.CenterRight:\r\n break; // added to BottomRight\r\n case ZoneLocation.BottomRight:\r\n {\r\n const middleDynamicWidgetDefs = UiFramework.widgetManager.getWidgetDefs(stageId, stageUsage, ZoneLocation.CenterRight, section, frontstageApplicationData) ?? [];\r\n const bottomDynamicWidgetDefs = UiFramework.widgetManager.getWidgetDefs(stageId, stageUsage, ZoneLocation.BottomRight, section, frontstageApplicationData) ?? [];\r\n dynamicWidgetDefs = [...middleDynamicWidgetDefs, ...bottomDynamicWidgetDefs];\r\n }\r\n break;\r\n }\r\n } else if ((location in StagePanelLocation) && undefined !== section) {\r\n switch (section) {\r\n case StagePanelSection.Start: {\r\n dynamicWidgetDefs = UiFramework.widgetManager.getWidgetDefs(stageId, stageUsage, location, StagePanelSection.Start, frontstageApplicationData) ?? [];\r\n break;\r\n }\r\n case StagePanelSection.Middle:\r\n break; // added to BottomLeft\r\n case StagePanelSection.End: {\r\n const middleDynamicWidgetDefs = UiFramework.widgetManager.getWidgetDefs(stageId, stageUsage, location, StagePanelSection.Middle, frontstageApplicationData) ?? [];\r\n const bottomDynamicWidgetDefs = UiFramework.widgetManager.getWidgetDefs(stageId, stageUsage, location, StagePanelSection.End, frontstageApplicationData) ?? [];\r\n dynamicWidgetDefs = [...middleDynamicWidgetDefs, ...bottomDynamicWidgetDefs];\r\n break;\r\n }\r\n }\r\n }\r\n\r\n const uniqueDynamicWidgetDefs = dynamicWidgetDefs?.filter((widgetDef) => {\r\n return ((!allStageWidgetDefs.find((wDef) => wDef.id === widgetDef.id)));\r\n });\r\n\r\n // Now that we no longer support a middle panel section, yet we have existing API that allows a middle section to be\r\n // defined, the following is needed to combining middle and end panel section widgets into a single set of widgets\r\n if (uniqueDynamicWidgetDefs) {\r\n allStageWidgetDefs.push(...uniqueDynamicWidgetDefs);\r\n this._dynamicWidgetDefs = [...uniqueDynamicWidgetDefs];\r\n }\r\n this.sortWidgetDefs();\r\n }\r\n\r\n /** Sorts all widgets */\r\n private sortWidgetDefs(): void {\r\n let sortedWidgetDefs = [];\r\n if (this._dynamicWidgetDefs)\r\n sortedWidgetDefs = this._widgetDefs.concat(this._dynamicWidgetDefs);\r\n else\r\n sortedWidgetDefs = this._widgetDefs.slice();\r\n\r\n sortedWidgetDefs.sort((a, b) => a.priority - b.priority);\r\n\r\n this._sortedWidgetDefs = sortedWidgetDefs;\r\n }\r\n}\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WidgetManager.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/widgets/WidgetManager.ts"],"names":[],"mappings":"AAKA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAU,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAA6C,kBAAkB,EAAE,iBAAiB,EAAkB,MAAM,uBAAuB,CAAC;AAEzI,OAAO,EAAwB,YAAY,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,SAAS,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,YAAY,GAAG,kBAAkB,CAAC;IAC5C,OAAO,EAAE,iBAAiB,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;CAC3C;AAED;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,SAAS,CAAC,uBAAuB,CAAC;CAAI;AAmB/E;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAiC;IAEjD;;OAEG;IACH,SAAgB,gBAAgB,sBAA6B;IAE7D,gBAAgB;IAChB,IAAW,WAAW,IAAI,MAAM,CAE/B;IAED,gBAAgB;IAChB,IAAW,OAAO,IAAI,aAAa,CAAC,UAAU,CAAC,CAA0B;IACzE,IAAW,OAAO,CAAC,CAAC,EAAE,aAAa,CAAC,UAAU,CAAC,EAG9C;IAED;;;;OAIG;IACI,YAAY,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,EAAE,UAAU,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,EAAE,YAAY,GAAG,kBAAkB,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO;IA0BzL;OACG;IACI,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;
|
|
1
|
+
{"version":3,"file":"WidgetManager.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/widgets/WidgetManager.ts"],"names":[],"mappings":"AAKA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAU,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAA6C,kBAAkB,EAAE,iBAAiB,EAAkB,MAAM,uBAAuB,CAAC;AAEzI,OAAO,EAAwB,YAAY,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,SAAS,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,YAAY,GAAG,kBAAkB,CAAC;IAC5C,OAAO,EAAE,iBAAiB,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;CAC3C;AAED;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,SAAS,CAAC,uBAAuB,CAAC;CAAI;AAmB/E;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAiC;IAEjD;;OAEG;IACH,SAAgB,gBAAgB,sBAA6B;IAE7D,gBAAgB;IAChB,IAAW,WAAW,IAAI,MAAM,CAE/B;IAED,gBAAgB;IAChB,IAAW,OAAO,IAAI,aAAa,CAAC,UAAU,CAAC,CAA0B;IACzE,IAAW,OAAO,CAAC,CAAC,EAAE,aAAa,CAAC,UAAU,CAAC,EAG9C;IAED;;;;OAIG;IACI,YAAY,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,EAAE,UAAU,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,EAAE,YAAY,GAAG,kBAAkB,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO;IA0BzL;OACG;IACI,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAcjD,OAAO,CAAC,qCAAqC;IAgB7C;OACG;IACI,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,GAAG,kBAAkB,EAAE,OAAO,CAAC,EAAE,iBAAiB,EAChI,yBAAyB,CAAC,EAAE,GAAG,GAAG,aAAa,CAAC,SAAS,CAAC,GAAG,SAAS;CA0CzE"}
|
|
@@ -93,6 +93,7 @@ class WidgetManager {
|
|
|
93
93
|
return result;
|
|
94
94
|
}
|
|
95
95
|
// Used when WidgetDefs are requested from UiItemProviders when uiVersion="1"
|
|
96
|
+
// istanbul ignore next
|
|
96
97
|
getStagePanelLocationFromZoneLocation(location) {
|
|
97
98
|
switch (location) {
|
|
98
99
|
case Zone_1.ZoneLocation.BottomCenter:
|
|
@@ -121,7 +122,7 @@ class WidgetManager {
|
|
|
121
122
|
const widgetDefs = widgetInfos.map((info) => info.widgetDef);
|
|
122
123
|
// Consult the UiItemsManager to get any Abstract widgets
|
|
123
124
|
if (location in appui_abstract_1.StagePanelLocation) {
|
|
124
|
-
const widgets = appui_abstract_1.UiItemsManager.getWidgets(stageId, stageUsage, location, definedSection, frontstageApplicationData);
|
|
125
|
+
const widgets = appui_abstract_1.UiItemsManager.getWidgets(stageId, stageUsage, location, definedSection, undefined, frontstageApplicationData);
|
|
125
126
|
widgets.forEach((abstractProps, index) => {
|
|
126
127
|
const props = WidgetDef_1.WidgetDef.createWidgetPropsFromAbstractProps(abstractProps);
|
|
127
128
|
const stableId = getAddonStableWidgetId(stageUsage, location, definedSection, index);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WidgetManager.js","sourceRoot":"","sources":["../../../../src/appui-react/widgets/WidgetManager.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/* eslint-disable deprecation/deprecation */\r\n/** @packageDocumentation\r\n * @module Widget\r\n */\r\n\r\nimport { BeUiEvent, Logger } from \"@itwin/core-bentley\";\r\nimport { AbstractWidgetProps, AbstractZoneLocation, StagePanelLocation, StagePanelSection, UiItemsManager } from \"@itwin/appui-abstract\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { getStableWidgetProps, ZoneLocation } from \"../zones/Zone\";\r\nimport { WidgetDef } from \"./WidgetDef\";\r\nimport { createStableWidgetDef } from \"./StableWidgetDef\";\r\n\r\n/** Information about WidgetDefs in the WidgetManager\r\n * @internal\r\n */\r\nexport interface WidgetInfo {\r\n widgetDef: WidgetDef;\r\n stageId?: string;\r\n stageUsage?: string;\r\n location: ZoneLocation | StagePanelLocation;\r\n section: StagePanelSection;\r\n}\r\n\r\n/** Arguments of [[this.onWidgetsChanged]] event.\r\n * @internal\r\n */\r\nexport interface WidgetsChangedEventArgs {\r\n readonly items: ReadonlyArray<WidgetInfo>;\r\n}\r\n\r\n/** Event class for [[this.onWidgetsChanged]].\r\n * @internal\r\n */\r\nexport class WidgetsChangedEvent extends BeUiEvent<WidgetsChangedEventArgs> { }\r\n\r\nfunction isZoneLocation(location: ZoneLocation | StagePanelLocation): location is ZoneLocation {\r\n return location >= ZoneLocation.TopLeft && location <= ZoneLocation.BottomRight;\r\n}\r\n\r\nfunction getLocationName(location: ZoneLocation | StagePanelLocation) {\r\n return isZoneLocation(location) ? ZoneLocation[location] : StagePanelLocation[location];\r\n}\r\n\r\nfunction getWidgetManagerStableWidgetId(stageUsage: string | undefined, location: ZoneLocation | StagePanelLocation, section: StagePanelSection,\r\n index: number) {\r\n return `uifw-wm-${stageUsage || \"\"}-${getLocationName(location)}-${StagePanelSection[section]}-${index}`;\r\n}\r\n\r\nfunction getAddonStableWidgetId(stageUsage: string, location: StagePanelLocation, section: StagePanelSection, index: number) {\r\n return `uifw-addon-${stageUsage}-${StagePanelLocation[location]}-${StagePanelSection[section]}-${index}`;\r\n}\r\n\r\n/** Widget Manager class.\r\n * @beta\r\n */\r\nexport class WidgetManager {\r\n private _widgets: ReadonlyArray<WidgetInfo> = [];\r\n\r\n /** Event raised when Widgets are changed.\r\n * @internal\r\n */\r\n public readonly onWidgetsChanged = new WidgetsChangedEvent();\r\n\r\n /** @internal */\r\n public get widgetCount(): number {\r\n return this._widgets.length;\r\n }\r\n\r\n /** @internal */\r\n public get widgets(): ReadonlyArray<WidgetInfo> { return this._widgets; }\r\n public set widgets(w: ReadonlyArray<WidgetInfo>) {\r\n this._widgets = w;\r\n this.onWidgetsChanged.emit({ items: w });\r\n }\r\n\r\n /** Adds a WidgetDef for use in a Frontstage.\r\n * @note Added `widgetDef` must return unique id to correctly save/restore App layout.\r\n * Semi-stable id is generated when auto-generated `widgetDef` id is detected,\r\n * but correctness of such id depends on `addWidgetDef` call order and widget location.\r\n */\r\n public addWidgetDef(widgetDef: WidgetDef, stageId: string | undefined, stageUsage: string | undefined, location: ZoneLocation | StagePanelLocation, section?: StagePanelSection): boolean {\r\n if (stageId === undefined && stageUsage === undefined) {\r\n Logger.logError(UiFramework.loggerCategory(this), `addWidgetDef: stageId or stageUsage param must be specified`);\r\n return false;\r\n }\r\n\r\n section = (section !== undefined) ? section : StagePanelSection.Start;\r\n const index = this._widgets.reduce((acc, info) => {\r\n if (info.stageId === stageId && info.stageUsage === stageUsage && info.location === location && info.section === section)\r\n return acc + 1;\r\n return acc;\r\n }, 0);\r\n const stableId = getWidgetManagerStableWidgetId(stageUsage, location, section, index);\r\n const stableWidget = createStableWidgetDef(widgetDef, stableId);\r\n const newWidget: WidgetInfo = { widgetDef: stableWidget, stageId, stageUsage, location, section };\r\n\r\n const oldWidgets = this._widgets.filter((info) => info.widgetDef.id !== newWidget.widgetDef.id);\r\n const updatedWidgets = [\r\n ...oldWidgets,\r\n newWidget,\r\n ];\r\n this.widgets = updatedWidgets;\r\n\r\n return true;\r\n }\r\n\r\n /** Removes a WidgetDef.\r\n */\r\n public removeWidgetDef(widgetId: string): boolean {\r\n let result = false;\r\n const updatedWidgets = this._widgets.filter((info) => info.widgetDef.id !== widgetId);\r\n\r\n if (updatedWidgets.length !== this._widgets.length) {\r\n this.widgets = updatedWidgets;\r\n result = true;\r\n }\r\n\r\n return result;\r\n }\r\n\r\n // Used when WidgetDefs are requested from UiItemProviders when uiVersion=\"1\"\r\n private getStagePanelLocationFromZoneLocation(location: ZoneLocation): StagePanelLocation | undefined {\r\n switch (location) {\r\n case ZoneLocation.BottomCenter:\r\n case ZoneLocation.TopCenter:\r\n case ZoneLocation.TopRight:\r\n case ZoneLocation.TopLeft:\r\n return undefined; // an existing stage does not support appending widgets to these zones\r\n case ZoneLocation.BottomLeft:\r\n case ZoneLocation.CenterLeft:\r\n return StagePanelLocation.Left;\r\n case ZoneLocation.BottomRight:\r\n case ZoneLocation.CenterRight:\r\n return StagePanelLocation.Right;\r\n }\r\n }\r\n\r\n /** Gets WidgetDefs for a Frontstage location.\r\n */\r\n public getWidgetDefs(stageId: string, stageUsage: string, location: ZoneLocation | StagePanelLocation, section?: StagePanelSection,\r\n frontstageApplicationData?: any): ReadonlyArray<WidgetDef> | undefined {\r\n const definedSection = section === undefined ? StagePanelSection.Start : section;\r\n\r\n const widgetInfos = this._widgets.filter((info) => {\r\n return (!info.stageId || info.stageId === stageId)\r\n && (!info.stageUsage || info.stageUsage === stageUsage)\r\n && info.location === location\r\n && info.section === definedSection;\r\n });\r\n\r\n const widgetDefs = widgetInfos.map((info) => info.widgetDef);\r\n\r\n // Consult the UiItemsManager to get any Abstract widgets\r\n if (location in StagePanelLocation) {\r\n const widgets = UiItemsManager.getWidgets(stageId, stageUsage, location as StagePanelLocation, definedSection, frontstageApplicationData);\r\n widgets.forEach((abstractProps: AbstractWidgetProps, index: number) => {\r\n const props = WidgetDef.createWidgetPropsFromAbstractProps(abstractProps);\r\n const stableId = getAddonStableWidgetId(stageUsage, location as StagePanelLocation, definedSection, index);\r\n const stableProps = getStableWidgetProps(props, stableId);\r\n const wd = new WidgetDef(stableProps);\r\n widgetDefs.push(wd);\r\n });\r\n } else {\r\n // istanbul ignore else\r\n if (location in ZoneLocation) {\r\n const panelLocation = this.getStagePanelLocationFromZoneLocation(location as ZoneLocation);\r\n // istanbul ignore else\r\n if (panelLocation && location in AbstractZoneLocation) {\r\n const widgets = UiItemsManager.getWidgets(stageId, stageUsage, panelLocation, undefined, location as unknown as AbstractZoneLocation, frontstageApplicationData);\r\n widgets.forEach((abstractProps: AbstractWidgetProps, index: number) => {\r\n const props = WidgetDef.createWidgetPropsFromAbstractProps(abstractProps);\r\n const stableId = getAddonStableWidgetId(stageUsage, location as StagePanelLocation, definedSection, index);\r\n const stableProps = getStableWidgetProps(props, stableId);\r\n const wd = new WidgetDef(stableProps);\r\n widgetDefs.push(wd);\r\n });\r\n }\r\n }\r\n }\r\n\r\n return widgetDefs.length > 0 ? widgetDefs : undefined;\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"WidgetManager.js","sourceRoot":"","sources":["../../../../src/appui-react/widgets/WidgetManager.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/* eslint-disable deprecation/deprecation */\r\n/** @packageDocumentation\r\n * @module Widget\r\n */\r\n\r\nimport { BeUiEvent, Logger } from \"@itwin/core-bentley\";\r\nimport { AbstractWidgetProps, AbstractZoneLocation, StagePanelLocation, StagePanelSection, UiItemsManager } from \"@itwin/appui-abstract\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { getStableWidgetProps, ZoneLocation } from \"../zones/Zone\";\r\nimport { WidgetDef } from \"./WidgetDef\";\r\nimport { createStableWidgetDef } from \"./StableWidgetDef\";\r\n\r\n/** Information about WidgetDefs in the WidgetManager\r\n * @internal\r\n */\r\nexport interface WidgetInfo {\r\n widgetDef: WidgetDef;\r\n stageId?: string;\r\n stageUsage?: string;\r\n location: ZoneLocation | StagePanelLocation;\r\n section: StagePanelSection;\r\n}\r\n\r\n/** Arguments of [[this.onWidgetsChanged]] event.\r\n * @internal\r\n */\r\nexport interface WidgetsChangedEventArgs {\r\n readonly items: ReadonlyArray<WidgetInfo>;\r\n}\r\n\r\n/** Event class for [[this.onWidgetsChanged]].\r\n * @internal\r\n */\r\nexport class WidgetsChangedEvent extends BeUiEvent<WidgetsChangedEventArgs> { }\r\n\r\nfunction isZoneLocation(location: ZoneLocation | StagePanelLocation): location is ZoneLocation {\r\n return location >= ZoneLocation.TopLeft && location <= ZoneLocation.BottomRight;\r\n}\r\n\r\nfunction getLocationName(location: ZoneLocation | StagePanelLocation) {\r\n return isZoneLocation(location) ? ZoneLocation[location] : StagePanelLocation[location];\r\n}\r\n\r\nfunction getWidgetManagerStableWidgetId(stageUsage: string | undefined, location: ZoneLocation | StagePanelLocation, section: StagePanelSection,\r\n index: number) {\r\n return `uifw-wm-${stageUsage || \"\"}-${getLocationName(location)}-${StagePanelSection[section]}-${index}`;\r\n}\r\n\r\nfunction getAddonStableWidgetId(stageUsage: string, location: StagePanelLocation, section: StagePanelSection, index: number) {\r\n return `uifw-addon-${stageUsage}-${StagePanelLocation[location]}-${StagePanelSection[section]}-${index}`;\r\n}\r\n\r\n/** Widget Manager class.\r\n * @beta\r\n */\r\nexport class WidgetManager {\r\n private _widgets: ReadonlyArray<WidgetInfo> = [];\r\n\r\n /** Event raised when Widgets are changed.\r\n * @internal\r\n */\r\n public readonly onWidgetsChanged = new WidgetsChangedEvent();\r\n\r\n /** @internal */\r\n public get widgetCount(): number {\r\n return this._widgets.length;\r\n }\r\n\r\n /** @internal */\r\n public get widgets(): ReadonlyArray<WidgetInfo> { return this._widgets; }\r\n public set widgets(w: ReadonlyArray<WidgetInfo>) {\r\n this._widgets = w;\r\n this.onWidgetsChanged.emit({ items: w });\r\n }\r\n\r\n /** Adds a WidgetDef for use in a Frontstage.\r\n * @note Added `widgetDef` must return unique id to correctly save/restore App layout.\r\n * Semi-stable id is generated when auto-generated `widgetDef` id is detected,\r\n * but correctness of such id depends on `addWidgetDef` call order and widget location.\r\n */\r\n public addWidgetDef(widgetDef: WidgetDef, stageId: string | undefined, stageUsage: string | undefined, location: ZoneLocation | StagePanelLocation, section?: StagePanelSection): boolean {\r\n if (stageId === undefined && stageUsage === undefined) {\r\n Logger.logError(UiFramework.loggerCategory(this), `addWidgetDef: stageId or stageUsage param must be specified`);\r\n return false;\r\n }\r\n\r\n section = (section !== undefined) ? section : StagePanelSection.Start;\r\n const index = this._widgets.reduce((acc, info) => {\r\n if (info.stageId === stageId && info.stageUsage === stageUsage && info.location === location && info.section === section)\r\n return acc + 1;\r\n return acc;\r\n }, 0);\r\n const stableId = getWidgetManagerStableWidgetId(stageUsage, location, section, index);\r\n const stableWidget = createStableWidgetDef(widgetDef, stableId);\r\n const newWidget: WidgetInfo = { widgetDef: stableWidget, stageId, stageUsage, location, section };\r\n\r\n const oldWidgets = this._widgets.filter((info) => info.widgetDef.id !== newWidget.widgetDef.id);\r\n const updatedWidgets = [\r\n ...oldWidgets,\r\n newWidget,\r\n ];\r\n this.widgets = updatedWidgets;\r\n\r\n return true;\r\n }\r\n\r\n /** Removes a WidgetDef.\r\n */\r\n public removeWidgetDef(widgetId: string): boolean {\r\n let result = false;\r\n const updatedWidgets = this._widgets.filter((info) => info.widgetDef.id !== widgetId);\r\n\r\n if (updatedWidgets.length !== this._widgets.length) {\r\n this.widgets = updatedWidgets;\r\n result = true;\r\n }\r\n\r\n return result;\r\n }\r\n\r\n // Used when WidgetDefs are requested from UiItemProviders when uiVersion=\"1\"\r\n // istanbul ignore next\r\n private getStagePanelLocationFromZoneLocation(location: ZoneLocation): StagePanelLocation | undefined {\r\n switch (location) {\r\n case ZoneLocation.BottomCenter:\r\n case ZoneLocation.TopCenter:\r\n case ZoneLocation.TopRight:\r\n case ZoneLocation.TopLeft:\r\n return undefined; // an existing stage does not support appending widgets to these zones\r\n case ZoneLocation.BottomLeft:\r\n case ZoneLocation.CenterLeft:\r\n return StagePanelLocation.Left;\r\n case ZoneLocation.BottomRight:\r\n case ZoneLocation.CenterRight:\r\n return StagePanelLocation.Right;\r\n }\r\n }\r\n\r\n /** Gets WidgetDefs for a Frontstage location.\r\n */\r\n public getWidgetDefs(stageId: string, stageUsage: string, location: ZoneLocation | StagePanelLocation, section?: StagePanelSection,\r\n frontstageApplicationData?: any): ReadonlyArray<WidgetDef> | undefined {\r\n const definedSection = section === undefined ? StagePanelSection.Start : section;\r\n\r\n const widgetInfos = this._widgets.filter((info) => {\r\n return (!info.stageId || info.stageId === stageId)\r\n && (!info.stageUsage || info.stageUsage === stageUsage)\r\n && info.location === location\r\n && info.section === definedSection;\r\n });\r\n\r\n const widgetDefs = widgetInfos.map((info) => info.widgetDef);\r\n\r\n // Consult the UiItemsManager to get any Abstract widgets\r\n if (location in StagePanelLocation) {\r\n const widgets = UiItemsManager.getWidgets(stageId, stageUsage, location as StagePanelLocation, definedSection, undefined, frontstageApplicationData);\r\n widgets.forEach((abstractProps: AbstractWidgetProps, index: number) => {\r\n const props = WidgetDef.createWidgetPropsFromAbstractProps(abstractProps);\r\n const stableId = getAddonStableWidgetId(stageUsage, location as StagePanelLocation, definedSection, index);\r\n const stableProps = getStableWidgetProps(props, stableId);\r\n const wd = new WidgetDef(stableProps);\r\n widgetDefs.push(wd);\r\n });\r\n } else {\r\n // istanbul ignore else\r\n if (location in ZoneLocation) {\r\n const panelLocation = this.getStagePanelLocationFromZoneLocation(location as ZoneLocation);\r\n // istanbul ignore else\r\n if (panelLocation && location in AbstractZoneLocation) {\r\n const widgets = UiItemsManager.getWidgets(stageId, stageUsage, panelLocation, undefined, location as unknown as AbstractZoneLocation, frontstageApplicationData);\r\n widgets.forEach((abstractProps: AbstractWidgetProps, index: number) => {\r\n const props = WidgetDef.createWidgetPropsFromAbstractProps(abstractProps);\r\n const stableId = getAddonStableWidgetId(stageUsage, location as StagePanelLocation, definedSection, index);\r\n const stableProps = getStableWidgetProps(props, stableId);\r\n const wd = new WidgetDef(stableProps);\r\n widgetDefs.push(wd);\r\n });\r\n }\r\n }\r\n }\r\n\r\n return widgetDefs.length > 0 ? widgetDefs : undefined;\r\n }\r\n}\r\n"]}
|
|
@@ -91,16 +91,18 @@ export declare class UiFramework {
|
|
|
91
91
|
* Called by the application to initialize the UiFramework. Also initializes UIIModelComponents, UiComponents, UiCore.
|
|
92
92
|
* @param store The single Redux store created by the host application. If this is `undefined` then it is assumed that the [[StateManager]] is being used to provide the Redux store.
|
|
93
93
|
* @param frameworkStateKey The name of the key used by the app when adding the UiFramework state into the Redux store. If not defined "frameworkState" is assumed. This value is ignored if [[StateManager]] is being used. The StateManager use "frameworkState".
|
|
94
|
+
* @param startInUi1Mode Used for legacy applications to start up in the deprecated UI 1 mode. This should not set by newer applications.
|
|
94
95
|
*/
|
|
95
|
-
static initialize(store: Store<any> | undefined, frameworkStateKey?: string): Promise<void>;
|
|
96
|
+
static initialize(store: Store<any> | undefined, frameworkStateKey?: string, startInUi1Mode?: boolean): Promise<void>;
|
|
96
97
|
/**
|
|
97
98
|
* Called by the application to initialize the UiFramework. Also initializes UIIModelComponents, UiComponents, UiCore.
|
|
98
99
|
* @param store The single Redux store created by the host application. If this is `undefined` then it is assumed that the [[StateManager]] is being used to provide the Redux store.
|
|
99
100
|
* @param frameworkStateKey The name of the key used by the app when adding the UiFramework state into the Redux store. If not defined "frameworkState" is assumed. This value is ignored if [[StateManager]] is being used. The StateManager use "frameworkState".
|
|
101
|
+
* @param startInUi1Mode Used for legacy applications to start up in the deprecated UI 1 mode. This should not set by newer applications.
|
|
100
102
|
*
|
|
101
103
|
* @internal
|
|
102
104
|
*/
|
|
103
|
-
static initializeEx(store: Store<any> | undefined, frameworkStateKey?: string): Promise<void>;
|
|
105
|
+
static initializeEx(store: Store<any> | undefined, frameworkStateKey?: string, startInUi1Mode?: boolean): Promise<void>;
|
|
104
106
|
/** Un-registers the UiFramework internationalization service namespace */
|
|
105
107
|
static terminate(): void;
|
|
106
108
|
/** Determines if UiFramework has been initialized */
|
|
@@ -188,6 +190,13 @@ export declare class UiFramework {
|
|
|
188
190
|
static setUiVersion(version: FrameworkVersionId): void;
|
|
189
191
|
static get showWidgetIcon(): boolean;
|
|
190
192
|
static setShowWidgetIcon(value: boolean): void;
|
|
193
|
+
/** @alpha */
|
|
194
|
+
static get autoCollapseUnpinnedPanels(): boolean;
|
|
195
|
+
/** Method used to enable the automatic closing of an unpinned widget panel as soon as the
|
|
196
|
+
* mouse leaves the widget panel. The default behavior is to require a mouse click outside
|
|
197
|
+
* the panel before it is closed.
|
|
198
|
+
* @alpha */
|
|
199
|
+
static setAutoCollapseUnpinnedPanels(value: boolean): void;
|
|
191
200
|
static get useDragInteraction(): boolean;
|
|
192
201
|
static setUseDragInteraction(useDragInteraction: boolean): void;
|
|
193
202
|
/** Returns the variable controlling whether the overlay is displayed in a Viewport
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UiFramework.d.ts","sourceRoot":"","sources":["../../../src/appui-react/UiFramework.ts"],"names":[],"mappings":"AAIA;;GAEG;AAIH,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAC9B,OAAO,EAAE,UAAU,EAA2B,MAAM,qBAAqB,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAe,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAa,gBAAgB,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAGxF,OAAO,EAAkC,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChF,OAAO,EAAqB,eAAe,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEvF,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAGtE,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,0BAA0B,EAAwB,MAAM,sBAAsB,CAAC;AAExG,OAAO,EAAE,iCAAiC,EAA+B,MAAM,yCAAyC,CAAC;AAQzH,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAKxD;;GAEG;AACH,oBAAY,kBAAkB,GAAG,GAAG,GAAG,GAAG,CAAC;AAE3C;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,yBAAyB;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,sDAAsD;IACtD,gBAAgB,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1D;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,qBAAa,wBAAyB,SAAQ,OAAO,CAAC,qBAAqB,CAAC;CAAI;AAEhF;;GAEG;AACH,MAAM,WAAW,gCAAgC;IAC/C,UAAU,EAAE,kBAAkB,CAAC;IAC/B,OAAO,EAAE,kBAAkB,CAAC;CAC7B;AAED;;GAEG;AACH,qBAAa,4BAA6B,SAAQ,OAAO,CAAC,gCAAgC,CAAC;CAAI;AAE/F;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,IAAI,CAAC;IAChB,OAAO,EAAE,IAAI,CAAC;CACf;AAED;;;GAGG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,MAAM,CAAC,YAAY,CAAS;IACpC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAa;IACnC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAiC;IAC1D,OAAO,CAAC,MAAM,CAAC,yBAAyB,CAA4B;IACpE,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAmB;IACpD,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,CAAgB;IAC9C,OAAO,CAAC,MAAM,CAAC,UAAU,CAA2B;IACpD,OAAO,CAAC,MAAM,CAAC,kCAAkC,CAAC,CAAoC;IACtF,oDAAoD;IACpD,OAAO,CAAC,MAAM,CAAC,eAAe,CAA2C;IACzE,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAkB;IAClD,OAAO,CAAC,MAAM,CAAC,2BAA2B,CAA8E;IACxH,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAA4B;IAC9D,OAAc,mBAAmB,UAAS;IAE1C,cAAc;IACd,WAAkB,kBAAkB,IAAI,kBAAkB,CAEzD;IAED;;;;OAIG;WACW,4BAA4B,CAAC,KAAK,EAAE,oBAAoB;IAQtE;;OAEG;IACH,gBAAuB,qBAAqB,2BAAkC;IAE9E
|
|
1
|
+
{"version":3,"file":"UiFramework.d.ts","sourceRoot":"","sources":["../../../src/appui-react/UiFramework.ts"],"names":[],"mappings":"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"}
|