@itwin/appui-react 4.2.1 → 4.3.0-dev.1
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 +1 -6
- package/lib/cjs/appui-react/UiFramework.d.ts +0 -7
- package/lib/cjs/appui-react/UiFramework.d.ts.map +1 -1
- package/lib/cjs/appui-react/UiFramework.js +4 -29
- package/lib/cjs/appui-react/UiFramework.js.map +1 -1
- package/lib/cjs/appui-react/_variables.scss +3 -3
- package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.scss +3 -3
- package/lib/cjs/appui-react/accudraw/AccuDrawInputField.scss +3 -3
- package/lib/cjs/appui-react/backstage/BackstageComposerItem.js +1 -2
- package/lib/cjs/appui-react/backstage/BackstageComposerItem.js.map +1 -1
- package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.d.ts.map +1 -1
- package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.js +2 -3
- package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.js.map +1 -1
- package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.scss +3 -3
- package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.js +1 -1
- package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.js.map +1 -1
- package/lib/cjs/appui-react/configurableui/TimeTracker.js +1 -2
- package/lib/cjs/appui-react/configurableui/TimeTracker.js.map +1 -1
- package/lib/cjs/appui-react/configurableui/configurableui.scss +3 -3
- package/lib/cjs/appui-react/content/ContentLayout.js +9 -12
- package/lib/cjs/appui-react/content/ContentLayout.js.map +1 -1
- package/lib/cjs/appui-react/content/DefaultViewOverlay.js +3 -4
- package/lib/cjs/appui-react/content/DefaultViewOverlay.js.map +1 -1
- package/lib/cjs/appui-react/content/DefaultViewOverlay.scss +3 -3
- package/lib/cjs/appui-react/content/FloatingViewportContent.js +1 -2
- package/lib/cjs/appui-react/content/FloatingViewportContent.js.map +1 -1
- package/lib/cjs/appui-react/content/IModelViewport.js +3 -6
- package/lib/cjs/appui-react/content/IModelViewport.js.map +1 -1
- package/lib/cjs/appui-react/content/InternalContentLayoutManager.js +1 -2
- package/lib/cjs/appui-react/content/InternalContentLayoutManager.js.map +1 -1
- package/lib/cjs/appui-react/content/InternalContentViewManager.js +1 -1
- package/lib/cjs/appui-react/content/InternalContentViewManager.js.map +1 -1
- package/lib/cjs/appui-react/content/split-pane/SplitPane.js +10 -12
- package/lib/cjs/appui-react/content/split-pane/SplitPane.js.map +1 -1
- package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.js +2 -3
- package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
- package/lib/cjs/appui-react/dialog/ContentDialog.js +3 -6
- package/lib/cjs/appui-react/dialog/ContentDialog.js.map +1 -1
- package/lib/cjs/appui-react/dialog/DialogManagerBase.js +2 -3
- package/lib/cjs/appui-react/dialog/DialogManagerBase.js.map +1 -1
- package/lib/cjs/appui-react/feedback/ValidationTextbox.scss +3 -3
- package/lib/cjs/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
- package/lib/cjs/appui-react/frontstage/FrontstageDef.js +27 -9
- package/lib/cjs/appui-react/frontstage/FrontstageDef.js.map +1 -1
- package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js +2 -3
- package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
- package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js +1 -2
- package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
- package/lib/cjs/appui-react/hooks/useAnalysisAnimationDataProvider.js +7 -11
- package/lib/cjs/appui-react/hooks/useAnalysisAnimationDataProvider.js.map +1 -1
- package/lib/cjs/appui-react/hooks/useScheduleAnimationDataProvider.js +7 -11
- package/lib/cjs/appui-react/hooks/useScheduleAnimationDataProvider.js.map +1 -1
- package/lib/cjs/appui-react/hooks/useSolarDataProvider.js +8 -13
- package/lib/cjs/appui-react/hooks/useSolarDataProvider.js.map +1 -1
- package/lib/cjs/appui-react/messages/ActivityMessage.js +5 -7
- package/lib/cjs/appui-react/messages/ActivityMessage.js.map +1 -1
- package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.scss +3 -3
- package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.scss +3 -3
- package/lib/cjs/appui-react/pickers/ViewSelector.d.ts.map +1 -1
- package/lib/cjs/appui-react/pickers/ViewSelector.js +8 -7
- package/lib/cjs/appui-react/pickers/ViewSelector.js.map +1 -1
- package/lib/cjs/appui-react/popup/CardPopup.scss +3 -3
- package/lib/cjs/appui-react/popup/KeyinPalettePanel.js +1 -2
- package/lib/cjs/appui-react/popup/KeyinPalettePanel.js.map +1 -1
- package/lib/cjs/appui-react/popup/PopupManager.js +1 -2
- package/lib/cjs/appui-react/popup/PopupManager.js.map +1 -1
- package/lib/cjs/appui-react/selection/HideIsolateEmphasizeManager.d.ts.map +1 -1
- package/lib/cjs/appui-react/selection/HideIsolateEmphasizeManager.js +0 -53
- package/lib/cjs/appui-react/selection/HideIsolateEmphasizeManager.js.map +1 -1
- package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.js +2 -1
- package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
- package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.scss +3 -3
- package/lib/cjs/appui-react/settings/ui/UiSettingsPage.scss +3 -3
- package/lib/cjs/appui-react/stagepanels/StagePanelDef.js +5 -7
- package/lib/cjs/appui-react/stagepanels/StagePanelDef.js.map +1 -1
- package/lib/cjs/appui-react/statusbar/Indicator.js +1 -2
- package/lib/cjs/appui-react/statusbar/Indicator.js.map +1 -1
- package/lib/cjs/appui-react/statusbar/Separator.scss +3 -3
- package/lib/cjs/appui-react/statusbar/StatusBar.js +3 -5
- package/lib/cjs/appui-react/statusbar/StatusBar.js.map +1 -1
- package/lib/cjs/appui-react/statusfields/SectionsField.scss +3 -3
- package/lib/cjs/appui-react/statusfields/SelectionCount.scss +3 -3
- package/lib/cjs/appui-react/statusfields/SelectionScope.scss +3 -3
- package/lib/cjs/appui-react/statusfields/ViewAttributes.scss +3 -3
- package/lib/cjs/appui-react/statusfields/tileloading/TileLoadingIndicator.scss +3 -3
- package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js +1 -1
- package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
- package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.scss +3 -3
- package/lib/cjs/appui-react/tools/CoreToolDefinitions.js +10 -17
- package/lib/cjs/appui-react/tools/CoreToolDefinitions.js.map +1 -1
- package/lib/cjs/appui-react/toolsettings/DefaultToolSettingsProvider.js +3 -2
- package/lib/cjs/appui-react/toolsettings/DefaultToolSettingsProvider.js.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/AbstractUiItemsManager.js +12 -14
- package/lib/cjs/appui-react/ui-items-provider/AbstractUiItemsManager.js.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js +9 -10
- package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js +1 -2
- package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.js +8 -14
- package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
- package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.js +1 -1
- package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.js.map +1 -1
- package/lib/cjs/appui-react/uiprovider/ComponentGenerator.js +1 -1
- package/lib/cjs/appui-react/uiprovider/ComponentGenerator.js.map +1 -1
- package/lib/cjs/appui-react/utils/InternalUiShowHideManager.js +3 -3
- package/lib/cjs/appui-react/utils/InternalUiShowHideManager.js.map +1 -1
- package/lib/cjs/appui-react/widget-panels/Content.js +8 -9
- package/lib/cjs/appui-react/widget-panels/Content.js.map +1 -1
- package/lib/cjs/appui-react/widget-panels/Frontstage.d.ts +3 -1
- package/lib/cjs/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
- package/lib/cjs/appui-react/widget-panels/Frontstage.js +116 -102
- package/lib/cjs/appui-react/widget-panels/Frontstage.js.map +1 -1
- package/lib/cjs/appui-react/widget-panels/Frontstage.scss +3 -3
- package/lib/cjs/appui-react/widget-panels/StatusBar.js +1 -1
- package/lib/cjs/appui-react/widget-panels/StatusBar.js.map +1 -1
- package/lib/cjs/appui-react/widget-panels/Tab.js +1 -1
- package/lib/cjs/appui-react/widget-panels/Tab.js.map +1 -1
- package/lib/cjs/appui-react/widget-panels/Tab.scss +3 -3
- package/lib/cjs/appui-react/widget-panels/ToolSettings.d.ts +1 -1
- package/lib/cjs/appui-react/widget-panels/ToolSettings.d.ts.map +1 -1
- package/lib/cjs/appui-react/widget-panels/ToolSettings.js +33 -45
- package/lib/cjs/appui-react/widget-panels/ToolSettings.js.map +1 -1
- package/lib/cjs/appui-react/widget-panels/ToolSettings.scss +3 -3
- package/lib/cjs/appui-react/widget-panels/Toolbars.js +2 -3
- package/lib/cjs/appui-react/widget-panels/Toolbars.js.map +1 -1
- package/lib/cjs/appui-react/widget-panels/Toolbars.scss +3 -3
- package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.js +2 -2
- package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
- package/lib/cjs/appui-react/widgets/WidgetDef.d.ts +1 -1
- package/lib/cjs/appui-react/widgets/WidgetDef.d.ts.map +1 -1
- package/lib/cjs/appui-react/widgets/WidgetDef.js +13 -12
- package/lib/cjs/appui-react/widgets/WidgetDef.js.map +1 -1
- package/lib/cjs/appui-react/widgets/WidgetHost.js +2 -3
- package/lib/cjs/appui-react/widgets/WidgetHost.js.map +1 -1
- package/lib/esm/appui-react/UiFramework.d.ts +0 -7
- package/lib/esm/appui-react/UiFramework.d.ts.map +1 -1
- package/lib/esm/appui-react/UiFramework.js +4 -29
- package/lib/esm/appui-react/UiFramework.js.map +1 -1
- package/lib/esm/appui-react/_variables.scss +3 -3
- package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.scss +3 -3
- package/lib/esm/appui-react/accudraw/AccuDrawInputField.scss +3 -3
- package/lib/esm/appui-react/backstage/BackstageComposerItem.js +1 -2
- package/lib/esm/appui-react/backstage/BackstageComposerItem.js.map +1 -1
- package/lib/esm/appui-react/childwindow/InternalChildWindowManager.d.ts.map +1 -1
- package/lib/esm/appui-react/childwindow/InternalChildWindowManager.js +2 -3
- package/lib/esm/appui-react/childwindow/InternalChildWindowManager.js.map +1 -1
- package/lib/esm/appui-react/childwindow/InternalChildWindowManager.scss +3 -3
- package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.js +1 -1
- package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.js.map +1 -1
- package/lib/esm/appui-react/configurableui/TimeTracker.js +1 -2
- package/lib/esm/appui-react/configurableui/TimeTracker.js.map +1 -1
- package/lib/esm/appui-react/configurableui/configurableui.scss +3 -3
- package/lib/esm/appui-react/content/ContentLayout.js +9 -12
- package/lib/esm/appui-react/content/ContentLayout.js.map +1 -1
- package/lib/esm/appui-react/content/DefaultViewOverlay.js +3 -4
- package/lib/esm/appui-react/content/DefaultViewOverlay.js.map +1 -1
- package/lib/esm/appui-react/content/DefaultViewOverlay.scss +3 -3
- package/lib/esm/appui-react/content/FloatingViewportContent.js +1 -2
- package/lib/esm/appui-react/content/FloatingViewportContent.js.map +1 -1
- package/lib/esm/appui-react/content/IModelViewport.js +3 -6
- package/lib/esm/appui-react/content/IModelViewport.js.map +1 -1
- package/lib/esm/appui-react/content/InternalContentLayoutManager.js +1 -2
- package/lib/esm/appui-react/content/InternalContentLayoutManager.js.map +1 -1
- package/lib/esm/appui-react/content/InternalContentViewManager.js +1 -1
- package/lib/esm/appui-react/content/InternalContentViewManager.js.map +1 -1
- package/lib/esm/appui-react/content/split-pane/SplitPane.js +10 -12
- package/lib/esm/appui-react/content/split-pane/SplitPane.js.map +1 -1
- package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.js +2 -3
- package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
- package/lib/esm/appui-react/dialog/ContentDialog.js +3 -6
- package/lib/esm/appui-react/dialog/ContentDialog.js.map +1 -1
- package/lib/esm/appui-react/dialog/DialogManagerBase.js +2 -3
- package/lib/esm/appui-react/dialog/DialogManagerBase.js.map +1 -1
- package/lib/esm/appui-react/feedback/ValidationTextbox.scss +3 -3
- package/lib/esm/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
- package/lib/esm/appui-react/frontstage/FrontstageDef.js +27 -9
- package/lib/esm/appui-react/frontstage/FrontstageDef.js.map +1 -1
- package/lib/esm/appui-react/frontstage/ModalSettingsStage.js +2 -3
- package/lib/esm/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
- package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js +1 -2
- package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
- package/lib/esm/appui-react/hooks/useAnalysisAnimationDataProvider.js +7 -11
- package/lib/esm/appui-react/hooks/useAnalysisAnimationDataProvider.js.map +1 -1
- package/lib/esm/appui-react/hooks/useScheduleAnimationDataProvider.js +7 -11
- package/lib/esm/appui-react/hooks/useScheduleAnimationDataProvider.js.map +1 -1
- package/lib/esm/appui-react/hooks/useSolarDataProvider.js +8 -13
- package/lib/esm/appui-react/hooks/useSolarDataProvider.js.map +1 -1
- package/lib/esm/appui-react/messages/ActivityMessage.js +5 -7
- package/lib/esm/appui-react/messages/ActivityMessage.js.map +1 -1
- package/lib/esm/appui-react/navigationaids/SheetNavigationAid.scss +3 -3
- package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.scss +3 -3
- package/lib/esm/appui-react/pickers/ViewSelector.d.ts.map +1 -1
- package/lib/esm/appui-react/pickers/ViewSelector.js +8 -7
- package/lib/esm/appui-react/pickers/ViewSelector.js.map +1 -1
- package/lib/esm/appui-react/popup/CardPopup.scss +3 -3
- package/lib/esm/appui-react/popup/KeyinPalettePanel.js +1 -2
- package/lib/esm/appui-react/popup/KeyinPalettePanel.js.map +1 -1
- package/lib/esm/appui-react/popup/PopupManager.js +1 -2
- package/lib/esm/appui-react/popup/PopupManager.js.map +1 -1
- package/lib/esm/appui-react/selection/HideIsolateEmphasizeManager.d.ts.map +1 -1
- package/lib/esm/appui-react/selection/HideIsolateEmphasizeManager.js +0 -53
- package/lib/esm/appui-react/selection/HideIsolateEmphasizeManager.js.map +1 -1
- package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.js +2 -1
- package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
- package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.scss +3 -3
- package/lib/esm/appui-react/settings/ui/UiSettingsPage.scss +3 -3
- package/lib/esm/appui-react/stagepanels/StagePanelDef.js +5 -7
- package/lib/esm/appui-react/stagepanels/StagePanelDef.js.map +1 -1
- package/lib/esm/appui-react/statusbar/Indicator.js +1 -2
- package/lib/esm/appui-react/statusbar/Indicator.js.map +1 -1
- package/lib/esm/appui-react/statusbar/Separator.scss +3 -3
- package/lib/esm/appui-react/statusbar/StatusBar.js +3 -5
- package/lib/esm/appui-react/statusbar/StatusBar.js.map +1 -1
- package/lib/esm/appui-react/statusfields/SectionsField.scss +3 -3
- package/lib/esm/appui-react/statusfields/SelectionCount.scss +3 -3
- package/lib/esm/appui-react/statusfields/SelectionScope.scss +3 -3
- package/lib/esm/appui-react/statusfields/ViewAttributes.scss +3 -3
- package/lib/esm/appui-react/statusfields/tileloading/TileLoadingIndicator.scss +3 -3
- package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js +1 -1
- package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
- package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.scss +3 -3
- package/lib/esm/appui-react/tools/CoreToolDefinitions.js +10 -17
- package/lib/esm/appui-react/tools/CoreToolDefinitions.js.map +1 -1
- package/lib/esm/appui-react/toolsettings/DefaultToolSettingsProvider.js +3 -2
- package/lib/esm/appui-react/toolsettings/DefaultToolSettingsProvider.js.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/AbstractUiItemsManager.js +12 -14
- package/lib/esm/appui-react/ui-items-provider/AbstractUiItemsManager.js.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js +9 -10
- package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js +1 -2
- package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/UiItemsManager.js +8 -14
- package/lib/esm/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
- package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.js +1 -1
- package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.js.map +1 -1
- package/lib/esm/appui-react/uiprovider/ComponentGenerator.js +1 -1
- package/lib/esm/appui-react/uiprovider/ComponentGenerator.js.map +1 -1
- package/lib/esm/appui-react/utils/InternalUiShowHideManager.js +3 -3
- package/lib/esm/appui-react/utils/InternalUiShowHideManager.js.map +1 -1
- package/lib/esm/appui-react/widget-panels/Content.js +8 -9
- package/lib/esm/appui-react/widget-panels/Content.js.map +1 -1
- package/lib/esm/appui-react/widget-panels/Frontstage.d.ts +3 -1
- package/lib/esm/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
- package/lib/esm/appui-react/widget-panels/Frontstage.js +113 -99
- package/lib/esm/appui-react/widget-panels/Frontstage.js.map +1 -1
- package/lib/esm/appui-react/widget-panels/Frontstage.scss +3 -3
- package/lib/esm/appui-react/widget-panels/StatusBar.js +1 -1
- package/lib/esm/appui-react/widget-panels/StatusBar.js.map +1 -1
- package/lib/esm/appui-react/widget-panels/Tab.js +1 -1
- package/lib/esm/appui-react/widget-panels/Tab.js.map +1 -1
- package/lib/esm/appui-react/widget-panels/Tab.scss +3 -3
- package/lib/esm/appui-react/widget-panels/ToolSettings.d.ts +1 -1
- package/lib/esm/appui-react/widget-panels/ToolSettings.d.ts.map +1 -1
- package/lib/esm/appui-react/widget-panels/ToolSettings.js +33 -45
- package/lib/esm/appui-react/widget-panels/ToolSettings.js.map +1 -1
- package/lib/esm/appui-react/widget-panels/ToolSettings.scss +3 -3
- package/lib/esm/appui-react/widget-panels/Toolbars.js +2 -3
- package/lib/esm/appui-react/widget-panels/Toolbars.js.map +1 -1
- package/lib/esm/appui-react/widget-panels/Toolbars.scss +3 -3
- package/lib/esm/appui-react/widgets/NavigationWidgetComposer.js +2 -2
- package/lib/esm/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
- package/lib/esm/appui-react/widgets/WidgetDef.d.ts +1 -1
- package/lib/esm/appui-react/widgets/WidgetDef.d.ts.map +1 -1
- package/lib/esm/appui-react/widgets/WidgetDef.js +13 -12
- package/lib/esm/appui-react/widgets/WidgetDef.js.map +1 -1
- package/lib/esm/appui-react/widgets/WidgetHost.js +2 -3
- package/lib/esm/appui-react/widgets/WidgetHost.js.map +1 -1
- package/lib/public/locales/en/UiFramework.json +3 -1
- package/package.json +12 -12
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* @module Frontstage
|
|
8
8
|
*/
|
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
-
exports.useItemsManager = exports.useFrontstageManager = exports.getFrontstageStateSettingName = exports.FRONTSTAGE_SETTINGS_NAMESPACE = exports.useSaveFrontstageSettings = exports.useSavedFrontstageState = exports.setWidgetLabel = exports.expandWidget = exports.showWidget = exports.setWidgetState = exports.isPanelCollapsed = exports.packNineZoneState = exports.restoreNineZoneState = exports.initializeNineZoneState = exports.initializePanel = exports.isFrontstageStateSettingResult = exports.addPanelWidgets = exports.getPanelSectionWidgets = exports.getWidgetId = exports.removeMissingWidgets = exports.addMissingWidgets = exports.appendWidgets = exports.addWidgets = exports.useLabels = exports.ActiveFrontstageDefProvider = exports.WidgetPanelsFrontstage = exports.useNineZoneDispatch = exports.FrameworkStateReducer = exports.useUpdateNineZoneSize = exports.useLayoutStore = void 0;
|
|
10
|
+
exports.useItemsManager = exports.useFrontstageManager = exports.getFrontstageStateSettingName = exports.FRONTSTAGE_SETTINGS_NAMESPACE = exports.useSaveFrontstageSettings = exports.useSavedFrontstageState = exports.setWidgetLabel = exports.expandWidget = exports.showWidget = exports.setWidgetState = exports.isPanelCollapsed = exports.packNineZoneState = exports.restoreNineZoneState = exports.initializeNineZoneState = exports.stateVersion = exports.initializePanel = exports.isFrontstageStateSettingResult = exports.addPanelWidgets = exports.getPanelSectionWidgets = exports.getWidgetId = exports.removeMissingWidgets = exports.addMissingWidgets = exports.appendWidgets = exports.addWidgets = exports.useLabels = exports.ActiveFrontstageDefProvider = exports.WidgetPanelsFrontstage = exports.useNineZoneDispatch = exports.FrameworkStateReducer = exports.useUpdateNineZoneSize = exports.useLayoutStore = void 0;
|
|
11
11
|
// cSpell:ignore popout
|
|
12
12
|
require("./Frontstage.scss");
|
|
13
13
|
const immer_1 = require("immer");
|
|
@@ -55,7 +55,7 @@ const widgetPanelsFrontstage = React.createElement(WidgetPanelsFrontstageCompone
|
|
|
55
55
|
/** @internal */
|
|
56
56
|
function useLayoutStore() {
|
|
57
57
|
const [def, setDef] = React.useState(UiFramework_1.UiFramework.frontstages.activeFrontstageDef);
|
|
58
|
-
const [layout, setLayout] = React.useState(() => (0, appui_layout_react_1.createLayoutStore)(def
|
|
58
|
+
const [layout, setLayout] = React.useState(() => (0, appui_layout_react_1.createLayoutStore)(def?.nineZoneState));
|
|
59
59
|
React.useEffect(() => {
|
|
60
60
|
return UiFramework_1.UiFramework.frontstages.onFrontstageActivatedEvent.addListener((args) => {
|
|
61
61
|
(0, react_dom_1.unstable_batchedUpdates)(() => {
|
|
@@ -108,7 +108,7 @@ function FrameworkStateReducer(state, action, frontstageDef) {
|
|
|
108
108
|
const panel = draft.panels[panelSide];
|
|
109
109
|
const location = toStagePanelLocation(panelSide);
|
|
110
110
|
const panelDef = frontstageDef.getStagePanelDef(location);
|
|
111
|
-
if (panelDef
|
|
111
|
+
if (panelDef?.maxSizeSpec) {
|
|
112
112
|
panel.maxSize = getPanelMaxSize(panelDef.maxSizeSpec, panelSide, action.size);
|
|
113
113
|
if (panel.size) {
|
|
114
114
|
panel.size = Math.min(Math.max(panel.size, panel.minSize), panel.maxSize);
|
|
@@ -126,14 +126,6 @@ function useNineZoneDispatch(frontstageDef) {
|
|
|
126
126
|
if (action.type === "RESIZE") {
|
|
127
127
|
InternalFrontstageManager_1.InternalFrontstageManager.nineZoneSize = core_react_1.Size.create(action.size);
|
|
128
128
|
}
|
|
129
|
-
// istanbul ignore if
|
|
130
|
-
if (action.type === "TOOL_SETTINGS_DRAG_START") {
|
|
131
|
-
void UiFramework_1.UiFramework.postTelemetry("Tool Settings Undocking", "28B04E07-AE73-4533-A0BA-8E2A8DC99ADF");
|
|
132
|
-
}
|
|
133
|
-
// istanbul ignore if
|
|
134
|
-
if (action.type === "TOOL_SETTINGS_DOCK") {
|
|
135
|
-
void UiFramework_1.UiFramework.postTelemetry("Tool Settings Docking to Settings Bar", "BEDE684B-B3DB-4637-B3AF-DC3CBA223F94");
|
|
136
|
-
}
|
|
137
129
|
if (action.type === "WIDGET_TAB_POPOUT") {
|
|
138
130
|
const tabId = action.id;
|
|
139
131
|
frontstageDef.popoutWidget(tabId);
|
|
@@ -214,31 +206,33 @@ function useLabels() {
|
|
|
214
206
|
}), []);
|
|
215
207
|
}
|
|
216
208
|
exports.useLabels = useLabels;
|
|
209
|
+
function toTabArgs(widget) {
|
|
210
|
+
const label = getWidgetLabel(widget.label);
|
|
211
|
+
return {
|
|
212
|
+
allowedPanelTargets: widget.allowedPanelTargets?.map((location) => (0, StagePanelDef_1.toPanelSide)(location)),
|
|
213
|
+
hideWithUiWhenFloating: !!widget.hideWithUiWhenFloating,
|
|
214
|
+
canPopout: widget.canPopout,
|
|
215
|
+
iconSpec: widget.iconSpec,
|
|
216
|
+
isFloatingStateWindowResizable: widget.isFloatingStateWindowResizable,
|
|
217
|
+
label,
|
|
218
|
+
preferredFloatingWidgetSize: widget.defaultFloatingSize,
|
|
219
|
+
preferredPanelWidgetSize: widget.preferredPanelSize,
|
|
220
|
+
};
|
|
221
|
+
}
|
|
217
222
|
/** @internal */
|
|
218
223
|
function addWidgets(state, widgets, side, widgetId) {
|
|
219
|
-
var _a;
|
|
220
224
|
const visibleWidgets = widgets.filter((w) => w.isVisible && w.defaultState !== WidgetState_1.WidgetState.Floating);
|
|
221
225
|
if (visibleWidgets.length === 0)
|
|
222
226
|
return state;
|
|
223
227
|
const tabs = new Array();
|
|
224
228
|
for (const widget of visibleWidgets) {
|
|
225
|
-
|
|
226
|
-
state = (0, appui_layout_react_1.addTab)(state, widget.id, {
|
|
227
|
-
label,
|
|
228
|
-
iconSpec: widget.iconSpec,
|
|
229
|
-
preferredPanelWidgetSize: widget.preferredPanelSize,
|
|
230
|
-
preferredFloatingWidgetSize: widget.defaultFloatingSize,
|
|
231
|
-
canPopout: widget.canPopout,
|
|
232
|
-
isFloatingStateWindowResizable: widget.isFloatingStateWindowResizable,
|
|
233
|
-
hideWithUiWhenFloating: !!widget.hideWithUiWhenFloating,
|
|
234
|
-
allowedPanelTargets: (_a = widget.allowedPanelTargets) === null || _a === void 0 ? void 0 : _a.map((location) => (0, StagePanelDef_1.toPanelSide)(location)),
|
|
235
|
-
});
|
|
229
|
+
state = (0, appui_layout_react_1.addTab)(state, widget.id, toTabArgs(widget));
|
|
236
230
|
tabs.push(widget.id);
|
|
237
231
|
}
|
|
238
232
|
const activeWidget = visibleWidgets.find((widget) => widget.isActive);
|
|
239
233
|
const minimized = false;
|
|
240
234
|
// istanbul ignore else
|
|
241
|
-
if (
|
|
235
|
+
if (activeWidget?.defaultState !== WidgetState_1.WidgetState.Floating) {
|
|
242
236
|
state = (0, appui_layout_react_1.addPanelWidget)(state, side, widgetId, tabs, {
|
|
243
237
|
activeTabId: activeWidget ? activeWidget.id : tabs[0],
|
|
244
238
|
minimized,
|
|
@@ -250,13 +244,9 @@ exports.addWidgets = addWidgets;
|
|
|
250
244
|
/** @internal */
|
|
251
245
|
// istanbul ignore next
|
|
252
246
|
function appendWidgets(state, widgetDefs, location, section) {
|
|
253
|
-
var _a, _b;
|
|
254
|
-
if (widgetDefs.length === 0)
|
|
255
|
-
return state;
|
|
256
247
|
const side = (0, StagePanelDef_1.toPanelSide)(location);
|
|
257
248
|
// Add missing widget tabs.
|
|
258
249
|
for (const widgetDef of widgetDefs) {
|
|
259
|
-
const label = getWidgetLabel(widgetDef.label);
|
|
260
250
|
const saveTab = state.tabs[widgetDef.id];
|
|
261
251
|
const preferredPanelWidgetSize = saveTab
|
|
262
252
|
? saveTab.preferredPanelWidgetSize
|
|
@@ -271,19 +261,14 @@ function appendWidgets(state, widgetDefs, location, section) {
|
|
|
271
261
|
!!saveTab.preferredFloatingWidgetSize)
|
|
272
262
|
: !!widgetDef.defaultFloatingSize;
|
|
273
263
|
state = (0, appui_layout_react_1.addTab)(state, widgetDef.id, {
|
|
274
|
-
|
|
275
|
-
iconSpec: widgetDef.iconSpec,
|
|
276
|
-
canPopout: widgetDef.canPopout,
|
|
277
|
-
preferredPanelWidgetSize,
|
|
264
|
+
...toTabArgs(widgetDef),
|
|
278
265
|
preferredFloatingWidgetSize,
|
|
266
|
+
preferredPanelWidgetSize,
|
|
279
267
|
userSized,
|
|
280
|
-
isFloatingStateWindowResizable: widgetDef.isFloatingStateWindowResizable,
|
|
281
|
-
hideWithUiWhenFloating: !!widgetDef.hideWithUiWhenFloating,
|
|
282
|
-
allowedPanelTargets: (_a = widgetDef.allowedPanelTargets) === null || _a === void 0 ? void 0 : _a.map((l) => (0, StagePanelDef_1.toPanelSide)(l)),
|
|
283
268
|
});
|
|
284
269
|
if (widgetDef.isFloatingStateSupported &&
|
|
285
270
|
widgetDef.defaultState === WidgetState_1.WidgetState.Floating) {
|
|
286
|
-
const floatingContainerId =
|
|
271
|
+
const floatingContainerId = widgetDef.floatingContainerId ?? (0, appui_layout_react_1.getUniqueId)();
|
|
287
272
|
const widgetContainerId = getWidgetId(location, section);
|
|
288
273
|
const home = {
|
|
289
274
|
side,
|
|
@@ -301,7 +286,7 @@ function appendWidgets(state, widgetDefs, location, section) {
|
|
|
301
286
|
width: 300,
|
|
302
287
|
...tab.preferredFloatingWidgetSize,
|
|
303
288
|
};
|
|
304
|
-
const preferredPoint = preferredPosition
|
|
289
|
+
const preferredPoint = preferredPosition ?? {
|
|
305
290
|
x: (state.size.width - size.width) / 2,
|
|
306
291
|
y: (state.size.height - size.height) / 2,
|
|
307
292
|
};
|
|
@@ -361,16 +346,29 @@ function processPopoutWidgets(initialState, frontstageDef) {
|
|
|
361
346
|
* @internal
|
|
362
347
|
*/
|
|
363
348
|
function addMissingWidgets(frontstageDef, initialState) {
|
|
364
|
-
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
365
349
|
let state = initialState;
|
|
366
|
-
state = appendWidgets(state, determineNewWidgets(
|
|
367
|
-
|
|
368
|
-
state = appendWidgets(state, determineNewWidgets(
|
|
369
|
-
|
|
370
|
-
state = appendWidgets(state, determineNewWidgets(
|
|
371
|
-
|
|
372
|
-
state = appendWidgets(state, determineNewWidgets(
|
|
373
|
-
|
|
350
|
+
state = appendWidgets(state, determineNewWidgets(frontstageDef.leftPanel?.getPanelSectionDef(StagePanelSection_1.StagePanelSection.Start)
|
|
351
|
+
.widgetDefs, state), StagePanelLocation_1.StagePanelLocation.Left, StagePanelSection_1.StagePanelSection.Start);
|
|
352
|
+
state = appendWidgets(state, determineNewWidgets(frontstageDef.leftPanel?.getPanelSectionDef(StagePanelSection_1.StagePanelSection.End)
|
|
353
|
+
.widgetDefs, state), StagePanelLocation_1.StagePanelLocation.Left, StagePanelSection_1.StagePanelSection.End);
|
|
354
|
+
state = appendWidgets(state, determineNewWidgets(frontstageDef.rightPanel?.getPanelSectionDef(StagePanelSection_1.StagePanelSection.Start)
|
|
355
|
+
.widgetDefs, state), StagePanelLocation_1.StagePanelLocation.Right, StagePanelSection_1.StagePanelSection.Start);
|
|
356
|
+
state = appendWidgets(state, determineNewWidgets(frontstageDef.rightPanel?.getPanelSectionDef(StagePanelSection_1.StagePanelSection.End)
|
|
357
|
+
.widgetDefs, state), StagePanelLocation_1.StagePanelLocation.Right, StagePanelSection_1.StagePanelSection.End);
|
|
358
|
+
state = appendWidgets(state, determineNewWidgets(frontstageDef.topPanel?.getPanelSectionDef(StagePanelSection_1.StagePanelSection.Start)
|
|
359
|
+
.widgetDefs, state), StagePanelLocation_1.StagePanelLocation.Top, StagePanelSection_1.StagePanelSection.Start);
|
|
360
|
+
state = appendWidgets(state, determineNewWidgets(frontstageDef.topPanel?.getPanelSectionDef(StagePanelSection_1.StagePanelSection.End)
|
|
361
|
+
.widgetDefs, state), StagePanelLocation_1.StagePanelLocation.Top, StagePanelSection_1.StagePanelSection.End);
|
|
362
|
+
state = appendWidgets(state, determineNewWidgets(frontstageDef.bottomPanel?.getPanelSectionDef(StagePanelSection_1.StagePanelSection.Start)
|
|
363
|
+
.widgetDefs, state), StagePanelLocation_1.StagePanelLocation.Bottom, StagePanelSection_1.StagePanelSection.Start);
|
|
364
|
+
state = appendWidgets(state, determineNewWidgets(frontstageDef.bottomPanel?.getPanelSectionDef(StagePanelSection_1.StagePanelSection.End)
|
|
365
|
+
.widgetDefs, state), StagePanelLocation_1.StagePanelLocation.Bottom, StagePanelSection_1.StagePanelSection.End);
|
|
366
|
+
if (frontstageDef.toolSettings) {
|
|
367
|
+
const newToolSettingsWidgets = determineNewWidgets([frontstageDef.toolSettings], state);
|
|
368
|
+
for (const newToolSettingsWidget of newToolSettingsWidgets) {
|
|
369
|
+
state = (0, appui_layout_react_1.addTab)(state, newToolSettingsWidget.id, toTabArgs(newToolSettingsWidget));
|
|
370
|
+
}
|
|
371
|
+
}
|
|
374
372
|
return state;
|
|
375
373
|
}
|
|
376
374
|
exports.addMissingWidgets = addMissingWidgets;
|
|
@@ -390,10 +388,10 @@ function hideWidgets(state, frontstageDef) {
|
|
|
390
388
|
/** Removes NineZoneState widgets that are missing in frontstageDef.
|
|
391
389
|
* @internal
|
|
392
390
|
*/
|
|
393
|
-
function removeMissingWidgets(frontstageDef,
|
|
394
|
-
|
|
391
|
+
function removeMissingWidgets(frontstageDef, state) {
|
|
392
|
+
const toolSettingsTabId = state.toolSettings?.tabId;
|
|
395
393
|
for (const [, tab] of Object.entries(state.tabs)) {
|
|
396
|
-
if (tab.id ===
|
|
394
|
+
if (tab.id === toolSettingsTabId)
|
|
397
395
|
continue;
|
|
398
396
|
const widgetDef = frontstageDef.findWidgetDef(tab.id);
|
|
399
397
|
if (widgetDef)
|
|
@@ -447,8 +445,8 @@ exports.getWidgetId = getWidgetId;
|
|
|
447
445
|
/** @internal */
|
|
448
446
|
function getPanelSectionWidgets(frontstageDef, location, section) {
|
|
449
447
|
const stagePanel = frontstageDef.getStagePanelDef(location);
|
|
450
|
-
const panelSection = stagePanel
|
|
451
|
-
return
|
|
448
|
+
const panelSection = stagePanel?.getPanelSectionDef(section);
|
|
449
|
+
return panelSection?.widgetDefs || [];
|
|
452
450
|
}
|
|
453
451
|
exports.getPanelSectionWidgets = getPanelSectionWidgets;
|
|
454
452
|
/** @internal */
|
|
@@ -476,15 +474,14 @@ function initializePanel(state, frontstageDef, location) {
|
|
|
476
474
|
state = addPanelWidgets(state, frontstageDef, location);
|
|
477
475
|
const panelDef = frontstageDef.getStagePanelDef(location);
|
|
478
476
|
state = (0, immer_1.default)(state, (draft) => {
|
|
479
|
-
var _a, _b, _c;
|
|
480
477
|
const panel = draft.panels[panelSide];
|
|
481
|
-
panel.minSize =
|
|
482
|
-
panel.pinned =
|
|
483
|
-
panel.resizable =
|
|
484
|
-
if (panelDef
|
|
478
|
+
panel.minSize = panelDef?.minSize ?? panel.minSize;
|
|
479
|
+
panel.pinned = panelDef?.pinned ?? panel.pinned;
|
|
480
|
+
panel.resizable = panelDef?.resizable ?? panel.resizable;
|
|
481
|
+
if (panelDef?.maxSizeSpec) {
|
|
485
482
|
panel.maxSize = getPanelMaxSize(panelDef.maxSizeSpec, panelSide, state.size);
|
|
486
483
|
}
|
|
487
|
-
const size = panelDef
|
|
484
|
+
const size = panelDef?.size;
|
|
488
485
|
panel.size =
|
|
489
486
|
size === undefined
|
|
490
487
|
? size
|
|
@@ -502,7 +499,8 @@ function getPanelMaxSize(maxSizeSpec, panel, nineZoneSize) {
|
|
|
502
499
|
: nineZoneSize.width;
|
|
503
500
|
return (maxSizeSpec.percentage / 100) * size;
|
|
504
501
|
}
|
|
505
|
-
|
|
502
|
+
/** @internal */
|
|
503
|
+
exports.stateVersion = 14; // this needs to be bumped when NineZoneState is changed (to recreate the layout).
|
|
506
504
|
/** @internal */
|
|
507
505
|
function initializeNineZoneState(frontstageDef) {
|
|
508
506
|
let nineZone = defaultNineZone;
|
|
@@ -519,30 +517,26 @@ function initializeNineZoneState(frontstageDef) {
|
|
|
519
517
|
nineZone = initializePanel(nineZone, frontstageDef, StagePanelLocation_1.StagePanelLocation.Right);
|
|
520
518
|
nineZone = initializePanel(nineZone, frontstageDef, StagePanelLocation_1.StagePanelLocation.Top);
|
|
521
519
|
nineZone = initializePanel(nineZone, frontstageDef, StagePanelLocation_1.StagePanelLocation.Bottom);
|
|
522
|
-
nineZone = (0, immer_1.default)(nineZone, (
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
const
|
|
526
|
-
const firstWidget = panel.widgets.length > 0
|
|
527
|
-
? stateDraft.widgets[panel.widgets[0]]
|
|
528
|
-
: undefined;
|
|
520
|
+
nineZone = (0, immer_1.default)(nineZone, (draft) => {
|
|
521
|
+
for (const [, panel] of Object.entries(draft.panels)) {
|
|
522
|
+
const expanded = panel.widgets.find((widgetId) => draft.widgets[widgetId].minimized === false);
|
|
523
|
+
const firstWidget = panel.widgets.length > 0 ? draft.widgets[panel.widgets[0]] : undefined;
|
|
529
524
|
// istanbul ignore next
|
|
530
525
|
if (!expanded && firstWidget) {
|
|
531
526
|
firstWidget.minimized = false;
|
|
532
527
|
}
|
|
533
528
|
}
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
const toolSettingsWidgetDef = frontstageDef.toolSettings;
|
|
539
|
-
if (toolSettingsWidgetDef) {
|
|
540
|
-
const toolSettingsTab = stateDraft.tabs[appui_layout_react_1.toolSettingsTabId];
|
|
541
|
-
toolSettingsTab.preferredPanelWidgetSize =
|
|
542
|
-
toolSettingsWidgetDef.preferredPanelSize;
|
|
543
|
-
}
|
|
529
|
+
draft.panels.left.collapsed = isPanelCollapsed(frontstageDef.leftPanel?.panelState);
|
|
530
|
+
draft.panels.right.collapsed = isPanelCollapsed(frontstageDef.rightPanel?.panelState);
|
|
531
|
+
draft.panels.top.collapsed = isPanelCollapsed(frontstageDef.topPanel?.panelState);
|
|
532
|
+
draft.panels.bottom.collapsed = isPanelCollapsed(frontstageDef.bottomPanel?.panelState);
|
|
544
533
|
});
|
|
545
534
|
nineZone = addMissingWidgets(frontstageDef, nineZone);
|
|
535
|
+
const toolSettingsWidgetDef = frontstageDef.toolSettings;
|
|
536
|
+
if (toolSettingsWidgetDef) {
|
|
537
|
+
const toolSettingsTabId = toolSettingsWidgetDef.id;
|
|
538
|
+
nineZone = (0, appui_layout_react_1.addDockedToolSettings)(nineZone, toolSettingsTabId);
|
|
539
|
+
}
|
|
546
540
|
nineZone = hideWidgets(nineZone, frontstageDef);
|
|
547
541
|
nineZone = processPopoutWidgets(nineZone, frontstageDef);
|
|
548
542
|
return nineZone;
|
|
@@ -556,7 +550,7 @@ exports.initializeNineZoneState = initializeNineZoneState;
|
|
|
556
550
|
function restoreNineZoneState(frontstageDef, saved) {
|
|
557
551
|
let restored = {
|
|
558
552
|
...saved,
|
|
559
|
-
tabs:
|
|
553
|
+
tabs: {},
|
|
560
554
|
};
|
|
561
555
|
for (const [, tab] of Object.entries(saved.tabs)) {
|
|
562
556
|
// Re-add the placeholder tab in order to correctly remove it from the state if WidgetDef is not found.
|
|
@@ -571,15 +565,11 @@ function restoreNineZoneState(frontstageDef, saved) {
|
|
|
571
565
|
continue;
|
|
572
566
|
}
|
|
573
567
|
restored = (0, immer_1.default)(restored, (draft) => {
|
|
574
|
-
var _a;
|
|
575
568
|
draft.tabs[tab.id] = {
|
|
576
569
|
...tab,
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
canPopout: widgetDef.canPopout,
|
|
581
|
-
isFloatingStateWindowResizable: widgetDef.isFloatingStateWindowResizable,
|
|
582
|
-
allowedPanelTargets: (_a = widgetDef.allowedPanelTargets) === null || _a === void 0 ? void 0 : _a.map((location) => (0, StagePanelDef_1.toPanelSide)(location)),
|
|
570
|
+
...toTabArgs(widgetDef),
|
|
571
|
+
preferredFloatingWidgetSize: tab.preferredFloatingWidgetSize,
|
|
572
|
+
preferredPanelWidgetSize: tab.preferredPanelWidgetSize,
|
|
583
573
|
};
|
|
584
574
|
});
|
|
585
575
|
}
|
|
@@ -637,12 +627,9 @@ function packNineZoneState(state) {
|
|
|
637
627
|
};
|
|
638
628
|
packed = (0, immer_1.default)(packed, (draft) => {
|
|
639
629
|
for (const [, tab] of Object.entries(state.tabs)) {
|
|
640
|
-
if (tab.id === appui_layout_react_1.toolSettingsTabId)
|
|
641
|
-
continue;
|
|
642
630
|
draft.tabs[tab.id] = {
|
|
643
631
|
id: tab.id,
|
|
644
632
|
preferredFloatingWidgetSize: tab.preferredFloatingWidgetSize,
|
|
645
|
-
allowedPanelTargets: tab.allowedPanelTargets,
|
|
646
633
|
userSized: tab.userSized,
|
|
647
634
|
};
|
|
648
635
|
}
|
|
@@ -737,19 +724,27 @@ function addHiddenWidget(state, widgetDef) {
|
|
|
737
724
|
}
|
|
738
725
|
/** @internal */
|
|
739
726
|
function setWidgetState(state, widgetDef, widgetState) {
|
|
740
|
-
var _a, _b;
|
|
741
727
|
if (widgetState === WidgetState_1.WidgetState.Hidden) {
|
|
742
728
|
return hideWidget(state, widgetDef);
|
|
743
729
|
}
|
|
744
730
|
else if (widgetState === WidgetState_1.WidgetState.Open) {
|
|
745
731
|
const id = widgetDef.id;
|
|
732
|
+
if (widgetDef.isToolSettings) {
|
|
733
|
+
if (!state.toolSettings && !widgetDef.tabLocation) {
|
|
734
|
+
state = (0, appui_layout_react_1.addDockedToolSettings)(state, id);
|
|
735
|
+
}
|
|
736
|
+
if (state.toolSettings?.type === "docked")
|
|
737
|
+
return state;
|
|
738
|
+
}
|
|
746
739
|
let location = (0, appui_layout_react_1.getTabLocation)(state, id);
|
|
747
740
|
if (!location) {
|
|
748
741
|
state = addHiddenWidget(state, widgetDef);
|
|
749
742
|
location = (0, appui_layout_react_1.getTabLocation)(state, id);
|
|
743
|
+
if (widgetDef.isToolSettings) {
|
|
744
|
+
state = (0, appui_layout_react_1.addWidgetToolSettings)(state, id);
|
|
745
|
+
}
|
|
750
746
|
}
|
|
751
747
|
return (0, immer_1.default)(state, (draft) => {
|
|
752
|
-
var _a;
|
|
753
748
|
(0, core_bentley_1.assert)(!!location);
|
|
754
749
|
const widget = draft.widgets[location.widgetId];
|
|
755
750
|
widget.minimized = false;
|
|
@@ -764,13 +759,16 @@ function setWidgetState(state, widgetDef, widgetState) {
|
|
|
764
759
|
panel.collapsed = false;
|
|
765
760
|
if (undefined === panel.size || 0 === panel.size) {
|
|
766
761
|
// istanbul ignore next
|
|
767
|
-
panel.size =
|
|
762
|
+
panel.size = panel.minSize ?? 200;
|
|
768
763
|
}
|
|
769
764
|
}
|
|
770
765
|
});
|
|
771
766
|
}
|
|
772
767
|
else if (widgetState === WidgetState_1.WidgetState.Closed) {
|
|
773
768
|
const id = widgetDef.id;
|
|
769
|
+
if (widgetDef.isToolSettings && state.toolSettings?.type !== "widget") {
|
|
770
|
+
return state;
|
|
771
|
+
}
|
|
774
772
|
let location = (0, appui_layout_react_1.getTabLocation)(state, id);
|
|
775
773
|
if (!location) {
|
|
776
774
|
state = addHiddenWidget(state, widgetDef);
|
|
@@ -799,14 +797,31 @@ function setWidgetState(state, widgetDef, widgetState) {
|
|
|
799
797
|
return state;
|
|
800
798
|
// Widget is not floating.
|
|
801
799
|
state = (0, appui_layout_react_1.removeTabFromWidget)(state, id);
|
|
802
|
-
const bounds =
|
|
800
|
+
const bounds = widgetDef.tabLocation?.floatingWidget?.bounds;
|
|
803
801
|
state = (0, appui_layout_react_1.addFloatingWidget)(state, (0, appui_layout_react_1.getUniqueId)(), [id], { bounds });
|
|
802
|
+
if (widgetDef.isToolSettings) {
|
|
803
|
+
if (state.toolSettings?.type === "docked") {
|
|
804
|
+
state = (0, appui_layout_react_1.removeToolSettings)(state);
|
|
805
|
+
}
|
|
806
|
+
if (!state.toolSettings) {
|
|
807
|
+
state = (0, appui_layout_react_1.addWidgetToolSettings)(state, id);
|
|
808
|
+
}
|
|
809
|
+
}
|
|
804
810
|
}
|
|
805
811
|
return state;
|
|
806
812
|
}
|
|
807
813
|
exports.setWidgetState = setWidgetState;
|
|
808
814
|
/** Stores widget location and hides it in the UI. */
|
|
809
815
|
function hideWidget(state, widgetDef) {
|
|
816
|
+
const toolSettingsTabId = state.toolSettings?.tabId;
|
|
817
|
+
if (widgetDef.id === toolSettingsTabId) {
|
|
818
|
+
widgetDef.tabLocation = undefined;
|
|
819
|
+
state = (0, immer_1.default)(state, (draft) => {
|
|
820
|
+
draft.toolSettings = undefined;
|
|
821
|
+
});
|
|
822
|
+
if (state.toolSettings?.type === "docked")
|
|
823
|
+
return state;
|
|
824
|
+
}
|
|
810
825
|
const location = (0, appui_layout_react_1.getTabLocation)(state, widgetDef.id);
|
|
811
826
|
if (!location)
|
|
812
827
|
return state;
|
|
@@ -913,8 +928,8 @@ function useSavedFrontstageState(frontstageDef) {
|
|
|
913
928
|
return;
|
|
914
929
|
if (isFrontstageStateSettingResult(settingResult)) {
|
|
915
930
|
const setting = settingResult.setting;
|
|
916
|
-
if (setting.version
|
|
917
|
-
setting.stateVersion
|
|
931
|
+
if (setting.version === version &&
|
|
932
|
+
setting.stateVersion === exports.stateVersion) {
|
|
918
933
|
const restored = restoreNineZoneState(frontstageDef, setting.nineZone);
|
|
919
934
|
frontstageDef.savedWidgetDefs = setting.widgets;
|
|
920
935
|
restoreSavedWidgets(frontstageDef);
|
|
@@ -942,7 +957,7 @@ function useSaveFrontstageSettings(frontstageDef, store) {
|
|
|
942
957
|
const setting = {
|
|
943
958
|
id,
|
|
944
959
|
version: frontstage.version,
|
|
945
|
-
stateVersion,
|
|
960
|
+
stateVersion: exports.stateVersion,
|
|
946
961
|
nineZone: packNineZoneState(state),
|
|
947
962
|
widgets,
|
|
948
963
|
};
|
|
@@ -1004,14 +1019,11 @@ const createListener = (frontstageDef, listener) => {
|
|
|
1004
1019
|
/** @internal */
|
|
1005
1020
|
function useFrontstageManager(frontstageDef, useToolAsToolSettingsLabel) {
|
|
1006
1021
|
React.useEffect(() => {
|
|
1007
|
-
|
|
1008
|
-
|
|
1022
|
+
return UiFramework_1.UiFramework.frontstages.onWidgetStateChangedEvent.addListener(({ widgetDef, widgetState }) => {
|
|
1023
|
+
if (!frontstageDef.nineZoneState)
|
|
1024
|
+
return;
|
|
1009
1025
|
frontstageDef.nineZoneState = setWidgetState(frontstageDef.nineZoneState, widgetDef, widgetState);
|
|
1010
1026
|
});
|
|
1011
|
-
UiFramework_1.UiFramework.frontstages.onWidgetStateChangedEvent.addListener(listener);
|
|
1012
|
-
return () => {
|
|
1013
|
-
UiFramework_1.UiFramework.frontstages.onWidgetStateChangedEvent.removeListener(listener);
|
|
1014
|
-
};
|
|
1015
1027
|
}, [frontstageDef]);
|
|
1016
1028
|
React.useEffect(() => {
|
|
1017
1029
|
const listener = createListener(frontstageDef, ({ widgetDef }) => {
|
|
@@ -1069,13 +1081,15 @@ function useFrontstageManager(frontstageDef, useToolAsToolSettingsLabel) {
|
|
|
1069
1081
|
const defaultLabel = React.useMemo(() => UiFramework_1.UiFramework.translate("widget.labels.toolSettings"), []);
|
|
1070
1082
|
React.useEffect(() => {
|
|
1071
1083
|
const updateLabel = createListener(frontstageDef, () => {
|
|
1072
|
-
var _a;
|
|
1073
1084
|
const toolId = UiFramework_1.UiFramework.frontstages.activeToolId;
|
|
1074
1085
|
(0, core_bentley_1.assert)(!!frontstageDef.nineZoneState);
|
|
1075
1086
|
const label = useToolAsToolSettingsLabel
|
|
1076
|
-
?
|
|
1087
|
+
? core_frontend_1.IModelApp.tools.find(toolId)?.flyover || defaultLabel
|
|
1077
1088
|
: defaultLabel;
|
|
1078
|
-
|
|
1089
|
+
const toolSettingsTabId = frontstageDef.nineZoneState.toolSettings?.tabId;
|
|
1090
|
+
if (!toolSettingsTabId)
|
|
1091
|
+
return;
|
|
1092
|
+
frontstageDef.nineZoneState = setWidgetLabel(frontstageDef.nineZoneState, toolSettingsTabId, label);
|
|
1079
1093
|
});
|
|
1080
1094
|
// Whenever the frontstageDef or the useTool... changes, keep the label up to date.
|
|
1081
1095
|
updateLabel();
|