@itwin/appui-react 5.0.5 → 5.1.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 +48 -38
- package/lib/appui-react/UiFramework.d.ts +1 -1
- package/lib/appui-react/UiFramework.d.ts.map +1 -1
- package/lib/appui-react/UiFramework.js +46 -46
- package/lib/appui-react/UiFramework.js.map +1 -1
- package/lib/appui-react/accudraw/AccuDrawCommandItems.js +1 -1
- package/lib/appui-react/accudraw/AccuDrawCommandItems.js.map +1 -1
- package/lib/appui-react/accudraw/AccuDrawDialog.js +1 -1
- package/lib/appui-react/accudraw/AccuDrawDialog.js.map +1 -1
- package/lib/appui-react/accudraw/AccuDrawFieldContainer.d.ts +2 -0
- package/lib/appui-react/accudraw/AccuDrawFieldContainer.d.ts.map +1 -1
- package/lib/appui-react/accudraw/AccuDrawFieldContainer.js +38 -26
- package/lib/appui-react/accudraw/AccuDrawFieldContainer.js.map +1 -1
- package/lib/appui-react/accudraw/AccuDrawInputField.d.ts +4 -2
- package/lib/appui-react/accudraw/AccuDrawInputField.d.ts.map +1 -1
- package/lib/appui-react/accudraw/AccuDrawInputField.js +45 -38
- package/lib/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
- package/lib/appui-react/accudraw/AccuDrawInputField.scss +0 -15
- package/lib/appui-react/accudraw/AccuDrawPopupManager.js +3 -3
- package/lib/appui-react/accudraw/AccuDrawPopupManager.js.map +1 -1
- package/lib/appui-react/accudraw/AccuDrawUiSettings.js.map +1 -1
- package/lib/appui-react/accudraw/AccuDrawWidget.js +2 -2
- package/lib/appui-react/accudraw/AccuDrawWidget.js.map +1 -1
- package/lib/appui-react/accudraw/Calculator.js +1 -1
- package/lib/appui-react/accudraw/Calculator.js.map +1 -1
- package/lib/appui-react/accudraw/CalculatorPopup.js +1 -1
- package/lib/appui-react/accudraw/CalculatorPopup.js.map +1 -1
- package/lib/appui-react/accudraw/FrameworkAccuDraw.d.ts +2 -2
- package/lib/appui-react/accudraw/FrameworkAccuDraw.d.ts.map +1 -1
- package/lib/appui-react/accudraw/FrameworkAccuDraw.js +18 -15
- package/lib/appui-react/accudraw/FrameworkAccuDraw.js.map +1 -1
- package/lib/appui-react/accudraw/MenuButton.js +1 -1
- package/lib/appui-react/accudraw/MenuButton.js.map +1 -1
- package/lib/appui-react/backstage/BackstageComposer.d.ts.map +1 -1
- package/lib/appui-react/backstage/BackstageComposer.js +2 -3
- package/lib/appui-react/backstage/BackstageComposer.js.map +1 -1
- package/lib/appui-react/backstage/BackstageComposerItem.js +6 -6
- package/lib/appui-react/backstage/BackstageComposerItem.js.map +1 -1
- package/lib/appui-react/backstage/BackstageItem.js.map +1 -1
- package/lib/appui-react/backstage/BackstageItemUtilities.js.map +1 -1
- package/lib/appui-react/backstage/BackstageManager.js +3 -3
- package/lib/appui-react/backstage/BackstageManager.js.map +1 -1
- package/lib/appui-react/backstage/InternalBackstageManager.js +2 -2
- package/lib/appui-react/backstage/InternalBackstageManager.js.map +1 -1
- package/lib/appui-react/configurableui/ActivityTracker.d.ts.map +1 -1
- package/lib/appui-react/configurableui/ActivityTracker.js +0 -1
- package/lib/appui-react/configurableui/ActivityTracker.js.map +1 -1
- package/lib/appui-react/configurableui/ConfigurableUiContent.js +6 -6
- package/lib/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
- package/lib/appui-react/configurableui/ConfigurableUiControl.js.map +1 -1
- package/lib/appui-react/configurableui/InternalConfigurableUiManager.d.ts +1 -1
- package/lib/appui-react/configurableui/InternalConfigurableUiManager.d.ts.map +1 -1
- package/lib/appui-react/configurableui/InternalConfigurableUiManager.js +1 -1
- package/lib/appui-react/configurableui/InternalConfigurableUiManager.js.map +1 -1
- package/lib/appui-react/content/ContentControl.js +1 -1
- package/lib/appui-react/content/ContentControl.js.map +1 -1
- package/lib/appui-react/content/ContentGroup.js +7 -7
- package/lib/appui-react/content/ContentGroup.js.map +1 -1
- package/lib/appui-react/content/ContentLayout.d.ts.map +1 -1
- package/lib/appui-react/content/ContentLayout.js +16 -17
- package/lib/appui-react/content/ContentLayout.js.map +1 -1
- package/lib/appui-react/content/DefaultViewOverlay.js +1 -1
- package/lib/appui-react/content/DefaultViewOverlay.js.map +1 -1
- package/lib/appui-react/content/FloatingViewportContent.js +4 -4
- package/lib/appui-react/content/FloatingViewportContent.js.map +1 -1
- package/lib/appui-react/content/IModelViewport.d.ts +1 -1
- package/lib/appui-react/content/IModelViewport.d.ts.map +1 -1
- package/lib/appui-react/content/IModelViewport.js +1 -1
- package/lib/appui-react/content/IModelViewport.js.map +1 -1
- package/lib/appui-react/content/InternalContentViewManager.js +26 -26
- package/lib/appui-react/content/InternalContentViewManager.js.map +1 -1
- package/lib/appui-react/content/ViewportContentControl.js +1 -1
- package/lib/appui-react/content/ViewportContentControl.js.map +1 -1
- package/lib/appui-react/content/split-pane/SplitPane.js +2 -2
- package/lib/appui-react/content/split-pane/SplitPane.js.map +1 -1
- package/lib/appui-react/cursor/CursorInformation.js +2 -2
- package/lib/appui-react/cursor/CursorInformation.js.map +1 -1
- package/lib/appui-react/cursor/cursormenu/CursorMenu.d.ts +1 -1
- package/lib/appui-react/cursor/cursormenu/CursorMenu.d.ts.map +1 -1
- package/lib/appui-react/cursor/cursormenu/CursorMenu.js +3 -3
- package/lib/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
- package/lib/appui-react/cursor/cursorpopup/CursorPopup.d.ts +1 -1
- package/lib/appui-react/cursor/cursorpopup/CursorPopup.d.ts.map +1 -1
- package/lib/appui-react/cursor/cursorpopup/CursorPopup.js +3 -3
- package/lib/appui-react/cursor/cursorpopup/CursorPopup.js.map +1 -1
- package/lib/appui-react/cursor/cursorpopup/CursorPopupManager.d.ts +1 -1
- package/lib/appui-react/cursor/cursorpopup/CursorPopupManager.d.ts.map +1 -1
- package/lib/appui-react/cursor/cursorpopup/CursorPopupManager.js.map +1 -1
- package/lib/appui-react/cursor/cursorprompt/CursorPrompt.js +1 -1
- package/lib/appui-react/cursor/cursorprompt/CursorPrompt.js.map +1 -1
- package/lib/appui-react/dialog/ContentDialog.js.map +1 -1
- package/lib/appui-react/dialog/ContentDialogManager.js +2 -2
- package/lib/appui-react/dialog/ContentDialogManager.js.map +1 -1
- package/lib/appui-react/dialog/DialogManagerBase.js +4 -4
- package/lib/appui-react/dialog/DialogManagerBase.js.map +1 -1
- package/lib/appui-react/dialog/InternalContentDialogManager.d.ts.map +1 -1
- package/lib/appui-react/dialog/InternalContentDialogManager.js +2 -3
- package/lib/appui-react/dialog/InternalContentDialogManager.js.map +1 -1
- package/lib/appui-react/dialog/InternalModalDialogManager.js +1 -1
- package/lib/appui-react/dialog/InternalModalDialogManager.js.map +1 -1
- package/lib/appui-react/dialog/InternalModelessDialogManager.d.ts.map +1 -1
- package/lib/appui-react/dialog/InternalModelessDialogManager.js +1 -2
- package/lib/appui-react/dialog/InternalModelessDialogManager.js.map +1 -1
- package/lib/appui-react/dialog/ModalDialogManager.js +2 -2
- package/lib/appui-react/dialog/ModalDialogManager.js.map +1 -1
- package/lib/appui-react/dialog/ModelessDialog.js +1 -1
- package/lib/appui-react/dialog/ModelessDialog.js.map +1 -1
- package/lib/appui-react/dialog/ModelessDialogManager.d.ts.map +1 -1
- package/lib/appui-react/dialog/ModelessDialogManager.js +2 -3
- package/lib/appui-react/dialog/ModelessDialogManager.js.map +1 -1
- package/lib/appui-react/dialog/StandardMessageBox.js +1 -1
- package/lib/appui-react/dialog/StandardMessageBox.js.map +1 -1
- package/lib/appui-react/dialog/UiDataProvidedDialog.js.map +1 -1
- package/lib/appui-react/feedback/ElementTooltip.d.ts +1 -1
- package/lib/appui-react/feedback/ElementTooltip.d.ts.map +1 -1
- package/lib/appui-react/feedback/ElementTooltip.js.map +1 -1
- package/lib/appui-react/feedback/ValidationTextbox.js.map +1 -1
- package/lib/appui-react/framework/FrameworkBackstage.js.map +1 -1
- package/lib/appui-react/framework/FrameworkContent.js +3 -3
- package/lib/appui-react/framework/FrameworkContent.js.map +1 -1
- package/lib/appui-react/framework/FrameworkControls.js.map +1 -1
- package/lib/appui-react/framework/FrameworkDialogs.js +2 -2
- package/lib/appui-react/framework/FrameworkDialogs.js.map +1 -1
- package/lib/appui-react/framework/FrameworkFrontstages.js +8 -8
- package/lib/appui-react/framework/FrameworkFrontstages.js.map +1 -1
- package/lib/appui-react/framework/FrameworkKeyboardShortcuts.js.map +1 -1
- package/lib/appui-react/framework/FrameworkToolSettings.js +1 -1
- package/lib/appui-react/framework/FrameworkToolSettings.js.map +1 -1
- package/lib/appui-react/frontstage/Frontstage.js.map +1 -1
- package/lib/appui-react/frontstage/FrontstageConfig.d.ts +5 -2
- package/lib/appui-react/frontstage/FrontstageConfig.d.ts.map +1 -1
- package/lib/appui-react/frontstage/FrontstageConfig.js.map +1 -1
- package/lib/appui-react/frontstage/FrontstageDef.d.ts +5 -1
- package/lib/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
- package/lib/appui-react/frontstage/FrontstageDef.js +22 -17
- package/lib/appui-react/frontstage/FrontstageDef.js.map +1 -1
- package/lib/appui-react/frontstage/InternalFrontstageManager.js +29 -29
- package/lib/appui-react/frontstage/InternalFrontstageManager.js.map +1 -1
- package/lib/appui-react/frontstage/ModalFrontstage.js.map +1 -1
- package/lib/appui-react/frontstage/ModalSettingsStage.d.ts.map +1 -1
- package/lib/appui-react/frontstage/ModalSettingsStage.js +2 -2
- package/lib/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
- package/lib/appui-react/frontstage/NestedFrontstage.js +1 -1
- package/lib/appui-react/frontstage/NestedFrontstage.js.map +1 -1
- package/lib/appui-react/frontstage/StandardFrontstageProvider.js +1 -1
- package/lib/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
- package/lib/appui-react/hooks/useActiveIModelConnection.js +1 -1
- package/lib/appui-react/hooks/useActiveIModelConnection.js.map +1 -1
- package/lib/appui-react/hooks/useUiVisibility.js +1 -1
- package/lib/appui-react/hooks/useUiVisibility.js.map +1 -1
- package/lib/appui-react/keyboardshortcut/InternalKeyboardShortcut.js.map +1 -1
- package/lib/appui-react/keyboardshortcut/KeyboardShortcut.js +1 -1
- package/lib/appui-react/keyboardshortcut/KeyboardShortcut.js.map +1 -1
- package/lib/appui-react/keyboardshortcut/KeyboardShortcutMenu.js.map +1 -1
- package/lib/appui-react/keyboardshortcut/KeyboardShortcutProps.js.map +1 -1
- package/lib/appui-react/layout/StandardLayout.js.map +1 -1
- package/lib/appui-react/layout/backstage/Backstage.js.map +1 -1
- package/lib/appui-react/layout/backstage/Item.js.map +1 -1
- package/lib/appui-react/layout/backstage/Separator.js +1 -1
- package/lib/appui-react/layout/backstage/Separator.js.map +1 -1
- package/lib/appui-react/layout/base/usePointerCaptor.d.ts +1 -1
- package/lib/appui-react/layout/base/usePointerCaptor.d.ts.map +1 -1
- package/lib/appui-react/layout/footer/dialog/Dialog.js.map +1 -1
- package/lib/appui-react/layout/footer/dialog/TitleBar.js.map +1 -1
- package/lib/appui-react/layout/footer/snap-mode/Panel.js.map +1 -1
- package/lib/appui-react/layout/footer/snap-mode/Snap.js.map +1 -1
- package/lib/appui-react/layout/footer/tool-assistance/Dialog.js.map +1 -1
- package/lib/appui-react/layout/footer/tool-assistance/Instruction.js.map +1 -1
- package/lib/appui-react/layout/footer/tool-assistance/Item.js.map +1 -1
- package/lib/appui-react/layout/footer/tool-assistance/NewDot.js +1 -1
- package/lib/appui-react/layout/footer/tool-assistance/NewDot.js.map +1 -1
- package/lib/appui-react/layout/footer/tool-assistance/Separator.js.map +1 -1
- package/lib/appui-react/layout/outline/SectionOutline.js.map +1 -1
- package/lib/appui-react/layout/popup/Tooltip.js.map +1 -1
- package/lib/appui-react/layout/state/internal/PanelStateHelpers.js +1 -1
- package/lib/appui-react/layout/state/internal/PanelStateHelpers.js.map +1 -1
- package/lib/appui-react/layout/state/internal/TabStateHelpers.js +6 -6
- package/lib/appui-react/layout/state/internal/TabStateHelpers.js.map +1 -1
- package/lib/appui-react/layout/state/internal/ToolSettingsStateHelpers.js +6 -6
- package/lib/appui-react/layout/state/internal/ToolSettingsStateHelpers.js.map +1 -1
- package/lib/appui-react/layout/state/internal/WidgetStateHelpers.js +13 -13
- package/lib/appui-react/layout/state/internal/WidgetStateHelpers.js.map +1 -1
- package/lib/appui-react/layout/target/TargetContainer.js.map +1 -1
- package/lib/appui-react/layout/target/useAllowedSideTarget.js +1 -1
- package/lib/appui-react/layout/target/useAllowedSideTarget.js.map +1 -1
- package/lib/appui-react/layout/tool-settings/Docked.js +1 -1
- package/lib/appui-react/layout/tool-settings/Docked.js.map +1 -1
- package/lib/appui-react/layout/tool-settings/Handle.js.map +1 -1
- package/lib/appui-react/layout/tool-settings/Overflow.js.map +1 -1
- package/lib/appui-react/layout/tool-settings/Panel.js +1 -1
- package/lib/appui-react/layout/tool-settings/Panel.js.map +1 -1
- package/lib/appui-react/layout/tool-settings/Setting.js.map +1 -1
- package/lib/appui-react/layout/widget/Menu.js +1 -1
- package/lib/appui-react/layout/widget/Menu.js.map +1 -1
- package/lib/appui-react/layout/widget/MenuTab.js.map +1 -1
- package/lib/appui-react/layout/widget/NavigationArea.js.map +1 -1
- package/lib/appui-react/layout/widget/Tab.js +1 -1
- package/lib/appui-react/layout/widget/Tab.js.map +1 -1
- package/lib/appui-react/layout/widget/TabBar.js +1 -1
- package/lib/appui-react/layout/widget/TabBar.js.map +1 -1
- package/lib/appui-react/layout/widget/ToolsArea.js.map +1 -1
- package/lib/appui-react/layout/widget/Widget.js.map +1 -1
- package/lib/appui-react/layout/widget/tools/button/Button.js.map +1 -1
- package/lib/appui-react/layout/widget/tools/button/Expandable.js.map +1 -1
- package/lib/appui-react/layout/widget-panels/Expander.js +1 -1
- package/lib/appui-react/layout/widget-panels/Expander.js.map +1 -1
- package/lib/appui-react/layout/widget-panels/Grip.d.ts.map +1 -1
- package/lib/appui-react/layout/widget-panels/Grip.js +3 -3
- package/lib/appui-react/layout/widget-panels/Grip.js.map +1 -1
- package/lib/appui-react/layout/widget-panels/Panel.d.ts.map +1 -1
- package/lib/appui-react/layout/widget-panels/useAnimatePanel.d.ts.map +1 -1
- package/lib/appui-react/messages/InputField.js +2 -2
- package/lib/appui-react/messages/InputField.js.map +1 -1
- package/lib/appui-react/messages/MessageManager.d.ts +4 -4
- package/lib/appui-react/messages/MessageManager.d.ts.map +1 -1
- package/lib/appui-react/messages/MessageManager.js +25 -25
- package/lib/appui-react/messages/MessageManager.js.map +1 -1
- package/lib/appui-react/messages/MessageRenderer.js.map +1 -1
- package/lib/appui-react/messages/Pointer.d.ts.map +1 -1
- package/lib/appui-react/messages/Pointer.js +7 -7
- package/lib/appui-react/messages/Pointer.js.map +1 -1
- package/lib/appui-react/messages/ReactNotifyMessageDetails.d.ts +2 -2
- package/lib/appui-react/messages/ReactNotifyMessageDetails.d.ts.map +1 -1
- package/lib/appui-react/messages/ReactNotifyMessageDetails.js.map +1 -1
- package/lib/appui-react/navigationaids/CubeNavigationAidControl.js +2 -2
- package/lib/appui-react/navigationaids/CubeNavigationAidControl.js.map +1 -1
- package/lib/appui-react/navigationaids/DrawingNavigationAidControl.js +2 -2
- package/lib/appui-react/navigationaids/DrawingNavigationAidControl.js.map +1 -1
- package/lib/appui-react/navigationaids/NavigationAidControl.js.map +1 -1
- package/lib/appui-react/navigationaids/SheetNavigationAid.js +2 -2
- package/lib/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
- package/lib/appui-react/navigationaids/SheetsModalFrontstage.js +8 -8
- package/lib/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
- package/lib/appui-react/navigationaids/StandardRotationNavigationAid.d.ts +1 -1
- package/lib/appui-react/navigationaids/StandardRotationNavigationAid.d.ts.map +1 -1
- package/lib/appui-react/navigationaids/StandardRotationNavigationAid.js +3 -3
- package/lib/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
- package/lib/appui-react/pickers/ListPicker.d.ts +1 -0
- package/lib/appui-react/pickers/ListPicker.d.ts.map +1 -1
- package/lib/appui-react/pickers/ListPicker.js +11 -10
- package/lib/appui-react/pickers/ListPicker.js.map +1 -1
- package/lib/appui-react/pickers/ViewSelector.d.ts +1 -0
- package/lib/appui-react/pickers/ViewSelector.d.ts.map +1 -1
- package/lib/appui-react/pickers/ViewSelector.js +7 -6
- package/lib/appui-react/pickers/ViewSelector.js.map +1 -1
- package/lib/appui-react/popup/CardPopup.js +2 -2
- package/lib/appui-react/popup/CardPopup.js.map +1 -1
- package/lib/appui-react/popup/ComponentPopup.js.map +1 -1
- package/lib/appui-react/popup/HTMLElementPopup.js.map +1 -1
- package/lib/appui-react/popup/InputEditorPopup.js.map +1 -1
- package/lib/appui-react/popup/KeyinPalettePanel.d.ts.map +1 -1
- package/lib/appui-react/popup/KeyinPalettePanel.js +2 -3
- package/lib/appui-react/popup/KeyinPalettePanel.js.map +1 -1
- package/lib/appui-react/popup/KeyinPalettePopup.js +1 -1
- package/lib/appui-react/popup/KeyinPalettePopup.js.map +1 -1
- package/lib/appui-react/popup/PopupManager.d.ts +1 -1
- package/lib/appui-react/popup/PopupManager.d.ts.map +1 -1
- package/lib/appui-react/popup/PopupManager.js +4 -4
- package/lib/appui-react/popup/PopupManager.js.map +1 -1
- package/lib/appui-react/popup/PositionPopup.js +2 -2
- package/lib/appui-react/popup/PositionPopup.js.map +1 -1
- package/lib/appui-react/popup/ToolSettingsPopup.js.map +1 -1
- package/lib/appui-react/popup/ToolbarPopup.js +1 -1
- package/lib/appui-react/popup/ToolbarPopup.js.map +1 -1
- package/lib/appui-react/preview/PreviewFeatures.d.ts +3 -5
- package/lib/appui-react/preview/PreviewFeatures.d.ts.map +1 -1
- package/lib/appui-react/preview/PreviewFeatures.js +1 -2
- package/lib/appui-react/preview/PreviewFeatures.js.map +1 -1
- package/lib/appui-react/preview/allow-bearing-letters-in-accudraw-input-fields/useAllowBearingLettersInAccuDrawInputFields.d.ts +5 -0
- package/lib/appui-react/preview/allow-bearing-letters-in-accudraw-input-fields/useAllowBearingLettersInAccuDrawInputFields.d.ts.map +1 -0
- package/lib/appui-react/preview/{allow-letters-in-accudraw-input-fields/useAllowLettersInAccuDrawInputFields.js → allow-bearing-letters-in-accudraw-input-fields/useAllowBearingLettersInAccuDrawInputFields.js} +5 -5
- package/lib/appui-react/preview/allow-bearing-letters-in-accudraw-input-fields/useAllowBearingLettersInAccuDrawInputFields.js.map +1 -0
- package/lib/appui-react/preview/control-widget-visibility/NavigationWidget.d.ts +1 -1
- package/lib/appui-react/preview/control-widget-visibility/NavigationWidget.d.ts.map +1 -1
- package/lib/appui-react/preview/control-widget-visibility/NavigationWidget.js +1 -1
- package/lib/appui-react/preview/control-widget-visibility/NavigationWidget.js.map +1 -1
- package/lib/appui-react/preview/enable-maximized-widget/MaximizedWidget.d.ts +1 -1
- package/lib/appui-react/preview/enable-maximized-widget/MaximizedWidget.d.ts.map +1 -1
- package/lib/appui-react/preview/enable-maximized-widget/MaximizedWidget.js.map +1 -1
- package/lib/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.d.ts +1 -4
- package/lib/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.d.ts.map +1 -1
- package/lib/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.js +13 -13
- package/lib/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.js.map +1 -1
- package/lib/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.d.ts +1 -1
- package/lib/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.d.ts.map +1 -1
- package/lib/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.js +1 -1
- package/lib/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.js.map +1 -1
- package/lib/appui-react/preview/widget-action-dropdown/MoreButton.d.ts +1 -1
- package/lib/appui-react/preview/widget-action-dropdown/MoreButton.d.ts.map +1 -1
- package/lib/appui-react/preview/widget-action-dropdown/MoreButton.js.map +1 -1
- package/lib/appui-react/redux/ConfigurableUiState.d.ts.map +1 -1
- package/lib/appui-react/redux/ConfigurableUiState.js +1 -1
- package/lib/appui-react/redux/ConfigurableUiState.js.map +1 -1
- package/lib/appui-react/redux/FrameworkState.js.map +1 -1
- package/lib/appui-react/redux/ReducerRegistry.js +1 -1
- package/lib/appui-react/redux/ReducerRegistry.js.map +1 -1
- package/lib/appui-react/redux/SessionState.d.ts.map +1 -1
- package/lib/appui-react/redux/SessionState.js.map +1 -1
- package/lib/appui-react/redux/StateManager.js +2 -2
- package/lib/appui-react/redux/StateManager.js.map +1 -1
- package/lib/appui-react/redux/connectIModel.js +1 -1
- package/lib/appui-react/redux/connectIModel.js.map +1 -1
- package/lib/appui-react/redux/redux-ts.js.map +1 -1
- package/lib/appui-react/selection/SelectionContextItemDef.js +2 -2
- package/lib/appui-react/selection/SelectionContextItemDef.js.map +1 -1
- package/lib/appui-react/settings/SettingsManager.js +1 -1
- package/lib/appui-react/settings/SettingsManager.js.map +1 -1
- package/lib/appui-react/settings/quantityformatting/QuantityFormat.js +3 -3
- package/lib/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
- package/lib/appui-react/settings/ui/UiSettingsPage.js +5 -5
- package/lib/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
- package/lib/appui-react/shared/ActionButtonItemDef.js +1 -1
- package/lib/appui-react/shared/ActionButtonItemDef.js.map +1 -1
- package/lib/appui-react/shared/AnyItemDef.js.map +1 -1
- package/lib/appui-react/shared/AnyToolbarItemDef.js.map +1 -1
- package/lib/appui-react/shared/CommandItemDef.js +1 -1
- package/lib/appui-react/shared/CommandItemDef.js.map +1 -1
- package/lib/appui-react/shared/CustomItemDef.js +1 -1
- package/lib/appui-react/shared/CustomItemDef.js.map +1 -1
- package/lib/appui-react/shared/CustomItemProps.js.map +1 -1
- package/lib/appui-react/shared/GroupItemProps.js.map +1 -1
- package/lib/appui-react/shared/ItemDefBase.js.map +1 -1
- package/lib/appui-react/shared/ItemMap.js +1 -1
- package/lib/appui-react/shared/ItemMap.js.map +1 -1
- package/lib/appui-react/shared/ItemProps.js.map +1 -1
- package/lib/appui-react/shared/MenuItem.js +1 -1
- package/lib/appui-react/shared/MenuItem.js.map +1 -1
- package/lib/appui-react/shared/ToolItemDef.js +1 -1
- package/lib/appui-react/shared/ToolItemDef.js.map +1 -1
- package/lib/appui-react/stagepanels/StagePanelConfig.js.map +1 -1
- package/lib/appui-react/stagepanels/StagePanelDef.js +2 -2
- package/lib/appui-react/stagepanels/StagePanelDef.js.map +1 -1
- package/lib/appui-react/statusbar/Field.js.map +1 -1
- package/lib/appui-react/statusbar/Indicator.js +2 -2
- package/lib/appui-react/statusbar/Indicator.js.map +1 -1
- package/lib/appui-react/statusbar/LabelIndicator.js +2 -2
- package/lib/appui-react/statusbar/LabelIndicator.js.map +1 -1
- package/lib/appui-react/statusbar/Overflow.js.map +1 -1
- package/lib/appui-react/statusbar/Separator.js +1 -1
- package/lib/appui-react/statusbar/Separator.js.map +1 -1
- package/lib/appui-react/statusbar/StatusBar.js.map +1 -1
- package/lib/appui-react/statusbar/StatusBarComposer.js +6 -6
- package/lib/appui-react/statusbar/StatusBarComposer.js.map +1 -1
- package/lib/appui-react/statusbar/StatusBarItem.js.map +1 -1
- package/lib/appui-react/statusbar/StatusBarItemUtilities.js.map +1 -1
- package/lib/appui-react/statusbar/StatusBarWidgetControl.js.map +1 -1
- package/lib/appui-react/statusbar/dialog/Button.js.map +1 -1
- package/lib/appui-react/statusbar/dialog/Dialog.js.map +1 -1
- package/lib/appui-react/statusbar/dialog/TitleBar.js.map +1 -1
- package/lib/appui-react/statusbar/popup/Popup.js +2 -2
- package/lib/appui-react/statusbar/popup/Popup.js.map +1 -1
- package/lib/appui-react/statusfields/ActivityCenter.js +2 -2
- package/lib/appui-react/statusfields/ActivityCenter.js.map +1 -1
- package/lib/appui-react/statusfields/SectionsField.js.map +1 -1
- package/lib/appui-react/statusfields/SelectionCount.js.map +1 -1
- package/lib/appui-react/statusfields/SelectionInfo.js +2 -2
- package/lib/appui-react/statusfields/SelectionInfo.js.map +1 -1
- package/lib/appui-react/statusfields/SelectionScope.js +3 -3
- package/lib/appui-react/statusfields/SelectionScope.js.map +1 -1
- package/lib/appui-react/statusfields/SnapMode.js +2 -2
- package/lib/appui-react/statusfields/SnapMode.js.map +1 -1
- package/lib/appui-react/statusfields/ViewAttributes.d.ts +1 -1
- package/lib/appui-react/statusfields/ViewAttributes.d.ts.map +1 -1
- package/lib/appui-react/statusfields/ViewAttributes.js +1 -1
- package/lib/appui-react/statusfields/ViewAttributes.js.map +1 -1
- package/lib/appui-react/statusfields/message-center/MessageCenterField.js +1 -1
- package/lib/appui-react/statusfields/message-center/MessageCenterField.js.map +1 -1
- package/lib/appui-react/statusfields/message-center/MessageCenterMessage.js.map +1 -1
- package/lib/appui-react/statusfields/tileloading/TileLoadingIndicator.d.ts +1 -1
- package/lib/appui-react/statusfields/tileloading/TileLoadingIndicator.d.ts.map +1 -1
- package/lib/appui-react/statusfields/tileloading/TileLoadingIndicator.js +1 -1
- package/lib/appui-react/statusfields/tileloading/TileLoadingIndicator.js.map +1 -1
- package/lib/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts.map +1 -1
- package/lib/appui-react/statusfields/toolassistance/ToolAssistanceField.js +5 -5
- package/lib/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
- package/lib/appui-react/syncui/InternalSyncUiEventDispatcher.js +2 -2
- package/lib/appui-react/syncui/InternalSyncUiEventDispatcher.js.map +1 -1
- package/lib/appui-react/syncui/SyncUiEventDispatcher.d.ts.map +1 -1
- package/lib/appui-react/syncui/SyncUiEventDispatcher.js +3 -8
- package/lib/appui-react/syncui/SyncUiEventDispatcher.js.map +1 -1
- package/lib/appui-react/syncui/UiSyncEvent.js +1 -1
- package/lib/appui-react/syncui/UiSyncEvent.js.map +1 -1
- package/lib/appui-react/theme/ThemeManager.js +1 -1
- package/lib/appui-react/theme/ThemeManager.js.map +1 -1
- package/lib/appui-react/toolbar/GroupItem.js +1 -1
- package/lib/appui-react/toolbar/GroupItem.js.map +1 -1
- package/lib/appui-react/toolbar/Toolbar.js.map +1 -1
- package/lib/appui-react/toolbar/ToolbarComposer.js +3 -3
- package/lib/appui-react/toolbar/ToolbarComposer.js.map +1 -1
- package/lib/appui-react/toolbar/ToolbarHelper.js +4 -4
- package/lib/appui-react/toolbar/ToolbarHelper.js.map +1 -1
- package/lib/appui-react/toolbar/ToolbarItem.js.map +1 -1
- package/lib/appui-react/toolbar/ToolbarItemUtilities.js +1 -1
- package/lib/appui-react/toolbar/ToolbarItemUtilities.js.map +1 -1
- package/lib/appui-react/toolbar/ToolbarItemsManager.js +10 -10
- package/lib/appui-react/toolbar/ToolbarItemsManager.js.map +1 -1
- package/lib/appui-react/toolbar/ToolbarWithOverflow.js.map +1 -1
- package/lib/appui-react/toolbar/new-toolbars/Badge.d.ts +1 -1
- package/lib/appui-react/toolbar/new-toolbars/Badge.d.ts.map +1 -1
- package/lib/appui-react/toolbar/new-toolbars/Badge.js +1 -1
- package/lib/appui-react/toolbar/new-toolbars/Badge.js.map +1 -1
- package/lib/appui-react/toolbar/new-toolbars/GroupItem.js +2 -2
- package/lib/appui-react/toolbar/new-toolbars/GroupItem.js.map +1 -1
- package/lib/appui-react/toolbar/new-toolbars/Item.js +1 -1
- package/lib/appui-react/toolbar/new-toolbars/Item.js.map +1 -1
- package/lib/appui-react/toolbar/new-toolbars/ToolGroup.js.map +1 -1
- package/lib/appui-react/toolbar/new-toolbars/useOverflow.d.ts.map +1 -1
- package/lib/appui-react/toolbar/useDefaultToolbarItems.js +1 -1
- package/lib/appui-react/toolbar/useDefaultToolbarItems.js.map +1 -1
- package/lib/appui-react/toolbar/useUiItemsProviderToolbarItems.js +1 -1
- package/lib/appui-react/toolbar/useUiItemsProviderToolbarItems.js.map +1 -1
- package/lib/appui-react/tools/CoreToolDefinitions.js +2 -2
- package/lib/appui-react/tools/CoreToolDefinitions.js.map +1 -1
- package/lib/appui-react/tools/KeyinPaletteTools.d.ts +1 -1
- package/lib/appui-react/tools/OpenSettingsTool.d.ts +1 -1
- package/lib/appui-react/tools/RestoreLayoutTool.d.ts +2 -2
- package/lib/appui-react/tools/ToolbarItems.js +1 -1
- package/lib/appui-react/tools/ToolbarItems.js.map +1 -1
- package/lib/appui-react/toolsettings/DefaultToolSettingsProvider.d.ts.map +1 -1
- package/lib/appui-react/toolsettings/DefaultToolSettingsProvider.js +3 -3
- package/lib/appui-react/toolsettings/DefaultToolSettingsProvider.js.map +1 -1
- package/lib/appui-react/toolsettings/InternalToolSettingsManager.js +2 -2
- package/lib/appui-react/toolsettings/InternalToolSettingsManager.js.map +1 -1
- package/lib/appui-react/toolsettings/ToolInformation.js +1 -1
- package/lib/appui-react/toolsettings/ToolInformation.js.map +1 -1
- package/lib/appui-react/toolsettings/ToolUiProvider.js +1 -1
- package/lib/appui-react/toolsettings/ToolUiProvider.js.map +1 -1
- package/lib/appui-react/ui-items-provider/AbstractUiItemsManager.d.ts +5 -5
- package/lib/appui-react/ui-items-provider/AbstractUiItemsManager.js +1 -1
- package/lib/appui-react/ui-items-provider/AbstractUiItemsManager.js.map +1 -1
- package/lib/appui-react/ui-items-provider/BaseUiItemsProvider.d.ts.map +1 -1
- package/lib/appui-react/ui-items-provider/StandardContentToolsProvider.js +4 -4
- package/lib/appui-react/ui-items-provider/StandardContentToolsProvider.js.map +1 -1
- package/lib/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.d.ts.map +1 -1
- package/lib/appui-react/ui-items-provider/StandardNavigationToolsProvider.js +3 -3
- package/lib/appui-react/ui-items-provider/StandardNavigationToolsProvider.js.map +1 -1
- package/lib/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.d.ts.map +1 -1
- package/lib/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js +3 -3
- package/lib/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js.map +1 -1
- package/lib/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.d.ts.map +1 -1
- package/lib/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js +1 -1
- package/lib/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
- package/lib/appui-react/ui-items-provider/UiItemsManager.js +3 -3
- package/lib/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
- package/lib/appui-react/uiadmin/FrameworkUiAdmin.js +3 -3
- package/lib/appui-react/uiadmin/FrameworkUiAdmin.js.map +1 -1
- package/lib/appui-react/uiprovider/ComponentGenerator.d.ts.map +1 -1
- package/lib/appui-react/uistate/AppUiSettings.js +2 -2
- package/lib/appui-react/uistate/AppUiSettings.js.map +1 -1
- package/lib/appui-react/uistate/LocalStateStorage.js +1 -1
- package/lib/appui-react/uistate/LocalStateStorage.js.map +1 -1
- package/lib/appui-react/uistate/UiStateStorage.js +1 -1
- package/lib/appui-react/uistate/UiStateStorage.js.map +1 -1
- package/lib/appui-react/uistate/useReduxFrameworkState.js +1 -1
- package/lib/appui-react/uistate/useReduxFrameworkState.js.map +1 -1
- package/lib/appui-react/uistate/useUiStateStorage.js +1 -1
- package/lib/appui-react/uistate/useUiStateStorage.js.map +1 -1
- package/lib/appui-react/utils/PropsHelper.js +5 -5
- package/lib/appui-react/utils/PropsHelper.js.map +1 -1
- package/lib/appui-react/utils/RectangleProps.js.map +1 -1
- package/lib/appui-react/utils/SizeProps.js.map +1 -1
- package/lib/appui-react/utils/ViewUtilities.d.ts.map +1 -1
- package/lib/appui-react/utils/ViewUtilities.js.map +1 -1
- package/lib/appui-react/utils/getActiveViewport.js +1 -1
- package/lib/appui-react/utils/getActiveViewport.js.map +1 -1
- package/lib/appui-react/widget-panels/DockedBar.js.map +1 -1
- package/lib/appui-react/widget-panels/Frontstage.js +7 -7
- package/lib/appui-react/widget-panels/Frontstage.js.map +1 -1
- package/lib/appui-react/widget-panels/StatusBar.js +5 -5
- package/lib/appui-react/widget-panels/StatusBar.js.map +1 -1
- package/lib/appui-react/widget-panels/Tab.js +4 -4
- package/lib/appui-react/widget-panels/Tab.js.map +1 -1
- package/lib/appui-react/widget-panels/ToolSettings.d.ts.map +1 -1
- package/lib/appui-react/widget-panels/ToolSettings.js +8 -5
- package/lib/appui-react/widget-panels/ToolSettings.js.map +1 -1
- package/lib/appui-react/widgets/BackstageAppButton.js +2 -2
- package/lib/appui-react/widgets/BackstageAppButton.js.map +1 -1
- package/lib/appui-react/widgets/BasicNavigationWidget.js +1 -1
- package/lib/appui-react/widgets/BasicNavigationWidget.js.map +1 -1
- package/lib/appui-react/widgets/BasicToolWidget.js +1 -1
- package/lib/appui-react/widgets/BasicToolWidget.js.map +1 -1
- package/lib/appui-react/widgets/ContentToolWidgetComposer.js +1 -1
- package/lib/appui-react/widgets/ContentToolWidgetComposer.js.map +1 -1
- package/lib/appui-react/widgets/NavigationWidgetComposer.js +10 -10
- package/lib/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
- package/lib/appui-react/widgets/StatusBarWidgetComposerControl.js +1 -1
- package/lib/appui-react/widgets/StatusBarWidgetComposerControl.js.map +1 -1
- package/lib/appui-react/widgets/ToolWidgetComposer.js +1 -1
- package/lib/appui-react/widgets/ToolWidgetComposer.js.map +1 -1
- package/lib/appui-react/widgets/ViewToolWidgetComposer.js +1 -1
- package/lib/appui-react/widgets/ViewToolWidgetComposer.js.map +1 -1
- package/lib/appui-react/widgets/Widget.js.map +1 -1
- package/lib/appui-react/widgets/WidgetControl.js +1 -1
- package/lib/appui-react/widgets/WidgetControl.js.map +1 -1
- package/lib/appui-react/widgets/WidgetDef.js +21 -21
- package/lib/appui-react/widgets/WidgetDef.js.map +1 -1
- package/lib/appui-react/widgets/WidgetManager.d.ts.map +1 -1
- package/lib/appui-react/widgets/useWidget.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/accudraw/AccuDrawInputField.scss +0 -15
- package/lib/esm/appui-react/accudraw/AccuDrawInputField.scss +0 -15
- package/package.json +17 -17
- package/lib/appui-react/layout/widget/tools/button/Back.d.ts +0 -21
- package/lib/appui-react/layout/widget/tools/button/Back.d.ts.map +0 -1
- package/lib/appui-react/layout/widget/tools/button/Back.js +0 -23
- package/lib/appui-react/layout/widget/tools/button/Back.js.map +0 -1
- package/lib/appui-react/preview/allow-letters-in-accudraw-input-fields/useAllowLettersInAccuDrawInputFields.d.ts +0 -5
- package/lib/appui-react/preview/allow-letters-in-accudraw-input-fields/useAllowLettersInAccuDrawInputFields.d.ts.map +0 -1
- package/lib/appui-react/preview/allow-letters-in-accudraw-input-fields/useAllowLettersInAccuDrawInputFields.js.map +0 -1
- package/lib/appui-react/preview/enable-colorless-accudraw-input-fields/useEnableColorlessAccuDrawInputFields.d.ts +0 -5
- package/lib/appui-react/preview/enable-colorless-accudraw-input-fields/useEnableColorlessAccuDrawInputFields.d.ts.map +0 -1
- package/lib/appui-react/preview/enable-colorless-accudraw-input-fields/useEnableColorlessAccuDrawInputFields.js +0 -13
- package/lib/appui-react/preview/enable-colorless-accudraw-input-fields/useEnableColorlessAccuDrawInputFields.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InternalFrontstageManager.js","sourceRoot":"","sources":["../../../src/appui-react/frontstage/InternalFrontstageManager.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 Frontstage\n */\n\nimport { BeUiEvent, Logger } from \"@itwin/core-bentley\";\nimport type { IModelConnection, Tool } from \"@itwin/core-frontend\";\nimport { IModelApp, InteractiveTool } from \"@itwin/core-frontend\";\nimport type { ListenerType } from \"@itwin/core-react/internal\";\nimport type { ContentControlActivatedEventArgs } from \"../content/ContentControl.js\";\nimport type { ContentGroup } from \"../content/ContentGroup.js\";\nimport type {\n ContentLayoutActivatedEventArgs,\n ContentLayoutDef,\n} from \"../content/ContentLayout.js\";\nimport type { NavigationAidActivatedEventArgs } from \"../navigationaids/NavigationAidControl.js\";\nimport type {\n PanelPinnedChangedEventArgs,\n PanelSizeChangedEventArgs,\n PanelStateChangedEventArgs,\n} from \"../stagepanels/StagePanelDef.js\";\nimport { UiFramework } from \"../UiFramework.js\";\nimport type {\n WidgetDef,\n WidgetStateChangedEventArgs,\n} from \"../widgets/WidgetDef.js\";\nimport { ToolInformation } from \"../toolsettings/ToolInformation.js\";\nimport type { ToolUiProvider } from \"../toolsettings/ToolUiProvider.js\";\nimport { FrontstageDef } from \"./FrontstageDef.js\";\nimport { FrontstageProvider } from \"./FrontstageProvider.js\";\nimport { TimeTracker } from \"../configurableui/TimeTracker.js\";\nimport type { WidgetState } from \"../widgets/WidgetState.js\";\nimport type {\n FrontstageActivatedEventArgs,\n FrontstageDeactivatedEventArgs,\n FrontstageReadyEventArgs,\n ModalFrontstageChangedEventArgs,\n ModalFrontstageClosedEventArgs,\n ModalFrontstageInfo,\n ModalFrontstageItem,\n ModalFrontstageRequestedCloseEventArgs,\n ToolActivatedEventArgs,\n ToolIconChangedEventArgs,\n} from \"../framework/FrameworkFrontstages.js\";\nimport { UiItemsManager } from \"../ui-items-provider/UiItemsManager.js\";\nimport type { Frontstage } from \"./Frontstage.js\";\nimport type { NineZoneState } from \"../layout/state/NineZoneState.js\";\nimport type { SizeProps } from \"../utils/SizeProps.js\";\n\n/** Frontstage Manager class.\n * @internal\n */\nexport class InternalFrontstageManager {\n private static _initialized = false;\n private static _isLoading = false;\n private static _activeToolId = \"\";\n private static _activeFrontstageDef: FrontstageDef | undefined;\n private static _frontstageDefs = new Map<string, FrontstageDef>();\n private static _modalFrontstages: ModalFrontstageItem[] =\n new Array<ModalFrontstageItem>();\n // eslint-disable-next-line deprecation/deprecation\n private static _frontstageProviders = new Map<string, FrontstageProvider>();\n private static _frontstages = new Map<string, Frontstage>();\n private static _nineZoneSize: SizeProps | undefined = undefined;\n\n private static _nestedFrontstages: FrontstageDef[] =\n new Array<FrontstageDef>();\n private static _activePrimaryFrontstageDef: FrontstageDef | undefined;\n // eslint-disable-next-line deprecation/deprecation\n private static _toolInformationMap: Map<string, ToolInformation> = new Map<\n string,\n // eslint-disable-next-line deprecation/deprecation\n ToolInformation\n >();\n\n /** This should only be called within InternalFrontstageManager and its tests.\n * @internal\n */\n public static ensureToolInformationIsSet(toolId: string): void {\n if (!InternalFrontstageManager._toolInformationMap.get(toolId))\n InternalFrontstageManager._toolInformationMap.set(\n toolId,\n // eslint-disable-next-line deprecation/deprecation\n new ToolInformation(toolId)\n );\n }\n\n private static _handleSyncToolSettingsPropertiesEvent: ListenerType<\n typeof UiFramework.toolSettings.onSyncToolSettingsProperties\n > = (args) => {\n InternalFrontstageManager.activeToolSettingsProvider &&\n InternalFrontstageManager.activeToolSettingsProvider.syncToolSettingsProperties(\n args\n );\n };\n\n // pass on ReloadToolSettingsEvent from ToolAdmin so they are treated by UiProviders\n private static _handleReloadToolSettingsEvent: ListenerType<\n typeof UiFramework.toolSettings.onReloadToolSettingsProperties\n > = () => {\n if (InternalFrontstageManager.activeToolSettingsProvider) {\n InternalFrontstageManager.activeToolSettingsProvider.reloadPropertiesFromTool();\n }\n };\n\n /** Initializes the InternalFrontstageManager\n * @internal\n */\n public static initialize() {\n if (this._initialized) return;\n\n IModelApp.toolAdmin.activeToolChanged.addListener((tool) => {\n // make sure tool settings properties are cached before creating ToolInformation\n UiFramework.toolSettings.clearToolSettingsData();\n if (tool instanceof InteractiveTool)\n UiFramework.toolSettings.initializeDataForTool(tool);\n\n // if the tool data is not already cached then see if there is data to cache\n InternalFrontstageManager.ensureToolInformationIsSet(tool.toolId);\n InternalFrontstageManager.setActiveTool(tool);\n });\n UiFramework.toolSettings.onSyncToolSettingsProperties.addListener(\n InternalFrontstageManager._handleSyncToolSettingsPropertiesEvent\n );\n UiFramework.toolSettings.onReloadToolSettingsProperties.addListener(\n InternalFrontstageManager._handleReloadToolSettingsEvent\n );\n IModelApp.viewManager.onSelectedViewportChanged.addListener(\n InternalFrontstageManager._handleSelectedViewportChanged\n );\n UiItemsManager.onUiProviderRegisteredEvent.addListener(() => {\n const frontstageDef = UiFramework.frontstages.activeFrontstageDef;\n if (!frontstageDef) return;\n frontstageDef.updateWidgetDefs();\n });\n\n this._initialized = true;\n }\n\n /** Handles a Viewport change & sets the active view accordingly */\n private static _handleSelectedViewportChanged: ListenerType<\n typeof IModelApp.viewManager.onSelectedViewportChanged\n > = (args) => {\n if (\n args.current &&\n InternalFrontstageManager.activeFrontstageDef &&\n !InternalFrontstageManager.isLoading\n ) {\n // eslint-disable-next-line deprecation/deprecation\n InternalFrontstageManager.activeFrontstageDef.setActiveViewFromViewport(\n args.current\n );\n }\n };\n\n /** @internal */\n public static get isInitialized(): boolean {\n return InternalFrontstageManager._initialized;\n }\n public static set isInitialized(v: boolean) {\n InternalFrontstageManager._initialized = v;\n }\n\n /** Returns true if Frontstage is loading its controls. If false the Frontstage content and controls have been created. */\n public static get isLoading(): boolean {\n return InternalFrontstageManager._isLoading;\n }\n\n /** @internal */\n public static get nineZoneSize() {\n return InternalFrontstageManager._nineZoneSize;\n }\n\n public static set nineZoneSize(size) {\n InternalFrontstageManager._nineZoneSize = size;\n }\n\n /** @internal */\n public static get frontstageDefs(): ReadonlyMap<string, FrontstageDef> {\n return this._frontstageDefs;\n }\n\n /** Get Frontstage Deactivated event. */\n public static readonly onFrontstageDeactivatedEvent =\n new BeUiEvent<FrontstageDeactivatedEventArgs>(); // eslint-disable-line deprecation/deprecation\n\n /** Get Frontstage Activated event. */\n public static readonly onFrontstageActivatedEvent =\n new BeUiEvent<FrontstageActivatedEventArgs>(); // eslint-disable-line deprecation/deprecation\n\n /** Get Frontstage Activated event. */\n public static readonly onFrontstageReadyEvent =\n new BeUiEvent<FrontstageReadyEventArgs>(); // eslint-disable-line deprecation/deprecation\n\n /** Get Modal Frontstage Changed event. */\n public static readonly onModalFrontstageChangedEvent =\n new BeUiEvent<ModalFrontstageChangedEventArgs>(); // eslint-disable-line deprecation/deprecation\n\n /** Get Modal Frontstage Closed event. */\n public static readonly onModalFrontstageClosedEvent =\n new BeUiEvent<ModalFrontstageClosedEventArgs>(); // eslint-disable-line deprecation/deprecation\n\n /** Get Modal Frontstage Requested Closed event.\n * @alpha\n */\n public static readonly onCloseModalFrontstageRequestedEvent =\n new BeUiEvent<ModalFrontstageRequestedCloseEventArgs>(); // eslint-disable-line deprecation/deprecation\n\n /** Get Tool Activated event. */\n public static readonly onToolActivatedEvent =\n new BeUiEvent<ToolActivatedEventArgs>(); // eslint-disable-line deprecation/deprecation\n\n /** Get ToolSetting Reload event. */\n // eslint-disable-next-line deprecation/deprecation\n public static readonly onToolSettingsReloadEvent = new BeUiEvent<void>();\n\n /** Get Tool Panel Opened event.\n * @internal\n */\n // eslint-disable-next-line deprecation/deprecation\n public static readonly onToolPanelOpenedEvent = new BeUiEvent<void>();\n\n /** Get Tool Icon Changed event. */\n public static readonly onToolIconChangedEvent =\n new BeUiEvent<ToolIconChangedEventArgs>(); // eslint-disable-line deprecation/deprecation\n\n /** Get Content Layout Activated event. */\n public static readonly onContentLayoutActivatedEvent =\n new BeUiEvent<ContentLayoutActivatedEventArgs>(); // eslint-disable-line deprecation/deprecation\n\n /** Get Content Control Activated event. */\n public static readonly onContentControlActivatedEvent =\n new BeUiEvent<ContentControlActivatedEventArgs>(); // eslint-disable-line deprecation/deprecation\n\n /** Get Navigation Aid Activated event. */\n public static readonly onNavigationAidActivatedEvent =\n new BeUiEvent<NavigationAidActivatedEventArgs>(); // eslint-disable-line deprecation/deprecation\n\n /** Get Widget State Changed event. */\n public static readonly onWidgetStateChangedEvent =\n new BeUiEvent<WidgetStateChangedEventArgs>(); // eslint-disable-line deprecation/deprecation\n\n /** @internal */\n // eslint-disable-next-line deprecation/deprecation\n public static readonly onWidgetDefsUpdatedEvent = new BeUiEvent<void>();\n\n /** @internal */\n public static readonly onFrontstageNineZoneStateChangedEvent =\n // eslint-disable-next-line deprecation/deprecation\n new BeUiEvent<{\n frontstageDef: FrontstageDef;\n state: NineZoneState | undefined;\n }>();\n\n /** @internal */\n public static readonly onFrontstageRestoreLayoutEvent =\n // eslint-disable-next-line deprecation/deprecation\n new BeUiEvent<{\n frontstageDef: FrontstageDef;\n }>();\n\n /** @internal */\n public static readonly onFrontstageWidgetsChangedEvent =\n // eslint-disable-next-line deprecation/deprecation\n new BeUiEvent<{\n frontstageDef: FrontstageDef;\n }>();\n\n /** Get panel state changed event.\n * @alpha\n */\n public static readonly onPanelStateChangedEvent =\n new BeUiEvent<PanelStateChangedEventArgs>(); // eslint-disable-line deprecation/deprecation\n\n /** Get panel pinned changed event.\n * @alpha\n */\n public static readonly onPanelPinnedChangedEvent =\n // eslint-disable-next-line deprecation/deprecation\n new BeUiEvent<PanelPinnedChangedEventArgs>();\n\n /** @internal */\n public static readonly onPanelSizeChangedEvent =\n new BeUiEvent<PanelSizeChangedEventArgs>();\n\n /** Clears the Frontstage map.\n */\n public static clearFrontstageDefs(): void {\n InternalFrontstageManager._frontstageDefs.clear();\n InternalFrontstageManager._activeFrontstageDef = undefined;\n }\n\n /** Clears the Frontstage Providers and the defs that may have been created from them.\n */\n public static clearFrontstageProviders(): void {\n InternalFrontstageManager._frontstageProviders.clear();\n InternalFrontstageManager.clearFrontstageDefs();\n }\n\n /** Clears the Frontstages, Frontstage Providers and the defs that may have been created from them. */\n public static clearFrontstages(): void {\n InternalFrontstageManager._frontstages.clear();\n InternalFrontstageManager.clearFrontstageProviders();\n }\n\n private static getFrontstageKey(frontstageId: string) {\n return frontstageId;\n }\n\n /** @internal */\n public static clearFrontstageDefsForIModelId(iModelId: string | undefined) {\n if (!iModelId) return;\n const keysToRemove: string[] = [];\n InternalFrontstageManager._frontstageDefs.forEach(\n (_: FrontstageDef, key: string) => {\n if (key.startsWith(`[${iModelId}]`)) keysToRemove.push(key);\n }\n );\n keysToRemove.forEach((keyValue) => {\n InternalFrontstageManager._frontstageDefs.delete(keyValue);\n });\n }\n\n public static addFrontstageProvider(\n // eslint-disable-next-line deprecation/deprecation\n frontstageProvider: FrontstageProvider\n ): void {\n const key = InternalFrontstageManager.getFrontstageKey(\n frontstageProvider.id\n );\n key && InternalFrontstageManager._frontstageDefs.delete(key);\n InternalFrontstageManager._frontstageProviders.set(\n frontstageProvider.id,\n frontstageProvider\n );\n }\n\n public static addFrontstage(frontstage: Frontstage) {\n const key = InternalFrontstageManager.getFrontstageKey(frontstage.id);\n key && InternalFrontstageManager._frontstageDefs.delete(key);\n InternalFrontstageManager._frontstages.set(frontstage.id, frontstage);\n }\n\n /** Find a loaded Frontstage with a given id. If the id is not provided, the active Frontstage is returned.\n * If the FrontstageDef has not been cached by FrontstageDef then it will not be found. See async function\n * `getFrontstageDef` to get a FrontstageDef.\n * @param id Id of the Frontstage to find\n * @returns FrontstageDef with a given id if found, or undefined if not found.\n */\n private static findFrontstageDef(id: string): FrontstageDef | undefined {\n const key = InternalFrontstageManager.getFrontstageKey(id);\n const frontstageDef = InternalFrontstageManager._frontstageDefs.get(key);\n if (frontstageDef instanceof FrontstageDef) return frontstageDef;\n return undefined;\n }\n\n private static findFrontstageProvider(\n id?: string\n // eslint-disable-next-line deprecation/deprecation\n ): FrontstageProvider | undefined {\n if (!id) {\n return undefined;\n }\n\n const provider = InternalFrontstageManager._frontstageProviders.get(id);\n if (provider) {\n return provider;\n }\n\n const frontstage = InternalFrontstageManager._frontstages.get(id);\n if (frontstage) {\n // eslint-disable-next-line deprecation/deprecation\n return new (class extends FrontstageProvider {\n public get id() {\n return frontstage?.id ?? \"\";\n }\n\n public frontstageConfig() {\n return frontstage;\n }\n })();\n }\n\n return undefined;\n }\n\n /** Find a loaded Frontstage with a given id. If the id is not provided, the active Frontstage is returned. If\n * no cached FrontstageDef is found but a FrontstageProvider is registered a FrontstageDef will be created, cached, and\n * returned.\n * @param id Id of the Frontstage to find\n * @returns FrontstageDef with a given id if found, or undefined if not found.\n */\n public static async getFrontstageDef(\n id?: string\n ): Promise<FrontstageDef | undefined> {\n if (!id) return InternalFrontstageManager.activeFrontstageDef;\n\n let frontstageDef = InternalFrontstageManager.findFrontstageDef(id);\n if (frontstageDef) return frontstageDef;\n\n const frontstageProvider =\n InternalFrontstageManager.findFrontstageProvider(id);\n if (frontstageProvider) {\n frontstageDef = await FrontstageDef.create(frontstageProvider);\n if (frontstageDef) {\n const key = InternalFrontstageManager.getFrontstageKey(\n frontstageDef.id\n );\n InternalFrontstageManager._frontstageDefs.set(key, frontstageDef);\n }\n return frontstageDef;\n }\n\n return undefined;\n }\n\n /** Gets the active FrontstageDef. If a Frontstage is not active, undefined is returned.\n * @return Active FrontstageDef, or undefined if one is not active.\n */\n public static get activeFrontstageDef(): FrontstageDef | undefined {\n return InternalFrontstageManager._activeFrontstageDef;\n }\n\n /** Gets the Id of the active FrontstageDef. If a Frontstage is not active, blank is returned.\n * @return Id of the active FrontstageDef, or blank if one is not active.\n */\n public static get activeFrontstageId(): string {\n const activeFrontstage = InternalFrontstageManager._activeFrontstageDef;\n return activeFrontstage ? activeFrontstage.id : \"\";\n }\n\n public static hasFrontstage(frontstageId: string) {\n if (InternalFrontstageManager.findFrontstageDef(frontstageId)) return true;\n if (InternalFrontstageManager.findFrontstageProvider(frontstageId))\n return true;\n return false;\n }\n\n /** Sets the active FrontstageDef give the stageId.\n * @param frontstageId Id of the Frontstage to set active.\n * @returns A Promise that is fulfilled when the Frontstage is ready.\n */\n public static async setActiveFrontstage(frontstageId: string): Promise<void> {\n const frontstageDef = await InternalFrontstageManager.getFrontstageDef(\n frontstageId\n );\n if (!frontstageDef) {\n Logger.logError(\n UiFramework.loggerCategory(\"InternalFrontstageManager\"),\n `setActiveFrontstage: Could not load a FrontstageDef with id of '${frontstageId}'`\n );\n return;\n }\n\n return InternalFrontstageManager.setActiveFrontstageDef(frontstageDef);\n }\n\n /** Sets the active FrontstageDef.\n * @param frontstageDef FrontstageDef to set active.\n * @returns A Promise that is fulfilled when the [[FrontstageDef]] is ready.\n */\n public static async setActiveFrontstageDef(\n frontstageDef: FrontstageDef | undefined\n ): Promise<void> {\n if (InternalFrontstageManager._activeFrontstageDef === frontstageDef)\n return;\n\n InternalFrontstageManager._isLoading = true;\n\n const deactivatedFrontstageDef =\n InternalFrontstageManager._activeFrontstageDef;\n if (deactivatedFrontstageDef) {\n await deactivatedFrontstageDef.onDeactivated();\n\n const timeTracker = deactivatedFrontstageDef.timeTracker;\n InternalFrontstageManager.onFrontstageDeactivatedEvent.emit({\n deactivatedFrontstageDef,\n activatedFrontstageDef: frontstageDef,\n totalTime: timeTracker.getTotalTimeSeconds(),\n engagementTime: timeTracker.getEngagementTimeSeconds(),\n idleTime: timeTracker.getIdleTimeSeconds(),\n });\n }\n\n InternalFrontstageManager._activeFrontstageDef = frontstageDef;\n\n if (frontstageDef) {\n await frontstageDef.onActivated();\n\n InternalFrontstageManager.onFrontstageActivatedEvent.emit({\n activatedFrontstageDef: frontstageDef,\n deactivatedFrontstageDef,\n });\n\n await frontstageDef.waitUntilReady();\n InternalFrontstageManager._isLoading = false;\n frontstageDef.onFrontstageReady();\n InternalFrontstageManager.onFrontstageReadyEvent.emit({ frontstageDef });\n UiFramework.visibility.handleFrontstageReady();\n\n await frontstageDef.setActiveContent();\n }\n\n InternalFrontstageManager._isLoading = false;\n }\n\n /** Deactivates the active FrontstageDef.\n */\n public static async deactivateFrontstageDef(): Promise<void> {\n await this.setActiveFrontstageDef(undefined);\n }\n\n /** Gets the Id of the active tool. If a tool is not active, blank is returned.\n * @return Id of the active tool, or blank if one is not active.\n */\n public static get activeToolId(): string {\n return InternalFrontstageManager._activeToolId;\n }\n\n /** Sets the active tool id */\n public static setActiveToolId(toolId: string): void {\n InternalFrontstageManager._activeToolId = toolId;\n const toolSettingsProvider =\n InternalFrontstageManager.activeToolSettingsProvider;\n // ensure the toolSettingsProvider is initialized before emitting onToolActivatedEvent\n if (toolSettingsProvider) toolSettingsProvider.initialize();\n InternalFrontstageManager.onToolActivatedEvent.emit({ toolId });\n }\n\n /** Sets the active tool */\n public static setActiveTool(tool: Tool): void {\n InternalFrontstageManager.setActiveToolId(tool.toolId);\n InternalFrontstageManager.onToolIconChangedEvent.emit({\n iconSpec: tool.iconSpec,\n });\n }\n\n /** Gets the active tool's [[ToolInformation]] */\n // eslint-disable-next-line deprecation/deprecation\n public static get activeToolInformation(): ToolInformation | undefined {\n return InternalFrontstageManager._toolInformationMap.get(\n InternalFrontstageManager.activeToolId\n );\n }\n\n /** Gets the Tool Setting React node of the active tool.\n * @return Tool Setting React node of the active tool, or undefined if there is no active tool or Tool Settings for the active tool.\n * @internal\n */\n // eslint-disable-next-line deprecation/deprecation\n public static get activeToolSettingsProvider(): ToolUiProvider | undefined {\n const activeToolInformation =\n InternalFrontstageManager.activeToolInformation;\n return activeToolInformation?.toolUiProvider;\n }\n\n /** Sets the active layout, content group and active content.\n * @param contentLayoutDef Content layout to make active\n * @param contentGroup Content Group to make active\n */\n public static async setActiveLayout(\n contentLayoutDef: ContentLayoutDef,\n contentGroup: ContentGroup\n ): Promise<void> {\n const activeFrontstageDef = InternalFrontstageManager.activeFrontstageDef;\n if (activeFrontstageDef) {\n InternalFrontstageManager._isLoading = false;\n\n activeFrontstageDef.setContentLayoutAndGroup(\n contentLayoutDef,\n contentGroup\n );\n InternalFrontstageManager.onContentLayoutActivatedEvent.emit({\n contentLayout: contentLayoutDef,\n contentGroup,\n });\n\n await activeFrontstageDef.waitUntilReady();\n InternalFrontstageManager._isLoading = false;\n\n await activeFrontstageDef.setActiveContent();\n }\n }\n\n /** Sets the active layout, content group and active content.\n * @param contentGroup Content Group to make active\n */\n public static async setActiveContentGroup(\n contentGroup: ContentGroup\n ): Promise<void> {\n const contentLayoutDef =\n UiFramework.content.layouts.getForGroup(contentGroup);\n await InternalFrontstageManager.setActiveLayout(\n contentLayoutDef,\n contentGroup\n );\n }\n\n /** Opens a modal Frontstage. Modal Frontstages can be stacked.\n * @param modalFrontstage Information about the modal Frontstage\n */\n public static openModalFrontstage(\n modalFrontstage: ModalFrontstageInfo\n ): void {\n InternalFrontstageManager.pushModalFrontstage(modalFrontstage);\n }\n\n private static pushModalFrontstage(\n modalFrontstage: ModalFrontstageInfo\n ): void {\n const timeTracker = new TimeTracker();\n timeTracker.startTiming();\n const frontstageItem: ModalFrontstageItem = {\n modalFrontstage,\n timeTracker,\n };\n InternalFrontstageManager._modalFrontstages.push(frontstageItem);\n InternalFrontstageManager.emitModalFrontstageChangedEvent();\n }\n\n /** Closes the top-most modal Frontstage.\n */\n public static closeModalFrontstage(): void {\n if (InternalFrontstageManager._modalFrontstages.length > 0) {\n const topMostStageItem =\n InternalFrontstageManager._modalFrontstages[\n InternalFrontstageManager._modalFrontstages.length - 1\n ];\n if (topMostStageItem.modalFrontstage.notifyCloseRequest)\n InternalFrontstageManager.onCloseModalFrontstageRequestedEvent.emit({\n modalFrontstage: topMostStageItem.modalFrontstage,\n stageCloseFunc: InternalFrontstageManager.popModalFrontstage,\n });\n else InternalFrontstageManager.popModalFrontstage();\n }\n }\n\n private static popModalFrontstage(): void {\n const frontstageItem = InternalFrontstageManager._modalFrontstages.pop();\n if (frontstageItem) {\n const modalFrontstage = frontstageItem.modalFrontstage;\n const timeTracker = frontstageItem.timeTracker;\n timeTracker.stopTiming();\n InternalFrontstageManager.onModalFrontstageClosedEvent.emit({\n modalFrontstage,\n totalTime: timeTracker.getTotalTimeSeconds(),\n engagementTime: timeTracker.getEngagementTimeSeconds(),\n idleTime: timeTracker.getIdleTimeSeconds(),\n });\n }\n\n InternalFrontstageManager.emitModalFrontstageChangedEvent();\n\n UiFramework.visibility.handleFrontstageReady();\n }\n\n private static emitModalFrontstageChangedEvent(): void {\n InternalFrontstageManager.onModalFrontstageChangedEvent.emit({\n modalFrontstageCount: InternalFrontstageManager.modalFrontstageCount,\n });\n }\n\n /** Updates the top-most modal Frontstage.\n */\n public static updateModalFrontstage(): void {\n InternalFrontstageManager.emitModalFrontstageChangedEvent();\n }\n\n /** Gets the top-most modal Frontstage.\n * @returns Top-most modal Frontstage, or undefined if there is none.\n */\n public static get activeModalFrontstage(): ModalFrontstageInfo | undefined {\n if (InternalFrontstageManager._modalFrontstages.length > 0) {\n const frontstageItem =\n InternalFrontstageManager._modalFrontstages[\n InternalFrontstageManager._modalFrontstages.length - 1\n ];\n const modalFrontstage = frontstageItem.modalFrontstage;\n return modalFrontstage;\n } else {\n return undefined;\n }\n }\n\n /** Gets the number of modal Frontstages.\n * @returns Modal Frontstage count\n */\n public static get modalFrontstageCount(): number {\n return InternalFrontstageManager._modalFrontstages.length;\n }\n\n /** Sets the active Navigation Aid via its Id.\n * @param navigationAidId Id of the Navigation Aid to set as active\n * @param iModelConnection IModelConnection to query for view data\n */\n public static setActiveNavigationAid(\n navigationAidId: string,\n iModelConnection: IModelConnection\n ) {\n InternalFrontstageManager.onNavigationAidActivatedEvent.emit({\n navigationAidId,\n iModelConnection,\n });\n }\n\n /** Sets the state of the widget with the given id\n * @param widgetId Id of the Widget for which to set the state\n * @param state New state of the widget\n * @returns true if the widget state was set successfully, or false if not.\n */\n public static setWidgetState(widgetId: string, state: WidgetState): boolean {\n const widgetDef = InternalFrontstageManager.findWidget(widgetId);\n if (widgetDef) {\n widgetDef.setWidgetState(state);\n return true;\n } else {\n Logger.logError(\n UiFramework.loggerCategory(\"InternalFrontstageManager\"),\n `setWidgetState: Could not find Widget with id of '${widgetId}'`\n );\n }\n\n return false;\n }\n\n /** Finds a widget with the given id in the active frontstage\n * @param widgetId Id of the Widget to find\n * @returns The WidgetDef with the given id, or undefined if not found.\n */\n public static findWidget(widgetId: string): WidgetDef | undefined {\n const activeFrontstageDef = InternalFrontstageManager.activeFrontstageDef;\n\n if (activeFrontstageDef) return activeFrontstageDef.findWidgetDef(widgetId);\n\n return undefined;\n }\n\n /** Opens a nested Frontstage. Nested Frontstages can be stacked.\n * @param nestedFrontstage Information about the nested Frontstage\n */\n public static async openNestedFrontstage(\n nestedFrontstage: FrontstageDef\n ): Promise<void> {\n if (InternalFrontstageManager.nestedFrontstageCount === 0)\n InternalFrontstageManager._activePrimaryFrontstageDef =\n InternalFrontstageManager._activeFrontstageDef;\n\n InternalFrontstageManager.pushNestedFrontstage(nestedFrontstage);\n\n await InternalFrontstageManager.setActiveFrontstageDef(nestedFrontstage);\n }\n\n private static pushNestedFrontstage(nestedFrontstage: FrontstageDef): void {\n InternalFrontstageManager._nestedFrontstages.push(nestedFrontstage);\n }\n\n /** Closes the top-most nested Frontstage.\n */\n public static async closeNestedFrontstage(): Promise<void> {\n InternalFrontstageManager.popNestedFrontstage();\n\n if (InternalFrontstageManager.nestedFrontstageCount > 0) {\n await InternalFrontstageManager.setActiveFrontstageDef(\n InternalFrontstageManager.activeNestedFrontstage\n );\n } else {\n await InternalFrontstageManager.setActiveFrontstageDef(\n InternalFrontstageManager._activePrimaryFrontstageDef\n );\n InternalFrontstageManager._activePrimaryFrontstageDef = undefined;\n }\n }\n\n private static popNestedFrontstage(): void {\n InternalFrontstageManager._nestedFrontstages.pop();\n }\n\n /** Gets the top-most nested Frontstage.\n * @returns Top-most nested Frontstage, or undefined if there is none.\n */\n public static get activeNestedFrontstage(): FrontstageDef | undefined {\n if (InternalFrontstageManager._nestedFrontstages.length > 0)\n return InternalFrontstageManager._nestedFrontstages[\n InternalFrontstageManager._nestedFrontstages.length - 1\n ];\n\n return undefined;\n }\n\n /** Gets the number of nested Frontstages.\n * @returns Nested Frontstage count\n */\n public static get nestedFrontstageCount(): number {\n return InternalFrontstageManager._nestedFrontstages.length;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"InternalFrontstageManager.js","sourceRoot":"","sources":["../../../src/appui-react/frontstage/InternalFrontstageManager.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 Frontstage\n */\n\nimport { BeUiEvent, Logger } from \"@itwin/core-bentley\";\nimport type { IModelConnection, Tool } from \"@itwin/core-frontend\";\nimport { IModelApp, InteractiveTool } from \"@itwin/core-frontend\";\nimport type { ListenerType } from \"@itwin/core-react/internal\";\nimport type { ContentControlActivatedEventArgs } from \"../content/ContentControl.js\";\nimport type { ContentGroup } from \"../content/ContentGroup.js\";\nimport type {\n ContentLayoutActivatedEventArgs,\n ContentLayoutDef,\n} from \"../content/ContentLayout.js\";\nimport type { NavigationAidActivatedEventArgs } from \"../navigationaids/NavigationAidControl.js\";\nimport type {\n PanelPinnedChangedEventArgs,\n PanelSizeChangedEventArgs,\n PanelStateChangedEventArgs,\n} from \"../stagepanels/StagePanelDef.js\";\nimport { UiFramework } from \"../UiFramework.js\";\nimport type {\n WidgetDef,\n WidgetStateChangedEventArgs,\n} from \"../widgets/WidgetDef.js\";\nimport { ToolInformation } from \"../toolsettings/ToolInformation.js\";\nimport type { ToolUiProvider } from \"../toolsettings/ToolUiProvider.js\";\nimport { FrontstageDef } from \"./FrontstageDef.js\";\nimport { FrontstageProvider } from \"./FrontstageProvider.js\";\nimport { TimeTracker } from \"../configurableui/TimeTracker.js\";\nimport type { WidgetState } from \"../widgets/WidgetState.js\";\nimport type {\n FrontstageActivatedEventArgs,\n FrontstageDeactivatedEventArgs,\n FrontstageReadyEventArgs,\n ModalFrontstageChangedEventArgs,\n ModalFrontstageClosedEventArgs,\n ModalFrontstageInfo,\n ModalFrontstageItem,\n ModalFrontstageRequestedCloseEventArgs,\n ToolActivatedEventArgs,\n ToolIconChangedEventArgs,\n} from \"../framework/FrameworkFrontstages.js\";\nimport { UiItemsManager } from \"../ui-items-provider/UiItemsManager.js\";\nimport type { Frontstage } from \"./Frontstage.js\";\nimport type { NineZoneState } from \"../layout/state/NineZoneState.js\";\nimport type { SizeProps } from \"../utils/SizeProps.js\";\n\n/** Frontstage Manager class.\n * @internal\n */\nexport class InternalFrontstageManager {\n private static _initialized = false;\n private static _isLoading = false;\n private static _activeToolId = \"\";\n private static _activeFrontstageDef: FrontstageDef | undefined;\n private static _frontstageDefs = new Map<string, FrontstageDef>();\n private static _modalFrontstages: ModalFrontstageItem[] =\n new Array<ModalFrontstageItem>();\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n private static _frontstageProviders = new Map<string, FrontstageProvider>();\n private static _frontstages = new Map<string, Frontstage>();\n private static _nineZoneSize: SizeProps | undefined = undefined;\n\n private static _nestedFrontstages: FrontstageDef[] =\n new Array<FrontstageDef>();\n private static _activePrimaryFrontstageDef: FrontstageDef | undefined;\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n private static _toolInformationMap: Map<string, ToolInformation> = new Map<\n string,\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n ToolInformation\n >();\n\n /** This should only be called within InternalFrontstageManager and its tests.\n * @internal\n */\n public static ensureToolInformationIsSet(toolId: string): void {\n if (!InternalFrontstageManager._toolInformationMap.get(toolId))\n InternalFrontstageManager._toolInformationMap.set(\n toolId,\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n new ToolInformation(toolId)\n );\n }\n\n private static _handleSyncToolSettingsPropertiesEvent: ListenerType<\n typeof UiFramework.toolSettings.onSyncToolSettingsProperties\n > = (args) => {\n InternalFrontstageManager.activeToolSettingsProvider &&\n InternalFrontstageManager.activeToolSettingsProvider.syncToolSettingsProperties(\n args\n );\n };\n\n // pass on ReloadToolSettingsEvent from ToolAdmin so they are treated by UiProviders\n private static _handleReloadToolSettingsEvent: ListenerType<\n typeof UiFramework.toolSettings.onReloadToolSettingsProperties\n > = () => {\n if (InternalFrontstageManager.activeToolSettingsProvider) {\n InternalFrontstageManager.activeToolSettingsProvider.reloadPropertiesFromTool();\n }\n };\n\n /** Initializes the InternalFrontstageManager\n * @internal\n */\n public static initialize() {\n if (this._initialized) return;\n\n IModelApp.toolAdmin.activeToolChanged.addListener((tool) => {\n // make sure tool settings properties are cached before creating ToolInformation\n UiFramework.toolSettings.clearToolSettingsData();\n if (tool instanceof InteractiveTool)\n UiFramework.toolSettings.initializeDataForTool(tool);\n\n // if the tool data is not already cached then see if there is data to cache\n InternalFrontstageManager.ensureToolInformationIsSet(tool.toolId);\n InternalFrontstageManager.setActiveTool(tool);\n });\n UiFramework.toolSettings.onSyncToolSettingsProperties.addListener(\n InternalFrontstageManager._handleSyncToolSettingsPropertiesEvent\n );\n UiFramework.toolSettings.onReloadToolSettingsProperties.addListener(\n InternalFrontstageManager._handleReloadToolSettingsEvent\n );\n IModelApp.viewManager.onSelectedViewportChanged.addListener(\n InternalFrontstageManager._handleSelectedViewportChanged\n );\n UiItemsManager.onUiProviderRegisteredEvent.addListener(() => {\n const frontstageDef = UiFramework.frontstages.activeFrontstageDef;\n if (!frontstageDef) return;\n frontstageDef.updateWidgetDefs();\n });\n\n this._initialized = true;\n }\n\n /** Handles a Viewport change & sets the active view accordingly */\n private static _handleSelectedViewportChanged: ListenerType<\n typeof IModelApp.viewManager.onSelectedViewportChanged\n > = (args) => {\n if (\n args.current &&\n InternalFrontstageManager.activeFrontstageDef &&\n !InternalFrontstageManager.isLoading\n ) {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n InternalFrontstageManager.activeFrontstageDef.setActiveViewFromViewport(\n args.current\n );\n }\n };\n\n /** @internal */\n public static get isInitialized(): boolean {\n return InternalFrontstageManager._initialized;\n }\n public static set isInitialized(v: boolean) {\n InternalFrontstageManager._initialized = v;\n }\n\n /** Returns true if Frontstage is loading its controls. If false the Frontstage content and controls have been created. */\n public static get isLoading(): boolean {\n return InternalFrontstageManager._isLoading;\n }\n\n /** @internal */\n public static get nineZoneSize() {\n return InternalFrontstageManager._nineZoneSize;\n }\n\n public static set nineZoneSize(size) {\n InternalFrontstageManager._nineZoneSize = size;\n }\n\n /** @internal */\n public static get frontstageDefs(): ReadonlyMap<string, FrontstageDef> {\n return this._frontstageDefs;\n }\n\n /** Get Frontstage Deactivated event. */\n public static readonly onFrontstageDeactivatedEvent =\n new BeUiEvent<FrontstageDeactivatedEventArgs>(); // eslint-disable-line @typescript-eslint/no-deprecated\n\n /** Get Frontstage Activated event. */\n public static readonly onFrontstageActivatedEvent =\n new BeUiEvent<FrontstageActivatedEventArgs>(); // eslint-disable-line @typescript-eslint/no-deprecated\n\n /** Get Frontstage Activated event. */\n public static readonly onFrontstageReadyEvent =\n new BeUiEvent<FrontstageReadyEventArgs>(); // eslint-disable-line @typescript-eslint/no-deprecated\n\n /** Get Modal Frontstage Changed event. */\n public static readonly onModalFrontstageChangedEvent =\n new BeUiEvent<ModalFrontstageChangedEventArgs>(); // eslint-disable-line @typescript-eslint/no-deprecated\n\n /** Get Modal Frontstage Closed event. */\n public static readonly onModalFrontstageClosedEvent =\n new BeUiEvent<ModalFrontstageClosedEventArgs>(); // eslint-disable-line @typescript-eslint/no-deprecated\n\n /** Get Modal Frontstage Requested Closed event.\n * @alpha\n */\n public static readonly onCloseModalFrontstageRequestedEvent =\n new BeUiEvent<ModalFrontstageRequestedCloseEventArgs>(); // eslint-disable-line @typescript-eslint/no-deprecated\n\n /** Get Tool Activated event. */\n public static readonly onToolActivatedEvent =\n new BeUiEvent<ToolActivatedEventArgs>(); // eslint-disable-line @typescript-eslint/no-deprecated\n\n /** Get ToolSetting Reload event. */\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n public static readonly onToolSettingsReloadEvent = new BeUiEvent<void>();\n\n /** Get Tool Panel Opened event.\n * @internal\n */\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n public static readonly onToolPanelOpenedEvent = new BeUiEvent<void>();\n\n /** Get Tool Icon Changed event. */\n public static readonly onToolIconChangedEvent =\n new BeUiEvent<ToolIconChangedEventArgs>(); // eslint-disable-line @typescript-eslint/no-deprecated\n\n /** Get Content Layout Activated event. */\n public static readonly onContentLayoutActivatedEvent =\n new BeUiEvent<ContentLayoutActivatedEventArgs>(); // eslint-disable-line @typescript-eslint/no-deprecated\n\n /** Get Content Control Activated event. */\n public static readonly onContentControlActivatedEvent =\n new BeUiEvent<ContentControlActivatedEventArgs>(); // eslint-disable-line @typescript-eslint/no-deprecated\n\n /** Get Navigation Aid Activated event. */\n public static readonly onNavigationAidActivatedEvent =\n new BeUiEvent<NavigationAidActivatedEventArgs>(); // eslint-disable-line @typescript-eslint/no-deprecated\n\n /** Get Widget State Changed event. */\n public static readonly onWidgetStateChangedEvent =\n new BeUiEvent<WidgetStateChangedEventArgs>(); // eslint-disable-line @typescript-eslint/no-deprecated\n\n /** @internal */\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n public static readonly onWidgetDefsUpdatedEvent = new BeUiEvent<void>();\n\n /** @internal */\n public static readonly onFrontstageNineZoneStateChangedEvent =\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n new BeUiEvent<{\n frontstageDef: FrontstageDef;\n state: NineZoneState | undefined;\n }>();\n\n /** @internal */\n public static readonly onFrontstageRestoreLayoutEvent =\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n new BeUiEvent<{\n frontstageDef: FrontstageDef;\n }>();\n\n /** @internal */\n public static readonly onFrontstageWidgetsChangedEvent =\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n new BeUiEvent<{\n frontstageDef: FrontstageDef;\n }>();\n\n /** Get panel state changed event.\n * @alpha\n */\n public static readonly onPanelStateChangedEvent =\n new BeUiEvent<PanelStateChangedEventArgs>(); // eslint-disable-line @typescript-eslint/no-deprecated\n\n /** Get panel pinned changed event.\n * @alpha\n */\n public static readonly onPanelPinnedChangedEvent =\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n new BeUiEvent<PanelPinnedChangedEventArgs>();\n\n /** @internal */\n public static readonly onPanelSizeChangedEvent =\n new BeUiEvent<PanelSizeChangedEventArgs>();\n\n /** Clears the Frontstage map.\n */\n public static clearFrontstageDefs(): void {\n InternalFrontstageManager._frontstageDefs.clear();\n InternalFrontstageManager._activeFrontstageDef = undefined;\n }\n\n /** Clears the Frontstage Providers and the defs that may have been created from them.\n */\n public static clearFrontstageProviders(): void {\n InternalFrontstageManager._frontstageProviders.clear();\n InternalFrontstageManager.clearFrontstageDefs();\n }\n\n /** Clears the Frontstages, Frontstage Providers and the defs that may have been created from them. */\n public static clearFrontstages(): void {\n InternalFrontstageManager._frontstages.clear();\n InternalFrontstageManager.clearFrontstageProviders();\n }\n\n private static getFrontstageKey(frontstageId: string) {\n return frontstageId;\n }\n\n /** @internal */\n public static clearFrontstageDefsForIModelId(iModelId: string | undefined) {\n if (!iModelId) return;\n const keysToRemove: string[] = [];\n InternalFrontstageManager._frontstageDefs.forEach(\n (_: FrontstageDef, key: string) => {\n if (key.startsWith(`[${iModelId}]`)) keysToRemove.push(key);\n }\n );\n keysToRemove.forEach((keyValue) => {\n InternalFrontstageManager._frontstageDefs.delete(keyValue);\n });\n }\n\n public static addFrontstageProvider(\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n frontstageProvider: FrontstageProvider\n ): void {\n const key = InternalFrontstageManager.getFrontstageKey(\n frontstageProvider.id\n );\n key && InternalFrontstageManager._frontstageDefs.delete(key);\n InternalFrontstageManager._frontstageProviders.set(\n frontstageProvider.id,\n frontstageProvider\n );\n }\n\n public static addFrontstage(frontstage: Frontstage) {\n const key = InternalFrontstageManager.getFrontstageKey(frontstage.id);\n key && InternalFrontstageManager._frontstageDefs.delete(key);\n InternalFrontstageManager._frontstages.set(frontstage.id, frontstage);\n }\n\n /** Find a loaded Frontstage with a given id. If the id is not provided, the active Frontstage is returned.\n * If the FrontstageDef has not been cached by FrontstageDef then it will not be found. See async function\n * `getFrontstageDef` to get a FrontstageDef.\n * @param id Id of the Frontstage to find\n * @returns FrontstageDef with a given id if found, or undefined if not found.\n */\n private static findFrontstageDef(id: string): FrontstageDef | undefined {\n const key = InternalFrontstageManager.getFrontstageKey(id);\n const frontstageDef = InternalFrontstageManager._frontstageDefs.get(key);\n if (frontstageDef instanceof FrontstageDef) return frontstageDef;\n return undefined;\n }\n\n private static findFrontstageProvider(\n id?: string\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n ): FrontstageProvider | undefined {\n if (!id) {\n return undefined;\n }\n\n const provider = InternalFrontstageManager._frontstageProviders.get(id);\n if (provider) {\n return provider;\n }\n\n const frontstage = InternalFrontstageManager._frontstages.get(id);\n if (frontstage) {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n return new (class extends FrontstageProvider {\n public get id() {\n return frontstage?.id ?? \"\";\n }\n\n public frontstageConfig() {\n return frontstage;\n }\n })();\n }\n\n return undefined;\n }\n\n /** Find a loaded Frontstage with a given id. If the id is not provided, the active Frontstage is returned. If\n * no cached FrontstageDef is found but a FrontstageProvider is registered a FrontstageDef will be created, cached, and\n * returned.\n * @param id Id of the Frontstage to find\n * @returns FrontstageDef with a given id if found, or undefined if not found.\n */\n public static async getFrontstageDef(\n id?: string\n ): Promise<FrontstageDef | undefined> {\n if (!id) return InternalFrontstageManager.activeFrontstageDef;\n\n let frontstageDef = InternalFrontstageManager.findFrontstageDef(id);\n if (frontstageDef) return frontstageDef;\n\n const frontstageProvider =\n InternalFrontstageManager.findFrontstageProvider(id);\n if (frontstageProvider) {\n frontstageDef = await FrontstageDef.create(frontstageProvider);\n if (frontstageDef) {\n const key = InternalFrontstageManager.getFrontstageKey(\n frontstageDef.id\n );\n InternalFrontstageManager._frontstageDefs.set(key, frontstageDef);\n }\n return frontstageDef;\n }\n\n return undefined;\n }\n\n /** Gets the active FrontstageDef. If a Frontstage is not active, undefined is returned.\n * @return Active FrontstageDef, or undefined if one is not active.\n */\n public static get activeFrontstageDef(): FrontstageDef | undefined {\n return InternalFrontstageManager._activeFrontstageDef;\n }\n\n /** Gets the Id of the active FrontstageDef. If a Frontstage is not active, blank is returned.\n * @return Id of the active FrontstageDef, or blank if one is not active.\n */\n public static get activeFrontstageId(): string {\n const activeFrontstage = InternalFrontstageManager._activeFrontstageDef;\n return activeFrontstage ? activeFrontstage.id : \"\";\n }\n\n public static hasFrontstage(frontstageId: string) {\n if (InternalFrontstageManager.findFrontstageDef(frontstageId)) return true;\n if (InternalFrontstageManager.findFrontstageProvider(frontstageId))\n return true;\n return false;\n }\n\n /** Sets the active FrontstageDef give the stageId.\n * @param frontstageId Id of the Frontstage to set active.\n * @returns A Promise that is fulfilled when the Frontstage is ready.\n */\n public static async setActiveFrontstage(frontstageId: string): Promise<void> {\n const frontstageDef = await InternalFrontstageManager.getFrontstageDef(\n frontstageId\n );\n if (!frontstageDef) {\n Logger.logError(\n UiFramework.loggerCategory(\"InternalFrontstageManager\"),\n `setActiveFrontstage: Could not load a FrontstageDef with id of '${frontstageId}'`\n );\n return;\n }\n\n return InternalFrontstageManager.setActiveFrontstageDef(frontstageDef);\n }\n\n /** Sets the active FrontstageDef.\n * @param frontstageDef FrontstageDef to set active.\n * @returns A Promise that is fulfilled when the [[FrontstageDef]] is ready.\n */\n public static async setActiveFrontstageDef(\n frontstageDef: FrontstageDef | undefined\n ): Promise<void> {\n if (InternalFrontstageManager._activeFrontstageDef === frontstageDef)\n return;\n\n InternalFrontstageManager._isLoading = true;\n\n const deactivatedFrontstageDef =\n InternalFrontstageManager._activeFrontstageDef;\n if (deactivatedFrontstageDef) {\n await deactivatedFrontstageDef.onDeactivated();\n\n const timeTracker = deactivatedFrontstageDef.timeTracker;\n InternalFrontstageManager.onFrontstageDeactivatedEvent.emit({\n deactivatedFrontstageDef,\n activatedFrontstageDef: frontstageDef,\n totalTime: timeTracker.getTotalTimeSeconds(),\n engagementTime: timeTracker.getEngagementTimeSeconds(),\n idleTime: timeTracker.getIdleTimeSeconds(),\n });\n }\n\n InternalFrontstageManager._activeFrontstageDef = frontstageDef;\n\n if (frontstageDef) {\n await frontstageDef.onActivated();\n\n InternalFrontstageManager.onFrontstageActivatedEvent.emit({\n activatedFrontstageDef: frontstageDef,\n deactivatedFrontstageDef,\n });\n\n await frontstageDef.waitUntilReady();\n InternalFrontstageManager._isLoading = false;\n frontstageDef.onFrontstageReady();\n InternalFrontstageManager.onFrontstageReadyEvent.emit({ frontstageDef });\n UiFramework.visibility.handleFrontstageReady();\n\n await frontstageDef.setActiveContent();\n }\n\n InternalFrontstageManager._isLoading = false;\n }\n\n /** Deactivates the active FrontstageDef.\n */\n public static async deactivateFrontstageDef(): Promise<void> {\n await this.setActiveFrontstageDef(undefined);\n }\n\n /** Gets the Id of the active tool. If a tool is not active, blank is returned.\n * @return Id of the active tool, or blank if one is not active.\n */\n public static get activeToolId(): string {\n return InternalFrontstageManager._activeToolId;\n }\n\n /** Sets the active tool id */\n public static setActiveToolId(toolId: string): void {\n InternalFrontstageManager._activeToolId = toolId;\n const toolSettingsProvider =\n InternalFrontstageManager.activeToolSettingsProvider;\n // ensure the toolSettingsProvider is initialized before emitting onToolActivatedEvent\n if (toolSettingsProvider) toolSettingsProvider.initialize();\n InternalFrontstageManager.onToolActivatedEvent.emit({ toolId });\n }\n\n /** Sets the active tool */\n public static setActiveTool(tool: Tool): void {\n InternalFrontstageManager.setActiveToolId(tool.toolId);\n InternalFrontstageManager.onToolIconChangedEvent.emit({\n iconSpec: tool.iconSpec,\n });\n }\n\n /** Gets the active tool's [[ToolInformation]] */\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n public static get activeToolInformation(): ToolInformation | undefined {\n return InternalFrontstageManager._toolInformationMap.get(\n InternalFrontstageManager.activeToolId\n );\n }\n\n /** Gets the Tool Setting React node of the active tool.\n * @return Tool Setting React node of the active tool, or undefined if there is no active tool or Tool Settings for the active tool.\n * @internal\n */\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n public static get activeToolSettingsProvider(): ToolUiProvider | undefined {\n const activeToolInformation =\n InternalFrontstageManager.activeToolInformation;\n return activeToolInformation?.toolUiProvider;\n }\n\n /** Sets the active layout, content group and active content.\n * @param contentLayoutDef Content layout to make active\n * @param contentGroup Content Group to make active\n */\n public static async setActiveLayout(\n contentLayoutDef: ContentLayoutDef,\n contentGroup: ContentGroup\n ): Promise<void> {\n const activeFrontstageDef = InternalFrontstageManager.activeFrontstageDef;\n if (activeFrontstageDef) {\n InternalFrontstageManager._isLoading = false;\n\n activeFrontstageDef.setContentLayoutAndGroup(\n contentLayoutDef,\n contentGroup\n );\n InternalFrontstageManager.onContentLayoutActivatedEvent.emit({\n contentLayout: contentLayoutDef,\n contentGroup,\n });\n\n await activeFrontstageDef.waitUntilReady();\n InternalFrontstageManager._isLoading = false;\n\n await activeFrontstageDef.setActiveContent();\n }\n }\n\n /** Sets the active layout, content group and active content.\n * @param contentGroup Content Group to make active\n */\n public static async setActiveContentGroup(\n contentGroup: ContentGroup\n ): Promise<void> {\n const contentLayoutDef =\n UiFramework.content.layouts.getForGroup(contentGroup);\n await InternalFrontstageManager.setActiveLayout(\n contentLayoutDef,\n contentGroup\n );\n }\n\n /** Opens a modal Frontstage. Modal Frontstages can be stacked.\n * @param modalFrontstage Information about the modal Frontstage\n */\n public static openModalFrontstage(\n modalFrontstage: ModalFrontstageInfo\n ): void {\n InternalFrontstageManager.pushModalFrontstage(modalFrontstage);\n }\n\n private static pushModalFrontstage(\n modalFrontstage: ModalFrontstageInfo\n ): void {\n const timeTracker = new TimeTracker();\n timeTracker.startTiming();\n const frontstageItem: ModalFrontstageItem = {\n modalFrontstage,\n timeTracker,\n };\n InternalFrontstageManager._modalFrontstages.push(frontstageItem);\n InternalFrontstageManager.emitModalFrontstageChangedEvent();\n }\n\n /** Closes the top-most modal Frontstage.\n */\n public static closeModalFrontstage(): void {\n if (InternalFrontstageManager._modalFrontstages.length > 0) {\n const topMostStageItem =\n InternalFrontstageManager._modalFrontstages[\n InternalFrontstageManager._modalFrontstages.length - 1\n ];\n if (topMostStageItem.modalFrontstage.notifyCloseRequest)\n InternalFrontstageManager.onCloseModalFrontstageRequestedEvent.emit({\n modalFrontstage: topMostStageItem.modalFrontstage,\n stageCloseFunc: InternalFrontstageManager.popModalFrontstage,\n });\n else InternalFrontstageManager.popModalFrontstage();\n }\n }\n\n private static popModalFrontstage(): void {\n const frontstageItem = InternalFrontstageManager._modalFrontstages.pop();\n if (frontstageItem) {\n const modalFrontstage = frontstageItem.modalFrontstage;\n const timeTracker = frontstageItem.timeTracker;\n timeTracker.stopTiming();\n InternalFrontstageManager.onModalFrontstageClosedEvent.emit({\n modalFrontstage,\n totalTime: timeTracker.getTotalTimeSeconds(),\n engagementTime: timeTracker.getEngagementTimeSeconds(),\n idleTime: timeTracker.getIdleTimeSeconds(),\n });\n }\n\n InternalFrontstageManager.emitModalFrontstageChangedEvent();\n\n UiFramework.visibility.handleFrontstageReady();\n }\n\n private static emitModalFrontstageChangedEvent(): void {\n InternalFrontstageManager.onModalFrontstageChangedEvent.emit({\n modalFrontstageCount: InternalFrontstageManager.modalFrontstageCount,\n });\n }\n\n /** Updates the top-most modal Frontstage.\n */\n public static updateModalFrontstage(): void {\n InternalFrontstageManager.emitModalFrontstageChangedEvent();\n }\n\n /** Gets the top-most modal Frontstage.\n * @returns Top-most modal Frontstage, or undefined if there is none.\n */\n public static get activeModalFrontstage(): ModalFrontstageInfo | undefined {\n if (InternalFrontstageManager._modalFrontstages.length > 0) {\n const frontstageItem =\n InternalFrontstageManager._modalFrontstages[\n InternalFrontstageManager._modalFrontstages.length - 1\n ];\n const modalFrontstage = frontstageItem.modalFrontstage;\n return modalFrontstage;\n } else {\n return undefined;\n }\n }\n\n /** Gets the number of modal Frontstages.\n * @returns Modal Frontstage count\n */\n public static get modalFrontstageCount(): number {\n return InternalFrontstageManager._modalFrontstages.length;\n }\n\n /** Sets the active Navigation Aid via its Id.\n * @param navigationAidId Id of the Navigation Aid to set as active\n * @param iModelConnection IModelConnection to query for view data\n */\n public static setActiveNavigationAid(\n navigationAidId: string,\n iModelConnection: IModelConnection\n ) {\n InternalFrontstageManager.onNavigationAidActivatedEvent.emit({\n navigationAidId,\n iModelConnection,\n });\n }\n\n /** Sets the state of the widget with the given id\n * @param widgetId Id of the Widget for which to set the state\n * @param state New state of the widget\n * @returns true if the widget state was set successfully, or false if not.\n */\n public static setWidgetState(widgetId: string, state: WidgetState): boolean {\n const widgetDef = InternalFrontstageManager.findWidget(widgetId);\n if (widgetDef) {\n widgetDef.setWidgetState(state);\n return true;\n } else {\n Logger.logError(\n UiFramework.loggerCategory(\"InternalFrontstageManager\"),\n `setWidgetState: Could not find Widget with id of '${widgetId}'`\n );\n }\n\n return false;\n }\n\n /** Finds a widget with the given id in the active frontstage\n * @param widgetId Id of the Widget to find\n * @returns The WidgetDef with the given id, or undefined if not found.\n */\n public static findWidget(widgetId: string): WidgetDef | undefined {\n const activeFrontstageDef = InternalFrontstageManager.activeFrontstageDef;\n\n if (activeFrontstageDef) return activeFrontstageDef.findWidgetDef(widgetId);\n\n return undefined;\n }\n\n /** Opens a nested Frontstage. Nested Frontstages can be stacked.\n * @param nestedFrontstage Information about the nested Frontstage\n */\n public static async openNestedFrontstage(\n nestedFrontstage: FrontstageDef\n ): Promise<void> {\n if (InternalFrontstageManager.nestedFrontstageCount === 0)\n InternalFrontstageManager._activePrimaryFrontstageDef =\n InternalFrontstageManager._activeFrontstageDef;\n\n InternalFrontstageManager.pushNestedFrontstage(nestedFrontstage);\n\n await InternalFrontstageManager.setActiveFrontstageDef(nestedFrontstage);\n }\n\n private static pushNestedFrontstage(nestedFrontstage: FrontstageDef): void {\n InternalFrontstageManager._nestedFrontstages.push(nestedFrontstage);\n }\n\n /** Closes the top-most nested Frontstage.\n */\n public static async closeNestedFrontstage(): Promise<void> {\n InternalFrontstageManager.popNestedFrontstage();\n\n if (InternalFrontstageManager.nestedFrontstageCount > 0) {\n await InternalFrontstageManager.setActiveFrontstageDef(\n InternalFrontstageManager.activeNestedFrontstage\n );\n } else {\n await InternalFrontstageManager.setActiveFrontstageDef(\n InternalFrontstageManager._activePrimaryFrontstageDef\n );\n InternalFrontstageManager._activePrimaryFrontstageDef = undefined;\n }\n }\n\n private static popNestedFrontstage(): void {\n InternalFrontstageManager._nestedFrontstages.pop();\n }\n\n /** Gets the top-most nested Frontstage.\n * @returns Top-most nested Frontstage, or undefined if there is none.\n */\n public static get activeNestedFrontstage(): FrontstageDef | undefined {\n if (InternalFrontstageManager._nestedFrontstages.length > 0)\n return InternalFrontstageManager._nestedFrontstages[\n InternalFrontstageManager._nestedFrontstages.length - 1\n ];\n\n return undefined;\n }\n\n /** Gets the number of nested Frontstages.\n * @returns Nested Frontstage count\n */\n public static get nestedFrontstageCount(): number {\n return InternalFrontstageManager._nestedFrontstages.length;\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModalFrontstage.js","sourceRoot":"","sources":["../../../src/appui-react/frontstage/ModalFrontstage.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,wBAAwB,CAAC;AAChC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,UAAU,MAAM,YAAY,CAAC;AAEpC,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAuBnE;;GAEG;AACH,MAAM,OAAO,eAAgB,SAAQ,KAAK,CAAC,SAA+B;IACxE,YAAY,KAA2B;QACrC,KAAK,CAAC,KAAK,CAAC,CAAC;QAGP,cAAS,GAAG,GAAG,EAAE;YACvB,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY;gBAAE,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;YACvD,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;QAC1B,CAAC,CAAC;IALF,CAAC;IAOe,MAAM;QACpB,MAAM,UAAU,GAAG,UAAU,CAC3B,uBAAuB,EACvB,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,iBAAiB,EACtC,IAAI,CAAC,KAAK,CAAC,SAAS,CACrB,CAAC;QAEF,OAAO,CACL;YACE,6BAAK,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK;gBACjD,6BAAK,SAAS,EAAC,oBAAoB;oBAChC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CACvB,IAAI,CAAC,KAAK,CAAC,UAAU,CACtB,CAAC,CAAC,CAAC,CACF,oBAAC,qBAAqB,IAAC,OAAO,EAAE,IAAI,CAAC,SAAS,GAAI,CACnD;oBACD,oBAAC,IAAI,IAAC,OAAO,EAAC,UAAU,EAAC,SAAS,EAAC,eAAe,IAC/C,IAAI,CAAC,KAAK,CAAC,KAAK,CACZ;oBACN,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,CACzB,8BAAM,SAAS,EAAC,0BAA0B,IACvC,IAAI,CAAC,KAAK,CAAC,WAAW,CAClB,CACR,CACG;gBACN,6BAAK,SAAS,EAAC,0BAA0B,IAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAO,CACjE;YACN,6BAAK,SAAS,EAAC,+BAA+B,GAAG,CAChD,CACJ,CAAC;IACJ,CAAC;CACF","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 Frontstage\n */\n\nimport \"./ModalFrontstage.scss\";\nimport * as React from \"react\";\nimport classnames from \"classnames\";\nimport type { CommonProps } from \"@itwin/core-react\";\nimport { Text } from \"@itwin/itwinui-react\";\nimport { ModalFrontstageButton } from \"./ModalFrontstageButton.js\";\n\n/** Properties for the [[ModalFrontstage]] React component\n * @public\n */\n// eslint-disable-next-line
|
|
1
|
+
{"version":3,"file":"ModalFrontstage.js","sourceRoot":"","sources":["../../../src/appui-react/frontstage/ModalFrontstage.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,wBAAwB,CAAC;AAChC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,UAAU,MAAM,YAAY,CAAC;AAEpC,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAuBnE;;GAEG;AACH,MAAM,OAAO,eAAgB,SAAQ,KAAK,CAAC,SAA+B;IACxE,YAAY,KAA2B;QACrC,KAAK,CAAC,KAAK,CAAC,CAAC;QAGP,cAAS,GAAG,GAAG,EAAE;YACvB,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY;gBAAE,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;YACvD,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;QAC1B,CAAC,CAAC;IALF,CAAC;IAOe,MAAM;QACpB,MAAM,UAAU,GAAG,UAAU,CAC3B,uBAAuB,EACvB,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,iBAAiB,EACtC,IAAI,CAAC,KAAK,CAAC,SAAS,CACrB,CAAC;QAEF,OAAO,CACL;YACE,6BAAK,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK;gBACjD,6BAAK,SAAS,EAAC,oBAAoB;oBAChC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CACvB,IAAI,CAAC,KAAK,CAAC,UAAU,CACtB,CAAC,CAAC,CAAC,CACF,oBAAC,qBAAqB,IAAC,OAAO,EAAE,IAAI,CAAC,SAAS,GAAI,CACnD;oBACD,oBAAC,IAAI,IAAC,OAAO,EAAC,UAAU,EAAC,SAAS,EAAC,eAAe,IAC/C,IAAI,CAAC,KAAK,CAAC,KAAK,CACZ;oBACN,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,CACzB,8BAAM,SAAS,EAAC,0BAA0B,IACvC,IAAI,CAAC,KAAK,CAAC,WAAW,CAClB,CACR,CACG;gBACN,6BAAK,SAAS,EAAC,0BAA0B,IAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAO,CACjE;YACN,6BAAK,SAAS,EAAC,+BAA+B,GAAG,CAChD,CACJ,CAAC;IACJ,CAAC;CACF","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 Frontstage\n */\n\nimport \"./ModalFrontstage.scss\";\nimport * as React from \"react\";\nimport classnames from \"classnames\";\nimport type { CommonProps } from \"@itwin/core-react\";\nimport { Text } from \"@itwin/itwinui-react\";\nimport { ModalFrontstageButton } from \"./ModalFrontstageButton.js\";\n\n/** Properties for the [[ModalFrontstage]] React component\n * @public\n */\n// eslint-disable-next-line @typescript-eslint/no-deprecated\nexport interface ModalFrontstageProps extends CommonProps {\n /** Title displayed at the top of the modal Frontstage */\n title: string;\n /** Indicates whether the modal Frontstage is open */\n isOpen?: boolean;\n /** Callback for navigating back from the modal Frontstage. */\n navigateBack?: () => any;\n /** Callback for closing the modal Frontstage. */\n closeModal: () => any;\n /** An optional React node displayed in the upper right of the modal Frontstage. */\n appBarRight?: React.ReactNode;\n /** If specified overrides the default back button. */\n backButton?: React.ReactNode;\n /** Content */\n children?: React.ReactNode;\n}\n\n/** ModalFrontstage React component\n * @public\n */\nexport class ModalFrontstage extends React.Component<ModalFrontstageProps> {\n constructor(props: ModalFrontstageProps) {\n super(props);\n }\n\n private _onGoBack = () => {\n if (this.props.navigateBack) this.props.navigateBack();\n this.props.closeModal();\n };\n\n public override render() {\n const classNames = classnames(\n \"uifw-modal-frontstage\",\n this.props.isOpen && \"uifw-modal-open\",\n this.props.className\n );\n\n return (\n <>\n <div className={classNames} style={this.props.style}>\n <div className=\"uifw-modal-app-bar\">\n {this.props.backButton ? (\n this.props.backButton\n ) : (\n <ModalFrontstageButton onClick={this._onGoBack} />\n )}\n <Text variant=\"headline\" className=\"uifw-headline\">\n {this.props.title}\n </Text>\n {this.props.appBarRight && (\n <span className=\"uifw-modal-app-bar-right\">\n {this.props.appBarRight}\n </span>\n )}\n </div>\n <div className=\"uifw-modal-stage-content\">{this.props.children}</div>\n </div>\n <div className=\"uifw-modal-frontstage-overlay\" />\n </>\n );\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModalSettingsStage.d.ts","sourceRoot":"","sources":["../../../src/appui-react/frontstage/ModalSettingsStage.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,2BAA2B,CAAC;AACnC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAW/B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAkEhF;;;GAGG;AACH,qBAAa,uBAAwB,YAAW,mBAAmB;IAG9C,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"ModalSettingsStage.d.ts","sourceRoot":"","sources":["../../../src/appui-react/frontstage/ModalSettingsStage.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,2BAA2B,CAAC;AACnC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAW/B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAkEhF;;;GAGG;AACH,qBAAa,uBAAwB,YAAW,mBAAmB;IAG9C,oBAAoB,CAAC,EAAE,MAAM;IAFhD,OAAc,EAAE,SAAoC;IAC7C,KAAK,SAAwD;gBACjD,oBAAoB,CAAC,EAAE,MAAM,YAAA;IACzC,kBAAkB,UAAQ;IACjC,IAAW,OAAO,IAAI,KAAK,CAAC,SAAS,CAIpC;IACD,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAI9B;WAEU,sBAAsB,CAClC,aAAa,EAAE,MAAM,EACrB,YAAY,EAAE,MAAM;WAgBR,iBAAiB,CAAC,kBAAkB,CAAC,EAAE,MAAM;CAiC5D"}
|
|
@@ -40,9 +40,9 @@ function ModalSettingsStage({ initialSettingsTabId, }) {
|
|
|
40
40
|
});
|
|
41
41
|
}, [tabEntries]);
|
|
42
42
|
return (React.createElement("div", { className: "uifw-settings-container" }, tabEntries.length ? (
|
|
43
|
-
// eslint-disable-next-line
|
|
43
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated
|
|
44
44
|
React.createElement(SettingsContainer, { tabs: tabEntries, currentSettingsTab: currentSettingsTab(), settingsManager: UiFramework.settingsManager })) : (
|
|
45
|
-
// eslint-disable-next-line
|
|
45
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated
|
|
46
46
|
React.createElement(Centered, null, translate("settings.noSettingsAvailable")))));
|
|
47
47
|
}
|
|
48
48
|
/** Modal frontstage displaying and editing settings from registered settings providers. See [SettingsManager]($core-react)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModalSettingsStage.js","sourceRoot":"","sources":["../../../src/appui-react/frontstage/ModalSettingsStage.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,2BAA2B,CAAC;AACnC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EACL,SAAS,EACT,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAEzD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,SAAS,kBAAkB,CAAC,EAC1B,oBAAoB,GAGrB;IACC,MAAM,EAAE,SAAS,EAAE,GAAG,cAAc,EAAE,CAAC;IAEvC,MAAM,EAAE,GAAG,WAAW,CAAC,WAAW,CAAC,mBAAmB,EAAE,EAAE,IAAI,MAAM,CAAC;IACrE,MAAM,UAAU,GACd,WAAW,CAAC,WAAW,CAAC,mBAAmB,EAAE,KAAK,IAAI,UAAU,CAAC,OAAO,CAAC;IAC3E,MAAM,UAAU,GAAG,WAAW,CAAC,eAAe,CAAC,iBAAiB,CAC9D,EAAE,EACF,UAAU,CACX,CAAC;IAEF,MAAM,kBAAkB,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QAChD,MAAM,cAAc,GAAG,oBAAoB;YACzC,CAAC,CAAC,oBAAoB,CAAC,WAAW,EAAE;YACpC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;QACtC,IAAI,QAAQ,GAAG,UAAU,CAAC,IAAI,CAC5B,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,cAAc,CACxD,CAAC;QACF,IAAI,CAAC,QAAQ;YACX,QAAQ,GAAG,UAAU,CAAC,IAAI,CACxB,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,cAAc,CACxD,CAAC;QACJ,OAAO,QAAQ,CAAC;IAClB,CAAC,EAAE,CAAC,oBAAoB,EAAE,UAAU,CAAC,CAAC,CAAC;IAEvC,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,OAAO,WAAW,CAAC,WAAW,CAAC,oCAAoC,CAAC,WAAW,CAC7E,CAAC,EAAE,eAAe,EAAE,cAAc,EAAE,EAAE,EAAE;YACtC,IACE,eAAe,YAAY,uBAAuB;gBAClD,cAAc,EACd,CAAC;gBACD,WAAW,CAAC,eAAe,CAAC,sBAAsB,CAAC,cAAc,CAAC,CAAC;YACrE,CAAC;QACH,CAAC,CACF,CAAC;IACJ,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAEjB,OAAO,CACL,6BAAK,SAAS,EAAC,yBAAyB,IACrC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;IACnB,
|
|
1
|
+
{"version":3,"file":"ModalSettingsStage.js","sourceRoot":"","sources":["../../../src/appui-react/frontstage/ModalSettingsStage.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 Frontstage\n */\n\nimport \"./ModalSettingsStage.scss\";\nimport * as React from \"react\";\nimport { ConditionalBooleanValue } from \"@itwin/appui-abstract\";\nimport {\n IModelApp,\n NotifyMessageDetails,\n OutputMessagePriority,\n OutputMessageType,\n} from \"@itwin/core-frontend\";\nimport { Logger } from \"@itwin/core-bentley\";\nimport { Centered, SettingsContainer } from \"@itwin/core-react\";\nimport { SvgSettings } from \"@itwin/itwinui-icons-react\";\nimport type { ModalFrontstageInfo } from \"../framework/FrameworkFrontstages.js\";\nimport { UiFramework } from \"../UiFramework.js\";\nimport { SyncUiEventId } from \"../syncui/SyncUiEventDispatcher.js\";\nimport { StageUsage } from \"./StageUsage.js\";\nimport { BackstageItemUtilities } from \"../backstage/BackstageItemUtilities.js\";\nimport { useTranslation } from \"../hooks/useTranslation.js\";\n\nfunction ModalSettingsStage({\n initialSettingsTabId,\n}: {\n initialSettingsTabId?: string;\n}) {\n const { translate } = useTranslation();\n\n const id = UiFramework.frontstages.activeFrontstageDef?.id ?? \"none\";\n const stageUsage =\n UiFramework.frontstages.activeFrontstageDef?.usage ?? StageUsage.General;\n const tabEntries = UiFramework.settingsManager.getSettingEntries(\n id,\n stageUsage\n );\n\n const currentSettingsTab = React.useCallback(() => {\n const categoryToFind = initialSettingsTabId\n ? initialSettingsTabId.toLowerCase()\n : tabEntries[0].tabId.toLowerCase();\n let foundTab = tabEntries.find(\n (entry) => entry.tabId.toLowerCase() === categoryToFind\n );\n if (!foundTab)\n foundTab = tabEntries.find(\n (entry) => entry.label.toLowerCase() === categoryToFind\n );\n return foundTab;\n }, [initialSettingsTabId, tabEntries]);\n\n React.useEffect(() => {\n return UiFramework.frontstages.onCloseModalFrontstageRequestedEvent.addListener(\n ({ modalFrontstage, stageCloseFunc }) => {\n if (\n modalFrontstage instanceof SettingsModalFrontstage &&\n stageCloseFunc\n ) {\n UiFramework.settingsManager.closeSettingsContainer(stageCloseFunc);\n }\n }\n );\n }, [tabEntries]);\n\n return (\n <div className=\"uifw-settings-container\">\n {tabEntries.length ? (\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n <SettingsContainer\n tabs={tabEntries}\n currentSettingsTab={currentSettingsTab()}\n settingsManager={UiFramework.settingsManager}\n />\n ) : (\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n <Centered>{translate(\"settings.noSettingsAvailable\")}</Centered>\n )}\n </div>\n );\n}\n\n/** Modal frontstage displaying and editing settings from registered settings providers. See [SettingsManager]($core-react)\n * and [SettingsContainer]($core-react).\n * @beta\n */\nexport class SettingsModalFrontstage implements ModalFrontstageInfo {\n public static id = \"appui-react.modalSettingsStage\";\n public title = UiFramework.translate(\"settings.settingsStageLabel\");\n constructor(public initialSettingsTabId?: string) {}\n public notifyCloseRequest = true;\n public get content(): React.ReactNode {\n return (\n <ModalSettingsStage initialSettingsTabId={this.initialSettingsTabId} />\n );\n }\n private static noSettingsAvailable = () =>\n new ConditionalBooleanValue(\n () => 0 === UiFramework.settingsManager.providers.length,\n [SyncUiEventId.SettingsProvidersChanged]\n );\n\n public static getBackstageActionItem(\n groupPriority: number,\n itemPriority: number\n ) {\n return BackstageItemUtilities.createActionItem({\n id: SettingsModalFrontstage.id,\n groupPriority,\n itemPriority,\n execute: () =>\n UiFramework.frontstages.openModalFrontstage(\n new SettingsModalFrontstage()\n ),\n label: UiFramework.translate(\"settings.settingsStageLabel\"),\n icon: <SvgSettings />,\n isHidden: SettingsModalFrontstage.noSettingsAvailable(),\n });\n }\n\n public static showSettingsStage(initialSettingsTab?: string) {\n if (UiFramework.settingsManager.providers.length) {\n // Check to see if it is already open\n if (\n UiFramework.frontstages.activeModalFrontstage &&\n UiFramework.frontstages.activeModalFrontstage instanceof\n SettingsModalFrontstage\n ) {\n if (initialSettingsTab) {\n UiFramework.settingsManager.activateSettingsTab(initialSettingsTab);\n return;\n }\n }\n UiFramework.frontstages.openModalFrontstage(\n new SettingsModalFrontstage(initialSettingsTab)\n );\n } else {\n const detailedMessage = UiFramework.translate(\n \"settings.noSettingsProvidersRegistered\"\n );\n const info = new NotifyMessageDetails(\n OutputMessagePriority.Info,\n UiFramework.translate(\"settings.noSettingsAvailable\"),\n detailedMessage,\n OutputMessageType.Toast\n );\n IModelApp.notifications.outputMessage(info);\n Logger.logInfo(\n UiFramework.loggerCategory(\"SettingsModalFrontstage\"),\n detailedMessage\n );\n }\n }\n}\n"]}
|
|
@@ -16,7 +16,7 @@ import { UiFramework } from "../UiFramework.js";
|
|
|
16
16
|
export class NestedFrontstage {
|
|
17
17
|
/** Command that returns to the previous Frontstage */
|
|
18
18
|
static get backToPreviousFrontstageCommand() {
|
|
19
|
-
// eslint-disable-next-line
|
|
19
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated
|
|
20
20
|
return new CommandItemDef({
|
|
21
21
|
commandId: "backToPreviousFrontstage",
|
|
22
22
|
iconSpec: React.createElement(SvgProgressBackwardCircular, null),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NestedFrontstage.js","sourceRoot":"","sources":["../../../src/appui-react/frontstage/NestedFrontstage.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD;;;GAGG;AACH,MAAM,OAAO,gBAAgB;IAC3B,sDAAsD;IAC/C,MAAM,KAAK,+BAA+B;QAC/C,
|
|
1
|
+
{"version":3,"file":"NestedFrontstage.js","sourceRoot":"","sources":["../../../src/appui-react/frontstage/NestedFrontstage.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD;;;GAGG;AACH,MAAM,OAAO,gBAAgB;IAC3B,sDAAsD;IAC/C,MAAM,KAAK,+BAA+B;QAC/C,4DAA4D;QAC5D,OAAO,IAAI,cAAc,CAAC;YACxB,SAAS,EAAE,0BAA0B;YACrC,QAAQ,EAAE,oBAAC,2BAA2B,OAAG;YACzC,QAAQ,EAAE,+CAA+C;YACzD,OAAO,EAAE,KAAK,IAAI,EAAE;gBAClB,MAAM,WAAW,CAAC,WAAW,CAAC,qBAAqB,EAAE,CAAC;YACxD,CAAC;SACF,CAAC,CAAC;IACL,CAAC;CACF","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 Frontstage\n */\n\nimport * as React from \"react\";\nimport { SvgProgressBackwardCircular } from \"@itwin/itwinui-icons-react\";\nimport { CommandItemDef } from \"../shared/CommandItemDef.js\";\nimport { UiFramework } from \"../UiFramework.js\";\nimport type { NestedFrontstageAppButton } from \"./NestedFrontstageAppButton.js\";\n\n/** Nested Frontstage related classes and commands\n * @public\n * @deprecated in 4.15.0. Use {@link NestedFrontstageAppButton} component instead.\n */\nexport class NestedFrontstage {\n /** Command that returns to the previous Frontstage */\n public static get backToPreviousFrontstageCommand() {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n return new CommandItemDef({\n commandId: \"backToPreviousFrontstage\",\n iconSpec: <SvgProgressBackwardCircular />,\n labelKey: \"UiFramework:commands.backToPreviousFrontstage\",\n execute: async () => {\n await UiFramework.frontstages.closeNestedFrontstage();\n },\n });\n }\n}\n"]}
|
|
@@ -12,7 +12,7 @@ import { FrontstageUtilities } from "./FrontstageUtilities.js";
|
|
|
12
12
|
* @public
|
|
13
13
|
* @deprecated in 4.15.0. Use {@link FrontstageUtilities.createStandardFrontstage} instead.
|
|
14
14
|
*/
|
|
15
|
-
// eslint-disable-next-line
|
|
15
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated
|
|
16
16
|
export class StandardFrontstageProvider extends FrontstageProvider {
|
|
17
17
|
constructor(props) {
|
|
18
18
|
super();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StandardFrontstageProvider.js","sourceRoot":"","sources":["../../../src/appui-react/frontstage/StandardFrontstageProvider.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAOH,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAI7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAmD/D;;;;GAIG;AACH,
|
|
1
|
+
{"version":3,"file":"StandardFrontstageProvider.js","sourceRoot":"","sources":["../../../src/appui-react/frontstage/StandardFrontstageProvider.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAOH,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAI7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAmD/D;;;;GAIG;AACH,4DAA4D;AAC5D,MAAM,OAAO,0BAA2B,SAAQ,kBAAkB;IAChE,YAAoB,KAA8B;QAChD,KAAK,EAAE,CAAC;QADU,UAAK,GAAL,KAAK,CAAyB;IAElD,CAAC;IAED,IAAoB,EAAE;QACpB,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;IACvB,CAAC;IAEe,gBAAgB;QAC9B,MAAM,MAAM,GAAG,mBAAmB,CAAC,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxE,OAAO,MAAM,CAAC;IAChB,CAAC;CACF","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 Frontstage\n */\n\nimport type * as React from \"react\";\nimport type {\n ContentGroupProps,\n ContentGroupProvider,\n} from \"../content/ContentGroup.js\";\nimport { FrontstageProvider } from \"./FrontstageProvider.js\";\nimport type { StagePanelConfig } from \"../stagepanels/StagePanelConfig.js\";\nimport type { StageUsage } from \"./StageUsage.js\";\nimport type { Frontstage } from \"./Frontstage.js\";\nimport { FrontstageUtilities } from \"./FrontstageUtilities.js\";\nimport type { BackstageAppButton } from \"../widgets/BackstageAppButton.js\";\n\n/** Widget panel properties used in a {@link StandardFrontstageProps}.\n * @public\n */\nexport type WidgetPanelProps = Omit<\n StagePanelConfig,\n \"widgets\" | \"runtimeProps\" | \"header\" | \"allowedZones\" | \"panelZones\"\n>;\n\n/** Props of a {@link StandardFrontstageProvider}.\n * @public\n */\nexport interface StandardFrontstageProps {\n /** Id of the frontstage. See {@link Frontstage[\"id\"]}. */\n id: string;\n /** Version of the frontstage. See {@link Frontstage[\"version\"]}. */\n version?: number;\n /** Usage of the frontstage. See {@link Frontstage[\"usage\"]}. */\n usage: StageUsage | string;\n /** Default tool of the frontstage. See {@link Frontstage[\"defaultTool\"]}. */\n defaultTool?: string;\n /** Definition of available content groups or a function that provides them */\n contentGroupProps: ContentGroupProps | ContentGroupProvider;\n /** Specify a corner button. It is typically used to open the backstage, see {@link BackstageAppButton}. */\n cornerButton?: React.ReactNode;\n /** Set to `true` if default navigation aid is not desired. */\n hideNavigationAid?: boolean;\n /** Set to `true` if no tool setting dock is needed. Typically only used in modal stages. */\n hideToolSettings?: boolean;\n /** Set to `true` if no status bar is needed in stage */\n hideStatusBar?: boolean;\n /** Props used to set initial size and state of panel. Defaults to:\n * { sizeSpec: 300, pinned: false, defaultState:StagePanelState.Minimized }\n */\n leftPanelProps?: WidgetPanelProps;\n /** Props used to set initial size and state of panel. Defaults to:\n * { sizeSpec: 90, pinned: false, defaultState:StagePanelState.Minimized }\n */\n topPanelProps?: WidgetPanelProps;\n /** Props used to set initial size and state of panel. Defaults to:\n * { sizeSpec: 200, pinned: true, defaultState:StagePanelState.Open }\n */\n rightPanelProps?: WidgetPanelProps;\n /** Props used to set initial size and state of panel. Defaults to:\n * { sizeSpec: 180, pinned: true, defaultState:StagePanelState.Open }\n */\n bottomPanelProps?: WidgetPanelProps;\n}\n\n/** FrontstageProvider that provides an \"empty\" stage. All tool buttons, statusbar items, and widgets must\n * be provided by one or more item providers, see [[UiItemsProvider]].\n * @public\n * @deprecated in 4.15.0. Use {@link FrontstageUtilities.createStandardFrontstage} instead.\n */\n// eslint-disable-next-line @typescript-eslint/no-deprecated\nexport class StandardFrontstageProvider extends FrontstageProvider {\n constructor(private props: StandardFrontstageProps) {\n super();\n }\n\n public override get id(): string {\n return this.props.id;\n }\n\n public override frontstageConfig(): Frontstage {\n const config = FrontstageUtilities.createStandardFrontstage(this.props);\n return config;\n }\n}\n"]}
|
|
@@ -18,7 +18,7 @@ export function useActiveIModelConnection() {
|
|
|
18
18
|
const [activeConnection, setActiveConnection] = useState(UiFramework.getIModelConnection());
|
|
19
19
|
useEffect(() => {
|
|
20
20
|
return SyncUiEventDispatcher.onSyncUiEvent.addListener((args) => {
|
|
21
|
-
// eslint-disable-next-line
|
|
21
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated
|
|
22
22
|
const eventIds = [SessionStateActionId.SetIModelConnection];
|
|
23
23
|
if (eventIds.some((value) => args.eventIds.has(value.toLowerCase()))) {
|
|
24
24
|
setActiveConnection(UiFramework.getIModelConnection());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useActiveIModelConnection.js","sourceRoot":"","sources":["../../../src/appui-react/hooks/useActiveIModelConnection.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD;;;;GAIG;AACH,MAAM,UAAU,yBAAyB;IACvC,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CACtD,WAAW,CAAC,mBAAmB,EAAE,CAClC,CAAC;IACF,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,qBAAqB,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE;YAC9D,
|
|
1
|
+
{"version":3,"file":"useActiveIModelConnection.js","sourceRoot":"","sources":["../../../src/appui-react/hooks/useActiveIModelConnection.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD;;;;GAIG;AACH,MAAM,UAAU,yBAAyB;IACvC,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CACtD,WAAW,CAAC,mBAAmB,EAAE,CAClC,CAAC;IACF,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,qBAAqB,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE;YAC9D,4DAA4D;YAC5D,MAAM,QAAQ,GAAG,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,CAAC;YAC5D,IACE,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAa,EAAW,EAAE,CACvC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CACvC,EACD,CAAC;gBACD,mBAAmB,CAAC,WAAW,CAAC,mBAAmB,EAAE,CAAC,CAAC;YACzD,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAEvB,OAAO,gBAAgB,CAAC;AAC1B,CAAC","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 Hooks\n */\n\nimport { useEffect, useState } from \"react\";\nimport type { IModelConnection } from \"@itwin/core-frontend\";\nimport { SessionStateActionId } from \"../redux/SessionState.js\";\nimport { SyncUiEventDispatcher } from \"../syncui/SyncUiEventDispatcher.js\";\nimport { UiFramework } from \"../UiFramework.js\";\n\n/** React hook that maintains the active IModelConnection. For this hook to work properly the\n * IModelConnection must be set using UiFramework.setIModelConnection method. This also requires\n * that the host app includes the UiFramework reducer into its Redux store.\n * @public\n */\nexport function useActiveIModelConnection(): IModelConnection | undefined {\n const [activeConnection, setActiveConnection] = useState(\n UiFramework.getIModelConnection()\n );\n useEffect(() => {\n return SyncUiEventDispatcher.onSyncUiEvent.addListener((args) => {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n const eventIds = [SessionStateActionId.SetIModelConnection];\n if (\n eventIds.some((value: string): boolean =>\n args.eventIds.has(value.toLowerCase())\n )\n ) {\n setActiveConnection(UiFramework.getIModelConnection());\n }\n });\n }, [activeConnection]);\n\n return activeConnection;\n}\n"]}
|
|
@@ -9,7 +9,7 @@ import { useEffect, useState } from "react";
|
|
|
9
9
|
import { UiFramework } from "../UiFramework.js";
|
|
10
10
|
/** @internal */
|
|
11
11
|
export function useUiVisibility() {
|
|
12
|
-
// eslint-disable-next-line
|
|
12
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated
|
|
13
13
|
const [uiIsVisible, setUiIsVisible] = useState(UiFramework.getIsUiVisible());
|
|
14
14
|
useEffect(() => {
|
|
15
15
|
return UiFramework.onUiVisibilityChanged.addListener((args) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useUiVisibility.js","sourceRoot":"","sources":["../../../src/appui-react/hooks/useUiVisibility.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,gBAAgB;AAChB,MAAM,UAAU,eAAe;IAC7B,
|
|
1
|
+
{"version":3,"file":"useUiVisibility.js","sourceRoot":"","sources":["../../../src/appui-react/hooks/useUiVisibility.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,gBAAgB;AAChB,MAAM,UAAU,eAAe;IAC7B,4DAA4D;IAC5D,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC,CAAC;IAC7E,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,WAAW,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE;YAC5D,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,OAAO,WAAW,CAAC;AACrB,CAAC","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 Hooks\n */\n\nimport { useEffect, useState } from \"react\";\nimport { UiFramework } from \"../UiFramework.js\";\n\n/** @internal */\nexport function useUiVisibility() {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n const [uiIsVisible, setUiIsVisible] = useState(UiFramework.getIsUiVisible());\n useEffect(() => {\n return UiFramework.onUiVisibilityChanged.addListener((args) => {\n setUiIsVisible(args.visible);\n });\n }, []);\n return uiIsVisible;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InternalKeyboardShortcut.js","sourceRoot":"","sources":["../../../src/appui-react/keyboardshortcut/InternalKeyboardShortcut.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 KeyboardShortcut\n */\n\nimport { ConditionalBooleanValue } from \"@itwin/appui-abstract\";\nimport { CursorInformation } from \"../cursor/CursorInformation.js\";\nimport { KeyboardShortcutMenu } from \"./KeyboardShortcutMenu.js\";\nimport {\n KeyboardShortcut,\n KeyboardShortcutContainer,\n} from \"./KeyboardShortcut.js\";\nimport { SyncUiEventDispatcher } from \"../syncui/SyncUiEventDispatcher.js\";\nimport type { KeyboardShortcutProps } from \"./KeyboardShortcutProps.js\";\nimport type { ListenerType } from \"@itwin/core-react/internal\";\n\n/* eslint-disable
|
|
1
|
+
{"version":3,"file":"InternalKeyboardShortcut.js","sourceRoot":"","sources":["../../../src/appui-react/keyboardshortcut/InternalKeyboardShortcut.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 KeyboardShortcut\n */\n\nimport { ConditionalBooleanValue } from \"@itwin/appui-abstract\";\nimport { CursorInformation } from \"../cursor/CursorInformation.js\";\nimport { KeyboardShortcutMenu } from \"./KeyboardShortcutMenu.js\";\nimport {\n KeyboardShortcut,\n KeyboardShortcutContainer,\n} from \"./KeyboardShortcut.js\";\nimport { SyncUiEventDispatcher } from \"../syncui/SyncUiEventDispatcher.js\";\nimport type { KeyboardShortcutProps } from \"./KeyboardShortcutProps.js\";\nimport type { ListenerType } from \"@itwin/core-react/internal\";\n\n/* eslint-disable @typescript-eslint/no-deprecated */\n\ntype OnShortcutFunc = (shortcut: KeyboardShortcut) => void;\n\n/** Keyboard Shortcut Manager\n * @internal\n */\nexport class InternalKeyboardShortcutManager {\n private static _shortcuts: KeyboardShortcutContainer =\n new KeyboardShortcutContainer();\n\n /** Initialize the Keyboard Shortcut manager\n * @internal\n */\n public static initialize(): void {\n SyncUiEventDispatcher.onSyncUiEvent.addListener(\n InternalKeyboardShortcutManager._handleSyncUiEvent\n );\n }\n\n /** Loads Keyboard Shortcuts into the managed list */\n public static loadShortcuts(shortcutList: KeyboardShortcutProps[]) {\n shortcutList.forEach((shortcutProps: KeyboardShortcutProps) => {\n this.loadShortcut(shortcutProps);\n });\n }\n\n /** Loads a Keyboard Shortcut into the managed list */\n public static loadShortcut(shortcutProps: KeyboardShortcutProps) {\n const shortcut = new KeyboardShortcut(shortcutProps);\n this._shortcuts.registerKey(shortcut.keyMapKey, shortcut);\n }\n\n /** Processes a keystroke and invokes a matching Keyboard Shortcut */\n public static processKey(\n keyboardKey: string,\n isAltKeyPressed: boolean = false,\n isCtrlKeyPressed: boolean = false,\n isShiftKeyPressed: boolean = false\n ): boolean {\n const keyMapKey = KeyboardShortcutContainer.generateKeyMapKey(\n keyboardKey,\n isAltKeyPressed,\n isCtrlKeyPressed,\n isShiftKeyPressed\n );\n\n const shortcut = this.getShortcut(keyMapKey);\n if (shortcut) {\n shortcut.itemPicked();\n return true;\n }\n\n return false;\n }\n\n /** Returns the managed list of Keyboard Shortcuts */\n public static get shortcutContainer(): KeyboardShortcutContainer {\n return this._shortcuts;\n }\n\n /** Returns a Keyboard Shortcut from the managed lists */\n public static getShortcut(keyMapKey: string): KeyboardShortcut | undefined {\n return this._shortcuts.findKey(keyMapKey);\n }\n\n /** Determines if focus is set to Home */\n public static get isFocusOnHome(): boolean {\n const element = document.activeElement as HTMLElement;\n return element && element === document.body;\n }\n\n /** Sets focus to Home */\n public static setFocusToHome(): void {\n const element = document.activeElement as HTMLElement;\n if (element && element !== document.body) {\n element.blur();\n document.body.focus();\n }\n }\n\n /** Displays the Keyboard Shortcuts menu at the cursor */\n public static displayMenu(): void {\n if (this._shortcuts.areKeyboardShortcutsAvailable()) {\n this._shortcuts.showShortcutsMenu();\n }\n }\n\n /** Closes the Keyboard Shortcuts menu */\n public static closeMenu(): void {\n KeyboardShortcutMenu.onKeyboardShortcutMenuEvent.emit({\n menuVisible: false,\n menuX: 0,\n menuY: 0,\n shortcuts: undefined,\n });\n }\n\n /** Returns the cursor X position, which is mouseEvent.pageX. */\n public static get cursorX(): number {\n return CursorInformation.cursorX;\n }\n /** Returns the cursor Y position, which is mouseEvent.pageY. */\n public static get cursorY(): number {\n return CursorInformation.cursorY;\n }\n\n private static _handleSyncUiEvent: ListenerType<\n typeof SyncUiEventDispatcher.onSyncUiEvent\n > = (args) => {\n const updateBooleanValue = (booleanValue: ConditionalBooleanValue) => {\n if (\n SyncUiEventDispatcher.hasEventOfInterest(\n args.eventIds,\n booleanValue.syncEventIds\n )\n )\n booleanValue.refresh();\n };\n const handleForSyncIds = (shortcut: KeyboardShortcut) => {\n if (shortcut.isDisabled instanceof ConditionalBooleanValue)\n updateBooleanValue(shortcut.isDisabled);\n if (shortcut.isHidden instanceof ConditionalBooleanValue)\n updateBooleanValue(shortcut.isHidden);\n };\n\n InternalKeyboardShortcutManager._traverseShortcuts(\n InternalKeyboardShortcutManager._shortcuts.getAvailableKeyboardShortcuts(),\n handleForSyncIds\n );\n };\n\n private static _traverseShortcuts = (\n shortcuts: KeyboardShortcut[],\n callback: OnShortcutFunc\n ) => {\n shortcuts.forEach((shortcut: KeyboardShortcut) => {\n callback(shortcut);\n\n if (shortcut.shortcutContainer.areKeyboardShortcutsAvailable()) {\n const childShortcuts =\n shortcut.shortcutContainer.getAvailableKeyboardShortcuts();\n InternalKeyboardShortcutManager._traverseShortcuts(\n childShortcuts,\n callback\n );\n }\n });\n };\n}\n"]}
|
|
@@ -10,7 +10,7 @@ import { UiError } from "@itwin/appui-abstract";
|
|
|
10
10
|
import { ItemDefBase } from "../shared/ItemDefBase.js";
|
|
11
11
|
import { UiFramework } from "../UiFramework.js";
|
|
12
12
|
import { KeyboardShortcutMenu } from "./KeyboardShortcutMenu.js";
|
|
13
|
-
/* eslint-disable
|
|
13
|
+
/* eslint-disable @typescript-eslint/no-deprecated */
|
|
14
14
|
var FunctionKey;
|
|
15
15
|
(function (FunctionKey) {
|
|
16
16
|
FunctionKey["F1"] = "F1";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KeyboardShortcut.js","sourceRoot":"","sources":["../../../src/appui-react/keyboardshortcut/KeyboardShortcut.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 KeyboardShortcut\n */\n\nimport * as React from \"react\";\nimport { UiError } from \"@itwin/appui-abstract\";\nimport type { ActionButtonItemDef } from \"../shared/ActionButtonItemDef.js\";\nimport { ItemDefBase } from \"../shared/ItemDefBase.js\";\nimport { UiFramework } from \"../UiFramework.js\";\nimport { KeyboardShortcutMenu } from \"./KeyboardShortcutMenu.js\";\nimport type { KeyboardShortcutProps } from \"./KeyboardShortcutProps.js\";\nimport type {\n FrameworkKeyboardShortcut,\n FrameworkKeyboardShortcutContainer,\n} from \"../framework/FrameworkKeyboardShortcuts.js\";\n\n/* eslint-disable deprecation/deprecation */\n\nenum FunctionKey {\n F1 = \"F1\",\n F2 = \"F2\",\n F3 = \"F3\",\n F4 = \"F4\",\n F5 = \"F5\",\n F6 = \"F6\",\n F7 = \"F7\",\n F8 = \"F8\",\n F9 = \"F9\",\n F10 = \"F10\",\n F11 = \"F11\",\n F12 = \"F12\",\n}\n\nenum SpecialKey {\n Home = \"Home\",\n End = \"End\",\n PageUp = \"PageUp\",\n PageDown = \"PageDown\",\n Escape = \"Escape\",\n Delete = \"Delete\",\n Insert = \"Insert\",\n Tab = \"Tab\",\n ArrowLeft = \"ArrowLeft\",\n ArrowRight = \"ArrowRight\",\n ArrowUp = \"ArrowUp\",\n ArrowDown = \"ArrowDown\",\n Enter = \"Enter\",\n Return = \"Enter\", // eslint-disable-line @typescript-eslint/no-duplicate-enum-values\n Space = \" \",\n Backspace = \"Backspace\",\n Clear = \"Clear\",\n Divide = \"Divide\",\n Multiply = \"Multiply\",\n Subtract = \"Subtract\",\n Add = \"Add\",\n Decimal = \"Decimal\",\n}\n\n/** Keyboard Shortcut used to execute an action\n * @public\n * @deprecated in 4.15.0. Use {@link KeyboardShortcutProps} or {@link FrameworkKeyboardShortcut} instead.\n */\nexport class KeyboardShortcut extends ItemDefBase {\n private _key: string;\n private _item?: ActionButtonItemDef;\n private _shortcuts: KeyboardShortcutContainer;\n private _execute?: () => void;\n\n private _isAltKeyRequired: boolean = false;\n private _isCtrlKeyRequired: boolean = false;\n private _isShiftKeyRequired: boolean = false;\n private _isFunctionKey: boolean = false;\n private _isSpecialKey: boolean = false;\n\n constructor(props: KeyboardShortcutProps) {\n super(props);\n\n this._key = props.key;\n\n if (this._key in FunctionKey) this._isFunctionKey = true;\n if (this._key in SpecialKey) this._isSpecialKey = true;\n\n this._shortcuts = new KeyboardShortcutContainer();\n\n if (props.item) {\n this._item = props.item;\n\n // Copy over icon, label & tooltip from the item\n if (!this.iconSpec) this.iconSpec = this._item.iconSpec;\n if (!this.label) this.setLabel(this._item.label);\n if (!this.tooltip) this.setTooltip(this._item.tooltip);\n if (this.isDisabled === undefined)\n this.isDisabled = this._item.isDisabled;\n if (this.isHidden === undefined) this.isHidden = this._item.isHidden;\n } else if (props.execute) {\n this._execute = props.execute;\n } else if (props.shortcuts) {\n props.shortcuts.forEach((childProps: KeyboardShortcutProps) => {\n const shortcut = new KeyboardShortcut(childProps);\n this._shortcuts.registerKey(shortcut.keyMapKey, shortcut);\n });\n } else {\n throw new UiError(\n UiFramework.loggerCategory(\"KeyboardShortcut\"),\n `Either 'item', 'execute' or 'shortcuts' must be specified for '${props.key}' key.`\n );\n }\n\n if (props.isAltKeyRequired !== undefined)\n this._isAltKeyRequired = props.isAltKeyRequired;\n if (props.isCtrlKeyRequired !== undefined)\n this._isCtrlKeyRequired = props.isCtrlKeyRequired;\n if (props.isShiftKeyRequired !== undefined)\n this._isShiftKeyRequired = props.isShiftKeyRequired;\n if (props.iconNode !== undefined) this.iconSpec = <>{props.iconNode}</>;\n }\n\n /** Returns the id for this shortcut */\n public get id(): string {\n return this.keyMapKey;\n }\n\n /** Returns the shortcut container */\n public get shortcutContainer(): KeyboardShortcutContainer {\n return this._shortcuts;\n }\n\n /** Finds a shortcut with a given key in the shortcut's container */\n public getShortcut(mapKey: string): KeyboardShortcut | undefined {\n return this._shortcuts.findKey(mapKey);\n }\n\n /** Returns the shortcut's key map key used as the id */\n public get keyMapKey(): string {\n const keyMapKey = KeyboardShortcutContainer.generateKeyMapKey(\n this.key,\n this._isAltKeyRequired,\n this._isCtrlKeyRequired,\n this._isShiftKeyRequired\n );\n return keyMapKey;\n }\n\n /** Returns the [[ActionButtonItemDef]] associated with this shortcut */\n public get item(): ActionButtonItemDef | undefined {\n return this._item;\n }\n\n /** Called when the [[ActionButtonItemDef]] associated with this shortcut is invoked */\n public itemPicked(): void {\n if (this._shortcuts.areKeyboardShortcutsAvailable()) {\n this._shortcuts.showShortcutsMenu();\n } else {\n setTimeout(() => {\n if (this._item) this._item.execute();\n else if (this._execute) this._execute();\n });\n }\n }\n\n /** Gets the keyboard key */\n public get key(): string {\n return this._key;\n }\n /** Gets whether the Alt key required. */\n public get isAltKeyRequired(): boolean {\n return this._isAltKeyRequired;\n }\n /** Gets whether the Ctrl key required. */\n public get isCtrlKeyRequired(): boolean {\n return this._isCtrlKeyRequired;\n }\n /** Gets whether the Shift key required. */\n public get isShiftKeyRequired(): boolean {\n return this._isShiftKeyRequired;\n }\n /** Gets whether this is a Function key. */\n public get isFunctionKey(): boolean {\n return this._isFunctionKey;\n }\n /** Gets whether this is a Special key. */\n public get isSpecialKey(): boolean {\n return this._isSpecialKey;\n }\n}\n\n/** Keyboard Shortcut Container\n * @public\n * @deprecated in 4.15.0. Use {@link FrameworkKeyboardShortcutContainer} instead.\n */\nexport class KeyboardShortcutContainer {\n private _keyMap: Map<string, KeyboardShortcut> = new Map<\n string,\n KeyboardShortcut\n >();\n private _keyArray: KeyboardShortcut[] = new Array<KeyboardShortcut>();\n\n /** Registers a Keyboard Shortcut associated with a given key in the managed list */\n public registerKey(\n keyMapKey: string,\n inShortcut: KeyboardShortcut\n ): KeyboardShortcut | undefined {\n let shortcut: KeyboardShortcut | undefined;\n\n if ((shortcut = this.findKey(keyMapKey)) === undefined) {\n shortcut = inShortcut;\n this._keyArray.push(shortcut);\n } else {\n const index = this._keyArray.findIndex((value: KeyboardShortcut) => {\n return value.keyMapKey === keyMapKey;\n });\n if (index >= 0) {\n shortcut = inShortcut;\n this._keyArray[index] = shortcut;\n }\n }\n\n if (shortcut) this._keyMap.set(keyMapKey, shortcut);\n\n return shortcut;\n }\n\n /** Finds a Keyboard Shortcut associated with a given key */\n public findKey(keyMapKey: string): KeyboardShortcut | undefined {\n return this._keyMap.get(keyMapKey);\n }\n\n /** Determines if any Keyboard Shortcuts are available in this container */\n public areKeyboardShortcutsAvailable(): boolean {\n return this._keyMap.size !== 0;\n }\n\n /** Empties any Keyboard Shortcuts from this container */\n public emptyData(): void {\n this._keyMap.clear();\n this._keyArray.length = 0;\n }\n\n public getAvailableKeyboardShortcuts(): KeyboardShortcut[] {\n return this._keyArray.slice();\n }\n\n /** Generates a key used for storing and finding the Keyboard Shortcuts in this container */\n public static generateKeyMapKey(\n keyboardKey: string,\n isAltKeyRequired: boolean,\n isCtrlKeyRequired: boolean,\n isShiftKeyRequired: boolean\n ): string {\n let keyMapKey = keyboardKey;\n\n if (isAltKeyRequired) keyMapKey = `Alt+${keyMapKey}`;\n if (isShiftKeyRequired) keyMapKey = `Shift+${keyMapKey}`;\n if (isCtrlKeyRequired) keyMapKey = `Ctrl+${keyMapKey}`;\n\n return keyMapKey;\n }\n\n /** Displays a menu for the Keyboard Shortcuts in this container */\n public showShortcutsMenu() {\n const offset = 8;\n KeyboardShortcutMenu.onKeyboardShortcutMenuEvent.emit({\n menuVisible: true,\n menuX: UiFramework.keyboardShortcuts.cursorX - offset,\n menuY: UiFramework.keyboardShortcuts.cursorY - offset,\n shortcuts: this.getAvailableKeyboardShortcuts(),\n });\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"KeyboardShortcut.js","sourceRoot":"","sources":["../../../src/appui-react/keyboardshortcut/KeyboardShortcut.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 KeyboardShortcut\n */\n\nimport * as React from \"react\";\nimport { UiError } from \"@itwin/appui-abstract\";\nimport type { ActionButtonItemDef } from \"../shared/ActionButtonItemDef.js\";\nimport { ItemDefBase } from \"../shared/ItemDefBase.js\";\nimport { UiFramework } from \"../UiFramework.js\";\nimport { KeyboardShortcutMenu } from \"./KeyboardShortcutMenu.js\";\nimport type { KeyboardShortcutProps } from \"./KeyboardShortcutProps.js\";\nimport type {\n FrameworkKeyboardShortcut,\n FrameworkKeyboardShortcutContainer,\n} from \"../framework/FrameworkKeyboardShortcuts.js\";\n\n/* eslint-disable @typescript-eslint/no-deprecated */\n\nenum FunctionKey {\n F1 = \"F1\",\n F2 = \"F2\",\n F3 = \"F3\",\n F4 = \"F4\",\n F5 = \"F5\",\n F6 = \"F6\",\n F7 = \"F7\",\n F8 = \"F8\",\n F9 = \"F9\",\n F10 = \"F10\",\n F11 = \"F11\",\n F12 = \"F12\",\n}\n\nenum SpecialKey {\n Home = \"Home\",\n End = \"End\",\n PageUp = \"PageUp\",\n PageDown = \"PageDown\",\n Escape = \"Escape\",\n Delete = \"Delete\",\n Insert = \"Insert\",\n Tab = \"Tab\",\n ArrowLeft = \"ArrowLeft\",\n ArrowRight = \"ArrowRight\",\n ArrowUp = \"ArrowUp\",\n ArrowDown = \"ArrowDown\",\n Enter = \"Enter\",\n Return = \"Enter\", // eslint-disable-line @typescript-eslint/no-duplicate-enum-values\n Space = \" \",\n Backspace = \"Backspace\",\n Clear = \"Clear\",\n Divide = \"Divide\",\n Multiply = \"Multiply\",\n Subtract = \"Subtract\",\n Add = \"Add\",\n Decimal = \"Decimal\",\n}\n\n/** Keyboard Shortcut used to execute an action\n * @public\n * @deprecated in 4.15.0. Use {@link KeyboardShortcutProps} or {@link FrameworkKeyboardShortcut} instead.\n */\nexport class KeyboardShortcut extends ItemDefBase {\n private _key: string;\n private _item?: ActionButtonItemDef;\n private _shortcuts: KeyboardShortcutContainer;\n private _execute?: () => void;\n\n private _isAltKeyRequired: boolean = false;\n private _isCtrlKeyRequired: boolean = false;\n private _isShiftKeyRequired: boolean = false;\n private _isFunctionKey: boolean = false;\n private _isSpecialKey: boolean = false;\n\n constructor(props: KeyboardShortcutProps) {\n super(props);\n\n this._key = props.key;\n\n if (this._key in FunctionKey) this._isFunctionKey = true;\n if (this._key in SpecialKey) this._isSpecialKey = true;\n\n this._shortcuts = new KeyboardShortcutContainer();\n\n if (props.item) {\n this._item = props.item;\n\n // Copy over icon, label & tooltip from the item\n if (!this.iconSpec) this.iconSpec = this._item.iconSpec;\n if (!this.label) this.setLabel(this._item.label);\n if (!this.tooltip) this.setTooltip(this._item.tooltip);\n if (this.isDisabled === undefined)\n this.isDisabled = this._item.isDisabled;\n if (this.isHidden === undefined) this.isHidden = this._item.isHidden;\n } else if (props.execute) {\n this._execute = props.execute;\n } else if (props.shortcuts) {\n props.shortcuts.forEach((childProps: KeyboardShortcutProps) => {\n const shortcut = new KeyboardShortcut(childProps);\n this._shortcuts.registerKey(shortcut.keyMapKey, shortcut);\n });\n } else {\n throw new UiError(\n UiFramework.loggerCategory(\"KeyboardShortcut\"),\n `Either 'item', 'execute' or 'shortcuts' must be specified for '${props.key}' key.`\n );\n }\n\n if (props.isAltKeyRequired !== undefined)\n this._isAltKeyRequired = props.isAltKeyRequired;\n if (props.isCtrlKeyRequired !== undefined)\n this._isCtrlKeyRequired = props.isCtrlKeyRequired;\n if (props.isShiftKeyRequired !== undefined)\n this._isShiftKeyRequired = props.isShiftKeyRequired;\n if (props.iconNode !== undefined) this.iconSpec = <>{props.iconNode}</>;\n }\n\n /** Returns the id for this shortcut */\n public get id(): string {\n return this.keyMapKey;\n }\n\n /** Returns the shortcut container */\n public get shortcutContainer(): KeyboardShortcutContainer {\n return this._shortcuts;\n }\n\n /** Finds a shortcut with a given key in the shortcut's container */\n public getShortcut(mapKey: string): KeyboardShortcut | undefined {\n return this._shortcuts.findKey(mapKey);\n }\n\n /** Returns the shortcut's key map key used as the id */\n public get keyMapKey(): string {\n const keyMapKey = KeyboardShortcutContainer.generateKeyMapKey(\n this.key,\n this._isAltKeyRequired,\n this._isCtrlKeyRequired,\n this._isShiftKeyRequired\n );\n return keyMapKey;\n }\n\n /** Returns the [[ActionButtonItemDef]] associated with this shortcut */\n public get item(): ActionButtonItemDef | undefined {\n return this._item;\n }\n\n /** Called when the [[ActionButtonItemDef]] associated with this shortcut is invoked */\n public itemPicked(): void {\n if (this._shortcuts.areKeyboardShortcutsAvailable()) {\n this._shortcuts.showShortcutsMenu();\n } else {\n setTimeout(() => {\n if (this._item) this._item.execute();\n else if (this._execute) this._execute();\n });\n }\n }\n\n /** Gets the keyboard key */\n public get key(): string {\n return this._key;\n }\n /** Gets whether the Alt key required. */\n public get isAltKeyRequired(): boolean {\n return this._isAltKeyRequired;\n }\n /** Gets whether the Ctrl key required. */\n public get isCtrlKeyRequired(): boolean {\n return this._isCtrlKeyRequired;\n }\n /** Gets whether the Shift key required. */\n public get isShiftKeyRequired(): boolean {\n return this._isShiftKeyRequired;\n }\n /** Gets whether this is a Function key. */\n public get isFunctionKey(): boolean {\n return this._isFunctionKey;\n }\n /** Gets whether this is a Special key. */\n public get isSpecialKey(): boolean {\n return this._isSpecialKey;\n }\n}\n\n/** Keyboard Shortcut Container\n * @public\n * @deprecated in 4.15.0. Use {@link FrameworkKeyboardShortcutContainer} instead.\n */\nexport class KeyboardShortcutContainer {\n private _keyMap: Map<string, KeyboardShortcut> = new Map<\n string,\n KeyboardShortcut\n >();\n private _keyArray: KeyboardShortcut[] = new Array<KeyboardShortcut>();\n\n /** Registers a Keyboard Shortcut associated with a given key in the managed list */\n public registerKey(\n keyMapKey: string,\n inShortcut: KeyboardShortcut\n ): KeyboardShortcut | undefined {\n let shortcut: KeyboardShortcut | undefined;\n\n if ((shortcut = this.findKey(keyMapKey)) === undefined) {\n shortcut = inShortcut;\n this._keyArray.push(shortcut);\n } else {\n const index = this._keyArray.findIndex((value: KeyboardShortcut) => {\n return value.keyMapKey === keyMapKey;\n });\n if (index >= 0) {\n shortcut = inShortcut;\n this._keyArray[index] = shortcut;\n }\n }\n\n if (shortcut) this._keyMap.set(keyMapKey, shortcut);\n\n return shortcut;\n }\n\n /** Finds a Keyboard Shortcut associated with a given key */\n public findKey(keyMapKey: string): KeyboardShortcut | undefined {\n return this._keyMap.get(keyMapKey);\n }\n\n /** Determines if any Keyboard Shortcuts are available in this container */\n public areKeyboardShortcutsAvailable(): boolean {\n return this._keyMap.size !== 0;\n }\n\n /** Empties any Keyboard Shortcuts from this container */\n public emptyData(): void {\n this._keyMap.clear();\n this._keyArray.length = 0;\n }\n\n public getAvailableKeyboardShortcuts(): KeyboardShortcut[] {\n return this._keyArray.slice();\n }\n\n /** Generates a key used for storing and finding the Keyboard Shortcuts in this container */\n public static generateKeyMapKey(\n keyboardKey: string,\n isAltKeyRequired: boolean,\n isCtrlKeyRequired: boolean,\n isShiftKeyRequired: boolean\n ): string {\n let keyMapKey = keyboardKey;\n\n if (isAltKeyRequired) keyMapKey = `Alt+${keyMapKey}`;\n if (isShiftKeyRequired) keyMapKey = `Shift+${keyMapKey}`;\n if (isCtrlKeyRequired) keyMapKey = `Ctrl+${keyMapKey}`;\n\n return keyMapKey;\n }\n\n /** Displays a menu for the Keyboard Shortcuts in this container */\n public showShortcutsMenu() {\n const offset = 8;\n KeyboardShortcutMenu.onKeyboardShortcutMenuEvent.emit({\n menuVisible: true,\n menuX: UiFramework.keyboardShortcuts.cursorX - offset,\n menuY: UiFramework.keyboardShortcuts.cursorY - offset,\n shortcuts: this.getAvailableKeyboardShortcuts(),\n });\n }\n}\n"]}
|