@itwin/appui-react 4.0.0-dev.13 → 4.0.0-dev.15
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 +154 -1
- package/README.md +2 -2
- package/lib/cjs/appui-react/UiFramework.js.map +1 -1
- package/lib/cjs/appui-react/_variables.scss +11 -11
- package/lib/cjs/appui-react/accudraw/AccuDrawCommandItems.js.map +1 -1
- package/lib/cjs/appui-react/accudraw/AccuDrawDialog.js.map +1 -1
- package/lib/cjs/appui-react/accudraw/AccuDrawDialog.scss +14 -14
- package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.js.map +1 -1
- package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.scss +27 -27
- package/lib/cjs/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
- package/lib/cjs/appui-react/accudraw/AccuDrawInputField.scss +55 -55
- package/lib/cjs/appui-react/accudraw/AccuDrawKeyboardShortcuts.js.map +1 -1
- package/lib/cjs/appui-react/accudraw/AccuDrawPopupManager.js.map +1 -1
- package/lib/cjs/appui-react/accudraw/AccuDrawUiSettings.js.map +1 -1
- package/lib/cjs/appui-react/accudraw/AccuDrawWidget.js.map +1 -1
- package/lib/cjs/appui-react/accudraw/Calculator.js.map +1 -1
- package/lib/cjs/appui-react/accudraw/Calculator.scss +84 -84
- package/lib/cjs/appui-react/accudraw/CalculatorEngine.js.map +1 -1
- package/lib/cjs/appui-react/accudraw/CalculatorPopup.js.map +1 -1
- package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.js.map +1 -1
- package/lib/cjs/appui-react/accudraw/MenuButton.js.map +1 -1
- package/lib/cjs/appui-react/accudraw/MenuButton.scss +18 -18
- package/lib/cjs/appui-react/accudraw/MenuButtonPopup.js.map +1 -1
- package/lib/cjs/appui-react/accudraw/SquareButton.js.map +1 -1
- package/lib/cjs/appui-react/accudraw/SquareButton.scss +29 -29
- package/lib/cjs/appui-react/accudraw/backspace.svg +9 -9
- package/lib/cjs/appui-react/accudraw/constraint-2d.svg +11 -11
- package/lib/cjs/appui-react/accudraw/height-2.svg +10 -10
- package/lib/cjs/appui-react/accudraw/height.svg +11 -11
- package/lib/cjs/appui-react/backstage/BackstageComposer.js.map +1 -1
- package/lib/cjs/appui-react/backstage/BackstageComposerItem.js.map +1 -1
- package/lib/cjs/appui-react/backstage/BackstageItem.js.map +1 -1
- package/lib/cjs/appui-react/backstage/BackstageItemUtilities.js.map +1 -1
- package/lib/cjs/appui-react/backstage/BackstageItemsManager.js.map +1 -1
- package/lib/cjs/appui-react/backstage/BackstageManager.js.map +1 -1
- package/lib/cjs/appui-react/backstage/InternalBackstageManager.js.map +1 -1
- package/lib/cjs/appui-react/backstage/useDefaultBackstageItems.js.map +1 -1
- package/lib/cjs/appui-react/backstage/useUiItemsProviderBackstageItems.js.map +1 -1
- package/lib/cjs/appui-react/childwindow/ChildWindowManager.js.map +1 -1
- package/lib/cjs/appui-react/childwindow/CopyStyles.js.map +1 -1
- package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.js +21 -21
- package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.js.map +1 -1
- package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.scss +14 -14
- package/lib/cjs/appui-react/childwindow/PopoutWidget.js.map +1 -1
- package/lib/cjs/appui-react/childwindow/PopoutWidget.scss +10 -10
- package/lib/cjs/appui-react/configurableui/ActivityTracker.js.map +1 -1
- package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
- package/lib/cjs/appui-react/configurableui/ConfigurableUiControl.js.map +1 -1
- package/lib/cjs/appui-react/configurableui/ConfigurableUiManager.js.map +1 -1
- package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.js.map +1 -1
- package/lib/cjs/appui-react/configurableui/TimeTracker.js.map +1 -1
- package/lib/cjs/appui-react/configurableui/configurableui.scss +74 -74
- package/lib/cjs/appui-react/configurableui/state.js.map +1 -1
- package/lib/cjs/appui-react/content/ContentControl.js.map +1 -1
- package/lib/cjs/appui-react/content/ContentGroup.js.map +1 -1
- package/lib/cjs/appui-react/content/ContentLayout.js.map +1 -1
- package/lib/cjs/appui-react/content/ContentLayout.scss +99 -99
- package/lib/cjs/appui-react/content/ContentLayoutManager.js.map +1 -1
- package/lib/cjs/appui-react/content/ContentViewManager.js.map +1 -1
- package/lib/cjs/appui-react/content/DefaultViewOverlay.js.map +1 -1
- package/lib/cjs/appui-react/content/DefaultViewOverlay.scss +46 -46
- package/lib/cjs/appui-react/content/FloatingViewportContent.js.map +1 -1
- package/lib/cjs/appui-react/content/IModelViewport.js.map +1 -1
- package/lib/cjs/appui-react/content/InternalContentLayoutManager.js.map +1 -1
- package/lib/cjs/appui-react/content/InternalContentViewManager.js.map +1 -1
- package/lib/cjs/appui-react/content/StageContentLayout.js.map +1 -1
- package/lib/cjs/appui-react/content/ViewStateHelper.js.map +1 -1
- package/lib/cjs/appui-react/content/ViewportContentControl.js.map +1 -1
- package/lib/cjs/appui-react/content/split-pane/Pane.js.map +1 -1
- package/lib/cjs/appui-react/content/split-pane/Resizer.js.map +1 -1
- package/lib/cjs/appui-react/content/split-pane/SplitPane.js.map +1 -1
- package/lib/cjs/appui-react/cursor/CursorInformation.js.map +1 -1
- package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
- package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.js.map +1 -1
- package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.scss +34 -34
- package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopupManager.js.map +1 -1
- package/lib/cjs/appui-react/cursor/cursorprompt/CursorPrompt.js.map +1 -1
- package/lib/cjs/appui-react/cursor/cursorprompt/CursorPrompt.scss +30 -30
- package/lib/cjs/appui-react/dialog/ContentDialog.js.map +1 -1
- package/lib/cjs/appui-react/dialog/ContentDialog.scss +25 -25
- package/lib/cjs/appui-react/dialog/ContentDialogManager.js.map +1 -1
- package/lib/cjs/appui-react/dialog/DialogManagerBase.js.map +1 -1
- package/lib/cjs/appui-react/dialog/InternalContentDialogManager.js.map +1 -1
- package/lib/cjs/appui-react/dialog/InternalModalDialogManager.js.map +1 -1
- package/lib/cjs/appui-react/dialog/InternalModelessDialogManager.js.map +1 -1
- package/lib/cjs/appui-react/dialog/ModalDialogManager.js.map +1 -1
- package/lib/cjs/appui-react/dialog/ModelessDialog.js.map +1 -1
- package/lib/cjs/appui-react/dialog/ModelessDialogManager.js.map +1 -1
- package/lib/cjs/appui-react/dialog/StandardMessageBox.js.map +1 -1
- package/lib/cjs/appui-react/dialog/UiDataProvidedDialog.js.map +1 -1
- package/lib/cjs/appui-react/feedback/ElementTooltip.js.map +1 -1
- package/lib/cjs/appui-react/feedback/ValidationTextbox.js.map +1 -1
- package/lib/cjs/appui-react/feedback/ValidationTextbox.scss +50 -50
- package/lib/cjs/appui-react/framework/FrameworkBackstage.js.map +1 -1
- package/lib/cjs/appui-react/framework/FrameworkChildWindows.js.map +1 -1
- package/lib/cjs/appui-react/framework/FrameworkContent.js.map +1 -1
- package/lib/cjs/appui-react/framework/FrameworkControls.js.map +1 -1
- package/lib/cjs/appui-react/framework/FrameworkDialogs.js.map +1 -1
- package/lib/cjs/appui-react/framework/FrameworkFrontstages.js.map +1 -1
- package/lib/cjs/appui-react/framework/FrameworkKeyboardShortcuts.js.map +1 -1
- package/lib/cjs/appui-react/framework/FrameworkToolSettings.js.map +1 -1
- package/lib/cjs/appui-react/framework/FrameworkVisibility.js.map +1 -1
- package/lib/cjs/appui-react/frontstage/FrontstageConfig.js.map +1 -1
- package/lib/cjs/appui-react/frontstage/FrontstageDef.js.map +1 -1
- package/lib/cjs/appui-react/frontstage/FrontstageManager.js.map +1 -1
- package/lib/cjs/appui-react/frontstage/FrontstageProvider.js.map +1 -1
- package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.js.map +1 -1
- package/lib/cjs/appui-react/frontstage/ModalFrontstage.js.map +1 -1
- package/lib/cjs/appui-react/frontstage/ModalFrontstage.scss +80 -80
- package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
- package/lib/cjs/appui-react/frontstage/ModalSettingsStage.scss +11 -11
- package/lib/cjs/appui-react/frontstage/NestedFrontstage.js.map +1 -1
- package/lib/cjs/appui-react/frontstage/StageUsage.js.map +1 -1
- package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
- package/lib/cjs/appui-react/hooks/useActiveIModelConnection.js.map +1 -1
- package/lib/cjs/appui-react/hooks/useActiveStageId.js.map +1 -1
- package/lib/cjs/appui-react/hooks/useActiveViewport.js.map +1 -1
- package/lib/cjs/appui-react/hooks/useAnalysisAnimationDataProvider.js.map +1 -1
- package/lib/cjs/appui-react/hooks/useAvailableUiItemsProviders.js.map +1 -1
- package/lib/cjs/appui-react/hooks/useEscapeSetFocusToHome.js.map +1 -1
- package/lib/cjs/appui-react/hooks/useScheduleAnimationDataProvider.js.map +1 -1
- package/lib/cjs/appui-react/hooks/useSolarDataProvider.js.map +1 -1
- package/lib/cjs/appui-react/hooks/useUiVisibility.js.map +1 -1
- package/lib/cjs/appui-react/keyboardshortcut/InternalKeyboardShortcut.js.map +1 -1
- package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcut.js.map +1 -1
- package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutMenu.js.map +1 -1
- package/lib/cjs/appui-react/messages/ActivityMessage.js.map +1 -1
- package/lib/cjs/appui-react/messages/AppNotificationManager.js.map +1 -1
- package/lib/cjs/appui-react/messages/HollowIcon.js.map +1 -1
- package/lib/cjs/appui-react/messages/InputField.js.map +1 -1
- package/lib/cjs/appui-react/messages/InputField.scss +82 -82
- package/lib/cjs/appui-react/messages/MessageLabel.js.map +1 -1
- package/lib/cjs/appui-react/messages/MessageManager.js.map +1 -1
- package/lib/cjs/appui-react/messages/MessageSpan.js.map +1 -1
- package/lib/cjs/appui-react/messages/Pointer.js.map +1 -1
- package/lib/cjs/appui-react/messages/Pointer.scss +42 -42
- package/lib/cjs/appui-react/messages/ReactNotifyMessageDetails.js.map +1 -1
- package/lib/cjs/appui-react/messages/StatusMessageManager.js.map +1 -1
- package/lib/cjs/appui-react/messages/getToastCategory.js.map +1 -1
- package/lib/cjs/appui-react/navigationaids/CubeNavigationAidControl.js.map +1 -1
- package/lib/cjs/appui-react/navigationaids/DrawingNavigationAidControl.js.map +1 -1
- package/lib/cjs/appui-react/navigationaids/NavigationAidControl.js.map +1 -1
- package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
- package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.scss +67 -67
- package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
- package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.scss +72 -72
- package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
- package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.scss +13 -13
- package/lib/cjs/appui-react/pickers/ListPicker.d.ts +3 -0
- package/lib/cjs/appui-react/pickers/ListPicker.d.ts.map +1 -1
- package/lib/cjs/appui-react/pickers/ListPicker.js +3 -1
- package/lib/cjs/appui-react/pickers/ListPicker.js.map +1 -1
- package/lib/cjs/appui-react/pickers/ListPicker.scss +306 -299
- package/lib/cjs/appui-react/pickers/ViewSelector.d.ts +6 -1
- package/lib/cjs/appui-react/pickers/ViewSelector.d.ts.map +1 -1
- package/lib/cjs/appui-react/pickers/ViewSelector.js +24 -9
- package/lib/cjs/appui-react/pickers/ViewSelector.js.map +1 -1
- package/lib/cjs/appui-react/popup/CardPopup.js.map +1 -1
- package/lib/cjs/appui-react/popup/CardPopup.scss +25 -25
- package/lib/cjs/appui-react/popup/HTMLElementPopup.js.map +1 -1
- package/lib/cjs/appui-react/popup/InputEditorPopup.js.map +1 -1
- package/lib/cjs/appui-react/popup/KeyinPalettePanel.js.map +1 -1
- package/lib/cjs/appui-react/popup/KeyinPalettePanel.scss +30 -30
- package/lib/cjs/appui-react/popup/KeyinPalettePopup.js.map +1 -1
- package/lib/cjs/appui-react/popup/PopupManager.js.map +1 -1
- package/lib/cjs/appui-react/popup/PositionPopup.js.map +1 -1
- package/lib/cjs/appui-react/popup/PositionPopup.scss +28 -28
- package/lib/cjs/appui-react/popup/ToolSettingsPopup.js.map +1 -1
- package/lib/cjs/appui-react/popup/ToolbarPopup.js.map +1 -1
- package/lib/cjs/appui-react/redux/FrameworkState.js.map +1 -1
- package/lib/cjs/appui-react/redux/ReducerRegistry.js.map +1 -1
- package/lib/cjs/appui-react/redux/SessionState.js.map +1 -1
- package/lib/cjs/appui-react/redux/StateManager.js.map +1 -1
- package/lib/cjs/appui-react/redux/connectIModel.js.map +1 -1
- package/lib/cjs/appui-react/redux/redux-ts.js.map +1 -1
- package/lib/cjs/appui-react/safearea/SafeAreaContext.js.map +1 -1
- package/lib/cjs/appui-react/safearea/SafeAreaHelpers.js.map +1 -1
- package/lib/cjs/appui-react/safearea/SafeAreaInsets.js.map +1 -1
- package/lib/cjs/appui-react/selection/HideIsolateEmphasizeManager.js.map +1 -1
- package/lib/cjs/appui-react/selection/SelectionContextItemDef.js.map +1 -1
- package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
- package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.scss +119 -119
- package/lib/cjs/appui-react/settings/quantityformatting/UnitSystemSelector.js.map +1 -1
- package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
- package/lib/cjs/appui-react/settings/ui/UiSettingsPage.scss +65 -65
- package/lib/cjs/appui-react/shared/ActionButtonItemDef.js.map +1 -1
- package/lib/cjs/appui-react/shared/AnyItemDef.js.map +1 -1
- package/lib/cjs/appui-react/shared/AnyToolbarItemDef.js.map +1 -1
- package/lib/cjs/appui-react/shared/CommandItemDef.js.map +1 -1
- package/lib/cjs/appui-react/shared/CustomItemDef.js.map +1 -1
- package/lib/cjs/appui-react/shared/CustomItemProps.js.map +1 -1
- package/lib/cjs/appui-react/shared/GroupItemProps.js.map +1 -1
- package/lib/cjs/appui-react/shared/ItemDefBase.js.map +1 -1
- package/lib/cjs/appui-react/shared/ItemMap.js.map +1 -1
- package/lib/cjs/appui-react/shared/ItemProps.js.map +1 -1
- package/lib/cjs/appui-react/shared/MenuItem.js.map +1 -1
- package/lib/cjs/appui-react/shared/SelectionScope.js.map +1 -1
- package/lib/cjs/appui-react/shared/ToolItemDef.js.map +1 -1
- package/lib/cjs/appui-react/stagepanels/StagePanelConfig.js.map +1 -1
- package/lib/cjs/appui-react/stagepanels/StagePanelDef.js.map +1 -1
- package/lib/cjs/appui-react/stagepanels/StagePanelLocation.js.map +1 -1
- package/lib/cjs/appui-react/stagepanels/StagePanelSection.js.map +1 -1
- package/lib/cjs/appui-react/statusbar/Field.js.map +1 -1
- package/lib/cjs/appui-react/statusbar/Field.scss +109 -109
- package/lib/cjs/appui-react/statusbar/Indicator.js.map +1 -1
- package/lib/cjs/appui-react/statusbar/LabelIndicator.js.map +1 -1
- package/lib/cjs/appui-react/statusbar/LabelIndicator.scss +43 -43
- package/lib/cjs/appui-react/statusbar/Overflow.js.map +1 -1
- package/lib/cjs/appui-react/statusbar/Overflow.scss +27 -27
- package/lib/cjs/appui-react/statusbar/OverflowPanel.js.map +1 -1
- package/lib/cjs/appui-react/statusbar/OverflowPanel.scss +22 -22
- package/lib/cjs/appui-react/statusbar/Popup.js.map +1 -1
- package/lib/cjs/appui-react/statusbar/Separator.js.map +1 -1
- package/lib/cjs/appui-react/statusbar/Separator.scss +12 -12
- package/lib/cjs/appui-react/statusbar/StatusBar.js.map +1 -1
- package/lib/cjs/appui-react/statusbar/StatusBar.scss +41 -41
- package/lib/cjs/appui-react/statusbar/StatusBarComposer.js.map +1 -1
- package/lib/cjs/appui-react/statusbar/StatusBarItem.js.map +1 -1
- package/lib/cjs/appui-react/statusbar/StatusBarItemUtilities.js.map +1 -1
- package/lib/cjs/appui-react/statusbar/StatusBarItemsManager.js.map +1 -1
- package/lib/cjs/appui-react/statusbar/StatusBarWidgetControl.js.map +1 -1
- package/lib/cjs/appui-react/statusbar/dialog/Button.js.map +1 -1
- package/lib/cjs/appui-react/statusbar/dialog/Dialog.js.map +1 -1
- package/lib/cjs/appui-react/statusbar/dialog/TitleBar.js.map +1 -1
- package/lib/cjs/appui-react/statusbar/useDefaultStatusBarItems.js.map +1 -1
- package/lib/cjs/appui-react/statusbar/useUiItemsProviderStatusBarItems.js.map +1 -1
- package/lib/cjs/appui-react/statusfields/ActivityCenter.js.map +1 -1
- package/lib/cjs/appui-react/statusfields/MessageCenter.js.map +1 -1
- package/lib/cjs/appui-react/statusfields/SectionsField.js.map +1 -1
- package/lib/cjs/appui-react/statusfields/SectionsField.scss +35 -35
- package/lib/cjs/appui-react/statusfields/SelectionInfo.js.map +1 -1
- package/lib/cjs/appui-react/statusfields/SelectionInfo.scss +14 -14
- package/lib/cjs/appui-react/statusfields/SelectionScope.js.map +1 -1
- package/lib/cjs/appui-react/statusfields/SelectionScope.scss +46 -46
- package/lib/cjs/appui-react/statusfields/SnapMode.js.map +1 -1
- package/lib/cjs/appui-react/statusfields/ViewAttributes.js.map +1 -1
- package/lib/cjs/appui-react/statusfields/ViewAttributes.scss +10 -10
- package/lib/cjs/appui-react/statusfields/tileloading/TileLoadingIndicator.js.map +1 -1
- package/lib/cjs/appui-react/statusfields/tileloading/TileLoadingIndicator.scss +45 -45
- package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
- package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.scss +194 -194
- package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.js.map +1 -1
- package/lib/cjs/appui-react/theme/ThemeManager.js.map +1 -1
- package/lib/cjs/appui-react/timeline/AnalysisAnimationProvider.js.map +1 -1
- package/lib/cjs/appui-react/timeline/ScheduleAnimationProvider.js.map +1 -1
- package/lib/cjs/appui-react/timeline/SolarTimelineDataProvider.js.map +1 -1
- package/lib/cjs/appui-react/toolbar/DragInteraction.js.map +1 -1
- package/lib/cjs/appui-react/toolbar/GroupItem.js.map +1 -1
- package/lib/cjs/appui-react/toolbar/ToolbarComposer.js.map +1 -1
- package/lib/cjs/appui-react/toolbar/ToolbarHelper.js.map +1 -1
- package/lib/cjs/appui-react/toolbar/ToolbarItem.js.map +1 -1
- package/lib/cjs/appui-react/toolbar/ToolbarItemUtilities.js.map +1 -1
- package/lib/cjs/appui-react/toolbar/ToolbarItemsManager.js.map +1 -1
- package/lib/cjs/appui-react/toolbar/toUIAToolbarItem.js.map +1 -1
- package/lib/cjs/appui-react/toolbar/useDefaultToolbarItems.js.map +1 -1
- package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.js.map +1 -1
- package/lib/cjs/appui-react/tools/CoreToolDefinitions.js.map +1 -1
- package/lib/cjs/appui-react/tools/FrameworkToolAdmin.js.map +1 -1
- package/lib/cjs/appui-react/tools/KeyinPaletteTools.js.map +1 -1
- package/lib/cjs/appui-react/tools/OpenSettingsTool.js.map +1 -1
- package/lib/cjs/appui-react/tools/RestoreLayoutTool.js.map +1 -1
- package/lib/cjs/appui-react/tools/ToolSettingsTools.js.map +1 -1
- package/lib/cjs/appui-react/toolsettings/DefaultToolSettingsProvider.js.map +1 -1
- package/lib/cjs/appui-react/toolsettings/InternalToolSettingsManager.js.map +1 -1
- package/lib/cjs/appui-react/toolsettings/ToolInformation.js.map +1 -1
- package/lib/cjs/appui-react/toolsettings/ToolSettingsManager.js.map +1 -1
- package/lib/cjs/appui-react/toolsettings/ToolUiProvider.js.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/BaseUiItemsProvider.js.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/ProviderItem.js.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.js.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.js.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.js.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/UiItemsProvider.js.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/isProviderItem.js.map +1 -1
- package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.js.map +1 -1
- package/lib/cjs/appui-react/uiprovider/ComponentGenerator.js.map +1 -1
- package/lib/cjs/appui-react/uiprovider/DefaultDialogGridContainer.js.map +1 -1
- package/lib/cjs/appui-react/uiprovider/DefaultDialogGridContainer.scss +212 -212
- package/lib/cjs/appui-react/uistate/AppUiSettings.js.map +1 -1
- package/lib/cjs/appui-react/uistate/useUiStateStorage.js.map +1 -1
- package/lib/cjs/appui-react/utils/InternalUiShowHideManager.js.map +1 -1
- package/lib/cjs/appui-react/utils/PropsHelper.js.map +1 -1
- package/lib/cjs/appui-react/utils/ToolbarButtonHelper.js.map +1 -1
- package/lib/cjs/appui-react/utils/UiShowHideManager.js.map +1 -1
- package/lib/cjs/appui-react/utils/ViewUtilities.js.map +1 -1
- package/lib/cjs/appui-react/widget-panels/Content.js.map +1 -1
- package/lib/cjs/appui-react/widget-panels/FloatingWidget.js.map +1 -1
- package/lib/cjs/appui-react/widget-panels/Frontstage.js.map +1 -1
- package/lib/cjs/appui-react/widget-panels/Frontstage.scss +19 -19
- package/lib/cjs/appui-react/widget-panels/FrontstageContent.js.map +1 -1
- package/lib/cjs/appui-react/widget-panels/ModalFrontstageComposer.js.map +1 -1
- package/lib/cjs/appui-react/widget-panels/StatusBar.js.map +1 -1
- package/lib/cjs/appui-react/widget-panels/StatusBar.scss +10 -10
- package/lib/cjs/appui-react/widget-panels/Tab.js.map +1 -1
- package/lib/cjs/appui-react/widget-panels/Tab.scss +14 -14
- package/lib/cjs/appui-react/widget-panels/ToolSettings.js.map +1 -1
- package/lib/cjs/appui-react/widget-panels/ToolSettings.scss +41 -41
- package/lib/cjs/appui-react/widget-panels/Toolbars.js.map +1 -1
- package/lib/cjs/appui-react/widget-panels/Toolbars.scss +20 -20
- package/lib/cjs/appui-react/widget-panels/useTransientState.js.map +1 -1
- package/lib/cjs/appui-react/widget-panels/useWidgetDirection.js.map +1 -1
- package/lib/cjs/appui-react/widgets/BackstageAppButton.js.map +1 -1
- package/lib/cjs/appui-react/widgets/BasicNavigationWidget.js.map +1 -1
- package/lib/cjs/appui-react/widgets/BasicToolWidget.js.map +1 -1
- package/lib/cjs/appui-react/widgets/ContentToolWidgetComposer.js.map +1 -1
- package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
- package/lib/cjs/appui-react/widgets/StableWidgetDef.js.map +1 -1
- package/lib/cjs/appui-react/widgets/StatusBarWidgetComposerControl.js.map +1 -1
- package/lib/cjs/appui-react/widgets/ToolSettingsContent.js.map +1 -1
- package/lib/cjs/appui-react/widgets/ToolWidgetComposer.js.map +1 -1
- package/lib/cjs/appui-react/widgets/ViewToolWidgetComposer.js.map +1 -1
- package/lib/cjs/appui-react/widgets/Widget.js.map +1 -1
- package/lib/cjs/appui-react/widgets/WidgetConfig.js.map +1 -1
- package/lib/cjs/appui-react/widgets/WidgetControl.js.map +1 -1
- package/lib/cjs/appui-react/widgets/WidgetDef.js.map +1 -1
- package/lib/cjs/appui-react/widgets/WidgetHost.js.map +1 -1
- package/lib/cjs/appui-react/widgets/WidgetManager.js.map +1 -1
- package/lib/cjs/appui-react/widgets/WidgetState.js.map +1 -1
- package/lib/cjs/appui-react.js.map +1 -1
- package/lib/esm/appui-react/UiFramework.js.map +1 -1
- package/lib/esm/appui-react/_variables.scss +11 -11
- package/lib/esm/appui-react/accudraw/AccuDrawCommandItems.js.map +1 -1
- package/lib/esm/appui-react/accudraw/AccuDrawDialog.js.map +1 -1
- package/lib/esm/appui-react/accudraw/AccuDrawDialog.scss +14 -14
- package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.js.map +1 -1
- package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.scss +27 -27
- package/lib/esm/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
- package/lib/esm/appui-react/accudraw/AccuDrawInputField.scss +55 -55
- package/lib/esm/appui-react/accudraw/AccuDrawKeyboardShortcuts.js.map +1 -1
- package/lib/esm/appui-react/accudraw/AccuDrawPopupManager.js.map +1 -1
- package/lib/esm/appui-react/accudraw/AccuDrawUiSettings.js.map +1 -1
- package/lib/esm/appui-react/accudraw/AccuDrawWidget.js.map +1 -1
- package/lib/esm/appui-react/accudraw/Calculator.js.map +1 -1
- package/lib/esm/appui-react/accudraw/Calculator.scss +84 -84
- package/lib/esm/appui-react/accudraw/CalculatorEngine.js.map +1 -1
- package/lib/esm/appui-react/accudraw/CalculatorPopup.js.map +1 -1
- package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.js.map +1 -1
- package/lib/esm/appui-react/accudraw/MenuButton.js.map +1 -1
- package/lib/esm/appui-react/accudraw/MenuButton.scss +18 -18
- package/lib/esm/appui-react/accudraw/MenuButtonPopup.js.map +1 -1
- package/lib/esm/appui-react/accudraw/SquareButton.js.map +1 -1
- package/lib/esm/appui-react/accudraw/SquareButton.scss +29 -29
- package/lib/esm/appui-react/accudraw/backspace.svg +9 -9
- package/lib/esm/appui-react/accudraw/constraint-2d.svg +11 -11
- package/lib/esm/appui-react/accudraw/height-2.svg +10 -10
- package/lib/esm/appui-react/accudraw/height.svg +11 -11
- package/lib/esm/appui-react/backstage/BackstageComposer.js.map +1 -1
- package/lib/esm/appui-react/backstage/BackstageComposerItem.js.map +1 -1
- package/lib/esm/appui-react/backstage/BackstageItem.js.map +1 -1
- package/lib/esm/appui-react/backstage/BackstageItemUtilities.js.map +1 -1
- package/lib/esm/appui-react/backstage/BackstageItemsManager.js.map +1 -1
- package/lib/esm/appui-react/backstage/BackstageManager.js.map +1 -1
- package/lib/esm/appui-react/backstage/InternalBackstageManager.js.map +1 -1
- package/lib/esm/appui-react/backstage/useDefaultBackstageItems.js.map +1 -1
- package/lib/esm/appui-react/backstage/useUiItemsProviderBackstageItems.js.map +1 -1
- package/lib/esm/appui-react/childwindow/ChildWindowManager.js.map +1 -1
- package/lib/esm/appui-react/childwindow/CopyStyles.js.map +1 -1
- package/lib/esm/appui-react/childwindow/InternalChildWindowManager.js +21 -21
- package/lib/esm/appui-react/childwindow/InternalChildWindowManager.js.map +1 -1
- package/lib/esm/appui-react/childwindow/InternalChildWindowManager.scss +14 -14
- package/lib/esm/appui-react/childwindow/PopoutWidget.js.map +1 -1
- package/lib/esm/appui-react/childwindow/PopoutWidget.scss +10 -10
- package/lib/esm/appui-react/configurableui/ActivityTracker.js.map +1 -1
- package/lib/esm/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
- package/lib/esm/appui-react/configurableui/ConfigurableUiControl.js.map +1 -1
- package/lib/esm/appui-react/configurableui/ConfigurableUiManager.js.map +1 -1
- package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.js.map +1 -1
- package/lib/esm/appui-react/configurableui/TimeTracker.js.map +1 -1
- package/lib/esm/appui-react/configurableui/configurableui.scss +74 -74
- package/lib/esm/appui-react/configurableui/state.js.map +1 -1
- package/lib/esm/appui-react/content/ContentControl.js.map +1 -1
- package/lib/esm/appui-react/content/ContentGroup.js.map +1 -1
- package/lib/esm/appui-react/content/ContentLayout.js.map +1 -1
- package/lib/esm/appui-react/content/ContentLayout.scss +99 -99
- package/lib/esm/appui-react/content/ContentLayoutManager.js.map +1 -1
- package/lib/esm/appui-react/content/ContentViewManager.js.map +1 -1
- package/lib/esm/appui-react/content/DefaultViewOverlay.js.map +1 -1
- package/lib/esm/appui-react/content/DefaultViewOverlay.scss +46 -46
- package/lib/esm/appui-react/content/FloatingViewportContent.js.map +1 -1
- package/lib/esm/appui-react/content/IModelViewport.js.map +1 -1
- package/lib/esm/appui-react/content/InternalContentLayoutManager.js.map +1 -1
- package/lib/esm/appui-react/content/InternalContentViewManager.js.map +1 -1
- package/lib/esm/appui-react/content/StageContentLayout.js.map +1 -1
- package/lib/esm/appui-react/content/ViewStateHelper.js.map +1 -1
- package/lib/esm/appui-react/content/ViewportContentControl.js.map +1 -1
- package/lib/esm/appui-react/content/split-pane/Pane.js.map +1 -1
- package/lib/esm/appui-react/content/split-pane/Resizer.js.map +1 -1
- package/lib/esm/appui-react/content/split-pane/SplitPane.js.map +1 -1
- package/lib/esm/appui-react/cursor/CursorInformation.js.map +1 -1
- package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
- package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.js.map +1 -1
- package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.scss +34 -34
- package/lib/esm/appui-react/cursor/cursorpopup/CursorPopupManager.js.map +1 -1
- package/lib/esm/appui-react/cursor/cursorprompt/CursorPrompt.js.map +1 -1
- package/lib/esm/appui-react/cursor/cursorprompt/CursorPrompt.scss +30 -30
- package/lib/esm/appui-react/dialog/ContentDialog.js.map +1 -1
- package/lib/esm/appui-react/dialog/ContentDialog.scss +25 -25
- package/lib/esm/appui-react/dialog/ContentDialogManager.js.map +1 -1
- package/lib/esm/appui-react/dialog/DialogManagerBase.js.map +1 -1
- package/lib/esm/appui-react/dialog/InternalContentDialogManager.js.map +1 -1
- package/lib/esm/appui-react/dialog/InternalModalDialogManager.js.map +1 -1
- package/lib/esm/appui-react/dialog/InternalModelessDialogManager.js.map +1 -1
- package/lib/esm/appui-react/dialog/ModalDialogManager.js.map +1 -1
- package/lib/esm/appui-react/dialog/ModelessDialog.js.map +1 -1
- package/lib/esm/appui-react/dialog/ModelessDialogManager.js.map +1 -1
- package/lib/esm/appui-react/dialog/StandardMessageBox.js.map +1 -1
- package/lib/esm/appui-react/dialog/UiDataProvidedDialog.js.map +1 -1
- package/lib/esm/appui-react/feedback/ElementTooltip.js.map +1 -1
- package/lib/esm/appui-react/feedback/ValidationTextbox.js.map +1 -1
- package/lib/esm/appui-react/feedback/ValidationTextbox.scss +50 -50
- package/lib/esm/appui-react/framework/FrameworkBackstage.js.map +1 -1
- package/lib/esm/appui-react/framework/FrameworkChildWindows.js.map +1 -1
- package/lib/esm/appui-react/framework/FrameworkContent.js.map +1 -1
- package/lib/esm/appui-react/framework/FrameworkControls.js.map +1 -1
- package/lib/esm/appui-react/framework/FrameworkDialogs.js.map +1 -1
- package/lib/esm/appui-react/framework/FrameworkFrontstages.js.map +1 -1
- package/lib/esm/appui-react/framework/FrameworkKeyboardShortcuts.js.map +1 -1
- package/lib/esm/appui-react/framework/FrameworkToolSettings.js.map +1 -1
- package/lib/esm/appui-react/framework/FrameworkVisibility.js.map +1 -1
- package/lib/esm/appui-react/frontstage/FrontstageConfig.js.map +1 -1
- package/lib/esm/appui-react/frontstage/FrontstageDef.js.map +1 -1
- package/lib/esm/appui-react/frontstage/FrontstageManager.js.map +1 -1
- package/lib/esm/appui-react/frontstage/FrontstageProvider.js.map +1 -1
- package/lib/esm/appui-react/frontstage/InternalFrontstageManager.js.map +1 -1
- package/lib/esm/appui-react/frontstage/ModalFrontstage.js.map +1 -1
- package/lib/esm/appui-react/frontstage/ModalFrontstage.scss +80 -80
- package/lib/esm/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
- package/lib/esm/appui-react/frontstage/ModalSettingsStage.scss +11 -11
- package/lib/esm/appui-react/frontstage/NestedFrontstage.js.map +1 -1
- package/lib/esm/appui-react/frontstage/StageUsage.js.map +1 -1
- package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
- package/lib/esm/appui-react/hooks/useActiveIModelConnection.js.map +1 -1
- package/lib/esm/appui-react/hooks/useActiveStageId.js.map +1 -1
- package/lib/esm/appui-react/hooks/useActiveViewport.js.map +1 -1
- package/lib/esm/appui-react/hooks/useAnalysisAnimationDataProvider.js.map +1 -1
- package/lib/esm/appui-react/hooks/useAvailableUiItemsProviders.js.map +1 -1
- package/lib/esm/appui-react/hooks/useEscapeSetFocusToHome.js.map +1 -1
- package/lib/esm/appui-react/hooks/useScheduleAnimationDataProvider.js.map +1 -1
- package/lib/esm/appui-react/hooks/useSolarDataProvider.js.map +1 -1
- package/lib/esm/appui-react/hooks/useUiVisibility.js.map +1 -1
- package/lib/esm/appui-react/keyboardshortcut/InternalKeyboardShortcut.js.map +1 -1
- package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcut.js.map +1 -1
- package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutMenu.js.map +1 -1
- package/lib/esm/appui-react/messages/ActivityMessage.js.map +1 -1
- package/lib/esm/appui-react/messages/AppNotificationManager.js.map +1 -1
- package/lib/esm/appui-react/messages/HollowIcon.js.map +1 -1
- package/lib/esm/appui-react/messages/InputField.js.map +1 -1
- package/lib/esm/appui-react/messages/InputField.scss +82 -82
- package/lib/esm/appui-react/messages/MessageLabel.js.map +1 -1
- package/lib/esm/appui-react/messages/MessageManager.js.map +1 -1
- package/lib/esm/appui-react/messages/MessageSpan.js.map +1 -1
- package/lib/esm/appui-react/messages/Pointer.js.map +1 -1
- package/lib/esm/appui-react/messages/Pointer.scss +42 -42
- package/lib/esm/appui-react/messages/ReactNotifyMessageDetails.js.map +1 -1
- package/lib/esm/appui-react/messages/StatusMessageManager.js.map +1 -1
- package/lib/esm/appui-react/messages/getToastCategory.js.map +1 -1
- package/lib/esm/appui-react/navigationaids/CubeNavigationAidControl.js.map +1 -1
- package/lib/esm/appui-react/navigationaids/DrawingNavigationAidControl.js.map +1 -1
- package/lib/esm/appui-react/navigationaids/NavigationAidControl.js.map +1 -1
- package/lib/esm/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
- package/lib/esm/appui-react/navigationaids/SheetNavigationAid.scss +67 -67
- package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
- package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.scss +72 -72
- package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
- package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.scss +13 -13
- package/lib/esm/appui-react/pickers/ListPicker.d.ts +3 -0
- package/lib/esm/appui-react/pickers/ListPicker.d.ts.map +1 -1
- package/lib/esm/appui-react/pickers/ListPicker.js +4 -2
- package/lib/esm/appui-react/pickers/ListPicker.js.map +1 -1
- package/lib/esm/appui-react/pickers/ListPicker.scss +306 -299
- package/lib/esm/appui-react/pickers/ViewSelector.d.ts +6 -1
- package/lib/esm/appui-react/pickers/ViewSelector.d.ts.map +1 -1
- package/lib/esm/appui-react/pickers/ViewSelector.js +24 -9
- package/lib/esm/appui-react/pickers/ViewSelector.js.map +1 -1
- package/lib/esm/appui-react/popup/CardPopup.js.map +1 -1
- package/lib/esm/appui-react/popup/CardPopup.scss +25 -25
- package/lib/esm/appui-react/popup/HTMLElementPopup.js.map +1 -1
- package/lib/esm/appui-react/popup/InputEditorPopup.js.map +1 -1
- package/lib/esm/appui-react/popup/KeyinPalettePanel.js.map +1 -1
- package/lib/esm/appui-react/popup/KeyinPalettePanel.scss +30 -30
- package/lib/esm/appui-react/popup/KeyinPalettePopup.js.map +1 -1
- package/lib/esm/appui-react/popup/PopupManager.js.map +1 -1
- package/lib/esm/appui-react/popup/PositionPopup.js.map +1 -1
- package/lib/esm/appui-react/popup/PositionPopup.scss +28 -28
- package/lib/esm/appui-react/popup/ToolSettingsPopup.js.map +1 -1
- package/lib/esm/appui-react/popup/ToolbarPopup.js.map +1 -1
- package/lib/esm/appui-react/redux/FrameworkState.js.map +1 -1
- package/lib/esm/appui-react/redux/ReducerRegistry.js.map +1 -1
- package/lib/esm/appui-react/redux/SessionState.js.map +1 -1
- package/lib/esm/appui-react/redux/StateManager.js.map +1 -1
- package/lib/esm/appui-react/redux/connectIModel.js.map +1 -1
- package/lib/esm/appui-react/redux/redux-ts.js.map +1 -1
- package/lib/esm/appui-react/safearea/SafeAreaContext.js.map +1 -1
- package/lib/esm/appui-react/safearea/SafeAreaHelpers.js.map +1 -1
- package/lib/esm/appui-react/safearea/SafeAreaInsets.js.map +1 -1
- package/lib/esm/appui-react/selection/HideIsolateEmphasizeManager.js.map +1 -1
- package/lib/esm/appui-react/selection/SelectionContextItemDef.js.map +1 -1
- package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
- package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.scss +119 -119
- package/lib/esm/appui-react/settings/quantityformatting/UnitSystemSelector.js.map +1 -1
- package/lib/esm/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
- package/lib/esm/appui-react/settings/ui/UiSettingsPage.scss +65 -65
- package/lib/esm/appui-react/shared/ActionButtonItemDef.js.map +1 -1
- package/lib/esm/appui-react/shared/AnyItemDef.js.map +1 -1
- package/lib/esm/appui-react/shared/AnyToolbarItemDef.js.map +1 -1
- package/lib/esm/appui-react/shared/CommandItemDef.js.map +1 -1
- package/lib/esm/appui-react/shared/CustomItemDef.js.map +1 -1
- package/lib/esm/appui-react/shared/CustomItemProps.js.map +1 -1
- package/lib/esm/appui-react/shared/GroupItemProps.js.map +1 -1
- package/lib/esm/appui-react/shared/ItemDefBase.js.map +1 -1
- package/lib/esm/appui-react/shared/ItemMap.js.map +1 -1
- package/lib/esm/appui-react/shared/ItemProps.js.map +1 -1
- package/lib/esm/appui-react/shared/MenuItem.js.map +1 -1
- package/lib/esm/appui-react/shared/SelectionScope.js.map +1 -1
- package/lib/esm/appui-react/shared/ToolItemDef.js.map +1 -1
- package/lib/esm/appui-react/stagepanels/StagePanelConfig.js.map +1 -1
- package/lib/esm/appui-react/stagepanels/StagePanelDef.js.map +1 -1
- package/lib/esm/appui-react/stagepanels/StagePanelLocation.js.map +1 -1
- package/lib/esm/appui-react/stagepanels/StagePanelSection.js.map +1 -1
- package/lib/esm/appui-react/statusbar/Field.js.map +1 -1
- package/lib/esm/appui-react/statusbar/Field.scss +109 -109
- package/lib/esm/appui-react/statusbar/Indicator.js.map +1 -1
- package/lib/esm/appui-react/statusbar/LabelIndicator.js.map +1 -1
- package/lib/esm/appui-react/statusbar/LabelIndicator.scss +43 -43
- package/lib/esm/appui-react/statusbar/Overflow.js.map +1 -1
- package/lib/esm/appui-react/statusbar/Overflow.scss +27 -27
- package/lib/esm/appui-react/statusbar/OverflowPanel.js.map +1 -1
- package/lib/esm/appui-react/statusbar/OverflowPanel.scss +22 -22
- package/lib/esm/appui-react/statusbar/Popup.js.map +1 -1
- package/lib/esm/appui-react/statusbar/Separator.js.map +1 -1
- package/lib/esm/appui-react/statusbar/Separator.scss +12 -12
- package/lib/esm/appui-react/statusbar/StatusBar.js.map +1 -1
- package/lib/esm/appui-react/statusbar/StatusBar.scss +41 -41
- package/lib/esm/appui-react/statusbar/StatusBarComposer.js.map +1 -1
- package/lib/esm/appui-react/statusbar/StatusBarItem.js.map +1 -1
- package/lib/esm/appui-react/statusbar/StatusBarItemUtilities.js.map +1 -1
- package/lib/esm/appui-react/statusbar/StatusBarItemsManager.js.map +1 -1
- package/lib/esm/appui-react/statusbar/StatusBarWidgetControl.js.map +1 -1
- package/lib/esm/appui-react/statusbar/dialog/Button.js.map +1 -1
- package/lib/esm/appui-react/statusbar/dialog/Dialog.js.map +1 -1
- package/lib/esm/appui-react/statusbar/dialog/TitleBar.js.map +1 -1
- package/lib/esm/appui-react/statusbar/useDefaultStatusBarItems.js.map +1 -1
- package/lib/esm/appui-react/statusbar/useUiItemsProviderStatusBarItems.js.map +1 -1
- package/lib/esm/appui-react/statusfields/ActivityCenter.js.map +1 -1
- package/lib/esm/appui-react/statusfields/MessageCenter.js.map +1 -1
- package/lib/esm/appui-react/statusfields/SectionsField.js.map +1 -1
- package/lib/esm/appui-react/statusfields/SectionsField.scss +35 -35
- package/lib/esm/appui-react/statusfields/SelectionInfo.js.map +1 -1
- package/lib/esm/appui-react/statusfields/SelectionInfo.scss +14 -14
- package/lib/esm/appui-react/statusfields/SelectionScope.js.map +1 -1
- package/lib/esm/appui-react/statusfields/SelectionScope.scss +46 -46
- package/lib/esm/appui-react/statusfields/SnapMode.js.map +1 -1
- package/lib/esm/appui-react/statusfields/ViewAttributes.js.map +1 -1
- package/lib/esm/appui-react/statusfields/ViewAttributes.scss +10 -10
- package/lib/esm/appui-react/statusfields/tileloading/TileLoadingIndicator.js.map +1 -1
- package/lib/esm/appui-react/statusfields/tileloading/TileLoadingIndicator.scss +45 -45
- package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
- package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.scss +194 -194
- package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.js.map +1 -1
- package/lib/esm/appui-react/theme/ThemeManager.js.map +1 -1
- package/lib/esm/appui-react/timeline/AnalysisAnimationProvider.js.map +1 -1
- package/lib/esm/appui-react/timeline/ScheduleAnimationProvider.js.map +1 -1
- package/lib/esm/appui-react/timeline/SolarTimelineDataProvider.js.map +1 -1
- package/lib/esm/appui-react/toolbar/DragInteraction.js.map +1 -1
- package/lib/esm/appui-react/toolbar/GroupItem.js.map +1 -1
- package/lib/esm/appui-react/toolbar/ToolbarComposer.js.map +1 -1
- package/lib/esm/appui-react/toolbar/ToolbarHelper.js.map +1 -1
- package/lib/esm/appui-react/toolbar/ToolbarItem.js.map +1 -1
- package/lib/esm/appui-react/toolbar/ToolbarItemUtilities.js.map +1 -1
- package/lib/esm/appui-react/toolbar/ToolbarItemsManager.js.map +1 -1
- package/lib/esm/appui-react/toolbar/toUIAToolbarItem.js.map +1 -1
- package/lib/esm/appui-react/toolbar/useDefaultToolbarItems.js.map +1 -1
- package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.js.map +1 -1
- package/lib/esm/appui-react/tools/CoreToolDefinitions.js.map +1 -1
- package/lib/esm/appui-react/tools/FrameworkToolAdmin.js.map +1 -1
- package/lib/esm/appui-react/tools/KeyinPaletteTools.js.map +1 -1
- package/lib/esm/appui-react/tools/OpenSettingsTool.js.map +1 -1
- package/lib/esm/appui-react/tools/RestoreLayoutTool.js.map +1 -1
- package/lib/esm/appui-react/tools/ToolSettingsTools.js.map +1 -1
- package/lib/esm/appui-react/toolsettings/DefaultToolSettingsProvider.js.map +1 -1
- package/lib/esm/appui-react/toolsettings/InternalToolSettingsManager.js.map +1 -1
- package/lib/esm/appui-react/toolsettings/ToolInformation.js.map +1 -1
- package/lib/esm/appui-react/toolsettings/ToolSettingsManager.js.map +1 -1
- package/lib/esm/appui-react/toolsettings/ToolUiProvider.js.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/BaseUiItemsProvider.js.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/ProviderItem.js.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.js.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.js.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.js.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/UiItemsProvider.js.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/isProviderItem.js.map +1 -1
- package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.js.map +1 -1
- package/lib/esm/appui-react/uiprovider/ComponentGenerator.js.map +1 -1
- package/lib/esm/appui-react/uiprovider/DefaultDialogGridContainer.js.map +1 -1
- package/lib/esm/appui-react/uiprovider/DefaultDialogGridContainer.scss +212 -212
- package/lib/esm/appui-react/uistate/AppUiSettings.js.map +1 -1
- package/lib/esm/appui-react/uistate/useUiStateStorage.js.map +1 -1
- package/lib/esm/appui-react/utils/InternalUiShowHideManager.js.map +1 -1
- package/lib/esm/appui-react/utils/PropsHelper.js.map +1 -1
- package/lib/esm/appui-react/utils/ToolbarButtonHelper.js.map +1 -1
- package/lib/esm/appui-react/utils/UiShowHideManager.js.map +1 -1
- package/lib/esm/appui-react/utils/ViewUtilities.js.map +1 -1
- package/lib/esm/appui-react/widget-panels/Content.js.map +1 -1
- package/lib/esm/appui-react/widget-panels/FloatingWidget.js.map +1 -1
- package/lib/esm/appui-react/widget-panels/Frontstage.js.map +1 -1
- package/lib/esm/appui-react/widget-panels/Frontstage.scss +19 -19
- package/lib/esm/appui-react/widget-panels/FrontstageContent.js.map +1 -1
- package/lib/esm/appui-react/widget-panels/ModalFrontstageComposer.js.map +1 -1
- package/lib/esm/appui-react/widget-panels/StatusBar.js.map +1 -1
- package/lib/esm/appui-react/widget-panels/StatusBar.scss +10 -10
- package/lib/esm/appui-react/widget-panels/Tab.js.map +1 -1
- package/lib/esm/appui-react/widget-panels/Tab.scss +14 -14
- package/lib/esm/appui-react/widget-panels/ToolSettings.js.map +1 -1
- package/lib/esm/appui-react/widget-panels/ToolSettings.scss +41 -41
- package/lib/esm/appui-react/widget-panels/Toolbars.js.map +1 -1
- package/lib/esm/appui-react/widget-panels/Toolbars.scss +20 -20
- package/lib/esm/appui-react/widget-panels/useTransientState.js.map +1 -1
- package/lib/esm/appui-react/widget-panels/useWidgetDirection.js.map +1 -1
- package/lib/esm/appui-react/widgets/BackstageAppButton.js.map +1 -1
- package/lib/esm/appui-react/widgets/BasicNavigationWidget.js.map +1 -1
- package/lib/esm/appui-react/widgets/BasicToolWidget.js.map +1 -1
- package/lib/esm/appui-react/widgets/ContentToolWidgetComposer.js.map +1 -1
- package/lib/esm/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
- package/lib/esm/appui-react/widgets/StableWidgetDef.js.map +1 -1
- package/lib/esm/appui-react/widgets/StatusBarWidgetComposerControl.js.map +1 -1
- package/lib/esm/appui-react/widgets/ToolSettingsContent.js.map +1 -1
- package/lib/esm/appui-react/widgets/ToolWidgetComposer.js.map +1 -1
- package/lib/esm/appui-react/widgets/ViewToolWidgetComposer.js.map +1 -1
- package/lib/esm/appui-react/widgets/Widget.js.map +1 -1
- package/lib/esm/appui-react/widgets/WidgetConfig.js.map +1 -1
- package/lib/esm/appui-react/widgets/WidgetControl.js.map +1 -1
- package/lib/esm/appui-react/widgets/WidgetDef.js.map +1 -1
- package/lib/esm/appui-react/widgets/WidgetHost.js.map +1 -1
- package/lib/esm/appui-react/widgets/WidgetManager.js.map +1 -1
- package/lib/esm/appui-react/widgets/WidgetState.js.map +1 -1
- package/lib/esm/appui-react.js.map +1 -1
- package/lib/public/locales/en/UiFramework.json +381 -381
- package/package.json +31 -29
|
@@ -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 { ConditionalBooleanValue } from \"@itwin/appui-abstract\";\nimport { Direction, ToolbarOpacitySetting, ToolbarPanelAlignment, ToolbarWithOverflow } from \"@itwin/components-react\";\nimport { Logger } from \"@itwin/core-bentley\";\nimport { Orientation } from \"@itwin/core-react\";\nimport { SyncUiEventDispatcher } from \"../syncui/SyncUiEventDispatcher\";\nimport { UiFramework } from \"../UiFramework\";\nimport { ToolbarDragInteractionContext } from \"./DragInteraction\";\nimport { useDefaultToolbarItems } from \"./useDefaultToolbarItems\";\nimport { useUiItemsProviderToolbarItems } from \"./useUiItemsProviderToolbarItems\";\nimport { isToolbarActionItem, isToolbarGroupItem, ToolbarActionItem, ToolbarGroupItem, ToolbarItem, ToolbarOrientation, ToolbarUsage } from \"./ToolbarItem\";\nimport { ToolbarItemsManager } from \"./ToolbarItemsManager\";\nimport { toUIAToolbarItem } from \"./toUIAToolbarItem\";\n\n/** Private function to set up sync event monitoring of toolbar items */\nfunction useToolbarItemSyncEffect(uiDataProvider: ToolbarItemsManager, syncIdsOfInterest: string[]) {\n React.useEffect(() => {\n return SyncUiEventDispatcher.onSyncUiEvent.addListener((args) => {\n if (0 === syncIdsOfInterest.length)\n return;\n\n // istanbul ignore else\n if (syncIdsOfInterest.some((value: string): boolean => args.eventIds.has(value.toLowerCase()))) {\n // process each item that has interest\n uiDataProvider.refreshAffectedItems(args.eventIds);\n }\n });\n }, [uiDataProvider, syncIdsOfInterest, uiDataProvider.items]);\n\n React.useEffect(() => {\n return UiFramework.frontstages.onToolActivatedEvent.addListener(({ toolId }) => {\n uiDataProvider.setActiveToolId(toolId);\n });\n }, [uiDataProvider, uiDataProvider.items]);\n}\n\nfunction nestedAddItemToSpecifiedParentGroup(items: ReadonlyArray<ToolbarActionItem | ToolbarGroupItem>, groupChildren: Array<ToolbarActionItem | ToolbarGroupItem>): Array<ToolbarActionItem | ToolbarGroupItem> {\n const outItems: Array<ToolbarActionItem | ToolbarGroupItem> = [];\n for (const toolbarItem of items) {\n if (!isToolbarGroupItem(toolbarItem)) {\n outItems.push(toolbarItem);\n continue;\n }\n\n const newChildren: Array<ToolbarActionItem | ToolbarGroupItem> = nestedAddItemToSpecifiedParentGroup(toolbarItem.items, groupChildren);\n const foundIndices: number[] = [];\n\n groupChildren.forEach((entry, index) => {\n if (entry.parentGroupItemId === toolbarItem.id) {\n foundIndices.push(index);\n }\n });\n\n // istanbul ignore else\n if (foundIndices.length) {\n // process in reverse order so groupChildren can be reduced as we find matches\n foundIndices.sort(\n // istanbul ignore next\n (a, b) => a - b,\n ).reverse().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 addItemToSpecifiedParentGroup(items: readonly ToolbarItem[], groupChildren: Array<ToolbarActionItem | ToolbarGroupItem>): ToolbarItem[] {\n const outItems: ToolbarItem[] = [];\n for (const toolbarItem of items) {\n if (!isToolbarGroupItem(toolbarItem)) {\n outItems.push(toolbarItem);\n continue;\n }\n\n const newChildren: Array<ToolbarActionItem | ToolbarGroupItem> = nestedAddItemToSpecifiedParentGroup(toolbarItem.items, groupChildren);\n const foundIndices: number[] = [];\n\n groupChildren.forEach((entry, index) => {\n if (entry.parentGroupItemId === toolbarItem.id) {\n foundIndices.push(index);\n }\n });\n\n // istanbul ignore else\n if (foundIndices.length) {\n // process in reverse order so groupChildren can be reduced as we find matches\n foundIndices.sort(\n // istanbul ignore next\n (a, b) => a - b,\n ).reverse().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))\n childItems.push(cloneGroup(item));\n else\n 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 : /* istanbul ignore next */ item.groupPriority;\n return groupValue * 10000 + item.itemPriority;\n}\n\nfunction getSortedChildren(group: ToolbarGroupItem): ReadonlyArray<ToolbarActionItem | ToolbarGroupItem> {\n const sortedChildren = group.items\n .filter((item) => !(ConditionalBooleanValue.getValue(item.isHidden)))\n .sort((a, b) => getItemSortValue(a) - getItemSortValue(b))\n .map((i) => {\n if (isToolbarGroupItem(i)) {\n return { ...i, items: getSortedChildren(i) };\n }\n return i;\n });\n return sortedChildren;\n}\n\n/** local function to combine items from Stage and from Extensions */\nfunction combineItems(defaultItems: ReadonlyArray<ToolbarItem>, addonItems: ReadonlyArray<ToolbarItem>): ToolbarItem[] {\n let items: ToolbarItem[] = [];\n const groupChildren: Array<ToolbarActionItem | ToolbarGroupItem> = [];\n\n // istanbul ignore else\n if (defaultItems.length) {\n defaultItems.forEach((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) ? cloneGroup(srcItem) : srcItem;\n if ((isToolbarGroupItem(toolbarItem) || isToolbarActionItem(toolbarItem)) && toolbarItem.parentGroupItemId)\n groupChildren.push(toolbarItem);\n else\n items.push(toolbarItem);\n }\n });\n }\n // istanbul ignore else\n if (addonItems.length) {\n addonItems.forEach((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) ? cloneGroup(srcItem) : srcItem;\n if ((isToolbarGroupItem(toolbarItem) || isToolbarActionItem(toolbarItem)) && toolbarItem.parentGroupItemId)\n groupChildren.push(toolbarItem);\n else\n items.push(toolbarItem);\n }\n });\n }\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 if (groupChildren.length) {\n groupChildren.forEach((toolbarItem) => {\n Logger.logWarning(\"ToolbarComposer\", `Requested Parent Group [${toolbarItem.parentGroupItemId!}] not found, so item [${toolbarItem.id}] is added directly to toolbar.`);\n items.push(toolbarItem);\n });\n }\n }\n\n const availableItems = items\n .filter((item) => !(ConditionalBooleanValue.getValue(item.isHidden)))\n .sort((a, b) => getItemSortValue(a) - getItemSortValue(b))\n .map((i) => {\n if (isToolbarGroupItem(i)) {\n return { ...i, items: getSortedChildren(i) };\n }\n return i;\n });\n\n return availableItems;\n}\n\nconst useProximityOpacitySetting = () => {\n const [proximityOpacity, setProximityOpacity] = React.useState(UiFramework.visibility.useProximityOpacity);\n React.useEffect(() => {\n // istanbul ignore next\n const handleUiVisibilityChanged = () => {\n setProximityOpacity(UiFramework.visibility.useProximityOpacity);\n };\n UiFramework.onUiVisibilityChanged.addListener(handleUiVisibilityChanged);\n return () => {\n UiFramework.onUiVisibilityChanged.removeListener(handleUiVisibilityChanged);\n };\n }, []);\n return proximityOpacity;\n};\n\n/** Properties for the [[ToolbarComposer]] React components\n * @public\n */\nexport interface ExtensibleToolbarProps {\n items: ToolbarItem[];\n usage: ToolbarUsage;\n /** Toolbar orientation. */\n orientation: ToolbarOrientation;\n}\n\n/**\n * Toolbar that is populated and maintained by item managers.\n * @public\n */\nexport function ToolbarComposer(props: ExtensibleToolbarProps) {\n const { usage, orientation } = props;\n\n const [defaultItemsManager, setDefaultItemsManager] = React.useState(() => new ToolbarItemsManager(props.items));\n React.useEffect(() => {\n setDefaultItemsManager(new ToolbarItemsManager(props.items));\n }, [props.items]); // eslint-disable-line react-hooks/exhaustive-deps\n\n // process default items\n const defaultItems = useDefaultToolbarItems(defaultItemsManager);\n const syncIdsOfInterest = React.useMemo(() => ToolbarItemsManager.getSyncIdsOfInterest(defaultItems), [defaultItems]);\n useToolbarItemSyncEffect(defaultItemsManager, syncIdsOfInterest);\n\n // process items from addon UI providers\n const [addonItemsManager] = React.useState(() => new ToolbarItemsManager());\n const addonItems = useUiItemsProviderToolbarItems(addonItemsManager, usage, orientation);\n const addonSyncIdsOfInterest = React.useMemo(() => ToolbarItemsManager.getSyncIdsOfInterest(addonItems), [addonItems]);\n useToolbarItemSyncEffect(addonItemsManager, addonSyncIdsOfInterest);\n\n const toolbarItems = React.useMemo(() => {\n const items = combineItems(defaultItems, addonItems);\n return items.map((item) => toUIAToolbarItem(item));\n }, [defaultItems, addonItems]);\n\n const toolbarOrientation = orientation === ToolbarOrientation.Horizontal ? Orientation.Horizontal : Orientation.Vertical;\n const expandsTo = toolbarOrientation === Orientation.Horizontal ? Direction.Bottom : usage === ToolbarUsage.ViewNavigation ? Direction.Left : Direction.Right;\n const panelAlignment = (toolbarOrientation === Orientation.Horizontal && usage === ToolbarUsage.ViewNavigation) ? ToolbarPanelAlignment.End : ToolbarPanelAlignment.Start;\n const isDragEnabled = React.useContext(ToolbarDragInteractionContext);\n const useProximityOpacity = useProximityOpacitySetting();\n\n return <ToolbarWithOverflow\n expandsTo={expandsTo}\n panelAlignment={panelAlignment}\n items={toolbarItems}\n useDragInteraction={isDragEnabled}\n toolbarOpacitySetting={useProximityOpacity && !UiFramework.isMobile() ? ToolbarOpacitySetting.Proximity : /* istanbul ignore next */ ToolbarOpacitySetting.Defaults}\n />;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"ToolbarComposer.js","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/ToolbarComposer.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Toolbar\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { ConditionalBooleanValue } from \"@itwin/appui-abstract\";\r\nimport { Direction, ToolbarOpacitySetting, ToolbarPanelAlignment, ToolbarWithOverflow } from \"@itwin/components-react\";\r\nimport { Logger } from \"@itwin/core-bentley\";\r\nimport { Orientation } from \"@itwin/core-react\";\r\nimport { SyncUiEventDispatcher } from \"../syncui/SyncUiEventDispatcher\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { ToolbarDragInteractionContext } from \"./DragInteraction\";\r\nimport { useDefaultToolbarItems } from \"./useDefaultToolbarItems\";\r\nimport { useUiItemsProviderToolbarItems } from \"./useUiItemsProviderToolbarItems\";\r\nimport { isToolbarActionItem, isToolbarGroupItem, ToolbarActionItem, ToolbarGroupItem, ToolbarItem, ToolbarOrientation, ToolbarUsage } from \"./ToolbarItem\";\r\nimport { ToolbarItemsManager } from \"./ToolbarItemsManager\";\r\nimport { toUIAToolbarItem } from \"./toUIAToolbarItem\";\r\n\r\n/** Private function to set up sync event monitoring of toolbar items */\r\nfunction useToolbarItemSyncEffect(uiDataProvider: ToolbarItemsManager, syncIdsOfInterest: string[]) {\r\n React.useEffect(() => {\r\n return SyncUiEventDispatcher.onSyncUiEvent.addListener((args) => {\r\n if (0 === syncIdsOfInterest.length)\r\n return;\r\n\r\n // istanbul ignore else\r\n if (syncIdsOfInterest.some((value: string): boolean => args.eventIds.has(value.toLowerCase()))) {\r\n // process each item that has interest\r\n uiDataProvider.refreshAffectedItems(args.eventIds);\r\n }\r\n });\r\n }, [uiDataProvider, syncIdsOfInterest, uiDataProvider.items]);\r\n\r\n React.useEffect(() => {\r\n return UiFramework.frontstages.onToolActivatedEvent.addListener(({ toolId }) => {\r\n uiDataProvider.setActiveToolId(toolId);\r\n });\r\n }, [uiDataProvider, uiDataProvider.items]);\r\n}\r\n\r\nfunction nestedAddItemToSpecifiedParentGroup(items: ReadonlyArray<ToolbarActionItem | ToolbarGroupItem>, groupChildren: Array<ToolbarActionItem | ToolbarGroupItem>): Array<ToolbarActionItem | ToolbarGroupItem> {\r\n const outItems: Array<ToolbarActionItem | ToolbarGroupItem> = [];\r\n for (const toolbarItem of items) {\r\n if (!isToolbarGroupItem(toolbarItem)) {\r\n outItems.push(toolbarItem);\r\n continue;\r\n }\r\n\r\n const newChildren: Array<ToolbarActionItem | ToolbarGroupItem> = nestedAddItemToSpecifiedParentGroup(toolbarItem.items, groupChildren);\r\n const foundIndices: number[] = [];\r\n\r\n groupChildren.forEach((entry, index) => {\r\n if (entry.parentGroupItemId === toolbarItem.id) {\r\n foundIndices.push(index);\r\n }\r\n });\r\n\r\n // istanbul ignore else\r\n if (foundIndices.length) {\r\n // process in reverse order so groupChildren can be reduced as we find matches\r\n foundIndices.sort(\r\n // istanbul ignore next\r\n (a, b) => a - b,\r\n ).reverse().forEach((foundIndex) => {\r\n newChildren.push(groupChildren[foundIndex]);\r\n groupChildren.splice(foundIndex);\r\n });\r\n }\r\n\r\n outItems.push({ ...toolbarItem, items: newChildren });\r\n }\r\n return outItems;\r\n}\r\n\r\nfunction addItemToSpecifiedParentGroup(items: readonly ToolbarItem[], groupChildren: Array<ToolbarActionItem | ToolbarGroupItem>): ToolbarItem[] {\r\n const outItems: ToolbarItem[] = [];\r\n for (const toolbarItem of items) {\r\n if (!isToolbarGroupItem(toolbarItem)) {\r\n outItems.push(toolbarItem);\r\n continue;\r\n }\r\n\r\n const newChildren: Array<ToolbarActionItem | ToolbarGroupItem> = nestedAddItemToSpecifiedParentGroup(toolbarItem.items, groupChildren);\r\n const foundIndices: number[] = [];\r\n\r\n groupChildren.forEach((entry, index) => {\r\n if (entry.parentGroupItemId === toolbarItem.id) {\r\n foundIndices.push(index);\r\n }\r\n });\r\n\r\n // istanbul ignore else\r\n if (foundIndices.length) {\r\n // process in reverse order so groupChildren can be reduced as we find matches\r\n foundIndices.sort(\r\n // istanbul ignore next\r\n (a, b) => a - b,\r\n ).reverse().forEach((foundIndex) => {\r\n newChildren.push(groupChildren[foundIndex]);\r\n groupChildren.splice(foundIndex);\r\n });\r\n }\r\n\r\n outItems.push({ ...toolbarItem, items: newChildren });\r\n }\r\n return outItems;\r\n}\r\n\r\nfunction cloneGroup(inGroup: ToolbarGroupItem): ToolbarGroupItem {\r\n const childItems: Array<ToolbarActionItem | ToolbarGroupItem> = [];\r\n inGroup.items.forEach((item) => {\r\n if (isToolbarGroupItem(item))\r\n childItems.push(cloneGroup(item));\r\n else\r\n childItems.push(item);\r\n });\r\n\r\n const clonedGroup = { ...inGroup, items: childItems };\r\n return clonedGroup;\r\n}\r\n\r\nfunction getItemSortValue(item: ToolbarItem) {\r\n const groupValue = undefined === item.groupPriority ? 0 : /* istanbul ignore next */ item.groupPriority;\r\n return groupValue * 10000 + item.itemPriority;\r\n}\r\n\r\nfunction getSortedChildren(group: ToolbarGroupItem): ReadonlyArray<ToolbarActionItem | ToolbarGroupItem> {\r\n const sortedChildren = group.items\r\n .filter((item) => !(ConditionalBooleanValue.getValue(item.isHidden)))\r\n .sort((a, b) => getItemSortValue(a) - getItemSortValue(b))\r\n .map((i) => {\r\n if (isToolbarGroupItem(i)) {\r\n return { ...i, items: getSortedChildren(i) };\r\n }\r\n return i;\r\n });\r\n return sortedChildren;\r\n}\r\n\r\n/** local function to combine items from Stage and from Extensions */\r\nfunction combineItems(defaultItems: ReadonlyArray<ToolbarItem>, addonItems: ReadonlyArray<ToolbarItem>): ToolbarItem[] {\r\n let items: ToolbarItem[] = [];\r\n const groupChildren: Array<ToolbarActionItem | ToolbarGroupItem> = [];\r\n\r\n // istanbul ignore else\r\n if (defaultItems.length) {\r\n defaultItems.forEach((srcItem: ToolbarItem) => {\r\n if (-1 === items.findIndex((item) => item.id === srcItem.id)) {\r\n // if the default item is a group that an addon may insert into copy it so we don't mess with original\r\n const toolbarItem = isToolbarGroupItem(srcItem) ? cloneGroup(srcItem) : srcItem;\r\n if ((isToolbarGroupItem(toolbarItem) || isToolbarActionItem(toolbarItem)) && toolbarItem.parentGroupItemId)\r\n groupChildren.push(toolbarItem);\r\n else\r\n items.push(toolbarItem);\r\n }\r\n });\r\n }\r\n // istanbul ignore else\r\n if (addonItems.length) {\r\n addonItems.forEach((srcItem: ToolbarItem) => {\r\n if (-1 === items.findIndex((item) => item.id === srcItem.id)) {\r\n // if the default item is a group that an addon may insert into copy it so we don't mess with original\r\n const toolbarItem = isToolbarGroupItem(srcItem) ? cloneGroup(srcItem) : srcItem;\r\n if ((isToolbarGroupItem(toolbarItem) || isToolbarActionItem(toolbarItem)) && toolbarItem.parentGroupItemId)\r\n groupChildren.push(toolbarItem);\r\n else\r\n items.push(toolbarItem);\r\n }\r\n });\r\n }\r\n\r\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.\r\n if (groupChildren.length) {\r\n items = addItemToSpecifiedParentGroup(items, groupChildren);\r\n\r\n if (groupChildren.length) {\r\n groupChildren.forEach((toolbarItem) => {\r\n Logger.logWarning(\"ToolbarComposer\", `Requested Parent Group [${toolbarItem.parentGroupItemId!}] not found, so item [${toolbarItem.id}] is added directly to toolbar.`);\r\n items.push(toolbarItem);\r\n });\r\n }\r\n }\r\n\r\n const availableItems = items\r\n .filter((item) => !(ConditionalBooleanValue.getValue(item.isHidden)))\r\n .sort((a, b) => getItemSortValue(a) - getItemSortValue(b))\r\n .map((i) => {\r\n if (isToolbarGroupItem(i)) {\r\n return { ...i, items: getSortedChildren(i) };\r\n }\r\n return i;\r\n });\r\n\r\n return availableItems;\r\n}\r\n\r\nconst useProximityOpacitySetting = () => {\r\n const [proximityOpacity, setProximityOpacity] = React.useState(UiFramework.visibility.useProximityOpacity);\r\n React.useEffect(() => {\r\n // istanbul ignore next\r\n const handleUiVisibilityChanged = () => {\r\n setProximityOpacity(UiFramework.visibility.useProximityOpacity);\r\n };\r\n UiFramework.onUiVisibilityChanged.addListener(handleUiVisibilityChanged);\r\n return () => {\r\n UiFramework.onUiVisibilityChanged.removeListener(handleUiVisibilityChanged);\r\n };\r\n }, []);\r\n return proximityOpacity;\r\n};\r\n\r\n/** Properties for the [[ToolbarComposer]] React components\r\n * @public\r\n */\r\nexport interface ExtensibleToolbarProps {\r\n items: ToolbarItem[];\r\n usage: ToolbarUsage;\r\n /** Toolbar orientation. */\r\n orientation: ToolbarOrientation;\r\n}\r\n\r\n/**\r\n * Toolbar that is populated and maintained by item managers.\r\n * @public\r\n */\r\nexport function ToolbarComposer(props: ExtensibleToolbarProps) {\r\n const { usage, orientation } = props;\r\n\r\n const [defaultItemsManager, setDefaultItemsManager] = React.useState(() => new ToolbarItemsManager(props.items));\r\n React.useEffect(() => {\r\n setDefaultItemsManager(new ToolbarItemsManager(props.items));\r\n }, [props.items]); // eslint-disable-line react-hooks/exhaustive-deps\r\n\r\n // process default items\r\n const defaultItems = useDefaultToolbarItems(defaultItemsManager);\r\n const syncIdsOfInterest = React.useMemo(() => ToolbarItemsManager.getSyncIdsOfInterest(defaultItems), [defaultItems]);\r\n useToolbarItemSyncEffect(defaultItemsManager, syncIdsOfInterest);\r\n\r\n // process items from addon UI providers\r\n const [addonItemsManager] = React.useState(() => new ToolbarItemsManager());\r\n const addonItems = useUiItemsProviderToolbarItems(addonItemsManager, usage, orientation);\r\n const addonSyncIdsOfInterest = React.useMemo(() => ToolbarItemsManager.getSyncIdsOfInterest(addonItems), [addonItems]);\r\n useToolbarItemSyncEffect(addonItemsManager, addonSyncIdsOfInterest);\r\n\r\n const toolbarItems = React.useMemo(() => {\r\n const items = combineItems(defaultItems, addonItems);\r\n return items.map((item) => toUIAToolbarItem(item));\r\n }, [defaultItems, addonItems]);\r\n\r\n const toolbarOrientation = orientation === ToolbarOrientation.Horizontal ? Orientation.Horizontal : Orientation.Vertical;\r\n const expandsTo = toolbarOrientation === Orientation.Horizontal ? Direction.Bottom : usage === ToolbarUsage.ViewNavigation ? Direction.Left : Direction.Right;\r\n const panelAlignment = (toolbarOrientation === Orientation.Horizontal && usage === ToolbarUsage.ViewNavigation) ? ToolbarPanelAlignment.End : ToolbarPanelAlignment.Start;\r\n const isDragEnabled = React.useContext(ToolbarDragInteractionContext);\r\n const useProximityOpacity = useProximityOpacitySetting();\r\n\r\n return <ToolbarWithOverflow\r\n expandsTo={expandsTo}\r\n panelAlignment={panelAlignment}\r\n items={toolbarItems}\r\n useDragInteraction={isDragEnabled}\r\n toolbarOpacitySetting={useProximityOpacity && !UiFramework.isMobile() ? ToolbarOpacitySetting.Proximity : /* istanbul ignore next */ ToolbarOpacitySetting.Defaults}\r\n />;\r\n}\r\n"]}
|
|
@@ -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 * as React from \"react\";\nimport {\n ActionButton, CommonToolbarItem, ConditionalStringValue, CustomButtonDefinition, GroupButton, StringGetter,\n} from \"@itwin/appui-abstract\";\nimport { IconHelper } from \"@itwin/core-react\";\nimport { AnyItemDef } from \"../shared/AnyItemDef\";\nimport { CommandItemDef } from \"../shared/CommandItemDef\";\nimport { CustomItemDef } from \"../shared/CustomItemDef\";\nimport { ToolItemDef } from \"../shared/ToolItemDef\";\nimport { GroupItemDef } from \"./GroupItem\";\nimport { isToolbarActionItem, isToolbarGroupItem, ToolbarActionItem, ToolbarCustomItem, ToolbarGroupItem, ToolbarItem } from \"./ToolbarItem\";\n\n/** Helper functions for defining an ToolbarComposer.\n * @public\n */\nexport class ToolbarHelper {\n /** Construct CustomToolbarItem definitions given a CustomItemDef. */\n public static createCustomDefinitionToolbarItem(itemPriority: number, itemDef: CustomItemDef, overrides?: Partial<CustomButtonDefinition>): ToolbarCustomItem {\n const isHidden = itemDef.isHidden;\n const isDisabled = itemDef.isDisabled;\n const internalData = new Map<string, any>(); // used to store ReactNode if iconSpec hold a ReactNode\n const icon = IconHelper.getIconData(itemDef.iconSpec, internalData);\n const label = this.getStringOrConditionalString(itemDef.rawLabel);\n const badgeType = itemDef.badgeType;\n\n // istanbul ignore else\n return {\n id: itemDef.id,\n itemPriority,\n icon,\n label,\n isCustom: true,\n isHidden,\n isDisabled,\n internalData,\n badgeType,\n panelContent: itemDef.popupPanelNode,\n ...overrides,\n };\n }\n\n /** Construct ActionButton and GroupButton definitions given an array to ItemDefs. */\n public static constructChildToolbarItems(itemDefs: AnyItemDef[]): Array<ToolbarActionItem | ToolbarGroupItem> {\n let count = 10;\n const items: Array<ToolbarActionItem | ToolbarGroupItem> = [];\n for (const itemDef of itemDefs) {\n const item = this.createToolbarItemFromItemDef(count, itemDef);\n count = count + 10;\n // istanbul ignore else\n if (isToolbarActionItem(item) || isToolbarGroupItem(item))\n items.push(item);\n }\n return items;\n }\n\n private static getStringOrConditionalString(inString: string | StringGetter | ConditionalStringValue): string | ConditionalStringValue {\n if (inString instanceof ConditionalStringValue || typeof inString === \"string\")\n return inString;\n\n return inString();\n }\n\n public static getIconReactNode(item: ActionButton | GroupButton): React.ReactNode {\n return IconHelper.getIconReactNode(item.icon, item.internalData);\n }\n\n /** Helper method to creates a generic toolbar item entry */\n public static createToolbarItemFromItemDef(itemPriority: number, itemDef: AnyItemDef, overrides?: Partial<CommonToolbarItem>): ToolbarItem {\n const isHidden = itemDef.isHidden;\n const isDisabled = itemDef.isDisabled;\n const icon = itemDef.iconSpec;\n const label = this.getStringOrConditionalString(itemDef.rawLabel);\n const badge = itemDef.badgeType;\n\n // istanbul ignore else\n if (itemDef instanceof CommandItemDef) {\n return {\n id: itemDef.id,\n itemPriority,\n icon,\n label,\n isHidden,\n isDisabled,\n isActive: itemDef.isActive,\n execute: itemDef.execute,\n badge,\n ...overrides,\n };\n } else if (itemDef instanceof CustomItemDef) {\n return ToolbarHelper.createCustomDefinitionToolbarItem(itemPriority, itemDef, overrides);\n } else if (itemDef instanceof GroupItemDef) {\n const children: Array<ToolbarActionItem | ToolbarGroupItem> = this.constructChildToolbarItems(itemDef.items);\n return {\n id: itemDef.id,\n itemPriority,\n icon,\n label,\n panelLabel: itemDef.panelLabel,\n isHidden,\n isDisabled,\n items: children,\n isActive: false,\n badge,\n ...overrides,\n };\n } else if (itemDef instanceof ToolItemDef) {\n return {\n id: itemDef.id,\n itemPriority,\n icon,\n label,\n isHidden,\n isDisabled,\n isActive: itemDef.isActive,\n execute: itemDef.execute,\n badge,\n ...overrides,\n };\n } else {\n throw new Error(`Invalid Item type encountered, item id=${itemDef.id}`);\n }\n }\n\n public static createToolbarItemsFromItemDefs(itemDefs: AnyItemDef[], startingItemPriority = 10, overrides?: Partial<CommonToolbarItem>): ToolbarItem[] {\n let itemPriority = startingItemPriority;\n const items = itemDefs.map((itemDef: AnyItemDef) => {\n const item = ToolbarHelper.createToolbarItemFromItemDef(itemPriority, itemDef, overrides);\n itemPriority = itemPriority + 10;\n return item;\n });\n return items;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"ToolbarHelper.js","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/ToolbarHelper.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Toolbar\r\n */\r\nimport * as React from \"react\";\r\nimport {\r\n ActionButton, CommonToolbarItem, ConditionalStringValue, CustomButtonDefinition, GroupButton, StringGetter,\r\n} from \"@itwin/appui-abstract\";\r\nimport { IconHelper } from \"@itwin/core-react\";\r\nimport { AnyItemDef } from \"../shared/AnyItemDef\";\r\nimport { CommandItemDef } from \"../shared/CommandItemDef\";\r\nimport { CustomItemDef } from \"../shared/CustomItemDef\";\r\nimport { ToolItemDef } from \"../shared/ToolItemDef\";\r\nimport { GroupItemDef } from \"./GroupItem\";\r\nimport { isToolbarActionItem, isToolbarGroupItem, ToolbarActionItem, ToolbarCustomItem, ToolbarGroupItem, ToolbarItem } from \"./ToolbarItem\";\r\n\r\n/** Helper functions for defining an ToolbarComposer.\r\n * @public\r\n */\r\nexport class ToolbarHelper {\r\n /** Construct CustomToolbarItem definitions given a CustomItemDef. */\r\n public static createCustomDefinitionToolbarItem(itemPriority: number, itemDef: CustomItemDef, overrides?: Partial<CustomButtonDefinition>): ToolbarCustomItem {\r\n const isHidden = itemDef.isHidden;\r\n const isDisabled = itemDef.isDisabled;\r\n const internalData = new Map<string, any>(); // used to store ReactNode if iconSpec hold a ReactNode\r\n const icon = IconHelper.getIconData(itemDef.iconSpec, internalData);\r\n const label = this.getStringOrConditionalString(itemDef.rawLabel);\r\n const badgeType = itemDef.badgeType;\r\n\r\n // istanbul ignore else\r\n return {\r\n id: itemDef.id,\r\n itemPriority,\r\n icon,\r\n label,\r\n isCustom: true,\r\n isHidden,\r\n isDisabled,\r\n internalData,\r\n badgeType,\r\n panelContent: itemDef.popupPanelNode,\r\n ...overrides,\r\n };\r\n }\r\n\r\n /** Construct ActionButton and GroupButton definitions given an array to ItemDefs. */\r\n public static constructChildToolbarItems(itemDefs: AnyItemDef[]): Array<ToolbarActionItem | ToolbarGroupItem> {\r\n let count = 10;\r\n const items: Array<ToolbarActionItem | ToolbarGroupItem> = [];\r\n for (const itemDef of itemDefs) {\r\n const item = this.createToolbarItemFromItemDef(count, itemDef);\r\n count = count + 10;\r\n // istanbul ignore else\r\n if (isToolbarActionItem(item) || isToolbarGroupItem(item))\r\n items.push(item);\r\n }\r\n return items;\r\n }\r\n\r\n private static getStringOrConditionalString(inString: string | StringGetter | ConditionalStringValue): string | ConditionalStringValue {\r\n if (inString instanceof ConditionalStringValue || typeof inString === \"string\")\r\n return inString;\r\n\r\n return inString();\r\n }\r\n\r\n public static getIconReactNode(item: ActionButton | GroupButton): React.ReactNode {\r\n return IconHelper.getIconReactNode(item.icon, item.internalData);\r\n }\r\n\r\n /** Helper method to creates a generic toolbar item entry */\r\n public static createToolbarItemFromItemDef(itemPriority: number, itemDef: AnyItemDef, overrides?: Partial<CommonToolbarItem>): ToolbarItem {\r\n const isHidden = itemDef.isHidden;\r\n const isDisabled = itemDef.isDisabled;\r\n const icon = itemDef.iconSpec;\r\n const label = this.getStringOrConditionalString(itemDef.rawLabel);\r\n const badge = itemDef.badgeType;\r\n\r\n // istanbul ignore else\r\n if (itemDef instanceof CommandItemDef) {\r\n return {\r\n id: itemDef.id,\r\n itemPriority,\r\n icon,\r\n label,\r\n isHidden,\r\n isDisabled,\r\n isActive: itemDef.isActive,\r\n execute: itemDef.execute,\r\n badge,\r\n ...overrides,\r\n };\r\n } else if (itemDef instanceof CustomItemDef) {\r\n return ToolbarHelper.createCustomDefinitionToolbarItem(itemPriority, itemDef, overrides);\r\n } else if (itemDef instanceof GroupItemDef) {\r\n const children: Array<ToolbarActionItem | ToolbarGroupItem> = this.constructChildToolbarItems(itemDef.items);\r\n return {\r\n id: itemDef.id,\r\n itemPriority,\r\n icon,\r\n label,\r\n panelLabel: itemDef.panelLabel,\r\n isHidden,\r\n isDisabled,\r\n items: children,\r\n isActive: false,\r\n badge,\r\n ...overrides,\r\n };\r\n } else if (itemDef instanceof ToolItemDef) {\r\n return {\r\n id: itemDef.id,\r\n itemPriority,\r\n icon,\r\n label,\r\n isHidden,\r\n isDisabled,\r\n isActive: itemDef.isActive,\r\n execute: itemDef.execute,\r\n badge,\r\n ...overrides,\r\n };\r\n } else {\r\n throw new Error(`Invalid Item type encountered, item id=${itemDef.id}`);\r\n }\r\n }\r\n\r\n public static createToolbarItemsFromItemDefs(itemDefs: AnyItemDef[], startingItemPriority = 10, overrides?: Partial<CommonToolbarItem>): ToolbarItem[] {\r\n let itemPriority = startingItemPriority;\r\n const items = itemDefs.map((itemDef: AnyItemDef) => {\r\n const item = ToolbarHelper.createToolbarItemFromItemDef(itemPriority, itemDef, overrides);\r\n itemPriority = itemPriority + 10;\r\n return item;\r\n });\r\n return items;\r\n }\r\n}\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolbarItem.js","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/ToolbarItem.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAKH;;GAEG;AACH,IAAY,YAKX;AALD,WAAY,YAAY;IACtB,4GAA4G;IAC5G,6EAAuB,CAAA;IACvB,iFAAiF;IACjF,mEAAkB,CAAA;AACpB,CAAC,EALW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAKvB;AAED;;GAEG;AACH,IAAY,kBAKX;AALD,WAAY,kBAAkB;IAC5B,0BAA0B;IAC1B,uEAAc,CAAA;IACd,wBAAwB;IACxB,mEAAY,CAAA;AACd,CAAC,EALW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAK7B;AA0ED;;GAEG;AACH,SAAgB,mBAAmB,CAAC,IAAiB;IACnD,OAAO,SAAS,IAAI,IAAI,CAAC;AAC3B,CAAC;AAFD,kDAEC;AAED;;GAEG;AACH,SAAgB,kBAAkB,CAAC,IAAiB;IAClD,OAAO,OAAO,IAAI,IAAI,CAAC;AACzB,CAAC;AAFD,gDAEC;AAED;;GAEG;AACH,SAAgB,mBAAmB,CAAC,IAAiB;IACnD,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;AACjE,CAAC;AAFD,kDAEC","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 { BadgeType, ConditionalBooleanValue, ConditionalStringValue } from \"@itwin/appui-abstract\";\nimport { IconSpec } from \"@itwin/core-react\";\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 ninezone this is in top left of content area. */\n ContentManipulation = 0,\n /** Manipulate view/camera - in ninezone 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 /** Describes badge. Renders no badge if not specified. */\n readonly badge?: BadgeType;\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}\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 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 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 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 = ToolbarActionItem | ToolbarGroupItem | ToolbarCustomItem;\n\n/** ToolbarActionItem type guard.\n * @public\n */\nexport function isToolbarActionItem(item: ToolbarItem): item is ToolbarActionItem {\n return \"execute\" in item;\n}\n\n/** ToolbarGroupItem type guard.\n * @public\n */\nexport function isToolbarGroupItem(item: ToolbarItem): item is ToolbarGroupItem {\n return \"items\" in item;\n}\n\n/** ToolbarCustomItem type guard.\n * @public\n */\nexport function isToolbarCustomItem(item: ToolbarItem): item is ToolbarCustomItem {\n return !isToolbarActionItem(item) && !isToolbarGroupItem(item);\n}\n"]}
|
|
1
|
+
{"version":3,"file":"ToolbarItem.js","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/ToolbarItem.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAKH;;GAEG;AACH,IAAY,YAKX;AALD,WAAY,YAAY;IACtB,4GAA4G;IAC5G,6EAAuB,CAAA;IACvB,iFAAiF;IACjF,mEAAkB,CAAA;AACpB,CAAC,EALW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAKvB;AAED;;GAEG;AACH,IAAY,kBAKX;AALD,WAAY,kBAAkB;IAC5B,0BAA0B;IAC1B,uEAAc,CAAA;IACd,wBAAwB;IACxB,mEAAY,CAAA;AACd,CAAC,EALW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAK7B;AA0ED;;GAEG;AACH,SAAgB,mBAAmB,CAAC,IAAiB;IACnD,OAAO,SAAS,IAAI,IAAI,CAAC;AAC3B,CAAC;AAFD,kDAEC;AAED;;GAEG;AACH,SAAgB,kBAAkB,CAAC,IAAiB;IAClD,OAAO,OAAO,IAAI,IAAI,CAAC;AACzB,CAAC;AAFD,gDAEC;AAED;;GAEG;AACH,SAAgB,mBAAmB,CAAC,IAAiB;IACnD,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;AACjE,CAAC;AAFD,kDAEC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Toolbar\r\n */\r\n\r\nimport { BadgeType, ConditionalBooleanValue, ConditionalStringValue } from \"@itwin/appui-abstract\";\r\nimport { IconSpec } from \"@itwin/core-react\";\r\n\r\n/** Used to specify the usage of the toolbar which determine the toolbar position.\r\n * @public\r\n */\r\nexport enum ToolbarUsage {\r\n /** Contains tools to Create Update and Delete content - in ninezone this is in top left of content area. */\r\n ContentManipulation = 0,\r\n /** Manipulate view/camera - in ninezone this is in top right of content area. */\r\n ViewNavigation = 1,\r\n}\r\n\r\n/** Used to specify the orientation of the toolbar.\r\n * @public\r\n */\r\nexport enum ToolbarOrientation {\r\n /** Horizontal toolbar. */\r\n Horizontal = 0,\r\n /** Vertical toolbar. */\r\n Vertical = 1,\r\n}\r\n\r\n/** Describes the data needed to insert a UI items into an existing set of UI items.\r\n * @public\r\n */\r\nexport interface CommonToolbarItem {\r\n /** Require uniqueId for the item. To ensure uniqueness it is suggested that a namespace prefix of the extension name be used. */\r\n readonly id: string;\r\n /** Describes badge. Renders no badge if not specified. */\r\n readonly badge?: BadgeType;\r\n /** Optional description */\r\n readonly description?: string | ConditionalStringValue;\r\n /** Defines if the item is active (shown with an active stripe/bar). */\r\n readonly isActive?: boolean;\r\n /** Describes if the item is visible or hidden. The default is for the item to be visible. */\r\n readonly isHidden?: boolean | ConditionalBooleanValue;\r\n /** Describes if the item is enabled or disabled. The default is for the item to be enabled. */\r\n readonly isDisabled?: boolean | ConditionalBooleanValue;\r\n /** Specifies the item's grouping value. Items are sorted by group and then item priority. When\r\n * group priority changes a separator is inserted. It is recommended using values 10 through 100, incrementing by 10. This\r\n * allows extensions enough gaps to insert their own groups. If the value is not specified a groupPriority of 0 is used.\r\n */\r\n readonly groupPriority?: number;\r\n /** Priority within a toolbar or group. */\r\n readonly itemPriority: number;\r\n}\r\n\r\n/** Describes the data needed to insert an action button into a toolbar.\r\n * @public\r\n */\r\nexport interface ToolbarActionItem extends CommonToolbarItem {\r\n /** Name of icon WebFont entry or if specifying an imported SVG symbol use \"webSvg:\" prefix to imported symbol Id. */\r\n readonly icon: IconSpec;\r\n /** label, shown as tool tip on a button or an item label in a group. */\r\n readonly label: string | ConditionalStringValue;\r\n /** function to run when the button is pressed. */\r\n readonly execute: () => void;\r\n /** Optional parent tool group to add the tool to. */\r\n readonly parentGroupItemId?: string;\r\n}\r\n\r\n/** Describes the data needed to insert a group button into a toolbar.\r\n * @public\r\n */\r\nexport interface ToolbarGroupItem extends CommonToolbarItem {\r\n /** Name of icon WebFont entry or if specifying an imported SVG symbol use \"webSvg:\" prefix to imported symbol Id. */\r\n readonly icon: IconSpec;\r\n /** label, shown as tool tip on group button or a group button label in a group panel. */\r\n readonly label: string | ConditionalStringValue;\r\n /** label shown as the title in at top of group panel. */\r\n readonly panelLabel?: string | ConditionalStringValue;\r\n /** children of the group */\r\n readonly items: ReadonlyArray<ToolbarActionItem | ToolbarGroupItem>;\r\n /** Optional parent tool group to add the tool to. */\r\n readonly parentGroupItemId?: string;\r\n}\r\n\r\n/** Describes the data needed to insert a custom button into a toolbar.\r\n * @public\r\n */\r\nexport interface ToolbarCustomItem extends CommonToolbarItem {\r\n /** Name of icon WebFont entry or if specifying an imported SVG symbol use \"webSvg:\" prefix to imported symbol Id. */\r\n readonly icon?: IconSpec;\r\n /** label, shown as tool tip on group button or a group button label in a group panel. */\r\n readonly label?: string | ConditionalStringValue;\r\n /** defines the content to display in popup panel */\r\n readonly panelContent?: React.ReactNode;\r\n}\r\n\r\n/** Any Button Type that can be inserted into a toolbar.\r\n * @public\r\n */\r\nexport type ToolbarItem = ToolbarActionItem | ToolbarGroupItem | ToolbarCustomItem;\r\n\r\n/** ToolbarActionItem type guard.\r\n * @public\r\n */\r\nexport function isToolbarActionItem(item: ToolbarItem): item is ToolbarActionItem {\r\n return \"execute\" in item;\r\n}\r\n\r\n/** ToolbarGroupItem type guard.\r\n * @public\r\n */\r\nexport function isToolbarGroupItem(item: ToolbarItem): item is ToolbarGroupItem {\r\n return \"items\" in item;\r\n}\r\n\r\n/** ToolbarCustomItem type guard.\r\n * @public\r\n */\r\nexport function isToolbarCustomItem(item: ToolbarItem): item is ToolbarCustomItem {\r\n return !isToolbarActionItem(item) && !isToolbarGroupItem(item);\r\n}\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolbarItemUtilities.js","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/ToolbarItemUtilities.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAIH;;GAEG;AACH,IAAiB,oBAAoB,CAoCpC;AApCD,WAAiB,oBAAoB;IACnC,8BAA8B;IAC9B,SAAgB,gBAAgB,CAAC,EAA2B,EAAE,YAA+C,EAAE,IAA+B,EAAE,KAAiC,EAAE,OAAqC,EAAE,SAAsC;QAC9P,OAAO;YACL,EAAE;YACF,YAAY;YACZ,IAAI;YACJ,KAAK;YACL,OAAO;YACP,GAAG,SAAS;SACb,CAAC;IACJ,CAAC;IATe,qCAAgB,mBAS/B,CAAA;IAED,4BAA4B;IAC5B,SAAgB,eAAe,CAAC,EAAU,EAAE,YAAoB,EAAE,IAA8B,EAAE,KAAgC,EAAE,KAAgC,EAAE,SAAqC;QACzM,OAAO;YACL,EAAE;YACF,YAAY;YACZ,IAAI;YACJ,KAAK;YACL,KAAK;YACL,GAAG,SAAS;SACb,CAAC;IACJ,CAAC;IATe,oCAAe,kBAS9B,CAAA;IAED,6BAA6B;IAC7B,SAAgB,gBAAgB,CAAC,EAAU,EAAE,YAAoB,EAAE,IAA+B,EAAE,KAAiC,EAAE,YAAgD,EAAE,SAAsC;QAC7N,OAAO;YACL,EAAE;YACF,YAAY;YACZ,IAAI;YACJ,KAAK;YACL,YAAY;YACZ,GAAG,SAAS;SACb,CAAC;IACJ,CAAC;IATe,qCAAgB,mBAS/B,CAAA;AACH,CAAC,EApCgB,oBAAoB,GAApB,4BAAoB,KAApB,4BAAoB,QAoCpC","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 { ToolbarActionItem, ToolbarCustomItem, ToolbarGroupItem } from \"./ToolbarItem\";\n\n/** Helper class to create toolbar items.\n * @beta\n */\nexport namespace ToolbarItemUtilities {\n /** Creates an action item. */\n export function createActionItem(id: ToolbarActionItem[\"id\"], itemPriority: ToolbarActionItem[\"itemPriority\"], icon: ToolbarActionItem[\"icon\"], label: ToolbarActionItem[\"label\"], execute: ToolbarActionItem[\"execute\"], overrides?: Partial<ToolbarActionItem>): ToolbarActionItem {\n return {\n id,\n itemPriority,\n icon,\n label,\n execute,\n ...overrides,\n };\n }\n\n /** Creates a group item. */\n export function createGroupItem(id: string, itemPriority: number, icon: ToolbarGroupItem[\"icon\"], label: ToolbarGroupItem[\"label\"], items: ToolbarGroupItem[\"items\"], overrides?: Partial<ToolbarGroupItem>): ToolbarGroupItem {\n return {\n id,\n itemPriority,\n icon,\n label,\n items,\n ...overrides,\n };\n }\n\n /** Creates a custom item. */\n export function createCustomItem(id: string, itemPriority: number, icon: ToolbarCustomItem[\"icon\"], label: ToolbarCustomItem[\"label\"], panelContent?: ToolbarCustomItem[\"panelContent\"], overrides?: Partial<ToolbarCustomItem>): ToolbarCustomItem {\n return {\n id,\n itemPriority,\n icon,\n label,\n panelContent,\n ...overrides,\n };\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"ToolbarItemUtilities.js","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/ToolbarItemUtilities.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAIH;;GAEG;AACH,IAAiB,oBAAoB,CAoCpC;AApCD,WAAiB,oBAAoB;IACnC,8BAA8B;IAC9B,SAAgB,gBAAgB,CAAC,EAA2B,EAAE,YAA+C,EAAE,IAA+B,EAAE,KAAiC,EAAE,OAAqC,EAAE,SAAsC;QAC9P,OAAO;YACL,EAAE;YACF,YAAY;YACZ,IAAI;YACJ,KAAK;YACL,OAAO;YACP,GAAG,SAAS;SACb,CAAC;IACJ,CAAC;IATe,qCAAgB,mBAS/B,CAAA;IAED,4BAA4B;IAC5B,SAAgB,eAAe,CAAC,EAAU,EAAE,YAAoB,EAAE,IAA8B,EAAE,KAAgC,EAAE,KAAgC,EAAE,SAAqC;QACzM,OAAO;YACL,EAAE;YACF,YAAY;YACZ,IAAI;YACJ,KAAK;YACL,KAAK;YACL,GAAG,SAAS;SACb,CAAC;IACJ,CAAC;IATe,oCAAe,kBAS9B,CAAA;IAED,6BAA6B;IAC7B,SAAgB,gBAAgB,CAAC,EAAU,EAAE,YAAoB,EAAE,IAA+B,EAAE,KAAiC,EAAE,YAAgD,EAAE,SAAsC;QAC7N,OAAO;YACL,EAAE;YACF,YAAY;YACZ,IAAI;YACJ,KAAK;YACL,YAAY;YACZ,GAAG,SAAS;SACb,CAAC;IACJ,CAAC;IATe,qCAAgB,mBAS/B,CAAA;AACH,CAAC,EApCgB,oBAAoB,GAApB,4BAAoB,KAApB,4BAAoB,QAoCpC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Toolbar\r\n */\r\n\r\nimport { ToolbarActionItem, ToolbarCustomItem, ToolbarGroupItem } from \"./ToolbarItem\";\r\n\r\n/** Helper class to create toolbar items.\r\n * @beta\r\n */\r\nexport namespace ToolbarItemUtilities {\r\n /** Creates an action item. */\r\n export function createActionItem(id: ToolbarActionItem[\"id\"], itemPriority: ToolbarActionItem[\"itemPriority\"], icon: ToolbarActionItem[\"icon\"], label: ToolbarActionItem[\"label\"], execute: ToolbarActionItem[\"execute\"], overrides?: Partial<ToolbarActionItem>): ToolbarActionItem {\r\n return {\r\n id,\r\n itemPriority,\r\n icon,\r\n label,\r\n execute,\r\n ...overrides,\r\n };\r\n }\r\n\r\n /** Creates a group item. */\r\n export function createGroupItem(id: string, itemPriority: number, icon: ToolbarGroupItem[\"icon\"], label: ToolbarGroupItem[\"label\"], items: ToolbarGroupItem[\"items\"], overrides?: Partial<ToolbarGroupItem>): ToolbarGroupItem {\r\n return {\r\n id,\r\n itemPriority,\r\n icon,\r\n label,\r\n items,\r\n ...overrides,\r\n };\r\n }\r\n\r\n /** Creates a custom item. */\r\n export function createCustomItem(id: string, itemPriority: number, icon: ToolbarCustomItem[\"icon\"], label: ToolbarCustomItem[\"label\"], panelContent?: ToolbarCustomItem[\"panelContent\"], overrides?: Partial<ToolbarCustomItem>): ToolbarCustomItem {\r\n return {\r\n id,\r\n itemPriority,\r\n icon,\r\n label,\r\n panelContent,\r\n ...overrides,\r\n };\r\n }\r\n}\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolbarItemsManager.js","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/ToolbarItemsManager.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 Toolbar\n */\n\nimport { ConditionalBooleanValue, ConditionalStringValue } from \"@itwin/appui-abstract\";\nimport { BeEvent } from \"@itwin/core-bentley\";\nimport { isToolbarGroupItem, ToolbarActionItem, ToolbarGroupItem, ToolbarItem } from \"./ToolbarItem\";\n\nfunction isInstance<T>(args: T | ReadonlyArray<T>): args is T {\n return !Array.isArray(args);\n}\n\n/** Arguments of [[ToolbarItemsManager.onChanged]] event.\n * @internal\n */\nexport interface ToolbarItemsChangedArgs {\n readonly items: ReadonlyArray<ToolbarItem>;\n}\n\n/**\n * Controls status bar items.\n * @internal\n */\nexport class ToolbarItemsManager {\n protected _items: ReadonlyArray<ToolbarItem> = [];\n\n constructor(items?: ReadonlyArray<ToolbarItem>) {\n if (items)\n this.loadItemsInternal(items, true, false);\n }\n\n /** Event raised when Toolbar items are changed.\n * @internal\n */\n public readonly onItemsChanged = new BeEvent<(args: ToolbarItemsChangedArgs) => void>();\n\n private loadItemsInternal(items: ReadonlyArray<ToolbarItem>, processConditions: boolean, sendItemChanged: boolean) {\n if (processConditions && items) {\n const eventIds = ToolbarItemsManager.getSyncIdsOfInterest(items);\n if (0 !== eventIds.length) {\n const { itemsUpdated, updatedItems } = this.internalRefreshAffectedItems(items, new Set(eventIds));\n\n // istanbul ignore else\n if (itemsUpdated)\n items = updatedItems;\n }\n }\n\n this._items = items;\n if (sendItemChanged)\n this.onItemsChanged.raiseEvent({ items });\n }\n\n /** load items but do not fire onItemsChanged\n * @internal\n */\n public loadItems(items: ReadonlyArray<ToolbarItem>) {\n this.loadItemsInternal(items, true, false);\n }\n\n /** Get an array of the Toolbar items */\n public get items(): ReadonlyArray<ToolbarItem> {\n return this._items;\n }\n\n public set items(items: ReadonlyArray<ToolbarItem>) {\n // istanbul ignore else\n if (items !== this._items)\n this.loadItemsInternal(items, true, true);\n }\n\n public add(itemOrItems: ToolbarItem | ReadonlyArray<ToolbarItem>) {\n let itemsToAdd;\n if (isInstance(itemOrItems))\n itemsToAdd = [itemOrItems];\n else {\n itemsToAdd = itemOrItems.filter((itemToAdd, index) => itemOrItems.findIndex((item) => item.id === itemToAdd.id) === index);\n }\n itemsToAdd = itemsToAdd.filter((itemToAdd) => this._items.find((item) => item.id === itemToAdd.id) === undefined);\n if (itemsToAdd.length === 0)\n return;\n const items = [\n ...this._items,\n ...itemsToAdd,\n ];\n this.items = items;\n }\n\n /** Remove Toolbar items based on id */\n public remove(itemIdOrItemIds: ToolbarItem[\"id\"] | ReadonlyArray<ToolbarItem[\"id\"]>) {\n const items = this._items.filter((item) => {\n return isInstance(itemIdOrItemIds) ? item.id !== itemIdOrItemIds : !itemIdOrItemIds.find((itemId) => itemId === item.id);\n });\n this.items = items;\n }\n\n /** @internal */\n public removeAll() {\n this._items = [];\n }\n\n private static gatherSyncIds(eventIds: Set<string>, items: readonly ToolbarItem[]) {\n for (const item of items) {\n for (const [, entry] of Object.entries(item)) {\n if (entry instanceof ConditionalBooleanValue) {\n entry.syncEventIds.forEach((eventId: string) => eventIds.add(eventId.toLowerCase()));\n } else /* istanbul ignore else */ if (entry instanceof ConditionalStringValue) {\n entry.syncEventIds.forEach((eventId: string) => eventIds.add(eventId.toLowerCase()));\n }\n }\n\n // istanbul ignore else\n if (isToolbarGroupItem(item)) {\n this.gatherSyncIds(eventIds, item.items);\n }\n }\n }\n\n public static getSyncIdsOfInterest(items: readonly ToolbarItem[]): string[] {\n const eventIds = new Set<string>();\n this.gatherSyncIds(eventIds, items);\n return [...eventIds.values()];\n }\n\n private static refreshChildItems(parentItem: ToolbarGroupItem, eventIds: Set<string>): { childrenUpdated: boolean, childItems: ReadonlyArray<ToolbarActionItem | ToolbarGroupItem> } {\n const updatedItems: Array<ToolbarActionItem | ToolbarGroupItem> = [];\n let itemsUpdated = false;\n\n for (const item of parentItem.items) {\n let updatedItem;\n if (isToolbarGroupItem(item)) {\n updatedItem = { ...item };\n const { childrenUpdated, childItems } = this.refreshChildItems(updatedItem, eventIds);\n // istanbul ignore else\n if (childrenUpdated) {\n updatedItem.items = childItems;\n itemsUpdated = true;\n }\n } else {\n updatedItem = { ...item };\n }\n\n for (const [, entry] of Object.entries(updatedItem)) {\n if (entry instanceof ConditionalBooleanValue) {\n // istanbul ignore else\n if (ConditionalBooleanValue.refreshValue(entry, eventIds))\n itemsUpdated = true;\n } else /* istanbul ignore else */ if (entry instanceof ConditionalStringValue) {\n // istanbul ignore else\n if (ConditionalStringValue.refreshValue(entry, eventIds))\n itemsUpdated = true;\n }\n }\n\n updatedItems.push(updatedItem);\n }\n return { childrenUpdated: itemsUpdated, childItems: updatedItems };\n }\n\n private internalRefreshAffectedItems(items: readonly ToolbarItem[], eventIds: Set<string>): { itemsUpdated: boolean, updatedItems: ToolbarItem[] } {\n // istanbul ignore next\n if (0 === eventIds.size)\n return { itemsUpdated: false, updatedItems: [] };\n\n let updateRequired = false;\n\n const newItems: ToolbarItem[] = [];\n for (const item of items) {\n let updatedItem = { ...item };\n if (isToolbarGroupItem(updatedItem)) {\n const { childrenUpdated, childItems } = ToolbarItemsManager.refreshChildItems(updatedItem, eventIds);\n // istanbul ignore else\n if (childrenUpdated) {\n updatedItem = {\n ...updatedItem,\n items: childItems,\n };\n updateRequired = true;\n }\n }\n\n for (const [, entry] of Object.entries(updatedItem)) {\n if (entry instanceof ConditionalBooleanValue) {\n // istanbul ignore else\n if (ConditionalBooleanValue.refreshValue(entry, eventIds))\n updateRequired = true;\n } else /* istanbul ignore else */ if (entry instanceof ConditionalStringValue) {\n // istanbul ignore else\n if (ConditionalStringValue.refreshValue(entry, eventIds))\n updateRequired = true;\n }\n }\n\n newItems.push(updatedItem);\n }\n\n return { itemsUpdated: updateRequired, updatedItems: newItems };\n }\n\n public refreshAffectedItems(eventIds: Set<string>) {\n // istanbul ignore next\n if (0 === eventIds.size)\n return;\n\n const { itemsUpdated, updatedItems } = this.internalRefreshAffectedItems(this.items, eventIds);\n\n // istanbul ignore else\n if (itemsUpdated)\n this.loadItemsInternal(updatedItems, false, true);\n }\n\n private static isActiveToolIdRefreshRequiredForChildren(children: ReadonlyArray<ToolbarActionItem | ToolbarGroupItem>, toolId: string): boolean {\n for (const item of children) {\n if (isToolbarGroupItem(item)) {\n if (this.isActiveToolIdRefreshRequiredForChildren(item.items, toolId))\n return true;\n } else {\n const isActive = !!item.isActive;\n if ((isActive && item.id !== toolId) || (!isActive && item.id === toolId))\n return true;\n }\n }\n return false;\n }\n\n private isActiveToolIdRefreshRequired(toolId: string): boolean {\n for (const item of this.items) {\n if (isToolbarGroupItem(item)) {\n if (ToolbarItemsManager.isActiveToolIdRefreshRequiredForChildren(item.items, toolId))\n return true;\n } else {\n const isActive = !!item.isActive;\n if ((isActive && item.id !== toolId) || (!isActive && item.id === toolId))\n return true;\n }\n }\n\n return false;\n }\n\n private static refreshActiveToolIdInChildItems(parentItem: ToolbarGroupItem, toolId: string): Array<ToolbarActionItem | ToolbarGroupItem> {\n const newChildren: Array<ToolbarActionItem | ToolbarGroupItem> = [];\n for (const item of parentItem.items) {\n let updatedItem = { ...item };\n\n if (isToolbarGroupItem(updatedItem)) {\n updatedItem = {\n ...updatedItem,\n items: ToolbarItemsManager.refreshActiveToolIdInChildItems(updatedItem, toolId),\n };\n }\n\n updatedItem.isActive = (updatedItem.id === toolId);\n newChildren.push(updatedItem);\n }\n return newChildren;\n }\n\n public setActiveToolId(toolId: string) {\n // first see if any updates are really necessary\n if (!this.isActiveToolIdRefreshRequired(toolId))\n return;\n\n const newItems: ToolbarItem[] = [];\n for (const item of this.items) {\n let updatedItem = { ...item };\n\n if (isToolbarGroupItem(updatedItem)) {\n updatedItem = {\n ...updatedItem,\n items: ToolbarItemsManager.refreshActiveToolIdInChildItems(updatedItem, toolId),\n };\n }\n\n updatedItem.isActive = (updatedItem.id === toolId);\n newItems.push(updatedItem);\n }\n\n this.items = newItems;\n }\n\n}\n"]}
|
|
1
|
+
{"version":3,"file":"ToolbarItemsManager.js","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/ToolbarItemsManager.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Toolbar\r\n */\r\n\r\nimport { ConditionalBooleanValue, ConditionalStringValue } from \"@itwin/appui-abstract\";\r\nimport { BeEvent } from \"@itwin/core-bentley\";\r\nimport { isToolbarGroupItem, ToolbarActionItem, ToolbarGroupItem, ToolbarItem } from \"./ToolbarItem\";\r\n\r\nfunction isInstance<T>(args: T | ReadonlyArray<T>): args is T {\r\n return !Array.isArray(args);\r\n}\r\n\r\n/** Arguments of [[ToolbarItemsManager.onChanged]] event.\r\n * @internal\r\n */\r\nexport interface ToolbarItemsChangedArgs {\r\n readonly items: ReadonlyArray<ToolbarItem>;\r\n}\r\n\r\n/**\r\n * Controls status bar items.\r\n * @internal\r\n */\r\nexport class ToolbarItemsManager {\r\n protected _items: ReadonlyArray<ToolbarItem> = [];\r\n\r\n constructor(items?: ReadonlyArray<ToolbarItem>) {\r\n if (items)\r\n this.loadItemsInternal(items, true, false);\r\n }\r\n\r\n /** Event raised when Toolbar items are changed.\r\n * @internal\r\n */\r\n public readonly onItemsChanged = new BeEvent<(args: ToolbarItemsChangedArgs) => void>();\r\n\r\n private loadItemsInternal(items: ReadonlyArray<ToolbarItem>, processConditions: boolean, sendItemChanged: boolean) {\r\n if (processConditions && items) {\r\n const eventIds = ToolbarItemsManager.getSyncIdsOfInterest(items);\r\n if (0 !== eventIds.length) {\r\n const { itemsUpdated, updatedItems } = this.internalRefreshAffectedItems(items, new Set(eventIds));\r\n\r\n // istanbul ignore else\r\n if (itemsUpdated)\r\n items = updatedItems;\r\n }\r\n }\r\n\r\n this._items = items;\r\n if (sendItemChanged)\r\n this.onItemsChanged.raiseEvent({ items });\r\n }\r\n\r\n /** load items but do not fire onItemsChanged\r\n * @internal\r\n */\r\n public loadItems(items: ReadonlyArray<ToolbarItem>) {\r\n this.loadItemsInternal(items, true, false);\r\n }\r\n\r\n /** Get an array of the Toolbar items */\r\n public get items(): ReadonlyArray<ToolbarItem> {\r\n return this._items;\r\n }\r\n\r\n public set items(items: ReadonlyArray<ToolbarItem>) {\r\n // istanbul ignore else\r\n if (items !== this._items)\r\n this.loadItemsInternal(items, true, true);\r\n }\r\n\r\n public add(itemOrItems: ToolbarItem | ReadonlyArray<ToolbarItem>) {\r\n let itemsToAdd;\r\n if (isInstance(itemOrItems))\r\n itemsToAdd = [itemOrItems];\r\n else {\r\n itemsToAdd = itemOrItems.filter((itemToAdd, index) => itemOrItems.findIndex((item) => item.id === itemToAdd.id) === index);\r\n }\r\n itemsToAdd = itemsToAdd.filter((itemToAdd) => this._items.find((item) => item.id === itemToAdd.id) === undefined);\r\n if (itemsToAdd.length === 0)\r\n return;\r\n const items = [\r\n ...this._items,\r\n ...itemsToAdd,\r\n ];\r\n this.items = items;\r\n }\r\n\r\n /** Remove Toolbar items based on id */\r\n public remove(itemIdOrItemIds: ToolbarItem[\"id\"] | ReadonlyArray<ToolbarItem[\"id\"]>) {\r\n const items = this._items.filter((item) => {\r\n return isInstance(itemIdOrItemIds) ? item.id !== itemIdOrItemIds : !itemIdOrItemIds.find((itemId) => itemId === item.id);\r\n });\r\n this.items = items;\r\n }\r\n\r\n /** @internal */\r\n public removeAll() {\r\n this._items = [];\r\n }\r\n\r\n private static gatherSyncIds(eventIds: Set<string>, items: readonly ToolbarItem[]) {\r\n for (const item of items) {\r\n for (const [, entry] of Object.entries(item)) {\r\n if (entry instanceof ConditionalBooleanValue) {\r\n entry.syncEventIds.forEach((eventId: string) => eventIds.add(eventId.toLowerCase()));\r\n } else /* istanbul ignore else */ if (entry instanceof ConditionalStringValue) {\r\n entry.syncEventIds.forEach((eventId: string) => eventIds.add(eventId.toLowerCase()));\r\n }\r\n }\r\n\r\n // istanbul ignore else\r\n if (isToolbarGroupItem(item)) {\r\n this.gatherSyncIds(eventIds, item.items);\r\n }\r\n }\r\n }\r\n\r\n public static getSyncIdsOfInterest(items: readonly ToolbarItem[]): string[] {\r\n const eventIds = new Set<string>();\r\n this.gatherSyncIds(eventIds, items);\r\n return [...eventIds.values()];\r\n }\r\n\r\n private static refreshChildItems(parentItem: ToolbarGroupItem, eventIds: Set<string>): { childrenUpdated: boolean, childItems: ReadonlyArray<ToolbarActionItem | ToolbarGroupItem> } {\r\n const updatedItems: Array<ToolbarActionItem | ToolbarGroupItem> = [];\r\n let itemsUpdated = false;\r\n\r\n for (const item of parentItem.items) {\r\n let updatedItem;\r\n if (isToolbarGroupItem(item)) {\r\n updatedItem = { ...item };\r\n const { childrenUpdated, childItems } = this.refreshChildItems(updatedItem, eventIds);\r\n // istanbul ignore else\r\n if (childrenUpdated) {\r\n updatedItem.items = childItems;\r\n itemsUpdated = true;\r\n }\r\n } else {\r\n updatedItem = { ...item };\r\n }\r\n\r\n for (const [, entry] of Object.entries(updatedItem)) {\r\n if (entry instanceof ConditionalBooleanValue) {\r\n // istanbul ignore else\r\n if (ConditionalBooleanValue.refreshValue(entry, eventIds))\r\n itemsUpdated = true;\r\n } else /* istanbul ignore else */ if (entry instanceof ConditionalStringValue) {\r\n // istanbul ignore else\r\n if (ConditionalStringValue.refreshValue(entry, eventIds))\r\n itemsUpdated = true;\r\n }\r\n }\r\n\r\n updatedItems.push(updatedItem);\r\n }\r\n return { childrenUpdated: itemsUpdated, childItems: updatedItems };\r\n }\r\n\r\n private internalRefreshAffectedItems(items: readonly ToolbarItem[], eventIds: Set<string>): { itemsUpdated: boolean, updatedItems: ToolbarItem[] } {\r\n // istanbul ignore next\r\n if (0 === eventIds.size)\r\n return { itemsUpdated: false, updatedItems: [] };\r\n\r\n let updateRequired = false;\r\n\r\n const newItems: ToolbarItem[] = [];\r\n for (const item of items) {\r\n let updatedItem = { ...item };\r\n if (isToolbarGroupItem(updatedItem)) {\r\n const { childrenUpdated, childItems } = ToolbarItemsManager.refreshChildItems(updatedItem, eventIds);\r\n // istanbul ignore else\r\n if (childrenUpdated) {\r\n updatedItem = {\r\n ...updatedItem,\r\n items: childItems,\r\n };\r\n updateRequired = true;\r\n }\r\n }\r\n\r\n for (const [, entry] of Object.entries(updatedItem)) {\r\n if (entry instanceof ConditionalBooleanValue) {\r\n // istanbul ignore else\r\n if (ConditionalBooleanValue.refreshValue(entry, eventIds))\r\n updateRequired = true;\r\n } else /* istanbul ignore else */ if (entry instanceof ConditionalStringValue) {\r\n // istanbul ignore else\r\n if (ConditionalStringValue.refreshValue(entry, eventIds))\r\n updateRequired = true;\r\n }\r\n }\r\n\r\n newItems.push(updatedItem);\r\n }\r\n\r\n return { itemsUpdated: updateRequired, updatedItems: newItems };\r\n }\r\n\r\n public refreshAffectedItems(eventIds: Set<string>) {\r\n // istanbul ignore next\r\n if (0 === eventIds.size)\r\n return;\r\n\r\n const { itemsUpdated, updatedItems } = this.internalRefreshAffectedItems(this.items, eventIds);\r\n\r\n // istanbul ignore else\r\n if (itemsUpdated)\r\n this.loadItemsInternal(updatedItems, false, true);\r\n }\r\n\r\n private static isActiveToolIdRefreshRequiredForChildren(children: ReadonlyArray<ToolbarActionItem | ToolbarGroupItem>, toolId: string): boolean {\r\n for (const item of children) {\r\n if (isToolbarGroupItem(item)) {\r\n if (this.isActiveToolIdRefreshRequiredForChildren(item.items, toolId))\r\n return true;\r\n } else {\r\n const isActive = !!item.isActive;\r\n if ((isActive && item.id !== toolId) || (!isActive && item.id === toolId))\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n private isActiveToolIdRefreshRequired(toolId: string): boolean {\r\n for (const item of this.items) {\r\n if (isToolbarGroupItem(item)) {\r\n if (ToolbarItemsManager.isActiveToolIdRefreshRequiredForChildren(item.items, toolId))\r\n return true;\r\n } else {\r\n const isActive = !!item.isActive;\r\n if ((isActive && item.id !== toolId) || (!isActive && item.id === toolId))\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n private static refreshActiveToolIdInChildItems(parentItem: ToolbarGroupItem, toolId: string): Array<ToolbarActionItem | ToolbarGroupItem> {\r\n const newChildren: Array<ToolbarActionItem | ToolbarGroupItem> = [];\r\n for (const item of parentItem.items) {\r\n let updatedItem = { ...item };\r\n\r\n if (isToolbarGroupItem(updatedItem)) {\r\n updatedItem = {\r\n ...updatedItem,\r\n items: ToolbarItemsManager.refreshActiveToolIdInChildItems(updatedItem, toolId),\r\n };\r\n }\r\n\r\n updatedItem.isActive = (updatedItem.id === toolId);\r\n newChildren.push(updatedItem);\r\n }\r\n return newChildren;\r\n }\r\n\r\n public setActiveToolId(toolId: string) {\r\n // first see if any updates are really necessary\r\n if (!this.isActiveToolIdRefreshRequired(toolId))\r\n return;\r\n\r\n const newItems: ToolbarItem[] = [];\r\n for (const item of this.items) {\r\n let updatedItem = { ...item };\r\n\r\n if (isToolbarGroupItem(updatedItem)) {\r\n updatedItem = {\r\n ...updatedItem,\r\n items: ToolbarItemsManager.refreshActiveToolIdInChildItems(updatedItem, toolId),\r\n };\r\n }\r\n\r\n updatedItem.isActive = (updatedItem.id === toolId);\r\n newItems.push(updatedItem);\r\n }\r\n\r\n this.items = newItems;\r\n }\r\n\r\n}\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toUIAToolbarItem.js","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/toUIAToolbarItem.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAIH,+CAAiE;AAEjE,gBAAgB;AAChB,SAAgB,gBAAgB,CAAC,IAAiB;IAChD,IAAI,IAAA,iCAAmB,EAAC,IAAI,CAAC,EAAE;QAC7B,MAAM,UAAU,GAAsB;YACpC,GAAG,IAAI;YACP,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,IAAI,CAAC,IAAc;YACzB,gBAAgB,EAAE,IAAI,CAAC,YAAY;SACpC,CAAC;QACF,OAAO,UAAU,CAAC;KACnB;IACD,OAAO,IAA6B,CAAC,CAAC,YAAY;AACpD,CAAC;AAXD,4CAWC","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 { CommonToolbarItem as UIA_CommonToolbarItem } from \"@itwin/appui-abstract\";\nimport { CustomToolbarItem } from \"@itwin/components-react\";\nimport { isToolbarCustomItem, ToolbarItem } from \"./ToolbarItem\";\n\n/** @internal */\nexport function toUIAToolbarItem(item: ToolbarItem): UIA_CommonToolbarItem {\n if (isToolbarCustomItem(item)) {\n const customItem: CustomToolbarItem = {\n ...item,\n isCustom: true,\n icon: item.icon as string,\n panelContentNode: item.panelContent,\n };\n return customItem;\n }\n return item as UIA_CommonToolbarItem; // TODO: 4.0\n}\n"]}
|
|
1
|
+
{"version":3,"file":"toUIAToolbarItem.js","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/toUIAToolbarItem.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAIH,+CAAiE;AAEjE,gBAAgB;AAChB,SAAgB,gBAAgB,CAAC,IAAiB;IAChD,IAAI,IAAA,iCAAmB,EAAC,IAAI,CAAC,EAAE;QAC7B,MAAM,UAAU,GAAsB;YACpC,GAAG,IAAI;YACP,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,IAAI,CAAC,IAAc;YACzB,gBAAgB,EAAE,IAAI,CAAC,YAAY;SACpC,CAAC;QACF,OAAO,UAAU,CAAC;KACnB;IACD,OAAO,IAA6B,CAAC,CAAC,YAAY;AACpD,CAAC;AAXD,4CAWC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Toolbar\r\n */\r\n\r\nimport { CommonToolbarItem as UIA_CommonToolbarItem } from \"@itwin/appui-abstract\";\r\nimport { CustomToolbarItem } from \"@itwin/components-react\";\r\nimport { isToolbarCustomItem, ToolbarItem } from \"./ToolbarItem\";\r\n\r\n/** @internal */\r\nexport function toUIAToolbarItem(item: ToolbarItem): UIA_CommonToolbarItem {\r\n if (isToolbarCustomItem(item)) {\r\n const customItem: CustomToolbarItem = {\r\n ...item,\r\n isCustom: true,\r\n icon: item.icon as string,\r\n panelContentNode: item.panelContent,\r\n };\r\n return customItem;\r\n }\r\n return item as UIA_CommonToolbarItem; // TODO: 4.0\r\n}\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDefaultToolbarItems.js","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/useDefaultToolbarItems.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,+BAA+B;AAI/B;;GAEG;AACI,MAAM,sBAAsB,GAAG,CAAC,OAA4B,EAA0B,EAAE;IAC7F,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC9D,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC1C,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,cAAc,CAAC,OAAO;YACxB,cAAc,CAAC,OAAO,GAAG,KAAK,CAAC;aAC5B;YACH,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;SACzB;IACH,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7B,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,OAAO,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE;YACjD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACd,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAhBW,QAAA,sBAAsB,0BAgBjC","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 { ToolbarItem } from \"./ToolbarItem\";\nimport { ToolbarItemsManager } from \"./ToolbarItemsManager\";\n\n/** Hook that returns items from [[ToolbarItemsManager]].\n * @public\n */\nexport const useDefaultToolbarItems = (manager: ToolbarItemsManager): readonly ToolbarItem[] => {\n const [items, setItems] = React.useState(() => manager.items);\n const isInitialMount = React.useRef(true);\n React.useEffect(() => {\n if (isInitialMount.current)\n isInitialMount.current = false;\n else {\n setItems(manager.items);\n }\n }, [manager, manager.items]);\n React.useEffect(() => {\n return manager.onItemsChanged.addListener((args) => {\n setItems(args.items);\n });\n }, [manager]);\n return items;\n};\n"]}
|
|
1
|
+
{"version":3,"file":"useDefaultToolbarItems.js","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/useDefaultToolbarItems.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,+BAA+B;AAI/B;;GAEG;AACI,MAAM,sBAAsB,GAAG,CAAC,OAA4B,EAA0B,EAAE;IAC7F,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC9D,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC1C,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,cAAc,CAAC,OAAO;YACxB,cAAc,CAAC,OAAO,GAAG,KAAK,CAAC;aAC5B;YACH,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;SACzB;IACH,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7B,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,OAAO,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE;YACjD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACd,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAhBW,QAAA,sBAAsB,0BAgBjC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Toolbar\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { ToolbarItem } from \"./ToolbarItem\";\r\nimport { ToolbarItemsManager } from \"./ToolbarItemsManager\";\r\n\r\n/** Hook that returns items from [[ToolbarItemsManager]].\r\n * @public\r\n */\r\nexport const useDefaultToolbarItems = (manager: ToolbarItemsManager): readonly ToolbarItem[] => {\r\n const [items, setItems] = React.useState(() => manager.items);\r\n const isInitialMount = React.useRef(true);\r\n React.useEffect(() => {\r\n if (isInitialMount.current)\r\n isInitialMount.current = false;\r\n else {\r\n setItems(manager.items);\r\n }\r\n }, [manager, manager.items]);\r\n React.useEffect(() => {\r\n return manager.onItemsChanged.addListener((args) => {\r\n setItems(args.items);\r\n });\r\n }, [manager]);\r\n return items;\r\n};\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useUiItemsProviderToolbarItems.js","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/useUiItemsProviderToolbarItems.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,+BAA+B;AAC/B,gEAA6D;AAC7D,wFAAqF;AACrF,gDAA6C;AAE7C,wEAAqE;AAGrE;;GAEG;AACI,MAAM,8BAA8B,GAAG,CAAC,OAA4B,EAAE,YAA0B,EAAE,kBAAsC,EAA0B,EAAE;IACzK,MAAM,kBAAkB,GAAG,IAAA,2DAA4B,GAAE,CAAC;IAC1D,MAAM,OAAO,GAAG,IAAA,mCAAgB,GAAE,CAAC;IACnC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACtC,MAAM,eAAe,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACzC,wHAAwH;IACxH,2DAA2D;IAC3D,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,MAAM,WAAW,GAAG,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEjD,uBAAuB;QACvB,IAAI,YAAY,CAAC,OAAO,KAAK,WAAW,IAAI,eAAe,CAAC,OAAO,KAAK,OAAO,EAAE;YAC/E,MAAM,aAAa,GAAG,yBAAW,CAAC,WAAW,CAAC,mBAAmB,CAAC;YAClE,uBAAuB;YACvB,IAAI,aAAa,EAAE;gBACjB,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC;gBAClC,eAAe,CAAC,OAAO,GAAG,OAAO,CAAC;gBAClC,YAAY,CAAC,OAAO,GAAG,WAAW,CAAC;gBACnC,MAAM,YAAY,GAAG,+BAAc,CAAC,qBAAqB,CAAC,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,kBAAkB,CAAC,CAAC;gBAC5G,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;gBAChC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;aACzB;SACF;QACD,OAAO,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE;YACjD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,kBAAkB,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAC7E,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AA7BW,QAAA,8BAA8B,kCA6BzC","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 { useActiveStageId } from \"../hooks/useActiveStageId\";\nimport { useAvailableUiItemsProviders } from \"../hooks/useAvailableUiItemsProviders\";\nimport { UiFramework } from \"../UiFramework\";\nimport { ToolbarItem, ToolbarOrientation, ToolbarUsage } from \"./ToolbarItem\";\nimport { UiItemsManager } from \"../ui-items-provider/UiItemsManager\";\nimport { ToolbarItemsManager } from \"./ToolbarItemsManager\";\n\n/** Hook that returns items from [[ToolbarItemsManager]].\n * @public\n */\nexport const useUiItemsProviderToolbarItems = (manager: ToolbarItemsManager, toolbarUsage: ToolbarUsage, toolbarOrientation: ToolbarOrientation): readonly ToolbarItem[] => {\n const uiItemsProviderIds = useAvailableUiItemsProviders();\n const stageId = useActiveStageId();\n const [items, setItems] = React.useState(manager.items);\n const providersRef = React.useRef(\"\");\n const currentStageRef = React.useRef(\"\");\n // gathers items from registered extensions - dependent on when a uiItemsProvider is register or unregistered and if the\n // current stage's composer allows entries from extensions.\n React.useEffect(() => {\n const uiProviders = uiItemsProviderIds.join(\"-\");\n\n // istanbul ignore else\n if (providersRef.current !== uiProviders || currentStageRef.current !== stageId) {\n const frontstageDef = UiFramework.frontstages.activeFrontstageDef;\n // istanbul ignore else\n if (frontstageDef) {\n const usage = frontstageDef.usage;\n currentStageRef.current = stageId;\n providersRef.current = uiProviders;\n const toolbarItems = UiItemsManager.getToolbarButtonItems(stageId, usage, toolbarUsage, toolbarOrientation);\n manager.loadItems(toolbarItems);\n setItems(manager.items);\n }\n }\n return manager.onItemsChanged.addListener((args) => {\n setItems(args.items);\n });\n }, [uiItemsProviderIds, stageId, manager, toolbarUsage, toolbarOrientation]);\n return items;\n};\n"]}
|
|
1
|
+
{"version":3,"file":"useUiItemsProviderToolbarItems.js","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/useUiItemsProviderToolbarItems.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,+BAA+B;AAC/B,gEAA6D;AAC7D,wFAAqF;AACrF,gDAA6C;AAE7C,wEAAqE;AAGrE;;GAEG;AACI,MAAM,8BAA8B,GAAG,CAAC,OAA4B,EAAE,YAA0B,EAAE,kBAAsC,EAA0B,EAAE;IACzK,MAAM,kBAAkB,GAAG,IAAA,2DAA4B,GAAE,CAAC;IAC1D,MAAM,OAAO,GAAG,IAAA,mCAAgB,GAAE,CAAC;IACnC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACtC,MAAM,eAAe,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACzC,wHAAwH;IACxH,2DAA2D;IAC3D,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,MAAM,WAAW,GAAG,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEjD,uBAAuB;QACvB,IAAI,YAAY,CAAC,OAAO,KAAK,WAAW,IAAI,eAAe,CAAC,OAAO,KAAK,OAAO,EAAE;YAC/E,MAAM,aAAa,GAAG,yBAAW,CAAC,WAAW,CAAC,mBAAmB,CAAC;YAClE,uBAAuB;YACvB,IAAI,aAAa,EAAE;gBACjB,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC;gBAClC,eAAe,CAAC,OAAO,GAAG,OAAO,CAAC;gBAClC,YAAY,CAAC,OAAO,GAAG,WAAW,CAAC;gBACnC,MAAM,YAAY,GAAG,+BAAc,CAAC,qBAAqB,CAAC,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,kBAAkB,CAAC,CAAC;gBAC5G,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;gBAChC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;aACzB;SACF;QACD,OAAO,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE;YACjD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,kBAAkB,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAC7E,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AA7BW,QAAA,8BAA8B,kCA6BzC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Toolbar\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { useActiveStageId } from \"../hooks/useActiveStageId\";\r\nimport { useAvailableUiItemsProviders } from \"../hooks/useAvailableUiItemsProviders\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { ToolbarItem, ToolbarOrientation, ToolbarUsage } from \"./ToolbarItem\";\r\nimport { UiItemsManager } from \"../ui-items-provider/UiItemsManager\";\r\nimport { ToolbarItemsManager } from \"./ToolbarItemsManager\";\r\n\r\n/** Hook that returns items from [[ToolbarItemsManager]].\r\n * @public\r\n */\r\nexport const useUiItemsProviderToolbarItems = (manager: ToolbarItemsManager, toolbarUsage: ToolbarUsage, toolbarOrientation: ToolbarOrientation): readonly ToolbarItem[] => {\r\n const uiItemsProviderIds = useAvailableUiItemsProviders();\r\n const stageId = useActiveStageId();\r\n const [items, setItems] = React.useState(manager.items);\r\n const providersRef = React.useRef(\"\");\r\n const currentStageRef = React.useRef(\"\");\r\n // gathers items from registered extensions - dependent on when a uiItemsProvider is register or unregistered and if the\r\n // current stage's composer allows entries from extensions.\r\n React.useEffect(() => {\r\n const uiProviders = uiItemsProviderIds.join(\"-\");\r\n\r\n // istanbul ignore else\r\n if (providersRef.current !== uiProviders || currentStageRef.current !== stageId) {\r\n const frontstageDef = UiFramework.frontstages.activeFrontstageDef;\r\n // istanbul ignore else\r\n if (frontstageDef) {\r\n const usage = frontstageDef.usage;\r\n currentStageRef.current = stageId;\r\n providersRef.current = uiProviders;\r\n const toolbarItems = UiItemsManager.getToolbarButtonItems(stageId, usage, toolbarUsage, toolbarOrientation);\r\n manager.loadItems(toolbarItems);\r\n setItems(manager.items);\r\n }\r\n }\r\n return manager.onItemsChanged.addListener((args) => {\r\n setItems(args.items);\r\n });\r\n }, [uiItemsProviderIds, stageId, manager, toolbarUsage, toolbarOrientation]);\r\n return items;\r\n};\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CoreToolDefinitions.js","sourceRoot":"","sources":["../../../../src/appui-react/tools/CoreToolDefinitions.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 Tools\n */\n\nimport * as React from \"react\";// cSpell:ignore keyinbrowser\nimport {\n FitViewTool, FlyViewTool, IModelApp, MeasureDistanceTool, MeasureLocationTool, PanViewTool, RotateViewTool, SelectionTool, SetupWalkCameraTool,\n ViewClipByElementTool, ViewClipByPlaneTool, ViewClipByRangeTool, ViewClipByShapeTool, ViewClipDecorationProvider, ViewRedoTool, ViewToggleCameraTool,\n ViewUndoTool, WalkViewTool, WindowAreaTool, ZoomViewTool,\n} from \"@itwin/core-frontend\";\nimport { ConditionalBooleanValue, ConditionalStringValue, IconSpecUtilities } from \"@itwin/appui-abstract\";\nimport { getIsHiddenIfSelectionNotActive } from \"../selection/SelectionContextItemDef\";\nimport { CommandItemDef } from \"../shared/CommandItemDef\";\nimport { ToolItemDef } from \"../shared/ToolItemDef\";\nimport { SyncUiEventId } from \"../syncui/SyncUiEventDispatcher\";\nimport { GroupItemDef } from \"../toolbar/GroupItem\";\nimport { RestoreFrontstageLayoutTool } from \"./RestoreLayoutTool\";\nimport { UiFramework } from \"../UiFramework\";\nimport cameraAnimationIcon from \"@itwin/itwinui-icons/icons/camera-animation.svg\";\nimport cameraAnimationDisabledIcon from \"@itwin/itwinui-icons/icons/camera-animation-disabled.svg\";\nimport svgGyroscope from \"@bentley/icons-generic/icons/gyroscope.svg\";\nimport svgRotateLeft from \"@bentley/icons-generic/icons/rotate-left.svg\";\nimport svgSectionTool from \"@bentley/icons-generic/icons/section-tool.svg\";\nimport svgSelectionClear from \"@bentley/icons-generic/icons/selection-clear.svg\";\nimport { SvgMeasure, SvgProcess } from \"@itwin/itwinui-icons-react\";\n\n/** Utility Class that provides definitions of tools provided by the ($core-frontend) core. These definitions can be used to populate the UI.\n * @public\n */\n// istanbul ignore next\nexport class CoreTools {\n public static get keyinPaletteButtonItemDef() {\n return new ToolItemDef({\n toolId: \"uif:keyinpalette\",\n iconSpec: <SvgProcess />,\n labelKey: \"UiFramework:keyinbrowser.label\",\n execute: () => { IModelApp.uiAdmin.showKeyinPalette(); },\n });\n }\n\n public static get fitViewCommand() {\n return new ToolItemDef({\n toolId: FitViewTool.toolId,\n iconSpec: FitViewTool.iconSpec,\n label: FitViewTool.flyover,\n description: FitViewTool.description,\n execute: async () => IModelApp.tools.run(FitViewTool.toolId, IModelApp.viewManager.selectedView, true),\n });\n }\n\n public static get windowAreaCommand() {\n return new ToolItemDef({\n toolId: WindowAreaTool.toolId,\n iconSpec: WindowAreaTool.iconSpec,\n label: WindowAreaTool.flyover,\n description: WindowAreaTool.description,\n execute: async () => IModelApp.tools.run(WindowAreaTool.toolId, IModelApp.viewManager.selectedView),\n });\n }\n\n public static get zoomViewCommand() {\n return new ToolItemDef({\n toolId: ZoomViewTool.toolId,\n iconSpec: ZoomViewTool.iconSpec,\n label: ZoomViewTool.flyover,\n description: ZoomViewTool.description,\n execute: async () => IModelApp.tools.run(ZoomViewTool.toolId, IModelApp.viewManager.selectedView),\n });\n }\n\n public static get panViewCommand() {\n return new ToolItemDef({\n toolId: PanViewTool.toolId,\n iconSpec: PanViewTool.iconSpec,\n label: PanViewTool.flyover,\n description: PanViewTool.description,\n execute: async () => IModelApp.tools.run(PanViewTool.toolId, IModelApp.viewManager.selectedView),\n });\n }\n\n public static get rotateViewCommand() {\n return new ToolItemDef({\n toolId: RotateViewTool.toolId,\n iconSpec: new ConditionalStringValue(() => {\n const activeContentControl = UiFramework.content.getActiveContentControl();\n if (activeContentControl?.viewport?.view.is2d())\n return IconSpecUtilities.createWebComponentIconSpec(svgRotateLeft);\n return IconSpecUtilities.createWebComponentIconSpec(svgGyroscope);\n }, [SyncUiEventId.ActiveContentChanged, SyncUiEventId.ActiveViewportChanged, SyncUiEventId.ViewStateChanged]),\n label: RotateViewTool.flyover,\n description: RotateViewTool.description,\n execute: async () => IModelApp.tools.run(RotateViewTool.toolId, IModelApp.viewManager.selectedView),\n });\n }\n\n public static get walkViewCommand() {\n return new ToolItemDef({\n toolId: WalkViewTool.toolId,\n iconSpec: WalkViewTool.iconSpec,\n label: WalkViewTool.flyover,\n description: WalkViewTool.description,\n isHidden: new ConditionalBooleanValue(() => {\n const activeContentControl = UiFramework.content.getActiveContentControl();\n return !!activeContentControl?.viewport?.view.is2d();\n }, [SyncUiEventId.ActiveContentChanged, SyncUiEventId.ActiveViewportChanged, SyncUiEventId.ViewStateChanged]),\n execute: async () => IModelApp.tools.run(WalkViewTool.toolId, IModelApp.viewManager.selectedView),\n });\n }\n\n public static get selectElementCommand() {\n return new ToolItemDef({\n toolId: SelectionTool.toolId,\n iconSpec: SelectionTool.iconSpec,\n label: SelectionTool.flyover,\n description: SelectionTool.description,\n execute: async () => IModelApp.tools.run(SelectionTool.toolId),\n });\n }\n\n public static get setupCameraWalkTool() {\n return new ToolItemDef({\n toolId: SetupWalkCameraTool.toolId,\n iconSpec: SetupWalkCameraTool.iconSpec,\n label: SetupWalkCameraTool.flyover,\n description: SetupWalkCameraTool.description,\n execute: async () => IModelApp.tools.run(SetupWalkCameraTool.toolId),\n });\n }\n\n public static get toggleCameraViewCommand() {\n return new ToolItemDef({\n toolId: ViewToggleCameraTool.toolId,\n iconSpec: new ConditionalStringValue(() => {\n const activeContentControl = UiFramework.content.getActiveContentControl();\n if (activeContentControl?.viewport?.view.is3d() && activeContentControl?.viewport?.isCameraOn) {\n return IconSpecUtilities.createWebComponentIconSpec(cameraAnimationIcon);\n }\n return IconSpecUtilities.createWebComponentIconSpec(cameraAnimationDisabledIcon);\n }, [SyncUiEventId.ActiveContentChanged, SyncUiEventId.ActiveViewportChanged, SyncUiEventId.ViewStateChanged]),\n label: new ConditionalStringValue(() => {\n const activeContentControl = UiFramework.content.getActiveContentControl();\n if (activeContentControl?.viewport?.view.is3d() && activeContentControl?.viewport?.isCameraOn) {\n return UiFramework.translate(\"tools.View.ToggleCamera.turnOffFlyover\");\n }\n return UiFramework.translate(\"tools.View.ToggleCamera.turnOnFlyover\");\n }, [SyncUiEventId.ActiveContentChanged, SyncUiEventId.ActiveViewportChanged, SyncUiEventId.ViewStateChanged]),\n description: ViewToggleCameraTool.description,\n isHidden: new ConditionalBooleanValue(() => {\n const activeContentControl = UiFramework.content.getActiveContentControl();\n return !(activeContentControl?.viewport?.view.is3d() && activeContentControl?.viewport?.view.supportsCamera());\n }, [SyncUiEventId.ActiveContentChanged, SyncUiEventId.ActiveViewportChanged, SyncUiEventId.ViewStateChanged]),\n execute: async () => IModelApp.tools.run(ViewToggleCameraTool.toolId, IModelApp.viewManager.selectedView),\n });\n }\n\n public static get flyViewCommand() {\n return new ToolItemDef({\n toolId: FlyViewTool.toolId,\n iconSpec: FlyViewTool.iconSpec,\n label: FlyViewTool.flyover,\n description: FlyViewTool.description,\n execute: async () => IModelApp.tools.run(FlyViewTool.toolId, IModelApp.viewManager.selectedView),\n });\n }\n\n // TODO - Need to provide a sync message that is fired when the Undo/Redo button needs to be refreshed in the\n // active view.\n public static get viewUndoCommand() {\n return new ToolItemDef({\n toolId: ViewUndoTool.toolId,\n isDisabled: new ConditionalBooleanValue(() => {\n const activeContentControl = UiFramework.content.getActiveContentControl();\n if (activeContentControl && activeContentControl.viewport)\n return !activeContentControl.viewport.isUndoPossible;\n return false;\n }, [SyncUiEventId.ActiveContentChanged, SyncUiEventId.ActiveViewportChanged, SyncUiEventId.ViewStateChanged]),\n iconSpec: ViewUndoTool.iconSpec,\n label: ViewUndoTool.flyover,\n description: ViewUndoTool.description,\n execute: async () => IModelApp.tools.run(ViewUndoTool.toolId, IModelApp.viewManager.selectedView),\n });\n }\n\n public static get viewRedoCommand() {\n return new ToolItemDef({\n toolId: ViewRedoTool.toolId,\n iconSpec: ViewRedoTool.iconSpec,\n label: ViewRedoTool.flyover,\n description: ViewRedoTool.description,\n execute: async () => IModelApp.tools.run(ViewRedoTool.toolId, IModelApp.viewManager.selectedView),\n isDisabled: new ConditionalBooleanValue(() => {\n const activeContentControl = UiFramework.content.getActiveContentControl();\n if (activeContentControl && activeContentControl.viewport)\n return !activeContentControl.viewport.isRedoPossible;\n return false;\n }, [SyncUiEventId.ActiveContentChanged, SyncUiEventId.ActiveViewportChanged, SyncUiEventId.ViewStateChanged]),\n });\n }\n\n private static turnOnClipVolume() {\n const vp = IModelApp.viewManager.selectedView;\n if (!vp || !vp.view.is3d())\n return;\n\n // Turn on clip volume flag for section tools\n vp.viewFlags = vp.viewFlags.with(\"clipVolume\", true);\n }\n\n // note current ViewClipByPlaneTool is not automatically registered so the app must call ViewClipByPlaneTool.register();\n public static get sectionByPlaneCommandItemDef() {\n return new ToolItemDef({\n toolId: ViewClipByPlaneTool.toolId,\n iconSpec: ViewClipByPlaneTool.iconSpec,\n label: ViewClipByPlaneTool.flyover,\n description: ViewClipByPlaneTool.description,\n execute: async () => {\n this.turnOnClipVolume();\n return IModelApp.tools.run(ViewClipByPlaneTool.toolId, ViewClipDecorationProvider.create());\n },\n });\n }\n\n // note current ViewClipByElementTool is not automatically registered so the app must call ViewClipByElementTool.register();\n public static get sectionByElementCommandItemDef() {\n return new ToolItemDef({\n toolId: ViewClipByElementTool.toolId,\n iconSpec: ViewClipByElementTool.iconSpec,\n label: ViewClipByElementTool.flyover,\n description: ViewClipByElementTool.description,\n execute: async () => {\n this.turnOnClipVolume();\n return IModelApp.tools.run(ViewClipByElementTool.toolId, ViewClipDecorationProvider.create());\n },\n });\n }\n\n // note current ViewClipByRangeTool is not automatically registered so the app must call ViewClipByRangeTool.register();\n public static get sectionByRangeCommandItemDef() {\n return new ToolItemDef({\n toolId: ViewClipByRangeTool.toolId,\n iconSpec: ViewClipByRangeTool.iconSpec,\n label: ViewClipByRangeTool.flyover,\n description: ViewClipByRangeTool.description,\n execute: async () => {\n this.turnOnClipVolume();\n return IModelApp.tools.run(ViewClipByRangeTool.toolId, ViewClipDecorationProvider.create());\n },\n });\n }\n\n // note current ViewClipByShapeTool is not automatically registered so the app must call ViewClipByShapeTool.register();\n public static get sectionByShapeCommandItemDef() {\n return new ToolItemDef({\n toolId: ViewClipByShapeTool.toolId,\n iconSpec: ViewClipByShapeTool.iconSpec,\n label: ViewClipByShapeTool.flyover,\n description: ViewClipByShapeTool.description,\n execute: async () => {\n this.turnOnClipVolume();\n return IModelApp.tools.run(ViewClipByShapeTool.toolId, ViewClipDecorationProvider.create());\n },\n });\n }\n\n public static get sectionToolGroup() {\n ViewClipByElementTool.register();\n ViewClipByPlaneTool.register();\n ViewClipByRangeTool.register();\n ViewClipByShapeTool.register();\n\n return new GroupItemDef({\n groupId: \"sectionTools-group\",\n labelKey: \"UiFramework:tools.sectionTools\",\n iconSpec: IconSpecUtilities.createWebComponentIconSpec(svgSectionTool),\n isHidden: new ConditionalBooleanValue(() => {\n const activeContentControl = UiFramework.content.getActiveContentControl();\n return !!activeContentControl?.viewport?.view.is2d();\n }, [SyncUiEventId.ActiveContentChanged, SyncUiEventId.ActiveViewportChanged, SyncUiEventId.ViewStateChanged]),\n items: [this.sectionByPlaneCommandItemDef, this.sectionByElementCommandItemDef, this.sectionByRangeCommandItemDef, this.sectionByShapeCommandItemDef],\n itemsInColumn: 4,\n });\n }\n\n public static get sectionToolGroupWithPanel() {\n ViewClipByElementTool.register();\n ViewClipByPlaneTool.register();\n ViewClipByRangeTool.register();\n ViewClipByShapeTool.register();\n\n return new GroupItemDef({\n groupId: \"sectionTools-group-with-panel\",\n labelKey: \"UiFramework:tools.sectionTools\",\n panelLabelKey: \"UiFramework:tools.sectionPanelLabel\",\n iconSpec: IconSpecUtilities.createWebComponentIconSpec(svgSectionTool),\n isHidden: new ConditionalBooleanValue(() => {\n const activeContentControl = UiFramework.content.getActiveContentControl();\n return !!activeContentControl?.viewport?.view.is2d();\n }, [SyncUiEventId.ActiveContentChanged, SyncUiEventId.ActiveViewportChanged, SyncUiEventId.ViewStateChanged]),\n items: [\n new ToolItemDef({\n ...this.sectionByPlaneCommandItemDef,\n labelKey: \"UiFramework:tools.sectionByPlane\",\n }),\n new ToolItemDef({\n ...this.sectionByElementCommandItemDef,\n labelKey: \"UiFramework:tools.sectionByElement\",\n }),\n new ToolItemDef({\n ...this.sectionByRangeCommandItemDef,\n labelKey: \"UiFramework:tools.sectionByRange\",\n }),\n new ToolItemDef({\n ...this.sectionByShapeCommandItemDef,\n labelKey: \"UiFramework:tools.sectionByShape\",\n }),\n ],\n itemsInColumn: 4,\n });\n\n }\n\n // note current MeasureDistanceTool is not automatically registered so the app must call MeasureDistanceTool.register();\n public static get measureDistanceToolItemDef() {\n return new ToolItemDef({\n toolId: MeasureDistanceTool.toolId,\n iconSpec: MeasureDistanceTool.iconSpec,\n label: MeasureDistanceTool.flyover,\n description: MeasureDistanceTool.description,\n execute: async () => {\n return IModelApp.tools.run(MeasureDistanceTool.toolId);\n },\n });\n }\n\n // note current MeasureLocationTool is not automatically registered so the app must call MeasureLocationTool.register();\n public static get measureLocationToolItemDef() {\n return new ToolItemDef({\n toolId: MeasureLocationTool.toolId,\n iconSpec: MeasureLocationTool.iconSpec,\n label: MeasureLocationTool.flyover,\n description: MeasureLocationTool.description,\n execute: async () => {\n return IModelApp.tools.run(MeasureLocationTool.toolId);\n },\n });\n }\n\n public static get measureToolGroup() {\n MeasureDistanceTool.register();\n MeasureLocationTool.register();\n\n return new GroupItemDef({\n groupId: \"measureTools-group\",\n labelKey: \"UiFramework:tools.measureTools\",\n iconSpec: <SvgMeasure />,\n items: [this.measureDistanceToolItemDef, this.measureLocationToolItemDef],\n itemsInColumn: 2,\n });\n }\n\n public static get clearSelectionItemDef() {\n return new CommandItemDef({\n commandId: \"UiFramework.ClearSelection\",\n iconSpec: IconSpecUtilities.createWebComponentIconSpec(svgSelectionClear),\n labelKey: \"UiFramework:buttons.clearSelection\",\n isHidden: getIsHiddenIfSelectionNotActive(),\n execute: async () => {\n const iModelConnection = UiFramework.getIModelConnection();\n if (iModelConnection) {\n iModelConnection.selectionSet.emptyAll();\n }\n const tool = IModelApp.toolAdmin.primitiveTool;\n if (tool)\n await tool.onRestartTool();\n else\n await IModelApp.toolAdmin.startDefaultTool();\n },\n });\n }\n\n public static get restoreFrontstageLayoutCommandItemDef() {\n return new ToolItemDef({\n toolId: RestoreFrontstageLayoutTool.toolId,\n iconSpec: RestoreFrontstageLayoutTool.iconSpec,\n label: RestoreFrontstageLayoutTool.flyover,\n description: RestoreFrontstageLayoutTool.description,\n execute: async () => {\n return IModelApp.tools.run(RestoreFrontstageLayoutTool.toolId);\n },\n });\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"CoreToolDefinitions.js","sourceRoot":"","sources":["../../../../src/appui-react/tools/CoreToolDefinitions.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Tools\r\n */\r\n\r\nimport * as React from \"react\";// cSpell:ignore keyinbrowser\r\nimport {\r\n FitViewTool, FlyViewTool, IModelApp, MeasureDistanceTool, MeasureLocationTool, PanViewTool, RotateViewTool, SelectionTool, SetupWalkCameraTool,\r\n ViewClipByElementTool, ViewClipByPlaneTool, ViewClipByRangeTool, ViewClipByShapeTool, ViewClipDecorationProvider, ViewRedoTool, ViewToggleCameraTool,\r\n ViewUndoTool, WalkViewTool, WindowAreaTool, ZoomViewTool,\r\n} from \"@itwin/core-frontend\";\r\nimport { ConditionalBooleanValue, ConditionalStringValue, IconSpecUtilities } from \"@itwin/appui-abstract\";\r\nimport { getIsHiddenIfSelectionNotActive } from \"../selection/SelectionContextItemDef\";\r\nimport { CommandItemDef } from \"../shared/CommandItemDef\";\r\nimport { ToolItemDef } from \"../shared/ToolItemDef\";\r\nimport { SyncUiEventId } from \"../syncui/SyncUiEventDispatcher\";\r\nimport { GroupItemDef } from \"../toolbar/GroupItem\";\r\nimport { RestoreFrontstageLayoutTool } from \"./RestoreLayoutTool\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport cameraAnimationIcon from \"@itwin/itwinui-icons/icons/camera-animation.svg\";\r\nimport cameraAnimationDisabledIcon from \"@itwin/itwinui-icons/icons/camera-animation-disabled.svg\";\r\nimport svgGyroscope from \"@bentley/icons-generic/icons/gyroscope.svg\";\r\nimport svgRotateLeft from \"@bentley/icons-generic/icons/rotate-left.svg\";\r\nimport svgSectionTool from \"@bentley/icons-generic/icons/section-tool.svg\";\r\nimport svgSelectionClear from \"@bentley/icons-generic/icons/selection-clear.svg\";\r\nimport { SvgMeasure, SvgProcess } from \"@itwin/itwinui-icons-react\";\r\n\r\n/** Utility Class that provides definitions of tools provided by the ($core-frontend) core. These definitions can be used to populate the UI.\r\n * @public\r\n */\r\n// istanbul ignore next\r\nexport class CoreTools {\r\n public static get keyinPaletteButtonItemDef() {\r\n return new ToolItemDef({\r\n toolId: \"uif:keyinpalette\",\r\n iconSpec: <SvgProcess />,\r\n labelKey: \"UiFramework:keyinbrowser.label\",\r\n execute: () => { IModelApp.uiAdmin.showKeyinPalette(); },\r\n });\r\n }\r\n\r\n public static get fitViewCommand() {\r\n return new ToolItemDef({\r\n toolId: FitViewTool.toolId,\r\n iconSpec: FitViewTool.iconSpec,\r\n label: FitViewTool.flyover,\r\n description: FitViewTool.description,\r\n execute: async () => IModelApp.tools.run(FitViewTool.toolId, IModelApp.viewManager.selectedView, true),\r\n });\r\n }\r\n\r\n public static get windowAreaCommand() {\r\n return new ToolItemDef({\r\n toolId: WindowAreaTool.toolId,\r\n iconSpec: WindowAreaTool.iconSpec,\r\n label: WindowAreaTool.flyover,\r\n description: WindowAreaTool.description,\r\n execute: async () => IModelApp.tools.run(WindowAreaTool.toolId, IModelApp.viewManager.selectedView),\r\n });\r\n }\r\n\r\n public static get zoomViewCommand() {\r\n return new ToolItemDef({\r\n toolId: ZoomViewTool.toolId,\r\n iconSpec: ZoomViewTool.iconSpec,\r\n label: ZoomViewTool.flyover,\r\n description: ZoomViewTool.description,\r\n execute: async () => IModelApp.tools.run(ZoomViewTool.toolId, IModelApp.viewManager.selectedView),\r\n });\r\n }\r\n\r\n public static get panViewCommand() {\r\n return new ToolItemDef({\r\n toolId: PanViewTool.toolId,\r\n iconSpec: PanViewTool.iconSpec,\r\n label: PanViewTool.flyover,\r\n description: PanViewTool.description,\r\n execute: async () => IModelApp.tools.run(PanViewTool.toolId, IModelApp.viewManager.selectedView),\r\n });\r\n }\r\n\r\n public static get rotateViewCommand() {\r\n return new ToolItemDef({\r\n toolId: RotateViewTool.toolId,\r\n iconSpec: new ConditionalStringValue(() => {\r\n const activeContentControl = UiFramework.content.getActiveContentControl();\r\n if (activeContentControl?.viewport?.view.is2d())\r\n return IconSpecUtilities.createWebComponentIconSpec(svgRotateLeft);\r\n return IconSpecUtilities.createWebComponentIconSpec(svgGyroscope);\r\n }, [SyncUiEventId.ActiveContentChanged, SyncUiEventId.ActiveViewportChanged, SyncUiEventId.ViewStateChanged]),\r\n label: RotateViewTool.flyover,\r\n description: RotateViewTool.description,\r\n execute: async () => IModelApp.tools.run(RotateViewTool.toolId, IModelApp.viewManager.selectedView),\r\n });\r\n }\r\n\r\n public static get walkViewCommand() {\r\n return new ToolItemDef({\r\n toolId: WalkViewTool.toolId,\r\n iconSpec: WalkViewTool.iconSpec,\r\n label: WalkViewTool.flyover,\r\n description: WalkViewTool.description,\r\n isHidden: new ConditionalBooleanValue(() => {\r\n const activeContentControl = UiFramework.content.getActiveContentControl();\r\n return !!activeContentControl?.viewport?.view.is2d();\r\n }, [SyncUiEventId.ActiveContentChanged, SyncUiEventId.ActiveViewportChanged, SyncUiEventId.ViewStateChanged]),\r\n execute: async () => IModelApp.tools.run(WalkViewTool.toolId, IModelApp.viewManager.selectedView),\r\n });\r\n }\r\n\r\n public static get selectElementCommand() {\r\n return new ToolItemDef({\r\n toolId: SelectionTool.toolId,\r\n iconSpec: SelectionTool.iconSpec,\r\n label: SelectionTool.flyover,\r\n description: SelectionTool.description,\r\n execute: async () => IModelApp.tools.run(SelectionTool.toolId),\r\n });\r\n }\r\n\r\n public static get setupCameraWalkTool() {\r\n return new ToolItemDef({\r\n toolId: SetupWalkCameraTool.toolId,\r\n iconSpec: SetupWalkCameraTool.iconSpec,\r\n label: SetupWalkCameraTool.flyover,\r\n description: SetupWalkCameraTool.description,\r\n execute: async () => IModelApp.tools.run(SetupWalkCameraTool.toolId),\r\n });\r\n }\r\n\r\n public static get toggleCameraViewCommand() {\r\n return new ToolItemDef({\r\n toolId: ViewToggleCameraTool.toolId,\r\n iconSpec: new ConditionalStringValue(() => {\r\n const activeContentControl = UiFramework.content.getActiveContentControl();\r\n if (activeContentControl?.viewport?.view.is3d() && activeContentControl?.viewport?.isCameraOn) {\r\n return IconSpecUtilities.createWebComponentIconSpec(cameraAnimationIcon);\r\n }\r\n return IconSpecUtilities.createWebComponentIconSpec(cameraAnimationDisabledIcon);\r\n }, [SyncUiEventId.ActiveContentChanged, SyncUiEventId.ActiveViewportChanged, SyncUiEventId.ViewStateChanged]),\r\n label: new ConditionalStringValue(() => {\r\n const activeContentControl = UiFramework.content.getActiveContentControl();\r\n if (activeContentControl?.viewport?.view.is3d() && activeContentControl?.viewport?.isCameraOn) {\r\n return UiFramework.translate(\"tools.View.ToggleCamera.turnOffFlyover\");\r\n }\r\n return UiFramework.translate(\"tools.View.ToggleCamera.turnOnFlyover\");\r\n }, [SyncUiEventId.ActiveContentChanged, SyncUiEventId.ActiveViewportChanged, SyncUiEventId.ViewStateChanged]),\r\n description: ViewToggleCameraTool.description,\r\n isHidden: new ConditionalBooleanValue(() => {\r\n const activeContentControl = UiFramework.content.getActiveContentControl();\r\n return !(activeContentControl?.viewport?.view.is3d() && activeContentControl?.viewport?.view.supportsCamera());\r\n }, [SyncUiEventId.ActiveContentChanged, SyncUiEventId.ActiveViewportChanged, SyncUiEventId.ViewStateChanged]),\r\n execute: async () => IModelApp.tools.run(ViewToggleCameraTool.toolId, IModelApp.viewManager.selectedView),\r\n });\r\n }\r\n\r\n public static get flyViewCommand() {\r\n return new ToolItemDef({\r\n toolId: FlyViewTool.toolId,\r\n iconSpec: FlyViewTool.iconSpec,\r\n label: FlyViewTool.flyover,\r\n description: FlyViewTool.description,\r\n execute: async () => IModelApp.tools.run(FlyViewTool.toolId, IModelApp.viewManager.selectedView),\r\n });\r\n }\r\n\r\n // TODO - Need to provide a sync message that is fired when the Undo/Redo button needs to be refreshed in the\r\n // active view.\r\n public static get viewUndoCommand() {\r\n return new ToolItemDef({\r\n toolId: ViewUndoTool.toolId,\r\n isDisabled: new ConditionalBooleanValue(() => {\r\n const activeContentControl = UiFramework.content.getActiveContentControl();\r\n if (activeContentControl && activeContentControl.viewport)\r\n return !activeContentControl.viewport.isUndoPossible;\r\n return false;\r\n }, [SyncUiEventId.ActiveContentChanged, SyncUiEventId.ActiveViewportChanged, SyncUiEventId.ViewStateChanged]),\r\n iconSpec: ViewUndoTool.iconSpec,\r\n label: ViewUndoTool.flyover,\r\n description: ViewUndoTool.description,\r\n execute: async () => IModelApp.tools.run(ViewUndoTool.toolId, IModelApp.viewManager.selectedView),\r\n });\r\n }\r\n\r\n public static get viewRedoCommand() {\r\n return new ToolItemDef({\r\n toolId: ViewRedoTool.toolId,\r\n iconSpec: ViewRedoTool.iconSpec,\r\n label: ViewRedoTool.flyover,\r\n description: ViewRedoTool.description,\r\n execute: async () => IModelApp.tools.run(ViewRedoTool.toolId, IModelApp.viewManager.selectedView),\r\n isDisabled: new ConditionalBooleanValue(() => {\r\n const activeContentControl = UiFramework.content.getActiveContentControl();\r\n if (activeContentControl && activeContentControl.viewport)\r\n return !activeContentControl.viewport.isRedoPossible;\r\n return false;\r\n }, [SyncUiEventId.ActiveContentChanged, SyncUiEventId.ActiveViewportChanged, SyncUiEventId.ViewStateChanged]),\r\n });\r\n }\r\n\r\n private static turnOnClipVolume() {\r\n const vp = IModelApp.viewManager.selectedView;\r\n if (!vp || !vp.view.is3d())\r\n return;\r\n\r\n // Turn on clip volume flag for section tools\r\n vp.viewFlags = vp.viewFlags.with(\"clipVolume\", true);\r\n }\r\n\r\n // note current ViewClipByPlaneTool is not automatically registered so the app must call ViewClipByPlaneTool.register();\r\n public static get sectionByPlaneCommandItemDef() {\r\n return new ToolItemDef({\r\n toolId: ViewClipByPlaneTool.toolId,\r\n iconSpec: ViewClipByPlaneTool.iconSpec,\r\n label: ViewClipByPlaneTool.flyover,\r\n description: ViewClipByPlaneTool.description,\r\n execute: async () => {\r\n this.turnOnClipVolume();\r\n return IModelApp.tools.run(ViewClipByPlaneTool.toolId, ViewClipDecorationProvider.create());\r\n },\r\n });\r\n }\r\n\r\n // note current ViewClipByElementTool is not automatically registered so the app must call ViewClipByElementTool.register();\r\n public static get sectionByElementCommandItemDef() {\r\n return new ToolItemDef({\r\n toolId: ViewClipByElementTool.toolId,\r\n iconSpec: ViewClipByElementTool.iconSpec,\r\n label: ViewClipByElementTool.flyover,\r\n description: ViewClipByElementTool.description,\r\n execute: async () => {\r\n this.turnOnClipVolume();\r\n return IModelApp.tools.run(ViewClipByElementTool.toolId, ViewClipDecorationProvider.create());\r\n },\r\n });\r\n }\r\n\r\n // note current ViewClipByRangeTool is not automatically registered so the app must call ViewClipByRangeTool.register();\r\n public static get sectionByRangeCommandItemDef() {\r\n return new ToolItemDef({\r\n toolId: ViewClipByRangeTool.toolId,\r\n iconSpec: ViewClipByRangeTool.iconSpec,\r\n label: ViewClipByRangeTool.flyover,\r\n description: ViewClipByRangeTool.description,\r\n execute: async () => {\r\n this.turnOnClipVolume();\r\n return IModelApp.tools.run(ViewClipByRangeTool.toolId, ViewClipDecorationProvider.create());\r\n },\r\n });\r\n }\r\n\r\n // note current ViewClipByShapeTool is not automatically registered so the app must call ViewClipByShapeTool.register();\r\n public static get sectionByShapeCommandItemDef() {\r\n return new ToolItemDef({\r\n toolId: ViewClipByShapeTool.toolId,\r\n iconSpec: ViewClipByShapeTool.iconSpec,\r\n label: ViewClipByShapeTool.flyover,\r\n description: ViewClipByShapeTool.description,\r\n execute: async () => {\r\n this.turnOnClipVolume();\r\n return IModelApp.tools.run(ViewClipByShapeTool.toolId, ViewClipDecorationProvider.create());\r\n },\r\n });\r\n }\r\n\r\n public static get sectionToolGroup() {\r\n ViewClipByElementTool.register();\r\n ViewClipByPlaneTool.register();\r\n ViewClipByRangeTool.register();\r\n ViewClipByShapeTool.register();\r\n\r\n return new GroupItemDef({\r\n groupId: \"sectionTools-group\",\r\n labelKey: \"UiFramework:tools.sectionTools\",\r\n iconSpec: IconSpecUtilities.createWebComponentIconSpec(svgSectionTool),\r\n isHidden: new ConditionalBooleanValue(() => {\r\n const activeContentControl = UiFramework.content.getActiveContentControl();\r\n return !!activeContentControl?.viewport?.view.is2d();\r\n }, [SyncUiEventId.ActiveContentChanged, SyncUiEventId.ActiveViewportChanged, SyncUiEventId.ViewStateChanged]),\r\n items: [this.sectionByPlaneCommandItemDef, this.sectionByElementCommandItemDef, this.sectionByRangeCommandItemDef, this.sectionByShapeCommandItemDef],\r\n itemsInColumn: 4,\r\n });\r\n }\r\n\r\n public static get sectionToolGroupWithPanel() {\r\n ViewClipByElementTool.register();\r\n ViewClipByPlaneTool.register();\r\n ViewClipByRangeTool.register();\r\n ViewClipByShapeTool.register();\r\n\r\n return new GroupItemDef({\r\n groupId: \"sectionTools-group-with-panel\",\r\n labelKey: \"UiFramework:tools.sectionTools\",\r\n panelLabelKey: \"UiFramework:tools.sectionPanelLabel\",\r\n iconSpec: IconSpecUtilities.createWebComponentIconSpec(svgSectionTool),\r\n isHidden: new ConditionalBooleanValue(() => {\r\n const activeContentControl = UiFramework.content.getActiveContentControl();\r\n return !!activeContentControl?.viewport?.view.is2d();\r\n }, [SyncUiEventId.ActiveContentChanged, SyncUiEventId.ActiveViewportChanged, SyncUiEventId.ViewStateChanged]),\r\n items: [\r\n new ToolItemDef({\r\n ...this.sectionByPlaneCommandItemDef,\r\n labelKey: \"UiFramework:tools.sectionByPlane\",\r\n }),\r\n new ToolItemDef({\r\n ...this.sectionByElementCommandItemDef,\r\n labelKey: \"UiFramework:tools.sectionByElement\",\r\n }),\r\n new ToolItemDef({\r\n ...this.sectionByRangeCommandItemDef,\r\n labelKey: \"UiFramework:tools.sectionByRange\",\r\n }),\r\n new ToolItemDef({\r\n ...this.sectionByShapeCommandItemDef,\r\n labelKey: \"UiFramework:tools.sectionByShape\",\r\n }),\r\n ],\r\n itemsInColumn: 4,\r\n });\r\n\r\n }\r\n\r\n // note current MeasureDistanceTool is not automatically registered so the app must call MeasureDistanceTool.register();\r\n public static get measureDistanceToolItemDef() {\r\n return new ToolItemDef({\r\n toolId: MeasureDistanceTool.toolId,\r\n iconSpec: MeasureDistanceTool.iconSpec,\r\n label: MeasureDistanceTool.flyover,\r\n description: MeasureDistanceTool.description,\r\n execute: async () => {\r\n return IModelApp.tools.run(MeasureDistanceTool.toolId);\r\n },\r\n });\r\n }\r\n\r\n // note current MeasureLocationTool is not automatically registered so the app must call MeasureLocationTool.register();\r\n public static get measureLocationToolItemDef() {\r\n return new ToolItemDef({\r\n toolId: MeasureLocationTool.toolId,\r\n iconSpec: MeasureLocationTool.iconSpec,\r\n label: MeasureLocationTool.flyover,\r\n description: MeasureLocationTool.description,\r\n execute: async () => {\r\n return IModelApp.tools.run(MeasureLocationTool.toolId);\r\n },\r\n });\r\n }\r\n\r\n public static get measureToolGroup() {\r\n MeasureDistanceTool.register();\r\n MeasureLocationTool.register();\r\n\r\n return new GroupItemDef({\r\n groupId: \"measureTools-group\",\r\n labelKey: \"UiFramework:tools.measureTools\",\r\n iconSpec: <SvgMeasure />,\r\n items: [this.measureDistanceToolItemDef, this.measureLocationToolItemDef],\r\n itemsInColumn: 2,\r\n });\r\n }\r\n\r\n public static get clearSelectionItemDef() {\r\n return new CommandItemDef({\r\n commandId: \"UiFramework.ClearSelection\",\r\n iconSpec: IconSpecUtilities.createWebComponentIconSpec(svgSelectionClear),\r\n labelKey: \"UiFramework:buttons.clearSelection\",\r\n isHidden: getIsHiddenIfSelectionNotActive(),\r\n execute: async () => {\r\n const iModelConnection = UiFramework.getIModelConnection();\r\n if (iModelConnection) {\r\n iModelConnection.selectionSet.emptyAll();\r\n }\r\n const tool = IModelApp.toolAdmin.primitiveTool;\r\n if (tool)\r\n await tool.onRestartTool();\r\n else\r\n await IModelApp.toolAdmin.startDefaultTool();\r\n },\r\n });\r\n }\r\n\r\n public static get restoreFrontstageLayoutCommandItemDef() {\r\n return new ToolItemDef({\r\n toolId: RestoreFrontstageLayoutTool.toolId,\r\n iconSpec: RestoreFrontstageLayoutTool.iconSpec,\r\n label: RestoreFrontstageLayoutTool.flyover,\r\n description: RestoreFrontstageLayoutTool.description,\r\n execute: async () => {\r\n return IModelApp.tools.run(RestoreFrontstageLayoutTool.toolId);\r\n },\r\n });\r\n }\r\n}\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FrameworkToolAdmin.js","sourceRoot":"","sources":["../../../../src/appui-react/tools/FrameworkToolAdmin.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,wDAAiD;AACjD,0DAAmD;AACnD,gDAA6C;AAE7C;;IAEI;AACJ,MAAa,kBAAmB,SAAQ,yBAAS;IAE/C,kCAAkC;IAClB,KAAK,CAAC,kBAAkB,CAAC,CAAgB,EAAE,QAAiB;QAC1E,IAAI,OAAO,GAAG,KAAK,CAAC;QAEpB,IAAI,QAAQ,IAAI,CAAC,yBAAW,CAAC,iBAAiB,EAAE;YAC9C,IAAI,yBAAW,CAAC,iBAAiB,CAAC,aAAa,IAAI,CAAC,CAAC,GAAG,KAAK,2BAAU,CAAC,MAAM,EAAE;gBAC9E,yBAAW,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;gBACjF,OAAO,GAAG,IAAI,CAAC;aAChB;SACF;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;CACF;AAfD,gDAeC","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 Tools\n */\n\nimport { ToolAdmin } from \"@itwin/core-frontend\";\nimport { SpecialKey } from \"@itwin/appui-abstract\";\nimport { UiFramework } from \"../UiFramework\";\n\n/** UiFramework implementation of ToolAdmin\n * @alpha\n */\nexport class FrameworkToolAdmin extends ToolAdmin {\n\n /** Process shortcut key events */\n public override async processShortcutKey(e: KeyboardEvent, wentDown: boolean): Promise<boolean> {\n let handled = false;\n\n if (wentDown && !UiFramework.isContextMenuOpen) {\n if (UiFramework.keyboardShortcuts.isFocusOnHome && e.key !== SpecialKey.Escape) {\n UiFramework.keyboardShortcuts.processKey(e.key, e.altKey, e.ctrlKey, e.shiftKey);\n handled = true;\n }\n }\n\n return handled;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"FrameworkToolAdmin.js","sourceRoot":"","sources":["../../../../src/appui-react/tools/FrameworkToolAdmin.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,wDAAiD;AACjD,0DAAmD;AACnD,gDAA6C;AAE7C;;IAEI;AACJ,MAAa,kBAAmB,SAAQ,yBAAS;IAE/C,kCAAkC;IAClB,KAAK,CAAC,kBAAkB,CAAC,CAAgB,EAAE,QAAiB;QAC1E,IAAI,OAAO,GAAG,KAAK,CAAC;QAEpB,IAAI,QAAQ,IAAI,CAAC,yBAAW,CAAC,iBAAiB,EAAE;YAC9C,IAAI,yBAAW,CAAC,iBAAiB,CAAC,aAAa,IAAI,CAAC,CAAC,GAAG,KAAK,2BAAU,CAAC,MAAM,EAAE;gBAC9E,yBAAW,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;gBACjF,OAAO,GAAG,IAAI,CAAC;aAChB;SACF;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;CACF;AAfD,gDAeC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Tools\r\n */\r\n\r\nimport { ToolAdmin } from \"@itwin/core-frontend\";\r\nimport { SpecialKey } from \"@itwin/appui-abstract\";\r\nimport { UiFramework } from \"../UiFramework\";\r\n\r\n/** UiFramework implementation of ToolAdmin\r\n * @alpha\r\n */\r\nexport class FrameworkToolAdmin extends ToolAdmin {\r\n\r\n /** Process shortcut key events */\r\n public override async processShortcutKey(e: KeyboardEvent, wentDown: boolean): Promise<boolean> {\r\n let handled = false;\r\n\r\n if (wentDown && !UiFramework.isContextMenuOpen) {\r\n if (UiFramework.keyboardShortcuts.isFocusOnHome && e.key !== SpecialKey.Escape) {\r\n UiFramework.keyboardShortcuts.processKey(e.key, e.altKey, e.ctrlKey, e.shiftKey);\r\n handled = true;\r\n }\r\n }\r\n\r\n return handled;\r\n }\r\n}\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KeyinPaletteTools.js","sourceRoot":"","sources":["../../../../src/appui-react/tools/KeyinPaletteTools.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,kEAAsE;AACtE,wDAA4C;AAC5C,wEAAgE;AAChE,0DAA0D;AAE1D;;;;GAIG;AACH,MAAa,4BAA6B,SAAQ,oBAAI;IAIpD,uBAAuB;IAChB,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAClD,uBAAuB;IAChB,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAElC,KAAK,CAAC,GAAG;QACvB,IAAA,4CAAwB,GAAE,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;;AAXsB,mCAAM,GAAG,0BAA0B,CAAC;AACpC,qCAAQ,GAAG,kCAAiB,CAAC,0BAA0B,CAAC,oBAAS,CAAC,CAAC;AAF/E,oEAA4B","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 Tools\n */\n\nimport { clearKeyinPaletteHistory } from \"../popup/KeyinPalettePanel\";\nimport { Tool } from \"@itwin/core-frontend\";\nimport svgRemove from \"@bentley/icons-generic/icons/remove.svg\";\nimport { IconSpecUtilities } from \"@itwin/appui-abstract\";\n\n/**\n * Immediate tool that will clear the recent history of command/tool keyins shown in\n * the command palette.\n * @alpha\n */\nexport class ClearKeyinPaletteHistoryTool extends Tool {\n public static override toolId = \"ClearKeyinPaletteHistory\";\n public static override iconSpec = IconSpecUtilities.createWebComponentIconSpec(svgRemove);\n\n // istanbul ignore next\n public static override get minArgs() { return 0; }\n // istanbul ignore next\n public static override get maxArgs() { return 0; }\n\n public override async run(): Promise<boolean> {\n clearKeyinPaletteHistory();\n return true;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"KeyinPaletteTools.js","sourceRoot":"","sources":["../../../../src/appui-react/tools/KeyinPaletteTools.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,kEAAsE;AACtE,wDAA4C;AAC5C,wEAAgE;AAChE,0DAA0D;AAE1D;;;;GAIG;AACH,MAAa,4BAA6B,SAAQ,oBAAI;IAIpD,uBAAuB;IAChB,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAClD,uBAAuB;IAChB,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAElC,KAAK,CAAC,GAAG;QACvB,IAAA,4CAAwB,GAAE,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;;AAXsB,mCAAM,GAAG,0BAA0B,CAAC;AACpC,qCAAQ,GAAG,kCAAiB,CAAC,0BAA0B,CAAC,oBAAS,CAAC,CAAC;AAF/E,oEAA4B","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Tools\r\n */\r\n\r\nimport { clearKeyinPaletteHistory } from \"../popup/KeyinPalettePanel\";\r\nimport { Tool } from \"@itwin/core-frontend\";\r\nimport svgRemove from \"@bentley/icons-generic/icons/remove.svg\";\r\nimport { IconSpecUtilities } from \"@itwin/appui-abstract\";\r\n\r\n/**\r\n * Immediate tool that will clear the recent history of command/tool keyins shown in\r\n * the command palette.\r\n * @alpha\r\n */\r\nexport class ClearKeyinPaletteHistoryTool extends Tool {\r\n public static override toolId = \"ClearKeyinPaletteHistory\";\r\n public static override iconSpec = IconSpecUtilities.createWebComponentIconSpec(svgRemove);\r\n\r\n // istanbul ignore next\r\n public static override get minArgs() { return 0; }\r\n // istanbul ignore next\r\n public static override get maxArgs() { return 0; }\r\n\r\n public override async run(): Promise<boolean> {\r\n clearKeyinPaletteHistory();\r\n return true;\r\n }\r\n}\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenSettingsTool.js","sourceRoot":"","sources":["../../../../src/appui-react/tools/OpenSettingsTool.ts"],"names":[],"mappings":";;;AAAA;;;+FAG+F;AAC/F;;GAEG;AACH,wDAA4C;AAC5C,yEAA2E;AAC3E,4EAAoE;AACpE,0DAA0D;AAE1D;;;GAGG;AACH,MAAa,gBAAiB,SAAQ,oBAAI;IAIxC,uBAAuB;IAChB,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAClD,uBAAuB;IAChB,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAElC,KAAK,CAAC,GAAG,CAAC,eAAwB;QAChD,4CAAuB,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC;QAC3D,OAAO,IAAI,CAAC;IACd,CAAC;IAEe,KAAK,CAAC,WAAW,CAAC,GAAG,IAAc;QACjD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;;AAfsB,uBAAM,GAAG,cAAc,CAAC;AACxB,yBAAQ,GAAG,kCAAiB,CAAC,0BAA0B,CAAC,sBAAW,CAAC,CAAC;AAFjF,4CAAgB","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 Tools\n */\nimport { Tool } from \"@itwin/core-frontend\";\nimport { SettingsModalFrontstage } from \"../frontstage/ModalSettingsStage\";\nimport svgSettings from \"@bentley/icons-generic/icons/settings.svg\";\nimport { IconSpecUtilities } from \"@itwin/appui-abstract\";\n\n/**\n * Immediate tool that will open the Settings modal stage.\n * @alpha\n */\nexport class OpenSettingsTool extends Tool {\n public static override toolId = \"OpenSettings\";\n public static override iconSpec = IconSpecUtilities.createWebComponentIconSpec(svgSettings);\n\n // istanbul ignore next\n public static override get minArgs() { return 0; }\n // istanbul ignore next\n public static override get maxArgs() { return 1; }\n\n public override async run(settingCategory?: string): Promise<boolean> {\n SettingsModalFrontstage.showSettingsStage(settingCategory);\n return true;\n }\n\n public override async parseAndRun(...args: string[]): Promise<boolean> {\n return this.run(args[0]);\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"OpenSettingsTool.js","sourceRoot":"","sources":["../../../../src/appui-react/tools/OpenSettingsTool.ts"],"names":[],"mappings":";;;AAAA;;;+FAG+F;AAC/F;;GAEG;AACH,wDAA4C;AAC5C,yEAA2E;AAC3E,4EAAoE;AACpE,0DAA0D;AAE1D;;;GAGG;AACH,MAAa,gBAAiB,SAAQ,oBAAI;IAIxC,uBAAuB;IAChB,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAClD,uBAAuB;IAChB,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAElC,KAAK,CAAC,GAAG,CAAC,eAAwB;QAChD,4CAAuB,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC;QAC3D,OAAO,IAAI,CAAC;IACd,CAAC;IAEe,KAAK,CAAC,WAAW,CAAC,GAAG,IAAc;QACjD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;;AAfsB,uBAAM,GAAG,cAAc,CAAC;AACxB,yBAAQ,GAAG,kCAAiB,CAAC,0BAA0B,CAAC,sBAAW,CAAC,CAAC;AAFjF,4CAAgB","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Tools\r\n */\r\nimport { Tool } from \"@itwin/core-frontend\";\r\nimport { SettingsModalFrontstage } from \"../frontstage/ModalSettingsStage\";\r\nimport svgSettings from \"@bentley/icons-generic/icons/settings.svg\";\r\nimport { IconSpecUtilities } from \"@itwin/appui-abstract\";\r\n\r\n/**\r\n * Immediate tool that will open the Settings modal stage.\r\n * @alpha\r\n */\r\nexport class OpenSettingsTool extends Tool {\r\n public static override toolId = \"OpenSettings\";\r\n public static override iconSpec = IconSpecUtilities.createWebComponentIconSpec(svgSettings);\r\n\r\n // istanbul ignore next\r\n public static override get minArgs() { return 0; }\r\n // istanbul ignore next\r\n public static override get maxArgs() { return 1; }\r\n\r\n public override async run(settingCategory?: string): Promise<boolean> {\r\n SettingsModalFrontstage.showSettingsStage(settingCategory);\r\n return true;\r\n }\r\n\r\n public override async parseAndRun(...args: string[]): Promise<boolean> {\r\n return this.run(args[0]);\r\n }\r\n}\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RestoreLayoutTool.js","sourceRoot":"","sources":["../../../../src/appui-react/tools/RestoreLayoutTool.ts"],"names":[],"mappings":";;;AAAA;;;+FAG+F;AAC/F;;GAEG;AACH,wDAAoG;AAEpG,uFAAoF;AACpF,gDAA6C;AAC7C,oFAA2E;AAC3E,0DAA0D;AAE1D;;;;GAIG;AACH,MAAa,2BAA4B,SAAQ,oBAAI;IAInD,uBAAuB;IAChB,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAClD,uBAAuB;IAChB,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAElC,KAAK,CAAC,GAAG,CAAC,YAAqB;QAC7C,IAAI,aAAwC,CAAC;QAE7C,IAAI,YAAY,EAAE;YAChB,aAAa,GAAG,MAAM,yBAAW,CAAC,WAAW,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;SAC9E;aAAM;YACL,aAAa,GAAG,yBAAW,CAAC,WAAW,CAAC,mBAAmB,CAAC;SAC7D;QAED,IAAI,aAAa;YACf,aAAa,CAAC,aAAa,EAAE,CAAC;;YAE9B,yBAAS,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,oCAAoB,CAAC,qCAAqB,CAAC,IAAI,EAAE,yBAAW,CAAC,SAAS,CAAC,4CAA4C,CAAC,CAAC,CAAC,CAAC;QACnK,OAAO,IAAI,CAAC;IACd,CAAC;IAEe,KAAK,CAAC,WAAW,CAAC,GAAG,IAAc;QACjD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;;AA1BsB,kCAAM,GAAG,yBAAyB,CAAC;AACnC,oCAAQ,GAAG,kCAAiB,CAAC,0BAA0B,CAAC,0BAAc,CAAC,CAAC;AAFpF,kEAA2B;AA8BxC;;;GAGG;AACH,MAAa,yBAA0B,SAAQ,oBAAI;IAIjC,KAAK,CAAC,GAAG;QACvB,MAAM,WAAW,GAAG,qDAAyB,CAAC,cAAc,CAAC;QAC7D,KAAK,MAAM,CAAC,EAAE,UAAU,CAAC,IAAI,WAAW,EAAE;YACxC,UAAU,CAAC,aAAa,EAAE,CAAC;SAC5B;QACD,OAAO,IAAI,CAAC;IACd,CAAC;;AATsB,gCAAM,GAAG,uBAAuB,CAAC;AACjC,kCAAQ,GAAG,kCAAiB,CAAC,0BAA0B,CAAC,0BAAc,CAAC,CAAC;AAFpF,8DAAyB","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 Tools\n */\nimport { IModelApp, NotifyMessageDetails, OutputMessagePriority, Tool } from \"@itwin/core-frontend\";\nimport { FrontstageDef } from \"../frontstage/FrontstageDef\";\nimport { InternalFrontstageManager } from \"../frontstage/InternalFrontstageManager\";\nimport { UiFramework } from \"../UiFramework\";\nimport svgViewLayouts from \"@bentley/icons-generic/icons/view-layouts.svg\";\nimport { IconSpecUtilities } from \"@itwin/appui-abstract\";\n\n/**\n * Immediate tool that will reset the layout to that specified in the stage definition. A stage Id\n * may be passed in, if not the active stage is used. The stage Id is case sensitive.\n * @alpha\n */\nexport class RestoreFrontstageLayoutTool extends Tool {\n public static override toolId = \"RestoreFrontstageLayout\";\n public static override iconSpec = IconSpecUtilities.createWebComponentIconSpec(svgViewLayouts);\n\n // istanbul ignore next\n public static override get minArgs() { return 0; }\n // istanbul ignore next\n public static override get maxArgs() { return 1; }\n\n public override async run(frontstageId?: string): Promise<boolean> {\n let frontstageDef: FrontstageDef | undefined;\n\n if (frontstageId) {\n frontstageDef = await UiFramework.frontstages.getFrontstageDef(frontstageId);\n } else {\n frontstageDef = UiFramework.frontstages.activeFrontstageDef;\n }\n\n if (frontstageDef)\n frontstageDef.restoreLayout();\n else\n IModelApp.notifications.outputMessage(new NotifyMessageDetails(OutputMessagePriority.Info, UiFramework.translate(\"tools.RestoreFrontstageLayout.noStageFound\")));\n return true;\n }\n\n public override async parseAndRun(...args: string[]): Promise<boolean> {\n return this.run(args[0]);\n }\n}\n\n/**\n * Immediate tool that will reset the layout of all frontstages to that specified in the stage definition.\n * @alpha\n */\nexport class RestoreAllFrontstagesTool extends Tool {\n public static override toolId = \"RestoreAllFrontstages\";\n public static override iconSpec = IconSpecUtilities.createWebComponentIconSpec(svgViewLayouts);\n\n public override async run() {\n const frontstages = InternalFrontstageManager.frontstageDefs;\n for (const [, frontstage] of frontstages) {\n frontstage.restoreLayout();\n }\n return true;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"RestoreLayoutTool.js","sourceRoot":"","sources":["../../../../src/appui-react/tools/RestoreLayoutTool.ts"],"names":[],"mappings":";;;AAAA;;;+FAG+F;AAC/F;;GAEG;AACH,wDAAoG;AAEpG,uFAAoF;AACpF,gDAA6C;AAC7C,oFAA2E;AAC3E,0DAA0D;AAE1D;;;;GAIG;AACH,MAAa,2BAA4B,SAAQ,oBAAI;IAInD,uBAAuB;IAChB,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAClD,uBAAuB;IAChB,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAElC,KAAK,CAAC,GAAG,CAAC,YAAqB;QAC7C,IAAI,aAAwC,CAAC;QAE7C,IAAI,YAAY,EAAE;YAChB,aAAa,GAAG,MAAM,yBAAW,CAAC,WAAW,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;SAC9E;aAAM;YACL,aAAa,GAAG,yBAAW,CAAC,WAAW,CAAC,mBAAmB,CAAC;SAC7D;QAED,IAAI,aAAa;YACf,aAAa,CAAC,aAAa,EAAE,CAAC;;YAE9B,yBAAS,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,oCAAoB,CAAC,qCAAqB,CAAC,IAAI,EAAE,yBAAW,CAAC,SAAS,CAAC,4CAA4C,CAAC,CAAC,CAAC,CAAC;QACnK,OAAO,IAAI,CAAC;IACd,CAAC;IAEe,KAAK,CAAC,WAAW,CAAC,GAAG,IAAc;QACjD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;;AA1BsB,kCAAM,GAAG,yBAAyB,CAAC;AACnC,oCAAQ,GAAG,kCAAiB,CAAC,0BAA0B,CAAC,0BAAc,CAAC,CAAC;AAFpF,kEAA2B;AA8BxC;;;GAGG;AACH,MAAa,yBAA0B,SAAQ,oBAAI;IAIjC,KAAK,CAAC,GAAG;QACvB,MAAM,WAAW,GAAG,qDAAyB,CAAC,cAAc,CAAC;QAC7D,KAAK,MAAM,CAAC,EAAE,UAAU,CAAC,IAAI,WAAW,EAAE;YACxC,UAAU,CAAC,aAAa,EAAE,CAAC;SAC5B;QACD,OAAO,IAAI,CAAC;IACd,CAAC;;AATsB,gCAAM,GAAG,uBAAuB,CAAC;AACjC,kCAAQ,GAAG,kCAAiB,CAAC,0BAA0B,CAAC,0BAAc,CAAC,CAAC;AAFpF,8DAAyB","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Tools\r\n */\r\nimport { IModelApp, NotifyMessageDetails, OutputMessagePriority, Tool } from \"@itwin/core-frontend\";\r\nimport { FrontstageDef } from \"../frontstage/FrontstageDef\";\r\nimport { InternalFrontstageManager } from \"../frontstage/InternalFrontstageManager\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport svgViewLayouts from \"@bentley/icons-generic/icons/view-layouts.svg\";\r\nimport { IconSpecUtilities } from \"@itwin/appui-abstract\";\r\n\r\n/**\r\n * Immediate tool that will reset the layout to that specified in the stage definition. A stage Id\r\n * may be passed in, if not the active stage is used. The stage Id is case sensitive.\r\n * @alpha\r\n */\r\nexport class RestoreFrontstageLayoutTool extends Tool {\r\n public static override toolId = \"RestoreFrontstageLayout\";\r\n public static override iconSpec = IconSpecUtilities.createWebComponentIconSpec(svgViewLayouts);\r\n\r\n // istanbul ignore next\r\n public static override get minArgs() { return 0; }\r\n // istanbul ignore next\r\n public static override get maxArgs() { return 1; }\r\n\r\n public override async run(frontstageId?: string): Promise<boolean> {\r\n let frontstageDef: FrontstageDef | undefined;\r\n\r\n if (frontstageId) {\r\n frontstageDef = await UiFramework.frontstages.getFrontstageDef(frontstageId);\r\n } else {\r\n frontstageDef = UiFramework.frontstages.activeFrontstageDef;\r\n }\r\n\r\n if (frontstageDef)\r\n frontstageDef.restoreLayout();\r\n else\r\n IModelApp.notifications.outputMessage(new NotifyMessageDetails(OutputMessagePriority.Info, UiFramework.translate(\"tools.RestoreFrontstageLayout.noStageFound\")));\r\n return true;\r\n }\r\n\r\n public override async parseAndRun(...args: string[]): Promise<boolean> {\r\n return this.run(args[0]);\r\n }\r\n}\r\n\r\n/**\r\n * Immediate tool that will reset the layout of all frontstages to that specified in the stage definition.\r\n * @alpha\r\n */\r\nexport class RestoreAllFrontstagesTool extends Tool {\r\n public static override toolId = \"RestoreAllFrontstages\";\r\n public static override iconSpec = IconSpecUtilities.createWebComponentIconSpec(svgViewLayouts);\r\n\r\n public override async run() {\r\n const frontstages = InternalFrontstageManager.frontstageDefs;\r\n for (const [, frontstage] of frontstages) {\r\n frontstage.restoreLayout();\r\n }\r\n return true;\r\n }\r\n}\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolSettingsTools.js","sourceRoot":"","sources":["../../../../src/appui-react/tools/ToolSettingsTools.ts"],"names":[],"mappings":";;;AAAA;;;+FAG+F;AAC/F;;GAEG;AACH,wDAAuD;AACvD,gDAA6C;AAE7C;;;GAGG;AACH,MAAa,iBAAkB,SAAQ,oBAAI;IAGzB,KAAK,CAAC,GAAG;QACvB,OAAO,yBAAW,CAAC,YAAY,CAAC,qBAAqB,EAAE,CAAC;IAC1D,CAAC;;AAJsB,wBAAM,GAAG,mBAAmB,CAAC;AADzC,8CAAiB;AAQ9B;;;GAGG;AACH,MAAa,eAAgB,SAAQ,oBAAI;IAGvC,uBAAuB;IAChB,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAElC,KAAK,CAAC,GAAG,CAAC,eAAwB;QAChD,IAAI,YAAgC,CAAC;QACrC,IAAI,eAAe,EAAE;YACnB,YAAY,GAAG,QAAQ,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;YAC7C,IAAI,KAAK,CAAC,YAAY,CAAC;gBACrB,OAAO,KAAK,CAAC;SAChB;QACD,yBAAS,CAAC,SAAS,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,CAAE,8DAA8D;QAClH,OAAO,IAAI,CAAC;IACd,CAAC;IAEe,KAAK,CAAC,WAAW,CAAC,GAAG,IAAc;QACjD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;;AAlBsB,sBAAM,GAAG,iBAAiB,CAAC;AADvC,0CAAe","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 Tools\n */\nimport { IModelApp, Tool } from \"@itwin/core-frontend\";\nimport { UiFramework } from \"../UiFramework\";\n\n/**\n * Immediate tool that will focus into the Tool Settings widget.\n * @alpha\n */\nexport class FocusToolSettings extends Tool {\n public static override toolId = \"FocusToolSettings\";\n\n public override async run(): Promise<boolean> {\n return UiFramework.toolSettings.focusIntoToolSettings();\n }\n}\n\n/**\n * Immediate tool that will bump a Tool Settings value.\n * @alpha\n */\nexport class BumpToolSetting extends Tool {\n public static override toolId = \"BumpToolSetting\";\n\n // istanbul ignore next\n public static override get maxArgs() { return 1; }\n\n public override async run(settingIndexStr?: string): Promise<boolean> {\n let settingIndex: number | undefined;\n if (settingIndexStr) {\n settingIndex = parseInt(settingIndexStr, 10);\n if (isNaN(settingIndex))\n return false;\n }\n IModelApp.toolAdmin.bumpToolSetting(settingIndex); // eslint-disable-line @typescript-eslint/no-floating-promises\n return true;\n }\n\n public override async parseAndRun(...args: string[]): Promise<boolean> {\n return this.run(args[0]);\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"ToolSettingsTools.js","sourceRoot":"","sources":["../../../../src/appui-react/tools/ToolSettingsTools.ts"],"names":[],"mappings":";;;AAAA;;;+FAG+F;AAC/F;;GAEG;AACH,wDAAuD;AACvD,gDAA6C;AAE7C;;;GAGG;AACH,MAAa,iBAAkB,SAAQ,oBAAI;IAGzB,KAAK,CAAC,GAAG;QACvB,OAAO,yBAAW,CAAC,YAAY,CAAC,qBAAqB,EAAE,CAAC;IAC1D,CAAC;;AAJsB,wBAAM,GAAG,mBAAmB,CAAC;AADzC,8CAAiB;AAQ9B;;;GAGG;AACH,MAAa,eAAgB,SAAQ,oBAAI;IAGvC,uBAAuB;IAChB,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAElC,KAAK,CAAC,GAAG,CAAC,eAAwB;QAChD,IAAI,YAAgC,CAAC;QACrC,IAAI,eAAe,EAAE;YACnB,YAAY,GAAG,QAAQ,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;YAC7C,IAAI,KAAK,CAAC,YAAY,CAAC;gBACrB,OAAO,KAAK,CAAC;SAChB;QACD,yBAAS,CAAC,SAAS,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,CAAE,8DAA8D;QAClH,OAAO,IAAI,CAAC;IACd,CAAC;IAEe,KAAK,CAAC,WAAW,CAAC,GAAG,IAAc;QACjD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;;AAlBsB,sBAAM,GAAG,iBAAiB,CAAC;AADvC,0CAAe","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Tools\r\n */\r\nimport { IModelApp, Tool } from \"@itwin/core-frontend\";\r\nimport { UiFramework } from \"../UiFramework\";\r\n\r\n/**\r\n * Immediate tool that will focus into the Tool Settings widget.\r\n * @alpha\r\n */\r\nexport class FocusToolSettings extends Tool {\r\n public static override toolId = \"FocusToolSettings\";\r\n\r\n public override async run(): Promise<boolean> {\r\n return UiFramework.toolSettings.focusIntoToolSettings();\r\n }\r\n}\r\n\r\n/**\r\n * Immediate tool that will bump a Tool Settings value.\r\n * @alpha\r\n */\r\nexport class BumpToolSetting extends Tool {\r\n public static override toolId = \"BumpToolSetting\";\r\n\r\n // istanbul ignore next\r\n public static override get maxArgs() { return 1; }\r\n\r\n public override async run(settingIndexStr?: string): Promise<boolean> {\r\n let settingIndex: number | undefined;\r\n if (settingIndexStr) {\r\n settingIndex = parseInt(settingIndexStr, 10);\r\n if (isNaN(settingIndex))\r\n return false;\r\n }\r\n IModelApp.toolAdmin.bumpToolSetting(settingIndex); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n return true;\r\n }\r\n\r\n public override async parseAndRun(...args: string[]): Promise<boolean> {\r\n return this.run(args[0]);\r\n }\r\n}\r\n"]}
|