@itwin/appui-react 4.3.1 → 4.5.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 +22 -4
- package/lib/cjs/appui-react/UiFramework.d.ts.map +1 -1
- package/lib/cjs/appui-react/UiFramework.js +14 -16
- package/lib/cjs/appui-react/UiFramework.js.map +1 -1
- 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.js +1 -1
- package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.js.map +1 -1
- 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/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/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.d.ts +1 -1
- package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.d.ts.map +1 -1
- package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.js +6 -6
- 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/frontstage/FrontstageDef.js +5 -7
- 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/pickers/ViewSelector.js +5 -6
- package/lib/cjs/appui-react/pickers/ViewSelector.js.map +1 -1
- 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 +3 -0
- package/lib/cjs/appui-react/selection/HideIsolateEmphasizeManager.js.map +1 -1
- package/lib/cjs/appui-react/selection/SelectionContextItemDef.d.ts.map +1 -1
- package/lib/cjs/appui-react/selection/SelectionContextItemDef.js +12 -8
- package/lib/cjs/appui-react/selection/SelectionContextItemDef.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/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/StatusBar.js +3 -5
- package/lib/cjs/appui-react/statusbar/StatusBar.js.map +1 -1
- 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/syncui/SyncUiEventDispatcher.d.ts +6 -4
- package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.d.ts.map +1 -1
- package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.js +49 -78
- package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.js.map +1 -1
- package/lib/cjs/appui-react/toolbar/Toolbar.d.ts +11 -1
- package/lib/cjs/appui-react/toolbar/Toolbar.d.ts.map +1 -1
- package/lib/cjs/appui-react/toolbar/Toolbar.js +3 -2
- package/lib/cjs/appui-react/toolbar/Toolbar.js.map +1 -1
- package/lib/cjs/appui-react/toolbar/ToolbarComposer.d.ts +2 -1
- package/lib/cjs/appui-react/toolbar/ToolbarComposer.d.ts.map +1 -1
- package/lib/cjs/appui-react/toolbar/ToolbarComposer.js +45 -129
- package/lib/cjs/appui-react/toolbar/ToolbarComposer.js.map +1 -1
- package/lib/cjs/appui-react/toolbar/ToolbarHelper.d.ts +6 -3
- package/lib/cjs/appui-react/toolbar/ToolbarHelper.d.ts.map +1 -1
- package/lib/cjs/appui-react/toolbar/ToolbarHelper.js +53 -80
- package/lib/cjs/appui-react/toolbar/ToolbarHelper.js.map +1 -1
- package/lib/cjs/appui-react/toolbar/ToolbarItem.d.ts +2 -2
- package/lib/cjs/appui-react/toolbar/ToolbarItem.d.ts.map +1 -1
- package/lib/cjs/appui-react/toolbar/ToolbarItem.js +2 -2
- package/lib/cjs/appui-react/toolbar/ToolbarItem.js.map +1 -1
- package/lib/cjs/appui-react/toolbar/ToolbarItemsManager.d.ts +1 -0
- package/lib/cjs/appui-react/toolbar/ToolbarItemsManager.d.ts.map +1 -1
- package/lib/cjs/appui-react/toolbar/ToolbarItemsManager.js +12 -2
- package/lib/cjs/appui-react/toolbar/ToolbarItemsManager.js.map +1 -1
- package/lib/cjs/appui-react/toolbar/ToolbarWithOverflow.d.ts +3 -2
- package/lib/cjs/appui-react/toolbar/ToolbarWithOverflow.d.ts.map +1 -1
- package/lib/cjs/appui-react/toolbar/ToolbarWithOverflow.js +5 -9
- package/lib/cjs/appui-react/toolbar/ToolbarWithOverflow.js.map +1 -1
- package/lib/cjs/appui-react/toolbar/useActiveStageProvidedToolbarItems.d.ts +11 -0
- package/lib/cjs/appui-react/toolbar/useActiveStageProvidedToolbarItems.d.ts.map +1 -0
- package/lib/cjs/appui-react/toolbar/useActiveStageProvidedToolbarItems.js +46 -0
- package/lib/cjs/appui-react/toolbar/useActiveStageProvidedToolbarItems.js.map +1 -0
- package/lib/cjs/appui-react/toolbar/useActiveToolIdSynchedItems.d.ts +25 -0
- package/lib/cjs/appui-react/toolbar/useActiveToolIdSynchedItems.d.ts.map +1 -0
- package/lib/cjs/appui-react/toolbar/useActiveToolIdSynchedItems.js +63 -0
- package/lib/cjs/appui-react/toolbar/useActiveToolIdSynchedItems.js.map +1 -0
- package/lib/cjs/appui-react/toolbar/useDefaultToolbarItems.d.ts +1 -0
- package/lib/cjs/appui-react/toolbar/useDefaultToolbarItems.d.ts.map +1 -1
- package/lib/cjs/appui-react/toolbar/useDefaultToolbarItems.js +4 -1
- package/lib/cjs/appui-react/toolbar/useDefaultToolbarItems.js.map +1 -1
- package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.d.ts +2 -1
- package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.d.ts.map +1 -1
- package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.js +12 -30
- package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.js.map +1 -1
- 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.js +43 -45
- package/lib/cjs/appui-react/widget-panels/Frontstage.js.map +1 -1
- 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/ToolSettings.d.ts.map +1 -1
- package/lib/cjs/appui-react/widget-panels/ToolSettings.js +21 -23
- package/lib/cjs/appui-react/widget-panels/ToolSettings.js.map +1 -1
- 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/widgets/NavigationWidgetComposer.js +2 -2
- package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
- package/lib/cjs/appui-react/widgets/WidgetDef.js +1 -1
- 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.map +1 -1
- package/lib/esm/appui-react/UiFramework.js +14 -16
- package/lib/esm/appui-react/UiFramework.js.map +1 -1
- 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.js +1 -1
- package/lib/esm/appui-react/childwindow/InternalChildWindowManager.js.map +1 -1
- 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/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/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.d.ts +1 -1
- package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.d.ts.map +1 -1
- package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.js +6 -6
- 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/frontstage/FrontstageDef.js +5 -7
- 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/pickers/ViewSelector.js +5 -6
- package/lib/esm/appui-react/pickers/ViewSelector.js.map +1 -1
- 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 +3 -0
- package/lib/esm/appui-react/selection/HideIsolateEmphasizeManager.js.map +1 -1
- package/lib/esm/appui-react/selection/SelectionContextItemDef.d.ts.map +1 -1
- package/lib/esm/appui-react/selection/SelectionContextItemDef.js +12 -8
- package/lib/esm/appui-react/selection/SelectionContextItemDef.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/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/StatusBar.js +3 -5
- package/lib/esm/appui-react/statusbar/StatusBar.js.map +1 -1
- 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/syncui/SyncUiEventDispatcher.d.ts +6 -4
- package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.d.ts.map +1 -1
- package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.js +49 -78
- package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.js.map +1 -1
- package/lib/esm/appui-react/toolbar/Toolbar.d.ts +11 -1
- package/lib/esm/appui-react/toolbar/Toolbar.d.ts.map +1 -1
- package/lib/esm/appui-react/toolbar/Toolbar.js +3 -2
- package/lib/esm/appui-react/toolbar/Toolbar.js.map +1 -1
- package/lib/esm/appui-react/toolbar/ToolbarComposer.d.ts +2 -1
- package/lib/esm/appui-react/toolbar/ToolbarComposer.d.ts.map +1 -1
- package/lib/esm/appui-react/toolbar/ToolbarComposer.js +45 -129
- package/lib/esm/appui-react/toolbar/ToolbarComposer.js.map +1 -1
- package/lib/esm/appui-react/toolbar/ToolbarHelper.d.ts +6 -3
- package/lib/esm/appui-react/toolbar/ToolbarHelper.d.ts.map +1 -1
- package/lib/esm/appui-react/toolbar/ToolbarHelper.js +53 -80
- package/lib/esm/appui-react/toolbar/ToolbarHelper.js.map +1 -1
- package/lib/esm/appui-react/toolbar/ToolbarItem.d.ts +2 -2
- package/lib/esm/appui-react/toolbar/ToolbarItem.d.ts.map +1 -1
- package/lib/esm/appui-react/toolbar/ToolbarItem.js +2 -2
- package/lib/esm/appui-react/toolbar/ToolbarItem.js.map +1 -1
- package/lib/esm/appui-react/toolbar/ToolbarItemsManager.d.ts +1 -0
- package/lib/esm/appui-react/toolbar/ToolbarItemsManager.d.ts.map +1 -1
- package/lib/esm/appui-react/toolbar/ToolbarItemsManager.js +12 -2
- package/lib/esm/appui-react/toolbar/ToolbarItemsManager.js.map +1 -1
- package/lib/esm/appui-react/toolbar/ToolbarWithOverflow.d.ts +3 -2
- package/lib/esm/appui-react/toolbar/ToolbarWithOverflow.d.ts.map +1 -1
- package/lib/esm/appui-react/toolbar/ToolbarWithOverflow.js +5 -9
- package/lib/esm/appui-react/toolbar/ToolbarWithOverflow.js.map +1 -1
- package/lib/esm/appui-react/toolbar/useActiveStageProvidedToolbarItems.d.ts +11 -0
- package/lib/esm/appui-react/toolbar/useActiveStageProvidedToolbarItems.d.ts.map +1 -0
- package/lib/esm/appui-react/toolbar/useActiveStageProvidedToolbarItems.js +42 -0
- package/lib/esm/appui-react/toolbar/useActiveStageProvidedToolbarItems.js.map +1 -0
- package/lib/esm/appui-react/toolbar/useActiveToolIdSynchedItems.d.ts +25 -0
- package/lib/esm/appui-react/toolbar/useActiveToolIdSynchedItems.d.ts.map +1 -0
- package/lib/esm/appui-react/toolbar/useActiveToolIdSynchedItems.js +59 -0
- package/lib/esm/appui-react/toolbar/useActiveToolIdSynchedItems.js.map +1 -0
- package/lib/esm/appui-react/toolbar/useDefaultToolbarItems.d.ts +1 -0
- package/lib/esm/appui-react/toolbar/useDefaultToolbarItems.d.ts.map +1 -1
- package/lib/esm/appui-react/toolbar/useDefaultToolbarItems.js +4 -1
- package/lib/esm/appui-react/toolbar/useDefaultToolbarItems.js.map +1 -1
- package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.d.ts +2 -1
- package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.d.ts.map +1 -1
- package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.js +12 -30
- package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.js.map +1 -1
- 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.js +43 -45
- package/lib/esm/appui-react/widget-panels/Frontstage.js.map +1 -1
- 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/ToolSettings.d.ts.map +1 -1
- package/lib/esm/appui-react/widget-panels/ToolSettings.js +21 -23
- package/lib/esm/appui-react/widget-panels/ToolSettings.js.map +1 -1
- 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/widgets/NavigationWidgetComposer.js +2 -2
- package/lib/esm/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
- package/lib/esm/appui-react/widgets/WidgetDef.js +1 -1
- 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/package.json +14 -15
|
@@ -30,13 +30,13 @@ class UiShowHideSettingsProvider {
|
|
|
30
30
|
InternalUiShowHideManager.setSnapWidgetOpacity(result.setting);
|
|
31
31
|
}
|
|
32
32
|
static async storeAutoHideUi(v, storage) {
|
|
33
|
-
void (storage
|
|
33
|
+
void (storage ?? UiFramework.getUiStateStorage()).saveSetting(this._settingsNamespace, this._autoHideUiKey, v);
|
|
34
34
|
}
|
|
35
35
|
static async storeUseProximityOpacity(v, storage) {
|
|
36
|
-
void (storage
|
|
36
|
+
void (storage ?? UiFramework.getUiStateStorage()).saveSetting(this._settingsNamespace, this._useProximityOpacityKey, v);
|
|
37
37
|
}
|
|
38
38
|
static async storeSnapWidgetOpacity(v, storage) {
|
|
39
|
-
void (storage
|
|
39
|
+
void (storage ?? UiFramework.getUiStateStorage()).saveSetting(this._settingsNamespace, this._snapWidgetOpacityKey, v);
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
42
|
UiShowHideSettingsProvider._settingsNamespace = "AppUiSettings";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InternalUiShowHideManager.js","sourceRoot":"","sources":["../../../../src/appui-react/utils/InternalUiShowHideManager.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAGH,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EACL,qBAAqB,EACrB,aAAa,GACd,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C;;GAEG;AACH,MAAa,0BAA0B;IAAvC;QAKkB,eAAU,GAAG,4BAA4B,CAAC;IA0D5D,CAAC;IAxDQ,MAAM,CAAC,UAAU;QACtB,WAAW,CAAC,4BAA4B,CAAC,IAAI,0BAA0B,EAAE,CAAC,CAAC;IAC7E,CAAC;IAEM,KAAK,CAAC,gBAAgB,CAAC,OAAuB;QACnD,IAAI,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CACnC,0BAA0B,CAAC,kBAAkB,EAC7C,0BAA0B,CAAC,cAAc,CAC1C,CAAC;QACF,IAAI,MAAM,CAAC,MAAM,KAAK,oBAAoB,CAAC,OAAO;YAChD,yBAAyB,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAE1D,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CAC/B,0BAA0B,CAAC,kBAAkB,EAC7C,0BAA0B,CAAC,uBAAuB,CACnD,CAAC;QACF,IAAI,MAAM,CAAC,MAAM,KAAK,oBAAoB,CAAC,OAAO;YAChD,yBAAyB,CAAC,sBAAsB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAEnE,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CAC/B,0BAA0B,CAAC,kBAAkB,EAC7C,0BAA0B,CAAC,qBAAqB,CACjD,CAAC;QACF,IAAI,MAAM,CAAC,MAAM,KAAK,oBAAoB,CAAC,OAAO;YAChD,yBAAyB,CAAC,oBAAoB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACnE,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAU,EAAE,OAAwB;QACtE,KAAK,CAAC,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,WAAW,CAAC,iBAAiB,EAAE,CAAC,CAAC,WAAW,CAC3D,IAAI,CAAC,kBAAkB,EACvB,IAAI,CAAC,cAAc,EACnB,CAAC,CACF,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAC1C,CAAU,EACV,OAAwB;QAExB,KAAK,CAAC,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,WAAW,CAAC,iBAAiB,EAAE,CAAC,CAAC,WAAW,CAC3D,IAAI,CAAC,kBAAkB,EACvB,IAAI,CAAC,uBAAuB,EAC5B,CAAC,CACF,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,sBAAsB,CACxC,CAAU,EACV,OAAwB;QAExB,KAAK,CAAC,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,WAAW,CAAC,iBAAiB,EAAE,CAAC,CAAC,WAAW,CAC3D,IAAI,CAAC,kBAAkB,EACvB,IAAI,CAAC,qBAAqB,EAC1B,CAAC,CACF,CAAC;IACJ,CAAC;;AA7Dc,6CAAkB,GAAG,eAAe,AAAlB,CAAmB;AACrC,yCAAc,GAAG,YAAY,AAAf,CAAgB;AAC9B,kDAAuB,GAAG,qBAAqB,AAAxB,CAAyB;AAChD,gDAAqB,GAAG,mBAAmB,AAAtB,CAAuB;SAJhD,0BAA0B;AAiEvC;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAI,CAAC,CAAC,uBAAuB;AAEpE;;GAEG;AACH,MAAa,yBAAyB;IAUpC,sCAAsC;IAC/B,MAAM,KAAK,WAAW;QAC3B,OAAO,yBAAyB,CAAC,YAAY,CAAC;IAChD,CAAC;IACM,MAAM,KAAK,WAAW,CAAC,OAAgB;QAC5C,yBAAyB,CAAC,YAAY,GAAG,OAAO,CAAC;IACnD,CAAC;IAED,cAAc;IACP,MAAM,CAAC,aAAa,CAAC,KAAc;QACxC,yBAAyB,CAAC,WAAW,GAAG,KAAK,CAAC;IAChD,CAAC;IAED,gBAAgB;IACT,MAAM,CAAC,sBAAsB,CAAC,KAAc;QACjD,yBAAyB,CAAC,oBAAoB,GAAG,KAAK,CAAC;IACzD,CAAC;IAED,gBAAgB;IACT,MAAM,CAAC,oBAAoB,CAAC,KAAc;QAC/C,yBAAyB,CAAC,kBAAkB,GAAG,KAAK,CAAC;IACvD,CAAC;IAED;;OAEG;IACI,MAAM,KAAK,UAAU;QAC1B,OAAO,yBAAyB,CAAC,WAAW,CAAC;IAC/C,CAAC;IAEM,MAAM,KAAK,UAAU,CAAC,QAAiB;QAC5C,KAAK,0BAA0B,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAC1D,yBAAyB,CAAC,WAAW,GAAG,QAAQ,CAAC;QACjD,qBAAqB,CAAC,4BAA4B,CAChD,aAAa,CAAC,4BAA4B,CAC3C,CAAC;IACJ,CAAC;IACD,oFAAoF;IAC7E,MAAM,KAAK,cAAc;QAC9B,OAAO,yBAAyB,CAAC,eAAe,CAAC;IACnD,CAAC;IACM,MAAM,KAAK,cAAc,CAAC,QAAiB;QAChD,yBAAyB,CAAC,eAAe,GAAG,QAAQ,CAAC;QACrD,WAAW,CAAC,qBAAqB,CAAC,IAAI,CAAC;YACrC,OAAO,EAAE,WAAW,CAAC,cAAc,EAAE;SACtC,CAAC,CAAC;IACL,CAAC;IAED,gFAAgF;IACzE,MAAM,KAAK,cAAc;QAC9B,OAAO,yBAAyB,CAAC,eAAe,CAAC;IACnD,CAAC;IACM,MAAM,KAAK,cAAc,CAAC,QAAiB;QAChD,yBAAyB,CAAC,eAAe,GAAG,QAAQ,CAAC;QACrD,WAAW,CAAC,qBAAqB,CAAC,IAAI,CAAC;YACrC,OAAO,EAAE,WAAW,CAAC,cAAc,EAAE;SACtC,CAAC,CAAC;IACL,CAAC;IAED,iGAAiG;IAC1F,MAAM,KAAK,cAAc;QAC9B,OAAO,yBAAyB,CAAC,eAAe,CAAC;IACnD,CAAC;IACM,MAAM,KAAK,cAAc,CAAC,IAAY;QAC3C,yBAAyB,CAAC,eAAe,GAAG,IAAI,CAAC;IACnD,CAAC;IAED,6GAA6G;IACtG,MAAM,KAAK,mBAAmB;QACnC,OAAO,yBAAyB,CAAC,oBAAoB,CAAC;IACxD,CAAC;IACM,MAAM,KAAK,mBAAmB,CAAC,KAAc;QAClD,yBAAyB,CAAC,oBAAoB,GAAG,KAAK,CAAC;QACvD,KAAK,0BAA0B,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;QAChE,qBAAqB,CAAC,4BAA4B,CAChD,aAAa,CAAC,4BAA4B,CAC3C,CAAC;QACF,WAAW,CAAC,qBAAqB,CAAC,IAAI,CAAC;YACrC,OAAO,EAAE,WAAW,CAAC,cAAc,EAAE;SACtC,CAAC,CAAC;IACL,CAAC;IAED,kFAAkF;IAC3E,MAAM,KAAK,iBAAiB;QACjC,OAAO,yBAAyB,CAAC,kBAAkB,CAAC;IACtD,CAAC;IACM,MAAM,KAAK,iBAAiB,CAAC,KAAc;QAChD,yBAAyB,CAAC,kBAAkB,GAAG,KAAK,CAAC;QACrD,KAAK,0BAA0B,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;QAC9D,qBAAqB,CAAC,4BAA4B,CAChD,aAAa,CAAC,4BAA4B,CAC3C,CAAC;QACF,WAAW,CAAC,qBAAqB,CAAC,IAAI,CAAC;YACrC,OAAO,EAAE,WAAW,CAAC,cAAc,EAAE;SACtC,CAAC,CAAC;IACL,CAAC;IAED,6CAA6C;IACtC,MAAM,CAAC,qBAAqB;QACjC,uBAAuB;QACvB,IAAI,CAAC,yBAAyB,CAAC,WAAW;YAAE,OAAO;QAEnD,yBAAyB,CAAC,mBAAmB,EAAE,CAAC;IAClD,CAAC;IAED,6DAA6D;IACtD,MAAM,CAAC,sBAAsB,CAClC,MAAkD;QAElD,IAAI,CAAC,yBAAyB,CAAC,WAAW;YAAE,OAAO;QAEnD,yBAAyB,CAAC,mBAAmB,EAAE,CAAC;IAClD,CAAC;IAED,iDAAiD;IAC1C,MAAM,CAAC,sBAAsB,CAClC,MAAkD;QAElD,IAAI,CAAC,yBAAyB,CAAC,WAAW;YAAE,OAAO;QAEnD,yBAAyB,CAAC,oBAAoB,EAAE,CAAC;IACnD,CAAC;IAED,mDAAmD;IAC5C,MAAM,CAAC,mBAAmB;QAC/B,UAAU,CAAC,GAAG,EAAE;YACd,yBAAyB,CAAC,MAAM,EAAE,CAAC;YACnC,yBAAyB,CAAC,UAAU,EAAE,CAAC;QACzC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,oDAAoD;IAC7C,MAAM,CAAC,oBAAoB;QAChC,UAAU,CAAC,GAAG,EAAE;YACd,yBAAyB,CAAC,MAAM,EAAE,CAAC;YACnC,yBAAyB,CAAC,WAAW,EAAE,CAAC;QAC1C,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,MAAM,CAAC,WAAW;QACxB,YAAY,CAAC,yBAAyB,CAAC,QAAQ,CAAC,CAAC;IACnD,CAAC;IAEO,MAAM,CAAC,UAAU;QACvB,yBAAyB,CAAC,WAAW,EAAE,CAAC;QACxC,yBAAyB,CAAC,QAAQ,GAAG,UAAU,CAC7C,yBAAyB,CAAC,MAAM,EAChC,yBAAyB,CAAC,eAAe,CAC1C,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,MAAM;QACnB,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAEO,MAAM,CAAC,MAAM;QACnB,WAAW,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAED,gBAAgB;IACT,MAAM,CAAC,SAAS;QACrB,yBAAyB,CAAC,WAAW,EAAE,CAAC;QACxC,2DAA2D;QAC3D,yBAAyB,CAAC,YAAY,GAAG,IAAI,CAAC;QAC9C,yBAAyB,CAAC,WAAW,GAAG,IAAI,CAAC;QAC7C,yBAAyB,CAAC,eAAe,GAAG,KAAK,CAAC;QAClD,yBAAyB,CAAC,eAAe,GAAG,KAAK,CAAC;QAClD,yBAAyB,CAAC,eAAe,GAAG,uBAAuB,CAAC;QACpE,yBAAyB,CAAC,oBAAoB,GAAG,KAAK,CAAC;QACvD,yBAAyB,CAAC,kBAAkB,GAAG,KAAK,CAAC;IACvD,CAAC;;AAnLc,sCAAY,GAAY,IAAI,CAAC;AAC7B,qCAAW,GAAY,IAAI,CAAC;AAC5B,yCAAe,GAAY,KAAK,CAAC;AACjC,yCAAe,GAAY,KAAK,CAAC;AACjC,yCAAe,GAAW,uBAAuB,CAAC;AAElD,8CAAoB,GAAY,KAAK,CAAC;AACtC,4CAAkB,GAAY,KAAK,CAAC;SARxC,yBAAyB","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Utilities\n */\n\nimport type { UiStateStorage } from \"@itwin/core-react\";\nimport { UiStateStorageStatus } from \"@itwin/core-react\";\nimport {\n SyncUiEventDispatcher,\n SyncUiEventId,\n} from \"../syncui/SyncUiEventDispatcher\";\nimport type { UserSettingsProvider } from \"../UiFramework\";\nimport { UiFramework } from \"../UiFramework\";\n\n/** Class that maintain UiShowHide user settings between sessions\n * @internal\n */\nexport class UiShowHideSettingsProvider implements UserSettingsProvider {\n private static _settingsNamespace = \"AppUiSettings\";\n private static _autoHideUiKey = \"AutoHideUi\";\n private static _useProximityOpacityKey = \"UseProximityOpacity\";\n private static _snapWidgetOpacityKey = \"SnapWidgetOpacity\";\n public readonly providerId = \"UiShowHideSettingsProvider\";\n\n public static initialize() {\n UiFramework.registerUserSettingsProvider(new UiShowHideSettingsProvider());\n }\n\n public async loadUserSettings(storage: UiStateStorage): Promise<void> {\n let result = await storage.getSetting(\n UiShowHideSettingsProvider._settingsNamespace,\n UiShowHideSettingsProvider._autoHideUiKey\n );\n if (result.status === UiStateStorageStatus.Success)\n InternalUiShowHideManager.setAutoHideUi(result.setting);\n\n result = await storage.getSetting(\n UiShowHideSettingsProvider._settingsNamespace,\n UiShowHideSettingsProvider._useProximityOpacityKey\n );\n if (result.status === UiStateStorageStatus.Success)\n InternalUiShowHideManager.setUseProximityOpacity(result.setting);\n\n result = await storage.getSetting(\n UiShowHideSettingsProvider._settingsNamespace,\n UiShowHideSettingsProvider._snapWidgetOpacityKey\n );\n if (result.status === UiStateStorageStatus.Success)\n InternalUiShowHideManager.setSnapWidgetOpacity(result.setting);\n }\n\n public static async storeAutoHideUi(v: boolean, storage?: UiStateStorage) {\n void (storage ?? UiFramework.getUiStateStorage()).saveSetting(\n this._settingsNamespace,\n this._autoHideUiKey,\n v\n );\n }\n\n public static async storeUseProximityOpacity(\n v: boolean,\n storage?: UiStateStorage\n ) {\n void (storage ?? UiFramework.getUiStateStorage()).saveSetting(\n this._settingsNamespace,\n this._useProximityOpacityKey,\n v\n );\n }\n\n public static async storeSnapWidgetOpacity(\n v: boolean,\n storage?: UiStateStorage\n ) {\n void (storage ?? UiFramework.getUiStateStorage()).saveSetting(\n this._settingsNamespace,\n this._snapWidgetOpacityKey,\n v\n );\n }\n}\n\n/** The default inactivity time.\n * @internal\n */\nexport const INACTIVITY_TIME_DEFAULT = 3500; /** Wait 3.5 seconds */\n\n/** Maintains Ui Show/Hide state. The `Ui` includes widgets, panels and the status bar.\n * @internal\n */\nexport class InternalUiShowHideManager {\n private static _isUiVisible: boolean = true;\n private static _autoHideUi: boolean = true;\n private static _showHidePanels: boolean = false;\n private static _showHideFooter: boolean = false;\n private static _inactivityTime: number = INACTIVITY_TIME_DEFAULT;\n private static _timeout: NodeJS.Timeout;\n private static _useProximityOpacity: boolean = false;\n private static _snapWidgetOpacity: boolean = false;\n\n /** Determines if the Ui is visible */\n public static get isUiVisible() {\n return InternalUiShowHideManager._isUiVisible;\n }\n public static set isUiVisible(visible: boolean) {\n InternalUiShowHideManager._isUiVisible = visible;\n }\n\n /** @public */\n public static setAutoHideUi(value: boolean) {\n InternalUiShowHideManager._autoHideUi = value;\n }\n\n /** @internal */\n public static setUseProximityOpacity(value: boolean) {\n InternalUiShowHideManager._useProximityOpacity = value;\n }\n\n /** @internal */\n public static setSnapWidgetOpacity(value: boolean) {\n InternalUiShowHideManager._snapWidgetOpacity = value;\n }\n\n /** Determines whether the `auto-hide Ui` feature is on. Defaults to false.\n * When true, the Ui automatically hides after a few seconds of inactivity.\n */\n public static get autoHideUi(): boolean {\n return InternalUiShowHideManager._autoHideUi;\n }\n\n public static set autoHideUi(autoHide: boolean) {\n void UiShowHideSettingsProvider.storeAutoHideUi(autoHide);\n InternalUiShowHideManager._autoHideUi = autoHide;\n SyncUiEventDispatcher.dispatchImmediateSyncUiEvent(\n SyncUiEventId.ShowHideManagerSettingChange\n );\n }\n /** Determines whether the widget panels are shown and hidden. Defaults to false. */\n public static get showHidePanels(): boolean {\n return InternalUiShowHideManager._showHidePanels;\n }\n public static set showHidePanels(showHide: boolean) {\n InternalUiShowHideManager._showHidePanels = showHide;\n UiFramework.onUiVisibilityChanged.emit({\n visible: UiFramework.getIsUiVisible(),\n });\n }\n\n /** Determines whether the status bar is shown and hidden. Defaults to false. */\n public static get showHideFooter(): boolean {\n return InternalUiShowHideManager._showHideFooter;\n }\n public static set showHideFooter(showHide: boolean) {\n InternalUiShowHideManager._showHideFooter = showHide;\n UiFramework.onUiVisibilityChanged.emit({\n visible: UiFramework.getIsUiVisible(),\n });\n }\n\n /** Determines the amount of inactivity time before the Ui is hidden. Defaults to 3.5 seconds. */\n public static get inactivityTime(): number {\n return InternalUiShowHideManager._inactivityTime;\n }\n public static set inactivityTime(time: number) {\n InternalUiShowHideManager._inactivityTime = time;\n }\n\n /** Determines whether the proximity of the mouse should alter the opacity of a toolbar. Defaults to true. */\n public static get useProximityOpacity(): boolean {\n return InternalUiShowHideManager._useProximityOpacity;\n }\n public static set useProximityOpacity(value: boolean) {\n InternalUiShowHideManager._useProximityOpacity = value;\n void UiShowHideSettingsProvider.storeUseProximityOpacity(value);\n SyncUiEventDispatcher.dispatchImmediateSyncUiEvent(\n SyncUiEventId.ShowHideManagerSettingChange\n );\n UiFramework.onUiVisibilityChanged.emit({\n visible: UiFramework.getIsUiVisible(),\n });\n }\n\n /** Determines whether the opacity of a toolbar should snap. Defaults to false. */\n public static get snapWidgetOpacity(): boolean {\n return InternalUiShowHideManager._snapWidgetOpacity;\n }\n public static set snapWidgetOpacity(value: boolean) {\n InternalUiShowHideManager._snapWidgetOpacity = value;\n void UiShowHideSettingsProvider.storeSnapWidgetOpacity(value);\n SyncUiEventDispatcher.dispatchImmediateSyncUiEvent(\n SyncUiEventId.ShowHideManagerSettingChange\n );\n UiFramework.onUiVisibilityChanged.emit({\n visible: UiFramework.getIsUiVisible(),\n });\n }\n\n /** Handler for when a Frontstage is ready */\n public static handleFrontstageReady() {\n // istanbul ignore next\n if (!InternalUiShowHideManager._autoHideUi) return;\n\n InternalUiShowHideManager.showUiAndResetTimer();\n }\n\n /** Handler for when the mouse moves over the content area */\n public static handleContentMouseMove(\n _event?: React.MouseEvent<HTMLElement, MouseEvent>\n ) {\n if (!InternalUiShowHideManager._autoHideUi) return;\n\n InternalUiShowHideManager.showUiAndResetTimer();\n }\n\n /** Handler for when the mouse enters a widget */\n public static handleWidgetMouseEnter(\n _event?: React.MouseEvent<HTMLElement, MouseEvent>\n ) {\n if (!InternalUiShowHideManager._autoHideUi) return;\n\n InternalUiShowHideManager.showUiAndCancelTimer();\n }\n\n /** Shows the Ui and resets the inactivity timer */\n public static showUiAndResetTimer() {\n setTimeout(() => {\n InternalUiShowHideManager.showUi();\n InternalUiShowHideManager.resetTimer();\n });\n }\n\n /** Shows the Ui and cancels the inactivity timer */\n public static showUiAndCancelTimer() {\n setTimeout(() => {\n InternalUiShowHideManager.showUi();\n InternalUiShowHideManager.cancelTimer();\n });\n }\n\n private static cancelTimer() {\n clearTimeout(InternalUiShowHideManager._timeout);\n }\n\n private static resetTimer() {\n InternalUiShowHideManager.cancelTimer();\n InternalUiShowHideManager._timeout = setTimeout(\n InternalUiShowHideManager.hideUi,\n InternalUiShowHideManager._inactivityTime\n );\n }\n\n private static showUi() {\n UiFramework.setIsUiVisible(true);\n }\n\n private static hideUi() {\n UiFramework.setIsUiVisible(false);\n }\n\n /** @internal */\n public static terminate() {\n InternalUiShowHideManager.cancelTimer();\n // Ensure that next use will have default values for tests.\n InternalUiShowHideManager._isUiVisible = true;\n InternalUiShowHideManager._autoHideUi = true;\n InternalUiShowHideManager._showHidePanels = false;\n InternalUiShowHideManager._showHideFooter = false;\n InternalUiShowHideManager._inactivityTime = INACTIVITY_TIME_DEFAULT;\n InternalUiShowHideManager._useProximityOpacity = false;\n InternalUiShowHideManager._snapWidgetOpacity = false;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"InternalUiShowHideManager.js","sourceRoot":"","sources":["../../../../src/appui-react/utils/InternalUiShowHideManager.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Utilities\n */\n\nimport type { UiStateStorage } from \"@itwin/core-react\";\nimport { UiStateStorageStatus } from \"@itwin/core-react\";\nimport {\n SyncUiEventDispatcher,\n SyncUiEventId,\n} from \"../syncui/SyncUiEventDispatcher\";\nimport type { UserSettingsProvider } from \"../UiFramework\";\nimport { UiFramework } from \"../UiFramework\";\n\n/** Class that maintain UiShowHide user settings between sessions\n * @internal\n */\nexport class UiShowHideSettingsProvider implements UserSettingsProvider {\n private static _settingsNamespace = \"AppUiSettings\";\n private static _autoHideUiKey = \"AutoHideUi\";\n private static _useProximityOpacityKey = \"UseProximityOpacity\";\n private static _snapWidgetOpacityKey = \"SnapWidgetOpacity\";\n public readonly providerId = \"UiShowHideSettingsProvider\";\n\n public static initialize() {\n UiFramework.registerUserSettingsProvider(new UiShowHideSettingsProvider());\n }\n\n public async loadUserSettings(storage: UiStateStorage): Promise<void> {\n let result = await storage.getSetting(\n UiShowHideSettingsProvider._settingsNamespace,\n UiShowHideSettingsProvider._autoHideUiKey\n );\n if (result.status === UiStateStorageStatus.Success)\n InternalUiShowHideManager.setAutoHideUi(result.setting);\n\n result = await storage.getSetting(\n UiShowHideSettingsProvider._settingsNamespace,\n UiShowHideSettingsProvider._useProximityOpacityKey\n );\n if (result.status === UiStateStorageStatus.Success)\n InternalUiShowHideManager.setUseProximityOpacity(result.setting);\n\n result = await storage.getSetting(\n UiShowHideSettingsProvider._settingsNamespace,\n UiShowHideSettingsProvider._snapWidgetOpacityKey\n );\n if (result.status === UiStateStorageStatus.Success)\n InternalUiShowHideManager.setSnapWidgetOpacity(result.setting);\n }\n\n public static async storeAutoHideUi(v: boolean, storage?: UiStateStorage) {\n void (storage ?? UiFramework.getUiStateStorage()).saveSetting(\n this._settingsNamespace,\n this._autoHideUiKey,\n v\n );\n }\n\n public static async storeUseProximityOpacity(\n v: boolean,\n storage?: UiStateStorage\n ) {\n void (storage ?? UiFramework.getUiStateStorage()).saveSetting(\n this._settingsNamespace,\n this._useProximityOpacityKey,\n v\n );\n }\n\n public static async storeSnapWidgetOpacity(\n v: boolean,\n storage?: UiStateStorage\n ) {\n void (storage ?? UiFramework.getUiStateStorage()).saveSetting(\n this._settingsNamespace,\n this._snapWidgetOpacityKey,\n v\n );\n }\n}\n\n/** The default inactivity time.\n * @internal\n */\nexport const INACTIVITY_TIME_DEFAULT = 3500; /** Wait 3.5 seconds */\n\n/** Maintains Ui Show/Hide state. The `Ui` includes widgets, panels and the status bar.\n * @internal\n */\nexport class InternalUiShowHideManager {\n private static _isUiVisible: boolean = true;\n private static _autoHideUi: boolean = true;\n private static _showHidePanels: boolean = false;\n private static _showHideFooter: boolean = false;\n private static _inactivityTime: number = INACTIVITY_TIME_DEFAULT;\n private static _timeout: NodeJS.Timeout;\n private static _useProximityOpacity: boolean = false;\n private static _snapWidgetOpacity: boolean = false;\n\n /** Determines if the Ui is visible */\n public static get isUiVisible() {\n return InternalUiShowHideManager._isUiVisible;\n }\n public static set isUiVisible(visible: boolean) {\n InternalUiShowHideManager._isUiVisible = visible;\n }\n\n /** @public */\n public static setAutoHideUi(value: boolean) {\n InternalUiShowHideManager._autoHideUi = value;\n }\n\n /** @internal */\n public static setUseProximityOpacity(value: boolean) {\n InternalUiShowHideManager._useProximityOpacity = value;\n }\n\n /** @internal */\n public static setSnapWidgetOpacity(value: boolean) {\n InternalUiShowHideManager._snapWidgetOpacity = value;\n }\n\n /** Determines whether the `auto-hide Ui` feature is on. Defaults to false.\n * When true, the Ui automatically hides after a few seconds of inactivity.\n */\n public static get autoHideUi(): boolean {\n return InternalUiShowHideManager._autoHideUi;\n }\n\n public static set autoHideUi(autoHide: boolean) {\n void UiShowHideSettingsProvider.storeAutoHideUi(autoHide);\n InternalUiShowHideManager._autoHideUi = autoHide;\n SyncUiEventDispatcher.dispatchImmediateSyncUiEvent(\n SyncUiEventId.ShowHideManagerSettingChange\n );\n }\n /** Determines whether the widget panels are shown and hidden. Defaults to false. */\n public static get showHidePanels(): boolean {\n return InternalUiShowHideManager._showHidePanels;\n }\n public static set showHidePanels(showHide: boolean) {\n InternalUiShowHideManager._showHidePanels = showHide;\n UiFramework.onUiVisibilityChanged.emit({\n visible: UiFramework.getIsUiVisible(),\n });\n }\n\n /** Determines whether the status bar is shown and hidden. Defaults to false. */\n public static get showHideFooter(): boolean {\n return InternalUiShowHideManager._showHideFooter;\n }\n public static set showHideFooter(showHide: boolean) {\n InternalUiShowHideManager._showHideFooter = showHide;\n UiFramework.onUiVisibilityChanged.emit({\n visible: UiFramework.getIsUiVisible(),\n });\n }\n\n /** Determines the amount of inactivity time before the Ui is hidden. Defaults to 3.5 seconds. */\n public static get inactivityTime(): number {\n return InternalUiShowHideManager._inactivityTime;\n }\n public static set inactivityTime(time: number) {\n InternalUiShowHideManager._inactivityTime = time;\n }\n\n /** Determines whether the proximity of the mouse should alter the opacity of a toolbar. Defaults to true. */\n public static get useProximityOpacity(): boolean {\n return InternalUiShowHideManager._useProximityOpacity;\n }\n public static set useProximityOpacity(value: boolean) {\n InternalUiShowHideManager._useProximityOpacity = value;\n void UiShowHideSettingsProvider.storeUseProximityOpacity(value);\n SyncUiEventDispatcher.dispatchImmediateSyncUiEvent(\n SyncUiEventId.ShowHideManagerSettingChange\n );\n UiFramework.onUiVisibilityChanged.emit({\n visible: UiFramework.getIsUiVisible(),\n });\n }\n\n /** Determines whether the opacity of a toolbar should snap. Defaults to false. */\n public static get snapWidgetOpacity(): boolean {\n return InternalUiShowHideManager._snapWidgetOpacity;\n }\n public static set snapWidgetOpacity(value: boolean) {\n InternalUiShowHideManager._snapWidgetOpacity = value;\n void UiShowHideSettingsProvider.storeSnapWidgetOpacity(value);\n SyncUiEventDispatcher.dispatchImmediateSyncUiEvent(\n SyncUiEventId.ShowHideManagerSettingChange\n );\n UiFramework.onUiVisibilityChanged.emit({\n visible: UiFramework.getIsUiVisible(),\n });\n }\n\n /** Handler for when a Frontstage is ready */\n public static handleFrontstageReady() {\n // istanbul ignore next\n if (!InternalUiShowHideManager._autoHideUi) return;\n\n InternalUiShowHideManager.showUiAndResetTimer();\n }\n\n /** Handler for when the mouse moves over the content area */\n public static handleContentMouseMove(\n _event?: React.MouseEvent<HTMLElement, MouseEvent>\n ) {\n if (!InternalUiShowHideManager._autoHideUi) return;\n\n InternalUiShowHideManager.showUiAndResetTimer();\n }\n\n /** Handler for when the mouse enters a widget */\n public static handleWidgetMouseEnter(\n _event?: React.MouseEvent<HTMLElement, MouseEvent>\n ) {\n if (!InternalUiShowHideManager._autoHideUi) return;\n\n InternalUiShowHideManager.showUiAndCancelTimer();\n }\n\n /** Shows the Ui and resets the inactivity timer */\n public static showUiAndResetTimer() {\n setTimeout(() => {\n InternalUiShowHideManager.showUi();\n InternalUiShowHideManager.resetTimer();\n });\n }\n\n /** Shows the Ui and cancels the inactivity timer */\n public static showUiAndCancelTimer() {\n setTimeout(() => {\n InternalUiShowHideManager.showUi();\n InternalUiShowHideManager.cancelTimer();\n });\n }\n\n private static cancelTimer() {\n clearTimeout(InternalUiShowHideManager._timeout);\n }\n\n private static resetTimer() {\n InternalUiShowHideManager.cancelTimer();\n InternalUiShowHideManager._timeout = setTimeout(\n InternalUiShowHideManager.hideUi,\n InternalUiShowHideManager._inactivityTime\n );\n }\n\n private static showUi() {\n UiFramework.setIsUiVisible(true);\n }\n\n private static hideUi() {\n UiFramework.setIsUiVisible(false);\n }\n\n /** @internal */\n public static terminate() {\n InternalUiShowHideManager.cancelTimer();\n // Ensure that next use will have default values for tests.\n InternalUiShowHideManager._isUiVisible = true;\n InternalUiShowHideManager._autoHideUi = true;\n InternalUiShowHideManager._showHidePanels = false;\n InternalUiShowHideManager._showHideFooter = false;\n InternalUiShowHideManager._inactivityTime = INACTIVITY_TIME_DEFAULT;\n InternalUiShowHideManager._useProximityOpacity = false;\n InternalUiShowHideManager._snapWidgetOpacity = false;\n }\n}\n"]}
|
|
@@ -24,31 +24,30 @@ function WidgetFallback() {
|
|
|
24
24
|
}
|
|
25
25
|
/** @internal */
|
|
26
26
|
export function WidgetContent() {
|
|
27
|
-
var _a, _b;
|
|
28
27
|
const widget = useWidgetDef();
|
|
29
28
|
// istanbul ignore next
|
|
30
|
-
const itemId =
|
|
29
|
+
const itemId = widget?.id ?? widget?.label ?? "unknown";
|
|
31
30
|
const onSave = React.useCallback(() => {
|
|
32
31
|
// istanbul ignore next
|
|
33
|
-
widget
|
|
32
|
+
widget?.saveTransientState();
|
|
34
33
|
}, [widget]);
|
|
35
34
|
const onRestore = React.useCallback(() => {
|
|
36
35
|
// istanbul ignore next
|
|
37
|
-
widget
|
|
36
|
+
widget?.restoreTransientState();
|
|
38
37
|
}, [widget]);
|
|
39
38
|
useTransientState(onSave, onRestore);
|
|
40
|
-
const providerId =
|
|
41
|
-
? widget
|
|
39
|
+
const providerId = widget?.initialConfig && isProviderItem(widget?.initialConfig)
|
|
40
|
+
? widget?.initialConfig.providerId
|
|
42
41
|
: undefined;
|
|
43
42
|
return (React.createElement(ScrollableWidgetContent, { itemId: itemId, providerId: providerId },
|
|
44
|
-
React.createElement(ErrorBoundary, { FallbackComponent: WidgetFallback }, widget
|
|
43
|
+
React.createElement(ErrorBoundary, { FallbackComponent: WidgetFallback }, widget?.reactNode)));
|
|
45
44
|
}
|
|
46
45
|
/** @internal */
|
|
47
46
|
export function useWidgetDef() {
|
|
48
47
|
const tabId = React.useContext(TabIdContext);
|
|
49
48
|
assert(!!tabId);
|
|
50
49
|
const frontstage = useActiveFrontstageDef();
|
|
51
|
-
const [widgetDef, setWidgetDef] = React.useState(() => frontstage
|
|
50
|
+
const [widgetDef, setWidgetDef] = React.useState(() => frontstage?.findWidgetDef(tabId));
|
|
52
51
|
React.useEffect(() => {
|
|
53
52
|
return InternalFrontstageManager.onFrontstageNineZoneStateChangedEvent.addListener((args) => {
|
|
54
53
|
if (args.frontstageDef !== frontstage ||
|
|
@@ -61,7 +60,7 @@ export function useWidgetDef() {
|
|
|
61
60
|
}, [frontstage, tabId]);
|
|
62
61
|
React.useEffect(() => {
|
|
63
62
|
return UiItemsManager.onUiProviderRegisteredEvent.addListener(() => {
|
|
64
|
-
setWidgetDef(frontstage
|
|
63
|
+
setWidgetDef(frontstage?.findWidgetDef(tabId));
|
|
65
64
|
});
|
|
66
65
|
}, [frontstage, tabId]);
|
|
67
66
|
return widgetDef;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Content.js","sourceRoot":"","sources":["../../../../src/appui-react/widget-panels/Content.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EACL,uBAAuB,EACvB,YAAY,GACb,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAC;AACpF,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,SAAS,cAAc;IACrB,MAAM,YAAY,GAAG,WAAW,CAAC,SAAS,CACxC,kCAAkC,CACnC,CAAC;IACF,OAAO,CACL,6BAAK,IAAI,EAAC,OAAO,EAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,EAAE;QAC/D,oBAAC,aAAa,IAAC,GAAG,EAAE,oBAAC,QAAQ,OAAG,EAAE,OAAO,EAAE,YAAY,GAAI,CACvD,CACP,CAAC;AACJ,CAAC;AAED,gBAAgB;AAChB,MAAM,UAAU,aAAa
|
|
1
|
+
{"version":3,"file":"Content.js","sourceRoot":"","sources":["../../../../src/appui-react/widget-panels/Content.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Widget\n */\nimport * as React from \"react\";\nimport {\n ScrollableWidgetContent,\n TabIdContext,\n} from \"@itwin/appui-layout-react\";\nimport type { WidgetDef } from \"../widgets/WidgetDef\";\nimport { useActiveFrontstageDef } from \"../frontstage/FrontstageDef\";\nimport { useTransientState } from \"./useTransientState\";\nimport { assert } from \"@itwin/core-bentley\";\nimport { UiItemsManager } from \"../ui-items-provider/UiItemsManager\";\nimport { isProviderItem } from \"../ui-items-provider/isProviderItem\";\nimport { InternalFrontstageManager } from \"../frontstage/InternalFrontstageManager\";\nimport { ErrorBoundary } from \"react-error-boundary\";\nimport { SvgError } from \"@itwin/itwinui-illustrations-react\";\nimport { NonIdealState } from \"@itwin/itwinui-react\";\nimport { UiFramework } from \"../UiFramework\";\n\nfunction WidgetFallback() {\n const errorMessage = UiFramework.translate(\n \"widget.errorMessage.unknownError\"\n );\n return (\n <div role=\"alert\" style={{ position: \"relative\", minHeight: 400 }}>\n <NonIdealState svg={<SvgError />} heading={errorMessage} />\n </div>\n );\n}\n\n/** @internal */\nexport function WidgetContent() {\n const widget = useWidgetDef();\n // istanbul ignore next\n const itemId = widget?.id ?? widget?.label ?? \"unknown\";\n const onSave = React.useCallback(() => {\n // istanbul ignore next\n widget?.saveTransientState();\n }, [widget]);\n const onRestore = React.useCallback(() => {\n // istanbul ignore next\n widget?.restoreTransientState();\n }, [widget]);\n useTransientState(onSave, onRestore);\n const providerId =\n widget?.initialConfig && isProviderItem(widget?.initialConfig)\n ? widget?.initialConfig.providerId\n : undefined;\n return (\n <ScrollableWidgetContent itemId={itemId} providerId={providerId}>\n <ErrorBoundary FallbackComponent={WidgetFallback}>\n {widget?.reactNode}\n </ErrorBoundary>\n </ScrollableWidgetContent>\n );\n}\n\n/** @internal */\nexport function useWidgetDef(): WidgetDef | undefined {\n const tabId = React.useContext(TabIdContext);\n assert(!!tabId);\n\n const frontstage = useActiveFrontstageDef();\n const [widgetDef, setWidgetDef] = React.useState(() =>\n frontstage?.findWidgetDef(tabId)\n );\n\n React.useEffect(() => {\n return InternalFrontstageManager.onFrontstageNineZoneStateChangedEvent.addListener(\n (args) => {\n if (\n args.frontstageDef !== frontstage ||\n !frontstage ||\n frontstage.isStageClosing ||\n frontstage.isApplicationClosing\n )\n return;\n setWidgetDef(frontstage.findWidgetDef(tabId));\n }\n );\n }, [frontstage, tabId]);\n\n React.useEffect(() => {\n return UiItemsManager.onUiProviderRegisteredEvent.addListener(() => {\n setWidgetDef(frontstage?.findWidgetDef(tabId));\n });\n }, [frontstage, tabId]);\n\n return widgetDef;\n}\n"]}
|
|
@@ -52,7 +52,7 @@ const widgetPanelsFrontstage = React.createElement(WidgetPanelsFrontstageCompone
|
|
|
52
52
|
/** @internal */
|
|
53
53
|
export function useLayoutStore() {
|
|
54
54
|
const [def, setDef] = React.useState(UiFramework.frontstages.activeFrontstageDef);
|
|
55
|
-
const [layout, setLayout] = React.useState(() => createLayoutStore(def
|
|
55
|
+
const [layout, setLayout] = React.useState(() => createLayoutStore(def?.nineZoneState));
|
|
56
56
|
React.useEffect(() => {
|
|
57
57
|
return UiFramework.frontstages.onFrontstageActivatedEvent.addListener((args) => {
|
|
58
58
|
unstable_batchedUpdates(() => {
|
|
@@ -103,7 +103,7 @@ export function FrameworkStateReducer(state, action, frontstageDef) {
|
|
|
103
103
|
const panel = draft.panels[panelSide];
|
|
104
104
|
const location = toStagePanelLocation(panelSide);
|
|
105
105
|
const panelDef = frontstageDef.getStagePanelDef(location);
|
|
106
|
-
if (panelDef
|
|
106
|
+
if (panelDef?.maxSizeSpec) {
|
|
107
107
|
panel.maxSize = getPanelMaxSize(panelDef.maxSizeSpec, panelSide, action.size);
|
|
108
108
|
if (panel.size) {
|
|
109
109
|
panel.size = Math.min(Math.max(panel.size, panel.minSize), panel.maxSize);
|
|
@@ -197,10 +197,9 @@ export function useLabels() {
|
|
|
197
197
|
}), []);
|
|
198
198
|
}
|
|
199
199
|
function toTabArgs(widget) {
|
|
200
|
-
var _a;
|
|
201
200
|
const label = getWidgetLabel(widget.label);
|
|
202
201
|
return {
|
|
203
|
-
allowedPanelTargets:
|
|
202
|
+
allowedPanelTargets: widget.allowedPanelTargets?.map((location) => toPanelSide(location)),
|
|
204
203
|
hideWithUiWhenFloating: !!widget.hideWithUiWhenFloating,
|
|
205
204
|
canPopout: widget.canPopout,
|
|
206
205
|
iconSpec: widget.iconSpec,
|
|
@@ -223,7 +222,7 @@ export function addWidgets(state, widgets, side, widgetId) {
|
|
|
223
222
|
const activeWidget = visibleWidgets.find((widget) => widget.isActive);
|
|
224
223
|
const minimized = false;
|
|
225
224
|
// istanbul ignore else
|
|
226
|
-
if (
|
|
225
|
+
if (activeWidget?.defaultState !== WidgetState.Floating) {
|
|
227
226
|
state = addPanelWidget(state, side, widgetId, tabs, {
|
|
228
227
|
activeTabId: activeWidget ? activeWidget.id : tabs[0],
|
|
229
228
|
minimized,
|
|
@@ -234,7 +233,6 @@ export function addWidgets(state, widgets, side, widgetId) {
|
|
|
234
233
|
/** @internal */
|
|
235
234
|
// istanbul ignore next
|
|
236
235
|
export function appendWidgets(state, widgetDefs, location, section) {
|
|
237
|
-
var _a;
|
|
238
236
|
const side = toPanelSide(location);
|
|
239
237
|
// Add missing widget tabs.
|
|
240
238
|
for (const widgetDef of widgetDefs) {
|
|
@@ -259,7 +257,7 @@ export function appendWidgets(state, widgetDefs, location, section) {
|
|
|
259
257
|
});
|
|
260
258
|
if (widgetDef.isFloatingStateSupported &&
|
|
261
259
|
widgetDef.defaultState === WidgetState.Floating) {
|
|
262
|
-
const floatingContainerId =
|
|
260
|
+
const floatingContainerId = widgetDef.floatingContainerId ?? getUniqueId();
|
|
263
261
|
const widgetContainerId = getWidgetId(location, section);
|
|
264
262
|
const home = {
|
|
265
263
|
side,
|
|
@@ -277,7 +275,7 @@ export function appendWidgets(state, widgetDefs, location, section) {
|
|
|
277
275
|
width: 300,
|
|
278
276
|
...tab.preferredFloatingWidgetSize,
|
|
279
277
|
};
|
|
280
|
-
const preferredPoint = preferredPosition
|
|
278
|
+
const preferredPoint = preferredPosition ?? {
|
|
281
279
|
x: (state.size.width - size.width) / 2,
|
|
282
280
|
y: (state.size.height - size.height) / 2,
|
|
283
281
|
};
|
|
@@ -336,16 +334,23 @@ function processPopoutWidgets(initialState, frontstageDef) {
|
|
|
336
334
|
* @internal
|
|
337
335
|
*/
|
|
338
336
|
export function addMissingWidgets(frontstageDef, initialState) {
|
|
339
|
-
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
340
337
|
let state = initialState;
|
|
341
|
-
state = appendWidgets(state, determineNewWidgets(
|
|
342
|
-
|
|
343
|
-
state = appendWidgets(state, determineNewWidgets(
|
|
344
|
-
|
|
345
|
-
state = appendWidgets(state, determineNewWidgets(
|
|
346
|
-
|
|
347
|
-
state = appendWidgets(state, determineNewWidgets(
|
|
348
|
-
|
|
338
|
+
state = appendWidgets(state, determineNewWidgets(frontstageDef.leftPanel?.getPanelSectionDef(StagePanelSection.Start)
|
|
339
|
+
.widgetDefs, state), StagePanelLocation.Left, StagePanelSection.Start);
|
|
340
|
+
state = appendWidgets(state, determineNewWidgets(frontstageDef.leftPanel?.getPanelSectionDef(StagePanelSection.End)
|
|
341
|
+
.widgetDefs, state), StagePanelLocation.Left, StagePanelSection.End);
|
|
342
|
+
state = appendWidgets(state, determineNewWidgets(frontstageDef.rightPanel?.getPanelSectionDef(StagePanelSection.Start)
|
|
343
|
+
.widgetDefs, state), StagePanelLocation.Right, StagePanelSection.Start);
|
|
344
|
+
state = appendWidgets(state, determineNewWidgets(frontstageDef.rightPanel?.getPanelSectionDef(StagePanelSection.End)
|
|
345
|
+
.widgetDefs, state), StagePanelLocation.Right, StagePanelSection.End);
|
|
346
|
+
state = appendWidgets(state, determineNewWidgets(frontstageDef.topPanel?.getPanelSectionDef(StagePanelSection.Start)
|
|
347
|
+
.widgetDefs, state), StagePanelLocation.Top, StagePanelSection.Start);
|
|
348
|
+
state = appendWidgets(state, determineNewWidgets(frontstageDef.topPanel?.getPanelSectionDef(StagePanelSection.End)
|
|
349
|
+
.widgetDefs, state), StagePanelLocation.Top, StagePanelSection.End);
|
|
350
|
+
state = appendWidgets(state, determineNewWidgets(frontstageDef.bottomPanel?.getPanelSectionDef(StagePanelSection.Start)
|
|
351
|
+
.widgetDefs, state), StagePanelLocation.Bottom, StagePanelSection.Start);
|
|
352
|
+
state = appendWidgets(state, determineNewWidgets(frontstageDef.bottomPanel?.getPanelSectionDef(StagePanelSection.End)
|
|
353
|
+
.widgetDefs, state), StagePanelLocation.Bottom, StagePanelSection.End);
|
|
349
354
|
if (frontstageDef.toolSettings) {
|
|
350
355
|
const newToolSettingsWidgets = determineNewWidgets([frontstageDef.toolSettings], state);
|
|
351
356
|
for (const newToolSettingsWidget of newToolSettingsWidgets) {
|
|
@@ -371,8 +376,7 @@ function hideWidgets(state, frontstageDef) {
|
|
|
371
376
|
* @internal
|
|
372
377
|
*/
|
|
373
378
|
export function removeMissingWidgets(frontstageDef, state) {
|
|
374
|
-
|
|
375
|
-
const toolSettingsTabId = (_a = state.toolSettings) === null || _a === void 0 ? void 0 : _a.tabId;
|
|
379
|
+
const toolSettingsTabId = state.toolSettings?.tabId;
|
|
376
380
|
for (const [, tab] of Object.entries(state.tabs)) {
|
|
377
381
|
if (tab.id === toolSettingsTabId)
|
|
378
382
|
continue;
|
|
@@ -426,8 +430,8 @@ export function getWidgetId(location, section) {
|
|
|
426
430
|
/** @internal */
|
|
427
431
|
export function getPanelSectionWidgets(frontstageDef, location, section) {
|
|
428
432
|
const stagePanel = frontstageDef.getStagePanelDef(location);
|
|
429
|
-
const panelSection = stagePanel
|
|
430
|
-
return
|
|
433
|
+
const panelSection = stagePanel?.getPanelSectionDef(section);
|
|
434
|
+
return panelSection?.widgetDefs || [];
|
|
431
435
|
}
|
|
432
436
|
/** @internal */
|
|
433
437
|
export function addPanelWidgets(state, frontstageDef, location) {
|
|
@@ -452,15 +456,14 @@ export function initializePanel(state, frontstageDef, location) {
|
|
|
452
456
|
state = addPanelWidgets(state, frontstageDef, location);
|
|
453
457
|
const panelDef = frontstageDef.getStagePanelDef(location);
|
|
454
458
|
state = produce(state, (draft) => {
|
|
455
|
-
var _a, _b, _c;
|
|
456
459
|
const panel = draft.panels[panelSide];
|
|
457
|
-
panel.minSize =
|
|
458
|
-
panel.pinned =
|
|
459
|
-
panel.resizable =
|
|
460
|
-
if (panelDef
|
|
460
|
+
panel.minSize = panelDef?.minSize ?? panel.minSize;
|
|
461
|
+
panel.pinned = panelDef?.pinned ?? panel.pinned;
|
|
462
|
+
panel.resizable = panelDef?.resizable ?? panel.resizable;
|
|
463
|
+
if (panelDef?.maxSizeSpec) {
|
|
461
464
|
panel.maxSize = getPanelMaxSize(panelDef.maxSizeSpec, panelSide, state.size);
|
|
462
465
|
}
|
|
463
|
-
const size = panelDef
|
|
466
|
+
const size = panelDef?.size;
|
|
464
467
|
panel.size =
|
|
465
468
|
size === undefined
|
|
466
469
|
? size
|
|
@@ -496,7 +499,6 @@ export function initializeNineZoneState(frontstageDef) {
|
|
|
496
499
|
nineZone = initializePanel(nineZone, frontstageDef, StagePanelLocation.Top);
|
|
497
500
|
nineZone = initializePanel(nineZone, frontstageDef, StagePanelLocation.Bottom);
|
|
498
501
|
nineZone = produce(nineZone, (draft) => {
|
|
499
|
-
var _a, _b, _c, _d;
|
|
500
502
|
for (const [, panel] of Object.entries(draft.panels)) {
|
|
501
503
|
const expanded = panel.widgets.find((widgetId) => draft.widgets[widgetId].minimized === false);
|
|
502
504
|
const firstWidget = panel.widgets.length > 0 ? draft.widgets[panel.widgets[0]] : undefined;
|
|
@@ -505,10 +507,10 @@ export function initializeNineZoneState(frontstageDef) {
|
|
|
505
507
|
firstWidget.minimized = false;
|
|
506
508
|
}
|
|
507
509
|
}
|
|
508
|
-
draft.panels.left.collapsed = isPanelCollapsed(
|
|
509
|
-
draft.panels.right.collapsed = isPanelCollapsed(
|
|
510
|
-
draft.panels.top.collapsed = isPanelCollapsed(
|
|
511
|
-
draft.panels.bottom.collapsed = isPanelCollapsed(
|
|
510
|
+
draft.panels.left.collapsed = isPanelCollapsed(frontstageDef.leftPanel?.panelState);
|
|
511
|
+
draft.panels.right.collapsed = isPanelCollapsed(frontstageDef.rightPanel?.panelState);
|
|
512
|
+
draft.panels.top.collapsed = isPanelCollapsed(frontstageDef.topPanel?.panelState);
|
|
513
|
+
draft.panels.bottom.collapsed = isPanelCollapsed(frontstageDef.bottomPanel?.panelState);
|
|
512
514
|
});
|
|
513
515
|
nineZone = addMissingWidgets(frontstageDef, nineZone);
|
|
514
516
|
const toolSettingsWidgetDef = frontstageDef.toolSettings;
|
|
@@ -699,7 +701,6 @@ function addHiddenWidget(state, widgetDef) {
|
|
|
699
701
|
}
|
|
700
702
|
/** @internal */
|
|
701
703
|
export function setWidgetState(state, widgetDef, widgetState) {
|
|
702
|
-
var _a, _b, _c, _d, _e;
|
|
703
704
|
if (widgetState === WidgetState.Hidden) {
|
|
704
705
|
return hideWidget(state, widgetDef);
|
|
705
706
|
}
|
|
@@ -709,7 +710,7 @@ export function setWidgetState(state, widgetDef, widgetState) {
|
|
|
709
710
|
if (!state.toolSettings && !widgetDef.tabLocation) {
|
|
710
711
|
state = addDockedToolSettings(state, id);
|
|
711
712
|
}
|
|
712
|
-
if (
|
|
713
|
+
if (state.toolSettings?.type === "docked")
|
|
713
714
|
return state;
|
|
714
715
|
}
|
|
715
716
|
let location = getTabLocation(state, id);
|
|
@@ -721,7 +722,6 @@ export function setWidgetState(state, widgetDef, widgetState) {
|
|
|
721
722
|
}
|
|
722
723
|
}
|
|
723
724
|
return produce(state, (draft) => {
|
|
724
|
-
var _a;
|
|
725
725
|
assert(!!location);
|
|
726
726
|
const widget = draft.widgets[location.widgetId];
|
|
727
727
|
widget.minimized = false;
|
|
@@ -736,14 +736,14 @@ export function setWidgetState(state, widgetDef, widgetState) {
|
|
|
736
736
|
panel.collapsed = false;
|
|
737
737
|
if (undefined === panel.size || 0 === panel.size) {
|
|
738
738
|
// istanbul ignore next
|
|
739
|
-
panel.size =
|
|
739
|
+
panel.size = panel.minSize ?? 200;
|
|
740
740
|
}
|
|
741
741
|
}
|
|
742
742
|
});
|
|
743
743
|
}
|
|
744
744
|
else if (widgetState === WidgetState.Closed) {
|
|
745
745
|
const id = widgetDef.id;
|
|
746
|
-
if (widgetDef.isToolSettings &&
|
|
746
|
+
if (widgetDef.isToolSettings && state.toolSettings?.type !== "widget") {
|
|
747
747
|
return state;
|
|
748
748
|
}
|
|
749
749
|
let location = getTabLocation(state, id);
|
|
@@ -774,10 +774,10 @@ export function setWidgetState(state, widgetDef, widgetState) {
|
|
|
774
774
|
return state;
|
|
775
775
|
// Widget is not floating.
|
|
776
776
|
state = removeTabFromWidget(state, id);
|
|
777
|
-
const bounds =
|
|
777
|
+
const bounds = widgetDef.tabLocation?.floatingWidget?.bounds;
|
|
778
778
|
state = addFloatingWidget(state, getUniqueId(), [id], { bounds });
|
|
779
779
|
if (widgetDef.isToolSettings) {
|
|
780
|
-
if (
|
|
780
|
+
if (state.toolSettings?.type === "docked") {
|
|
781
781
|
state = removeToolSettings(state);
|
|
782
782
|
}
|
|
783
783
|
if (!state.toolSettings) {
|
|
@@ -789,14 +789,13 @@ export function setWidgetState(state, widgetDef, widgetState) {
|
|
|
789
789
|
}
|
|
790
790
|
/** Stores widget location and hides it in the UI. */
|
|
791
791
|
function hideWidget(state, widgetDef) {
|
|
792
|
-
|
|
793
|
-
const toolSettingsTabId = (_a = state.toolSettings) === null || _a === void 0 ? void 0 : _a.tabId;
|
|
792
|
+
const toolSettingsTabId = state.toolSettings?.tabId;
|
|
794
793
|
if (widgetDef.id === toolSettingsTabId) {
|
|
795
794
|
widgetDef.tabLocation = undefined;
|
|
796
795
|
state = produce(state, (draft) => {
|
|
797
796
|
draft.toolSettings = undefined;
|
|
798
797
|
});
|
|
799
|
-
if (
|
|
798
|
+
if (state.toolSettings?.type === "docked")
|
|
800
799
|
return state;
|
|
801
800
|
}
|
|
802
801
|
const location = getTabLocation(state, widgetDef.id);
|
|
@@ -1052,13 +1051,12 @@ export function useFrontstageManager(frontstageDef, useToolAsToolSettingsLabel)
|
|
|
1052
1051
|
const defaultLabel = React.useMemo(() => UiFramework.translate("widget.labels.toolSettings"), []);
|
|
1053
1052
|
React.useEffect(() => {
|
|
1054
1053
|
const updateLabel = createListener(frontstageDef, () => {
|
|
1055
|
-
var _a, _b;
|
|
1056
1054
|
const toolId = UiFramework.frontstages.activeToolId;
|
|
1057
1055
|
assert(!!frontstageDef.nineZoneState);
|
|
1058
1056
|
const label = useToolAsToolSettingsLabel
|
|
1059
|
-
?
|
|
1057
|
+
? IModelApp.tools.find(toolId)?.flyover || defaultLabel
|
|
1060
1058
|
: defaultLabel;
|
|
1061
|
-
const toolSettingsTabId =
|
|
1059
|
+
const toolSettingsTabId = frontstageDef.nineZoneState.toolSettings?.tabId;
|
|
1062
1060
|
if (!toolSettingsTabId)
|
|
1063
1061
|
return;
|
|
1064
1062
|
frontstageDef.nineZoneState = setWidgetLabel(frontstageDef.nineZoneState, toolSettingsTabId, label);
|