@itwin/appui-react 5.3.1 → 5.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 +330 -30
- package/lib/appui-react/UiFramework.d.ts +6 -2
- package/lib/appui-react/UiFramework.d.ts.map +1 -1
- package/lib/appui-react/UiFramework.js +30 -3
- package/lib/appui-react/UiFramework.js.map +1 -1
- package/lib/appui-react/accudraw/AccuDrawFieldContainer.d.ts.map +1 -1
- package/lib/appui-react/accudraw/AccuDrawFieldContainer.js +4 -4
- package/lib/appui-react/accudraw/AccuDrawFieldContainer.js.map +1 -1
- package/lib/appui-react/accudraw/AccuDrawPopupManager.d.ts.map +1 -1
- package/lib/appui-react/accudraw/AccuDrawPopupManager.js +10 -6
- package/lib/appui-react/accudraw/AccuDrawPopupManager.js.map +1 -1
- package/lib/appui-react/accudraw/AccuDrawWidget.d.ts.map +1 -1
- package/lib/appui-react/accudraw/AccuDrawWidget.js +1 -0
- package/lib/appui-react/accudraw/AccuDrawWidget.js.map +1 -1
- package/lib/appui-react/accudraw/Calculator.js +2 -2
- package/lib/appui-react/accudraw/Calculator.js.map +1 -1
- package/lib/appui-react/backstage/BackstageItemUtilities.d.ts.map +1 -1
- package/lib/appui-react/backstage/BackstageItemUtilities.js +2 -0
- package/lib/appui-react/backstage/BackstageItemUtilities.js.map +1 -1
- package/lib/appui-react/childwindow/ChildWindowRenderer.d.ts +2 -0
- package/lib/appui-react/childwindow/ChildWindowRenderer.d.ts.map +1 -1
- package/lib/appui-react/childwindow/ChildWindowRenderer.js +15 -10
- package/lib/appui-react/childwindow/ChildWindowRenderer.js.map +1 -1
- package/lib/appui-react/configurableui/ConfigurableUiContent.d.ts +23 -1
- package/lib/appui-react/configurableui/ConfigurableUiContent.d.ts.map +1 -1
- package/lib/appui-react/configurableui/ConfigurableUiContent.js +20 -12
- package/lib/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
- package/lib/appui-react/content/ContentLayout.d.ts.map +1 -1
- package/lib/appui-react/content/ContentLayout.js +10 -11
- package/lib/appui-react/content/ContentLayout.js.map +1 -1
- package/lib/appui-react/content/ContentOverlay.d.ts +1 -0
- package/lib/appui-react/content/ContentOverlay.d.ts.map +1 -1
- package/lib/appui-react/content/ContentOverlay.js +3 -1
- package/lib/appui-react/content/ContentOverlay.js.map +1 -1
- package/lib/appui-react/content/DefaultViewOverlay.d.ts.map +1 -1
- package/lib/appui-react/content/DefaultViewOverlay.js +6 -2
- package/lib/appui-react/content/DefaultViewOverlay.js.map +1 -1
- package/lib/appui-react/content/FloatingViewportContent.d.ts.map +1 -1
- package/lib/appui-react/content/FloatingViewportContent.js +1 -1
- package/lib/appui-react/content/FloatingViewportContent.js.map +1 -1
- package/lib/appui-react/cursor/CursorInformation.d.ts +4 -1
- package/lib/appui-react/cursor/CursorInformation.d.ts.map +1 -1
- package/lib/appui-react/cursor/CursorInformation.js +6 -1
- package/lib/appui-react/cursor/CursorInformation.js.map +1 -1
- package/lib/appui-react/cursor/cursormenu/CursorMenu.d.ts +1 -24
- package/lib/appui-react/cursor/cursormenu/CursorMenu.d.ts.map +1 -1
- package/lib/appui-react/cursor/cursormenu/CursorMenu.js +37 -58
- package/lib/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
- package/lib/appui-react/cursor/cursorpopup/CursorPopup.scss +3 -0
- package/lib/appui-react/cursor/cursorpopup/CursorPopupManager.d.ts +8 -22
- package/lib/appui-react/cursor/cursorpopup/CursorPopupManager.d.ts.map +1 -1
- package/lib/appui-react/cursor/cursorpopup/CursorPopupManager.js +111 -116
- package/lib/appui-react/cursor/cursorpopup/CursorPopupManager.js.map +1 -1
- package/lib/appui-react/cursor/cursorprompt/CursorPrompt.d.ts +12 -15
- package/lib/appui-react/cursor/cursorprompt/CursorPrompt.d.ts.map +1 -1
- package/lib/appui-react/cursor/cursorprompt/CursorPrompt.js +85 -48
- package/lib/appui-react/cursor/cursorprompt/CursorPrompt.js.map +1 -1
- package/lib/appui-react/framework/FrameworkFrontstages.d.ts +47 -0
- package/lib/appui-react/framework/FrameworkFrontstages.d.ts.map +1 -1
- package/lib/appui-react/framework/FrameworkFrontstages.js +136 -0
- package/lib/appui-react/framework/FrameworkFrontstages.js.map +1 -1
- package/lib/appui-react/framework/FrameworkVisibility.d.ts +2 -0
- package/lib/appui-react/framework/FrameworkVisibility.d.ts.map +1 -1
- package/lib/appui-react/framework/FrameworkVisibility.js.map +1 -1
- package/lib/appui-react/frontstage/InternalFrontstageManager.d.ts.map +1 -1
- package/lib/appui-react/frontstage/InternalFrontstageManager.js +121 -115
- package/lib/appui-react/frontstage/InternalFrontstageManager.js.map +1 -1
- package/lib/appui-react/frontstage/StandardFrontstageProvider.d.ts.map +1 -1
- package/lib/appui-react/frontstage/StandardFrontstageProvider.js +1 -0
- package/lib/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
- package/lib/appui-react/hooks/useActiveTool.d.ts +9 -0
- package/lib/appui-react/hooks/useActiveTool.d.ts.map +1 -0
- package/lib/appui-react/hooks/useActiveTool.js +23 -0
- package/lib/appui-react/hooks/useActiveTool.js.map +1 -0
- package/lib/appui-react/icons/SvgAngle.d.ts +7 -0
- package/lib/appui-react/icons/SvgAngle.d.ts.map +1 -0
- package/lib/appui-react/icons/SvgAngle.js +15 -0
- package/lib/appui-react/icons/SvgAngle.js.map +1 -0
- package/lib/appui-react/icons/SvgBackspace.d.ts +7 -0
- package/lib/appui-react/icons/SvgBackspace.d.ts.map +1 -0
- package/lib/appui-react/icons/SvgBackspace.js +14 -0
- package/lib/appui-react/icons/SvgBackspace.js.map +1 -0
- package/lib/appui-react/icons/SvgDistance.d.ts +7 -0
- package/lib/appui-react/icons/SvgDistance.d.ts.map +1 -0
- package/lib/appui-react/icons/SvgDistance.js +16 -0
- package/lib/appui-react/icons/SvgDistance.js.map +1 -0
- package/lib/appui-react/icons/SvgHeight.d.ts +7 -0
- package/lib/appui-react/icons/SvgHeight.d.ts.map +1 -0
- package/lib/appui-react/icons/SvgHeight.js +17 -0
- package/lib/appui-react/icons/SvgHeight.js.map +1 -0
- package/lib/appui-react/icons/SvgMouseClickLeftDrag.d.ts +7 -0
- package/lib/appui-react/icons/SvgMouseClickLeftDrag.d.ts.map +1 -0
- package/lib/appui-react/icons/SvgMouseClickLeftDrag.js +15 -0
- package/lib/appui-react/icons/SvgMouseClickLeftDrag.js.map +1 -0
- package/lib/appui-react/icons/SvgMouseClickRightDrag.d.ts +7 -0
- package/lib/appui-react/icons/SvgMouseClickRightDrag.d.ts.map +1 -0
- package/lib/appui-react/icons/SvgMouseClickRightDrag.js +15 -0
- package/lib/appui-react/icons/SvgMouseClickRightDrag.js.map +1 -0
- package/lib/appui-react/icons/SvgMouseClickWheelDrag.d.ts +7 -0
- package/lib/appui-react/icons/SvgMouseClickWheelDrag.d.ts.map +1 -0
- package/lib/appui-react/icons/SvgMouseClickWheelDrag.js +15 -0
- package/lib/appui-react/icons/SvgMouseClickWheelDrag.js.map +1 -0
- package/lib/appui-react/icons/SvgTouchCursorPan.d.ts +7 -0
- package/lib/appui-react/icons/SvgTouchCursorPan.d.ts.map +1 -0
- package/lib/appui-react/icons/SvgTouchCursorPan.js +15 -0
- package/lib/appui-react/icons/SvgTouchCursorPan.js.map +1 -0
- package/lib/appui-react/icons/SvgTouchCursorPoint.d.ts +7 -0
- package/lib/appui-react/icons/SvgTouchCursorPoint.d.ts.map +1 -0
- package/lib/appui-react/icons/SvgTouchCursorPoint.js +16 -0
- package/lib/appui-react/icons/SvgTouchCursorPoint.js.map +1 -0
- package/lib/appui-react/layout/StandardLayout.scss +3 -8
- package/lib/appui-react/layout/base/DragManager.d.ts.map +1 -1
- package/lib/appui-react/layout/base/DragManager.js +10 -15
- package/lib/appui-react/layout/base/DragManager.js.map +1 -1
- package/lib/appui-react/layout/state/NineZoneAction.d.ts +1 -0
- package/lib/appui-react/layout/state/NineZoneAction.d.ts.map +1 -1
- package/lib/appui-react/layout/state/NineZoneAction.js.map +1 -1
- package/lib/appui-react/layout/state/NineZoneStateReducer.d.ts.map +1 -1
- package/lib/appui-react/layout/state/NineZoneStateReducer.js +23 -16
- package/lib/appui-react/layout/state/NineZoneStateReducer.js.map +1 -1
- package/lib/appui-react/messages/Pointer.js +1 -1
- package/lib/appui-react/messages/Pointer.js.map +1 -1
- package/lib/appui-react/navigationaids/CubeNavigationAidControl.d.ts.map +1 -1
- package/lib/appui-react/navigationaids/CubeNavigationAidControl.js +1 -0
- package/lib/appui-react/navigationaids/CubeNavigationAidControl.js.map +1 -1
- package/lib/appui-react/navigationaids/DrawingNavigationAidControl.d.ts.map +1 -1
- package/lib/appui-react/navigationaids/DrawingNavigationAidControl.js +1 -0
- package/lib/appui-react/navigationaids/DrawingNavigationAidControl.js.map +1 -1
- package/lib/appui-react/navigationaids/SheetNavigationAid.d.ts.map +1 -1
- package/lib/appui-react/navigationaids/SheetNavigationAid.js +1 -0
- package/lib/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
- package/lib/appui-react/navigationaids/StandardRotationNavigationAid.d.ts.map +1 -1
- package/lib/appui-react/navigationaids/StandardRotationNavigationAid.js +1 -0
- package/lib/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
- package/lib/appui-react/popup/KeyinPalettePanel.js +1 -1
- package/lib/appui-react/popup/KeyinPalettePanel.js.map +1 -1
- package/lib/appui-react/popup/PopupManager.d.ts.map +1 -1
- package/lib/appui-react/popup/PopupManager.js +9 -3
- package/lib/appui-react/popup/PopupManager.js.map +1 -1
- package/lib/appui-react/preview/PreviewFeatures.d.ts +5 -0
- package/lib/appui-react/preview/PreviewFeatures.d.ts.map +1 -1
- package/lib/appui-react/preview/PreviewFeatures.js +1 -0
- package/lib/appui-react/preview/PreviewFeatures.js.map +1 -1
- package/lib/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.d.ts.map +1 -1
- package/lib/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.js +8 -2
- package/lib/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.js.map +1 -1
- package/lib/appui-react/preview/tool-settings-new-editors/useToolsSettingsNewEditors.d.ts +5 -0
- package/lib/appui-react/preview/tool-settings-new-editors/useToolsSettingsNewEditors.d.ts.map +1 -0
- package/lib/appui-react/preview/tool-settings-new-editors/useToolsSettingsNewEditors.js +13 -0
- package/lib/appui-react/preview/tool-settings-new-editors/useToolsSettingsNewEditors.js.map +1 -0
- package/lib/appui-react/shared/MenuItem.d.ts +3 -0
- package/lib/appui-react/shared/MenuItem.d.ts.map +1 -1
- package/lib/appui-react/shared/MenuItem.js +2 -3
- package/lib/appui-react/shared/MenuItem.js.map +1 -1
- package/lib/appui-react/statusbar/StatusBarItemUtilities.d.ts.map +1 -1
- package/lib/appui-react/statusbar/StatusBarItemUtilities.js +2 -0
- package/lib/appui-react/statusbar/StatusBarItemUtilities.js.map +1 -1
- package/lib/appui-react/statusfields/ActivityCenter.js +1 -1
- package/lib/appui-react/statusfields/ActivityCenter.js.map +1 -1
- package/lib/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts +2 -55
- package/lib/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts.map +1 -1
- package/lib/appui-react/statusfields/toolassistance/ToolAssistanceField.js +333 -403
- package/lib/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
- package/lib/appui-react/toolbar/Toolbar.d.ts.map +1 -1
- package/lib/appui-react/toolbar/Toolbar.js +4 -3
- package/lib/appui-react/toolbar/Toolbar.js.map +1 -1
- package/lib/appui-react/toolbar/ToolbarItemUtilities.d.ts.map +1 -1
- package/lib/appui-react/toolbar/ToolbarItemUtilities.js +3 -0
- package/lib/appui-react/toolbar/ToolbarItemUtilities.js.map +1 -1
- package/lib/appui-react/toolbar/new-toolbars/ActionItem.d.ts.map +1 -1
- package/lib/appui-react/toolbar/new-toolbars/ActionItem.js +3 -0
- package/lib/appui-react/toolbar/new-toolbars/ActionItem.js.map +1 -1
- package/lib/appui-react/toolbar/new-toolbars/GroupItem.d.ts +1 -1
- package/lib/appui-react/toolbar/new-toolbars/GroupItem.d.ts.map +1 -1
- package/lib/appui-react/toolbar/new-toolbars/GroupItem.js +2 -0
- package/lib/appui-react/toolbar/new-toolbars/GroupItem.js.map +1 -1
- package/lib/appui-react/toolbar/new-toolbars/Item.d.ts +2 -2
- package/lib/appui-react/toolbar/new-toolbars/Toolbar.d.ts +6 -3
- package/lib/appui-react/toolbar/new-toolbars/Toolbar.d.ts.map +1 -1
- package/lib/appui-react/toolbar/new-toolbars/Toolbar.js +4 -3
- package/lib/appui-react/toolbar/new-toolbars/Toolbar.js.map +1 -1
- package/lib/appui-react/toolsettings/DefaultToolSettingsProvider.d.ts.map +1 -1
- package/lib/appui-react/toolsettings/DefaultToolSettingsProvider.js +1 -0
- package/lib/appui-react/toolsettings/DefaultToolSettingsProvider.js.map +1 -1
- package/lib/appui-react/ui-items-provider/AbstractUiItemsManager.d.ts.map +1 -1
- package/lib/appui-react/ui-items-provider/AbstractUiItemsManager.js +9 -2
- package/lib/appui-react/ui-items-provider/AbstractUiItemsManager.js.map +1 -1
- package/lib/appui-react/ui-items-provider/StandardContentToolsProvider.d.ts.map +1 -1
- package/lib/appui-react/ui-items-provider/StandardContentToolsProvider.js +1 -0
- package/lib/appui-react/ui-items-provider/StandardContentToolsProvider.js.map +1 -1
- package/lib/appui-react/ui-items-provider/StandardNavigationToolsProvider.d.ts.map +1 -1
- package/lib/appui-react/ui-items-provider/StandardNavigationToolsProvider.js +1 -0
- package/lib/appui-react/ui-items-provider/StandardNavigationToolsProvider.js.map +1 -1
- package/lib/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts.map +1 -1
- package/lib/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js +1 -0
- package/lib/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js.map +1 -1
- package/lib/appui-react/uiprovider/ComponentGenerator.d.ts.map +1 -1
- package/lib/appui-react/uiprovider/ComponentGenerator.js +4 -2
- package/lib/appui-react/uiprovider/ComponentGenerator.js.map +1 -1
- package/lib/appui-react/utils/InternalUiShowHideManager.d.ts +2 -0
- package/lib/appui-react/utils/InternalUiShowHideManager.d.ts.map +1 -1
- package/lib/appui-react/utils/InternalUiShowHideManager.js +6 -0
- package/lib/appui-react/utils/InternalUiShowHideManager.js.map +1 -1
- package/lib/appui-react/utils/PropsHelper.js +1 -1
- package/lib/appui-react/utils/PropsHelper.js.map +1 -1
- package/lib/appui-react/widget-panels/Frontstage.d.ts +7 -2
- package/lib/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
- package/lib/appui-react/widget-panels/Frontstage.js +29 -12
- package/lib/appui-react/widget-panels/Frontstage.js.map +1 -1
- package/lib/appui-react/widgets/BackstageAppButton.scss +8 -3
- package/lib/appui-react/widgets/BasicToolWidget.d.ts.map +1 -1
- package/lib/appui-react/widgets/BasicToolWidget.js +3 -1
- package/lib/appui-react/widgets/BasicToolWidget.js.map +1 -1
- package/lib/appui-react/widgets/WidgetDef.d.ts.map +1 -1
- package/lib/appui-react/widgets/WidgetDef.js +0 -1
- package/lib/appui-react/widgets/WidgetDef.js.map +1 -1
- package/lib/appui-react.d.ts +1 -1
- package/lib/appui-react.d.ts.map +1 -1
- package/lib/appui-react.js +1 -1
- package/lib/appui-react.js.map +1 -1
- package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.scss +3 -0
- package/lib/cjs/appui-react/layout/StandardLayout.scss +3 -8
- package/lib/cjs/appui-react/widgets/BackstageAppButton.scss +8 -3
- package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.scss +3 -0
- package/lib/esm/appui-react/layout/StandardLayout.scss +3 -8
- package/lib/esm/appui-react/widgets/BackstageAppButton.scss +8 -3
- package/package.json +29 -30
- package/lib/appui-react/accudraw/angle.svg +0 -1
- package/lib/appui-react/accudraw/backspace.svg +0 -9
- package/lib/appui-react/accudraw/constraint-2d.svg +0 -11
- package/lib/appui-react/accudraw/distance.svg +0 -1
- package/lib/appui-react/accudraw/height-2.svg +0 -10
- package/lib/appui-react/accudraw/height.svg +0 -11
- package/lib/appui-react/statusfields/toolassistance/accept-point.svg +0 -1
- package/lib/appui-react/statusfields/toolassistance/cursor-click.svg +0 -1
- package/lib/appui-react/statusfields/toolassistance/gesture-one-finger-drag.svg +0 -1
- package/lib/appui-react/statusfields/toolassistance/gesture-one-finger-tap-double.svg +0 -1
- package/lib/appui-react/statusfields/toolassistance/gesture-one-finger-tap.svg +0 -1
- package/lib/appui-react/statusfields/toolassistance/gesture-pinch.svg +0 -1
- package/lib/appui-react/statusfields/toolassistance/gesture-two-finger-drag.svg +0 -1
- package/lib/appui-react/statusfields/toolassistance/gesture-two-finger-tap.svg +0 -1
- package/lib/appui-react/statusfields/toolassistance/mouse-click-left-drag.svg +0 -1
- package/lib/appui-react/statusfields/toolassistance/mouse-click-left.svg +0 -1
- package/lib/appui-react/statusfields/toolassistance/mouse-click-right-drag.svg +0 -1
- package/lib/appui-react/statusfields/toolassistance/mouse-click-right.svg +0 -1
- package/lib/appui-react/statusfields/toolassistance/mouse-click-wheel-drag.svg +0 -1
- package/lib/appui-react/statusfields/toolassistance/mouse-click-wheel.svg +0 -1
- package/lib/appui-react/statusfields/toolassistance/touch-cursor-pan.svg +0 -1
- package/lib/appui-react/statusfields/toolassistance/touch-cursor-point.svg +0 -1
- package/lib/cjs/appui-react/accudraw/angle.svg +0 -1
- package/lib/cjs/appui-react/accudraw/backspace.svg +0 -9
- package/lib/cjs/appui-react/accudraw/constraint-2d.svg +0 -11
- package/lib/cjs/appui-react/accudraw/distance.svg +0 -1
- package/lib/cjs/appui-react/accudraw/height-2.svg +0 -10
- package/lib/cjs/appui-react/accudraw/height.svg +0 -11
- package/lib/cjs/appui-react/statusfields/toolassistance/accept-point.svg +0 -1
- package/lib/cjs/appui-react/statusfields/toolassistance/cursor-click.svg +0 -1
- package/lib/cjs/appui-react/statusfields/toolassistance/gesture-one-finger-drag.svg +0 -1
- package/lib/cjs/appui-react/statusfields/toolassistance/gesture-one-finger-tap-double.svg +0 -1
- package/lib/cjs/appui-react/statusfields/toolassistance/gesture-one-finger-tap.svg +0 -1
- package/lib/cjs/appui-react/statusfields/toolassistance/gesture-pinch.svg +0 -1
- package/lib/cjs/appui-react/statusfields/toolassistance/gesture-two-finger-drag.svg +0 -1
- package/lib/cjs/appui-react/statusfields/toolassistance/gesture-two-finger-tap.svg +0 -1
- package/lib/cjs/appui-react/statusfields/toolassistance/mouse-click-left-drag.svg +0 -1
- package/lib/cjs/appui-react/statusfields/toolassistance/mouse-click-left.svg +0 -1
- package/lib/cjs/appui-react/statusfields/toolassistance/mouse-click-right-drag.svg +0 -1
- package/lib/cjs/appui-react/statusfields/toolassistance/mouse-click-right.svg +0 -1
- package/lib/cjs/appui-react/statusfields/toolassistance/mouse-click-wheel-drag.svg +0 -1
- package/lib/cjs/appui-react/statusfields/toolassistance/mouse-click-wheel.svg +0 -1
- package/lib/cjs/appui-react/statusfields/toolassistance/touch-cursor-pan.svg +0 -1
- package/lib/cjs/appui-react/statusfields/toolassistance/touch-cursor-point.svg +0 -1
- package/lib/esm/appui-react/accudraw/angle.svg +0 -1
- package/lib/esm/appui-react/accudraw/backspace.svg +0 -9
- package/lib/esm/appui-react/accudraw/constraint-2d.svg +0 -11
- package/lib/esm/appui-react/accudraw/distance.svg +0 -1
- package/lib/esm/appui-react/accudraw/height-2.svg +0 -10
- package/lib/esm/appui-react/accudraw/height.svg +0 -11
- package/lib/esm/appui-react/statusfields/toolassistance/accept-point.svg +0 -1
- package/lib/esm/appui-react/statusfields/toolassistance/cursor-click.svg +0 -1
- package/lib/esm/appui-react/statusfields/toolassistance/gesture-one-finger-drag.svg +0 -1
- package/lib/esm/appui-react/statusfields/toolassistance/gesture-one-finger-tap-double.svg +0 -1
- package/lib/esm/appui-react/statusfields/toolassistance/gesture-one-finger-tap.svg +0 -1
- package/lib/esm/appui-react/statusfields/toolassistance/gesture-pinch.svg +0 -1
- package/lib/esm/appui-react/statusfields/toolassistance/gesture-two-finger-drag.svg +0 -1
- package/lib/esm/appui-react/statusfields/toolassistance/gesture-two-finger-tap.svg +0 -1
- package/lib/esm/appui-react/statusfields/toolassistance/mouse-click-left-drag.svg +0 -1
- package/lib/esm/appui-react/statusfields/toolassistance/mouse-click-left.svg +0 -1
- package/lib/esm/appui-react/statusfields/toolassistance/mouse-click-right-drag.svg +0 -1
- package/lib/esm/appui-react/statusfields/toolassistance/mouse-click-right.svg +0 -1
- package/lib/esm/appui-react/statusfields/toolassistance/mouse-click-wheel-drag.svg +0 -1
- package/lib/esm/appui-react/statusfields/toolassistance/mouse-click-wheel.svg +0 -1
- package/lib/esm/appui-react/statusfields/toolassistance/touch-cursor-pan.svg +0 -1
- package/lib/esm/appui-react/statusfields/toolassistance/touch-cursor-point.svg +0 -1
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
/** @packageDocumentation
|
|
6
6
|
* @module Frontstage
|
|
7
7
|
*/
|
|
8
|
+
var _a;
|
|
8
9
|
import { BeUiEvent, Logger } from "@itwin/core-bentley";
|
|
9
10
|
import { IModelApp, InteractiveTool } from "@itwin/core-frontend";
|
|
10
11
|
import { UiFramework } from "../UiFramework.js";
|
|
@@ -21,10 +22,11 @@ export class InternalFrontstageManager {
|
|
|
21
22
|
* @internal
|
|
22
23
|
*/
|
|
23
24
|
static ensureToolInformationIsSet(toolId) {
|
|
24
|
-
if (
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
25
|
+
if (this._toolInformationMap.has(toolId))
|
|
26
|
+
return;
|
|
27
|
+
this._toolInformationMap.set(toolId,
|
|
28
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated
|
|
29
|
+
new ToolInformation(toolId));
|
|
28
30
|
}
|
|
29
31
|
/** Initializes the InternalFrontstageManager
|
|
30
32
|
* @internal
|
|
@@ -38,12 +40,12 @@ export class InternalFrontstageManager {
|
|
|
38
40
|
if (tool instanceof InteractiveTool)
|
|
39
41
|
UiFramework.toolSettings.initializeDataForTool(tool);
|
|
40
42
|
// if the tool data is not already cached then see if there is data to cache
|
|
41
|
-
|
|
42
|
-
|
|
43
|
+
this.ensureToolInformationIsSet(tool.toolId);
|
|
44
|
+
UiFramework.frontstages.setActiveTool(tool);
|
|
43
45
|
});
|
|
44
|
-
UiFramework.toolSettings.onSyncToolSettingsProperties.addListener(
|
|
45
|
-
UiFramework.toolSettings.onReloadToolSettingsProperties.addListener(
|
|
46
|
-
IModelApp.viewManager.onSelectedViewportChanged.addListener(
|
|
46
|
+
UiFramework.toolSettings.onSyncToolSettingsProperties.addListener(this._handleSyncToolSettingsPropertiesEvent);
|
|
47
|
+
UiFramework.toolSettings.onReloadToolSettingsProperties.addListener(this._handleReloadToolSettingsEvent);
|
|
48
|
+
IModelApp.viewManager.onSelectedViewportChanged.addListener(this._handleSelectedViewportChanged);
|
|
47
49
|
UiItemsManager.onUiProviderRegisteredEvent.addListener(() => {
|
|
48
50
|
const frontstageDef = UiFramework.frontstages.activeFrontstageDef;
|
|
49
51
|
if (!frontstageDef)
|
|
@@ -54,21 +56,21 @@ export class InternalFrontstageManager {
|
|
|
54
56
|
}
|
|
55
57
|
/** @internal */
|
|
56
58
|
static get isInitialized() {
|
|
57
|
-
return
|
|
59
|
+
return this._initialized;
|
|
58
60
|
}
|
|
59
61
|
static set isInitialized(v) {
|
|
60
|
-
|
|
62
|
+
this._initialized = v;
|
|
61
63
|
}
|
|
62
64
|
/** Returns true if Frontstage is loading its controls. If false the Frontstage content and controls have been created. */
|
|
63
65
|
static get isLoading() {
|
|
64
|
-
return
|
|
66
|
+
return this._isLoading;
|
|
65
67
|
}
|
|
66
68
|
/** @internal */
|
|
67
69
|
static get nineZoneSize() {
|
|
68
|
-
return
|
|
70
|
+
return this._nineZoneSize;
|
|
69
71
|
}
|
|
70
72
|
static set nineZoneSize(size) {
|
|
71
|
-
|
|
73
|
+
this._nineZoneSize = size;
|
|
72
74
|
}
|
|
73
75
|
/** @internal */
|
|
74
76
|
static get frontstageDefs() {
|
|
@@ -77,19 +79,20 @@ export class InternalFrontstageManager {
|
|
|
77
79
|
/** Clears the Frontstage map.
|
|
78
80
|
*/
|
|
79
81
|
static clearFrontstageDefs() {
|
|
80
|
-
|
|
81
|
-
|
|
82
|
+
this._frontstageDefs.clear();
|
|
83
|
+
this._activeFrontstageDef = undefined;
|
|
82
84
|
}
|
|
83
85
|
/** Clears the Frontstage Providers and the defs that may have been created from them.
|
|
84
86
|
*/
|
|
85
87
|
static clearFrontstageProviders() {
|
|
86
|
-
|
|
87
|
-
|
|
88
|
+
this._frontstageProviders.clear();
|
|
89
|
+
UiFramework.frontstages.clearFrontstageDefs();
|
|
88
90
|
}
|
|
89
91
|
/** Clears the Frontstages, Frontstage Providers and the defs that may have been created from them. */
|
|
90
92
|
static clearFrontstages() {
|
|
91
|
-
|
|
92
|
-
|
|
93
|
+
this._frontstages.clear();
|
|
94
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated
|
|
95
|
+
UiFramework.frontstages.clearFrontstageProviders();
|
|
93
96
|
}
|
|
94
97
|
static getFrontstageKey(frontstageId) {
|
|
95
98
|
return frontstageId;
|
|
@@ -99,25 +102,25 @@ export class InternalFrontstageManager {
|
|
|
99
102
|
if (!iModelId)
|
|
100
103
|
return;
|
|
101
104
|
const keysToRemove = [];
|
|
102
|
-
|
|
105
|
+
this._frontstageDefs.forEach((_, key) => {
|
|
103
106
|
if (key.startsWith(`[${iModelId}]`))
|
|
104
107
|
keysToRemove.push(key);
|
|
105
108
|
});
|
|
106
109
|
keysToRemove.forEach((keyValue) => {
|
|
107
|
-
|
|
110
|
+
this._frontstageDefs.delete(keyValue);
|
|
108
111
|
});
|
|
109
112
|
}
|
|
110
113
|
static addFrontstageProvider(
|
|
111
114
|
// eslint-disable-next-line @typescript-eslint/no-deprecated
|
|
112
115
|
frontstageProvider) {
|
|
113
|
-
const key =
|
|
114
|
-
key &&
|
|
115
|
-
|
|
116
|
+
const key = this.getFrontstageKey(frontstageProvider.id);
|
|
117
|
+
key && this._frontstageDefs.delete(key);
|
|
118
|
+
this._frontstageProviders.set(frontstageProvider.id, frontstageProvider);
|
|
116
119
|
}
|
|
117
120
|
static addFrontstage(frontstage) {
|
|
118
|
-
const key =
|
|
119
|
-
key &&
|
|
120
|
-
|
|
121
|
+
const key = this.getFrontstageKey(frontstage.id);
|
|
122
|
+
key && this._frontstageDefs.delete(key);
|
|
123
|
+
this._frontstages.set(frontstage.id, frontstage);
|
|
121
124
|
}
|
|
122
125
|
/** Find a loaded Frontstage with a given id. If the id is not provided, the active Frontstage is returned.
|
|
123
126
|
* If the FrontstageDef has not been cached by FrontstageDef then it will not be found. See async function
|
|
@@ -126,8 +129,8 @@ export class InternalFrontstageManager {
|
|
|
126
129
|
* @returns FrontstageDef with a given id if found, or undefined if not found.
|
|
127
130
|
*/
|
|
128
131
|
static findFrontstageDef(id) {
|
|
129
|
-
const key =
|
|
130
|
-
const frontstageDef =
|
|
132
|
+
const key = this.getFrontstageKey(id);
|
|
133
|
+
const frontstageDef = this._frontstageDefs.get(key);
|
|
131
134
|
if (frontstageDef instanceof FrontstageDef)
|
|
132
135
|
return frontstageDef;
|
|
133
136
|
return undefined;
|
|
@@ -138,11 +141,11 @@ export class InternalFrontstageManager {
|
|
|
138
141
|
if (!id) {
|
|
139
142
|
return undefined;
|
|
140
143
|
}
|
|
141
|
-
const provider =
|
|
144
|
+
const provider = this._frontstageProviders.get(id);
|
|
142
145
|
if (provider) {
|
|
143
146
|
return provider;
|
|
144
147
|
}
|
|
145
|
-
const frontstage =
|
|
148
|
+
const frontstage = this._frontstages.get(id);
|
|
146
149
|
if (frontstage) {
|
|
147
150
|
// eslint-disable-next-line @typescript-eslint/no-deprecated
|
|
148
151
|
return new (class extends FrontstageProvider {
|
|
@@ -164,16 +167,16 @@ export class InternalFrontstageManager {
|
|
|
164
167
|
*/
|
|
165
168
|
static async getFrontstageDef(id) {
|
|
166
169
|
if (!id)
|
|
167
|
-
return
|
|
168
|
-
let frontstageDef =
|
|
170
|
+
return UiFramework.frontstages.activeFrontstageDef;
|
|
171
|
+
let frontstageDef = this.findFrontstageDef(id);
|
|
169
172
|
if (frontstageDef)
|
|
170
173
|
return frontstageDef;
|
|
171
|
-
const frontstageProvider =
|
|
174
|
+
const frontstageProvider = this.findFrontstageProvider(id);
|
|
172
175
|
if (frontstageProvider) {
|
|
173
176
|
frontstageDef = await FrontstageDef.create(frontstageProvider);
|
|
174
177
|
if (frontstageDef) {
|
|
175
|
-
const key =
|
|
176
|
-
|
|
178
|
+
const key = this.getFrontstageKey(frontstageDef.id);
|
|
179
|
+
this._frontstageDefs.set(key, frontstageDef);
|
|
177
180
|
}
|
|
178
181
|
return frontstageDef;
|
|
179
182
|
}
|
|
@@ -183,19 +186,19 @@ export class InternalFrontstageManager {
|
|
|
183
186
|
* @return Active FrontstageDef, or undefined if one is not active.
|
|
184
187
|
*/
|
|
185
188
|
static get activeFrontstageDef() {
|
|
186
|
-
return
|
|
189
|
+
return this._activeFrontstageDef;
|
|
187
190
|
}
|
|
188
191
|
/** Gets the Id of the active FrontstageDef. If a Frontstage is not active, blank is returned.
|
|
189
192
|
* @return Id of the active FrontstageDef, or blank if one is not active.
|
|
190
193
|
*/
|
|
191
194
|
static get activeFrontstageId() {
|
|
192
|
-
const activeFrontstage =
|
|
195
|
+
const activeFrontstage = this._activeFrontstageDef;
|
|
193
196
|
return activeFrontstage ? activeFrontstage.id : "";
|
|
194
197
|
}
|
|
195
198
|
static hasFrontstage(frontstageId) {
|
|
196
|
-
if (
|
|
199
|
+
if (this.findFrontstageDef(frontstageId))
|
|
197
200
|
return true;
|
|
198
|
-
if (
|
|
201
|
+
if (this.findFrontstageProvider(frontstageId))
|
|
199
202
|
return true;
|
|
200
203
|
return false;
|
|
201
204
|
}
|
|
@@ -204,26 +207,26 @@ export class InternalFrontstageManager {
|
|
|
204
207
|
* @returns A Promise that is fulfilled when the Frontstage is ready.
|
|
205
208
|
*/
|
|
206
209
|
static async setActiveFrontstage(frontstageId) {
|
|
207
|
-
const frontstageDef = await
|
|
210
|
+
const frontstageDef = await UiFramework.frontstages.getFrontstageDef(frontstageId);
|
|
208
211
|
if (!frontstageDef) {
|
|
209
212
|
Logger.logError(UiFramework.loggerCategory("InternalFrontstageManager"), `setActiveFrontstage: Could not load a FrontstageDef with id of '${frontstageId}'`);
|
|
210
213
|
return;
|
|
211
214
|
}
|
|
212
|
-
return
|
|
215
|
+
return UiFramework.frontstages.setActiveFrontstageDef(frontstageDef);
|
|
213
216
|
}
|
|
214
217
|
/** Sets the active FrontstageDef.
|
|
215
218
|
* @param frontstageDef FrontstageDef to set active.
|
|
216
219
|
* @returns A Promise that is fulfilled when the [[FrontstageDef]] is ready.
|
|
217
220
|
*/
|
|
218
221
|
static async setActiveFrontstageDef(frontstageDef) {
|
|
219
|
-
if (
|
|
222
|
+
if (this._activeFrontstageDef === frontstageDef)
|
|
220
223
|
return;
|
|
221
|
-
|
|
222
|
-
const deactivatedFrontstageDef =
|
|
224
|
+
this._isLoading = true;
|
|
225
|
+
const deactivatedFrontstageDef = this._activeFrontstageDef;
|
|
223
226
|
if (deactivatedFrontstageDef) {
|
|
224
227
|
await deactivatedFrontstageDef.onDeactivated();
|
|
225
228
|
const timeTracker = deactivatedFrontstageDef.timeTracker;
|
|
226
|
-
|
|
229
|
+
UiFramework.frontstages.onFrontstageDeactivatedEvent.emit({
|
|
227
230
|
deactivatedFrontstageDef,
|
|
228
231
|
activatedFrontstageDef: frontstageDef,
|
|
229
232
|
totalTime: timeTracker.getTotalTimeSeconds(),
|
|
@@ -231,53 +234,53 @@ export class InternalFrontstageManager {
|
|
|
231
234
|
idleTime: timeTracker.getIdleTimeSeconds(),
|
|
232
235
|
});
|
|
233
236
|
}
|
|
234
|
-
|
|
237
|
+
this._activeFrontstageDef = frontstageDef;
|
|
235
238
|
if (frontstageDef) {
|
|
236
239
|
await frontstageDef.onActivated();
|
|
237
|
-
|
|
240
|
+
UiFramework.frontstages.onFrontstageActivatedEvent.emit({
|
|
238
241
|
activatedFrontstageDef: frontstageDef,
|
|
239
242
|
deactivatedFrontstageDef,
|
|
240
243
|
});
|
|
241
244
|
await frontstageDef.waitUntilReady();
|
|
242
|
-
|
|
245
|
+
this._isLoading = false;
|
|
243
246
|
frontstageDef.onFrontstageReady();
|
|
244
|
-
|
|
247
|
+
UiFramework.frontstages.onFrontstageReadyEvent.emit({ frontstageDef });
|
|
245
248
|
UiFramework.visibility.handleFrontstageReady();
|
|
246
249
|
await frontstageDef.setActiveContent();
|
|
247
250
|
}
|
|
248
|
-
|
|
251
|
+
this._isLoading = false;
|
|
249
252
|
}
|
|
250
253
|
/** Deactivates the active FrontstageDef.
|
|
251
254
|
*/
|
|
252
255
|
static async deactivateFrontstageDef() {
|
|
253
|
-
await
|
|
256
|
+
await UiFramework.frontstages.setActiveFrontstageDef(undefined);
|
|
254
257
|
}
|
|
255
258
|
/** Gets the Id of the active tool. If a tool is not active, blank is returned.
|
|
256
259
|
* @return Id of the active tool, or blank if one is not active.
|
|
257
260
|
*/
|
|
258
261
|
static get activeToolId() {
|
|
259
|
-
return
|
|
262
|
+
return this._activeToolId;
|
|
260
263
|
}
|
|
261
264
|
/** Sets the active tool id */
|
|
262
265
|
static setActiveToolId(toolId) {
|
|
263
|
-
|
|
264
|
-
const toolSettingsProvider =
|
|
266
|
+
this._activeToolId = toolId;
|
|
267
|
+
const toolSettingsProvider = this.activeToolSettingsProvider;
|
|
265
268
|
// ensure the toolSettingsProvider is initialized before emitting onToolActivatedEvent
|
|
266
269
|
if (toolSettingsProvider)
|
|
267
270
|
toolSettingsProvider.initialize();
|
|
268
|
-
|
|
271
|
+
UiFramework.frontstages.onToolActivatedEvent.emit({ toolId });
|
|
269
272
|
}
|
|
270
273
|
/** Sets the active tool */
|
|
271
274
|
static setActiveTool(tool) {
|
|
272
|
-
|
|
273
|
-
|
|
275
|
+
UiFramework.frontstages.setActiveToolId(tool.toolId);
|
|
276
|
+
UiFramework.frontstages.onToolIconChangedEvent.emit({
|
|
274
277
|
iconSpec: tool.iconSpec,
|
|
275
278
|
});
|
|
276
279
|
}
|
|
277
280
|
/** Gets the active tool's [[ToolInformation]] */
|
|
278
281
|
// eslint-disable-next-line @typescript-eslint/no-deprecated
|
|
279
282
|
static get activeToolInformation() {
|
|
280
|
-
return
|
|
283
|
+
return this._toolInformationMap.get(UiFramework.frontstages.activeToolId);
|
|
281
284
|
}
|
|
282
285
|
/** Gets the Tool Setting React node of the active tool.
|
|
283
286
|
* @return Tool Setting React node of the active tool, or undefined if there is no active tool or Tool Settings for the active tool.
|
|
@@ -285,7 +288,8 @@ export class InternalFrontstageManager {
|
|
|
285
288
|
*/
|
|
286
289
|
// eslint-disable-next-line @typescript-eslint/no-deprecated
|
|
287
290
|
static get activeToolSettingsProvider() {
|
|
288
|
-
|
|
291
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated
|
|
292
|
+
const activeToolInformation = UiFramework.frontstages.activeToolInformation;
|
|
289
293
|
return activeToolInformation?.toolUiProvider;
|
|
290
294
|
}
|
|
291
295
|
/** Sets the active layout, content group and active content.
|
|
@@ -293,16 +297,16 @@ export class InternalFrontstageManager {
|
|
|
293
297
|
* @param contentGroup Content Group to make active
|
|
294
298
|
*/
|
|
295
299
|
static async setActiveLayout(contentLayoutDef, contentGroup) {
|
|
296
|
-
const activeFrontstageDef =
|
|
300
|
+
const activeFrontstageDef = UiFramework.frontstages.activeFrontstageDef;
|
|
297
301
|
if (activeFrontstageDef) {
|
|
298
|
-
|
|
302
|
+
this._isLoading = false;
|
|
299
303
|
activeFrontstageDef.setContentLayoutAndGroup(contentLayoutDef, contentGroup);
|
|
300
|
-
|
|
304
|
+
UiFramework.frontstages.onContentLayoutActivatedEvent.emit({
|
|
301
305
|
contentLayout: contentLayoutDef,
|
|
302
306
|
contentGroup,
|
|
303
307
|
});
|
|
304
308
|
await activeFrontstageDef.waitUntilReady();
|
|
305
|
-
|
|
309
|
+
this._isLoading = false;
|
|
306
310
|
await activeFrontstageDef.setActiveContent();
|
|
307
311
|
}
|
|
308
312
|
}
|
|
@@ -311,13 +315,13 @@ export class InternalFrontstageManager {
|
|
|
311
315
|
*/
|
|
312
316
|
static async setActiveContentGroup(contentGroup) {
|
|
313
317
|
const contentLayoutDef = UiFramework.content.layouts.getForGroup(contentGroup);
|
|
314
|
-
await
|
|
318
|
+
await this.setActiveLayout(contentLayoutDef, contentGroup);
|
|
315
319
|
}
|
|
316
320
|
/** Opens a modal Frontstage. Modal Frontstages can be stacked.
|
|
317
321
|
* @param modalFrontstage Information about the modal Frontstage
|
|
318
322
|
*/
|
|
319
323
|
static openModalFrontstage(modalFrontstage) {
|
|
320
|
-
|
|
324
|
+
this.pushModalFrontstage(modalFrontstage);
|
|
321
325
|
}
|
|
322
326
|
static pushModalFrontstage(modalFrontstage) {
|
|
323
327
|
const timeTracker = new TimeTracker();
|
|
@@ -326,55 +330,55 @@ export class InternalFrontstageManager {
|
|
|
326
330
|
modalFrontstage,
|
|
327
331
|
timeTracker,
|
|
328
332
|
};
|
|
329
|
-
|
|
330
|
-
|
|
333
|
+
this._modalFrontstages.push(frontstageItem);
|
|
334
|
+
this.emitModalFrontstageChangedEvent();
|
|
331
335
|
}
|
|
332
336
|
/** Closes the top-most modal Frontstage.
|
|
333
337
|
*/
|
|
334
338
|
static closeModalFrontstage() {
|
|
335
|
-
if (
|
|
336
|
-
const topMostStageItem =
|
|
339
|
+
if (this._modalFrontstages.length > 0) {
|
|
340
|
+
const topMostStageItem = this._modalFrontstages[this._modalFrontstages.length - 1];
|
|
337
341
|
if (topMostStageItem.modalFrontstage.notifyCloseRequest)
|
|
338
|
-
|
|
342
|
+
UiFramework.frontstages.onCloseModalFrontstageRequestedEvent.emit({
|
|
339
343
|
modalFrontstage: topMostStageItem.modalFrontstage,
|
|
340
|
-
stageCloseFunc:
|
|
344
|
+
stageCloseFunc: () => this.popModalFrontstage(),
|
|
341
345
|
});
|
|
342
346
|
else
|
|
343
|
-
|
|
347
|
+
this.popModalFrontstage();
|
|
344
348
|
}
|
|
345
349
|
}
|
|
346
350
|
static popModalFrontstage() {
|
|
347
|
-
const frontstageItem =
|
|
351
|
+
const frontstageItem = this._modalFrontstages.pop();
|
|
348
352
|
if (frontstageItem) {
|
|
349
353
|
const modalFrontstage = frontstageItem.modalFrontstage;
|
|
350
354
|
const timeTracker = frontstageItem.timeTracker;
|
|
351
355
|
timeTracker.stopTiming();
|
|
352
|
-
|
|
356
|
+
UiFramework.frontstages.onModalFrontstageClosedEvent.emit({
|
|
353
357
|
modalFrontstage,
|
|
354
358
|
totalTime: timeTracker.getTotalTimeSeconds(),
|
|
355
359
|
engagementTime: timeTracker.getEngagementTimeSeconds(),
|
|
356
360
|
idleTime: timeTracker.getIdleTimeSeconds(),
|
|
357
361
|
});
|
|
358
362
|
}
|
|
359
|
-
|
|
363
|
+
this.emitModalFrontstageChangedEvent();
|
|
360
364
|
UiFramework.visibility.handleFrontstageReady();
|
|
361
365
|
}
|
|
362
366
|
static emitModalFrontstageChangedEvent() {
|
|
363
|
-
|
|
364
|
-
modalFrontstageCount:
|
|
367
|
+
UiFramework.frontstages.onModalFrontstageChangedEvent.emit({
|
|
368
|
+
modalFrontstageCount: UiFramework.frontstages.modalFrontstageCount,
|
|
365
369
|
});
|
|
366
370
|
}
|
|
367
371
|
/** Updates the top-most modal Frontstage.
|
|
368
372
|
*/
|
|
369
373
|
static updateModalFrontstage() {
|
|
370
|
-
|
|
374
|
+
this.emitModalFrontstageChangedEvent();
|
|
371
375
|
}
|
|
372
376
|
/** Gets the top-most modal Frontstage.
|
|
373
377
|
* @returns Top-most modal Frontstage, or undefined if there is none.
|
|
374
378
|
*/
|
|
375
379
|
static get activeModalFrontstage() {
|
|
376
|
-
if (
|
|
377
|
-
const frontstageItem =
|
|
380
|
+
if (this._modalFrontstages.length > 0) {
|
|
381
|
+
const frontstageItem = this._modalFrontstages[this._modalFrontstages.length - 1];
|
|
378
382
|
const modalFrontstage = frontstageItem.modalFrontstage;
|
|
379
383
|
return modalFrontstage;
|
|
380
384
|
}
|
|
@@ -386,14 +390,14 @@ export class InternalFrontstageManager {
|
|
|
386
390
|
* @returns Modal Frontstage count
|
|
387
391
|
*/
|
|
388
392
|
static get modalFrontstageCount() {
|
|
389
|
-
return
|
|
393
|
+
return this._modalFrontstages.length;
|
|
390
394
|
}
|
|
391
395
|
/** Sets the active Navigation Aid via its Id.
|
|
392
396
|
* @param navigationAidId Id of the Navigation Aid to set as active
|
|
393
397
|
* @param iModelConnection IModelConnection to query for view data
|
|
394
398
|
*/
|
|
395
399
|
static setActiveNavigationAid(navigationAidId, iModelConnection) {
|
|
396
|
-
|
|
400
|
+
UiFramework.frontstages.onNavigationAidActivatedEvent.emit({
|
|
397
401
|
navigationAidId,
|
|
398
402
|
iModelConnection,
|
|
399
403
|
});
|
|
@@ -404,7 +408,7 @@ export class InternalFrontstageManager {
|
|
|
404
408
|
* @returns true if the widget state was set successfully, or false if not.
|
|
405
409
|
*/
|
|
406
410
|
static setWidgetState(widgetId, state) {
|
|
407
|
-
const widgetDef =
|
|
411
|
+
const widgetDef = UiFramework.frontstages.findWidget(widgetId);
|
|
408
412
|
if (widgetDef) {
|
|
409
413
|
widgetDef.setWidgetState(state);
|
|
410
414
|
return true;
|
|
@@ -419,54 +423,54 @@ export class InternalFrontstageManager {
|
|
|
419
423
|
* @returns The WidgetDef with the given id, or undefined if not found.
|
|
420
424
|
*/
|
|
421
425
|
static findWidget(widgetId) {
|
|
422
|
-
const activeFrontstageDef =
|
|
423
|
-
if (activeFrontstageDef)
|
|
424
|
-
return
|
|
425
|
-
return
|
|
426
|
+
const activeFrontstageDef = UiFramework.frontstages.activeFrontstageDef;
|
|
427
|
+
if (!activeFrontstageDef)
|
|
428
|
+
return undefined;
|
|
429
|
+
return activeFrontstageDef.findWidgetDef(widgetId);
|
|
426
430
|
}
|
|
427
431
|
/** Opens a nested Frontstage. Nested Frontstages can be stacked.
|
|
428
432
|
* @param nestedFrontstage Information about the nested Frontstage
|
|
429
433
|
*/
|
|
430
434
|
static async openNestedFrontstage(nestedFrontstage) {
|
|
431
|
-
if (
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
await InternalFrontstageManager.setActiveFrontstageDef(nestedFrontstage);
|
|
435
|
+
if (UiFramework.frontstages.nestedFrontstageCount === 0)
|
|
436
|
+
this._activePrimaryFrontstageDef = this._activeFrontstageDef;
|
|
437
|
+
this.pushNestedFrontstage(nestedFrontstage);
|
|
438
|
+
await UiFramework.frontstages.setActiveFrontstageDef(nestedFrontstage);
|
|
436
439
|
}
|
|
437
440
|
static pushNestedFrontstage(nestedFrontstage) {
|
|
438
|
-
|
|
441
|
+
this._nestedFrontstages.push(nestedFrontstage);
|
|
439
442
|
}
|
|
440
443
|
/** Closes the top-most nested Frontstage.
|
|
441
444
|
*/
|
|
442
445
|
static async closeNestedFrontstage() {
|
|
443
|
-
|
|
444
|
-
if (
|
|
445
|
-
await
|
|
446
|
+
this.popNestedFrontstage();
|
|
447
|
+
if (UiFramework.frontstages.nestedFrontstageCount > 0) {
|
|
448
|
+
await UiFramework.frontstages.setActiveFrontstageDef(UiFramework.frontstages.activeNestedFrontstage);
|
|
446
449
|
}
|
|
447
450
|
else {
|
|
448
|
-
await
|
|
449
|
-
|
|
451
|
+
await UiFramework.frontstages.setActiveFrontstageDef(this._activePrimaryFrontstageDef);
|
|
452
|
+
this._activePrimaryFrontstageDef = undefined;
|
|
450
453
|
}
|
|
451
454
|
}
|
|
452
455
|
static popNestedFrontstage() {
|
|
453
|
-
|
|
456
|
+
this._nestedFrontstages.pop();
|
|
454
457
|
}
|
|
455
458
|
/** Gets the top-most nested Frontstage.
|
|
456
459
|
* @returns Top-most nested Frontstage, or undefined if there is none.
|
|
457
460
|
*/
|
|
458
461
|
static get activeNestedFrontstage() {
|
|
459
|
-
if (
|
|
460
|
-
return
|
|
462
|
+
if (this._nestedFrontstages.length > 0)
|
|
463
|
+
return this._nestedFrontstages[this._nestedFrontstages.length - 1];
|
|
461
464
|
return undefined;
|
|
462
465
|
}
|
|
463
466
|
/** Gets the number of nested Frontstages.
|
|
464
467
|
* @returns Nested Frontstage count
|
|
465
468
|
*/
|
|
466
469
|
static get nestedFrontstageCount() {
|
|
467
|
-
return
|
|
470
|
+
return this._nestedFrontstages.length;
|
|
468
471
|
}
|
|
469
472
|
}
|
|
473
|
+
_a = InternalFrontstageManager;
|
|
470
474
|
InternalFrontstageManager._initialized = false;
|
|
471
475
|
InternalFrontstageManager._isLoading = false;
|
|
472
476
|
InternalFrontstageManager._activeToolId = "";
|
|
@@ -480,23 +484,25 @@ InternalFrontstageManager._nestedFrontstages = new Array();
|
|
|
480
484
|
// eslint-disable-next-line @typescript-eslint/no-deprecated
|
|
481
485
|
InternalFrontstageManager._toolInformationMap = new Map();
|
|
482
486
|
InternalFrontstageManager._handleSyncToolSettingsPropertiesEvent = (args) => {
|
|
483
|
-
|
|
484
|
-
|
|
487
|
+
const provider = _a.activeToolSettingsProvider;
|
|
488
|
+
if (!provider)
|
|
489
|
+
return;
|
|
490
|
+
provider.syncToolSettingsProperties(args);
|
|
485
491
|
};
|
|
486
492
|
// pass on ReloadToolSettingsEvent from ToolAdmin so they are treated by UiProviders
|
|
487
493
|
InternalFrontstageManager._handleReloadToolSettingsEvent = () => {
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
494
|
+
const provider = _a.activeToolSettingsProvider;
|
|
495
|
+
if (!provider)
|
|
496
|
+
return;
|
|
497
|
+
provider.reloadPropertiesFromTool();
|
|
491
498
|
};
|
|
492
499
|
/** Handles a Viewport change & sets the active view accordingly */
|
|
493
500
|
InternalFrontstageManager._handleSelectedViewportChanged = (args) => {
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
}
|
|
501
|
+
const frontstageDef = _a.activeFrontstageDef;
|
|
502
|
+
if (!args.current || !frontstageDef || UiFramework.frontstages.isLoading)
|
|
503
|
+
return;
|
|
504
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated
|
|
505
|
+
frontstageDef.setActiveViewFromViewport(args.current);
|
|
500
506
|
};
|
|
501
507
|
/** Get Frontstage Deactivated event. */
|
|
502
508
|
InternalFrontstageManager.onFrontstageDeactivatedEvent = new BeUiEvent(); // eslint-disable-line @typescript-eslint/no-deprecated
|