@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":"InternalSyncUiEventDispatcher.js","sourceRoot":"","sources":["../../../src/appui-react/syncui/InternalSyncUiEventDispatcher.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAGhD;;;GAGG;AACH,MAAM,OAAO,6BAA6B;IASxC;QACE,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;QACnC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,
|
|
1
|
+
{"version":3,"file":"InternalSyncUiEventDispatcher.js","sourceRoot":"","sources":["../../../src/appui-react/syncui/InternalSyncUiEventDispatcher.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 SyncUi\n */\n\nimport { BeUiEvent } from \"@itwin/core-bentley\";\nimport type { UiSyncEventArgs } from \"./UiSyncEvent.js\";\n\n/** This class is used to send eventIds to interested UI components so the component can determine if it needs\n * to refresh its display by calling setState on itself.\n * @internal\n */\nexport class InternalSyncUiEventDispatcher {\n private _syncEventTimerId: number | undefined;\n private _eventIds: Set<string>;\n private _eventIdAdded;\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n private _uiSyncEvent: BeUiEvent<UiSyncEventArgs>;\n private _timeoutPeriod;\n private _secondaryTimeoutPeriod;\n\n constructor() {\n this._eventIds = new Set<string>();\n this._eventIdAdded = false;\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n this._uiSyncEvent = new BeUiEvent<UiSyncEventArgs>();\n this._timeoutPeriod = 100;\n this._secondaryTimeoutPeriod = this._timeoutPeriod / 2;\n }\n\n /** @internal - used for testing only */\n\n public setTimeoutPeriod(period: number): void {\n this._timeoutPeriod = period;\n this._secondaryTimeoutPeriod = Math.floor(this._timeoutPeriod / 2);\n if (this._secondaryTimeoutPeriod < 1) this._secondaryTimeoutPeriod = 1;\n if (this._syncEventTimerId) {\n window.clearTimeout(this._syncEventTimerId);\n this._syncEventTimerId = undefined;\n }\n if (this._eventIds) this._eventIds.clear();\n\n this._eventIdAdded = false;\n }\n\n /** The current timeout period */\n public get timeoutPeriod(): number {\n return this._timeoutPeriod;\n }\n /** Return set of event ids that will be sent to listeners/. */\n public get syncEventIds(): Set<string> {\n return this._eventIds;\n }\n\n /** Return UiSyncEvent so callers can register an event callback. */\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n public get onSyncUiEvent(): BeUiEvent<UiSyncEventArgs> {\n return this._uiSyncEvent;\n }\n\n /** Immediately trigger sync event processing. */\n public dispatchImmediateSyncUiEvent(eventId: string): void {\n const eventIds = new Set<string>();\n eventIds.add(eventId.toLowerCase());\n this.onSyncUiEvent.emit({ eventIds });\n }\n\n /** Save eventId in Set for processing. */\n public dispatchSyncUiEvent(eventId: string): void {\n if (0 === this._timeoutPeriod) {\n return;\n }\n\n this.syncEventIds.add(eventId.toLowerCase());\n if (!this._syncEventTimerId) {\n // if there is not a timer active, create one\n this._syncEventTimerId = window.setTimeout(() => {\n this.checkForAdditionalIds();\n }, this._timeoutPeriod);\n } else {\n this._eventIdAdded = true;\n }\n }\n\n /** Save multiple eventIds in Set for processing. */\n public dispatchSyncUiEvents(eventIds: string[]): void {\n if (0 === this._timeoutPeriod) {\n return;\n }\n\n eventIds.forEach((id) => this.syncEventIds.add(id.toLowerCase()));\n if (!this._syncEventTimerId) {\n // if there is not a timer active, create one\n this._syncEventTimerId = window.setTimeout(() => {\n this.checkForAdditionalIds();\n }, this._timeoutPeriod);\n } else {\n this._eventIdAdded = true;\n }\n }\n\n /** Trigger registered event processing when timer has expired and no addition eventId are added. */\n public checkForAdditionalIds() {\n if (!this._eventIdAdded) {\n if (this._syncEventTimerId) {\n window.clearTimeout(this._syncEventTimerId);\n this._syncEventTimerId = undefined;\n }\n this._eventIdAdded = false;\n if (this.syncEventIds.size > 0) {\n const eventIds = new Set<string>();\n this.syncEventIds.forEach((value) => eventIds.add(value));\n this._eventIds.clear();\n this.onSyncUiEvent.emit({ eventIds });\n }\n return;\n }\n\n if (this._syncEventTimerId) {\n window.clearTimeout(this._syncEventTimerId);\n this._syncEventTimerId = undefined;\n }\n this._eventIdAdded = false;\n // if events have been added before the initial timer expired wait half that time to see if events are still being added.\n this._syncEventTimerId = window.setTimeout(() => {\n this.checkForAdditionalIds();\n }, this._secondaryTimeoutPeriod);\n }\n\n /** Checks to see if an eventId of interest is contained in the set of eventIds */\n public hasEventOfInterest(eventIds: Set<string>, idsOfInterest: string[]) {\n if (\n idsOfInterest.length > 0 &&\n idsOfInterest.some((value: string): boolean =>\n eventIds.has(value.toLowerCase())\n )\n )\n return true;\n return false;\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SyncUiEventDispatcher.d.ts","sourceRoot":"","sources":["../../../src/appui-react/syncui/SyncUiEventDispatcher.ts"],"names":[],"mappings":"AAIA;;GAEG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAG7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"SyncUiEventDispatcher.d.ts","sourceRoot":"","sources":["../../../src/appui-react/syncui/SyncUiEventDispatcher.ts"],"names":[],"mappings":"AAIA;;GAEG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAG7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAGpD;;GAEG;AACH,oBAAY,aAAa;IACvB,yCAAyC;IACzC,0BAA0B,+BAA+B;IACzD,qCAAqC;IACrC,uBAAuB,4BAA4B;IACnD,8EAA8E;IAC9E,oBAAoB,yBAAyB;IAC7C,iEAAiE;IACjE,qBAAqB,0BAA0B;IAC/C,kCAAkC;IAClC,cAAc,mBAAmB;IACjC,4CAA4C;IAC5C,sBAAsB,2BAA2B;IACjD;;OAEG;IACH,uBAAuB,4BAA4B;IACnD,kCAAkC;IAClC,oBAAoB,yBAAyB;IAC7C,yEAAyE;IACzE,eAAe,oBAAoB;IACnC,oDAAoD;IACpD,sBAAsB,2BAA2B;IACjD,gDAAgD;IAChD,kBAAkB,uBAAuB;IACzC,0CAA0C;IAC1C,sBAAsB,2BAA2B;IACjD,+DAA+D;IAC/D,aAAa,kBAAkB;IAC/B,yCAAyC;IACzC,kBAAkB,uBAAuB;IACzC,oEAAoE;IACpE,mBAAmB,wBAAwB;IAC3C,kFAAkF;IAClF,wBAAwB,6BAA6B;IACrD,mFAAmF;IACnF,gBAAgB,qBAAqB;IACrC,mEAAmE;IACnE,qBAAqB,0BAA0B;IAC/C,4BAA4B,6BAA6B;IACzD,6DAA6D;IAC7D,uBAAuB,4BAA4B;IACnD,mBAAmB,wBAAwB;CAC5C;AAED;;;GAGG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAuC;IACxE,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAA2B;IAC1D,OAAO,CAAC,MAAM,CAAC,0BAA0B,CAA2B;IACpE,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAmB;WAEtC,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAIpD,+DAA+D;IAC/D,WAAkB,YAAY,IAAI,GAAG,CAAC,MAAM,CAAC,CAE5C;IAED,oEAAoE;IAEpE,WAAkB,aAAa,IAAI,WAAW,CAE7C;IAED,iDAAiD;WACnC,4BAA4B,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAMjE,0CAA0C;WAC5B,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAWxD,oDAAoD;WACtC,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI;IAU5D,kFAAkF;WACpE,kBAAkB,CAC9B,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,EACrB,aAAa,EAAE,MAAM,EAAE;IAQzB,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAMlC,OAAO,CAAC,MAAM,CAAC,+BAA+B;IAM9C,OAAO,CAAC,MAAM,CAAC,4BAA4B;IAM3C,gFAAgF;WAClE,UAAU;IA4FxB,qFAAqF;WACvE,qBAAqB,CAAC,gBAAgB,EAAE,gBAAgB;IAMtE,0FAA0F;WAC5E,0BAA0B,CAAC,gBAAgB,EAAE,gBAAgB;CAiB5E"}
|
|
@@ -9,11 +9,6 @@ import { Logger } from "@itwin/core-bentley";
|
|
|
9
9
|
import { IModelApp } from "@itwin/core-frontend";
|
|
10
10
|
import { UiFramework } from "../UiFramework.js";
|
|
11
11
|
import { InternalSyncUiEventDispatcher } from "./InternalSyncUiEventDispatcher.js";
|
|
12
|
-
// cSpell:ignore activecontentchanged backstageevent contentlayoutactivated contentcontrolactivated
|
|
13
|
-
// cSpell:ignore frontstageactivated modalfrontstagechanged modaldialogchanged
|
|
14
|
-
// cSpell:ignore navigationaidactivated toolactivated widgetstatechanged frontstageactivating
|
|
15
|
-
// cSpell:ignore frontstageready activeviewportchanged selectionsetchanged viewstatechanged
|
|
16
|
-
// cSpell:ignore accudrawcompassmodechanged accudrawrotationchanged
|
|
17
12
|
/** Event Id used to sync UI components. Used to refresh visibility or enable state of control.
|
|
18
13
|
* @public
|
|
19
14
|
*/
|
|
@@ -75,7 +70,7 @@ export class SyncUiEventDispatcher {
|
|
|
75
70
|
return SyncUiEventDispatcher._uiEventDispatcher.syncEventIds;
|
|
76
71
|
}
|
|
77
72
|
/** Return SyncUiEvent so callers can register an event callback. */
|
|
78
|
-
// eslint-disable-next-line
|
|
73
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated
|
|
79
74
|
static get onSyncUiEvent() {
|
|
80
75
|
return SyncUiEventDispatcher._uiEventDispatcher.onSyncUiEvent;
|
|
81
76
|
}
|
|
@@ -117,10 +112,10 @@ export class SyncUiEventDispatcher {
|
|
|
117
112
|
this._unregisterFuncs.forEach((unregister) => unregister());
|
|
118
113
|
this._unregisterFuncs = [];
|
|
119
114
|
this._unregisterFuncs.push(
|
|
120
|
-
// eslint-disable-next-line
|
|
115
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated
|
|
121
116
|
UiFramework.frontstages.onContentControlActivatedEvent.addListener(() => {
|
|
122
117
|
SyncUiEventDispatcher.dispatchSyncUiEvent(
|
|
123
|
-
// eslint-disable-next-line
|
|
118
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated
|
|
124
119
|
SyncUiEventId.ContentControlActivated);
|
|
125
120
|
}), UiFramework.frontstages.onContentLayoutActivatedEvent.addListener(() => {
|
|
126
121
|
SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(SyncUiEventId.ContentLayoutActivated);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SyncUiEventDispatcher.js","sourceRoot":"","sources":["../../../src/appui-react/syncui/SyncUiEventDispatcher.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 SyncUi\n */\n\nimport { Logger } from \"@itwin/core-bentley\";\nimport type { IModelConnection } from \"@itwin/core-frontend\";\nimport { IModelApp } from \"@itwin/core-frontend\";\nimport { UiFramework } from \"../UiFramework.js\";\nimport type { UiSyncEvent } from \"./UiSyncEvent.js\";\nimport { InternalSyncUiEventDispatcher } from \"./InternalSyncUiEventDispatcher.js\";\n\n// cSpell:ignore activecontentchanged backstageevent contentlayoutactivated contentcontrolactivated\n// cSpell:ignore frontstageactivated modalfrontstagechanged modaldialogchanged\n// cSpell:ignore navigationaidactivated toolactivated widgetstatechanged frontstageactivating\n// cSpell:ignore frontstageready activeviewportchanged selectionsetchanged viewstatechanged\n// cSpell:ignore accudrawcompassmodechanged accudrawrotationchanged\n\n/** Event Id used to sync UI components. Used to refresh visibility or enable state of control.\n * @public\n */\nexport enum SyncUiEventId {\n /** AccuDraw compass mode has changed. */\n AccuDrawCompassModeChanged = \"accudrawcompassmodechanged\",\n /** AccuDraw rotation has changed. */\n AccuDrawRotationChanged = \"accudrawrotationchanged\",\n /** The active content as maintained by the ContentViewManager has changed. */\n ActiveContentChanged = \"activecontentchanged\",\n /** The active view maintained by the ViewManager has changed. */\n ActiveViewportChanged = \"activeviewportchanged\",\n /** Backstage has been toggled. */\n BackstageEvent = \"backstageevent\",\n /** A Content Layout has been activated. */\n ContentLayoutActivated = \"contentlayoutactivated\",\n /** A Content Control maintained by UiFramework.frontstages has been activated.\n * @deprecated in 4.16.0. Use {@link SyncUiEventId.ActiveContentChanged} instead.\n */\n ContentControlActivated = \"contentcontrolactivated\",\n /** A Frontstage is activating. */\n FrontstageActivating = \"frontstageactivating\",\n /** A Frontstage has been activated and the content has been assigned. */\n FrontstageReady = \"frontstageready\",\n /** A Modal Frontstage has been opened or closed. */\n ModalFrontstageChanged = \"modalfrontstagechanged\",\n /** A Modal Dialog has been opened or closed. */\n ModalDialogChanged = \"modaldialogchanged\",\n /** A NavigationAid has been activated. */\n NavigationAidActivated = \"navigationaidactivated\",\n /** An InteractiveTool has been activated via the ToolAdmin. */\n ToolActivated = \"toolactivated\",\n /** The state of a Widget has changed. */\n WidgetStateChanged = \"widgetstatechanged\",\n /** The SelectionSet for the active IModelConnection has changed. */\n SelectionSetChanged = \"selectionsetchanged\",\n /** The list of settings providers registered with SettingsManager has changed. */\n SettingsProvidersChanged = \"settingsproviderschanged\",\n /** The current view state has changed (used by view undo/redo toolbar buttons). */\n ViewStateChanged = \"viewstatechanged\",\n /** The current object the reads and write UI State has changed. */\n UiStateStorageChanged = \"uistatestoragechanged\",\n ShowHideManagerSettingChange = \"show-hide-setting-change\",\n /** The list of feature overrides applied has been changed */\n FeatureOverridesChanged = \"featureoverrideschanged\",\n ViewedModelsChanged = \"viewedmodelschanged\",\n}\n\n/** This class is used to send eventIds to interested UI components so the component can determine if it needs\n * to refresh its display by calling setState on itself.\n * @public\n */\nexport class SyncUiEventDispatcher {\n private static _uiEventDispatcher = new InternalSyncUiEventDispatcher();\n private static _unregisterFuncs = new Array<() => void>();\n private static _connectionUnregisterFuncs = new Array<() => void>();\n private static _iModelConnection?: IModelConnection;\n\n public static setTimeoutPeriod(period: number): void {\n SyncUiEventDispatcher._uiEventDispatcher.setTimeoutPeriod(period);\n }\n\n /** Return set of event ids that will be sent to listeners/. */\n public static get syncEventIds(): Set<string> {\n return SyncUiEventDispatcher._uiEventDispatcher.syncEventIds;\n }\n\n /** Return SyncUiEvent so callers can register an event callback. */\n // eslint-disable-next-line deprecation/deprecation\n public static get onSyncUiEvent(): UiSyncEvent {\n return SyncUiEventDispatcher._uiEventDispatcher.onSyncUiEvent;\n }\n\n /** Immediately trigger sync event processing. */\n public static dispatchImmediateSyncUiEvent(eventId: string): void {\n SyncUiEventDispatcher._uiEventDispatcher.dispatchImmediateSyncUiEvent(\n eventId\n );\n }\n\n /** Save eventId in Set for processing. */\n public static dispatchSyncUiEvent(eventId: string): void {\n if (0 === SyncUiEventDispatcher._uiEventDispatcher.timeoutPeriod) {\n Logger.logInfo(\n UiFramework.loggerCategory(\"SyncUiEventDispatcher\"),\n `[dispatchSyncUiEvent] not processed because timeoutPeriod=0`\n );\n return;\n }\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(eventId);\n }\n\n /** Save multiple eventIds in Set for processing. */\n public static dispatchSyncUiEvents(eventIds: string[]): void {\n if (0 === SyncUiEventDispatcher._uiEventDispatcher.timeoutPeriod) {\n Logger.logInfo(\n UiFramework.loggerCategory(\"SyncUiEventDispatcher\"),\n `[dispatchSyncUiEvents] not processed because _timeoutPeriod=0`\n );\n }\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvents(eventIds);\n }\n\n /** Checks to see if an eventId of interest is contained in the set of eventIds */\n public static hasEventOfInterest(\n eventIds: Set<string>,\n idsOfInterest: string[]\n ) {\n return SyncUiEventDispatcher._uiEventDispatcher.hasEventOfInterest(\n eventIds,\n idsOfInterest\n );\n }\n\n private static _dispatchViewChange() {\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(\n SyncUiEventId.ViewStateChanged\n );\n }\n\n private static _dispatchFeatureOverridesChange() {\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(\n SyncUiEventId.FeatureOverridesChanged\n );\n }\n\n private static _dispatchViewedModelsChanged() {\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(\n SyncUiEventId.ViewedModelsChanged\n );\n }\n\n /** Initializes the Monitoring of Events that trigger dispatching sync events */\n public static initialize() {\n // clear any registered listeners - this should only be encountered in unit test scenarios\n this._unregisterFuncs.forEach((unregister) => unregister());\n this._unregisterFuncs = [];\n\n this._unregisterFuncs.push(\n // eslint-disable-next-line deprecation/deprecation\n UiFramework.frontstages.onContentControlActivatedEvent.addListener(() => {\n SyncUiEventDispatcher.dispatchSyncUiEvent(\n // eslint-disable-next-line deprecation/deprecation\n SyncUiEventId.ContentControlActivated\n );\n }),\n UiFramework.frontstages.onContentLayoutActivatedEvent.addListener(() => {\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(\n SyncUiEventId.ContentLayoutActivated\n );\n }),\n UiFramework.frontstages.onFrontstageActivatedEvent.addListener(() => {\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(\n SyncUiEventId.FrontstageActivating\n );\n }),\n UiFramework.frontstages.onFrontstageReadyEvent.addListener(() => {\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(\n SyncUiEventId.FrontstageReady\n );\n }),\n UiFramework.frontstages.onModalFrontstageChangedEvent.addListener(() => {\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(\n SyncUiEventId.ModalFrontstageChanged\n );\n }),\n UiFramework.frontstages.onNavigationAidActivatedEvent.addListener(() => {\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(\n SyncUiEventId.NavigationAidActivated\n );\n }),\n UiFramework.frontstages.onToolActivatedEvent.addListener(() => {\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(\n SyncUiEventId.ToolActivated\n );\n }),\n UiFramework.frontstages.onWidgetStateChangedEvent.addListener(() => {\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(\n SyncUiEventId.WidgetStateChanged\n );\n }),\n UiFramework.backstage.onToggled.addListener(() => {\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(\n SyncUiEventId.BackstageEvent\n );\n }),\n UiFramework.content.onActiveContentChangedEvent.addListener(() => {\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(\n SyncUiEventId.ActiveContentChanged\n );\n }),\n IModelApp.viewManager.onSelectedViewportChanged.addListener((args) => {\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(\n SyncUiEventId.ActiveViewportChanged\n );\n\n // if this is the first view being opened up start the default tool so tool admin is happy.\n if (undefined === args.previous) {\n void IModelApp.toolAdmin.startDefaultTool();\n } else {\n args.previous.onViewChanged.removeListener(\n SyncUiEventDispatcher._dispatchViewChange\n );\n args.previous.onFeatureOverridesChanged.removeListener(\n SyncUiEventDispatcher._dispatchFeatureOverridesChange\n );\n args.previous.onViewedModelsChanged.removeListener(\n SyncUiEventDispatcher._dispatchViewedModelsChanged\n );\n }\n if (args.current) {\n args.current.onViewChanged.addListener(\n SyncUiEventDispatcher._dispatchViewChange\n );\n args.current.onFeatureOverridesChanged.addListener(\n SyncUiEventDispatcher._dispatchFeatureOverridesChange\n );\n args.current.onViewedModelsChanged.addListener(\n SyncUiEventDispatcher._dispatchViewedModelsChanged\n );\n }\n })\n );\n }\n\n /** This should be called by IModelApp when the active IModelConnection is closed. */\n public static clearConnectionEvents(iModelConnection: IModelConnection) {\n if (this._iModelConnection !== iModelConnection) return;\n this._connectionUnregisterFuncs.forEach((unregister) => unregister());\n this._connectionUnregisterFuncs = [];\n }\n\n /** This should be called by IModelApp when the active IModelConnection is established. */\n public static initializeConnectionEvents(iModelConnection: IModelConnection) {\n this._iModelConnection &&\n this.clearConnectionEvents(this._iModelConnection);\n this._iModelConnection = iModelConnection;\n\n this._connectionUnregisterFuncs.push(\n iModelConnection.selectionSet.onChanged.addListener(() => {\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(\n SyncUiEventId.SelectionSetChanged\n );\n }),\n iModelConnection.selectionSet.onChanged.addListener((ev) => {\n const numSelected = ev.set.elements.size;\n UiFramework.setNumItemsSelected(numSelected);\n })\n );\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"SyncUiEventDispatcher.js","sourceRoot":"","sources":["../../../src/appui-react/syncui/SyncUiEventDispatcher.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 SyncUi\n */\n\nimport { Logger } from \"@itwin/core-bentley\";\nimport type { IModelConnection } from \"@itwin/core-frontend\";\nimport { IModelApp } from \"@itwin/core-frontend\";\nimport { UiFramework } from \"../UiFramework.js\";\nimport type { UiSyncEvent } from \"./UiSyncEvent.js\";\nimport { InternalSyncUiEventDispatcher } from \"./InternalSyncUiEventDispatcher.js\";\n\n/** Event Id used to sync UI components. Used to refresh visibility or enable state of control.\n * @public\n */\nexport enum SyncUiEventId {\n /** AccuDraw compass mode has changed. */\n AccuDrawCompassModeChanged = \"accudrawcompassmodechanged\",\n /** AccuDraw rotation has changed. */\n AccuDrawRotationChanged = \"accudrawrotationchanged\",\n /** The active content as maintained by the ContentViewManager has changed. */\n ActiveContentChanged = \"activecontentchanged\",\n /** The active view maintained by the ViewManager has changed. */\n ActiveViewportChanged = \"activeviewportchanged\",\n /** Backstage has been toggled. */\n BackstageEvent = \"backstageevent\",\n /** A Content Layout has been activated. */\n ContentLayoutActivated = \"contentlayoutactivated\",\n /** A Content Control maintained by UiFramework.frontstages has been activated.\n * @deprecated in 4.16.0. Use {@link SyncUiEventId.ActiveContentChanged} instead.\n */\n ContentControlActivated = \"contentcontrolactivated\",\n /** A Frontstage is activating. */\n FrontstageActivating = \"frontstageactivating\",\n /** A Frontstage has been activated and the content has been assigned. */\n FrontstageReady = \"frontstageready\",\n /** A Modal Frontstage has been opened or closed. */\n ModalFrontstageChanged = \"modalfrontstagechanged\",\n /** A Modal Dialog has been opened or closed. */\n ModalDialogChanged = \"modaldialogchanged\",\n /** A NavigationAid has been activated. */\n NavigationAidActivated = \"navigationaidactivated\",\n /** An InteractiveTool has been activated via the ToolAdmin. */\n ToolActivated = \"toolactivated\",\n /** The state of a Widget has changed. */\n WidgetStateChanged = \"widgetstatechanged\",\n /** The SelectionSet for the active IModelConnection has changed. */\n SelectionSetChanged = \"selectionsetchanged\",\n /** The list of settings providers registered with SettingsManager has changed. */\n SettingsProvidersChanged = \"settingsproviderschanged\",\n /** The current view state has changed (used by view undo/redo toolbar buttons). */\n ViewStateChanged = \"viewstatechanged\",\n /** The current object the reads and write UI State has changed. */\n UiStateStorageChanged = \"uistatestoragechanged\",\n ShowHideManagerSettingChange = \"show-hide-setting-change\",\n /** The list of feature overrides applied has been changed */\n FeatureOverridesChanged = \"featureoverrideschanged\",\n ViewedModelsChanged = \"viewedmodelschanged\",\n}\n\n/** This class is used to send eventIds to interested UI components so the component can determine if it needs\n * to refresh its display by calling setState on itself.\n * @public\n */\nexport class SyncUiEventDispatcher {\n private static _uiEventDispatcher = new InternalSyncUiEventDispatcher();\n private static _unregisterFuncs = new Array<() => void>();\n private static _connectionUnregisterFuncs = new Array<() => void>();\n private static _iModelConnection?: IModelConnection;\n\n public static setTimeoutPeriod(period: number): void {\n SyncUiEventDispatcher._uiEventDispatcher.setTimeoutPeriod(period);\n }\n\n /** Return set of event ids that will be sent to listeners/. */\n public static get syncEventIds(): Set<string> {\n return SyncUiEventDispatcher._uiEventDispatcher.syncEventIds;\n }\n\n /** Return SyncUiEvent so callers can register an event callback. */\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n public static get onSyncUiEvent(): UiSyncEvent {\n return SyncUiEventDispatcher._uiEventDispatcher.onSyncUiEvent;\n }\n\n /** Immediately trigger sync event processing. */\n public static dispatchImmediateSyncUiEvent(eventId: string): void {\n SyncUiEventDispatcher._uiEventDispatcher.dispatchImmediateSyncUiEvent(\n eventId\n );\n }\n\n /** Save eventId in Set for processing. */\n public static dispatchSyncUiEvent(eventId: string): void {\n if (0 === SyncUiEventDispatcher._uiEventDispatcher.timeoutPeriod) {\n Logger.logInfo(\n UiFramework.loggerCategory(\"SyncUiEventDispatcher\"),\n `[dispatchSyncUiEvent] not processed because timeoutPeriod=0`\n );\n return;\n }\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(eventId);\n }\n\n /** Save multiple eventIds in Set for processing. */\n public static dispatchSyncUiEvents(eventIds: string[]): void {\n if (0 === SyncUiEventDispatcher._uiEventDispatcher.timeoutPeriod) {\n Logger.logInfo(\n UiFramework.loggerCategory(\"SyncUiEventDispatcher\"),\n `[dispatchSyncUiEvents] not processed because _timeoutPeriod=0`\n );\n }\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvents(eventIds);\n }\n\n /** Checks to see if an eventId of interest is contained in the set of eventIds */\n public static hasEventOfInterest(\n eventIds: Set<string>,\n idsOfInterest: string[]\n ) {\n return SyncUiEventDispatcher._uiEventDispatcher.hasEventOfInterest(\n eventIds,\n idsOfInterest\n );\n }\n\n private static _dispatchViewChange() {\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(\n SyncUiEventId.ViewStateChanged\n );\n }\n\n private static _dispatchFeatureOverridesChange() {\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(\n SyncUiEventId.FeatureOverridesChanged\n );\n }\n\n private static _dispatchViewedModelsChanged() {\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(\n SyncUiEventId.ViewedModelsChanged\n );\n }\n\n /** Initializes the Monitoring of Events that trigger dispatching sync events */\n public static initialize() {\n // clear any registered listeners - this should only be encountered in unit test scenarios\n this._unregisterFuncs.forEach((unregister) => unregister());\n this._unregisterFuncs = [];\n\n this._unregisterFuncs.push(\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n UiFramework.frontstages.onContentControlActivatedEvent.addListener(() => {\n SyncUiEventDispatcher.dispatchSyncUiEvent(\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n SyncUiEventId.ContentControlActivated\n );\n }),\n UiFramework.frontstages.onContentLayoutActivatedEvent.addListener(() => {\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(\n SyncUiEventId.ContentLayoutActivated\n );\n }),\n UiFramework.frontstages.onFrontstageActivatedEvent.addListener(() => {\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(\n SyncUiEventId.FrontstageActivating\n );\n }),\n UiFramework.frontstages.onFrontstageReadyEvent.addListener(() => {\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(\n SyncUiEventId.FrontstageReady\n );\n }),\n UiFramework.frontstages.onModalFrontstageChangedEvent.addListener(() => {\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(\n SyncUiEventId.ModalFrontstageChanged\n );\n }),\n UiFramework.frontstages.onNavigationAidActivatedEvent.addListener(() => {\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(\n SyncUiEventId.NavigationAidActivated\n );\n }),\n UiFramework.frontstages.onToolActivatedEvent.addListener(() => {\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(\n SyncUiEventId.ToolActivated\n );\n }),\n UiFramework.frontstages.onWidgetStateChangedEvent.addListener(() => {\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(\n SyncUiEventId.WidgetStateChanged\n );\n }),\n UiFramework.backstage.onToggled.addListener(() => {\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(\n SyncUiEventId.BackstageEvent\n );\n }),\n UiFramework.content.onActiveContentChangedEvent.addListener(() => {\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(\n SyncUiEventId.ActiveContentChanged\n );\n }),\n IModelApp.viewManager.onSelectedViewportChanged.addListener((args) => {\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(\n SyncUiEventId.ActiveViewportChanged\n );\n\n // if this is the first view being opened up start the default tool so tool admin is happy.\n if (undefined === args.previous) {\n void IModelApp.toolAdmin.startDefaultTool();\n } else {\n args.previous.onViewChanged.removeListener(\n SyncUiEventDispatcher._dispatchViewChange\n );\n args.previous.onFeatureOverridesChanged.removeListener(\n SyncUiEventDispatcher._dispatchFeatureOverridesChange\n );\n args.previous.onViewedModelsChanged.removeListener(\n SyncUiEventDispatcher._dispatchViewedModelsChanged\n );\n }\n if (args.current) {\n args.current.onViewChanged.addListener(\n SyncUiEventDispatcher._dispatchViewChange\n );\n args.current.onFeatureOverridesChanged.addListener(\n SyncUiEventDispatcher._dispatchFeatureOverridesChange\n );\n args.current.onViewedModelsChanged.addListener(\n SyncUiEventDispatcher._dispatchViewedModelsChanged\n );\n }\n })\n );\n }\n\n /** This should be called by IModelApp when the active IModelConnection is closed. */\n public static clearConnectionEvents(iModelConnection: IModelConnection) {\n if (this._iModelConnection !== iModelConnection) return;\n this._connectionUnregisterFuncs.forEach((unregister) => unregister());\n this._connectionUnregisterFuncs = [];\n }\n\n /** This should be called by IModelApp when the active IModelConnection is established. */\n public static initializeConnectionEvents(iModelConnection: IModelConnection) {\n this._iModelConnection &&\n this.clearConnectionEvents(this._iModelConnection);\n this._iModelConnection = iModelConnection;\n\n this._connectionUnregisterFuncs.push(\n iModelConnection.selectionSet.onChanged.addListener(() => {\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(\n SyncUiEventId.SelectionSetChanged\n );\n }),\n iModelConnection.selectionSet.onChanged.addListener((ev) => {\n const numSelected = ev.set.elements.size;\n UiFramework.setNumItemsSelected(numSelected);\n })\n );\n }\n}\n"]}
|
|
@@ -10,7 +10,7 @@ import { BeUiEvent } from "@itwin/core-bentley";
|
|
|
10
10
|
* @public
|
|
11
11
|
* @deprecated in 4.13.0. This class should not be used by applications to instantiate objects.
|
|
12
12
|
*/
|
|
13
|
-
// eslint-disable-next-line
|
|
13
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated
|
|
14
14
|
export class UiSyncEvent extends BeUiEvent {
|
|
15
15
|
}
|
|
16
16
|
//# sourceMappingURL=UiSyncEvent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UiSyncEvent.js","sourceRoot":"","sources":["../../../src/appui-react/syncui/UiSyncEvent.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAUhD;;;GAGG;AACH,
|
|
1
|
+
{"version":3,"file":"UiSyncEvent.js","sourceRoot":"","sources":["../../../src/appui-react/syncui/UiSyncEvent.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAUhD;;;GAGG;AACH,4DAA4D;AAC5D,MAAM,OAAO,WAAY,SAAQ,SAA0B;CAAG","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 SyncUi\n */\n\nimport { BeUiEvent } from \"@itwin/core-bentley\";\n\n/** UiSync Event arguments. Contains a set of lower case event Ids.\n * @public\n * @deprecated in 4.13.0. Event args are inferred from a listener. If explicit type is needed use a type helper.\n */\nexport interface UiSyncEventArgs {\n eventIds: Set<string>;\n}\n\n/** UiSync Event class.\n * @public\n * @deprecated in 4.13.0. This class should not be used by applications to instantiate objects.\n */\n// eslint-disable-next-line @typescript-eslint/no-deprecated\nexport class UiSyncEvent extends BeUiEvent<UiSyncEventArgs> {}\n"]}
|
|
@@ -43,7 +43,7 @@ const highContrastColorThemes = [
|
|
|
43
43
|
*/
|
|
44
44
|
export function ThemeManager({ children, ...props }) {
|
|
45
45
|
const reduxTheme = useReduxFrameworkState((state) => {
|
|
46
|
-
// eslint-disable-next-line
|
|
46
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated
|
|
47
47
|
return state?.configurableUiState.theme;
|
|
48
48
|
});
|
|
49
49
|
const theme = props.theme ?? reduxTheme ?? SYSTEM_PREFERRED_COLOR_THEME;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThemeManager.js","sourceRoot":"","sources":["../../../src/appui-react/theme/ThemeManager.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,qBAAqB,CAAC;AAC7B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,EAAE,UAAU,EAAE,4BAA4B,EAAE,MAAM,cAAc,CAAC;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAG9E,sCAAsC;AACtC,MAAM,wBAAwB,GAA+B;IAC3D,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,OAAO;IAC3B,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,OAAO;IACvC,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM;IACzB,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,MAAM;IACrC,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,IAAI;IACzB,EAAE,EAAE,IAAI,EAAE,0CAA0C;CACrD,CAAC;AAEF,0CAA0C;AAC1C,MAAM,uBAAuB,GAAa;IACxC,UAAU,CAAC,gBAAgB;IAC3B,UAAU,CAAC,iBAAiB;CAC7B,CAAC;AAQF;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,YAAY,CAAC,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAqB;IACpE,MAAM,UAAU,GAAG,sBAAsB,CAAC,CAAC,KAAK,EAAE,EAAE;QAClD,
|
|
1
|
+
{"version":3,"file":"ThemeManager.js","sourceRoot":"","sources":["../../../src/appui-react/theme/ThemeManager.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,qBAAqB,CAAC;AAC7B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,EAAE,UAAU,EAAE,4BAA4B,EAAE,MAAM,cAAc,CAAC;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAG9E,sCAAsC;AACtC,MAAM,wBAAwB,GAA+B;IAC3D,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,OAAO;IAC3B,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,OAAO;IACvC,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM;IACzB,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,MAAM;IACrC,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,IAAI;IACzB,EAAE,EAAE,IAAI,EAAE,0CAA0C;CACrD,CAAC;AAEF,0CAA0C;AAC1C,MAAM,uBAAuB,GAAa;IACxC,UAAU,CAAC,gBAAgB;IAC3B,UAAU,CAAC,iBAAiB;CAC7B,CAAC;AAQF;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,YAAY,CAAC,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAqB;IACpE,MAAM,UAAU,GAAG,sBAAsB,CAAC,CAAC,KAAK,EAAE,EAAE;QAClD,4DAA4D;QAC5D,OAAO,KAAK,EAAE,mBAAmB,CAAC,KAAK,CAAC;IAC1C,CAAC,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,UAAU,IAAI,4BAA4B,CAAC;IAExE,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,QAAQ,CAAC,eAAe,CAAC,YAAY,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IAC7D,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,MAAM,aAAa,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;IACtD,MAAM,YAAY,GAAG,uBAAuB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE7D,OAAO,CACL,oBAAC,aAAa,IACZ,SAAS,EAAC,WAAW,EACrB,KAAK,EAAE,aAAa,IAAI,SAAS,EACjC,YAAY,EAAE,EAAE,YAAY,EAAE,yBACV,eAAe,EACnC,UAAU,EAAE,IAAI,IAEf,QAAQ,CACK,CACjB,CAAC;AACJ,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 State\n */\n\nimport \"./ThemeManager.scss\";\nimport * as React from \"react\";\nimport type { ThemeType } from \"@itwin/itwinui-react\";\nimport { ThemeProvider } from \"@itwin/itwinui-react\";\nimport type { ThemeId } from \"./ThemeId.js\";\nimport { ColorTheme, SYSTEM_PREFERRED_COLOR_THEME } from \"./ThemeId.js\";\nimport { useReduxFrameworkState } from \"../uistate/useReduxFrameworkState.js\";\nimport type { ConfigurableUiContent } from \"../configurableui/ConfigurableUiContent.js\";\n\n/** Map of ColorTheme to ThemeType. */\nconst colorThemeToThemeTypeMap: { [x: string]: ThemeType } = {\n [ColorTheme.Light]: \"light\",\n [ColorTheme.HighContrastLight]: \"light\",\n [ColorTheme.Dark]: \"dark\",\n [ColorTheme.HighContrastDark]: \"dark\",\n [ColorTheme.System]: \"os\",\n os: \"os\", // handle \"os\" for backwards compatibility\n};\n\n/** List of high contrast color themes. */\nconst highContrastColorThemes: string[] = [\n ColorTheme.HighContrastDark,\n ColorTheme.HighContrastLight,\n];\n\ninterface ThemeManagerProps {\n children?: React.ReactNode;\n /** Uses redux store as a fallback. Defaults to {@link SYSTEM_PREFERRED_COLOR_THEME}. */\n theme?: ThemeId;\n}\n\n/** `ThemeManager` handles setting color themes. Note that this component will\n * affect the entire application by setting the internal `data-theme` attribute.\n * Component children are wrapped with `v2` and `v3` iTwinUI `ThemeProvider` components, so all nodes within the tree will have the same theme, and should be using iTwinUI 2.x or later.\n * Specified `ThemeId` will be mapped to iTwinUI `theme` accordingly.\n * Any other string will only apply the `data-theme` attribute to the underlying `html` element\n * and `ThemeProvider` theme will be set to `inherit`, in this case the application is\n * responsible for setting the theme, i.e. by using iTwinUI css variables.\n *\n * This component should wrap {@link ConfigurableUiContent}.\n *\n * ```tsx\n * <ThemeManager>\n * <ConfigurableUiContent />\n * </ThemeManager>\n * ```\n * @public\n */\nexport function ThemeManager({ children, ...props }: ThemeManagerProps) {\n const reduxTheme = useReduxFrameworkState((state) => {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n return state?.configurableUiState.theme;\n });\n const theme = props.theme ?? reduxTheme ?? SYSTEM_PREFERRED_COLOR_THEME;\n\n React.useEffect(() => {\n document.documentElement.setAttribute(\"data-theme\", theme);\n }, [theme]);\n\n const providerTheme = colorThemeToThemeTypeMap[theme];\n const highContrast = highContrastColorThemes.includes(theme);\n\n return (\n <ThemeProvider\n className=\"uifw-root\"\n theme={providerTheme ?? \"inherit\"}\n themeOptions={{ highContrast }}\n data-root-container=\"appui-root-id\"\n includeCss={true}\n >\n {children}\n </ThemeProvider>\n );\n}\n"]}
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
import { ActionButtonItemDef } from "../shared/ActionButtonItemDef.js";
|
|
9
9
|
import { ItemList, ItemMap } from "../shared/ItemMap.js";
|
|
10
10
|
import { PropsHelper } from "../utils/PropsHelper.js";
|
|
11
|
-
/* eslint-disable
|
|
11
|
+
/* eslint-disable @typescript-eslint/no-deprecated */
|
|
12
12
|
/** An Item that opens a group of items.
|
|
13
13
|
* @public
|
|
14
14
|
* @deprecated in 4.15.0. Use specific item types instead, i.e. {@link ToolbarGroupItem}.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GroupItem.js","sourceRoot":"","sources":["../../../src/appui-react/toolbar/GroupItem.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAOH,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAIvE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAGtD,
|
|
1
|
+
{"version":3,"file":"GroupItem.js","sourceRoot":"","sources":["../../../src/appui-react/toolbar/GroupItem.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAOH,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAIvE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAGtD,qDAAqD;AAErD;;;GAGG;AACH,MAAM,OAAO,YAAa,SAAQ,mBAAmB;IAgBnD,YACE,cAA8B,EAC9B,cAAmC;QAEnC,KAAK,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;QAXxC,gBAAgB;QACT,aAAQ,GAAY,KAAK,CAAC;QAIzB,gBAAW,GAAmD,EAAE,CAAC;QAQvE,IAAI,CAAC,OAAO;YACV,cAAc,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACrE,IAAI,cAAc,CAAC,OAAO;YAAE,IAAI,CAAC,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC;aAC7D,CAAC;YACJ,YAAY,CAAC,IAAI,EAAE,CAAC;YACpB,IAAI,CAAC,OAAO,GAAG,YAAY,CAAC,aAAa,GAAG,YAAY,CAAC,IAAI,CAAC;QAChE,CAAC;QAED,IAAI,CAAC,aAAa;YAChB,cAAc,CAAC,aAAa,KAAK,SAAS;gBACxC,CAAC,CAAC,cAAc,CAAC,aAAa;gBAC9B,CAAC,CAAC,CAAC,CAAC;QACR,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC,aAAa,CAC1C,cAAc,CAAC,UAAU,EACzB,cAAc,CAAC,aAAa,CAC7B,CAAC;QACF,IAAI,CAAC,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC;QAClC,IAAI,CAAC,mBAAmB,GAAG,cAAc,CAAC,mBAAmB,CAAC;IAChE,CAAC;IAED,IAAW,EAAE;QACX,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,gCAAgC;IAChC,IAAW,UAAU;QACnB,OAAO,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACzD,CAAC;IAED;;OAEG;IACI,aAAa,CAAC,CAAiD;QACpE,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;IACvB,CAAC;IAEM,YAAY,CAAC,KAAe;QACjC,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,KAAK;YAAE,OAAO;QAErC,IAAI,CAAC,SAAS,GAAG,IAAI,QAAQ,EAAE,CAAC;QAChC,IAAI,CAAC,QAAQ,GAAG,IAAI,OAAO,EAAE,CAAC;QAE9B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAgB,EAAE,EAAE;YAClC,MAAM,EAAE,GAAW,IAAI,CAAC,EAAE,CAAC;YAC3B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC7B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,WAAW,CAAC,EAAU;QAC3B,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC/B,CAAC;IAEM,cAAc,CAAC,KAAa;QACjC,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAED,IAAW,SAAS;QAClB,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC;IACrC,CAAC;IAEe,OAAO,KAAU,CAAC;;AAlFnB,iBAAI,GAAG,CAAC,AAAJ,CAAK;AACV,0BAAa,GAAG,QAAQ,AAAX,CAAY","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 Item\n */\n\nimport type {\n ConditionalStringValue,\n OnItemExecutedFunc,\n StringGetter,\n} from \"@itwin/appui-abstract\";\nimport { ActionButtonItemDef } from \"../shared/ActionButtonItemDef.js\";\nimport type { AnyItemDef } from \"../shared/AnyItemDef.js\";\nimport type { GroupItemProps } from \"../shared/GroupItemProps.js\";\nimport type { ItemDefBase } from \"../shared/ItemDefBase.js\";\nimport { ItemList, ItemMap } from \"../shared/ItemMap.js\";\nimport { PropsHelper } from \"../utils/PropsHelper.js\";\nimport type { ToolbarGroupItem } from \"./ToolbarItem.js\";\n\n/* eslint-disable @typescript-eslint/no-deprecated */\n\n/** An Item that opens a group of items.\n * @public\n * @deprecated in 4.15.0. Use specific item types instead, i.e. {@link ToolbarGroupItem}.\n */\nexport class GroupItemDef extends ActionButtonItemDef {\n private static _sId = 0;\n public static groupIdPrefix = \"Group-\";\n\n public groupId: string;\n public itemsInColumn: number;\n public items: AnyItemDef[];\n public defaultActiveItemId?: string;\n\n /** @internal */\n public overflow: boolean = false;\n\n private _itemList!: ItemList;\n private _itemMap!: ItemMap;\n private _panelLabel: string | StringGetter | ConditionalStringValue = \"\";\n\n constructor(\n groupItemProps: GroupItemProps,\n onItemExecuted?: OnItemExecutedFunc\n ) {\n super(groupItemProps, onItemExecuted);\n\n this.groupId =\n groupItemProps.groupId !== undefined ? groupItemProps.groupId : \"\";\n if (groupItemProps.groupId) this.groupId = groupItemProps.groupId;\n else {\n GroupItemDef._sId++;\n this.groupId = GroupItemDef.groupIdPrefix + GroupItemDef._sId;\n }\n\n this.itemsInColumn =\n groupItemProps.itemsInColumn !== undefined\n ? groupItemProps.itemsInColumn\n : 7;\n this._panelLabel = PropsHelper.getStringSpec(\n groupItemProps.panelLabel,\n groupItemProps.panelLabelKey\n );\n this.items = groupItemProps.items;\n this.defaultActiveItemId = groupItemProps.defaultActiveItemId;\n }\n\n public get id(): string {\n return this.groupId;\n }\n\n /** Get the panelLabel string */\n public get panelLabel(): string {\n return PropsHelper.getStringFromSpec(this._panelLabel);\n }\n\n /** Set the panelLabel.\n * @param v A string or a function to get the string.\n */\n public setPanelLabel(v: string | StringGetter | ConditionalStringValue) {\n this._panelLabel = v;\n }\n\n public resolveItems(force?: boolean): void {\n if (this._itemList && !force) return;\n\n this._itemList = new ItemList();\n this._itemMap = new ItemMap();\n\n this.items.map((item: AnyItemDef) => {\n const id: string = item.id;\n this._itemList.addItem(item);\n this._itemMap.set(id, item);\n });\n }\n\n public getItemById(id: string): ItemDefBase | undefined {\n return this._itemMap.get(id);\n }\n\n public getItemByIndex(index: number): ItemDefBase | undefined {\n return this._itemList.items[index];\n }\n\n public get itemCount(): number {\n return this._itemList.items.length;\n }\n\n public override execute(): void {}\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Toolbar.js","sourceRoot":"","sources":["../../../src/appui-react/toolbar/Toolbar.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,EAAE,SAAS,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAE3E,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAkCxE;;GAEG;AACH,MAAM,UAAU,OAAO,CAAC,KAAmB;IACzC,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC/C,MAAM,cAAc,GAAG,gBAAgB,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAC9D,OAAO,CACL,oBAAC,gBAAgB,IACf,SAAS,EAAE,SAAS,EACpB,cAAc,EAAE,cAAc,EAC9B,KAAK,EAAE,KAAK,CAAC,KAAK,GAClB,CACH,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,SAAoC;IACvD,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,SAAS,CAAC,MAAM;YACnB,OAAO,QAAQ,CAAC;QAClB,KAAK,SAAS,CAAC,IAAI;YACjB,OAAO,MAAM,CAAC;QAChB,KAAK,SAAS,CAAC,KAAK;YAClB,OAAO,OAAO,CAAC;QACjB,KAAK,SAAS,CAAC,GAAG;YAChB,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,gBAAgB,CAAC,SAAyC;IACjE,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,qBAAqB,CAAC,GAAG;YAC5B,OAAO,KAAK,CAAC;QACf,KAAK,qBAAqB,CAAC,KAAK;YAC9B,OAAO,OAAO,CAAC;IACnB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,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 Toolbar\n */\n\nimport * as React from \"react\";\nimport type { OnItemExecutedFunc } from \"@itwin/appui-abstract\";\nimport type { CommonProps, NoChildrenProps } from \"@itwin/core-react\";\nimport type { ToolbarOpacitySetting } from \"@itwin/components-react\";\nimport { Direction, ToolbarPanelAlignment } from \"@itwin/components-react\";\nimport type { ToolbarItem } from \"./ToolbarItem.js\";\nimport { Toolbar as ToolGroupToolbar } from \"./new-toolbars/Toolbar.js\";\n\n/**\n * Properties of [[Toolbar.enableOverflow]] component.\n * @public\n */\nexport interface OverflowToolbarOptions {\n /** Describes to which direction the overflow popup panels are expanded if overflow is enabled. Defaults to: [[Direction.Right]] */\n overflowExpandsTo?: Direction;\n}\n\n/** Properties of [[Toolbar]] component.\n * @public\n */\n// eslint-disable-next-line
|
|
1
|
+
{"version":3,"file":"Toolbar.js","sourceRoot":"","sources":["../../../src/appui-react/toolbar/Toolbar.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,EAAE,SAAS,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAE3E,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAkCxE;;GAEG;AACH,MAAM,UAAU,OAAO,CAAC,KAAmB;IACzC,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC/C,MAAM,cAAc,GAAG,gBAAgB,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAC9D,OAAO,CACL,oBAAC,gBAAgB,IACf,SAAS,EAAE,SAAS,EACpB,cAAc,EAAE,cAAc,EAC9B,KAAK,EAAE,KAAK,CAAC,KAAK,GAClB,CACH,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,SAAoC;IACvD,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,SAAS,CAAC,MAAM;YACnB,OAAO,QAAQ,CAAC;QAClB,KAAK,SAAS,CAAC,IAAI;YACjB,OAAO,MAAM,CAAC;QAChB,KAAK,SAAS,CAAC,KAAK;YAClB,OAAO,OAAO,CAAC;QACjB,KAAK,SAAS,CAAC,GAAG;YAChB,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,gBAAgB,CAAC,SAAyC;IACjE,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,qBAAqB,CAAC,GAAG;YAC5B,OAAO,KAAK,CAAC;QACf,KAAK,qBAAqB,CAAC,KAAK;YAC9B,OAAO,OAAO,CAAC;IACnB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,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 Toolbar\n */\n\nimport * as React from \"react\";\nimport type { OnItemExecutedFunc } from \"@itwin/appui-abstract\";\nimport type { CommonProps, NoChildrenProps } from \"@itwin/core-react\";\nimport type { ToolbarOpacitySetting } from \"@itwin/components-react\";\nimport { Direction, ToolbarPanelAlignment } from \"@itwin/components-react\";\nimport type { ToolbarItem } from \"./ToolbarItem.js\";\nimport { Toolbar as ToolGroupToolbar } from \"./new-toolbars/Toolbar.js\";\n\n/**\n * Properties of [[Toolbar.enableOverflow]] component.\n * @public\n */\nexport interface OverflowToolbarOptions {\n /** Describes to which direction the overflow popup panels are expanded if overflow is enabled. Defaults to: [[Direction.Right]] */\n overflowExpandsTo?: Direction;\n}\n\n/** Properties of [[Toolbar]] component.\n * @public\n */\n// eslint-disable-next-line @typescript-eslint/no-deprecated\nexport interface ToolbarProps extends CommonProps, NoChildrenProps {\n /** Describes to which direction the popup panels are expanded, also defines the orientation of the toolbar (Top/Bottom will create an horizontal toolbar, Left/Right will create a vertical toolbar). Defaults to: [[Direction.Bottom]] */\n expandsTo?: Direction;\n /** Describes if items that do not fit available space should move to an expandable panel. Defaults to: false */\n enableOverflow?: boolean | OverflowToolbarOptions;\n /** Definitions for items of the toolbar. Items are expected to be already sorted by group and item. */\n items: ToolbarItem[];\n /** Describes how expanded panels are aligned. Defaults to: [[ToolbarPanelAlignment.Start]] */\n panelAlignment?: ToolbarPanelAlignment;\n /** Use drag interaction to open popups with nested toolbar buttons. */\n useDragInteraction?: boolean;\n /** Determines whether to use mouse proximity to alter the opacity of the toolbar */\n toolbarOpacitySetting?: ToolbarOpacitySetting;\n /** Optional function to call on any item execution */\n onItemExecuted?: OnItemExecutedFunc;\n /** Optional function to call on any KeyDown events processed by toolbar */\n onKeyDown?: (e: React.KeyboardEvent) => void;\n}\n\n/** Component that displays toolbar items.\n * @beta\n */\nexport function Toolbar(props: ToolbarProps) {\n const expandsTo = toDirection(props.expandsTo);\n const panelAlignment = toPanelAlignment(props.panelAlignment);\n return (\n <ToolGroupToolbar\n expandsTo={expandsTo}\n panelAlignment={panelAlignment}\n items={props.items}\n />\n );\n}\n\nfunction toDirection(direction: ToolbarProps[\"expandsTo\"]) {\n switch (direction) {\n case Direction.Bottom:\n return \"bottom\";\n case Direction.Left:\n return \"left\";\n case Direction.Right:\n return \"right\";\n case Direction.Top:\n return \"top\";\n }\n return undefined;\n}\n\nfunction toPanelAlignment(alignment: ToolbarProps[\"panelAlignment\"]) {\n switch (alignment) {\n case ToolbarPanelAlignment.End:\n return \"end\";\n case ToolbarPanelAlignment.Start:\n return \"start\";\n }\n return undefined;\n}\n"]}
|
|
@@ -107,10 +107,10 @@ function combineItems(defaultItems, addonItems) {
|
|
|
107
107
|
return sortItems(items);
|
|
108
108
|
}
|
|
109
109
|
const useProximityOpacitySetting = () => {
|
|
110
|
-
const [proximityOpacity, setProximityOpacity] = React.useState(UiFramework.visibility.useProximityOpacity // eslint-disable-line
|
|
110
|
+
const [proximityOpacity, setProximityOpacity] = React.useState(UiFramework.visibility.useProximityOpacity // eslint-disable-line @typescript-eslint/no-deprecated
|
|
111
111
|
);
|
|
112
112
|
React.useEffect(() => {
|
|
113
|
-
UiFramework.onUiVisibilityChanged.addListener(() => setProximityOpacity(UiFramework.visibility.useProximityOpacity) // eslint-disable-line
|
|
113
|
+
UiFramework.onUiVisibilityChanged.addListener(() => setProximityOpacity(UiFramework.visibility.useProximityOpacity) // eslint-disable-line @typescript-eslint/no-deprecated
|
|
114
114
|
);
|
|
115
115
|
}, []);
|
|
116
116
|
return proximityOpacity;
|
|
@@ -127,7 +127,7 @@ const useSnapWidgetOpacitySetting = () => {
|
|
|
127
127
|
* @note Overrides `isActive` property based on the active tool id.
|
|
128
128
|
* @public
|
|
129
129
|
*/
|
|
130
|
-
// eslint-disable-next-line
|
|
130
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated
|
|
131
131
|
export function ToolbarComposer(props) {
|
|
132
132
|
const { usage, orientation } = props;
|
|
133
133
|
// process items from addon UI providers
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolbarComposer.js","sourceRoot":"","sources":["../../../src/appui-react/toolbar/ToolbarComposer.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 Toolbar\n */\n\nimport * as React from \"react\";\nimport {\n Direction,\n Orientation,\n ToolbarOpacitySetting,\n ToolbarPanelAlignment,\n} from \"@itwin/components-react\";\nimport { Logger, ProcessDetector } from \"@itwin/core-bentley\";\nimport { UiFramework } from \"../UiFramework.js\";\nimport { ToolbarDragInteractionContext } from \"./DragInteraction.js\";\nimport type {\n ToolbarActionItem,\n ToolbarGroupItem,\n ToolbarItem,\n} from \"./ToolbarItem.js\";\nimport {\n isToolbarActionItem,\n isToolbarGroupItem,\n ToolbarOrientation,\n ToolbarUsage,\n} from \"./ToolbarItem.js\";\nimport { Toolbar } from \"./Toolbar.js\";\nimport { useActiveToolIdSynchedItems } from \"./useActiveToolIdSynchedItems.js\";\nimport { useActiveStageProvidedToolbarItems } from \"./useActiveStageProvidedToolbarItems.js\";\n\nfunction addItemToSpecifiedParentGroup<T extends ToolbarItem>(\n items: readonly T[],\n groupChildren: Array<ToolbarActionItem | ToolbarGroupItem>\n): T[] {\n const outItems: T[] = [];\n for (const toolbarItem of items) {\n if (!isToolbarGroupItem(toolbarItem)) {\n outItems.push(toolbarItem);\n continue;\n }\n\n const newChildren = addItemToSpecifiedParentGroup(\n toolbarItem.items,\n groupChildren\n );\n const foundIndices: number[] = [];\n\n groupChildren.forEach((entry, index) => {\n if (entry.parentGroupItemId === toolbarItem.id) {\n foundIndices.push(index);\n }\n });\n\n if (foundIndices.length) {\n // process in reverse order so groupChildren can be reduced as we find matches\n foundIndices\n .sort((a, b) => a - b)\n .reverse()\n .forEach((foundIndex) => {\n newChildren.push(groupChildren[foundIndex]);\n groupChildren.splice(foundIndex);\n });\n }\n\n outItems.push({ ...toolbarItem, items: newChildren });\n }\n return outItems;\n}\n\nfunction cloneGroup(inGroup: ToolbarGroupItem): ToolbarGroupItem {\n const childItems: Array<ToolbarActionItem | ToolbarGroupItem> = [];\n inGroup.items.forEach((item) => {\n if (isToolbarGroupItem(item)) childItems.push(cloneGroup(item));\n else childItems.push(item);\n });\n\n const clonedGroup = { ...inGroup, items: childItems };\n return clonedGroup;\n}\n\nfunction getItemSortValue(item: ToolbarItem) {\n const groupValue = undefined === item.groupPriority ? 0 : item.groupPriority;\n return groupValue * 10000 + item.itemPriority;\n}\n\nfunction sortItems(items: ReadonlyArray<ToolbarItem>): ToolbarItem[] {\n return [...items]\n .sort((a, b) => getItemSortValue(a) - getItemSortValue(b))\n .map((i) => {\n if (isToolbarGroupItem(i)) {\n return { ...i, items: sortItems(i.items) };\n }\n return i;\n });\n}\n\n/**\n * Create a forEach handler that will add every element of an array of ToolbarItems\n * to a list of items that can then be replaced in its proper place, ensuring that\n * the same item, from different list, is not added multiple times.\n * @param items Output list of items\n * @param groupChildren Output list of group children to redistribute.\n * @returns Array<ToolbarItem>.forEach handler.\n */\nfunction addIfNotDuplicate(\n items: ToolbarItem[],\n groupChildren: (ToolbarActionItem | ToolbarGroupItem)[]\n): (value: ToolbarItem) => void {\n return (srcItem: ToolbarItem) => {\n if (-1 === items.findIndex((item) => item.id === srcItem.id)) {\n // if the default item is a group that an addon may insert into copy it so we don't mess with original\n const toolbarItem = isToolbarGroupItem(srcItem)\n ? cloneGroup(srcItem)\n : srcItem;\n if (\n (isToolbarGroupItem(toolbarItem) || isToolbarActionItem(toolbarItem)) &&\n toolbarItem.parentGroupItemId\n )\n groupChildren.push(toolbarItem);\n else items.push(toolbarItem);\n }\n };\n}\n\n/** local function to combine items from Stage and from Extensions */\nfunction combineItems(\n defaultItems: ReadonlyArray<ToolbarItem>,\n addonItems: ReadonlyArray<ToolbarItem>\n): ToolbarItem[] {\n let items: ToolbarItem[] = [];\n const groupChildren: Array<ToolbarActionItem | ToolbarGroupItem> = [];\n\n defaultItems.forEach(addIfNotDuplicate(items, groupChildren));\n addonItems.forEach(addIfNotDuplicate(items, groupChildren));\n\n // if an item from an addon has specified a parent group then try to find it and insert it. If no parent is found, add item at root level.\n if (groupChildren.length) {\n items = addItemToSpecifiedParentGroup(items, groupChildren);\n\n groupChildren.forEach((toolbarItem) => {\n Logger.logWarning(\n \"ToolbarComposer\",\n `Requested Parent Group [${toolbarItem.parentGroupItemId!}] not found, so item [${\n toolbarItem.id\n }] is added directly to toolbar.`\n );\n items.push(toolbarItem);\n });\n }\n\n return sortItems(items);\n}\n\nconst useProximityOpacitySetting = () => {\n const [proximityOpacity, setProximityOpacity] = React.useState(\n UiFramework.visibility.useProximityOpacity // eslint-disable-line deprecation/deprecation\n );\n\n React.useEffect(() => {\n UiFramework.onUiVisibilityChanged.addListener(\n () => setProximityOpacity(UiFramework.visibility.useProximityOpacity) // eslint-disable-line deprecation/deprecation\n );\n }, []);\n\n return proximityOpacity;\n};\n\nconst useSnapWidgetOpacitySetting = () => {\n const [snapWidgetOpacity, setSnapWidgetOpacity] = React.useState(\n UiFramework.visibility.snapWidgetOpacity\n );\n\n React.useEffect(() => {\n UiFramework.onUiVisibilityChanged.addListener(() =>\n setSnapWidgetOpacity(UiFramework.visibility.snapWidgetOpacity)\n );\n }, []);\n\n return snapWidgetOpacity;\n};\n\n/** Properties for the [[ToolbarComposer]] React components\n * @public\n * @deprecated in 4.17.0. Use `React.ComponentProps<typeof ToolbarComposer>`\n */\nexport interface ExtensibleToolbarProps {\n /** Toolbar items. */\n items: ToolbarItem[];\n /** Toolbar usage based on which additional toolbar items are added from UI item providers. */\n usage: ToolbarUsage;\n /** Toolbar orientation. */\n orientation: ToolbarOrientation;\n}\n\n/**\n * Toolbar that is populated and maintained by UI item providers.\n * @note Overrides `isActive` property based on the active tool id.\n * @public\n */\n// eslint-disable-next-line deprecation/deprecation\nexport function ToolbarComposer(props: ExtensibleToolbarProps) {\n const { usage, orientation } = props;\n\n // process items from addon UI providers\n const addonItems = useActiveStageProvidedToolbarItems(usage, orientation);\n\n const allItems = React.useMemo(() => {\n return combineItems(props.items, addonItems);\n }, [props.items, addonItems]);\n\n const items = useActiveToolIdSynchedItems(allItems, UiFramework.frontstages);\n\n const toolbarOrientation =\n orientation === ToolbarOrientation.Horizontal\n ? Orientation.Horizontal\n : Orientation.Vertical;\n const expandsTo =\n toolbarOrientation === Orientation.Horizontal\n ? Direction.Bottom\n : usage === ToolbarUsage.ViewNavigation\n ? Direction.Left\n : Direction.Right;\n const panelAlignment =\n toolbarOrientation === Orientation.Horizontal &&\n usage === ToolbarUsage.ViewNavigation\n ? ToolbarPanelAlignment.End\n : ToolbarPanelAlignment.Start;\n const isDragEnabled = React.useContext(ToolbarDragInteractionContext);\n const useProximityOpacity = useProximityOpacitySetting();\n const snapWidgetOpacity = useSnapWidgetOpacitySetting();\n\n return (\n <Toolbar\n enableOverflow={true}\n expandsTo={expandsTo}\n panelAlignment={panelAlignment}\n items={items}\n useDragInteraction={isDragEnabled}\n toolbarOpacitySetting={\n (useProximityOpacity || snapWidgetOpacity) &&\n !ProcessDetector.isMobileBrowser\n ? ToolbarOpacitySetting.Proximity\n : ToolbarOpacitySetting.Defaults\n }\n />\n );\n}\n"]}
|
|
1
|
+
{"version":3,"file":"ToolbarComposer.js","sourceRoot":"","sources":["../../../src/appui-react/toolbar/ToolbarComposer.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 Toolbar\n */\n\nimport * as React from \"react\";\nimport {\n Direction,\n Orientation,\n ToolbarOpacitySetting,\n ToolbarPanelAlignment,\n} from \"@itwin/components-react\";\nimport { Logger, ProcessDetector } from \"@itwin/core-bentley\";\nimport { UiFramework } from \"../UiFramework.js\";\nimport { ToolbarDragInteractionContext } from \"./DragInteraction.js\";\nimport type {\n ToolbarActionItem,\n ToolbarGroupItem,\n ToolbarItem,\n} from \"./ToolbarItem.js\";\nimport {\n isToolbarActionItem,\n isToolbarGroupItem,\n ToolbarOrientation,\n ToolbarUsage,\n} from \"./ToolbarItem.js\";\nimport { Toolbar } from \"./Toolbar.js\";\nimport { useActiveToolIdSynchedItems } from \"./useActiveToolIdSynchedItems.js\";\nimport { useActiveStageProvidedToolbarItems } from \"./useActiveStageProvidedToolbarItems.js\";\n\nfunction addItemToSpecifiedParentGroup<T extends ToolbarItem>(\n items: readonly T[],\n groupChildren: Array<ToolbarActionItem | ToolbarGroupItem>\n): T[] {\n const outItems: T[] = [];\n for (const toolbarItem of items) {\n if (!isToolbarGroupItem(toolbarItem)) {\n outItems.push(toolbarItem);\n continue;\n }\n\n const newChildren = addItemToSpecifiedParentGroup(\n toolbarItem.items,\n groupChildren\n );\n const foundIndices: number[] = [];\n\n groupChildren.forEach((entry, index) => {\n if (entry.parentGroupItemId === toolbarItem.id) {\n foundIndices.push(index);\n }\n });\n\n if (foundIndices.length) {\n // process in reverse order so groupChildren can be reduced as we find matches\n foundIndices\n .sort((a, b) => a - b)\n .reverse()\n .forEach((foundIndex) => {\n newChildren.push(groupChildren[foundIndex]);\n groupChildren.splice(foundIndex);\n });\n }\n\n outItems.push({ ...toolbarItem, items: newChildren });\n }\n return outItems;\n}\n\nfunction cloneGroup(inGroup: ToolbarGroupItem): ToolbarGroupItem {\n const childItems: Array<ToolbarActionItem | ToolbarGroupItem> = [];\n inGroup.items.forEach((item) => {\n if (isToolbarGroupItem(item)) childItems.push(cloneGroup(item));\n else childItems.push(item);\n });\n\n const clonedGroup = { ...inGroup, items: childItems };\n return clonedGroup;\n}\n\nfunction getItemSortValue(item: ToolbarItem) {\n const groupValue = undefined === item.groupPriority ? 0 : item.groupPriority;\n return groupValue * 10000 + item.itemPriority;\n}\n\nfunction sortItems(items: ReadonlyArray<ToolbarItem>): ToolbarItem[] {\n return [...items]\n .sort((a, b) => getItemSortValue(a) - getItemSortValue(b))\n .map((i) => {\n if (isToolbarGroupItem(i)) {\n return { ...i, items: sortItems(i.items) };\n }\n return i;\n });\n}\n\n/**\n * Create a forEach handler that will add every element of an array of ToolbarItems\n * to a list of items that can then be replaced in its proper place, ensuring that\n * the same item, from different list, is not added multiple times.\n * @param items Output list of items\n * @param groupChildren Output list of group children to redistribute.\n * @returns Array<ToolbarItem>.forEach handler.\n */\nfunction addIfNotDuplicate(\n items: ToolbarItem[],\n groupChildren: (ToolbarActionItem | ToolbarGroupItem)[]\n): (value: ToolbarItem) => void {\n return (srcItem: ToolbarItem) => {\n if (-1 === items.findIndex((item) => item.id === srcItem.id)) {\n // if the default item is a group that an addon may insert into copy it so we don't mess with original\n const toolbarItem = isToolbarGroupItem(srcItem)\n ? cloneGroup(srcItem)\n : srcItem;\n if (\n (isToolbarGroupItem(toolbarItem) || isToolbarActionItem(toolbarItem)) &&\n toolbarItem.parentGroupItemId\n )\n groupChildren.push(toolbarItem);\n else items.push(toolbarItem);\n }\n };\n}\n\n/** local function to combine items from Stage and from Extensions */\nfunction combineItems(\n defaultItems: ReadonlyArray<ToolbarItem>,\n addonItems: ReadonlyArray<ToolbarItem>\n): ToolbarItem[] {\n let items: ToolbarItem[] = [];\n const groupChildren: Array<ToolbarActionItem | ToolbarGroupItem> = [];\n\n defaultItems.forEach(addIfNotDuplicate(items, groupChildren));\n addonItems.forEach(addIfNotDuplicate(items, groupChildren));\n\n // if an item from an addon has specified a parent group then try to find it and insert it. If no parent is found, add item at root level.\n if (groupChildren.length) {\n items = addItemToSpecifiedParentGroup(items, groupChildren);\n\n groupChildren.forEach((toolbarItem) => {\n Logger.logWarning(\n \"ToolbarComposer\",\n `Requested Parent Group [${toolbarItem.parentGroupItemId!}] not found, so item [${\n toolbarItem.id\n }] is added directly to toolbar.`\n );\n items.push(toolbarItem);\n });\n }\n\n return sortItems(items);\n}\n\nconst useProximityOpacitySetting = () => {\n const [proximityOpacity, setProximityOpacity] = React.useState(\n UiFramework.visibility.useProximityOpacity // eslint-disable-line @typescript-eslint/no-deprecated\n );\n\n React.useEffect(() => {\n UiFramework.onUiVisibilityChanged.addListener(\n () => setProximityOpacity(UiFramework.visibility.useProximityOpacity) // eslint-disable-line @typescript-eslint/no-deprecated\n );\n }, []);\n\n return proximityOpacity;\n};\n\nconst useSnapWidgetOpacitySetting = () => {\n const [snapWidgetOpacity, setSnapWidgetOpacity] = React.useState(\n UiFramework.visibility.snapWidgetOpacity\n );\n\n React.useEffect(() => {\n UiFramework.onUiVisibilityChanged.addListener(() =>\n setSnapWidgetOpacity(UiFramework.visibility.snapWidgetOpacity)\n );\n }, []);\n\n return snapWidgetOpacity;\n};\n\n/** Properties for the [[ToolbarComposer]] React components\n * @public\n * @deprecated in 4.17.0. Use `React.ComponentProps<typeof ToolbarComposer>`\n */\nexport interface ExtensibleToolbarProps {\n /** Toolbar items. */\n items: ToolbarItem[];\n /** Toolbar usage based on which additional toolbar items are added from UI item providers. */\n usage: ToolbarUsage;\n /** Toolbar orientation. */\n orientation: ToolbarOrientation;\n}\n\n/**\n * Toolbar that is populated and maintained by UI item providers.\n * @note Overrides `isActive` property based on the active tool id.\n * @public\n */\n// eslint-disable-next-line @typescript-eslint/no-deprecated\nexport function ToolbarComposer(props: ExtensibleToolbarProps) {\n const { usage, orientation } = props;\n\n // process items from addon UI providers\n const addonItems = useActiveStageProvidedToolbarItems(usage, orientation);\n\n const allItems = React.useMemo(() => {\n return combineItems(props.items, addonItems);\n }, [props.items, addonItems]);\n\n const items = useActiveToolIdSynchedItems(allItems, UiFramework.frontstages);\n\n const toolbarOrientation =\n orientation === ToolbarOrientation.Horizontal\n ? Orientation.Horizontal\n : Orientation.Vertical;\n const expandsTo =\n toolbarOrientation === Orientation.Horizontal\n ? Direction.Bottom\n : usage === ToolbarUsage.ViewNavigation\n ? Direction.Left\n : Direction.Right;\n const panelAlignment =\n toolbarOrientation === Orientation.Horizontal &&\n usage === ToolbarUsage.ViewNavigation\n ? ToolbarPanelAlignment.End\n : ToolbarPanelAlignment.Start;\n const isDragEnabled = React.useContext(ToolbarDragInteractionContext);\n const useProximityOpacity = useProximityOpacitySetting();\n const snapWidgetOpacity = useSnapWidgetOpacitySetting();\n\n return (\n <Toolbar\n enableOverflow={true}\n expandsTo={expandsTo}\n panelAlignment={panelAlignment}\n items={items}\n useDragInteraction={isDragEnabled}\n toolbarOpacitySetting={\n (useProximityOpacity || snapWidgetOpacity) &&\n !ProcessDetector.isMobileBrowser\n ? ToolbarOpacitySetting.Proximity\n : ToolbarOpacitySetting.Defaults\n }\n />\n );\n}\n"]}
|
|
@@ -6,7 +6,7 @@ import { CustomItemDef } from "../shared/CustomItemDef.js";
|
|
|
6
6
|
import { ToolItemDef } from "../shared/ToolItemDef.js";
|
|
7
7
|
import { GroupItemDef } from "./GroupItem.js";
|
|
8
8
|
import { isToolbarActionItem, isToolbarGroupItem } from "./ToolbarItem.js";
|
|
9
|
-
/* eslint-disable
|
|
9
|
+
/* eslint-disable @typescript-eslint/no-deprecated */
|
|
10
10
|
/**
|
|
11
11
|
* Common implementation for `constructChildToolbarItems` and `createToolbarItemsFromItemDefs`.
|
|
12
12
|
* @param itemDefs List of itemDefs to convert.
|
|
@@ -51,7 +51,7 @@ export class ToolbarHelper {
|
|
|
51
51
|
}
|
|
52
52
|
/** @deprecated in 4.15.0. Use {@link @itwin/core-react#IconHelper} instead. */
|
|
53
53
|
static getIconReactNode(item) {
|
|
54
|
-
// eslint-disable-next-line
|
|
54
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated
|
|
55
55
|
return IconHelper.getIconReactNode(item.icon, item.internalData);
|
|
56
56
|
}
|
|
57
57
|
/** Helper method to creates a generic toolbar item entry.
|
|
@@ -65,8 +65,8 @@ export class ToolbarHelper {
|
|
|
65
65
|
isActive: itemDef.isActive,
|
|
66
66
|
isHidden: itemDef.isHidden,
|
|
67
67
|
isDisabled: itemDef.isDisabled,
|
|
68
|
-
icon: internalData?.get(IconHelper.reactIconKey) ?? // eslint-disable-line
|
|
69
|
-
internalData?.get(IconHelper.conditionalIconItemKey) ?? // eslint-disable-line
|
|
68
|
+
icon: internalData?.get(IconHelper.reactIconKey) ?? // eslint-disable-line @typescript-eslint/no-deprecated
|
|
69
|
+
internalData?.get(IconHelper.conditionalIconItemKey) ?? // eslint-disable-line @typescript-eslint/no-deprecated
|
|
70
70
|
icon ??
|
|
71
71
|
itemDef.iconSpec,
|
|
72
72
|
label: this.getStringOrConditionalString(itemDef.rawLabel),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolbarHelper.js","sourceRoot":"","sources":["../../../src/appui-react/toolbar/ToolbarHelper.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 Toolbar\n */\nimport type * as React from \"react\";\nimport type {\n ActionButton,\n CustomButtonDefinition,\n GroupButton,\n StringGetter,\n} from \"@itwin/appui-abstract\";\nimport { ConditionalStringValue } from \"@itwin/appui-abstract\";\nimport { assert } from \"@itwin/core-bentley\";\nimport type { BadgeKind } from \"@itwin/core-react/internal\";\nimport { IconHelper } from \"@itwin/core-react\";\nimport type { AnyItemDef } from \"../shared/AnyItemDef.js\";\nimport { CommandItemDef } from \"../shared/CommandItemDef.js\";\nimport { CustomItemDef } from \"../shared/CustomItemDef.js\";\nimport { ToolItemDef } from \"../shared/ToolItemDef.js\";\nimport { GroupItemDef } from \"./GroupItem.js\";\nimport type {\n ToolbarActionItem,\n ToolbarCustomItem,\n ToolbarGroupItem,\n ToolbarItem,\n} from \"./ToolbarItem.js\";\nimport { isToolbarActionItem, isToolbarGroupItem } from \"./ToolbarItem.js\";\nimport type { ToolbarItemUtilities } from \"./ToolbarItemUtilities.js\";\nimport type { CommonToolbarItemWithBadgeKind } from \"@itwin/components-react/internal\";\n\n/* eslint-disable deprecation/deprecation */\n\n/**\n * Common implementation for `constructChildToolbarItems` and `createToolbarItemsFromItemDefs`.\n * @param itemDefs List of itemDefs to convert.\n * @param allowCustom false if we are building children and don't support custom items.\n * @param startingItemPriority defaults to 10.\n * @param overrides Single override to apply to each itemDefs.\n * @returns ToolbarItem[] or (ToolbarActionItem | ToolbarGroupItem) if allowCustom is false.\n */\nfunction constructToolbarItemArray<T extends boolean>(\n itemDefs: AnyItemDef[],\n allowCustom: T,\n startingItemPriority = 10,\n overrides?: Partial<CommonToolbarItemWithBadgeKind>\n) {\n let priority = startingItemPriority;\n const items = [];\n for (const itemDef of itemDefs) {\n const item = ToolbarHelper.createToolbarItemFromItemDef(\n priority,\n itemDef,\n overrides\n );\n priority = priority + 10;\n if (allowCustom || isToolbarActionItem(item) || isToolbarGroupItem(item))\n items.push(item);\n }\n return items as T extends true\n ? Array<ToolbarItem>\n : Array<ToolbarActionItem | ToolbarGroupItem>;\n}\n\n/** Helper functions for defining a Toolbar items used in `Toolbar`, `ToolbarComposer` and `UiItemsProvider`.\n * @public\n * @deprecated in 4.15.0. Use {@link ToolbarItemUtilities} instead.\n */\nexport class ToolbarHelper {\n /** Construct ToolbarCustomItem definitions given a CustomItemDef.\n * @deprecated in 4.15.0. Use `ToolbarItemUtilities.createCustomItem` instead.\n */\n public static createCustomDefinitionToolbarItem(\n itemPriority: number,\n itemDef: CustomItemDef,\n overrides?: Partial<CustomButtonDefinition & { badgeKind?: BadgeKind }>\n ): ToolbarCustomItem {\n return this.createToolbarItemFromItemDef(itemPriority, itemDef, overrides);\n }\n\n /** Construct ToolbarActionItem and ToolbarGroupItem definitions given an array of ItemDefs.\n * @deprecated in 4.15.0. Use {@link ToolbarItemUtilities} instead.\n */\n public static constructChildToolbarItems(\n itemDefs: AnyItemDef[]\n ): Array<ToolbarActionItem | ToolbarGroupItem> {\n return constructToolbarItemArray(itemDefs, false);\n }\n\n private static getStringOrConditionalString(\n inString: string | StringGetter | ConditionalStringValue\n ): string | ConditionalStringValue {\n if (\n inString instanceof ConditionalStringValue ||\n typeof inString === \"string\"\n )\n return inString;\n\n return inString();\n }\n\n /** @deprecated in 4.15.0. Use {@link @itwin/core-react#IconHelper} instead. */\n public static getIconReactNode(\n item: ActionButton | GroupButton\n ): React.ReactNode {\n // eslint-disable-next-line deprecation/deprecation\n return IconHelper.getIconReactNode(item.icon, item.internalData);\n }\n\n /** Helper method to creates a generic toolbar item entry.\n * @deprecated in 4.15.0. Use {@link ToolbarItemUtilities} instead.\n */\n public static createToolbarItemFromItemDef(\n itemPriority: number,\n itemDef: AnyItemDef,\n overrides?: Partial<CommonToolbarItemWithBadgeKind>\n ): ToolbarItem {\n const {\n badgeType,\n badgeKind,\n description,\n icon,\n internalData,\n ...itemOverrides\n } = overrides ?? {};\n const itemBase: ToolbarItem = {\n id: itemDef.id,\n itemPriority,\n isActive: itemDef.isActive,\n isHidden: itemDef.isHidden,\n isDisabled: itemDef.isDisabled,\n icon:\n internalData?.get(IconHelper.reactIconKey) ?? // eslint-disable-line deprecation/deprecation\n internalData?.get(IconHelper.conditionalIconItemKey) ?? // eslint-disable-line deprecation/deprecation\n icon ??\n itemDef.iconSpec,\n label: this.getStringOrConditionalString(itemDef.rawLabel),\n badge: badgeType ?? itemDef.badgeType,\n badgeKind: badgeKind ?? itemDef.badgeKind,\n description: description ?? itemDef.description,\n };\n\n if (itemDef instanceof CommandItemDef || itemDef instanceof ToolItemDef) {\n return {\n ...itemBase,\n execute: itemDef.execute,\n ...itemOverrides,\n };\n } else if (itemDef instanceof CustomItemDef) {\n return {\n ...itemBase,\n panelContent: itemDef.popupPanelNode,\n ...itemOverrides,\n };\n } else if (itemDef instanceof GroupItemDef) {\n return {\n ...itemBase,\n panelLabel: itemDef.panelLabel,\n items: this.constructChildToolbarItems(itemDef.items),\n isActive: false,\n ...itemOverrides,\n };\n } else {\n throw new Error(`Invalid Item type encountered, item id=${itemDef.id}`);\n }\n }\n\n /** Helper method to creates a generic toolbar item entry list.\n * @deprecated in 4.15.0. Use {@link ToolbarItemUtilities} instead.\n */\n public static createToolbarItemsFromItemDefs(\n itemDefs: AnyItemDef[],\n startingItemPriority = 10,\n overrides?: Partial<CommonToolbarItemWithBadgeKind>\n ): ToolbarItem[] {\n return constructToolbarItemArray(\n itemDefs,\n true,\n startingItemPriority,\n overrides\n );\n }\n}\n\n/** @internal */\nexport function itemDefToToolbarActionItem(\n itemDef: ToolItemDef | CommandItemDef,\n overrides?: Partial<ToolbarActionItem>\n): ToolbarActionItem {\n const item = ToolbarHelper.createToolbarItemFromItemDef(0, itemDef);\n assert(isToolbarActionItem(item));\n return {\n ...item,\n ...overrides,\n };\n}\n\n/** @internal */\nexport function itemDefToToolbarGroupItem(\n itemDef: GroupItemDef,\n overrides?: Partial<ToolbarGroupItem>\n): ToolbarGroupItem {\n const item = ToolbarHelper.createToolbarItemFromItemDef(0, itemDef);\n assert(isToolbarGroupItem(item));\n return {\n ...item,\n ...overrides,\n };\n}\n"]}
|
|
1
|
+
{"version":3,"file":"ToolbarHelper.js","sourceRoot":"","sources":["../../../src/appui-react/toolbar/ToolbarHelper.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 Toolbar\n */\nimport type * as React from \"react\";\nimport type {\n ActionButton,\n CustomButtonDefinition,\n GroupButton,\n StringGetter,\n} from \"@itwin/appui-abstract\";\nimport { ConditionalStringValue } from \"@itwin/appui-abstract\";\nimport { assert } from \"@itwin/core-bentley\";\nimport type { BadgeKind } from \"@itwin/core-react/internal\";\nimport { IconHelper } from \"@itwin/core-react\";\nimport type { AnyItemDef } from \"../shared/AnyItemDef.js\";\nimport { CommandItemDef } from \"../shared/CommandItemDef.js\";\nimport { CustomItemDef } from \"../shared/CustomItemDef.js\";\nimport { ToolItemDef } from \"../shared/ToolItemDef.js\";\nimport { GroupItemDef } from \"./GroupItem.js\";\nimport type {\n ToolbarActionItem,\n ToolbarCustomItem,\n ToolbarGroupItem,\n ToolbarItem,\n} from \"./ToolbarItem.js\";\nimport { isToolbarActionItem, isToolbarGroupItem } from \"./ToolbarItem.js\";\nimport type { ToolbarItemUtilities } from \"./ToolbarItemUtilities.js\";\nimport type { CommonToolbarItemWithBadgeKind } from \"@itwin/components-react/internal\";\n\n/* eslint-disable @typescript-eslint/no-deprecated */\n\n/**\n * Common implementation for `constructChildToolbarItems` and `createToolbarItemsFromItemDefs`.\n * @param itemDefs List of itemDefs to convert.\n * @param allowCustom false if we are building children and don't support custom items.\n * @param startingItemPriority defaults to 10.\n * @param overrides Single override to apply to each itemDefs.\n * @returns ToolbarItem[] or (ToolbarActionItem | ToolbarGroupItem) if allowCustom is false.\n */\nfunction constructToolbarItemArray<T extends boolean>(\n itemDefs: AnyItemDef[],\n allowCustom: T,\n startingItemPriority = 10,\n overrides?: Partial<CommonToolbarItemWithBadgeKind>\n) {\n let priority = startingItemPriority;\n const items = [];\n for (const itemDef of itemDefs) {\n const item = ToolbarHelper.createToolbarItemFromItemDef(\n priority,\n itemDef,\n overrides\n );\n priority = priority + 10;\n if (allowCustom || isToolbarActionItem(item) || isToolbarGroupItem(item))\n items.push(item);\n }\n return items as T extends true\n ? Array<ToolbarItem>\n : Array<ToolbarActionItem | ToolbarGroupItem>;\n}\n\n/** Helper functions for defining a Toolbar items used in `Toolbar`, `ToolbarComposer` and `UiItemsProvider`.\n * @public\n * @deprecated in 4.15.0. Use {@link ToolbarItemUtilities} instead.\n */\nexport class ToolbarHelper {\n /** Construct ToolbarCustomItem definitions given a CustomItemDef.\n * @deprecated in 4.15.0. Use `ToolbarItemUtilities.createCustomItem` instead.\n */\n public static createCustomDefinitionToolbarItem(\n itemPriority: number,\n itemDef: CustomItemDef,\n overrides?: Partial<CustomButtonDefinition & { badgeKind?: BadgeKind }>\n ): ToolbarCustomItem {\n return this.createToolbarItemFromItemDef(itemPriority, itemDef, overrides);\n }\n\n /** Construct ToolbarActionItem and ToolbarGroupItem definitions given an array of ItemDefs.\n * @deprecated in 4.15.0. Use {@link ToolbarItemUtilities} instead.\n */\n public static constructChildToolbarItems(\n itemDefs: AnyItemDef[]\n ): Array<ToolbarActionItem | ToolbarGroupItem> {\n return constructToolbarItemArray(itemDefs, false);\n }\n\n private static getStringOrConditionalString(\n inString: string | StringGetter | ConditionalStringValue\n ): string | ConditionalStringValue {\n if (\n inString instanceof ConditionalStringValue ||\n typeof inString === \"string\"\n )\n return inString;\n\n return inString();\n }\n\n /** @deprecated in 4.15.0. Use {@link @itwin/core-react#IconHelper} instead. */\n public static getIconReactNode(\n item: ActionButton | GroupButton\n ): React.ReactNode {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n return IconHelper.getIconReactNode(item.icon, item.internalData);\n }\n\n /** Helper method to creates a generic toolbar item entry.\n * @deprecated in 4.15.0. Use {@link ToolbarItemUtilities} instead.\n */\n public static createToolbarItemFromItemDef(\n itemPriority: number,\n itemDef: AnyItemDef,\n overrides?: Partial<CommonToolbarItemWithBadgeKind>\n ): ToolbarItem {\n const {\n badgeType,\n badgeKind,\n description,\n icon,\n internalData,\n ...itemOverrides\n } = overrides ?? {};\n const itemBase: ToolbarItem = {\n id: itemDef.id,\n itemPriority,\n isActive: itemDef.isActive,\n isHidden: itemDef.isHidden,\n isDisabled: itemDef.isDisabled,\n icon:\n internalData?.get(IconHelper.reactIconKey) ?? // eslint-disable-line @typescript-eslint/no-deprecated\n internalData?.get(IconHelper.conditionalIconItemKey) ?? // eslint-disable-line @typescript-eslint/no-deprecated\n icon ??\n itemDef.iconSpec,\n label: this.getStringOrConditionalString(itemDef.rawLabel),\n badge: badgeType ?? itemDef.badgeType,\n badgeKind: badgeKind ?? itemDef.badgeKind,\n description: description ?? itemDef.description,\n };\n\n if (itemDef instanceof CommandItemDef || itemDef instanceof ToolItemDef) {\n return {\n ...itemBase,\n execute: itemDef.execute,\n ...itemOverrides,\n };\n } else if (itemDef instanceof CustomItemDef) {\n return {\n ...itemBase,\n panelContent: itemDef.popupPanelNode,\n ...itemOverrides,\n };\n } else if (itemDef instanceof GroupItemDef) {\n return {\n ...itemBase,\n panelLabel: itemDef.panelLabel,\n items: this.constructChildToolbarItems(itemDef.items),\n isActive: false,\n ...itemOverrides,\n };\n } else {\n throw new Error(`Invalid Item type encountered, item id=${itemDef.id}`);\n }\n }\n\n /** Helper method to creates a generic toolbar item entry list.\n * @deprecated in 4.15.0. Use {@link ToolbarItemUtilities} instead.\n */\n public static createToolbarItemsFromItemDefs(\n itemDefs: AnyItemDef[],\n startingItemPriority = 10,\n overrides?: Partial<CommonToolbarItemWithBadgeKind>\n ): ToolbarItem[] {\n return constructToolbarItemArray(\n itemDefs,\n true,\n startingItemPriority,\n overrides\n );\n }\n}\n\n/** @internal */\nexport function itemDefToToolbarActionItem(\n itemDef: ToolItemDef | CommandItemDef,\n overrides?: Partial<ToolbarActionItem>\n): ToolbarActionItem {\n const item = ToolbarHelper.createToolbarItemFromItemDef(0, itemDef);\n assert(isToolbarActionItem(item));\n return {\n ...item,\n ...overrides,\n };\n}\n\n/** @internal */\nexport function itemDefToToolbarGroupItem(\n itemDef: GroupItemDef,\n overrides?: Partial<ToolbarGroupItem>\n): ToolbarGroupItem {\n const item = ToolbarHelper.createToolbarItemFromItemDef(0, itemDef);\n assert(isToolbarGroupItem(item));\n return {\n ...item,\n ...overrides,\n };\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolbarItem.js","sourceRoot":"","sources":["../../../src/appui-react/toolbar/ToolbarItem.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAUH;;GAEG;AACH,MAAM,CAAN,IAAY,YAKX;AALD,WAAY,YAAY;IACtB,yGAAyG;IACzG,6EAAuB,CAAA;IACvB,8EAA8E;IAC9E,mEAAkB,CAAA;AACpB,CAAC,EALW,YAAY,KAAZ,YAAY,QAKvB;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,kBAKX;AALD,WAAY,kBAAkB;IAC5B,0BAA0B;IAC1B,uEAAc,CAAA;IACd,wBAAwB;IACxB,mEAAY,CAAA;AACd,CAAC,EALW,kBAAkB,KAAlB,kBAAkB,QAK7B;AAiGD;;GAEG;AACH,MAAM,UAAU,mBAAmB,CACjC,IAAiB;IAEjB,OAAO,SAAS,IAAI,IAAI,CAAC;AAC3B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAChC,IAAiB;IAEjB,OAAO,OAAO,IAAI,IAAI,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CACjC,IAAiB;IAEjB,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;AACjE,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 Toolbar\n */\n\nimport type {\n ConditionalBooleanValue,\n ConditionalStringValue,\n} from \"@itwin/appui-abstract\";\nimport type { BadgeType, IconSpec } from \"@itwin/core-react\";\nimport type { BadgeKind } from \"@itwin/core-react/internal\";\nimport { UiItemsProvider } from \"../ui-items-provider/UiItemsProvider.js\";\n\n/** Used to specify the usage of the toolbar which determine the toolbar position.\n * @public\n */\nexport enum ToolbarUsage {\n /** Contains tools to Create Update and Delete content - in AppUI this is in top left of content area. */\n ContentManipulation = 0,\n /** Manipulate view/camera - in AppUI this is in top right of content area. */\n ViewNavigation = 1,\n}\n\n/** Used to specify the orientation of the toolbar.\n * @public\n */\nexport enum ToolbarOrientation {\n /** Horizontal toolbar. */\n Horizontal = 0,\n /** Vertical toolbar. */\n Vertical = 1,\n}\n\n/** Describes the data needed to insert a UI items into an existing set of UI items.\n * @public\n */\nexport interface CommonToolbarItem {\n /** Require uniqueId for the item. To ensure uniqueness it is suggested that a namespace prefix of the extension name be used. */\n readonly id: string;\n /** Icon of a toolbar item. */\n readonly iconNode?: React.ReactNode;\n /** Describes badge. Renders no badge if not specified.\n * @deprecated in 4.16.0. Use `badgeKind` property instead.\n */\n // eslint-disable-next-line
|
|
1
|
+
{"version":3,"file":"ToolbarItem.js","sourceRoot":"","sources":["../../../src/appui-react/toolbar/ToolbarItem.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAUH;;GAEG;AACH,MAAM,CAAN,IAAY,YAKX;AALD,WAAY,YAAY;IACtB,yGAAyG;IACzG,6EAAuB,CAAA;IACvB,8EAA8E;IAC9E,mEAAkB,CAAA;AACpB,CAAC,EALW,YAAY,KAAZ,YAAY,QAKvB;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,kBAKX;AALD,WAAY,kBAAkB;IAC5B,0BAA0B;IAC1B,uEAAc,CAAA;IACd,wBAAwB;IACxB,mEAAY,CAAA;AACd,CAAC,EALW,kBAAkB,KAAlB,kBAAkB,QAK7B;AAiGD;;GAEG;AACH,MAAM,UAAU,mBAAmB,CACjC,IAAiB;IAEjB,OAAO,SAAS,IAAI,IAAI,CAAC;AAC3B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAChC,IAAiB;IAEjB,OAAO,OAAO,IAAI,IAAI,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CACjC,IAAiB;IAEjB,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;AACjE,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 Toolbar\n */\n\nimport type {\n ConditionalBooleanValue,\n ConditionalStringValue,\n} from \"@itwin/appui-abstract\";\nimport type { BadgeType, IconSpec } from \"@itwin/core-react\";\nimport type { BadgeKind } from \"@itwin/core-react/internal\";\nimport { UiItemsProvider } from \"../ui-items-provider/UiItemsProvider.js\";\n\n/** Used to specify the usage of the toolbar which determine the toolbar position.\n * @public\n */\nexport enum ToolbarUsage {\n /** Contains tools to Create Update and Delete content - in AppUI this is in top left of content area. */\n ContentManipulation = 0,\n /** Manipulate view/camera - in AppUI this is in top right of content area. */\n ViewNavigation = 1,\n}\n\n/** Used to specify the orientation of the toolbar.\n * @public\n */\nexport enum ToolbarOrientation {\n /** Horizontal toolbar. */\n Horizontal = 0,\n /** Vertical toolbar. */\n Vertical = 1,\n}\n\n/** Describes the data needed to insert a UI items into an existing set of UI items.\n * @public\n */\nexport interface CommonToolbarItem {\n /** Require uniqueId for the item. To ensure uniqueness it is suggested that a namespace prefix of the extension name be used. */\n readonly id: string;\n /** Icon of a toolbar item. */\n readonly iconNode?: React.ReactNode;\n /** Describes badge. Renders no badge if not specified.\n * @deprecated in 4.16.0. Use `badgeKind` property instead.\n */\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n readonly badge?: BadgeType;\n /** Specifies the kind of badge, if any, to be rendered. */\n readonly badgeKind?: BadgeKind;\n /** Optional description */\n readonly description?: string | ConditionalStringValue;\n /** Defines if the item is active (shown with an active stripe/bar). */\n readonly isActive?: boolean;\n /** Describes if the item is visible or hidden. The default is for the item to be visible. */\n readonly isHidden?: boolean | ConditionalBooleanValue;\n /** Describes if the item is enabled or disabled. The default is for the item to be enabled. */\n readonly isDisabled?: boolean | ConditionalBooleanValue;\n /** Specifies the item's grouping value. Items are sorted by group and then item priority. When\n * group priority changes a separator is inserted. It is recommended using values 10 through 100, incrementing by 10. This\n * allows extensions enough gaps to insert their own groups. If the value is not specified a groupPriority of 0 is used.\n */\n readonly groupPriority?: number;\n /** Priority within a toolbar or group. */\n readonly itemPriority: number;\n /** Describes layout specific configuration of a toolbar item.\n * @note Only used by {@link UiItemsProvider.getToolbarItems}.\n */\n readonly layouts?: ToolbarItemLayouts;\n}\n\n/** Describes the data needed to insert an action button into a toolbar.\n * @public\n */\nexport interface ToolbarActionItem extends CommonToolbarItem {\n /** Name of icon WebFont entry or if specifying an imported SVG symbol use \"webSvg:\" prefix to imported symbol Id.\n * @deprecated in 4.16.0. Use {@link CommonToolbarItem.iconNode} instead and specify `undefined` for this property. This will be made optional in 5.0.0.\n */\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n readonly icon: IconSpec;\n /** label, shown as tool tip on a button or an item label in a group. */\n readonly label: string | ConditionalStringValue;\n /** function to run when the button is pressed. */\n readonly execute: () => void;\n /** Optional parent tool group to add the tool to. */\n readonly parentGroupItemId?: string;\n}\n\n/** Describes the data needed to insert a group button into a toolbar.\n * @public\n */\nexport interface ToolbarGroupItem extends CommonToolbarItem {\n /** Name of icon WebFont entry or if specifying an imported SVG symbol use \"webSvg:\" prefix to imported symbol Id.\n * @deprecated in 4.16.0. Use {@link CommonToolbarItem.iconNode} instead.\n */\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n readonly icon: IconSpec;\n /** label, shown as tool tip on group button or a group button label in a group panel. */\n readonly label: string | ConditionalStringValue;\n /** label shown as the title in at top of group panel. */\n readonly panelLabel?: string | ConditionalStringValue;\n /** children of the group */\n readonly items: ReadonlyArray<ToolbarActionItem | ToolbarGroupItem>;\n /** Optional parent tool group to add the tool to. */\n readonly parentGroupItemId?: string;\n}\n\n/** Describes the data needed to insert a custom button into a toolbar.\n * @public\n */\nexport interface ToolbarCustomItem extends CommonToolbarItem {\n /** Name of icon WebFont entry or if specifying an imported SVG symbol use \"webSvg:\" prefix to imported symbol Id.\n * @deprecated in 4.16.0. Use {@link CommonToolbarItem.iconNode} instead.\n */\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n readonly icon?: IconSpec;\n /** label, shown as tool tip on group button or a group button label in a group panel. */\n readonly label?: string | ConditionalStringValue;\n /** defines the content to display in popup panel */\n readonly panelContent?: React.ReactNode;\n}\n\n/** Any Button Type that can be inserted into a toolbar.\n * @public\n */\nexport type ToolbarItem =\n | ToolbarActionItem\n | ToolbarGroupItem\n | ToolbarCustomItem;\n\n/** ToolbarActionItem type guard.\n * @public\n */\nexport function isToolbarActionItem(\n item: ToolbarItem\n): item is ToolbarActionItem {\n return \"execute\" in item;\n}\n\n/** ToolbarGroupItem type guard.\n * @public\n */\nexport function isToolbarGroupItem(\n item: ToolbarItem\n): item is ToolbarGroupItem {\n return \"items\" in item;\n}\n\n/** ToolbarCustomItem type guard.\n * @public\n */\nexport function isToolbarCustomItem(\n item: ToolbarItem\n): item is ToolbarCustomItem {\n return !isToolbarActionItem(item) && !isToolbarGroupItem(item);\n}\n\n/** Describes toolbar item configuration specific for each layout.\n * @public\n */\nexport interface ToolbarItemLayouts {\n /** Toolbar item configuration in a standard layout. */\n readonly standard?: StandardLayoutToolbarItem;\n}\n\n/** Describes toolbar item configuration specific to a standard layout.\n * @public\n */\nexport interface StandardLayoutToolbarItem {\n /** Describes toolbar usage. */\n readonly usage: ToolbarUsage;\n /** Describes toolbar orientation. */\n readonly orientation: ToolbarOrientation;\n}\n"]}
|
|
@@ -95,7 +95,7 @@ export var ToolbarItemUtilities;
|
|
|
95
95
|
const iconNode = ToolUtilities.isWithIcon(toolType)
|
|
96
96
|
? toolType.iconElement
|
|
97
97
|
: undefined;
|
|
98
|
-
// eslint-disable-next-line
|
|
98
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated
|
|
99
99
|
return ToolbarItemUtilities.createActionItem(toolType.toolId, 0, toolType.iconSpec, toolType.flyover, () => {
|
|
100
100
|
void IModelApp.tools.run(toolType.toolId);
|
|
101
101
|
}, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolbarItemUtilities.js","sourceRoot":"","sources":["../../../src/appui-react/toolbar/ToolbarItemUtilities.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ToolbarItemUtilities.js","sourceRoot":"","sources":["../../../src/appui-react/toolbar/ToolbarItemUtilities.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 Toolbar\n */\n\nimport * as React from \"react\";\nimport { IModelApp, type ToolType } from \"@itwin/core-frontend\";\nimport type {\n ToolbarActionItem,\n ToolbarCustomItem,\n ToolbarGroupItem,\n} from \"./ToolbarItem.js\";\nimport { isArgsUtil } from \"../backstage/BackstageItemUtilities.js\";\nimport { ToolUtilities } from \"@itwin/imodel-components-react\";\n\n/** Helper namespace to create toolbar items.\n * @public\n */\nexport namespace ToolbarItemUtilities {\n interface CreateActionItemArgs\n extends Partial<Omit<ToolbarActionItem, \"icon\" | \"iconNode\" | \"id\">>,\n Pick<ToolbarActionItem, \"id\"> {\n icon?: ToolbarActionItem[\"iconNode\"];\n }\n\n type DeprecatedActionItemArgs = [\n id: ToolbarActionItem[\"id\"],\n itemPriority: ToolbarActionItem[\"itemPriority\"],\n icon: ToolbarActionItem[\"icon\"],\n label: ToolbarActionItem[\"label\"],\n execute: ToolbarActionItem[\"execute\"],\n overrides?: Partial<ToolbarActionItem>\n ];\n\n function createDeprecatedActionItem(\n ...[\n id,\n itemPriority,\n icon,\n label,\n execute,\n overrides,\n ]: DeprecatedActionItemArgs\n ): ToolbarActionItem {\n return {\n id,\n itemPriority,\n icon,\n label,\n execute,\n ...overrides,\n };\n }\n\n /** Creates an action item. */\n export function createActionItem(\n args: CreateActionItemArgs\n ): ToolbarActionItem;\n /** Creates an action item.\n * @deprecated in 4.16.0. Uses a deprecated {@link @itwin/core-react#IconSpec} type. Use an overload instead.\n */\n export function createActionItem(\n ...args: DeprecatedActionItemArgs\n ): ToolbarActionItem;\n /** Creates an action item. */\n export function createActionItem(\n ...args: DeprecatedActionItemArgs | [CreateActionItemArgs]\n ): ToolbarActionItem {\n if (isArgsUtil(args)) {\n const {\n execute = () => {},\n icon,\n itemPriority = 0,\n label = \"\",\n ...other\n } = args[0];\n return {\n execute,\n itemPriority,\n iconNode: icon,\n icon: icon ? <>{icon}</> : undefined,\n label,\n ...other,\n };\n }\n return createDeprecatedActionItem(...args);\n }\n\n interface CreateGroupItemArgs\n extends Partial<Omit<ToolbarGroupItem, \"icon\" | \"iconNode\" | \"id\">>,\n Pick<ToolbarGroupItem, \"id\"> {\n icon?: ToolbarGroupItem[\"iconNode\"];\n }\n\n type DeprecatedGroupItemArgs = [\n id: string,\n itemPriority: number,\n icon: ToolbarGroupItem[\"icon\"],\n label: ToolbarGroupItem[\"label\"],\n items: ToolbarGroupItem[\"items\"],\n overrides?: Partial<ToolbarGroupItem>\n ];\n\n function createDeprecatedGroupItem(\n ...[\n id,\n itemPriority,\n icon,\n label,\n items,\n overrides,\n ]: DeprecatedGroupItemArgs\n ): ToolbarGroupItem {\n return {\n id,\n itemPriority,\n icon,\n label,\n items,\n ...overrides,\n };\n }\n\n /** Creates a group item. */\n export function createGroupItem(args: CreateGroupItemArgs): ToolbarGroupItem;\n /** Creates a group item.\n * @deprecated in 4.16.0. Uses a deprecated {@link @itwin/core-react#IconSpec} type. Use an overload instead.\n */\n export function createGroupItem(\n ...args: DeprecatedGroupItemArgs\n ): ToolbarGroupItem;\n /** Creates a group item. */\n export function createGroupItem(\n ...args: DeprecatedGroupItemArgs | [CreateGroupItemArgs]\n ): ToolbarGroupItem {\n if (isArgsUtil(args)) {\n const {\n icon,\n itemPriority = 0,\n items = [],\n label = \"\",\n ...other\n } = args[0];\n return {\n itemPriority,\n items,\n iconNode: icon,\n icon: icon ? <>{icon}</> : undefined,\n label,\n ...other,\n };\n }\n return createDeprecatedGroupItem(...args);\n }\n\n interface CreateCustomItemArgs\n extends Partial<Omit<ToolbarCustomItem, \"icon\" | \"iconNode\" | \"id\">>,\n Pick<ToolbarCustomItem, \"id\"> {\n icon?: ToolbarCustomItem[\"iconNode\"];\n }\n\n type DeprecatedCustomItemArgs = [\n id: string,\n itemPriority: number,\n icon: ToolbarCustomItem[\"icon\"],\n label: ToolbarCustomItem[\"label\"],\n panelContent?: ToolbarCustomItem[\"panelContent\"],\n overrides?: Partial<ToolbarCustomItem>\n ];\n\n function createDeprecatedCustomItem(\n ...[\n id,\n itemPriority,\n icon,\n label,\n panelContent,\n overrides,\n ]: DeprecatedCustomItemArgs\n ): ToolbarCustomItem {\n return {\n id,\n itemPriority,\n icon,\n label,\n panelContent,\n ...overrides,\n };\n }\n\n /** Creates a custom item. */\n export function createCustomItem(\n args: CreateCustomItemArgs\n ): ToolbarCustomItem;\n /** Creates a custom item.\n * @deprecated in 4.16.0. Uses a deprecated {@link @itwin/core-react#IconSpec} type. Use an overload instead.\n */\n export function createCustomItem(\n ...args: DeprecatedCustomItemArgs\n ): ToolbarCustomItem;\n /** Creates a custom item. */\n export function createCustomItem(\n ...args: DeprecatedCustomItemArgs | [CreateCustomItemArgs]\n ): ToolbarCustomItem {\n if (isArgsUtil(args)) {\n const { icon, itemPriority = 0, ...other } = args[0];\n return {\n itemPriority,\n iconNode: icon,\n icon: icon ? <>{icon}</> : undefined,\n ...other,\n };\n }\n return createDeprecatedCustomItem(...args);\n }\n\n /** Creates an action item from the specified tool type. */\n export function createForTool(\n toolType: ToolType,\n overrides?: Partial<ToolbarActionItem>\n ): ToolbarActionItem {\n const iconNode = ToolUtilities.isWithIcon(toolType)\n ? toolType.iconElement\n : undefined;\n\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n return ToolbarItemUtilities.createActionItem(\n toolType.toolId,\n 0,\n toolType.iconSpec,\n toolType.flyover,\n () => {\n void IModelApp.tools.run(toolType.toolId);\n },\n {\n description: toolType.description,\n iconNode,\n ...overrides,\n }\n );\n }\n}\n"]}
|