@itwin/appui-react 3.2.0-dev.9 → 3.3.0-dev.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +37 -1
- package/lib/cjs/appui-react/UiFramework.d.ts +10 -0
- package/lib/cjs/appui-react/UiFramework.d.ts.map +1 -1
- package/lib/cjs/appui-react/UiFramework.js +22 -0
- 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 +2 -2
- package/lib/cjs/appui-react/childwindow/ChildWindowManager.js.map +1 -1
- package/lib/cjs/appui-react/configurableui/state.d.ts +9 -1
- package/lib/cjs/appui-react/configurableui/state.d.ts.map +1 -1
- package/lib/cjs/appui-react/configurableui/state.js +13 -0
- package/lib/cjs/appui-react/configurableui/state.js.map +1 -1
- package/lib/cjs/appui-react/content/ContentGroup.d.ts +1 -1
- package/lib/cjs/appui-react/content/ContentGroup.d.ts.map +1 -1
- package/lib/cjs/appui-react/content/ContentGroup.js.map +1 -1
- package/lib/cjs/appui-react/feedback/ElementTooltip.d.ts +1 -0
- package/lib/cjs/appui-react/feedback/ElementTooltip.d.ts.map +1 -1
- package/lib/cjs/appui-react/feedback/ElementTooltip.js +16 -0
- package/lib/cjs/appui-react/feedback/ElementTooltip.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/frontstage/StandardFrontstageProvider.d.ts +6 -0
- package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.d.ts.map +1 -1
- package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js +2 -2
- package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
- package/lib/cjs/appui-react/imodel-components/VisibilityTreeBase.scss +3 -3
- 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/redux/StateManager.d.ts.map +1 -1
- package/lib/cjs/appui-react/redux/StateManager.js +1 -0
- package/lib/cjs/appui-react/redux/StateManager.js.map +1 -1
- package/lib/cjs/appui-react/settings/ui/UiSettingsPage.d.ts.map +1 -1
- package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js +25 -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/statusbar/StatusBarComposer.js +1 -1
- package/lib/cjs/appui-react/statusbar/StatusBarComposer.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.d.ts +1 -0
- package/lib/cjs/appui-react/toolbar/Toolbar.d.ts.map +1 -1
- package/lib/cjs/appui-react/toolbar/Toolbar.js +8 -3
- package/lib/cjs/appui-react/toolbar/Toolbar.js.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.d.ts +5 -26
- package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.d.ts.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.js +16 -16
- package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.js.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.d.ts +38 -0
- package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.d.ts.map +1 -0
- package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js +96 -0
- package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -0
- package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.d.ts +1 -18
- package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.d.ts.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.js.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.d.ts +33 -0
- package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.d.ts.map +1 -0
- package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.js +51 -0
- package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.js.map +1 -0
- package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts +3 -18
- package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts.map +1 -1
- 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/ui-items-provider/StandardStatusbarUiItemsProvider.d.ts +31 -0
- package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.d.ts.map +1 -0
- package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js +79 -0
- package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -0
- package/lib/cjs/appui-react/uistate/AppUiSettings.d.ts +5 -0
- package/lib/cjs/appui-react/uistate/AppUiSettings.d.ts.map +1 -1
- package/lib/cjs/appui-react/uistate/AppUiSettings.js +8 -0
- package/lib/cjs/appui-react/uistate/AppUiSettings.js.map +1 -1
- package/lib/cjs/appui-react/uistate/UserSettingsStorage.d.ts.map +1 -1
- package/lib/cjs/appui-react/uistate/UserSettingsStorage.js +3 -0
- package/lib/cjs/appui-react/uistate/UserSettingsStorage.js.map +1 -1
- package/lib/cjs/appui-react/uistate/useUiStateStorage.d.ts.map +1 -1
- package/lib/cjs/appui-react/uistate/useUiStateStorage.js +1 -0
- package/lib/cjs/appui-react/uistate/useUiStateStorage.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 +143 -129
- package/lib/cjs/appui-react/widget-panels/Frontstage.js.map +1 -1
- package/lib/cjs/appui-react/widget-panels/ToolSettings.d.ts.map +1 -1
- package/lib/cjs/appui-react/widget-panels/ToolSettings.js +15 -2
- package/lib/cjs/appui-react/widget-panels/ToolSettings.js.map +1 -1
- package/lib/cjs/appui-react/widget-panels/ToolSettings.scss +17 -1
- 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 +14 -4
- 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 +106 -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/cjs/appui-react.d.ts +3 -0
- package/lib/cjs/appui-react.d.ts.map +1 -1
- package/lib/cjs/appui-react.js +3 -0
- package/lib/cjs/appui-react.js.map +1 -1
- package/lib/esm/appui-react/UiFramework.d.ts +10 -0
- package/lib/esm/appui-react/UiFramework.d.ts.map +1 -1
- package/lib/esm/appui-react/UiFramework.js +22 -0
- 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 +2 -2
- package/lib/esm/appui-react/childwindow/ChildWindowManager.js.map +1 -1
- package/lib/esm/appui-react/configurableui/state.d.ts +9 -1
- package/lib/esm/appui-react/configurableui/state.d.ts.map +1 -1
- package/lib/esm/appui-react/configurableui/state.js +13 -0
- package/lib/esm/appui-react/configurableui/state.js.map +1 -1
- package/lib/esm/appui-react/content/ContentGroup.d.ts +1 -1
- package/lib/esm/appui-react/content/ContentGroup.d.ts.map +1 -1
- package/lib/esm/appui-react/content/ContentGroup.js.map +1 -1
- package/lib/esm/appui-react/feedback/ElementTooltip.d.ts +1 -0
- package/lib/esm/appui-react/feedback/ElementTooltip.d.ts.map +1 -1
- package/lib/esm/appui-react/feedback/ElementTooltip.js +16 -0
- package/lib/esm/appui-react/feedback/ElementTooltip.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/frontstage/StandardFrontstageProvider.d.ts +6 -0
- package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.d.ts.map +1 -1
- package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js +2 -2
- package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
- package/lib/esm/appui-react/imodel-components/VisibilityTreeBase.scss +3 -3
- 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/redux/StateManager.d.ts.map +1 -1
- package/lib/esm/appui-react/redux/StateManager.js +1 -0
- package/lib/esm/appui-react/redux/StateManager.js.map +1 -1
- package/lib/esm/appui-react/settings/ui/UiSettingsPage.d.ts.map +1 -1
- package/lib/esm/appui-react/settings/ui/UiSettingsPage.js +25 -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/statusbar/StatusBarComposer.js +1 -1
- package/lib/esm/appui-react/statusbar/StatusBarComposer.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.d.ts +1 -0
- package/lib/esm/appui-react/toolbar/Toolbar.d.ts.map +1 -1
- package/lib/esm/appui-react/toolbar/Toolbar.js +8 -3
- package/lib/esm/appui-react/toolbar/Toolbar.js.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.d.ts +5 -26
- package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.d.ts.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.js +17 -17
- package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.js.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.d.ts +38 -0
- package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.d.ts.map +1 -0
- package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js +92 -0
- package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -0
- package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.d.ts +1 -18
- package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.d.ts.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.js.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.d.ts +33 -0
- package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.d.ts.map +1 -0
- package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.js +47 -0
- package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.js.map +1 -0
- package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts +3 -18
- package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts.map +1 -1
- 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/ui-items-provider/StandardStatusbarUiItemsProvider.d.ts +31 -0
- package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.d.ts.map +1 -0
- package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js +75 -0
- package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -0
- package/lib/esm/appui-react/uistate/AppUiSettings.d.ts +5 -0
- package/lib/esm/appui-react/uistate/AppUiSettings.d.ts.map +1 -1
- package/lib/esm/appui-react/uistate/AppUiSettings.js +8 -0
- package/lib/esm/appui-react/uistate/AppUiSettings.js.map +1 -1
- package/lib/esm/appui-react/uistate/UserSettingsStorage.d.ts.map +1 -1
- package/lib/esm/appui-react/uistate/UserSettingsStorage.js +3 -0
- package/lib/esm/appui-react/uistate/UserSettingsStorage.js.map +1 -1
- package/lib/esm/appui-react/uistate/useUiStateStorage.d.ts.map +1 -1
- package/lib/esm/appui-react/uistate/useUiStateStorage.js +1 -0
- package/lib/esm/appui-react/uistate/useUiStateStorage.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 +144 -130
- package/lib/esm/appui-react/widget-panels/Frontstage.js.map +1 -1
- package/lib/esm/appui-react/widget-panels/ToolSettings.d.ts.map +1 -1
- package/lib/esm/appui-react/widget-panels/ToolSettings.js +15 -2
- package/lib/esm/appui-react/widget-panels/ToolSettings.js.map +1 -1
- package/lib/esm/appui-react/widget-panels/ToolSettings.scss +17 -1
- 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 +14 -4
- 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 +106 -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/esm/appui-react.d.ts +3 -0
- package/lib/esm/appui-react.d.ts.map +1 -1
- package/lib/esm/appui-react.js +3 -0
- package/lib/esm/appui-react.js.map +1 -1
- package/lib/public/locales/en/UiFramework.json +7 -2
- package/package.json +37 -37
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BackstageAppButton.js","sourceRoot":"","sources":["../../../../src/appui-react/widgets/BackstageAppButton.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,aAAa,MAAM,
|
|
1
|
+
{"version":3,"file":"BackstageAppButton.js","sourceRoot":"","sources":["../../../../src/appui-react/widgets/BackstageAppButton.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 widgetIconSvg from \"@bentley/icons-generic/icons/home.svg\";\r\nimport { IconSpecUtilities } from \"@itwin/appui-abstract\";\r\nimport { Icon, useWidgetOpacityContext } from \"@itwin/core-react\";\r\nimport { AppButton } from \"@itwin/appui-layout-react\";\r\nimport { BackstageManager } from \"../backstage/BackstageManager\";\r\nimport { useFrameworkVersion } from \"../hooks/useFrameworkVersion\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { UiShowHideManager } from \"../utils/UiShowHideManager\";\r\n\r\n/**\r\n * Properties for the [[BackstageAppButton]] React component\r\n * @public\r\n */\r\nexport interface BackstageAppButtonProps {\r\n /** Icon specification for the App button */\r\n icon?: string;\r\n /** If specified overrides the default label shown in tooltip. */\r\n label?: string;\r\n /** If specified overrides the default action that displays the backstage. */\r\n execute?: () => void;\r\n}\r\n\r\n/**\r\n * BackstageAppButton used to toggle display of Backstage and is shown in the corner of the ToolWidget.\r\n * @public\r\n */\r\nexport function BackstageAppButton(props: BackstageAppButtonProps) {\r\n const backstageToggleCommand = React.useMemo(() => BackstageManager.getBackstageToggleCommand(props.icon), [props.icon]);\r\n const backstageLabel = React.useMemo(() => props.label || backstageToggleCommand.tooltip, [backstageToggleCommand.tooltip, props.label]);\r\n const [icon, setIcon] = React.useState(props.icon ? props.icon : IconSpecUtilities.createWebComponentIconSpec(widgetIconSvg));\r\n const isInitialMount = React.useRef(true);\r\n const useSmallAppButton = \"1\" !== useFrameworkVersion();\r\n const divClassName = useSmallAppButton ? \"uifw-app-button-small\" : undefined;\r\n const { onElementRef, proximityScale } = useWidgetOpacityContext();\r\n const ref = React.useRef<HTMLDivElement>(null);\r\n\r\n const handleClick = React.useCallback(() => {\r\n if (props.execute)\r\n props.execute();\r\n\r\n else\r\n backstageToggleCommand.execute();\r\n }, [backstageToggleCommand, props]);\r\n\r\n React.useEffect(() => {\r\n if (isInitialMount.current) {\r\n isInitialMount.current = false;\r\n onElementRef(ref);\r\n } else {\r\n setIcon(props.icon ? props.icon : IconSpecUtilities.createWebComponentIconSpec(widgetIconSvg));\r\n }\r\n }, [props.icon, onElementRef]);\r\n\r\n let buttonProximityScale: number | undefined;\r\n\r\n if (\"1\" !== useFrameworkVersion() && UiShowHideManager.useProximityOpacity && !UiFramework.isMobile()) {\r\n buttonProximityScale = proximityScale;\r\n }\r\n\r\n return (\r\n <div ref={ref} className={divClassName}>\r\n <AppButton\r\n small={useSmallAppButton}\r\n mouseProximity={buttonProximityScale}\r\n onClick={handleClick}\r\n icon={<Icon iconSpec={icon} />}\r\n title={backstageLabel} />\r\n </div>\r\n );\r\n}\r\n"]}
|
|
@@ -9,7 +9,7 @@ import { CommonToolbarItem } from "@itwin/appui-abstract";
|
|
|
9
9
|
export interface BasicToolWidgetProps {
|
|
10
10
|
/** if true include hide/isolate Models and Categories */
|
|
11
11
|
showCategoryAndModelsContextTools?: boolean;
|
|
12
|
-
/** Name of icon WebFont entry or if specifying an SVG symbol
|
|
12
|
+
/** Name of icon WebFont entry or if specifying an imported SVG symbol use "webSvg:" prefix to imported symbol Id. */
|
|
13
13
|
icon?: string;
|
|
14
14
|
/** optional set of additional items to include in horizontal toolbar */
|
|
15
15
|
additionalHorizontalItems?: CommonToolbarItem[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BasicToolWidget.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/widgets/BasicToolWidget.tsx"],"names":[],"mappings":"AAIA;;GAEG;;AAIH,OAAO,EAAE,iBAAiB,EAAoC,MAAM,uBAAuB,CAAC;AAS5F;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,yDAAyD;IACzD,iCAAiC,CAAC,EAAE,OAAO,CAAC;IAC5C,
|
|
1
|
+
{"version":3,"file":"BasicToolWidget.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/widgets/BasicToolWidget.tsx"],"names":[],"mappings":"AAIA;;GAEG;;AAIH,OAAO,EAAE,iBAAiB,EAAoC,MAAM,uBAAuB,CAAC;AAS5F;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,yDAAyD;IACzD,iCAAiC,CAAC,EAAE,OAAO,CAAC;IAC5C,qHAAqH;IACrH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,wEAAwE;IACxE,yBAAyB,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAChD,sEAAsE;IACtE,uBAAuB,CAAC,EAAE,iBAAiB,EAAE,CAAC;CAC/C;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,eAgE1D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BasicToolWidget.js","sourceRoot":"","sources":["../../../../src/appui-react/widgets/BasicToolWidget.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 classnames from \"classnames\";\r\nimport * as React from \"react\";\r\nimport { CommonToolbarItem, ToolbarOrientation, ToolbarUsage } from \"@itwin/appui-abstract\";\r\nimport { CoreTools } from \"../tools/CoreToolDefinitions\";\r\nimport { SelectionContextToolDefinitions } from \"../selection/SelectionContextItemDef\";\r\nimport { ToolbarComposer } from \"../toolbar/ToolbarComposer\";\r\nimport { ToolbarHelper } from \"../toolbar/ToolbarHelper\";\r\nimport { ToolWidgetComposer } from \"./ToolWidgetComposer\";\r\nimport { BackstageAppButton } from \"./BackstageAppButton\";\r\nimport { useUiVisibility } from \"../hooks/useUiVisibility\";\r\n\r\n/** Properties that can be used to append items to the default set of toolbar items of [[ReviewToolWidget]].\r\n * @public\r\n */\r\nexport interface BasicToolWidgetProps {\r\n /** if true include hide/isolate Models and Categories */\r\n showCategoryAndModelsContextTools?: boolean;\r\n /** Name of icon WebFont entry or if specifying an SVG symbol
|
|
1
|
+
{"version":3,"file":"BasicToolWidget.js","sourceRoot":"","sources":["../../../../src/appui-react/widgets/BasicToolWidget.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 classnames from \"classnames\";\r\nimport * as React from \"react\";\r\nimport { CommonToolbarItem, ToolbarOrientation, ToolbarUsage } from \"@itwin/appui-abstract\";\r\nimport { CoreTools } from \"../tools/CoreToolDefinitions\";\r\nimport { SelectionContextToolDefinitions } from \"../selection/SelectionContextItemDef\";\r\nimport { ToolbarComposer } from \"../toolbar/ToolbarComposer\";\r\nimport { ToolbarHelper } from \"../toolbar/ToolbarHelper\";\r\nimport { ToolWidgetComposer } from \"./ToolWidgetComposer\";\r\nimport { BackstageAppButton } from \"./BackstageAppButton\";\r\nimport { useUiVisibility } from \"../hooks/useUiVisibility\";\r\n\r\n/** Properties that can be used to append items to the default set of toolbar items of [[ReviewToolWidget]].\r\n * @public\r\n */\r\nexport interface BasicToolWidgetProps {\r\n /** if true include hide/isolate Models and Categories */\r\n showCategoryAndModelsContextTools?: boolean;\r\n /** Name of icon WebFont entry or if specifying an imported SVG symbol use \"webSvg:\" prefix to imported symbol Id. */\r\n icon?: string;\r\n /** optional set of additional items to include in horizontal toolbar */\r\n additionalHorizontalItems?: CommonToolbarItem[];\r\n /** optional set of additional items to include in vertical toolbar */\r\n additionalVerticalItems?: CommonToolbarItem[];\r\n}\r\n\r\n/** Default Tool Widget for standard \"review\" applications. Provides standard tools to review, and measure elements.\r\n * This definition will also show a overflow button if there is not enough room to display all the toolbar buttons.\r\n * @public\r\n */\r\nexport function BasicToolWidget(props: BasicToolWidgetProps) {\r\n const getHorizontalToolbarItems = React.useCallback(\r\n (useCategoryAndModelsContextTools: boolean): CommonToolbarItem[] => {\r\n const items: CommonToolbarItem[] = [];\r\n if (useCategoryAndModelsContextTools) {\r\n items.push(\r\n ToolbarHelper.createToolbarItemFromItemDef(10, CoreTools.clearSelectionItemDef),\r\n ToolbarHelper.createToolbarItemFromItemDef(20, SelectionContextToolDefinitions.clearHideIsolateEmphasizeElementsItemDef),\r\n ToolbarHelper.createToolbarItemFromItemDef(30, SelectionContextToolDefinitions.hideSectionToolGroup),\r\n ToolbarHelper.createToolbarItemFromItemDef(40, SelectionContextToolDefinitions.isolateSelectionToolGroup),\r\n ToolbarHelper.createToolbarItemFromItemDef(50, SelectionContextToolDefinitions.emphasizeElementsItemDef),\r\n );\r\n } else {\r\n items.push(\r\n ToolbarHelper.createToolbarItemFromItemDef(10, CoreTools.clearSelectionItemDef),\r\n ToolbarHelper.createToolbarItemFromItemDef(20, SelectionContextToolDefinitions.clearHideIsolateEmphasizeElementsItemDef),\r\n ToolbarHelper.createToolbarItemFromItemDef(30, SelectionContextToolDefinitions.hideElementsItemDef),\r\n ToolbarHelper.createToolbarItemFromItemDef(40, SelectionContextToolDefinitions.isolateElementsItemDef),\r\n ToolbarHelper.createToolbarItemFromItemDef(50, SelectionContextToolDefinitions.emphasizeElementsItemDef),\r\n );\r\n }\r\n if (props.additionalHorizontalItems)\r\n items.push(...props.additionalHorizontalItems);\r\n return items;\r\n }, [props.additionalHorizontalItems]);\r\n\r\n const getVerticalToolbarItems = React.useCallback(\r\n (): CommonToolbarItem[] => {\r\n const items: CommonToolbarItem[] = [];\r\n items.push(\r\n ToolbarHelper.createToolbarItemFromItemDef(10, CoreTools.selectElementCommand),\r\n ToolbarHelper.createToolbarItemFromItemDef(20, CoreTools.measureToolGroup),\r\n ToolbarHelper.createToolbarItemFromItemDef(30, CoreTools.sectionToolGroup),\r\n );\r\n if (props.additionalVerticalItems)\r\n items.push(...props.additionalVerticalItems);\r\n return items;\r\n }, [props.additionalVerticalItems]);\r\n\r\n const [horizontalItems, setHorizontalItems] = React.useState(() => getHorizontalToolbarItems(!!props.showCategoryAndModelsContextTools));\r\n const [verticalItems, setVerticalItems] = React.useState(() => getVerticalToolbarItems());\r\n\r\n const isInitialMount = React.useRef(true);\r\n React.useEffect(() => {\r\n if (isInitialMount.current)\r\n isInitialMount.current = false;\r\n else {\r\n setHorizontalItems(getHorizontalToolbarItems(!!props.showCategoryAndModelsContextTools));\r\n setVerticalItems(getVerticalToolbarItems());\r\n }\r\n }, [props.showCategoryAndModelsContextTools, props.additionalHorizontalItems, props.additionalVerticalItems, getHorizontalToolbarItems, getVerticalToolbarItems]);\r\n\r\n const uiIsVisible = useUiVisibility();\r\n // istanbul ignore next\r\n const className = classnames(\r\n !uiIsVisible && \"nz-hidden\",\r\n );\r\n return (\r\n <ToolWidgetComposer className={className}\r\n cornerItem={<BackstageAppButton icon={props.icon} />}\r\n horizontalToolbar={<ToolbarComposer items={horizontalItems} usage={ToolbarUsage.ContentManipulation} orientation={ToolbarOrientation.Horizontal} />}\r\n verticalToolbar={<ToolbarComposer items={verticalItems} usage={ToolbarUsage.ContentManipulation} orientation={ToolbarOrientation.Vertical} />}\r\n />\r\n );\r\n}\r\n"]}
|
|
@@ -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":"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"}
|
|
@@ -13,6 +13,7 @@ import { SyncUiEventDispatcher } from "../syncui/SyncUiEventDispatcher";
|
|
|
13
13
|
import { UiFramework } from "../UiFramework";
|
|
14
14
|
import { PropsHelper } from "../utils/PropsHelper";
|
|
15
15
|
import { StatusBarWidgetComposerControl } from "./StatusBarWidgetComposerControl";
|
|
16
|
+
import { IconHelper } from "@itwin/core-react";
|
|
16
17
|
const widgetStateNameMap = new Map([
|
|
17
18
|
[WidgetState.Closed, "Closed"],
|
|
18
19
|
[WidgetState.Floating, "Floating"],
|
|
@@ -86,8 +87,9 @@ export class WidgetDef {
|
|
|
86
87
|
if ("1" === UiFramework.uiVersion)
|
|
87
88
|
return this._state;
|
|
88
89
|
const frontstageDef = FrontstageManager.activeFrontstageDef;
|
|
89
|
-
if (frontstageDef
|
|
90
|
+
if (frontstageDef && frontstageDef.findWidgetDef(this.id)) {
|
|
90
91
|
const currentState = frontstageDef.getWidgetCurrentState(this);
|
|
92
|
+
// istanbul ignore else
|
|
91
93
|
if (undefined !== currentState)
|
|
92
94
|
return currentState;
|
|
93
95
|
}
|
|
@@ -107,7 +109,8 @@ export class WidgetDef {
|
|
|
107
109
|
get stateFunc() { return this._stateFunc; }
|
|
108
110
|
get applicationData() { return this._applicationData; }
|
|
109
111
|
get isFloating() { return this.state === WidgetState.Floating; }
|
|
110
|
-
get iconSpec() { return this._iconSpec; }
|
|
112
|
+
get iconSpec() { return this._iconSpec === IconHelper.reactIconKey ? IconHelper.getIconReactNode(this._iconSpec, this._internalData) : this._iconSpec; }
|
|
113
|
+
set iconSpec(spec) { this._iconSpec = this._internalData ? IconHelper.getIconData(spec, this._internalData) : spec; }
|
|
111
114
|
get badgeType() { return this._badgeType; }
|
|
112
115
|
get initialProps() { return this._initialProps; }
|
|
113
116
|
get widgetType() { return this._widgetType; }
|
|
@@ -119,6 +122,9 @@ export class WidgetDef {
|
|
|
119
122
|
get defaultFloatingPosition() { return this._defaultFloatingPosition; }
|
|
120
123
|
set defaultFloatingPosition(position) { this._defaultFloatingPosition = position; }
|
|
121
124
|
/** @internal */
|
|
125
|
+
get defaultFloatingSize() { return this._defaultFloatingSize; }
|
|
126
|
+
set defaultFloatingSize(size) { this._defaultFloatingSize = size; }
|
|
127
|
+
/** @internal */
|
|
122
128
|
get defaultState() { return this._defaultState; }
|
|
123
129
|
static initializeFromWidgetProps(widgetProps, me) {
|
|
124
130
|
me._initialProps = widgetProps;
|
|
@@ -141,6 +147,7 @@ export class WidgetDef {
|
|
|
141
147
|
me._classId = widgetProps.classId;
|
|
142
148
|
if (widgetProps.defaultState !== undefined) {
|
|
143
149
|
me._defaultState = widgetProps.defaultState;
|
|
150
|
+
// istanbul ignore next
|
|
144
151
|
if ("1" === UiFramework.uiVersion)
|
|
145
152
|
me._state = widgetProps.defaultState === WidgetState.Floating ? WidgetState.Open : widgetProps.defaultState;
|
|
146
153
|
}
|
|
@@ -164,12 +171,15 @@ export class WidgetDef {
|
|
|
164
171
|
me._widgetReactNode = widgetProps.element;
|
|
165
172
|
if (widgetProps.iconSpec !== undefined)
|
|
166
173
|
me._iconSpec = widgetProps.iconSpec;
|
|
167
|
-
|
|
168
|
-
|
|
174
|
+
if (widgetProps.internalData)
|
|
175
|
+
me._internalData = widgetProps.internalData;
|
|
176
|
+
// istanbul ignore next
|
|
177
|
+
if (widgetProps.icon !== undefined && me._iconSpec === undefined)
|
|
169
178
|
me._iconSpec = widgetProps.icon;
|
|
170
179
|
if (widgetProps.badgeType !== undefined)
|
|
171
180
|
me._badgeType = widgetProps.badgeType;
|
|
172
181
|
me._preferredPanelSize = widgetProps.preferredPanelSize;
|
|
182
|
+
me._defaultFloatingSize = widgetProps.defaultFloatingSize;
|
|
173
183
|
me._onWidgetStateChanged = widgetProps.onWidgetStateChanged;
|
|
174
184
|
me._saveTransientState = widgetProps.saveTransientState;
|
|
175
185
|
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 next\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;IA8GP,wBAAwB;IACxB,OAAO,CAAC,cAAc;CAWvB"}
|
|
@@ -6,7 +6,9 @@
|
|
|
6
6
|
/** @packageDocumentation
|
|
7
7
|
* @module Widget
|
|
8
8
|
*/
|
|
9
|
+
import { StagePanelLocation, StagePanelSection } from "@itwin/appui-abstract";
|
|
9
10
|
import { UiFramework } from "../UiFramework";
|
|
11
|
+
import { ZoneLocation } from "../zones/Zone";
|
|
10
12
|
/**
|
|
11
13
|
* A WidgetHost represents a definition that hosts one or most Widgets in a Frontstage.
|
|
12
14
|
* @public
|
|
@@ -52,14 +54,111 @@ export class WidgetHost {
|
|
|
52
54
|
/** Updates the WidgetHost with dynamic widgets
|
|
53
55
|
* @internal
|
|
54
56
|
*/
|
|
55
|
-
updateDynamicWidgetDefs(stageId, stageUsage, location, section,
|
|
56
|
-
var _a;
|
|
57
|
-
widgetDefs
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
return !duplicate;
|
|
57
|
+
updateDynamicWidgetDefs(stageId, stageUsage, location, section, allStageWidgetDefs, frontstageApplicationData) {
|
|
58
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
|
|
59
|
+
// get widgetDefs not already in allStageWidgetDefs and add them
|
|
60
|
+
const uniqueWidgets = this._widgetDefs.filter((widgetDef) => {
|
|
61
|
+
return !allStageWidgetDefs.find((wDef) => wDef.id === widgetDef.id);
|
|
61
62
|
});
|
|
62
|
-
|
|
63
|
+
allStageWidgetDefs.push(...uniqueWidgets);
|
|
64
|
+
let dynamicWidgetDefs;
|
|
65
|
+
if (UiFramework.uiVersion === "1") {
|
|
66
|
+
// istanbul ignore next
|
|
67
|
+
if (location in ZoneLocation) {
|
|
68
|
+
switch (location) {
|
|
69
|
+
case ZoneLocation.CenterLeft:
|
|
70
|
+
{
|
|
71
|
+
const middleDynamicWidgetDefs = (_a = UiFramework.widgetManager.getWidgetDefs(stageId, stageUsage, ZoneLocation.CenterLeft, section, frontstageApplicationData)) !== null && _a !== void 0 ? _a : [];
|
|
72
|
+
dynamicWidgetDefs = [...middleDynamicWidgetDefs];
|
|
73
|
+
}
|
|
74
|
+
break;
|
|
75
|
+
case ZoneLocation.BottomLeft:
|
|
76
|
+
{
|
|
77
|
+
const bottomDynamicWidgetDefs = (_b = UiFramework.widgetManager.getWidgetDefs(stageId, stageUsage, ZoneLocation.BottomLeft, section, frontstageApplicationData)) !== null && _b !== void 0 ? _b : [];
|
|
78
|
+
dynamicWidgetDefs = [...bottomDynamicWidgetDefs];
|
|
79
|
+
}
|
|
80
|
+
break;
|
|
81
|
+
case ZoneLocation.CenterRight:
|
|
82
|
+
{
|
|
83
|
+
const middleDynamicWidgetDefs = (_c = UiFramework.widgetManager.getWidgetDefs(stageId, stageUsage, ZoneLocation.CenterRight, section, frontstageApplicationData)) !== null && _c !== void 0 ? _c : [];
|
|
84
|
+
dynamicWidgetDefs = [...middleDynamicWidgetDefs];
|
|
85
|
+
}
|
|
86
|
+
break; // added to BottomRight
|
|
87
|
+
case ZoneLocation.BottomRight:
|
|
88
|
+
{
|
|
89
|
+
const bottomDynamicWidgetDefs = (_d = UiFramework.widgetManager.getWidgetDefs(stageId, stageUsage, ZoneLocation.BottomRight, section, frontstageApplicationData)) !== null && _d !== void 0 ? _d : [];
|
|
90
|
+
dynamicWidgetDefs = [...bottomDynamicWidgetDefs];
|
|
91
|
+
}
|
|
92
|
+
break;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
else if ((location in StagePanelLocation) && undefined !== section) {
|
|
96
|
+
switch (section) {
|
|
97
|
+
case StagePanelSection.Start: {
|
|
98
|
+
dynamicWidgetDefs = (_e = UiFramework.widgetManager.getWidgetDefs(stageId, stageUsage, location, StagePanelSection.Start, frontstageApplicationData)) !== null && _e !== void 0 ? _e : [];
|
|
99
|
+
break;
|
|
100
|
+
}
|
|
101
|
+
case StagePanelSection.Middle:
|
|
102
|
+
const middleDynamicWidgetDefs = (_f = UiFramework.widgetManager.getWidgetDefs(stageId, stageUsage, location, StagePanelSection.Middle, frontstageApplicationData)) !== null && _f !== void 0 ? _f : [];
|
|
103
|
+
dynamicWidgetDefs = [...middleDynamicWidgetDefs];
|
|
104
|
+
break; // added to BottomLeft
|
|
105
|
+
case StagePanelSection.End: {
|
|
106
|
+
const bottomDynamicWidgetDefs = (_g = UiFramework.widgetManager.getWidgetDefs(stageId, stageUsage, location, StagePanelSection.End, frontstageApplicationData)) !== null && _g !== void 0 ? _g : [];
|
|
107
|
+
dynamicWidgetDefs = [...bottomDynamicWidgetDefs];
|
|
108
|
+
break;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
else {
|
|
114
|
+
if (location in ZoneLocation) {
|
|
115
|
+
switch (location) {
|
|
116
|
+
case ZoneLocation.CenterLeft:
|
|
117
|
+
break; // added to BottomLeft
|
|
118
|
+
case ZoneLocation.BottomLeft:
|
|
119
|
+
{
|
|
120
|
+
const middleDynamicWidgetDefs = (_h = UiFramework.widgetManager.getWidgetDefs(stageId, stageUsage, ZoneLocation.CenterLeft, section, frontstageApplicationData)) !== null && _h !== void 0 ? _h : [];
|
|
121
|
+
const bottomDynamicWidgetDefs = (_j = UiFramework.widgetManager.getWidgetDefs(stageId, stageUsage, ZoneLocation.BottomLeft, section, frontstageApplicationData)) !== null && _j !== void 0 ? _j : [];
|
|
122
|
+
dynamicWidgetDefs = [...middleDynamicWidgetDefs, ...bottomDynamicWidgetDefs];
|
|
123
|
+
}
|
|
124
|
+
break;
|
|
125
|
+
case ZoneLocation.CenterRight:
|
|
126
|
+
break; // added to BottomRight
|
|
127
|
+
case ZoneLocation.BottomRight:
|
|
128
|
+
{
|
|
129
|
+
const middleDynamicWidgetDefs = (_k = UiFramework.widgetManager.getWidgetDefs(stageId, stageUsage, ZoneLocation.CenterRight, section, frontstageApplicationData)) !== null && _k !== void 0 ? _k : [];
|
|
130
|
+
const bottomDynamicWidgetDefs = (_l = UiFramework.widgetManager.getWidgetDefs(stageId, stageUsage, ZoneLocation.BottomRight, section, frontstageApplicationData)) !== null && _l !== void 0 ? _l : [];
|
|
131
|
+
dynamicWidgetDefs = [...middleDynamicWidgetDefs, ...bottomDynamicWidgetDefs];
|
|
132
|
+
}
|
|
133
|
+
break;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
else if ((location in StagePanelLocation) && undefined !== section) {
|
|
137
|
+
switch (section) {
|
|
138
|
+
case StagePanelSection.Start: {
|
|
139
|
+
dynamicWidgetDefs = (_m = UiFramework.widgetManager.getWidgetDefs(stageId, stageUsage, location, StagePanelSection.Start, frontstageApplicationData)) !== null && _m !== void 0 ? _m : [];
|
|
140
|
+
break;
|
|
141
|
+
}
|
|
142
|
+
case StagePanelSection.Middle:
|
|
143
|
+
break; // added to BottomLeft
|
|
144
|
+
case StagePanelSection.End: {
|
|
145
|
+
const middleDynamicWidgetDefs = (_o = UiFramework.widgetManager.getWidgetDefs(stageId, stageUsage, location, StagePanelSection.Middle, frontstageApplicationData)) !== null && _o !== void 0 ? _o : [];
|
|
146
|
+
const bottomDynamicWidgetDefs = (_p = UiFramework.widgetManager.getWidgetDefs(stageId, stageUsage, location, StagePanelSection.End, frontstageApplicationData)) !== null && _p !== void 0 ? _p : [];
|
|
147
|
+
dynamicWidgetDefs = [...middleDynamicWidgetDefs, ...bottomDynamicWidgetDefs];
|
|
148
|
+
break;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
const uniqueDynamicWidgetDefs = dynamicWidgetDefs === null || dynamicWidgetDefs === void 0 ? void 0 : dynamicWidgetDefs.filter((widgetDef) => {
|
|
154
|
+
return ((!allStageWidgetDefs.find((wDef) => wDef.id === widgetDef.id)));
|
|
155
|
+
});
|
|
156
|
+
// Now that we no longer support a middle panel section, yet we have existing API that allows a middle section to be
|
|
157
|
+
// defined, the following is needed to combining middle and end panel section widgets into a single set of widgets
|
|
158
|
+
if (uniqueDynamicWidgetDefs) {
|
|
159
|
+
allStageWidgetDefs.push(...uniqueDynamicWidgetDefs);
|
|
160
|
+
this._dynamicWidgetDefs = [...uniqueDynamicWidgetDefs];
|
|
161
|
+
}
|
|
63
162
|
this.sortWidgetDefs();
|
|
64
163
|
}
|
|
65
164
|
/** 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,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAI7C;;;GAGG;AACH,MAAM,OAAO,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,WAAW,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","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":"AAAA;;;+FAG+F;AAC/F,4CAA4C;AAC5C;;GAEG;AAEH,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC9E,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAG7C;;;GAGG;AACH,MAAM,OAAO,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,kBAA+B,EAAE,yBAA+B;;QAEhE,gEAAgE;QAChE,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE;YAC1D,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;QAEH,kBAAkB,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC;QAE1C,IAAI,iBAAmD,CAAC;QAExD,IAAI,WAAW,CAAC,SAAS,KAAK,GAAG,EAAE;YACjC,uBAAuB;YACvB,IAAI,QAAQ,IAAI,YAAY,EAAE;gBAC5B,QAAQ,QAAQ,EAAE;oBAChB,KAAK,YAAY,CAAC,UAAU;wBAC1B;4BACE,MAAM,uBAAuB,GAAG,MAAA,WAAW,CAAC,aAAa,CAAC,aAAa,CAAC,OAAO,EAAE,UAAU,EAAE,YAAY,CAAC,UAAU,EAAE,OAAO,EAAE,yBAAyB,CAAC,mCAAI,EAAE,CAAC;4BAChK,iBAAiB,GAAG,CAAC,GAAG,uBAAuB,CAAC,CAAC;yBAClD;wBACD,MAAM;oBACR,KAAK,YAAY,CAAC,UAAU;wBAC1B;4BACE,MAAM,uBAAuB,GAAG,MAAA,WAAW,CAAC,aAAa,CAAC,aAAa,CAAC,OAAO,EAAE,UAAU,EAAE,YAAY,CAAC,UAAU,EAAE,OAAO,EAAE,yBAAyB,CAAC,mCAAI,EAAE,CAAC;4BAChK,iBAAiB,GAAG,CAAC,GAAG,uBAAuB,CAAC,CAAC;yBAClD;wBACD,MAAM;oBACR,KAAK,YAAY,CAAC,WAAW;wBAC3B;4BACE,MAAM,uBAAuB,GAAG,MAAA,WAAW,CAAC,aAAa,CAAC,aAAa,CAAC,OAAO,EAAE,UAAU,EAAE,YAAY,CAAC,WAAW,EAAE,OAAO,EAAE,yBAAyB,CAAC,mCAAI,EAAE,CAAC;4BACjK,iBAAiB,GAAG,CAAC,GAAG,uBAAuB,CAAC,CAAC;yBAClD;wBACD,MAAM,CAAC,uBAAuB;oBAChC,KAAK,YAAY,CAAC,WAAW;wBAC3B;4BACE,MAAM,uBAAuB,GAAG,MAAA,WAAW,CAAC,aAAa,CAAC,aAAa,CAAC,OAAO,EAAE,UAAU,EAAE,YAAY,CAAC,WAAW,EAAE,OAAO,EAAE,yBAAyB,CAAC,mCAAI,EAAE,CAAC;4BACjK,iBAAiB,GAAG,CAAC,GAAG,uBAAuB,CAAC,CAAC;yBAClD;wBACD,MAAM;iBACT;aACF;iBAAM,IAAI,CAAC,QAAQ,IAAI,kBAAkB,CAAC,IAAI,SAAS,KAAK,OAAO,EAAE;gBACpE,QAAQ,OAAO,EAAE;oBACf,KAAK,iBAAiB,CAAC,KAAK,CAAC,CAAC;wBAC5B,iBAAiB,GAAG,MAAA,WAAW,CAAC,aAAa,CAAC,aAAa,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,iBAAiB,CAAC,KAAK,EAAE,yBAAyB,CAAC,mCAAI,EAAE,CAAC;wBACrJ,MAAM;qBACP;oBACD,KAAK,iBAAiB,CAAC,MAAM;wBAC3B,MAAM,uBAAuB,GAAG,MAAA,WAAW,CAAC,aAAa,CAAC,aAAa,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,iBAAiB,CAAC,MAAM,EAAE,yBAAyB,CAAC,mCAAI,EAAE,CAAC;wBAClK,iBAAiB,GAAG,CAAC,GAAG,uBAAuB,CAAC,CAAC;wBACjD,MAAM,CAAC,sBAAsB;oBAC/B,KAAK,iBAAiB,CAAC,GAAG,CAAC,CAAC;wBAC1B,MAAM,uBAAuB,GAAG,MAAA,WAAW,CAAC,aAAa,CAAC,aAAa,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,iBAAiB,CAAC,GAAG,EAAE,yBAAyB,CAAC,mCAAI,EAAE,CAAC;wBAC/J,iBAAiB,GAAG,CAAC,GAAG,uBAAuB,CAAC,CAAC;wBACjD,MAAM;qBACP;iBACF;aACF;SAEF;aAAM;YACL,IAAI,QAAQ,IAAI,YAAY,EAAE;gBAC5B,QAAQ,QAAQ,EAAE;oBAChB,KAAK,YAAY,CAAC,UAAU;wBAC1B,MAAM,CAAC,sBAAsB;oBAC/B,KAAK,YAAY,CAAC,UAAU;wBAC1B;4BACE,MAAM,uBAAuB,GAAG,MAAA,WAAW,CAAC,aAAa,CAAC,aAAa,CAAC,OAAO,EAAE,UAAU,EAAE,YAAY,CAAC,UAAU,EAAE,OAAO,EAAE,yBAAyB,CAAC,mCAAI,EAAE,CAAC;4BAChK,MAAM,uBAAuB,GAAG,MAAA,WAAW,CAAC,aAAa,CAAC,aAAa,CAAC,OAAO,EAAE,UAAU,EAAE,YAAY,CAAC,UAAU,EAAE,OAAO,EAAE,yBAAyB,CAAC,mCAAI,EAAE,CAAC;4BAChK,iBAAiB,GAAG,CAAC,GAAG,uBAAuB,EAAE,GAAG,uBAAuB,CAAC,CAAC;yBAC9E;wBACD,MAAM;oBACR,KAAK,YAAY,CAAC,WAAW;wBAC3B,MAAM,CAAC,uBAAuB;oBAChC,KAAK,YAAY,CAAC,WAAW;wBAC3B;4BACE,MAAM,uBAAuB,GAAG,MAAA,WAAW,CAAC,aAAa,CAAC,aAAa,CAAC,OAAO,EAAE,UAAU,EAAE,YAAY,CAAC,WAAW,EAAE,OAAO,EAAE,yBAAyB,CAAC,mCAAI,EAAE,CAAC;4BACjK,MAAM,uBAAuB,GAAG,MAAA,WAAW,CAAC,aAAa,CAAC,aAAa,CAAC,OAAO,EAAE,UAAU,EAAE,YAAY,CAAC,WAAW,EAAE,OAAO,EAAE,yBAAyB,CAAC,mCAAI,EAAE,CAAC;4BACjK,iBAAiB,GAAG,CAAC,GAAG,uBAAuB,EAAE,GAAG,uBAAuB,CAAC,CAAC;yBAC9E;wBACD,MAAM;iBACT;aACF;iBAAM,IAAI,CAAC,QAAQ,IAAI,kBAAkB,CAAC,IAAI,SAAS,KAAK,OAAO,EAAE;gBACpE,QAAQ,OAAO,EAAE;oBACf,KAAK,iBAAiB,CAAC,KAAK,CAAC,CAAC;wBAC5B,iBAAiB,GAAG,MAAA,WAAW,CAAC,aAAa,CAAC,aAAa,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,iBAAiB,CAAC,KAAK,EAAE,yBAAyB,CAAC,mCAAI,EAAE,CAAC;wBACrJ,MAAM;qBACP;oBACD,KAAK,iBAAiB,CAAC,MAAM;wBAC3B,MAAM,CAAC,sBAAsB;oBAC/B,KAAK,iBAAiB,CAAC,GAAG,CAAC,CAAC;wBAC1B,MAAM,uBAAuB,GAAG,MAAA,WAAW,CAAC,aAAa,CAAC,aAAa,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,iBAAiB,CAAC,MAAM,EAAE,yBAAyB,CAAC,mCAAI,EAAE,CAAC;wBAClK,MAAM,uBAAuB,GAAG,MAAA,WAAW,CAAC,aAAa,CAAC,aAAa,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,iBAAiB,CAAC,GAAG,EAAE,yBAAyB,CAAC,mCAAI,EAAE,CAAC;wBAC/J,iBAAiB,GAAG,CAAC,GAAG,uBAAuB,EAAE,GAAG,uBAAuB,CAAC,CAAC;wBAC7E,MAAM;qBACP;iBACF;aACF;SACF;QAED,MAAM,uBAAuB,GAAG,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE;YACtE,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;QAEH,oHAAoH;QACpH,kHAAkH;QAClH,IAAI,uBAAuB,EAAE;YAC3B,kBAAkB,CAAC,IAAI,CAAC,GAAG,uBAAuB,CAAC,CAAC;YACpD,IAAI,CAAC,kBAAkB,GAAG,CAAC,GAAG,uBAAuB,CAAC,CAAC;SACxD;QACD,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","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 (UiFramework.uiVersion === \"1\") {\r\n // istanbul ignore next\r\n if (location in ZoneLocation) {\r\n switch (location) {\r\n case ZoneLocation.CenterLeft:\r\n {\r\n const middleDynamicWidgetDefs = UiFramework.widgetManager.getWidgetDefs(stageId, stageUsage, ZoneLocation.CenterLeft, section, frontstageApplicationData) ?? [];\r\n dynamicWidgetDefs = [...middleDynamicWidgetDefs];\r\n }\r\n break;\r\n case ZoneLocation.BottomLeft:\r\n {\r\n const bottomDynamicWidgetDefs = UiFramework.widgetManager.getWidgetDefs(stageId, stageUsage, ZoneLocation.BottomLeft, section, frontstageApplicationData) ?? [];\r\n dynamicWidgetDefs = [...bottomDynamicWidgetDefs];\r\n }\r\n break;\r\n case ZoneLocation.CenterRight:\r\n {\r\n const middleDynamicWidgetDefs = UiFramework.widgetManager.getWidgetDefs(stageId, stageUsage, ZoneLocation.CenterRight, section, frontstageApplicationData) ?? [];\r\n dynamicWidgetDefs = [...middleDynamicWidgetDefs];\r\n }\r\n break; // added to BottomRight\r\n case ZoneLocation.BottomRight:\r\n {\r\n const bottomDynamicWidgetDefs = UiFramework.widgetManager.getWidgetDefs(stageId, stageUsage, ZoneLocation.BottomRight, section, frontstageApplicationData) ?? [];\r\n dynamicWidgetDefs = [...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 const middleDynamicWidgetDefs = UiFramework.widgetManager.getWidgetDefs(stageId, stageUsage, location, StagePanelSection.Middle, frontstageApplicationData) ?? [];\r\n dynamicWidgetDefs = [...middleDynamicWidgetDefs];\r\n break; // added to BottomLeft\r\n case StagePanelSection.End: {\r\n const bottomDynamicWidgetDefs = UiFramework.widgetManager.getWidgetDefs(stageId, stageUsage, location, StagePanelSection.End, frontstageApplicationData) ?? [];\r\n dynamicWidgetDefs = [...bottomDynamicWidgetDefs];\r\n break;\r\n }\r\n }\r\n }\r\n\r\n } else {\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\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"}
|
|
@@ -89,6 +89,7 @@ export class WidgetManager {
|
|
|
89
89
|
return result;
|
|
90
90
|
}
|
|
91
91
|
// Used when WidgetDefs are requested from UiItemProviders when uiVersion="1"
|
|
92
|
+
// istanbul ignore next
|
|
92
93
|
getStagePanelLocationFromZoneLocation(location) {
|
|
93
94
|
switch (location) {
|
|
94
95
|
case ZoneLocation.BottomCenter:
|
|
@@ -117,7 +118,7 @@ export class WidgetManager {
|
|
|
117
118
|
const widgetDefs = widgetInfos.map((info) => info.widgetDef);
|
|
118
119
|
// Consult the UiItemsManager to get any Abstract widgets
|
|
119
120
|
if (location in StagePanelLocation) {
|
|
120
|
-
const widgets = UiItemsManager.getWidgets(stageId, stageUsage, location, definedSection, frontstageApplicationData);
|
|
121
|
+
const widgets = UiItemsManager.getWidgets(stageId, stageUsage, location, definedSection, undefined, frontstageApplicationData);
|
|
121
122
|
widgets.forEach((abstractProps, index) => {
|
|
122
123
|
const props = WidgetDef.createWidgetPropsFromAbstractProps(abstractProps);
|
|
123
124
|
const stableId = getAddonStableWidgetId(stageUsage, location, definedSection, index);
|