@itwin/appui-react 3.0.0-dev.84 → 3.0.0-dev.88
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 +1494 -1494
- package/README.md +21 -21
- package/lib/cjs/appui-react/UiFramework.d.ts.map +1 -1
- package/lib/cjs/appui-react/UiFramework.js +7 -2
- package/lib/cjs/appui-react/UiFramework.js.map +1 -1
- package/lib/cjs/appui-react/UserInfo.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 +86 -86
- 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 +44 -44
- 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/Backstage.js.map +1 -1
- 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/BackstageItemProps.js.map +1 -1
- package/lib/cjs/appui-react/backstage/BackstageItemUtilities.js.map +1 -1
- package/lib/cjs/appui-react/backstage/BackstageManager.js.map +1 -1
- package/lib/cjs/appui-react/backstage/CommandLaunch.js.map +1 -1
- package/lib/cjs/appui-react/backstage/FrontstageLaunch.js.map +1 -1
- package/lib/cjs/appui-react/backstage/Separator.js.map +1 -1
- package/lib/cjs/appui-react/backstage/TaskLaunch.js.map +1 -1
- package/lib/cjs/appui-react/backstage/useDefaultBackstageItems.js.map +1 -1
- package/lib/cjs/appui-react/backstage/useUiItemsProviderBackstageItems.d.ts.map +1 -1
- package/lib/cjs/appui-react/backstage/useUiItemsProviderBackstageItems.js +1 -2
- package/lib/cjs/appui-react/backstage/useUiItemsProviderBackstageItems.js.map +1 -1
- package/lib/cjs/appui-react/childwindow/ChildWindowManager.js +21 -21
- package/lib/cjs/appui-react/childwindow/ChildWindowManager.js.map +1 -1
- package/lib/cjs/appui-react/childwindow/ChildWindowManager.scss +14 -14
- package/lib/cjs/appui-react/childwindow/CopyStyles.js.map +1 -1
- 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/TimeTracker.js.map +1 -1
- package/lib/cjs/appui-react/configurableui/configurableui.scss +79 -79
- 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 +98 -98
- 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 +43 -43
- package/lib/cjs/appui-react/content/IModelViewport.js.map +1 -1
- package/lib/cjs/appui-react/content/SavedView.js.map +1 -1
- package/lib/cjs/appui-react/content/SavedViewLayout.js.map +1 -1
- package/lib/cjs/appui-react/content/ViewportContentControl.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/DialogManagerBase.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/dragdrop/ZoneTargets.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 +53 -53
- package/lib/cjs/appui-react/frontstage/Frontstage.d.ts +0 -1
- package/lib/cjs/appui-react/frontstage/Frontstage.d.ts.map +1 -1
- package/lib/cjs/appui-react/frontstage/Frontstage.js +0 -6
- package/lib/cjs/appui-react/frontstage/Frontstage.js.map +1 -1
- package/lib/cjs/appui-react/frontstage/FrontstageComposer.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/ModalFrontstage.js.map +1 -1
- package/lib/cjs/appui-react/frontstage/ModalFrontstage.scss +86 -86
- package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
- package/lib/cjs/appui-react/frontstage/ModalSettingsStage.scss +13 -13
- package/lib/cjs/appui-react/frontstage/NestedFrontstage.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/useFrameworkVersion.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/imodel-components/Common.js.map +1 -1
- package/lib/cjs/appui-react/imodel-components/VisibilityTreeBase.scss +52 -52
- package/lib/cjs/appui-react/imodel-components/VisibilityTreeEventHandler.js.map +1 -1
- package/lib/cjs/appui-react/imodel-components/VisibilityTreeRenderer.js.map +1 -1
- package/lib/cjs/appui-react/imodel-components/category-tree/Categories.json +102 -102
- package/lib/cjs/appui-react/imodel-components/category-tree/CategoriesTree.js.map +1 -1
- package/lib/cjs/appui-react/imodel-components/category-tree/CategoriesTree.scss +9 -9
- package/lib/cjs/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.js.map +1 -1
- package/lib/cjs/appui-react/imodel-components/models-tree/Hierarchy.GroupedByClass.json +389 -389
- package/lib/cjs/appui-react/imodel-components/models-tree/Hierarchy.json +384 -384
- package/lib/cjs/appui-react/imodel-components/models-tree/ModelsTree.js.map +1 -1
- package/lib/cjs/appui-react/imodel-components/models-tree/ModelsTree.scss +9 -9
- package/lib/cjs/appui-react/imodel-components/models-tree/ModelsTreeSearch.json +239 -239
- package/lib/cjs/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.js +5 -5
- package/lib/cjs/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.js.map +1 -1
- package/lib/cjs/appui-react/imodel-components/spatial-tree/SpatialBreakdown.GroupedByClass.json +78 -78
- package/lib/cjs/appui-react/imodel-components/spatial-tree/SpatialBreakdown.json +78 -78
- package/lib/cjs/appui-react/imodel-components/spatial-tree/SpatialContainmentTree.js.map +1 -1
- package/lib/cjs/appui-react/imodel-components/spatial-tree/SpatialContainmentTree.scss +9 -9
- 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/keyinbrowser/KeyinBrowser.js.map +1 -1
- package/lib/cjs/appui-react/keyinbrowser/KeyinBrowser.scss +11 -11
- package/lib/cjs/appui-react/messages/ActivityMessage.js.map +1 -1
- package/lib/cjs/appui-react/messages/ActivityMessagePopup.js.map +1 -1
- package/lib/cjs/appui-react/messages/ActivityMessagePopup.scss +14 -14
- 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/StatusMessageRenderer.js.map +1 -1
- package/lib/cjs/appui-react/messages/StatusMessageRenderer.scss +27 -27
- package/lib/cjs/appui-react/messages/StatusMessagesContainer.js.map +1 -1
- package/lib/cjs/appui-react/messages/StatusMessagesContainer.scss +52 -52
- package/lib/cjs/appui-react/messages/StickyMessage.js.map +1 -1
- package/lib/cjs/appui-react/messages/StickyMessage.scss +22 -22
- package/lib/cjs/appui-react/messages/ToastMessage.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 +82 -82
- 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.js.map +1 -1
- package/lib/cjs/appui-react/pickers/ListPicker.scss +299 -299
- 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 +22 -22
- 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/selection/ClearEmphasisStatusField.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 +125 -125
- 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 +66 -66
- 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/FrameworkStagePanel.js.map +1 -1
- package/lib/cjs/appui-react/stagepanels/FrameworkStagePanel.scss +41 -41
- package/lib/cjs/appui-react/stagepanels/StagePanel.js.map +1 -1
- package/lib/cjs/appui-react/stagepanels/StagePanelDef.js.map +1 -1
- package/lib/cjs/appui-react/stagepanels/StagePanelEnums.js.map +1 -1
- package/lib/cjs/appui-react/stagepanels/StagePanelHeader.js.map +1 -1
- package/lib/cjs/appui-react/stagepanels/StagePanelHeader.scss +25 -25
- 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/StatusBar.js.map +1 -1
- package/lib/cjs/appui-react/statusbar/StatusBar.scss +43 -43
- 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/useDefaultStatusBarItems.js.map +1 -1
- package/lib/cjs/appui-react/statusbar/useUiItemsProviderStatusBarItems.d.ts.map +1 -1
- package/lib/cjs/appui-react/statusbar/useUiItemsProviderStatusBarItems.js +1 -2
- package/lib/cjs/appui-react/statusbar/useUiItemsProviderStatusBarItems.js.map +1 -1
- package/lib/cjs/appui-react/statusbar/withMessageCenterFieldProps.js.map +1 -1
- package/lib/cjs/appui-react/statusbar/withStatusFieldProps.js.map +1 -1
- package/lib/cjs/appui-react/statusfields/ActivityCenter.js.map +1 -1
- package/lib/cjs/appui-react/statusfields/ConditionalField.js.map +1 -1
- package/lib/cjs/appui-react/statusfields/FooterModeField.js.map +1 -1
- package/lib/cjs/appui-react/statusfields/Indicator.js.map +1 -1
- package/lib/cjs/appui-react/statusfields/Indicator.scss +171 -171
- package/lib/cjs/appui-react/statusfields/MessageCenter.js.map +1 -1
- package/lib/cjs/appui-react/statusfields/PromptField.js.map +1 -1
- package/lib/cjs/appui-react/statusfields/PromptField.scss +42 -42
- package/lib/cjs/appui-react/statusfields/SectionsField.js.map +1 -1
- package/lib/cjs/appui-react/statusfields/SectionsField.scss +36 -36
- 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 +37 -37
- package/lib/cjs/appui-react/statusfields/SnapMode.js.map +1 -1
- package/lib/cjs/appui-react/statusfields/StatusFieldProps.js.map +1 -1
- package/lib/cjs/appui-react/statusfields/ViewAttributes.js.map +1 -1
- package/lib/cjs/appui-react/statusfields/ViewAttributes.scss +14 -14
- package/lib/cjs/appui-react/statusfields/tileloading/TileLoadingIndicator.js.map +1 -1
- package/lib/cjs/appui-react/statusfields/tileloading/TileLoadingIndicator.scss +57 -57
- package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
- package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.scss +200 -200
- package/lib/cjs/appui-react/syncui/BooleanListener.js.map +1 -1
- 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/ActionButtonItem.js.map +1 -1
- package/lib/cjs/appui-react/toolbar/ActionItemButton.js.map +1 -1
- package/lib/cjs/appui-react/toolbar/DragInteraction.js.map +1 -1
- package/lib/cjs/appui-react/toolbar/GroupButtonItem.js.map +1 -1
- package/lib/cjs/appui-react/toolbar/GroupItem.js.map +1 -1
- package/lib/cjs/appui-react/toolbar/PopupButton.js.map +1 -1
- package/lib/cjs/appui-react/toolbar/PopupButton.scss +9 -9
- package/lib/cjs/appui-react/toolbar/ToolButton.js.map +1 -1
- package/lib/cjs/appui-react/toolbar/Toolbar.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/useDefaultToolbarItems.js.map +1 -1
- package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.d.ts.map +1 -1
- package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.js +1 -2
- 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/MarkupToolDefinitions.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/ui-items-provider/StandardContentToolsProvider.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/StandardStatusbarItemsProvider.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/uisettings/AppUiSettings.js.map +1 -1
- package/lib/cjs/appui-react/uisettings/UserSettingsStorage.js.map +1 -1
- package/lib/cjs/appui-react/uisettings/useUiSettings.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.d.ts.map +1 -1
- package/lib/cjs/appui-react/widget-panels/Content.js +0 -8
- package/lib/cjs/appui-react/widget-panels/Content.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 +24 -24
- 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/useWidgetDirection.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/DefaultNavigationWidget.js.map +1 -1
- package/lib/cjs/appui-react/widgets/NavigationWidget.js.map +1 -1
- package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
- package/lib/cjs/appui-react/widgets/ReviewToolWidget.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/ToolSettingsContent.scss +60 -60
- package/lib/cjs/appui-react/widgets/ToolWidget.js.map +1 -1
- package/lib/cjs/appui-react/widgets/ToolWidgetComposer.js.map +1 -1
- package/lib/cjs/appui-react/widgets/ToolbarWidgetBase.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/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.d.ts +0 -38
- package/lib/cjs/appui-react/widgets/WidgetManager.d.ts.map +1 -1
- package/lib/cjs/appui-react/widgets/WidgetManager.js +4 -59
- package/lib/cjs/appui-react/widgets/WidgetManager.js.map +1 -1
- package/lib/cjs/appui-react/widgets/WidgetProps.js.map +1 -1
- package/lib/cjs/appui-react/widgets/WidgetStack.js.map +1 -1
- package/lib/cjs/appui-react/workflow/Task.js.map +1 -1
- package/lib/cjs/appui-react/workflow/Workflow.js.map +1 -1
- package/lib/cjs/appui-react/zones/FrameworkZone.js.map +1 -1
- package/lib/cjs/appui-react/zones/Outline.js.map +1 -1
- package/lib/cjs/appui-react/zones/StatusBarZone.js.map +1 -1
- package/lib/cjs/appui-react/zones/Zone.js.map +1 -1
- package/lib/cjs/appui-react/zones/ZoneDef.js.map +1 -1
- package/lib/cjs/appui-react/zones/toolsettings/DefaultToolSettingsProvider.js.map +1 -1
- package/lib/cjs/appui-react/zones/toolsettings/ToolInformation.js.map +1 -1
- package/lib/cjs/appui-react/zones/toolsettings/ToolSettingsManager.js.map +1 -1
- package/lib/cjs/appui-react/zones/toolsettings/ToolSettingsZone.js.map +1 -1
- package/lib/cjs/appui-react/zones/toolsettings/ToolUiProvider.js.map +1 -1
- package/lib/cjs/appui-react.js.map +1 -1
- package/lib/esm/appui-react/UiFramework.d.ts.map +1 -1
- package/lib/esm/appui-react/UiFramework.js +7 -2
- package/lib/esm/appui-react/UiFramework.js.map +1 -1
- package/lib/esm/appui-react/UserInfo.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 +86 -86
- 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 +44 -44
- 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/Backstage.js.map +1 -1
- 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/BackstageItemProps.js.map +1 -1
- package/lib/esm/appui-react/backstage/BackstageItemUtilities.js.map +1 -1
- package/lib/esm/appui-react/backstage/BackstageManager.js.map +1 -1
- package/lib/esm/appui-react/backstage/CommandLaunch.js.map +1 -1
- package/lib/esm/appui-react/backstage/FrontstageLaunch.js.map +1 -1
- package/lib/esm/appui-react/backstage/Separator.js.map +1 -1
- package/lib/esm/appui-react/backstage/TaskLaunch.js.map +1 -1
- package/lib/esm/appui-react/backstage/useDefaultBackstageItems.js.map +1 -1
- package/lib/esm/appui-react/backstage/useUiItemsProviderBackstageItems.d.ts.map +1 -1
- package/lib/esm/appui-react/backstage/useUiItemsProviderBackstageItems.js +2 -3
- package/lib/esm/appui-react/backstage/useUiItemsProviderBackstageItems.js.map +1 -1
- package/lib/esm/appui-react/childwindow/ChildWindowManager.js +21 -21
- package/lib/esm/appui-react/childwindow/ChildWindowManager.js.map +1 -1
- package/lib/esm/appui-react/childwindow/ChildWindowManager.scss +14 -14
- package/lib/esm/appui-react/childwindow/CopyStyles.js.map +1 -1
- 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/TimeTracker.js.map +1 -1
- package/lib/esm/appui-react/configurableui/configurableui.scss +79 -79
- 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 +98 -98
- 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 +43 -43
- package/lib/esm/appui-react/content/IModelViewport.js.map +1 -1
- package/lib/esm/appui-react/content/SavedView.js.map +1 -1
- package/lib/esm/appui-react/content/SavedViewLayout.js.map +1 -1
- package/lib/esm/appui-react/content/ViewportContentControl.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/DialogManagerBase.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/dragdrop/ZoneTargets.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 +53 -53
- package/lib/esm/appui-react/frontstage/Frontstage.d.ts +0 -1
- package/lib/esm/appui-react/frontstage/Frontstage.d.ts.map +1 -1
- package/lib/esm/appui-react/frontstage/Frontstage.js +0 -6
- package/lib/esm/appui-react/frontstage/Frontstage.js.map +1 -1
- package/lib/esm/appui-react/frontstage/FrontstageComposer.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/ModalFrontstage.js.map +1 -1
- package/lib/esm/appui-react/frontstage/ModalFrontstage.scss +86 -86
- package/lib/esm/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
- package/lib/esm/appui-react/frontstage/ModalSettingsStage.scss +13 -13
- package/lib/esm/appui-react/frontstage/NestedFrontstage.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/useFrameworkVersion.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/imodel-components/Common.js.map +1 -1
- package/lib/esm/appui-react/imodel-components/VisibilityTreeBase.scss +52 -52
- package/lib/esm/appui-react/imodel-components/VisibilityTreeEventHandler.js.map +1 -1
- package/lib/esm/appui-react/imodel-components/VisibilityTreeRenderer.js.map +1 -1
- package/lib/esm/appui-react/imodel-components/category-tree/Categories.json +102 -102
- package/lib/esm/appui-react/imodel-components/category-tree/CategoriesTree.js.map +1 -1
- package/lib/esm/appui-react/imodel-components/category-tree/CategoriesTree.scss +9 -9
- package/lib/esm/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.js.map +1 -1
- package/lib/esm/appui-react/imodel-components/models-tree/Hierarchy.GroupedByClass.json +389 -389
- package/lib/esm/appui-react/imodel-components/models-tree/Hierarchy.json +384 -384
- package/lib/esm/appui-react/imodel-components/models-tree/ModelsTree.js.map +1 -1
- package/lib/esm/appui-react/imodel-components/models-tree/ModelsTree.scss +9 -9
- package/lib/esm/appui-react/imodel-components/models-tree/ModelsTreeSearch.json +239 -239
- package/lib/esm/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.js +5 -5
- package/lib/esm/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.js.map +1 -1
- package/lib/esm/appui-react/imodel-components/spatial-tree/SpatialBreakdown.GroupedByClass.json +78 -78
- package/lib/esm/appui-react/imodel-components/spatial-tree/SpatialBreakdown.json +78 -78
- package/lib/esm/appui-react/imodel-components/spatial-tree/SpatialContainmentTree.js.map +1 -1
- package/lib/esm/appui-react/imodel-components/spatial-tree/SpatialContainmentTree.scss +9 -9
- 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/keyinbrowser/KeyinBrowser.js.map +1 -1
- package/lib/esm/appui-react/keyinbrowser/KeyinBrowser.scss +11 -11
- package/lib/esm/appui-react/messages/ActivityMessage.js.map +1 -1
- package/lib/esm/appui-react/messages/ActivityMessagePopup.js.map +1 -1
- package/lib/esm/appui-react/messages/ActivityMessagePopup.scss +14 -14
- 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/StatusMessageRenderer.js.map +1 -1
- package/lib/esm/appui-react/messages/StatusMessageRenderer.scss +27 -27
- package/lib/esm/appui-react/messages/StatusMessagesContainer.js.map +1 -1
- package/lib/esm/appui-react/messages/StatusMessagesContainer.scss +52 -52
- package/lib/esm/appui-react/messages/StickyMessage.js.map +1 -1
- package/lib/esm/appui-react/messages/StickyMessage.scss +22 -22
- package/lib/esm/appui-react/messages/ToastMessage.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 +82 -82
- 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.js.map +1 -1
- package/lib/esm/appui-react/pickers/ListPicker.scss +299 -299
- 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 +22 -22
- 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/selection/ClearEmphasisStatusField.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 +125 -125
- 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 +66 -66
- 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/FrameworkStagePanel.js.map +1 -1
- package/lib/esm/appui-react/stagepanels/FrameworkStagePanel.scss +41 -41
- package/lib/esm/appui-react/stagepanels/StagePanel.js.map +1 -1
- package/lib/esm/appui-react/stagepanels/StagePanelDef.js.map +1 -1
- package/lib/esm/appui-react/stagepanels/StagePanelEnums.js.map +1 -1
- package/lib/esm/appui-react/stagepanels/StagePanelHeader.js.map +1 -1
- package/lib/esm/appui-react/stagepanels/StagePanelHeader.scss +25 -25
- 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/StatusBar.js.map +1 -1
- package/lib/esm/appui-react/statusbar/StatusBar.scss +43 -43
- 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/useDefaultStatusBarItems.js.map +1 -1
- package/lib/esm/appui-react/statusbar/useUiItemsProviderStatusBarItems.d.ts.map +1 -1
- package/lib/esm/appui-react/statusbar/useUiItemsProviderStatusBarItems.js +2 -3
- package/lib/esm/appui-react/statusbar/useUiItemsProviderStatusBarItems.js.map +1 -1
- package/lib/esm/appui-react/statusbar/withMessageCenterFieldProps.js.map +1 -1
- package/lib/esm/appui-react/statusbar/withStatusFieldProps.js.map +1 -1
- package/lib/esm/appui-react/statusfields/ActivityCenter.js.map +1 -1
- package/lib/esm/appui-react/statusfields/ConditionalField.js.map +1 -1
- package/lib/esm/appui-react/statusfields/FooterModeField.js.map +1 -1
- package/lib/esm/appui-react/statusfields/Indicator.js.map +1 -1
- package/lib/esm/appui-react/statusfields/Indicator.scss +171 -171
- package/lib/esm/appui-react/statusfields/MessageCenter.js.map +1 -1
- package/lib/esm/appui-react/statusfields/PromptField.js.map +1 -1
- package/lib/esm/appui-react/statusfields/PromptField.scss +42 -42
- package/lib/esm/appui-react/statusfields/SectionsField.js.map +1 -1
- package/lib/esm/appui-react/statusfields/SectionsField.scss +36 -36
- 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 +37 -37
- package/lib/esm/appui-react/statusfields/SnapMode.js.map +1 -1
- package/lib/esm/appui-react/statusfields/StatusFieldProps.js.map +1 -1
- package/lib/esm/appui-react/statusfields/ViewAttributes.js.map +1 -1
- package/lib/esm/appui-react/statusfields/ViewAttributes.scss +14 -14
- package/lib/esm/appui-react/statusfields/tileloading/TileLoadingIndicator.js.map +1 -1
- package/lib/esm/appui-react/statusfields/tileloading/TileLoadingIndicator.scss +57 -57
- package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
- package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.scss +200 -200
- package/lib/esm/appui-react/syncui/BooleanListener.js.map +1 -1
- 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/ActionButtonItem.js.map +1 -1
- package/lib/esm/appui-react/toolbar/ActionItemButton.js.map +1 -1
- package/lib/esm/appui-react/toolbar/DragInteraction.js.map +1 -1
- package/lib/esm/appui-react/toolbar/GroupButtonItem.js.map +1 -1
- package/lib/esm/appui-react/toolbar/GroupItem.js.map +1 -1
- package/lib/esm/appui-react/toolbar/PopupButton.js.map +1 -1
- package/lib/esm/appui-react/toolbar/PopupButton.scss +9 -9
- package/lib/esm/appui-react/toolbar/ToolButton.js.map +1 -1
- package/lib/esm/appui-react/toolbar/Toolbar.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/useDefaultToolbarItems.js.map +1 -1
- package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.d.ts.map +1 -1
- package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.js +2 -3
- 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/MarkupToolDefinitions.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/ui-items-provider/StandardContentToolsProvider.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/StandardStatusbarItemsProvider.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/uisettings/AppUiSettings.js.map +1 -1
- package/lib/esm/appui-react/uisettings/UserSettingsStorage.js.map +1 -1
- package/lib/esm/appui-react/uisettings/useUiSettings.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.d.ts.map +1 -1
- package/lib/esm/appui-react/widget-panels/Content.js +0 -8
- package/lib/esm/appui-react/widget-panels/Content.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 +24 -24
- 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/useWidgetDirection.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/DefaultNavigationWidget.js.map +1 -1
- package/lib/esm/appui-react/widgets/NavigationWidget.js.map +1 -1
- package/lib/esm/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
- package/lib/esm/appui-react/widgets/ReviewToolWidget.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/ToolSettingsContent.scss +60 -60
- package/lib/esm/appui-react/widgets/ToolWidget.js.map +1 -1
- package/lib/esm/appui-react/widgets/ToolWidgetComposer.js.map +1 -1
- package/lib/esm/appui-react/widgets/ToolbarWidgetBase.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/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.d.ts +0 -38
- package/lib/esm/appui-react/widgets/WidgetManager.d.ts.map +1 -1
- package/lib/esm/appui-react/widgets/WidgetManager.js +4 -58
- package/lib/esm/appui-react/widgets/WidgetManager.js.map +1 -1
- package/lib/esm/appui-react/widgets/WidgetProps.js.map +1 -1
- package/lib/esm/appui-react/widgets/WidgetStack.js.map +1 -1
- package/lib/esm/appui-react/workflow/Task.js.map +1 -1
- package/lib/esm/appui-react/workflow/Workflow.js.map +1 -1
- package/lib/esm/appui-react/zones/FrameworkZone.js.map +1 -1
- package/lib/esm/appui-react/zones/Outline.js.map +1 -1
- package/lib/esm/appui-react/zones/StatusBarZone.js.map +1 -1
- package/lib/esm/appui-react/zones/Zone.js.map +1 -1
- package/lib/esm/appui-react/zones/ZoneDef.js.map +1 -1
- package/lib/esm/appui-react/zones/toolsettings/DefaultToolSettingsProvider.js.map +1 -1
- package/lib/esm/appui-react/zones/toolsettings/ToolInformation.js.map +1 -1
- package/lib/esm/appui-react/zones/toolsettings/ToolSettingsManager.js.map +1 -1
- package/lib/esm/appui-react/zones/toolsettings/ToolSettingsZone.js.map +1 -1
- package/lib/esm/appui-react/zones/toolsettings/ToolUiProvider.js.map +1 -1
- package/lib/esm/appui-react.js.map +1 -1
- package/package.json +39 -39
|
@@ -8,19 +8,13 @@
|
|
|
8
8
|
* @module Widget
|
|
9
9
|
*/
|
|
10
10
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
-
exports.WidgetManager = exports.WidgetsChangedEvent =
|
|
11
|
+
exports.WidgetManager = exports.WidgetsChangedEvent = void 0;
|
|
12
12
|
const core_bentley_1 = require("@itwin/core-bentley");
|
|
13
13
|
const appui_abstract_1 = require("@itwin/appui-abstract");
|
|
14
14
|
const UiFramework_1 = require("../UiFramework");
|
|
15
15
|
const Zone_1 = require("../zones/Zone");
|
|
16
16
|
const WidgetDef_1 = require("./WidgetDef");
|
|
17
17
|
const StableWidgetDef_1 = require("./StableWidgetDef");
|
|
18
|
-
/** Event class for [[this.onWidgetProvidersChanged]].
|
|
19
|
-
* @internal
|
|
20
|
-
*/
|
|
21
|
-
class WidgetProvidersChangedEvent extends core_bentley_1.BeUiEvent {
|
|
22
|
-
}
|
|
23
|
-
exports.WidgetProvidersChangedEvent = WidgetProvidersChangedEvent;
|
|
24
18
|
/** Event class for [[this.onWidgetsChanged]].
|
|
25
19
|
* @internal
|
|
26
20
|
*/
|
|
@@ -36,9 +30,6 @@ function getLocationName(location) {
|
|
|
36
30
|
function getWidgetManagerStableWidgetId(stageUsage, location, section, index) {
|
|
37
31
|
return `uifw-wm-${stageUsage || ""}-${getLocationName(location)}-${appui_abstract_1.StagePanelSection[section]}-${index}`;
|
|
38
32
|
}
|
|
39
|
-
function getWidgetProviderStableWidgetId(providerId, stageUsage, location, section, index) {
|
|
40
|
-
return `uifw-wp-${providerId}-${stageUsage}-${getLocationName(location)}-${appui_abstract_1.StagePanelSection[section]}-${index}`;
|
|
41
|
-
}
|
|
42
33
|
function getAddonStableWidgetId(stageUsage, location, section, index) {
|
|
43
34
|
return `uifw-addon-${stageUsage}-${appui_abstract_1.StagePanelLocation[location]}-${appui_abstract_1.StagePanelSection[section]}-${index}`;
|
|
44
35
|
}
|
|
@@ -48,15 +39,10 @@ function getAddonStableWidgetId(stageUsage, location, section, index) {
|
|
|
48
39
|
class WidgetManager {
|
|
49
40
|
constructor() {
|
|
50
41
|
this._widgets = [];
|
|
51
|
-
this._providers = [];
|
|
52
42
|
/** Event raised when Widgets are changed.
|
|
53
43
|
* @internal
|
|
54
44
|
*/
|
|
55
45
|
this.onWidgetsChanged = new WidgetsChangedEvent();
|
|
56
|
-
/** Event raised when WidgetProviders are changed.
|
|
57
|
-
* @internal
|
|
58
|
-
*/
|
|
59
|
-
this.onWidgetProvidersChanged = new WidgetProvidersChangedEvent();
|
|
60
46
|
}
|
|
61
47
|
/** @internal */
|
|
62
48
|
get widgetCount() {
|
|
@@ -106,33 +92,6 @@ class WidgetManager {
|
|
|
106
92
|
}
|
|
107
93
|
return result;
|
|
108
94
|
}
|
|
109
|
-
/** @internal */
|
|
110
|
-
get providers() { return this._providers; }
|
|
111
|
-
set providers(p) {
|
|
112
|
-
this._providers = p;
|
|
113
|
-
this.onWidgetProvidersChanged.emit({ providers: p });
|
|
114
|
-
}
|
|
115
|
-
/** Adds a WidgetDef Provider
|
|
116
|
-
*/
|
|
117
|
-
addWidgetProvider(widgetProvider) {
|
|
118
|
-
const oldProviders = this._providers.filter((p) => p.id !== widgetProvider.id);
|
|
119
|
-
const updatedProviders = [
|
|
120
|
-
...oldProviders,
|
|
121
|
-
widgetProvider,
|
|
122
|
-
];
|
|
123
|
-
this.providers = updatedProviders;
|
|
124
|
-
}
|
|
125
|
-
/** Removes a WidgetDef Provider
|
|
126
|
-
*/
|
|
127
|
-
removeWidgetProvider(providerId) {
|
|
128
|
-
let result = false;
|
|
129
|
-
const updatedProviders = this._providers.filter((p) => p.id !== providerId);
|
|
130
|
-
if (updatedProviders.length !== this._providers.length) {
|
|
131
|
-
this.providers = updatedProviders;
|
|
132
|
-
result = true;
|
|
133
|
-
}
|
|
134
|
-
return result;
|
|
135
|
-
}
|
|
136
95
|
// Used when WidgetDefs are requested from UiItemProviders when uiVersion="1"
|
|
137
96
|
getStagePanelLocationFromZoneLocation(location) {
|
|
138
97
|
switch (location) {
|
|
@@ -159,24 +118,11 @@ class WidgetManager {
|
|
|
159
118
|
&& info.location === location
|
|
160
119
|
&& info.section === definedSection;
|
|
161
120
|
});
|
|
162
|
-
|
|
163
|
-
// Consult the registered WidgetProviders
|
|
164
|
-
this._providers.forEach((p, index) => {
|
|
165
|
-
const wds = p.getWidgetDefs(stageId, stageUsage, location, definedSection, frontstageApplicationData);
|
|
166
|
-
// istanbul ignore else
|
|
167
|
-
if (wds) {
|
|
168
|
-
const stableWds = wds.map((wd) => {
|
|
169
|
-
const stableId = getWidgetProviderStableWidgetId(p.id, stageUsage, location, definedSection, index);
|
|
170
|
-
return (0, StableWidgetDef_1.createStableWidgetDef)(wd, stableId);
|
|
171
|
-
});
|
|
172
|
-
widgetDefs = widgetDefs.concat(stableWds);
|
|
173
|
-
}
|
|
174
|
-
});
|
|
121
|
+
const widgetDefs = widgetInfos.map((info) => info.widgetDef);
|
|
175
122
|
// Consult the UiItemsManager to get any Abstract widgets
|
|
176
123
|
if (location in appui_abstract_1.StagePanelLocation) {
|
|
177
124
|
const widgets = appui_abstract_1.UiItemsManager.getWidgets(stageId, stageUsage, location, definedSection, frontstageApplicationData);
|
|
178
|
-
|
|
179
|
-
updatedWidgets.forEach((abstractProps, index) => {
|
|
125
|
+
widgets.forEach((abstractProps, index) => {
|
|
180
126
|
const props = WidgetDef_1.WidgetDef.createWidgetPropsFromAbstractProps(abstractProps);
|
|
181
127
|
const stableId = getAddonStableWidgetId(stageUsage, location, definedSection, index);
|
|
182
128
|
const stableProps = (0, Zone_1.getStableWidgetProps)(props, stableId);
|
|
@@ -191,8 +137,7 @@ class WidgetManager {
|
|
|
191
137
|
// istanbul ignore else
|
|
192
138
|
if (panelLocation && location in appui_abstract_1.AbstractZoneLocation) {
|
|
193
139
|
const widgets = appui_abstract_1.UiItemsManager.getWidgets(stageId, stageUsage, panelLocation, undefined, location, frontstageApplicationData);
|
|
194
|
-
|
|
195
|
-
updatedWidgets.forEach((abstractProps, index) => {
|
|
140
|
+
widgets.forEach((abstractProps, index) => {
|
|
196
141
|
const props = WidgetDef_1.WidgetDef.createWidgetPropsFromAbstractProps(abstractProps);
|
|
197
142
|
const stableId = getAddonStableWidgetId(stageUsage, location, definedSection, index);
|
|
198
143
|
const stableProps = (0, Zone_1.getStableWidgetProps)(props, stableId);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WidgetManager.js","sourceRoot":"","sources":["../../../../src/appui-react/widgets/WidgetManager.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F,4CAA4C;AAC5C;;GAEG;;;AAEH,sDAAwD;AACxD,0DAAoI;AACpI,gDAA6C;AAC7C,wCAAmE;AACnE,2CAAwC;AACxC,uDAA0D;AAoB1D;;GAEG;AACH,MAAa,2BAA4B,SAAQ,wBAA0C;CAAI;AAA/F,kEAA+F;AAS/F;;GAEG;AACH,MAAa,mBAAoB,SAAQ,wBAAkC;CAAI;AAA/E,kDAA+E;AAiB/E,SAAS,cAAc,CAAC,QAA2C;IACjE,OAAO,QAAQ,IAAI,mBAAY,CAAC,OAAO,IAAI,QAAQ,IAAI,mBAAY,CAAC,WAAW,CAAC;AAClF,CAAC;AAED,SAAS,eAAe,CAAC,QAA2C;IAClE,OAAO,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,mBAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,mCAAkB,CAAC,QAAQ,CAAC,CAAC;AAC1F,CAAC;AAED,SAAS,8BAA8B,CAAC,UAA8B,EAAE,QAA2C,EAAE,OAA0B,EAC7I,KAAa;IACb,OAAO,WAAW,UAAU,IAAI,EAAE,IAAI,eAAe,CAAC,QAAQ,CAAC,IAAI,kCAAiB,CAAC,OAAO,CAAC,IAAI,KAAK,EAAE,CAAC;AAC3G,CAAC;AAED,SAAS,+BAA+B,CAAC,UAAkB,EAAE,UAAkB,EAAE,QAA2C,EAC1H,OAA0B,EAAE,KAAa;IACzC,OAAO,WAAW,UAAU,IAAI,UAAU,IAAI,eAAe,CAAC,QAAQ,CAAC,IAAI,kCAAiB,CAAC,OAAO,CAAC,IAAI,KAAK,EAAE,CAAC;AACnH,CAAC;AAED,SAAS,sBAAsB,CAAC,UAAkB,EAAE,QAA4B,EAAE,OAA0B,EAAE,KAAa;IACzH,OAAO,cAAc,UAAU,IAAI,mCAAkB,CAAC,QAAQ,CAAC,IAAI,kCAAiB,CAAC,OAAO,CAAC,IAAI,KAAK,EAAE,CAAC;AAC3G,CAAC;AAED;;GAEG;AACH,MAAa,aAAa;IAA1B;QACU,aAAQ,GAA8B,EAAE,CAAC;QACzC,eAAU,GAAkC,EAAE,CAAC;QAEvD;;WAEG;QACa,qBAAgB,GAAG,IAAI,mBAAmB,EAAE,CAAC;QAE7D;;WAEG;QACa,6BAAwB,GAAG,IAAI,2BAA2B,EAAE,CAAC;IAwK/E,CAAC;IAtKC,gBAAgB;IAChB,IAAW,WAAW;QACpB,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;IAC9B,CAAC;IAED,gBAAgB;IAChB,IAAW,OAAO,KAAgC,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IACzE,IAAW,OAAO,CAAC,CAA4B;QAC7C,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;QAClB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED;;;;OAIG;IACI,YAAY,CAAC,SAAoB,EAAE,OAA2B,EAAE,UAA8B,EAAE,QAA2C,EAAE,OAA2B;QAC7K,IAAI,OAAO,KAAK,SAAS,IAAI,UAAU,KAAK,SAAS,EAAE;YACrD,qBAAM,CAAC,QAAQ,CAAC,yBAAW,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,6DAA6D,CAAC,CAAC;YACjH,OAAO,KAAK,CAAC;SACd;QAED,OAAO,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,kCAAiB,CAAC,KAAK,CAAC;QACtE,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;YAC/C,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO,IAAI,IAAI,CAAC,UAAU,KAAK,UAAU,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO;gBACtH,OAAO,GAAG,GAAG,CAAC,CAAC;YACjB,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,CAAC,CAAC,CAAC;QACN,MAAM,QAAQ,GAAG,8BAA8B,CAAC,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QACtF,MAAM,YAAY,GAAG,IAAA,uCAAqB,EAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAChE,MAAM,SAAS,GAAe,EAAE,SAAS,EAAE,YAAY,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;QAElG,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAChG,MAAM,cAAc,GAAG;YACrB,GAAG,UAAU;YACb,SAAS;SACV,CAAC;QACF,IAAI,CAAC,OAAO,GAAG,cAAc,CAAC;QAE9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;OACG;IACI,eAAe,CAAC,QAAgB;QACrC,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC;QAEtF,IAAI,cAAc,CAAC,MAAM,KAAK,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;YAClD,IAAI,CAAC,OAAO,GAAG,cAAc,CAAC;YAC9B,MAAM,GAAG,IAAI,CAAC;SACf;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,gBAAgB;IAChB,IAAW,SAAS,KAAoC,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACjF,IAAW,SAAS,CAAC,CAAgC;QACnD,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;IACvD,CAAC;IAED;OACG;IACI,iBAAiB,CAAC,cAA8B;QACrD,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,cAAc,CAAC,EAAE,CAAC,CAAC;QAC/E,MAAM,gBAAgB,GAAG;YACvB,GAAG,YAAY;YACf,cAAc;SACf,CAAC;QACF,IAAI,CAAC,SAAS,GAAG,gBAAgB,CAAC;IACpC,CAAC;IAED;OACG;IACI,oBAAoB,CAAC,UAAkB;QAC5C,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,MAAM,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,UAAU,CAAC,CAAC;QAE5E,IAAI,gBAAgB,CAAC,MAAM,KAAK,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;YACtD,IAAI,CAAC,SAAS,GAAG,gBAAgB,CAAC;YAClC,MAAM,GAAG,IAAI,CAAC;SACf;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,6EAA6E;IACrE,qCAAqC,CAAC,QAAsB;QAClE,QAAQ,QAAQ,EAAE;YAChB,KAAK,mBAAY,CAAC,YAAY,CAAC;YAC/B,KAAK,mBAAY,CAAC,SAAS,CAAC;YAC5B,KAAK,mBAAY,CAAC,QAAQ,CAAC;YAC3B,KAAK,mBAAY,CAAC,OAAO;gBACvB,OAAO,SAAS,CAAC,CAAC,sEAAsE;YAC1F,KAAK,mBAAY,CAAC,UAAU,CAAC;YAC7B,KAAK,mBAAY,CAAC,UAAU;gBAC1B,OAAO,mCAAkB,CAAC,IAAI,CAAC;YACjC,KAAK,mBAAY,CAAC,WAAW,CAAC;YAC9B,KAAK,mBAAY,CAAC,WAAW;gBAC3B,OAAO,mCAAkB,CAAC,KAAK,CAAC;SACnC;IACH,CAAC;IAED;OACG;IACI,aAAa,CAAC,OAAe,EAAE,UAAkB,EAAE,QAA2C,EAAE,OAA2B,EAChI,yBAA+B;QAC/B,MAAM,cAAc,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,kCAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC;QAEjF,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;YAChD,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO,CAAC;mBAC7C,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,KAAK,UAAU,CAAC;mBACpD,IAAI,CAAC,QAAQ,KAAK,QAAQ;mBAC1B,IAAI,CAAC,OAAO,KAAK,cAAc,CAAC;QACvC,CAAC,CAAC,CAAC;QAEH,IAAI,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAE3D,yCAAyC;QACzC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;YACnC,MAAM,GAAG,GAAG,CAAC,CAAC,aAAa,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,yBAAyB,CAAC,CAAC;YACtG,uBAAuB;YACvB,IAAI,GAAG,EAAE;gBACP,MAAM,SAAS,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;oBAC/B,MAAM,QAAQ,GAAG,+BAA+B,CAAC,CAAC,CAAC,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;oBACpG,OAAO,IAAA,uCAAqB,EAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;gBAC7C,CAAC,CAAC,CAAC;gBACH,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;aAC3C;QACH,CAAC,CAAC,CAAC;QAEH,yDAAyD;QACzD,IAAI,QAAQ,IAAI,mCAAkB,EAAE;YAClC,MAAM,OAAO,GAAG,+BAAc,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,EAAE,QAA8B,EAAE,cAAc,EAAE,yBAAyB,CAAC,CAAC;YAC1I,MAAM,cAAc,GAAG,+BAAc,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YAC7D,cAAc,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,KAAK,EAAE,EAAE;gBAC9C,MAAM,KAAK,GAAG,qBAAS,CAAC,kCAAkC,CAAC,aAAa,CAAC,CAAC;gBAC1E,MAAM,QAAQ,GAAG,sBAAsB,CAAC,UAAU,EAAE,QAA8B,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;gBAC3G,MAAM,WAAW,GAAG,IAAA,2BAAoB,EAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;gBAC1D,MAAM,EAAE,GAAG,IAAI,qBAAS,CAAC,WAAW,CAAC,CAAC;gBACtC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACtB,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,uBAAuB;YACvB,IAAI,QAAQ,IAAI,mBAAY,EAAE;gBAC5B,MAAM,aAAa,GAAG,IAAI,CAAC,qCAAqC,CAAC,QAAwB,CAAC,CAAC;gBAC3F,uBAAuB;gBACvB,IAAI,aAAa,IAAI,QAAQ,IAAI,qCAAoB,EAAE;oBACrD,MAAM,OAAO,GAAG,+BAAc,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,QAA2C,EAAE,yBAAyB,CAAC,CAAC;oBACjK,MAAM,cAAc,GAAG,+BAAc,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;oBAC7D,cAAc,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,KAAK,EAAE,EAAE;wBAC9C,MAAM,KAAK,GAAG,qBAAS,CAAC,kCAAkC,CAAC,aAAa,CAAC,CAAC;wBAC1E,MAAM,QAAQ,GAAG,sBAAsB,CAAC,UAAU,EAAE,QAA8B,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;wBAC3G,MAAM,WAAW,GAAG,IAAA,2BAAoB,EAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;wBAC1D,MAAM,EAAE,GAAG,IAAI,qBAAS,CAAC,WAAW,CAAC,CAAC;wBACtC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBACtB,CAAC,CAAC,CAAC;iBACJ;aACF;SACF;QAED,OAAO,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;IACxD,CAAC;CACF;AApLD,sCAoLC","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/* eslint-disable deprecation/deprecation */\n/** @packageDocumentation\n * @module Widget\n */\n\nimport { BeUiEvent, Logger } from \"@itwin/core-bentley\";\nimport { AbstractZoneLocation, StagePanelLocation, StagePanelSection, UiItemsArbiter, UiItemsManager } from \"@itwin/appui-abstract\";\nimport { UiFramework } from \"../UiFramework\";\nimport { getStableWidgetProps, ZoneLocation } from \"../zones/Zone\";\nimport { WidgetDef } from \"./WidgetDef\";\nimport { createStableWidgetDef } from \"./StableWidgetDef\";\n\n/** Information about WidgetDefs in the WidgetManager\n * @internal\n */\nexport interface WidgetInfo {\n widgetDef: WidgetDef;\n stageId?: string;\n stageUsage?: string;\n location: ZoneLocation | StagePanelLocation;\n section: StagePanelSection;\n}\n\n/** Arguments of [[this.onWidgetsChanged]] event.\n * @internal\n */\nexport interface WidgetsChangedEventArgs {\n readonly items: ReadonlyArray<WidgetInfo>;\n}\n\n/** Event class for [[this.onWidgetProvidersChanged]].\n * @internal\n */\nexport class WidgetProvidersChangedEvent extends BeUiEvent<WidgetProvidersChangedEventArgs> { }\n\n/** Arguments of [[this.onWidgetProvidersChanged]] event.\n * @internal\n */\nexport interface WidgetProvidersChangedEventArgs {\n readonly providers: ReadonlyArray<WidgetProvider>;\n}\n\n/** Event class for [[this.onWidgetsChanged]].\n * @internal\n */\nexport class WidgetsChangedEvent extends BeUiEvent<WidgetsChangedEventArgs> { }\n\n/** Widget Provider interface.\n * @beta\n */\nexport interface WidgetProvider {\n /** Id of provider */\n readonly id: string;\n /** Get WidgetDefs matching the given criteria.\n * @note It is recommended to provide custom unique ids to returned widget defs.\n * Semi-stable id is used when auto-generated `widgetDef` id is detected,\n * but correctness of such id depends on widget index in the returned array.\n */\n getWidgetDefs(stageId: string, stageUsage: string, location: ZoneLocation | StagePanelLocation,\n section?: StagePanelSection, frontstageApplicationData?: any): ReadonlyArray<WidgetDef> | undefined;\n}\n\nfunction isZoneLocation(location: ZoneLocation | StagePanelLocation): location is ZoneLocation {\n return location >= ZoneLocation.TopLeft && location <= ZoneLocation.BottomRight;\n}\n\nfunction getLocationName(location: ZoneLocation | StagePanelLocation) {\n return isZoneLocation(location) ? ZoneLocation[location] : StagePanelLocation[location];\n}\n\nfunction getWidgetManagerStableWidgetId(stageUsage: string | undefined, location: ZoneLocation | StagePanelLocation, section: StagePanelSection,\n index: number) {\n return `uifw-wm-${stageUsage || \"\"}-${getLocationName(location)}-${StagePanelSection[section]}-${index}`;\n}\n\nfunction getWidgetProviderStableWidgetId(providerId: string, stageUsage: string, location: ZoneLocation | StagePanelLocation,\n section: StagePanelSection, index: number) {\n return `uifw-wp-${providerId}-${stageUsage}-${getLocationName(location)}-${StagePanelSection[section]}-${index}`;\n}\n\nfunction getAddonStableWidgetId(stageUsage: string, location: StagePanelLocation, section: StagePanelSection, index: number) {\n return `uifw-addon-${stageUsage}-${StagePanelLocation[location]}-${StagePanelSection[section]}-${index}`;\n}\n\n/** Widget Manager class.\n * @beta\n */\nexport class WidgetManager {\n private _widgets: ReadonlyArray<WidgetInfo> = [];\n private _providers: ReadonlyArray<WidgetProvider> = [];\n\n /** Event raised when Widgets are changed.\n * @internal\n */\n public readonly onWidgetsChanged = new WidgetsChangedEvent();\n\n /** Event raised when WidgetProviders are changed.\n * @internal\n */\n public readonly onWidgetProvidersChanged = new WidgetProvidersChangedEvent();\n\n /** @internal */\n public get widgetCount(): number {\n return this._widgets.length;\n }\n\n /** @internal */\n public get widgets(): ReadonlyArray<WidgetInfo> { return this._widgets; }\n public set widgets(w: ReadonlyArray<WidgetInfo>) {\n this._widgets = w;\n this.onWidgetsChanged.emit({ items: w });\n }\n\n /** Adds a WidgetDef for use in a Frontstage.\n * @note Added `widgetDef` must return unique id to correctly save/restore App layout.\n * Semi-stable id is generated when auto-generated `widgetDef` id is detected,\n * but correctness of such id depends on `addWidgetDef` call order and widget location.\n */\n public addWidgetDef(widgetDef: WidgetDef, stageId: string | undefined, stageUsage: string | undefined, location: ZoneLocation | StagePanelLocation, section?: StagePanelSection): boolean {\n if (stageId === undefined && stageUsage === undefined) {\n Logger.logError(UiFramework.loggerCategory(this), `addWidgetDef: stageId or stageUsage param must be specified`);\n return false;\n }\n\n section = (section !== undefined) ? section : StagePanelSection.Start;\n const index = this._widgets.reduce((acc, info) => {\n if (info.stageId === stageId && info.stageUsage === stageUsage && info.location === location && info.section === section)\n return acc + 1;\n return acc;\n }, 0);\n const stableId = getWidgetManagerStableWidgetId(stageUsage, location, section, index);\n const stableWidget = createStableWidgetDef(widgetDef, stableId);\n const newWidget: WidgetInfo = { widgetDef: stableWidget, stageId, stageUsage, location, section };\n\n const oldWidgets = this._widgets.filter((info) => info.widgetDef.id !== newWidget.widgetDef.id);\n const updatedWidgets = [\n ...oldWidgets,\n newWidget,\n ];\n this.widgets = updatedWidgets;\n\n return true;\n }\n\n /** Removes a WidgetDef.\n */\n public removeWidgetDef(widgetId: string): boolean {\n let result = false;\n const updatedWidgets = this._widgets.filter((info) => info.widgetDef.id !== widgetId);\n\n if (updatedWidgets.length !== this._widgets.length) {\n this.widgets = updatedWidgets;\n result = true;\n }\n\n return result;\n }\n\n /** @internal */\n public get providers(): ReadonlyArray<WidgetProvider> { return this._providers; }\n public set providers(p: ReadonlyArray<WidgetProvider>) {\n this._providers = p;\n this.onWidgetProvidersChanged.emit({ providers: p });\n }\n\n /** Adds a WidgetDef Provider\n */\n public addWidgetProvider(widgetProvider: WidgetProvider): void {\n const oldProviders = this._providers.filter((p) => p.id !== widgetProvider.id);\n const updatedProviders = [\n ...oldProviders,\n widgetProvider,\n ];\n this.providers = updatedProviders;\n }\n\n /** Removes a WidgetDef Provider\n */\n public removeWidgetProvider(providerId: string): boolean {\n let result = false;\n const updatedProviders = this._providers.filter((p) => p.id !== providerId);\n\n if (updatedProviders.length !== this._providers.length) {\n this.providers = updatedProviders;\n result = true;\n }\n\n return result;\n }\n\n // Used when WidgetDefs are requested from UiItemProviders when uiVersion=\"1\"\n private getStagePanelLocationFromZoneLocation(location: ZoneLocation): StagePanelLocation | undefined {\n switch (location) {\n case ZoneLocation.BottomCenter:\n case ZoneLocation.TopCenter:\n case ZoneLocation.TopRight:\n case ZoneLocation.TopLeft:\n return undefined; // an existing stage does not support appending widgets to these zones\n case ZoneLocation.BottomLeft:\n case ZoneLocation.CenterLeft:\n return StagePanelLocation.Left;\n case ZoneLocation.BottomRight:\n case ZoneLocation.CenterRight:\n return StagePanelLocation.Right;\n }\n }\n\n /** Gets WidgetDefs for a Frontstage location.\n */\n public getWidgetDefs(stageId: string, stageUsage: string, location: ZoneLocation | StagePanelLocation, section?: StagePanelSection,\n frontstageApplicationData?: any): ReadonlyArray<WidgetDef> | undefined {\n const definedSection = section === undefined ? StagePanelSection.Start : section;\n\n const widgetInfos = this._widgets.filter((info) => {\n return (!info.stageId || info.stageId === stageId)\n && (!info.stageUsage || info.stageUsage === stageUsage)\n && info.location === location\n && info.section === definedSection;\n });\n\n let widgetDefs = widgetInfos.map((info) => info.widgetDef);\n\n // Consult the registered WidgetProviders\n this._providers.forEach((p, index) => {\n const wds = p.getWidgetDefs(stageId, stageUsage, location, definedSection, frontstageApplicationData);\n // istanbul ignore else\n if (wds) {\n const stableWds = wds.map((wd) => {\n const stableId = getWidgetProviderStableWidgetId(p.id, stageUsage, location, definedSection, index);\n return createStableWidgetDef(wd, stableId);\n });\n widgetDefs = widgetDefs.concat(stableWds);\n }\n });\n\n // Consult the UiItemsManager to get any Abstract widgets\n if (location in StagePanelLocation) {\n const widgets = UiItemsManager.getWidgets(stageId, stageUsage, location as StagePanelLocation, definedSection, frontstageApplicationData);\n const updatedWidgets = UiItemsArbiter.updateWidgets(widgets);\n updatedWidgets.forEach((abstractProps, index) => {\n const props = WidgetDef.createWidgetPropsFromAbstractProps(abstractProps);\n const stableId = getAddonStableWidgetId(stageUsage, location as StagePanelLocation, definedSection, index);\n const stableProps = getStableWidgetProps(props, stableId);\n const wd = new WidgetDef(stableProps);\n widgetDefs.push(wd);\n });\n } else {\n // istanbul ignore else\n if (location in ZoneLocation) {\n const panelLocation = this.getStagePanelLocationFromZoneLocation(location as ZoneLocation);\n // istanbul ignore else\n if (panelLocation && location in AbstractZoneLocation) {\n const widgets = UiItemsManager.getWidgets(stageId, stageUsage, panelLocation, undefined, location as unknown as AbstractZoneLocation, frontstageApplicationData);\n const updatedWidgets = UiItemsArbiter.updateWidgets(widgets);\n updatedWidgets.forEach((abstractProps, index) => {\n const props = WidgetDef.createWidgetPropsFromAbstractProps(abstractProps);\n const stableId = getAddonStableWidgetId(stageUsage, location as StagePanelLocation, definedSection, index);\n const stableProps = getStableWidgetProps(props, stableId);\n const wd = new WidgetDef(stableProps);\n widgetDefs.push(wd);\n });\n }\n }\n }\n\n return widgetDefs.length > 0 ? widgetDefs : undefined;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"WidgetManager.js","sourceRoot":"","sources":["../../../../src/appui-react/widgets/WidgetManager.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/* eslint-disable deprecation/deprecation */\r\n/** @packageDocumentation\r\n * @module Widget\r\n */\r\n\r\nimport { BeUiEvent, Logger } from \"@itwin/core-bentley\";\r\nimport { AbstractWidgetProps, AbstractZoneLocation, StagePanelLocation, StagePanelSection, UiItemsManager } from \"@itwin/appui-abstract\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { getStableWidgetProps, ZoneLocation } from \"../zones/Zone\";\r\nimport { WidgetDef } from \"./WidgetDef\";\r\nimport { createStableWidgetDef } from \"./StableWidgetDef\";\r\n\r\n/** Information about WidgetDefs in the WidgetManager\r\n * @internal\r\n */\r\nexport interface WidgetInfo {\r\n widgetDef: WidgetDef;\r\n stageId?: string;\r\n stageUsage?: string;\r\n location: ZoneLocation | StagePanelLocation;\r\n section: StagePanelSection;\r\n}\r\n\r\n/** Arguments of [[this.onWidgetsChanged]] event.\r\n * @internal\r\n */\r\nexport interface WidgetsChangedEventArgs {\r\n readonly items: ReadonlyArray<WidgetInfo>;\r\n}\r\n\r\n/** Event class for [[this.onWidgetsChanged]].\r\n * @internal\r\n */\r\nexport class WidgetsChangedEvent extends BeUiEvent<WidgetsChangedEventArgs> { }\r\n\r\nfunction isZoneLocation(location: ZoneLocation | StagePanelLocation): location is ZoneLocation {\r\n return location >= ZoneLocation.TopLeft && location <= ZoneLocation.BottomRight;\r\n}\r\n\r\nfunction getLocationName(location: ZoneLocation | StagePanelLocation) {\r\n return isZoneLocation(location) ? ZoneLocation[location] : StagePanelLocation[location];\r\n}\r\n\r\nfunction getWidgetManagerStableWidgetId(stageUsage: string | undefined, location: ZoneLocation | StagePanelLocation, section: StagePanelSection,\r\n index: number) {\r\n return `uifw-wm-${stageUsage || \"\"}-${getLocationName(location)}-${StagePanelSection[section]}-${index}`;\r\n}\r\n\r\nfunction getAddonStableWidgetId(stageUsage: string, location: StagePanelLocation, section: StagePanelSection, index: number) {\r\n return `uifw-addon-${stageUsage}-${StagePanelLocation[location]}-${StagePanelSection[section]}-${index}`;\r\n}\r\n\r\n/** Widget Manager class.\r\n * @beta\r\n */\r\nexport class WidgetManager {\r\n private _widgets: ReadonlyArray<WidgetInfo> = [];\r\n\r\n /** Event raised when Widgets are changed.\r\n * @internal\r\n */\r\n public readonly onWidgetsChanged = new WidgetsChangedEvent();\r\n\r\n /** @internal */\r\n public get widgetCount(): number {\r\n return this._widgets.length;\r\n }\r\n\r\n /** @internal */\r\n public get widgets(): ReadonlyArray<WidgetInfo> { return this._widgets; }\r\n public set widgets(w: ReadonlyArray<WidgetInfo>) {\r\n this._widgets = w;\r\n this.onWidgetsChanged.emit({ items: w });\r\n }\r\n\r\n /** Adds a WidgetDef for use in a Frontstage.\r\n * @note Added `widgetDef` must return unique id to correctly save/restore App layout.\r\n * Semi-stable id is generated when auto-generated `widgetDef` id is detected,\r\n * but correctness of such id depends on `addWidgetDef` call order and widget location.\r\n */\r\n public addWidgetDef(widgetDef: WidgetDef, stageId: string | undefined, stageUsage: string | undefined, location: ZoneLocation | StagePanelLocation, section?: StagePanelSection): boolean {\r\n if (stageId === undefined && stageUsage === undefined) {\r\n Logger.logError(UiFramework.loggerCategory(this), `addWidgetDef: stageId or stageUsage param must be specified`);\r\n return false;\r\n }\r\n\r\n section = (section !== undefined) ? section : StagePanelSection.Start;\r\n const index = this._widgets.reduce((acc, info) => {\r\n if (info.stageId === stageId && info.stageUsage === stageUsage && info.location === location && info.section === section)\r\n return acc + 1;\r\n return acc;\r\n }, 0);\r\n const stableId = getWidgetManagerStableWidgetId(stageUsage, location, section, index);\r\n const stableWidget = createStableWidgetDef(widgetDef, stableId);\r\n const newWidget: WidgetInfo = { widgetDef: stableWidget, stageId, stageUsage, location, section };\r\n\r\n const oldWidgets = this._widgets.filter((info) => info.widgetDef.id !== newWidget.widgetDef.id);\r\n const updatedWidgets = [\r\n ...oldWidgets,\r\n newWidget,\r\n ];\r\n this.widgets = updatedWidgets;\r\n\r\n return true;\r\n }\r\n\r\n /** Removes a WidgetDef.\r\n */\r\n public removeWidgetDef(widgetId: string): boolean {\r\n let result = false;\r\n const updatedWidgets = this._widgets.filter((info) => info.widgetDef.id !== widgetId);\r\n\r\n if (updatedWidgets.length !== this._widgets.length) {\r\n this.widgets = updatedWidgets;\r\n result = true;\r\n }\r\n\r\n return result;\r\n }\r\n\r\n // Used when WidgetDefs are requested from UiItemProviders when uiVersion=\"1\"\r\n private getStagePanelLocationFromZoneLocation(location: ZoneLocation): StagePanelLocation | undefined {\r\n switch (location) {\r\n case ZoneLocation.BottomCenter:\r\n case ZoneLocation.TopCenter:\r\n case ZoneLocation.TopRight:\r\n case ZoneLocation.TopLeft:\r\n return undefined; // an existing stage does not support appending widgets to these zones\r\n case ZoneLocation.BottomLeft:\r\n case ZoneLocation.CenterLeft:\r\n return StagePanelLocation.Left;\r\n case ZoneLocation.BottomRight:\r\n case ZoneLocation.CenterRight:\r\n return StagePanelLocation.Right;\r\n }\r\n }\r\n\r\n /** Gets WidgetDefs for a Frontstage location.\r\n */\r\n public getWidgetDefs(stageId: string, stageUsage: string, location: ZoneLocation | StagePanelLocation, section?: StagePanelSection,\r\n frontstageApplicationData?: any): ReadonlyArray<WidgetDef> | undefined {\r\n const definedSection = section === undefined ? StagePanelSection.Start : section;\r\n\r\n const widgetInfos = this._widgets.filter((info) => {\r\n return (!info.stageId || info.stageId === stageId)\r\n && (!info.stageUsage || info.stageUsage === stageUsage)\r\n && info.location === location\r\n && info.section === definedSection;\r\n });\r\n\r\n const widgetDefs = widgetInfos.map((info) => info.widgetDef);\r\n\r\n // Consult the UiItemsManager to get any Abstract widgets\r\n if (location in StagePanelLocation) {\r\n const widgets = UiItemsManager.getWidgets(stageId, stageUsage, location as StagePanelLocation, definedSection, frontstageApplicationData);\r\n widgets.forEach((abstractProps: AbstractWidgetProps, index: number) => {\r\n const props = WidgetDef.createWidgetPropsFromAbstractProps(abstractProps);\r\n const stableId = getAddonStableWidgetId(stageUsage, location as StagePanelLocation, definedSection, index);\r\n const stableProps = getStableWidgetProps(props, stableId);\r\n const wd = new WidgetDef(stableProps);\r\n widgetDefs.push(wd);\r\n });\r\n } else {\r\n // istanbul ignore else\r\n if (location in ZoneLocation) {\r\n const panelLocation = this.getStagePanelLocationFromZoneLocation(location as ZoneLocation);\r\n // istanbul ignore else\r\n if (panelLocation && location in AbstractZoneLocation) {\r\n const widgets = UiItemsManager.getWidgets(stageId, stageUsage, panelLocation, undefined, location as unknown as AbstractZoneLocation, frontstageApplicationData);\r\n widgets.forEach((abstractProps: AbstractWidgetProps, index: number) => {\r\n const props = WidgetDef.createWidgetPropsFromAbstractProps(abstractProps);\r\n const stableId = getAddonStableWidgetId(stageUsage, location as StagePanelLocation, definedSection, index);\r\n const stableProps = getStableWidgetProps(props, stableId);\r\n const wd = new WidgetDef(stableProps);\r\n widgetDefs.push(wd);\r\n });\r\n }\r\n }\r\n }\r\n\r\n return widgetDefs.length > 0 ? widgetDefs : undefined;\r\n }\r\n}\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WidgetProps.js","sourceRoot":"","sources":["../../../../src/appui-react/widgets/WidgetProps.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Widget\n */\n\nimport * as React from \"react\";\nimport { AbstractWidgetProps } from \"@itwin/appui-abstract\";\nimport { IconProps } from \"@itwin/core-react\";\nimport { ConfigurableUiControlConstructor } from \"../configurableui/ConfigurableUiControl\";\n\n/** Properties for a [Widget]($appui-react) component.\n * @public\n */\n// export interface WidgetProps extends IconProps {\nexport interface WidgetProps extends Omit<AbstractWidgetProps, \"getWidgetContent\">, IconProps {\n /** if set, it is used to define a key that is used to look up a localized string. This value is used only if label is not explicitly set. */\n labelKey?: string;\n /** if set, it is used to define a key that is used to look up a localized string. This value is used only if tooltip is not explicitly set. */\n tooltipKey?: string;\n /** A [[WidgetControl]] providing information about the Widget. */\n control?: ConfigurableUiControlConstructor;\n /** A React component for the Widget. */\n element?: React.ReactNode;\n /** Control's class id */\n classId?: string | ConfigurableUiControlConstructor;\n /** @alpha */\n preferredPanelSize?: \"fit-content\";\n}\n"]}
|
|
1
|
+
{"version":3,"file":"WidgetProps.js","sourceRoot":"","sources":["../../../../src/appui-react/widgets/WidgetProps.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG","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 Widget\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { AbstractWidgetProps } from \"@itwin/appui-abstract\";\r\nimport { IconProps } from \"@itwin/core-react\";\r\nimport { ConfigurableUiControlConstructor } from \"../configurableui/ConfigurableUiControl\";\r\n\r\n/** Properties for a [Widget]($appui-react) component.\r\n * @public\r\n */\r\n// export interface WidgetProps extends IconProps {\r\nexport interface WidgetProps extends Omit<AbstractWidgetProps, \"getWidgetContent\">, IconProps {\r\n /** if set, it is used to define a key that is used to look up a localized string. This value is used only if label is not explicitly set. */\r\n labelKey?: string;\r\n /** if set, it is used to define a key that is used to look up a localized string. This value is used only if tooltip is not explicitly set. */\r\n tooltipKey?: string;\r\n /** A [[WidgetControl]] providing information about the Widget. */\r\n control?: ConfigurableUiControlConstructor;\r\n /** A React component for the Widget. */\r\n element?: React.ReactNode;\r\n /** Control's class id */\r\n classId?: string | ConfigurableUiControlConstructor;\r\n /** @alpha */\r\n preferredPanelSize?: \"fit-content\";\r\n}\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WidgetStack.js","sourceRoot":"","sources":["../../../../src/appui-react/widgets/WidgetStack.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Widget\n */\n\nimport * as React from \"react\";\nimport { BadgeType, ConditionalStringValue, PointProps } from \"@itwin/appui-abstract\";\nimport { BadgeUtilities, CommonProps, IconHelper, Rectangle, RectangleProps } from \"@itwin/core-react\";\nimport {\n DisabledResizeHandles, DraggedWidgetManagerProps, HandleMode, HorizontalAnchor, Stacked as NZ_WidgetStack, ResizeHandle, Tab, TabGroup, TabMode,\n TabSeparator, VerticalAnchor, VerticalAnchorHelpers, WidgetZoneId,\n} from \"@itwin/appui-layout-react\";\nimport { WidgetChangeHandler } from \"../frontstage/FrontstageComposer\";\nimport { UiShowHideManager } from \"../utils/UiShowHideManager\";\n\n// cSpell:ignore Timedout\n\n/** Properties for a [[WidgetStack]] Tab.\n * @internal\n */\nexport interface WidgetTab {\n readonly iconSpec?: string | ConditionalStringValue | React.ReactNode;\n readonly title: string;\n readonly badgeType?: BadgeType;\n}\n\n/** Properties for a Widget in a [[WidgetStack]].\n * @internal\n */\nexport type WidgetTabs = { readonly [id in WidgetZoneId]: ReadonlyArray<WidgetTab> };\n\n/** Properties for the [[WidgetStack]] React component.\n * @internal\n */\nexport interface WidgetStackProps extends CommonProps {\n activeTabIndex: number;\n disabledResizeHandles: DisabledResizeHandles | undefined;\n draggedWidget: DraggedWidgetManagerProps | undefined;\n fillZone: boolean;\n getWidgetContentRef: (id: WidgetZoneId) => React.Ref<HTMLDivElement>;\n horizontalAnchor: HorizontalAnchor;\n isCollapsed: boolean;\n isFloating: boolean;\n isInStagePanel: boolean;\n openWidgetId: WidgetZoneId | undefined;\n verticalAnchor: VerticalAnchor;\n widgetChangeHandler: WidgetChangeHandler;\n widgets: ReadonlyArray<WidgetZoneId>;\n widgetTabs: WidgetTabs;\n}\n\n/** Widget stack React component.\n * @internal\n */\nexport class WidgetStack extends React.PureComponent<WidgetStackProps> {\n private _widgetStack = React.createRef<NZ_WidgetStack>();\n\n public override render(): React.ReactNode {\n const tabCount = this.props.widgets.reduce((acc, widgetId) => {\n const tabs = this.props.widgetTabs[widgetId];\n return acc + tabs.length;\n }, 0);\n if (tabCount === 0)\n return null;\n return (\n <NZ_WidgetStack\n className={this.props.className}\n contentRef={this.props.openWidgetId ? this.props.getWidgetContentRef(this.props.openWidgetId) : undefined}\n disabledResizeHandles={this.props.disabledResizeHandles}\n fillZone={this.props.fillZone || this.props.isInStagePanel}\n horizontalAnchor={this.props.horizontalAnchor}\n isCollapsed={this.props.isCollapsed}\n isTabBarVisible={this.props.isInStagePanel}\n isDragged={!!this.props.draggedWidget}\n isFloating={this.props.isFloating}\n isOpen={!!this.props.openWidgetId}\n onMouseEnter={UiShowHideManager.handleWidgetMouseEnter}\n onResize={this.props.isInStagePanel ? undefined : this._handleOnWidgetResize}\n ref={this._widgetStack}\n style={this.props.style}\n tabs={<WidgetStackTabs\n activeTabIndex={this.props.activeTabIndex}\n draggedWidget={this.props.draggedWidget}\n horizontalAnchor={this.props.horizontalAnchor}\n isCollapsed={this.props.isCollapsed}\n isProtruding={!this.props.isInStagePanel}\n onTabClick={this._handleTabClick}\n onTabDrag={this._handleTabDrag}\n onTabDragEnd={this._handleTabDragEnd}\n onTabDragStart={this._handleTabDragStart}\n openWidgetId={this.props.openWidgetId}\n verticalAnchor={this.props.verticalAnchor}\n widgets={this.props.widgets}\n widgetTabs={this.props.widgetTabs}\n />}\n verticalAnchor={this.props.verticalAnchor}\n />\n );\n }\n\n private _handleOnWidgetResize = (resizeBy: number, handle: ResizeHandle, filledHeightDiff: number) => {\n this.props.widgetChangeHandler.handleResize(this.props.widgets[0], resizeBy, handle, filledHeightDiff);\n };\n\n private _handleTabDragStart = (widgetId: WidgetZoneId, tabIndex: number, initialPosition: PointProps, firstTabBounds: RectangleProps) => {\n if (!this._widgetStack.current)\n return;\n\n const tabBounds = Rectangle.create(firstTabBounds);\n const stackedWidgetBounds = Rectangle.create(this._widgetStack.current.getBounds());\n const offsetToFirstTab = stackedWidgetBounds.topLeft().getOffsetTo(tabBounds.topLeft());\n const isHorizontal = this.props.verticalAnchor === VerticalAnchor.BottomPanel || this.props.verticalAnchor === VerticalAnchor.TopPanel;\n let widgetBounds;\n if (isHorizontal)\n widgetBounds = stackedWidgetBounds.offsetX(offsetToFirstTab.x);\n else\n widgetBounds = stackedWidgetBounds.offsetY(offsetToFirstTab.y);\n\n this.props.widgetChangeHandler.handleTabDragStart(widgetId, tabIndex, initialPosition, widgetBounds);\n };\n\n private _handleTabDragEnd = () => {\n this.props.widgetChangeHandler.handleTabDragEnd();\n };\n\n private _handleTabClick = (widgetId: WidgetZoneId, tabIndex: number) => {\n this.props.widgetChangeHandler.handleTabClick(widgetId, tabIndex);\n };\n\n private _handleTabDrag = (dragged: PointProps) => {\n this.props.widgetChangeHandler.handleTabDrag(dragged);\n };\n}\n\n/** Properties for the [[WidgetStackTabs]] component.\n * @internal\n */\nexport interface WidgetStackTabsProps {\n activeTabIndex: number;\n draggedWidget: DraggedWidgetManagerProps | undefined;\n horizontalAnchor: HorizontalAnchor;\n isCollapsed: boolean;\n isProtruding: boolean;\n onTabClick: (widgetId: WidgetZoneId, tabIndex: number) => void;\n onTabDrag: (dragged: PointProps) => void;\n onTabDragEnd: () => void;\n onTabDragStart: (widgetId: WidgetZoneId, tabIndex: number, initialPosition: PointProps, firstTabBounds: RectangleProps) => void;\n openWidgetId: WidgetZoneId | undefined;\n verticalAnchor: VerticalAnchor;\n widgets: ReadonlyArray<WidgetZoneId>;\n widgetTabs: WidgetTabs;\n}\n\n/** Tabs of [[WidgetStack]] component.\n * @internal\n */\nexport class WidgetStackTabs extends React.PureComponent<WidgetStackTabsProps> {\n public override render(): React.ReactNode {\n let renderIndex = -1;\n return this.props.widgets.map((widgetId) => {\n const tabs = this.props.widgetTabs[widgetId];\n if (tabs.length <= 0)\n return null;\n renderIndex++;\n // istanbul ignore next\n return (\n <React.Fragment key={widgetId}>\n {renderIndex < 1 ? undefined : <TabSeparator\n isHorizontal={VerticalAnchorHelpers.isHorizontal(this.props.verticalAnchor)}\n />}\n <WidgetStackTabGroup\n activeTabIndex={this.props.activeTabIndex}\n draggedWidget={this.props.draggedWidget}\n horizontalAnchor={this.props.horizontalAnchor}\n isCollapsed={this.props.isCollapsed}\n isProtruding={this.props.isProtruding}\n isStacked={this.props.widgets.length > 1}\n onTabClick={this.props.onTabClick}\n onTabDrag={this.props.onTabDrag}\n onTabDragEnd={this.props.onTabDragEnd}\n onTabDragStart={this.props.onTabDragStart}\n openWidgetId={this.props.openWidgetId}\n tabs={tabs}\n verticalAnchor={this.props.verticalAnchor}\n widgetId={widgetId}\n />\n </React.Fragment>\n );\n });\n }\n}\n\n/** Properties for the [[WidgetStackTabGroup]] component.\n * @internal\n */\nexport interface WidgetStackTabGroupProps {\n activeTabIndex: number;\n draggedWidget: DraggedWidgetManagerProps | undefined;\n horizontalAnchor: HorizontalAnchor;\n isCollapsed: boolean;\n isProtruding: boolean;\n isStacked: boolean;\n onTabClick: (widgetId: WidgetZoneId, tabIndex: number) => void;\n onTabDrag: (dragged: PointProps) => void;\n onTabDragEnd: () => void;\n onTabDragStart: (widgetId: WidgetZoneId, tabIndex: number, initialPosition: PointProps, firstTabBounds: RectangleProps) => void;\n openWidgetId: WidgetZoneId | undefined;\n tabs: ReadonlyArray<WidgetTab>;\n verticalAnchor: VerticalAnchor;\n widgetId: WidgetZoneId;\n}\n\n/** Widget tab group used in [[WidgetStackTabs]] component.\n * @internal\n */\nexport class WidgetStackTabGroup extends React.PureComponent<WidgetStackTabGroupProps> {\n private _firstTab = React.createRef<Tab>();\n\n public override render(): React.ReactNode {\n const lastPosition = this.props.draggedWidget ? this.props.draggedWidget.lastPosition : undefined;\n const isWidgetStackOpen = !!this.props.openWidgetId;\n const isWidgetOpen = this.props.openWidgetId === this.props.widgetId;\n const tabs = this.props.tabs.map((tab, index) => {\n const mode = !isWidgetStackOpen ? TabMode.Closed : isWidgetOpen && this.props.activeTabIndex === index ? TabMode.Active : TabMode.Open;\n return (\n <WidgetStackTab\n horizontalAnchor={this.props.horizontalAnchor}\n iconSpec={tab.iconSpec}\n index={index}\n badgeType={tab.badgeType}\n isCollapsed={this.props.isCollapsed}\n isProtruding={this.props.isProtruding}\n key={`${this.props.widgetId}-${index}`}\n lastPosition={lastPosition}\n mode={mode}\n onClick={this._handleTabClick}\n onDrag={this.props.onTabDrag}\n onDragEnd={this.props.onTabDragEnd}\n onDragStart={this._handleTabDragStart}\n tabRef={index === 0 ? this._firstTab : undefined}\n title={tab.title}\n verticalAnchor={this.props.verticalAnchor}\n />\n );\n });\n\n if (tabs.length > 1) {\n return (\n <TabGroup\n handle={this.getTabHandleMode()}\n horizontalAnchor={this.props.horizontalAnchor}\n isCollapsed={this.props.isCollapsed}\n verticalAnchor={this.props.verticalAnchor}\n >\n {tabs}\n </TabGroup>\n );\n }\n\n return tabs;\n }\n\n private getTabHandleMode() {\n if (this.props.draggedWidget && this.props.draggedWidget.id === this.props.widgetId && this.props.draggedWidget.isUnmerge)\n return HandleMode.Visible;\n\n if (this.props.isStacked)\n return HandleMode.Hovered;\n\n return HandleMode.Timedout;\n }\n\n private _handleTabDragStart = (tabIndex: number, initialPosition: PointProps) => {\n if (!this._firstTab.current)\n return;\n\n const firstTabBounds = Rectangle.create(this._firstTab.current.getBounds()).toProps();\n this.props.onTabDragStart(this.props.widgetId, tabIndex, initialPosition, firstTabBounds);\n };\n\n private _handleTabClick = (tabIndex: number) => {\n this.props.onTabClick(this.props.widgetId, tabIndex);\n };\n}\n\n/** Properties for the [[WidgetStackTab]] component.\n * @internal\n */\nexport interface WidgetStackTabProps {\n horizontalAnchor: HorizontalAnchor;\n iconSpec?: string | ConditionalStringValue | React.ReactNode;\n index: number;\n badgeType?: BadgeType;\n isCollapsed: boolean;\n isProtruding: boolean;\n lastPosition: PointProps | undefined;\n mode: TabMode;\n onClick: (index: number) => void;\n onDrag: (dragged: PointProps) => void;\n onDragEnd: () => void;\n onDragStart: (index: number, initialPosition: PointProps) => void;\n tabRef?: React.Ref<Tab>;\n title: string;\n verticalAnchor: VerticalAnchor;\n}\n\n/** Tab used in [[WidgetStackTabGroup]] component.\n * @internal\n */\nexport class WidgetStackTab extends React.PureComponent<WidgetStackTabProps> {\n public override render(): React.ReactNode {\n return (\n <Tab\n badge={BadgeUtilities.getComponentForBadgeType(this.props.badgeType)}\n horizontalAnchor={this.props.horizontalAnchor}\n isCollapsed={this.props.isCollapsed}\n isProtruding={this.props.isProtruding}\n lastPosition={this.props.lastPosition}\n mode={this.props.mode}\n onClick={this._handleClick}\n onDrag={this.props.onDrag}\n onDragEnd={this.props.onDragEnd}\n onDragStart={this._handleDragStart}\n ref={this.props.tabRef}\n title={this.props.title}\n verticalAnchor={this.props.verticalAnchor}\n >\n {IconHelper.getIconReactNode(this.props.iconSpec)}\n </Tab>\n );\n }\n\n private _handleDragStart = (initialPosition: PointProps) => {\n this.props.onDragStart(this.props.index, initialPosition);\n };\n\n private _handleClick = () => {\n this.props.onClick(this.props.index);\n };\n}\n"]}
|
|
1
|
+
{"version":3,"file":"WidgetStack.js","sourceRoot":"","sources":["../../../../src/appui-react/widgets/WidgetStack.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 Widget\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { BadgeType, ConditionalStringValue, PointProps } from \"@itwin/appui-abstract\";\r\nimport { BadgeUtilities, CommonProps, IconHelper, Rectangle, RectangleProps } from \"@itwin/core-react\";\r\nimport {\r\n DisabledResizeHandles, DraggedWidgetManagerProps, HandleMode, HorizontalAnchor, Stacked as NZ_WidgetStack, ResizeHandle, Tab, TabGroup, TabMode,\r\n TabSeparator, VerticalAnchor, VerticalAnchorHelpers, WidgetZoneId,\r\n} from \"@itwin/appui-layout-react\";\r\nimport { WidgetChangeHandler } from \"../frontstage/FrontstageComposer\";\r\nimport { UiShowHideManager } from \"../utils/UiShowHideManager\";\r\n\r\n// cSpell:ignore Timedout\r\n\r\n/** Properties for a [[WidgetStack]] Tab.\r\n * @internal\r\n */\r\nexport interface WidgetTab {\r\n readonly iconSpec?: string | ConditionalStringValue | React.ReactNode;\r\n readonly title: string;\r\n readonly badgeType?: BadgeType;\r\n}\r\n\r\n/** Properties for a Widget in a [[WidgetStack]].\r\n * @internal\r\n */\r\nexport type WidgetTabs = { readonly [id in WidgetZoneId]: ReadonlyArray<WidgetTab> };\r\n\r\n/** Properties for the [[WidgetStack]] React component.\r\n * @internal\r\n */\r\nexport interface WidgetStackProps extends CommonProps {\r\n activeTabIndex: number;\r\n disabledResizeHandles: DisabledResizeHandles | undefined;\r\n draggedWidget: DraggedWidgetManagerProps | undefined;\r\n fillZone: boolean;\r\n getWidgetContentRef: (id: WidgetZoneId) => React.Ref<HTMLDivElement>;\r\n horizontalAnchor: HorizontalAnchor;\r\n isCollapsed: boolean;\r\n isFloating: boolean;\r\n isInStagePanel: boolean;\r\n openWidgetId: WidgetZoneId | undefined;\r\n verticalAnchor: VerticalAnchor;\r\n widgetChangeHandler: WidgetChangeHandler;\r\n widgets: ReadonlyArray<WidgetZoneId>;\r\n widgetTabs: WidgetTabs;\r\n}\r\n\r\n/** Widget stack React component.\r\n * @internal\r\n */\r\nexport class WidgetStack extends React.PureComponent<WidgetStackProps> {\r\n private _widgetStack = React.createRef<NZ_WidgetStack>();\r\n\r\n public override render(): React.ReactNode {\r\n const tabCount = this.props.widgets.reduce((acc, widgetId) => {\r\n const tabs = this.props.widgetTabs[widgetId];\r\n return acc + tabs.length;\r\n }, 0);\r\n if (tabCount === 0)\r\n return null;\r\n return (\r\n <NZ_WidgetStack\r\n className={this.props.className}\r\n contentRef={this.props.openWidgetId ? this.props.getWidgetContentRef(this.props.openWidgetId) : undefined}\r\n disabledResizeHandles={this.props.disabledResizeHandles}\r\n fillZone={this.props.fillZone || this.props.isInStagePanel}\r\n horizontalAnchor={this.props.horizontalAnchor}\r\n isCollapsed={this.props.isCollapsed}\r\n isTabBarVisible={this.props.isInStagePanel}\r\n isDragged={!!this.props.draggedWidget}\r\n isFloating={this.props.isFloating}\r\n isOpen={!!this.props.openWidgetId}\r\n onMouseEnter={UiShowHideManager.handleWidgetMouseEnter}\r\n onResize={this.props.isInStagePanel ? undefined : this._handleOnWidgetResize}\r\n ref={this._widgetStack}\r\n style={this.props.style}\r\n tabs={<WidgetStackTabs\r\n activeTabIndex={this.props.activeTabIndex}\r\n draggedWidget={this.props.draggedWidget}\r\n horizontalAnchor={this.props.horizontalAnchor}\r\n isCollapsed={this.props.isCollapsed}\r\n isProtruding={!this.props.isInStagePanel}\r\n onTabClick={this._handleTabClick}\r\n onTabDrag={this._handleTabDrag}\r\n onTabDragEnd={this._handleTabDragEnd}\r\n onTabDragStart={this._handleTabDragStart}\r\n openWidgetId={this.props.openWidgetId}\r\n verticalAnchor={this.props.verticalAnchor}\r\n widgets={this.props.widgets}\r\n widgetTabs={this.props.widgetTabs}\r\n />}\r\n verticalAnchor={this.props.verticalAnchor}\r\n />\r\n );\r\n }\r\n\r\n private _handleOnWidgetResize = (resizeBy: number, handle: ResizeHandle, filledHeightDiff: number) => {\r\n this.props.widgetChangeHandler.handleResize(this.props.widgets[0], resizeBy, handle, filledHeightDiff);\r\n };\r\n\r\n private _handleTabDragStart = (widgetId: WidgetZoneId, tabIndex: number, initialPosition: PointProps, firstTabBounds: RectangleProps) => {\r\n if (!this._widgetStack.current)\r\n return;\r\n\r\n const tabBounds = Rectangle.create(firstTabBounds);\r\n const stackedWidgetBounds = Rectangle.create(this._widgetStack.current.getBounds());\r\n const offsetToFirstTab = stackedWidgetBounds.topLeft().getOffsetTo(tabBounds.topLeft());\r\n const isHorizontal = this.props.verticalAnchor === VerticalAnchor.BottomPanel || this.props.verticalAnchor === VerticalAnchor.TopPanel;\r\n let widgetBounds;\r\n if (isHorizontal)\r\n widgetBounds = stackedWidgetBounds.offsetX(offsetToFirstTab.x);\r\n else\r\n widgetBounds = stackedWidgetBounds.offsetY(offsetToFirstTab.y);\r\n\r\n this.props.widgetChangeHandler.handleTabDragStart(widgetId, tabIndex, initialPosition, widgetBounds);\r\n };\r\n\r\n private _handleTabDragEnd = () => {\r\n this.props.widgetChangeHandler.handleTabDragEnd();\r\n };\r\n\r\n private _handleTabClick = (widgetId: WidgetZoneId, tabIndex: number) => {\r\n this.props.widgetChangeHandler.handleTabClick(widgetId, tabIndex);\r\n };\r\n\r\n private _handleTabDrag = (dragged: PointProps) => {\r\n this.props.widgetChangeHandler.handleTabDrag(dragged);\r\n };\r\n}\r\n\r\n/** Properties for the [[WidgetStackTabs]] component.\r\n * @internal\r\n */\r\nexport interface WidgetStackTabsProps {\r\n activeTabIndex: number;\r\n draggedWidget: DraggedWidgetManagerProps | undefined;\r\n horizontalAnchor: HorizontalAnchor;\r\n isCollapsed: boolean;\r\n isProtruding: boolean;\r\n onTabClick: (widgetId: WidgetZoneId, tabIndex: number) => void;\r\n onTabDrag: (dragged: PointProps) => void;\r\n onTabDragEnd: () => void;\r\n onTabDragStart: (widgetId: WidgetZoneId, tabIndex: number, initialPosition: PointProps, firstTabBounds: RectangleProps) => void;\r\n openWidgetId: WidgetZoneId | undefined;\r\n verticalAnchor: VerticalAnchor;\r\n widgets: ReadonlyArray<WidgetZoneId>;\r\n widgetTabs: WidgetTabs;\r\n}\r\n\r\n/** Tabs of [[WidgetStack]] component.\r\n * @internal\r\n */\r\nexport class WidgetStackTabs extends React.PureComponent<WidgetStackTabsProps> {\r\n public override render(): React.ReactNode {\r\n let renderIndex = -1;\r\n return this.props.widgets.map((widgetId) => {\r\n const tabs = this.props.widgetTabs[widgetId];\r\n if (tabs.length <= 0)\r\n return null;\r\n renderIndex++;\r\n // istanbul ignore next\r\n return (\r\n <React.Fragment key={widgetId}>\r\n {renderIndex < 1 ? undefined : <TabSeparator\r\n isHorizontal={VerticalAnchorHelpers.isHorizontal(this.props.verticalAnchor)}\r\n />}\r\n <WidgetStackTabGroup\r\n activeTabIndex={this.props.activeTabIndex}\r\n draggedWidget={this.props.draggedWidget}\r\n horizontalAnchor={this.props.horizontalAnchor}\r\n isCollapsed={this.props.isCollapsed}\r\n isProtruding={this.props.isProtruding}\r\n isStacked={this.props.widgets.length > 1}\r\n onTabClick={this.props.onTabClick}\r\n onTabDrag={this.props.onTabDrag}\r\n onTabDragEnd={this.props.onTabDragEnd}\r\n onTabDragStart={this.props.onTabDragStart}\r\n openWidgetId={this.props.openWidgetId}\r\n tabs={tabs}\r\n verticalAnchor={this.props.verticalAnchor}\r\n widgetId={widgetId}\r\n />\r\n </React.Fragment>\r\n );\r\n });\r\n }\r\n}\r\n\r\n/** Properties for the [[WidgetStackTabGroup]] component.\r\n * @internal\r\n */\r\nexport interface WidgetStackTabGroupProps {\r\n activeTabIndex: number;\r\n draggedWidget: DraggedWidgetManagerProps | undefined;\r\n horizontalAnchor: HorizontalAnchor;\r\n isCollapsed: boolean;\r\n isProtruding: boolean;\r\n isStacked: boolean;\r\n onTabClick: (widgetId: WidgetZoneId, tabIndex: number) => void;\r\n onTabDrag: (dragged: PointProps) => void;\r\n onTabDragEnd: () => void;\r\n onTabDragStart: (widgetId: WidgetZoneId, tabIndex: number, initialPosition: PointProps, firstTabBounds: RectangleProps) => void;\r\n openWidgetId: WidgetZoneId | undefined;\r\n tabs: ReadonlyArray<WidgetTab>;\r\n verticalAnchor: VerticalAnchor;\r\n widgetId: WidgetZoneId;\r\n}\r\n\r\n/** Widget tab group used in [[WidgetStackTabs]] component.\r\n * @internal\r\n */\r\nexport class WidgetStackTabGroup extends React.PureComponent<WidgetStackTabGroupProps> {\r\n private _firstTab = React.createRef<Tab>();\r\n\r\n public override render(): React.ReactNode {\r\n const lastPosition = this.props.draggedWidget ? this.props.draggedWidget.lastPosition : undefined;\r\n const isWidgetStackOpen = !!this.props.openWidgetId;\r\n const isWidgetOpen = this.props.openWidgetId === this.props.widgetId;\r\n const tabs = this.props.tabs.map((tab, index) => {\r\n const mode = !isWidgetStackOpen ? TabMode.Closed : isWidgetOpen && this.props.activeTabIndex === index ? TabMode.Active : TabMode.Open;\r\n return (\r\n <WidgetStackTab\r\n horizontalAnchor={this.props.horizontalAnchor}\r\n iconSpec={tab.iconSpec}\r\n index={index}\r\n badgeType={tab.badgeType}\r\n isCollapsed={this.props.isCollapsed}\r\n isProtruding={this.props.isProtruding}\r\n key={`${this.props.widgetId}-${index}`}\r\n lastPosition={lastPosition}\r\n mode={mode}\r\n onClick={this._handleTabClick}\r\n onDrag={this.props.onTabDrag}\r\n onDragEnd={this.props.onTabDragEnd}\r\n onDragStart={this._handleTabDragStart}\r\n tabRef={index === 0 ? this._firstTab : undefined}\r\n title={tab.title}\r\n verticalAnchor={this.props.verticalAnchor}\r\n />\r\n );\r\n });\r\n\r\n if (tabs.length > 1) {\r\n return (\r\n <TabGroup\r\n handle={this.getTabHandleMode()}\r\n horizontalAnchor={this.props.horizontalAnchor}\r\n isCollapsed={this.props.isCollapsed}\r\n verticalAnchor={this.props.verticalAnchor}\r\n >\r\n {tabs}\r\n </TabGroup>\r\n );\r\n }\r\n\r\n return tabs;\r\n }\r\n\r\n private getTabHandleMode() {\r\n if (this.props.draggedWidget && this.props.draggedWidget.id === this.props.widgetId && this.props.draggedWidget.isUnmerge)\r\n return HandleMode.Visible;\r\n\r\n if (this.props.isStacked)\r\n return HandleMode.Hovered;\r\n\r\n return HandleMode.Timedout;\r\n }\r\n\r\n private _handleTabDragStart = (tabIndex: number, initialPosition: PointProps) => {\r\n if (!this._firstTab.current)\r\n return;\r\n\r\n const firstTabBounds = Rectangle.create(this._firstTab.current.getBounds()).toProps();\r\n this.props.onTabDragStart(this.props.widgetId, tabIndex, initialPosition, firstTabBounds);\r\n };\r\n\r\n private _handleTabClick = (tabIndex: number) => {\r\n this.props.onTabClick(this.props.widgetId, tabIndex);\r\n };\r\n}\r\n\r\n/** Properties for the [[WidgetStackTab]] component.\r\n * @internal\r\n */\r\nexport interface WidgetStackTabProps {\r\n horizontalAnchor: HorizontalAnchor;\r\n iconSpec?: string | ConditionalStringValue | React.ReactNode;\r\n index: number;\r\n badgeType?: BadgeType;\r\n isCollapsed: boolean;\r\n isProtruding: boolean;\r\n lastPosition: PointProps | undefined;\r\n mode: TabMode;\r\n onClick: (index: number) => void;\r\n onDrag: (dragged: PointProps) => void;\r\n onDragEnd: () => void;\r\n onDragStart: (index: number, initialPosition: PointProps) => void;\r\n tabRef?: React.Ref<Tab>;\r\n title: string;\r\n verticalAnchor: VerticalAnchor;\r\n}\r\n\r\n/** Tab used in [[WidgetStackTabGroup]] component.\r\n * @internal\r\n */\r\nexport class WidgetStackTab extends React.PureComponent<WidgetStackTabProps> {\r\n public override render(): React.ReactNode {\r\n return (\r\n <Tab\r\n badge={BadgeUtilities.getComponentForBadgeType(this.props.badgeType)}\r\n horizontalAnchor={this.props.horizontalAnchor}\r\n isCollapsed={this.props.isCollapsed}\r\n isProtruding={this.props.isProtruding}\r\n lastPosition={this.props.lastPosition}\r\n mode={this.props.mode}\r\n onClick={this._handleClick}\r\n onDrag={this.props.onDrag}\r\n onDragEnd={this.props.onDragEnd}\r\n onDragStart={this._handleDragStart}\r\n ref={this.props.tabRef}\r\n title={this.props.title}\r\n verticalAnchor={this.props.verticalAnchor}\r\n >\r\n {IconHelper.getIconReactNode(this.props.iconSpec)}\r\n </Tab>\r\n );\r\n }\r\n\r\n private _handleDragStart = (initialPosition: PointProps) => {\r\n this.props.onDragStart(this.props.index, initialPosition);\r\n };\r\n\r\n private _handleClick = () => {\r\n this.props.onClick(this.props.index);\r\n };\r\n}\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Task.js","sourceRoot":"","sources":["../../../../src/appui-react/workflow/Task.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,4CAA4C;AAE5C,uEAAoE;AACpE,uDAAoD;AAEpD,yCAA6C;AAmB7C;;;;;GAKG;AACH,MAAa,IAAK,SAAQ,yBAAW;IAInC,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,CAAC,CAAC;QAEjB,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;QAC3B,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC,cAAc,CAAC;IACjD,CAAC;IAED,IAAW,EAAE;QACX,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAoB,QAAQ;QAC1B,IAAI,QAAQ,GAAG,KAAK,CAAC;QAErB,IAAI,0BAAe,CAAC,cAAc,IAAI,0BAAe,CAAC,cAAc,CAAC,UAAU,KAAK,IAAI;YACtF,QAAQ,GAAG,IAAI,CAAC;QAElB,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,IAAoB,QAAQ,CAAC,CAAU;QACrC,2DAA2D;IAC7D,CAAC;IAEM,KAAK,CAAC,WAAW;QACtB,MAAM,UAAU,GAAG,MAAM,qCAAiB,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACjF,IAAI,UAAU;YACZ,MAAM,qCAAiB,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;IAC/D,CAAC;CACF;AAjCD,oBAiCC;AAED,gFAAgF;AAEhF;;;GAGG;AACH,MAAa,WAAW;IAGf,MAAM,CAAC,SAAS,CAAC,WAA0B;QAChD,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IAEM,MAAM,CAAC,YAAY,CAAC,QAAqB;QAC9C,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC/B,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,MAAM,CAAC,WAAW,CAAC,OAAkB;QAC1C,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/B,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACjC,CAAC;IAEM,MAAM,CAAC,QAAQ,CAAC,MAAc;QACnC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IAEM,MAAM,CAAC,OAAO,CAAC,MAAc,EAAE,IAAU;QAC9C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAChC,CAAC;;AAxBH,kCAyBC;AAxBgB,kBAAM,GAAsB,IAAI,GAAG,EAAgB,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module WorkflowTask\n */\n\n/* eslint-disable deprecation/deprecation */\n\nimport { FrontstageManager } from \"../frontstage/FrontstageManager\";\nimport { ItemDefBase } from \"../shared/ItemDefBase\";\nimport { ItemProps } from \"../shared/ItemProps\";\nimport { WorkflowManager } from \"./Workflow\";\n\n/** Properties for a [[Task]]\n * @internal\n * @deprecated\n */\nexport interface TaskProps extends ItemProps {\n id: string;\n primaryStageId: string;\n}\n\n/** List of Task Properties\n * @internal\n * @deprecated\n */\nexport interface TaskPropsList {\n tasks: TaskProps[];\n}\n\n/** Task class.\n * A Task is a specific piece of work to accomplish.\n * A Task refers to a Frontstage to activate.\n * @internal\n * @deprecated\n */\nexport class Task extends ItemDefBase {\n public taskId: string;\n public primaryStageId: string;\n\n constructor(taskProps: TaskProps) {\n super(taskProps);\n\n this.taskId = taskProps.id;\n this.primaryStageId = taskProps.primaryStageId;\n }\n\n public get id(): string {\n return this.taskId;\n }\n\n public override get isActive(): boolean {\n let isActive = false;\n\n if (WorkflowManager.activeWorkflow && WorkflowManager.activeWorkflow.activeTask === this)\n isActive = true;\n\n return isActive;\n }\n\n public override set isActive(_: boolean) {\n // do nothing - needed because subclassing from ItemDefBase\n }\n\n public async onActivated(): Promise<void> {\n const frontstage = await FrontstageManager.getFrontstageDef(this.primaryStageId);\n if (frontstage)\n await FrontstageManager.setActiveFrontstageDef(frontstage);\n }\n}\n\n// -----------------------------------------------------------------------------\n\n/** Task Manager class.\n * @internal\n * @deprecated\n */\nexport class TaskManager {\n private static _tasks: Map<string, Task> = new Map<string, Task>();\n\n public static loadTasks(taskListDef: TaskPropsList) {\n this.loadTaskDefs(taskListDef.tasks);\n }\n\n public static loadTaskDefs(taskDefs: TaskProps[]) {\n taskDefs.map((taskDef, _index) => {\n this.loadTaskDef(taskDef);\n });\n }\n\n public static loadTaskDef(taskDef: TaskProps) {\n const task = new Task(taskDef);\n this.addTask(taskDef.id, task);\n }\n\n public static findTask(taskId: string): Task | undefined {\n return this._tasks.get(taskId);\n }\n\n public static addTask(taskId: string, task: Task) {\n this._tasks.set(taskId, task);\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"Task.js","sourceRoot":"","sources":["../../../../src/appui-react/workflow/Task.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,4CAA4C;AAE5C,uEAAoE;AACpE,uDAAoD;AAEpD,yCAA6C;AAmB7C;;;;;GAKG;AACH,MAAa,IAAK,SAAQ,yBAAW;IAInC,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,CAAC,CAAC;QAEjB,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;QAC3B,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC,cAAc,CAAC;IACjD,CAAC;IAED,IAAW,EAAE;QACX,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAoB,QAAQ;QAC1B,IAAI,QAAQ,GAAG,KAAK,CAAC;QAErB,IAAI,0BAAe,CAAC,cAAc,IAAI,0BAAe,CAAC,cAAc,CAAC,UAAU,KAAK,IAAI;YACtF,QAAQ,GAAG,IAAI,CAAC;QAElB,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,IAAoB,QAAQ,CAAC,CAAU;QACrC,2DAA2D;IAC7D,CAAC;IAEM,KAAK,CAAC,WAAW;QACtB,MAAM,UAAU,GAAG,MAAM,qCAAiB,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACjF,IAAI,UAAU;YACZ,MAAM,qCAAiB,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;IAC/D,CAAC;CACF;AAjCD,oBAiCC;AAED,gFAAgF;AAEhF;;;GAGG;AACH,MAAa,WAAW;IAGf,MAAM,CAAC,SAAS,CAAC,WAA0B;QAChD,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IAEM,MAAM,CAAC,YAAY,CAAC,QAAqB;QAC9C,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC/B,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,MAAM,CAAC,WAAW,CAAC,OAAkB;QAC1C,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/B,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACjC,CAAC;IAEM,MAAM,CAAC,QAAQ,CAAC,MAAc;QACnC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IAEM,MAAM,CAAC,OAAO,CAAC,MAAc,EAAE,IAAU;QAC9C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAChC,CAAC;;AAxBH,kCAyBC;AAxBgB,kBAAM,GAAsB,IAAI,GAAG,EAAgB,CAAC","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 WorkflowTask\r\n */\r\n\r\n/* eslint-disable deprecation/deprecation */\r\n\r\nimport { FrontstageManager } from \"../frontstage/FrontstageManager\";\r\nimport { ItemDefBase } from \"../shared/ItemDefBase\";\r\nimport { ItemProps } from \"../shared/ItemProps\";\r\nimport { WorkflowManager } from \"./Workflow\";\r\n\r\n/** Properties for a [[Task]]\r\n * @internal\r\n * @deprecated\r\n */\r\nexport interface TaskProps extends ItemProps {\r\n id: string;\r\n primaryStageId: string;\r\n}\r\n\r\n/** List of Task Properties\r\n * @internal\r\n * @deprecated\r\n */\r\nexport interface TaskPropsList {\r\n tasks: TaskProps[];\r\n}\r\n\r\n/** Task class.\r\n * A Task is a specific piece of work to accomplish.\r\n * A Task refers to a Frontstage to activate.\r\n * @internal\r\n * @deprecated\r\n */\r\nexport class Task extends ItemDefBase {\r\n public taskId: string;\r\n public primaryStageId: string;\r\n\r\n constructor(taskProps: TaskProps) {\r\n super(taskProps);\r\n\r\n this.taskId = taskProps.id;\r\n this.primaryStageId = taskProps.primaryStageId;\r\n }\r\n\r\n public get id(): string {\r\n return this.taskId;\r\n }\r\n\r\n public override get isActive(): boolean {\r\n let isActive = false;\r\n\r\n if (WorkflowManager.activeWorkflow && WorkflowManager.activeWorkflow.activeTask === this)\r\n isActive = true;\r\n\r\n return isActive;\r\n }\r\n\r\n public override set isActive(_: boolean) {\r\n // do nothing - needed because subclassing from ItemDefBase\r\n }\r\n\r\n public async onActivated(): Promise<void> {\r\n const frontstage = await FrontstageManager.getFrontstageDef(this.primaryStageId);\r\n if (frontstage)\r\n await FrontstageManager.setActiveFrontstageDef(frontstage);\r\n }\r\n}\r\n\r\n// -----------------------------------------------------------------------------\r\n\r\n/** Task Manager class.\r\n * @internal\r\n * @deprecated\r\n */\r\nexport class TaskManager {\r\n private static _tasks: Map<string, Task> = new Map<string, Task>();\r\n\r\n public static loadTasks(taskListDef: TaskPropsList) {\r\n this.loadTaskDefs(taskListDef.tasks);\r\n }\r\n\r\n public static loadTaskDefs(taskDefs: TaskProps[]) {\r\n taskDefs.map((taskDef, _index) => {\r\n this.loadTaskDef(taskDef);\r\n });\r\n }\r\n\r\n public static loadTaskDef(taskDef: TaskProps) {\r\n const task = new Task(taskDef);\r\n this.addTask(taskDef.id, task);\r\n }\r\n\r\n public static findTask(taskId: string): Task | undefined {\r\n return this._tasks.get(taskId);\r\n }\r\n\r\n public static addTask(taskId: string, task: Task) {\r\n this._tasks.set(taskId, task);\r\n }\r\n}\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Workflow.js","sourceRoot":"","sources":["../../../../src/appui-react/workflow/Workflow.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 WorkflowTask\n */\n\n/* eslint-disable deprecation/deprecation */\n\nimport { Logger } from \"@itwin/core-bentley\";\nimport { UiEvent } from \"@itwin/core-react\";\nimport { ItemDefBase } from \"../shared/ItemDefBase\";\nimport { ItemProps } from \"../shared/ItemProps\";\nimport { UiFramework } from \"../UiFramework\";\nimport { Task, TaskManager } from \"./Task\";\n\n/** Properties for a [[Workflow]].\n * @internal\n * @deprecated\n */\nexport interface WorkflowProps extends ItemProps {\n id: string;\n defaultTaskId: string;\n tasks: string[];\n isDefault?: boolean;\n}\n\n/** Workflow Properties List definition.\n * @internal\n * @deprecated\n */\nexport interface WorkflowPropsList {\n defaultWorkflowId: string;\n workflows: WorkflowProps[];\n}\n\n/** Workflow class.\n * A Workflow is a defined sequence of tasks used to accomplish a goal.\n * @internal\n * @deprecated\n */\nexport class Workflow extends ItemDefBase {\n /** Id of the Workflow */\n public workflowId: string;\n /** Default Task Id */\n public defaultTaskId: string;\n /** Active Task Id */\n public activeTaskId: string | null = null;\n /** Indicates whether this Workflow is the default */\n public isDefault: boolean;\n\n private _taskIds: string[];\n private _tasks: Map<string, Task> = new Map<string, Task>();\n\n constructor(workflowDef: WorkflowProps) {\n super(workflowDef);\n\n this.workflowId = workflowDef.id;\n this.defaultTaskId = workflowDef.defaultTaskId;\n this._taskIds = workflowDef.tasks;\n this.isDefault = (workflowDef.isDefault !== undefined) ? workflowDef.isDefault : true;\n\n this._taskIds.map((taskId: string, _index: number) => {\n const task = TaskManager.findTask(taskId);\n // istanbul ignore else\n if (task)\n this._tasks.set(taskId, task);\n });\n }\n\n /** Gets the Id of the Workflow. */\n public get id(): string {\n return this.workflowId;\n }\n\n /** Gets the active Task. */\n public get activeTask(): Task | undefined {\n if (!this.activeTaskId)\n return undefined;\n\n return this._tasks.get(this.activeTaskId);\n }\n\n /** Gets a Task with a given Id.\n * @param taskId Id of the Task to get\n */\n public getTask(taskId: string): Task | undefined {\n return this._tasks.get(taskId);\n }\n\n /** Gets the last active Task. If no Task is active, it returns the default Task.\n */\n public get lastActiveTask(): Task | undefined {\n if (!this.activeTaskId) {\n return this.getTask(this.defaultTaskId);\n }\n\n return this.getTask(this.activeTaskId);\n }\n\n /** Determines if the Workflow is active.\n */\n public override get isActive(): boolean {\n let isActive = false;\n\n if (WorkflowManager.activeWorkflow === this)\n isActive = true;\n\n return isActive;\n }\n\n public override set isActive(_: boolean) {\n // do nothing - needed because subclassing from ItemDefBase\n }\n\n /** Sets a Task as active.\n * @param task The Task to set as active\n */\n public async setActiveTask(task: Task) {\n this.activeTaskId = task.taskId;\n await task.onActivated();\n WorkflowManager.onTaskActivatedEvent.emit({ task, taskId: task.id, workflow: this, workflowId: this.id });\n }\n\n /** Gets an array of sorted Tasks in the Workflow. */\n public getSortedTasks(): Task[] {\n const sortedTasks = new Array<Task>();\n\n for (const key of this._tasks.keys()) {\n const task: Task | undefined = this._tasks.get(key);\n // istanbul ignore else\n if (task && task.isVisible) // eslint-disable-line deprecation/deprecation\n sortedTasks.push(task);\n }\n\n sortedTasks.sort((a: Task, b: Task) => {\n return a.label.localeCompare(b.label);\n });\n\n return sortedTasks;\n }\n}\n\n/** Workflow Activated Event Args class.\n * @internal\n * @deprecated\n */\nexport interface WorkflowActivatedEventArgs {\n workflowId?: string;\n workflow?: Workflow;\n}\n\n/** Workflow Activated Event class.\n * @internal\n * @deprecated\n */\nexport class WorkflowActivatedEvent extends UiEvent<WorkflowActivatedEventArgs> { }\n\n/** Task Activated Event Args class.\n * @internal\n * @deprecated\n */\nexport interface TaskActivatedEventArgs {\n taskId?: string;\n task?: Task;\n\n workflowId: string;\n workflow: Workflow;\n}\n\n/** Task Activated Event class.\n * @internal\n * @deprecated\n */\nexport class TaskActivatedEvent extends UiEvent<TaskActivatedEventArgs> { }\n\n/** Workflow Manager class.\n * @internal\n * @deprecated\n */\nexport class WorkflowManager {\n private static _workflows: Map<string, Workflow> = new Map<string, Workflow>();\n private static _activeWorkflow: Workflow | undefined;\n private static _defaultWorkflowId: string;\n\n /** Get Workflow Activated event. */\n public static readonly onWorkflowActivatedEvent = new WorkflowActivatedEvent();\n /** Get Task Activated event. */\n public static readonly onTaskActivatedEvent = new TaskActivatedEvent();\n\n /** Loads one or more Workflows.\n * @param workflowPropsList the list of Workflows to load\n */\n public static loadWorkflows(workflowPropsList: WorkflowPropsList) {\n this.setDefaultWorkflowId(workflowPropsList.defaultWorkflowId);\n WorkflowManager.loadWorkflowDefs(workflowPropsList.workflows);\n }\n\n private static loadWorkflowDefs(workflowDefs: WorkflowProps[]) {\n workflowDefs.map((workflowProps: WorkflowProps) => {\n WorkflowManager.loadWorkflow(workflowProps);\n });\n }\n\n /** Loads a Workflow.\n * @param workflowProps Properties of the Workflow to load\n */\n public static loadWorkflow(workflowProps: WorkflowProps) {\n const workflow = new Workflow(workflowProps);\n WorkflowManager.addWorkflow(workflowProps.id, workflow);\n }\n\n /** Adds a Workflow.\n * @param workflowId Id of the Workflow to add\n * @param workflow The Workflow to add\n */\n public static addWorkflow(workflowId: string, workflow: Workflow) {\n this._workflows.set(workflowId, workflow);\n }\n\n /** Finds a Workflow with a given Id.\n * @param workflowId Id of the Workflow to find\n * @returns The Workflow if found, or undefined if not found\n */\n public static findWorkflow(workflowId: string): Workflow | undefined {\n return this._workflows.get(workflowId);\n }\n\n /** Sets the active Workflow\n * @param workflow The Workflow to set as active\n */\n public static setActiveWorkflow(workflow: Workflow | undefined): void {\n this._activeWorkflow = workflow;\n WorkflowManager.onWorkflowActivatedEvent.emit({ workflow, workflowId: workflow ? workflow.id : undefined });\n }\n\n /** Sets the active Workflow and Task\n * @param workflow The Workflow to set as active\n * @param task The Task to set as active\n */\n public static async setActiveWorkflowAndTask(workflow: Workflow, task: Task): Promise<void> {\n // istanbul ignore else\n if (!workflow.isActive)\n this.setActiveWorkflow(workflow);\n\n // istanbul ignore else\n if (!task.isActive)\n await workflow.setActiveTask(task);\n }\n\n /** Gets the active Workflow */\n public static get activeWorkflow(): Workflow | undefined {\n return this._activeWorkflow;\n }\n\n /** Gets the active Workflow id */\n public static get activeWorkflowId(): string {\n if (this._activeWorkflow !== undefined)\n return this._activeWorkflow.id;\n return \"\";\n }\n\n /** Gets the active Task */\n public static get activeTask(): Task | undefined {\n if (this._activeWorkflow !== undefined)\n return this._activeWorkflow.activeTask;\n return undefined;\n }\n\n /** Gets the active Task id */\n public static get activeTaskId(): string {\n if (this._activeWorkflow !== undefined) {\n // istanbul ignore else\n if (this._activeWorkflow.activeTask)\n return this._activeWorkflow.activeTask.id;\n }\n return \"\";\n }\n\n /** Gets the Id of the default Workflow */\n public static get defaultWorkflowId(): string {\n return this._defaultWorkflowId;\n }\n\n /** Sets the Id of the default Workflow */\n public static setDefaultWorkflowId(id: string): void {\n this._defaultWorkflowId = id;\n }\n\n /** Removes a Workflow\n * @param workflow The Workflow to remove\n */\n public static removeWorkflow(workflow: Workflow): boolean {\n const id = workflow.id;\n let result = false;\n\n if (this._workflows.get(id)) {\n this._workflows.delete(id);\n result = true;\n } else {\n Logger.logError(UiFramework.loggerCategory(this), `removeWorkflow: Workflow with id '${id}' not found`);\n result = false;\n }\n\n return result;\n }\n\n public static getSortedWorkflows(): Workflow[] {\n const sortedWorkflows = new Array<Workflow>();\n\n for (const key of this._workflows.keys()) {\n const workflow = this._workflows.get(key);\n // istanbul ignore else\n if (workflow)\n sortedWorkflows.push(workflow);\n }\n\n sortedWorkflows.sort((a: Workflow, b: Workflow) => {\n return a.label.localeCompare(b.label);\n });\n\n return sortedWorkflows;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"Workflow.js","sourceRoot":"","sources":["../../../../src/appui-react/workflow/Workflow.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 WorkflowTask\r\n */\r\n\r\n/* eslint-disable deprecation/deprecation */\r\n\r\nimport { Logger } from \"@itwin/core-bentley\";\r\nimport { UiEvent } from \"@itwin/core-react\";\r\nimport { ItemDefBase } from \"../shared/ItemDefBase\";\r\nimport { ItemProps } from \"../shared/ItemProps\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { Task, TaskManager } from \"./Task\";\r\n\r\n/** Properties for a [[Workflow]].\r\n * @internal\r\n * @deprecated\r\n */\r\nexport interface WorkflowProps extends ItemProps {\r\n id: string;\r\n defaultTaskId: string;\r\n tasks: string[];\r\n isDefault?: boolean;\r\n}\r\n\r\n/** Workflow Properties List definition.\r\n * @internal\r\n * @deprecated\r\n */\r\nexport interface WorkflowPropsList {\r\n defaultWorkflowId: string;\r\n workflows: WorkflowProps[];\r\n}\r\n\r\n/** Workflow class.\r\n * A Workflow is a defined sequence of tasks used to accomplish a goal.\r\n * @internal\r\n * @deprecated\r\n */\r\nexport class Workflow extends ItemDefBase {\r\n /** Id of the Workflow */\r\n public workflowId: string;\r\n /** Default Task Id */\r\n public defaultTaskId: string;\r\n /** Active Task Id */\r\n public activeTaskId: string | null = null;\r\n /** Indicates whether this Workflow is the default */\r\n public isDefault: boolean;\r\n\r\n private _taskIds: string[];\r\n private _tasks: Map<string, Task> = new Map<string, Task>();\r\n\r\n constructor(workflowDef: WorkflowProps) {\r\n super(workflowDef);\r\n\r\n this.workflowId = workflowDef.id;\r\n this.defaultTaskId = workflowDef.defaultTaskId;\r\n this._taskIds = workflowDef.tasks;\r\n this.isDefault = (workflowDef.isDefault !== undefined) ? workflowDef.isDefault : true;\r\n\r\n this._taskIds.map((taskId: string, _index: number) => {\r\n const task = TaskManager.findTask(taskId);\r\n // istanbul ignore else\r\n if (task)\r\n this._tasks.set(taskId, task);\r\n });\r\n }\r\n\r\n /** Gets the Id of the Workflow. */\r\n public get id(): string {\r\n return this.workflowId;\r\n }\r\n\r\n /** Gets the active Task. */\r\n public get activeTask(): Task | undefined {\r\n if (!this.activeTaskId)\r\n return undefined;\r\n\r\n return this._tasks.get(this.activeTaskId);\r\n }\r\n\r\n /** Gets a Task with a given Id.\r\n * @param taskId Id of the Task to get\r\n */\r\n public getTask(taskId: string): Task | undefined {\r\n return this._tasks.get(taskId);\r\n }\r\n\r\n /** Gets the last active Task. If no Task is active, it returns the default Task.\r\n */\r\n public get lastActiveTask(): Task | undefined {\r\n if (!this.activeTaskId) {\r\n return this.getTask(this.defaultTaskId);\r\n }\r\n\r\n return this.getTask(this.activeTaskId);\r\n }\r\n\r\n /** Determines if the Workflow is active.\r\n */\r\n public override get isActive(): boolean {\r\n let isActive = false;\r\n\r\n if (WorkflowManager.activeWorkflow === this)\r\n isActive = true;\r\n\r\n return isActive;\r\n }\r\n\r\n public override set isActive(_: boolean) {\r\n // do nothing - needed because subclassing from ItemDefBase\r\n }\r\n\r\n /** Sets a Task as active.\r\n * @param task The Task to set as active\r\n */\r\n public async setActiveTask(task: Task) {\r\n this.activeTaskId = task.taskId;\r\n await task.onActivated();\r\n WorkflowManager.onTaskActivatedEvent.emit({ task, taskId: task.id, workflow: this, workflowId: this.id });\r\n }\r\n\r\n /** Gets an array of sorted Tasks in the Workflow. */\r\n public getSortedTasks(): Task[] {\r\n const sortedTasks = new Array<Task>();\r\n\r\n for (const key of this._tasks.keys()) {\r\n const task: Task | undefined = this._tasks.get(key);\r\n // istanbul ignore else\r\n if (task && task.isVisible) // eslint-disable-line deprecation/deprecation\r\n sortedTasks.push(task);\r\n }\r\n\r\n sortedTasks.sort((a: Task, b: Task) => {\r\n return a.label.localeCompare(b.label);\r\n });\r\n\r\n return sortedTasks;\r\n }\r\n}\r\n\r\n/** Workflow Activated Event Args class.\r\n * @internal\r\n * @deprecated\r\n */\r\nexport interface WorkflowActivatedEventArgs {\r\n workflowId?: string;\r\n workflow?: Workflow;\r\n}\r\n\r\n/** Workflow Activated Event class.\r\n * @internal\r\n * @deprecated\r\n */\r\nexport class WorkflowActivatedEvent extends UiEvent<WorkflowActivatedEventArgs> { }\r\n\r\n/** Task Activated Event Args class.\r\n * @internal\r\n * @deprecated\r\n */\r\nexport interface TaskActivatedEventArgs {\r\n taskId?: string;\r\n task?: Task;\r\n\r\n workflowId: string;\r\n workflow: Workflow;\r\n}\r\n\r\n/** Task Activated Event class.\r\n * @internal\r\n * @deprecated\r\n */\r\nexport class TaskActivatedEvent extends UiEvent<TaskActivatedEventArgs> { }\r\n\r\n/** Workflow Manager class.\r\n * @internal\r\n * @deprecated\r\n */\r\nexport class WorkflowManager {\r\n private static _workflows: Map<string, Workflow> = new Map<string, Workflow>();\r\n private static _activeWorkflow: Workflow | undefined;\r\n private static _defaultWorkflowId: string;\r\n\r\n /** Get Workflow Activated event. */\r\n public static readonly onWorkflowActivatedEvent = new WorkflowActivatedEvent();\r\n /** Get Task Activated event. */\r\n public static readonly onTaskActivatedEvent = new TaskActivatedEvent();\r\n\r\n /** Loads one or more Workflows.\r\n * @param workflowPropsList the list of Workflows to load\r\n */\r\n public static loadWorkflows(workflowPropsList: WorkflowPropsList) {\r\n this.setDefaultWorkflowId(workflowPropsList.defaultWorkflowId);\r\n WorkflowManager.loadWorkflowDefs(workflowPropsList.workflows);\r\n }\r\n\r\n private static loadWorkflowDefs(workflowDefs: WorkflowProps[]) {\r\n workflowDefs.map((workflowProps: WorkflowProps) => {\r\n WorkflowManager.loadWorkflow(workflowProps);\r\n });\r\n }\r\n\r\n /** Loads a Workflow.\r\n * @param workflowProps Properties of the Workflow to load\r\n */\r\n public static loadWorkflow(workflowProps: WorkflowProps) {\r\n const workflow = new Workflow(workflowProps);\r\n WorkflowManager.addWorkflow(workflowProps.id, workflow);\r\n }\r\n\r\n /** Adds a Workflow.\r\n * @param workflowId Id of the Workflow to add\r\n * @param workflow The Workflow to add\r\n */\r\n public static addWorkflow(workflowId: string, workflow: Workflow) {\r\n this._workflows.set(workflowId, workflow);\r\n }\r\n\r\n /** Finds a Workflow with a given Id.\r\n * @param workflowId Id of the Workflow to find\r\n * @returns The Workflow if found, or undefined if not found\r\n */\r\n public static findWorkflow(workflowId: string): Workflow | undefined {\r\n return this._workflows.get(workflowId);\r\n }\r\n\r\n /** Sets the active Workflow\r\n * @param workflow The Workflow to set as active\r\n */\r\n public static setActiveWorkflow(workflow: Workflow | undefined): void {\r\n this._activeWorkflow = workflow;\r\n WorkflowManager.onWorkflowActivatedEvent.emit({ workflow, workflowId: workflow ? workflow.id : undefined });\r\n }\r\n\r\n /** Sets the active Workflow and Task\r\n * @param workflow The Workflow to set as active\r\n * @param task The Task to set as active\r\n */\r\n public static async setActiveWorkflowAndTask(workflow: Workflow, task: Task): Promise<void> {\r\n // istanbul ignore else\r\n if (!workflow.isActive)\r\n this.setActiveWorkflow(workflow);\r\n\r\n // istanbul ignore else\r\n if (!task.isActive)\r\n await workflow.setActiveTask(task);\r\n }\r\n\r\n /** Gets the active Workflow */\r\n public static get activeWorkflow(): Workflow | undefined {\r\n return this._activeWorkflow;\r\n }\r\n\r\n /** Gets the active Workflow id */\r\n public static get activeWorkflowId(): string {\r\n if (this._activeWorkflow !== undefined)\r\n return this._activeWorkflow.id;\r\n return \"\";\r\n }\r\n\r\n /** Gets the active Task */\r\n public static get activeTask(): Task | undefined {\r\n if (this._activeWorkflow !== undefined)\r\n return this._activeWorkflow.activeTask;\r\n return undefined;\r\n }\r\n\r\n /** Gets the active Task id */\r\n public static get activeTaskId(): string {\r\n if (this._activeWorkflow !== undefined) {\r\n // istanbul ignore else\r\n if (this._activeWorkflow.activeTask)\r\n return this._activeWorkflow.activeTask.id;\r\n }\r\n return \"\";\r\n }\r\n\r\n /** Gets the Id of the default Workflow */\r\n public static get defaultWorkflowId(): string {\r\n return this._defaultWorkflowId;\r\n }\r\n\r\n /** Sets the Id of the default Workflow */\r\n public static setDefaultWorkflowId(id: string): void {\r\n this._defaultWorkflowId = id;\r\n }\r\n\r\n /** Removes a Workflow\r\n * @param workflow The Workflow to remove\r\n */\r\n public static removeWorkflow(workflow: Workflow): boolean {\r\n const id = workflow.id;\r\n let result = false;\r\n\r\n if (this._workflows.get(id)) {\r\n this._workflows.delete(id);\r\n result = true;\r\n } else {\r\n Logger.logError(UiFramework.loggerCategory(this), `removeWorkflow: Workflow with id '${id}' not found`);\r\n result = false;\r\n }\r\n\r\n return result;\r\n }\r\n\r\n public static getSortedWorkflows(): Workflow[] {\r\n const sortedWorkflows = new Array<Workflow>();\r\n\r\n for (const key of this._workflows.keys()) {\r\n const workflow = this._workflows.get(key);\r\n // istanbul ignore else\r\n if (workflow)\r\n sortedWorkflows.push(workflow);\r\n }\r\n\r\n sortedWorkflows.sort((a: Workflow, b: Workflow) => {\r\n return a.label.localeCompare(b.label);\r\n });\r\n\r\n return sortedWorkflows;\r\n }\r\n}\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FrameworkZone.js","sourceRoot":"","sources":["../../../../src/appui-react/zones/FrameworkZone.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 Zone\n */\n\nimport * as React from \"react\";\nimport { CommonProps, RectangleProps } from \"@itwin/core-react\";\nimport {\n DisabledResizeHandles, DraggedWidgetManagerProps, Zone as NZ_Zone, WidgetManagerProps, WidgetZoneId, ZoneManagerProps, ZoneTargetType,\n} from \"@itwin/appui-layout-react\";\nimport { TargetChangeHandler, WidgetChangeHandler } from \"../frontstage/FrontstageComposer\";\nimport { SafeAreaContext } from \"../safearea/SafeAreaContext\";\nimport { WidgetStack, WidgetTabs } from \"../widgets/WidgetStack\";\nimport { Outline } from \"./Outline\";\nimport { ZoneTargets } from \"../dragdrop/ZoneTargets\";\n\n/** Properties for the [[FrameworkZone]] component.\n * @internal\n */\nexport interface FrameworkZoneProps extends CommonProps {\n activeTabIndex: number;\n disabledResizeHandles: DisabledResizeHandles | undefined;\n draggedWidget: DraggedWidgetManagerProps | undefined;\n dropTarget: ZoneTargetType | undefined;\n fillZone?: boolean;\n getWidgetContentRef: (id: WidgetZoneId) => React.Ref<HTMLDivElement>;\n isHidden: boolean;\n isInFooterMode: boolean;\n openWidgetId: WidgetZoneId | undefined;\n targetChangeHandler: TargetChangeHandler;\n targetedBounds?: RectangleProps;\n widget: WidgetManagerProps | undefined;\n widgetElement: React.ReactNode;\n widgetChangeHandler: WidgetChangeHandler;\n widgetTabs: WidgetTabs;\n zone: ZoneManagerProps;\n}\n\n/** FrameworkZone React component.\n * @internal\n */\nexport class FrameworkZone extends React.PureComponent<FrameworkZoneProps> {\n public override render(): React.ReactNode {\n const zIndexStyle = getFloatingZoneStyle(this.props.zone);\n const floatingBounds = getFloatingZoneBounds(this.props.zone);\n return (\n <SafeAreaContext.Consumer>\n {(safeAreaInsets) => (\n <span style={zIndexStyle}>\n <NZ_Zone\n bounds={floatingBounds}\n className={this.props.className}\n style={this.props.style}\n isFloating={!!this.props.zone.floating}\n isHidden={this.props.isHidden}\n isInFooterMode={this.props.isInFooterMode}\n id={this.props.zone.id}\n safeAreaInsets={safeAreaInsets}\n >\n {this._getWidget()}\n </NZ_Zone>\n <NZ_Zone\n bounds={this.props.zone.bounds}\n id={this.props.zone.id}\n isInFooterMode={this.props.isInFooterMode}\n safeAreaInsets={safeAreaInsets}\n >\n <ZoneTargets\n zoneId={this.props.zone.id}\n dropTarget={this.props.dropTarget}\n targetChangeHandler={this.props.targetChangeHandler}\n />\n </NZ_Zone>\n <Outline bounds={this.props.targetedBounds} />\n </span>\n )}\n </SafeAreaContext.Consumer>\n );\n }\n\n private _getWidget() {\n const widget = this.props.widget;\n if (!widget)\n return null;\n\n if (this.props.widgetElement !== undefined)\n return this.props.widgetElement;\n\n return (\n <WidgetStack\n activeTabIndex={this.props.activeTabIndex}\n disabledResizeHandles={this.props.disabledResizeHandles}\n draggedWidget={this.props.draggedWidget}\n fillZone={this.props.fillZone || this.props.zone.isLayoutChanged}\n getWidgetContentRef={this.props.getWidgetContentRef}\n horizontalAnchor={widget.horizontalAnchor}\n isCollapsed={false}\n isFloating={!!this.props.zone.floating}\n isInStagePanel={false}\n openWidgetId={this.props.openWidgetId}\n verticalAnchor={widget.verticalAnchor}\n widgets={this.props.zone.widgets}\n widgetTabs={this.props.widgetTabs}\n widgetChangeHandler={this.props.widgetChangeHandler}\n />\n );\n }\n}\n\n/** @internal */\nexport const getFloatingZoneBounds = (props: ZoneManagerProps) => {\n return props.floating ? props.floating.bounds : props.bounds;\n};\n\n/** @internal */\nexport const getFloatingZoneStyle = (props: ZoneManagerProps) => {\n return props.floating ? {\n zIndex: props.floating.stackId,\n position: \"relative\" as const,\n } : undefined;\n};\n"]}
|
|
1
|
+
{"version":3,"file":"FrameworkZone.js","sourceRoot":"","sources":["../../../../src/appui-react/zones/FrameworkZone.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 Zone\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { CommonProps, RectangleProps } from \"@itwin/core-react\";\r\nimport {\r\n DisabledResizeHandles, DraggedWidgetManagerProps, Zone as NZ_Zone, WidgetManagerProps, WidgetZoneId, ZoneManagerProps, ZoneTargetType,\r\n} from \"@itwin/appui-layout-react\";\r\nimport { TargetChangeHandler, WidgetChangeHandler } from \"../frontstage/FrontstageComposer\";\r\nimport { SafeAreaContext } from \"../safearea/SafeAreaContext\";\r\nimport { WidgetStack, WidgetTabs } from \"../widgets/WidgetStack\";\r\nimport { Outline } from \"./Outline\";\r\nimport { ZoneTargets } from \"../dragdrop/ZoneTargets\";\r\n\r\n/** Properties for the [[FrameworkZone]] component.\r\n * @internal\r\n */\r\nexport interface FrameworkZoneProps extends CommonProps {\r\n activeTabIndex: number;\r\n disabledResizeHandles: DisabledResizeHandles | undefined;\r\n draggedWidget: DraggedWidgetManagerProps | undefined;\r\n dropTarget: ZoneTargetType | undefined;\r\n fillZone?: boolean;\r\n getWidgetContentRef: (id: WidgetZoneId) => React.Ref<HTMLDivElement>;\r\n isHidden: boolean;\r\n isInFooterMode: boolean;\r\n openWidgetId: WidgetZoneId | undefined;\r\n targetChangeHandler: TargetChangeHandler;\r\n targetedBounds?: RectangleProps;\r\n widget: WidgetManagerProps | undefined;\r\n widgetElement: React.ReactNode;\r\n widgetChangeHandler: WidgetChangeHandler;\r\n widgetTabs: WidgetTabs;\r\n zone: ZoneManagerProps;\r\n}\r\n\r\n/** FrameworkZone React component.\r\n * @internal\r\n */\r\nexport class FrameworkZone extends React.PureComponent<FrameworkZoneProps> {\r\n public override render(): React.ReactNode {\r\n const zIndexStyle = getFloatingZoneStyle(this.props.zone);\r\n const floatingBounds = getFloatingZoneBounds(this.props.zone);\r\n return (\r\n <SafeAreaContext.Consumer>\r\n {(safeAreaInsets) => (\r\n <span style={zIndexStyle}>\r\n <NZ_Zone\r\n bounds={floatingBounds}\r\n className={this.props.className}\r\n style={this.props.style}\r\n isFloating={!!this.props.zone.floating}\r\n isHidden={this.props.isHidden}\r\n isInFooterMode={this.props.isInFooterMode}\r\n id={this.props.zone.id}\r\n safeAreaInsets={safeAreaInsets}\r\n >\r\n {this._getWidget()}\r\n </NZ_Zone>\r\n <NZ_Zone\r\n bounds={this.props.zone.bounds}\r\n id={this.props.zone.id}\r\n isInFooterMode={this.props.isInFooterMode}\r\n safeAreaInsets={safeAreaInsets}\r\n >\r\n <ZoneTargets\r\n zoneId={this.props.zone.id}\r\n dropTarget={this.props.dropTarget}\r\n targetChangeHandler={this.props.targetChangeHandler}\r\n />\r\n </NZ_Zone>\r\n <Outline bounds={this.props.targetedBounds} />\r\n </span>\r\n )}\r\n </SafeAreaContext.Consumer>\r\n );\r\n }\r\n\r\n private _getWidget() {\r\n const widget = this.props.widget;\r\n if (!widget)\r\n return null;\r\n\r\n if (this.props.widgetElement !== undefined)\r\n return this.props.widgetElement;\r\n\r\n return (\r\n <WidgetStack\r\n activeTabIndex={this.props.activeTabIndex}\r\n disabledResizeHandles={this.props.disabledResizeHandles}\r\n draggedWidget={this.props.draggedWidget}\r\n fillZone={this.props.fillZone || this.props.zone.isLayoutChanged}\r\n getWidgetContentRef={this.props.getWidgetContentRef}\r\n horizontalAnchor={widget.horizontalAnchor}\r\n isCollapsed={false}\r\n isFloating={!!this.props.zone.floating}\r\n isInStagePanel={false}\r\n openWidgetId={this.props.openWidgetId}\r\n verticalAnchor={widget.verticalAnchor}\r\n widgets={this.props.zone.widgets}\r\n widgetTabs={this.props.widgetTabs}\r\n widgetChangeHandler={this.props.widgetChangeHandler}\r\n />\r\n );\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport const getFloatingZoneBounds = (props: ZoneManagerProps) => {\r\n return props.floating ? props.floating.bounds : props.bounds;\r\n};\r\n\r\n/** @internal */\r\nexport const getFloatingZoneStyle = (props: ZoneManagerProps) => {\r\n return props.floating ? {\r\n zIndex: props.floating.stackId,\r\n position: \"relative\" as const,\r\n } : undefined;\r\n};\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Outline.js","sourceRoot":"","sources":["../../../../src/appui-react/zones/Outline.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,+BAA+B;AAE/B,kEAAkE;AAOlE,gBAAgB;AAChB,MAAa,OAAQ,SAAQ,KAAK,CAAC,aAA2B;IAC5C,MAAM;QACpB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM;YACpB,OAAO,IAAI,CAAC;QACd,OAAO,CACL,oBAAC,4BAAU,IAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAI,CAC1C,CAAC;IACJ,CAAC;CACF;AARD,0BAQC","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 Zone\n */\n\nimport * as React from \"react\";\nimport { RectangleProps } from \"@itwin/core-react\";\nimport { Outline as NZ_Outline } from \"@itwin/appui-layout-react\";\n\n/** @internal */\nexport interface OutlineProps {\n bounds?: RectangleProps;\n}\n\n/** @internal */\nexport class Outline extends React.PureComponent<OutlineProps> {\n public override render(): React.ReactNode {\n if (!this.props.bounds)\n return null;\n return (\n <NZ_Outline bounds={this.props.bounds} />\n );\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"Outline.js","sourceRoot":"","sources":["../../../../src/appui-react/zones/Outline.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,+BAA+B;AAE/B,kEAAkE;AAOlE,gBAAgB;AAChB,MAAa,OAAQ,SAAQ,KAAK,CAAC,aAA2B;IAC5C,MAAM;QACpB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM;YACpB,OAAO,IAAI,CAAC;QACd,OAAO,CACL,oBAAC,4BAAU,IAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAI,CAC1C,CAAC;IACJ,CAAC;CACF;AARD,0BAQC","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 Zone\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { RectangleProps } from \"@itwin/core-react\";\r\nimport { Outline as NZ_Outline } from \"@itwin/appui-layout-react\";\r\n\r\n/** @internal */\r\nexport interface OutlineProps {\r\n bounds?: RectangleProps;\r\n}\r\n\r\n/** @internal */\r\nexport class Outline extends React.PureComponent<OutlineProps> {\r\n public override render(): React.ReactNode {\r\n if (!this.props.bounds)\r\n return null;\r\n return (\r\n <NZ_Outline bounds={this.props.bounds} />\r\n );\r\n }\r\n}\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StatusBarZone.js","sourceRoot":"","sources":["../../../../src/appui-react/zones/StatusBarZone.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,+BAA+B;AAE/B,kEAAmF;AAEnF,iEAA8D;AAC9D,sDAAmD;AAEnD,mDAAwD;AACxD,uCAAoC;AACpC,yDAAsD;AAkBtD;;GAEG;AACH,MAAa,aAAc,SAAQ,KAAK,CAAC,aAAiC;IACxD,MAAM;QACpB,MAAM,MAAM,GAAG,IAAA,qCAAqB,EAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC3D,OAAO,CACL,oBAAC,iCAAe,CAAC,QAAQ,QACtB,CAAC,cAAc,EAAE,EAAE,CAAC,CACnB;YACE,oBAAC,yBAAI,IACH,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,EACtD,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAC/B,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,EAC3B,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAC7B,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,EACzC,cAAc,EAAE,cAAc,IAG5B,IAAI,CAAC,KAAK,CAAC,aAAa;gBACxB,oBAAC,qBAAS,IACR,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,EACzC,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,GACvC,CAEC;YACP,oBAAC,yBAAI,IACH,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,EACnC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,EAC3B,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,EACzC,cAAc,EAAE,cAAc;gBAE9B,oBAAC,yBAAW,IACV,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,EAC/B,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,EACjC,mBAAmB,EAAE,IAAI,CAAC,KAAK,CAAC,mBAAmB,GACnD,CACG;YACP,oBAAC,iBAAO,IAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,GAAI,CAC7C,CACJ,CACwB,CAC5B,CAAC;IACJ,CAAC;CACF;AAzCD,sCAyCC","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 StatusBar\n */\n\nimport * as React from \"react\";\nimport { CommonProps, RectangleProps } from \"@itwin/core-react\";\nimport { Zone, ZoneManagerProps, ZoneTargetType } from \"@itwin/appui-layout-react\";\nimport { TargetChangeHandler, WidgetChangeHandler } from \"../frontstage/FrontstageComposer\";\nimport { SafeAreaContext } from \"../safearea/SafeAreaContext\";\nimport { StatusBar } from \"../statusbar/StatusBar\";\nimport { StatusBarWidgetControl } from \"../statusbar/StatusBarWidgetControl\";\nimport { getFloatingZoneBounds } from \"./FrameworkZone\";\nimport { Outline } from \"./Outline\";\nimport { ZoneTargets } from \"../dragdrop/ZoneTargets\";\n\n// cspell:ignore safearea\n\n/** Properties for the [[StatusBarZone]] component\n * @internal\n */\nexport interface StatusBarZoneProps extends CommonProps {\n dropTarget: ZoneTargetType | undefined;\n isHidden: boolean;\n isInFooterMode: boolean;\n targetChangeHandler: TargetChangeHandler;\n targetedBounds: RectangleProps | undefined;\n widgetChangeHandler: WidgetChangeHandler;\n widgetControl?: StatusBarWidgetControl;\n zoneProps: ZoneManagerProps;\n}\n\n/** Status Bar Zone React component.\n * @internal\n */\nexport class StatusBarZone extends React.PureComponent<StatusBarZoneProps> {\n public override render(): React.ReactNode {\n const bounds = getFloatingZoneBounds(this.props.zoneProps);\n return (\n <SafeAreaContext.Consumer>\n {(safeAreaInsets) => (\n <>\n <Zone\n bounds={this.props.isInFooterMode ? undefined : bounds}\n className={this.props.className}\n id={this.props.zoneProps.id}\n isHidden={this.props.isHidden}\n isInFooterMode={this.props.isInFooterMode}\n safeAreaInsets={safeAreaInsets}\n >\n {\n this.props.widgetControl &&\n <StatusBar\n isInFooterMode={this.props.isInFooterMode}\n widgetControl={this.props.widgetControl}\n />\n }\n </Zone>\n <Zone\n bounds={this.props.zoneProps.bounds}\n id={this.props.zoneProps.id}\n isInFooterMode={this.props.isInFooterMode}\n safeAreaInsets={safeAreaInsets}\n >\n <ZoneTargets\n zoneId={this.props.zoneProps.id}\n dropTarget={this.props.dropTarget}\n targetChangeHandler={this.props.targetChangeHandler}\n />\n </Zone>\n <Outline bounds={this.props.targetedBounds} />\n </>\n )}\n </SafeAreaContext.Consumer>\n );\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"StatusBarZone.js","sourceRoot":"","sources":["../../../../src/appui-react/zones/StatusBarZone.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,+BAA+B;AAE/B,kEAAmF;AAEnF,iEAA8D;AAC9D,sDAAmD;AAEnD,mDAAwD;AACxD,uCAAoC;AACpC,yDAAsD;AAkBtD;;GAEG;AACH,MAAa,aAAc,SAAQ,KAAK,CAAC,aAAiC;IACxD,MAAM;QACpB,MAAM,MAAM,GAAG,IAAA,qCAAqB,EAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC3D,OAAO,CACL,oBAAC,iCAAe,CAAC,QAAQ,QACtB,CAAC,cAAc,EAAE,EAAE,CAAC,CACnB;YACE,oBAAC,yBAAI,IACH,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,EACtD,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAC/B,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,EAC3B,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAC7B,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,EACzC,cAAc,EAAE,cAAc,IAG5B,IAAI,CAAC,KAAK,CAAC,aAAa;gBACxB,oBAAC,qBAAS,IACR,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,EACzC,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,GACvC,CAEC;YACP,oBAAC,yBAAI,IACH,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,EACnC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,EAC3B,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,EACzC,cAAc,EAAE,cAAc;gBAE9B,oBAAC,yBAAW,IACV,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,EAC/B,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,EACjC,mBAAmB,EAAE,IAAI,CAAC,KAAK,CAAC,mBAAmB,GACnD,CACG;YACP,oBAAC,iBAAO,IAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,GAAI,CAC7C,CACJ,CACwB,CAC5B,CAAC;IACJ,CAAC;CACF;AAzCD,sCAyCC","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 StatusBar\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { CommonProps, RectangleProps } from \"@itwin/core-react\";\r\nimport { Zone, ZoneManagerProps, ZoneTargetType } from \"@itwin/appui-layout-react\";\r\nimport { TargetChangeHandler, WidgetChangeHandler } from \"../frontstage/FrontstageComposer\";\r\nimport { SafeAreaContext } from \"../safearea/SafeAreaContext\";\r\nimport { StatusBar } from \"../statusbar/StatusBar\";\r\nimport { StatusBarWidgetControl } from \"../statusbar/StatusBarWidgetControl\";\r\nimport { getFloatingZoneBounds } from \"./FrameworkZone\";\r\nimport { Outline } from \"./Outline\";\r\nimport { ZoneTargets } from \"../dragdrop/ZoneTargets\";\r\n\r\n// cspell:ignore safearea\r\n\r\n/** Properties for the [[StatusBarZone]] component\r\n * @internal\r\n */\r\nexport interface StatusBarZoneProps extends CommonProps {\r\n dropTarget: ZoneTargetType | undefined;\r\n isHidden: boolean;\r\n isInFooterMode: boolean;\r\n targetChangeHandler: TargetChangeHandler;\r\n targetedBounds: RectangleProps | undefined;\r\n widgetChangeHandler: WidgetChangeHandler;\r\n widgetControl?: StatusBarWidgetControl;\r\n zoneProps: ZoneManagerProps;\r\n}\r\n\r\n/** Status Bar Zone React component.\r\n * @internal\r\n */\r\nexport class StatusBarZone extends React.PureComponent<StatusBarZoneProps> {\r\n public override render(): React.ReactNode {\r\n const bounds = getFloatingZoneBounds(this.props.zoneProps);\r\n return (\r\n <SafeAreaContext.Consumer>\r\n {(safeAreaInsets) => (\r\n <>\r\n <Zone\r\n bounds={this.props.isInFooterMode ? undefined : bounds}\r\n className={this.props.className}\r\n id={this.props.zoneProps.id}\r\n isHidden={this.props.isHidden}\r\n isInFooterMode={this.props.isInFooterMode}\r\n safeAreaInsets={safeAreaInsets}\r\n >\r\n {\r\n this.props.widgetControl &&\r\n <StatusBar\r\n isInFooterMode={this.props.isInFooterMode}\r\n widgetControl={this.props.widgetControl}\r\n />\r\n }\r\n </Zone>\r\n <Zone\r\n bounds={this.props.zoneProps.bounds}\r\n id={this.props.zoneProps.id}\r\n isInFooterMode={this.props.isInFooterMode}\r\n safeAreaInsets={safeAreaInsets}\r\n >\r\n <ZoneTargets\r\n zoneId={this.props.zoneProps.id}\r\n dropTarget={this.props.dropTarget}\r\n targetChangeHandler={this.props.targetChangeHandler}\r\n />\r\n </Zone>\r\n <Outline bounds={this.props.targetedBounds} />\r\n </>\r\n )}\r\n </SafeAreaContext.Consumer>\r\n );\r\n }\r\n}\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Zone.js","sourceRoot":"","sources":["../../../../src/appui-react/zones/Zone.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 Zone\n */\n\nimport * as React from \"react\";\nimport { WidgetState } from \"@itwin/appui-abstract\";\nimport { CommonProps, RectangleProps } from \"@itwin/core-react\";\nimport {\n DisabledResizeHandles, DraggedWidgetManagerProps, ToolSettingsWidgetManagerProps, ToolSettingsWidgetMode, WidgetManagerProps, WidgetZoneId,\n ZoneManagerProps, ZoneTargetType,\n} from \"@itwin/appui-layout-react\";\nimport { ConfigurableUiControlType } from \"../configurableui/ConfigurableUiControl\";\nimport { TargetChangeHandler, WidgetChangeHandler, ZoneDefProvider } from \"../frontstage/FrontstageComposer\";\nimport { FrontstageManager } from \"../frontstage/FrontstageManager\";\nimport { StatusBarWidgetControl } from \"../statusbar/StatusBarWidgetControl\";\nimport { WidgetDef, WidgetStateChangedEventArgs, WidgetType } from \"../widgets/WidgetDef\";\nimport { WidgetProps } from \"../widgets/WidgetProps\";\nimport { WidgetTabs } from \"../widgets/WidgetStack\";\nimport { FrameworkZone } from \"./FrameworkZone\";\nimport { StatusBarZone } from \"./StatusBarZone\";\nimport { ToolSettingsZone } from \"./toolsettings/ToolSettingsZone\";\nimport { ZoneDef, ZoneState } from \"./ZoneDef\";\n\n/** Enum for [[Zone]] Location.\n * @public\n */\nexport enum ZoneLocation {\n TopLeft = 1,\n TopCenter = 2,\n TopRight = 3,\n CenterLeft = 4,\n CenterRight = 6,\n BottomLeft = 7,\n BottomCenter = 8,\n BottomRight = 9,\n}\n\n/** Properties of a [[Zone]] component\n * @public\n */\nexport interface ZoneProps extends CommonProps {\n /** Default Zone state. Controls how the Zone is initially displayed. Defaults to ZoneState.Open. */\n defaultState?: ZoneState;\n /** Indicates if other Zones may be merged with this Zone. Defaults to false. */\n allowsMerging?: boolean;\n /** Any application data to attach to this Zone. */\n applicationData?: any;\n /** Indicates with which other zone to merge. */\n mergeWithZone?: ZoneLocation;\n /** Describes preferred initial width of the zone. */\n initialWidth?: number;\n\n /** Properties for the Widgets in this Zone.\n * @note Stable `WidgetProps[\"id\"]` is generated if id is not provided to correctly save and restore App layout.\n * [[Frontstage]] version must be increased when Widget location is changed or new widgets are added/removed.\n */\n widgets?: Array<React.ReactElement<WidgetProps>>;\n\n /** @internal */\n runtimeProps?: ZoneRuntimeProps;\n}\n\n/** Runtime Properties for the [[Zone]] component.\n * @internal\n */\nexport interface ZoneRuntimeProps {\n activeTabIndex: number;\n disabledResizeHandles: DisabledResizeHandles | undefined;\n draggedWidget: DraggedWidgetManagerProps | undefined;\n dropTarget: ZoneTargetType | undefined;\n getWidgetContentRef: (id: WidgetZoneId) => React.Ref<HTMLDivElement>;\n ghostOutline: RectangleProps | undefined;\n isHidden: boolean;\n isInFooterMode: boolean;\n openWidgetId: WidgetZoneId | undefined;\n targetChangeHandler: TargetChangeHandler;\n widget: WidgetManagerProps | undefined;\n widgetTabs: WidgetTabs;\n widgetChangeHandler: WidgetChangeHandler;\n zoneDefProvider: ZoneDefProvider;\n zoneDef: ZoneDef;\n zone: ZoneManagerProps;\n}\n\n/** @internal */\nexport function getStableWidgetProps(widgetProps: WidgetProps, stableId: string) {\n let props = widgetProps;\n if (props.id === undefined)\n props = {\n ...props,\n id: stableId,\n };\n return props;\n}\n\n/** Zone React component.\n * A Zone is a standard area on the screen for users to read and interact with data applicable to the current task. Each Zone has a defined purpose.\n * @public\n */\nexport class Zone extends React.Component<ZoneProps> {\n constructor(props: ZoneProps) {\n super(props);\n }\n\n public static initializeZoneDef(zoneDef: ZoneDef, props: ZoneProps): void {\n zoneDef.initializeFromProps(props);\n\n // istanbul ignore else\n if (props.widgets) {\n props.widgets.forEach((widgetNode, index) => {\n // istanbul ignore if\n if (!React.isValidElement(widgetNode))\n return;\n\n const stableId = `uifw-z-${ZoneLocation[zoneDef.zoneLocation]}-${index}`;\n const stableProps = getStableWidgetProps(widgetNode.props, stableId);\n const widgetDef = new WidgetDef(stableProps);\n zoneDef.addWidgetDef(widgetDef);\n });\n }\n }\n\n public override componentDidMount(): void {\n FrontstageManager.onWidgetStateChangedEvent.addListener(this._handleWidgetStateChangedEvent);\n }\n\n public override componentWillUnmount(): void {\n FrontstageManager.onWidgetStateChangedEvent.removeListener(this._handleWidgetStateChangedEvent);\n }\n\n public override render(): React.ReactNode {\n const { runtimeProps } = this.props;\n\n if (!runtimeProps)\n return null;\n\n const { zoneDef } = runtimeProps;\n\n let widgetElement: React.ReactNode;\n // istanbul ignore else\n if (runtimeProps.zone.widgets.length === 1) {\n if (zoneDef.isToolSettings && isToolSettingsWidgetManagerProps(runtimeProps.widget) && runtimeProps.widget.mode === ToolSettingsWidgetMode.TitleBar) {\n const widgetDef = zoneDef.getSingleWidgetDef();\n const isClosed = widgetDef ? (widgetDef.state === WidgetState.Closed || widgetDef.state === WidgetState.Hidden)\n : /* istanbul ignore next */ false;\n return (\n <ToolSettingsZone\n className={this.props.className}\n dropTarget={runtimeProps.dropTarget}\n getWidgetContentRef={runtimeProps.getWidgetContentRef}\n isClosed={isClosed}\n isHidden={runtimeProps.isHidden}\n lastPosition={runtimeProps.draggedWidget && /* istanbul ignore next */ runtimeProps.draggedWidget.lastPosition}\n style={this.props.style}\n targetChangeHandler={runtimeProps.targetChangeHandler}\n targetedBounds={runtimeProps.ghostOutline}\n widgetChangeHandler={runtimeProps.widgetChangeHandler}\n zone={runtimeProps.zone}\n />\n );\n } else if (zoneDef.isStatusBar) {\n // istanbul ignore next\n if (runtimeProps.zone.id !== 8)\n throw new TypeError();\n\n let widgetControl: StatusBarWidgetControl | undefined;\n const widgetDef = zoneDef.getSingleWidgetDef();\n\n // istanbul ignore else\n if (widgetDef)\n widgetControl = widgetDef.getWidgetControl(ConfigurableUiControlType.StatusBarWidget) as StatusBarWidgetControl;\n\n return (\n <StatusBarZone\n className={this.props.className}\n dropTarget={runtimeProps.dropTarget}\n isHidden={runtimeProps.isHidden}\n isInFooterMode={runtimeProps.isInFooterMode}\n style={this.props.style}\n targetChangeHandler={runtimeProps.targetChangeHandler}\n targetedBounds={runtimeProps.ghostOutline}\n widgetChangeHandler={runtimeProps.widgetChangeHandler}\n widgetControl={widgetControl}\n zoneProps={runtimeProps.zone}\n />\n );\n }\n\n const zDef = runtimeProps.zoneDefProvider.getZoneDef(runtimeProps.zone.widgets[0]);\n // istanbul ignore if\n if (!zDef) {\n widgetElement = null;\n } else if (zDef.widgetCount === 1 && zDef.widgetDefs[0].widgetType !== WidgetType.Rectangular) {\n /** Return free-form nzWidgetProps */\n const widgetDef = zDef.widgetDefs[0];\n widgetElement = (widgetDef.isVisible) ? widgetDef.reactNode : /* istanbul ignore next */ null;\n }\n }\n\n return (\n <FrameworkZone\n activeTabIndex={runtimeProps.activeTabIndex}\n className={this.props.className}\n disabledResizeHandles={runtimeProps.disabledResizeHandles}\n draggedWidget={runtimeProps.draggedWidget}\n dropTarget={runtimeProps.dropTarget}\n fillZone={zoneDef.shouldFillZone}\n getWidgetContentRef={runtimeProps.getWidgetContentRef}\n isHidden={runtimeProps.isHidden}\n isInFooterMode={runtimeProps.isInFooterMode}\n openWidgetId={runtimeProps.openWidgetId}\n style={this.props.style}\n targetedBounds={runtimeProps.ghostOutline}\n targetChangeHandler={runtimeProps.targetChangeHandler}\n widget={runtimeProps.widget}\n widgetElement={widgetElement}\n widgetTabs={runtimeProps.widgetTabs}\n widgetChangeHandler={runtimeProps.widgetChangeHandler}\n zone={runtimeProps.zone}\n />\n );\n }\n\n private _handleWidgetStateChangedEvent = (args: WidgetStateChangedEventArgs) => {\n const runtimeProps = this.props.runtimeProps;\n if (!runtimeProps)\n return;\n\n const widgetDef = args.widgetDef;\n const id = this.getWidgetIdForDef(widgetDef);\n if (!id)\n return;\n\n const zoneDef = runtimeProps.zoneDefProvider.getZoneDef(id);\n // istanbul ignore if\n if (!zoneDef)\n return;\n\n const visibleWidgets = zoneDef.widgetDefs.filter((wd) => wd.isVisible || wd === widgetDef);\n for (let index = 0; index < visibleWidgets.length; index++) {\n const wDef = visibleWidgets[index];\n if (wDef !== widgetDef)\n continue;\n\n if (widgetDef.state === WidgetState.Hidden && index < runtimeProps.activeTabIndex && id === runtimeProps.openWidgetId) {\n // Need to decrease active tab index, since removed tab was rendered before active tab and we want to maintain active tab.\n runtimeProps.widgetChangeHandler.handleTabClick(id, runtimeProps.activeTabIndex - 1);\n break;\n }\n runtimeProps.widgetChangeHandler.handleWidgetStateChange(id, index, widgetDef.state === WidgetState.Open);\n break;\n }\n };\n\n private getWidgetIdForDef(widgetDef: WidgetDef): WidgetZoneId | undefined {\n // istanbul ignore if\n if (!this.props.runtimeProps)\n return undefined;\n\n for (const wId of this.props.runtimeProps.zone.widgets) {\n const zoneDef = this.props.runtimeProps.zoneDefProvider.getZoneDef(wId);\n if (zoneDef && zoneDef.widgetDefs.some((wDef: WidgetDef) => wDef === widgetDef))\n return wId;\n }\n\n return undefined;\n }\n}\n\n/** @internal */\nexport const isToolSettingsWidgetManagerProps = (props: WidgetManagerProps | undefined): props is ToolSettingsWidgetManagerProps => {\n return !!props && props.id === 2;\n};\n"]}
|
|
1
|
+
{"version":3,"file":"Zone.js","sourceRoot":"","sources":["../../../../src/appui-react/zones/Zone.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 Zone\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { WidgetState } from \"@itwin/appui-abstract\";\r\nimport { CommonProps, RectangleProps } from \"@itwin/core-react\";\r\nimport {\r\n DisabledResizeHandles, DraggedWidgetManagerProps, ToolSettingsWidgetManagerProps, ToolSettingsWidgetMode, WidgetManagerProps, WidgetZoneId,\r\n ZoneManagerProps, ZoneTargetType,\r\n} from \"@itwin/appui-layout-react\";\r\nimport { ConfigurableUiControlType } from \"../configurableui/ConfigurableUiControl\";\r\nimport { TargetChangeHandler, WidgetChangeHandler, ZoneDefProvider } from \"../frontstage/FrontstageComposer\";\r\nimport { FrontstageManager } from \"../frontstage/FrontstageManager\";\r\nimport { StatusBarWidgetControl } from \"../statusbar/StatusBarWidgetControl\";\r\nimport { WidgetDef, WidgetStateChangedEventArgs, WidgetType } from \"../widgets/WidgetDef\";\r\nimport { WidgetProps } from \"../widgets/WidgetProps\";\r\nimport { WidgetTabs } from \"../widgets/WidgetStack\";\r\nimport { FrameworkZone } from \"./FrameworkZone\";\r\nimport { StatusBarZone } from \"./StatusBarZone\";\r\nimport { ToolSettingsZone } from \"./toolsettings/ToolSettingsZone\";\r\nimport { ZoneDef, ZoneState } from \"./ZoneDef\";\r\n\r\n/** Enum for [[Zone]] Location.\r\n * @public\r\n */\r\nexport enum ZoneLocation {\r\n TopLeft = 1,\r\n TopCenter = 2,\r\n TopRight = 3,\r\n CenterLeft = 4,\r\n CenterRight = 6,\r\n BottomLeft = 7,\r\n BottomCenter = 8,\r\n BottomRight = 9,\r\n}\r\n\r\n/** Properties of a [[Zone]] component\r\n * @public\r\n */\r\nexport interface ZoneProps extends CommonProps {\r\n /** Default Zone state. Controls how the Zone is initially displayed. Defaults to ZoneState.Open. */\r\n defaultState?: ZoneState;\r\n /** Indicates if other Zones may be merged with this Zone. Defaults to false. */\r\n allowsMerging?: boolean;\r\n /** Any application data to attach to this Zone. */\r\n applicationData?: any;\r\n /** Indicates with which other zone to merge. */\r\n mergeWithZone?: ZoneLocation;\r\n /** Describes preferred initial width of the zone. */\r\n initialWidth?: number;\r\n\r\n /** Properties for the Widgets in this Zone.\r\n * @note Stable `WidgetProps[\"id\"]` is generated if id is not provided to correctly save and restore App layout.\r\n * [[Frontstage]] version must be increased when Widget location is changed or new widgets are added/removed.\r\n */\r\n widgets?: Array<React.ReactElement<WidgetProps>>;\r\n\r\n /** @internal */\r\n runtimeProps?: ZoneRuntimeProps;\r\n}\r\n\r\n/** Runtime Properties for the [[Zone]] component.\r\n * @internal\r\n */\r\nexport interface ZoneRuntimeProps {\r\n activeTabIndex: number;\r\n disabledResizeHandles: DisabledResizeHandles | undefined;\r\n draggedWidget: DraggedWidgetManagerProps | undefined;\r\n dropTarget: ZoneTargetType | undefined;\r\n getWidgetContentRef: (id: WidgetZoneId) => React.Ref<HTMLDivElement>;\r\n ghostOutline: RectangleProps | undefined;\r\n isHidden: boolean;\r\n isInFooterMode: boolean;\r\n openWidgetId: WidgetZoneId | undefined;\r\n targetChangeHandler: TargetChangeHandler;\r\n widget: WidgetManagerProps | undefined;\r\n widgetTabs: WidgetTabs;\r\n widgetChangeHandler: WidgetChangeHandler;\r\n zoneDefProvider: ZoneDefProvider;\r\n zoneDef: ZoneDef;\r\n zone: ZoneManagerProps;\r\n}\r\n\r\n/** @internal */\r\nexport function getStableWidgetProps(widgetProps: WidgetProps, stableId: string) {\r\n let props = widgetProps;\r\n if (props.id === undefined)\r\n props = {\r\n ...props,\r\n id: stableId,\r\n };\r\n return props;\r\n}\r\n\r\n/** Zone React component.\r\n * A Zone is a standard area on the screen for users to read and interact with data applicable to the current task. Each Zone has a defined purpose.\r\n * @public\r\n */\r\nexport class Zone extends React.Component<ZoneProps> {\r\n constructor(props: ZoneProps) {\r\n super(props);\r\n }\r\n\r\n public static initializeZoneDef(zoneDef: ZoneDef, props: ZoneProps): void {\r\n zoneDef.initializeFromProps(props);\r\n\r\n // istanbul ignore else\r\n if (props.widgets) {\r\n props.widgets.forEach((widgetNode, index) => {\r\n // istanbul ignore if\r\n if (!React.isValidElement(widgetNode))\r\n return;\r\n\r\n const stableId = `uifw-z-${ZoneLocation[zoneDef.zoneLocation]}-${index}`;\r\n const stableProps = getStableWidgetProps(widgetNode.props, stableId);\r\n const widgetDef = new WidgetDef(stableProps);\r\n zoneDef.addWidgetDef(widgetDef);\r\n });\r\n }\r\n }\r\n\r\n public override componentDidMount(): void {\r\n FrontstageManager.onWidgetStateChangedEvent.addListener(this._handleWidgetStateChangedEvent);\r\n }\r\n\r\n public override componentWillUnmount(): void {\r\n FrontstageManager.onWidgetStateChangedEvent.removeListener(this._handleWidgetStateChangedEvent);\r\n }\r\n\r\n public override render(): React.ReactNode {\r\n const { runtimeProps } = this.props;\r\n\r\n if (!runtimeProps)\r\n return null;\r\n\r\n const { zoneDef } = runtimeProps;\r\n\r\n let widgetElement: React.ReactNode;\r\n // istanbul ignore else\r\n if (runtimeProps.zone.widgets.length === 1) {\r\n if (zoneDef.isToolSettings && isToolSettingsWidgetManagerProps(runtimeProps.widget) && runtimeProps.widget.mode === ToolSettingsWidgetMode.TitleBar) {\r\n const widgetDef = zoneDef.getSingleWidgetDef();\r\n const isClosed = widgetDef ? (widgetDef.state === WidgetState.Closed || widgetDef.state === WidgetState.Hidden)\r\n : /* istanbul ignore next */ false;\r\n return (\r\n <ToolSettingsZone\r\n className={this.props.className}\r\n dropTarget={runtimeProps.dropTarget}\r\n getWidgetContentRef={runtimeProps.getWidgetContentRef}\r\n isClosed={isClosed}\r\n isHidden={runtimeProps.isHidden}\r\n lastPosition={runtimeProps.draggedWidget && /* istanbul ignore next */ runtimeProps.draggedWidget.lastPosition}\r\n style={this.props.style}\r\n targetChangeHandler={runtimeProps.targetChangeHandler}\r\n targetedBounds={runtimeProps.ghostOutline}\r\n widgetChangeHandler={runtimeProps.widgetChangeHandler}\r\n zone={runtimeProps.zone}\r\n />\r\n );\r\n } else if (zoneDef.isStatusBar) {\r\n // istanbul ignore next\r\n if (runtimeProps.zone.id !== 8)\r\n throw new TypeError();\r\n\r\n let widgetControl: StatusBarWidgetControl | undefined;\r\n const widgetDef = zoneDef.getSingleWidgetDef();\r\n\r\n // istanbul ignore else\r\n if (widgetDef)\r\n widgetControl = widgetDef.getWidgetControl(ConfigurableUiControlType.StatusBarWidget) as StatusBarWidgetControl;\r\n\r\n return (\r\n <StatusBarZone\r\n className={this.props.className}\r\n dropTarget={runtimeProps.dropTarget}\r\n isHidden={runtimeProps.isHidden}\r\n isInFooterMode={runtimeProps.isInFooterMode}\r\n style={this.props.style}\r\n targetChangeHandler={runtimeProps.targetChangeHandler}\r\n targetedBounds={runtimeProps.ghostOutline}\r\n widgetChangeHandler={runtimeProps.widgetChangeHandler}\r\n widgetControl={widgetControl}\r\n zoneProps={runtimeProps.zone}\r\n />\r\n );\r\n }\r\n\r\n const zDef = runtimeProps.zoneDefProvider.getZoneDef(runtimeProps.zone.widgets[0]);\r\n // istanbul ignore if\r\n if (!zDef) {\r\n widgetElement = null;\r\n } else if (zDef.widgetCount === 1 && zDef.widgetDefs[0].widgetType !== WidgetType.Rectangular) {\r\n /** Return free-form nzWidgetProps */\r\n const widgetDef = zDef.widgetDefs[0];\r\n widgetElement = (widgetDef.isVisible) ? widgetDef.reactNode : /* istanbul ignore next */ null;\r\n }\r\n }\r\n\r\n return (\r\n <FrameworkZone\r\n activeTabIndex={runtimeProps.activeTabIndex}\r\n className={this.props.className}\r\n disabledResizeHandles={runtimeProps.disabledResizeHandles}\r\n draggedWidget={runtimeProps.draggedWidget}\r\n dropTarget={runtimeProps.dropTarget}\r\n fillZone={zoneDef.shouldFillZone}\r\n getWidgetContentRef={runtimeProps.getWidgetContentRef}\r\n isHidden={runtimeProps.isHidden}\r\n isInFooterMode={runtimeProps.isInFooterMode}\r\n openWidgetId={runtimeProps.openWidgetId}\r\n style={this.props.style}\r\n targetedBounds={runtimeProps.ghostOutline}\r\n targetChangeHandler={runtimeProps.targetChangeHandler}\r\n widget={runtimeProps.widget}\r\n widgetElement={widgetElement}\r\n widgetTabs={runtimeProps.widgetTabs}\r\n widgetChangeHandler={runtimeProps.widgetChangeHandler}\r\n zone={runtimeProps.zone}\r\n />\r\n );\r\n }\r\n\r\n private _handleWidgetStateChangedEvent = (args: WidgetStateChangedEventArgs) => {\r\n const runtimeProps = this.props.runtimeProps;\r\n if (!runtimeProps)\r\n return;\r\n\r\n const widgetDef = args.widgetDef;\r\n const id = this.getWidgetIdForDef(widgetDef);\r\n if (!id)\r\n return;\r\n\r\n const zoneDef = runtimeProps.zoneDefProvider.getZoneDef(id);\r\n // istanbul ignore if\r\n if (!zoneDef)\r\n return;\r\n\r\n const visibleWidgets = zoneDef.widgetDefs.filter((wd) => wd.isVisible || wd === widgetDef);\r\n for (let index = 0; index < visibleWidgets.length; index++) {\r\n const wDef = visibleWidgets[index];\r\n if (wDef !== widgetDef)\r\n continue;\r\n\r\n if (widgetDef.state === WidgetState.Hidden && index < runtimeProps.activeTabIndex && id === runtimeProps.openWidgetId) {\r\n // Need to decrease active tab index, since removed tab was rendered before active tab and we want to maintain active tab.\r\n runtimeProps.widgetChangeHandler.handleTabClick(id, runtimeProps.activeTabIndex - 1);\r\n break;\r\n }\r\n runtimeProps.widgetChangeHandler.handleWidgetStateChange(id, index, widgetDef.state === WidgetState.Open);\r\n break;\r\n }\r\n };\r\n\r\n private getWidgetIdForDef(widgetDef: WidgetDef): WidgetZoneId | undefined {\r\n // istanbul ignore if\r\n if (!this.props.runtimeProps)\r\n return undefined;\r\n\r\n for (const wId of this.props.runtimeProps.zone.widgets) {\r\n const zoneDef = this.props.runtimeProps.zoneDefProvider.getZoneDef(wId);\r\n if (zoneDef && zoneDef.widgetDefs.some((wDef: WidgetDef) => wDef === widgetDef))\r\n return wId;\r\n }\r\n\r\n return undefined;\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport const isToolSettingsWidgetManagerProps = (props: WidgetManagerProps | undefined): props is ToolSettingsWidgetManagerProps => {\r\n return !!props && props.id === 2;\r\n};\r\n"]}
|