@itwin/appui-react 5.19.0 → 5.21.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +29 -0
- package/lib/appui-react/UiFramework.js +20 -13
- package/lib/appui-react/UiFramework.js.map +1 -1
- package/lib/appui-react/accudraw/AccuDrawPopupManager.js +1 -1
- package/lib/appui-react/accudraw/AccuDrawPopupManager.js.map +1 -1
- package/lib/appui-react/accudraw/AccuDrawWidget.js +1 -1
- package/lib/appui-react/accudraw/AccuDrawWidget.js.map +1 -1
- package/lib/appui-react/accudraw/Calculator.js +92 -98
- package/lib/appui-react/accudraw/Calculator.js.map +1 -1
- package/lib/appui-react/accudraw/CalculatorEngine.js +130 -129
- package/lib/appui-react/accudraw/CalculatorEngine.js.map +1 -1
- package/lib/appui-react/accudraw/CalculatorPopup.js +9 -12
- package/lib/appui-react/accudraw/CalculatorPopup.js.map +1 -1
- package/lib/appui-react/accudraw/FrameworkAccuDraw.js +39 -38
- package/lib/appui-react/accudraw/FrameworkAccuDraw.js.map +1 -1
- package/lib/appui-react/accudraw/MenuButton.js +20 -20
- package/lib/appui-react/accudraw/MenuButton.js.map +1 -1
- package/lib/appui-react/accudraw/MenuButtonPopup.js +9 -12
- package/lib/appui-react/accudraw/MenuButtonPopup.js.map +1 -1
- package/lib/appui-react/backstage/BackstageItemsManager.js +5 -5
- package/lib/appui-react/backstage/BackstageItemsManager.js.map +1 -1
- package/lib/appui-react/backstage/BackstageManager.js +1 -3
- package/lib/appui-react/backstage/BackstageManager.js.map +1 -1
- package/lib/appui-react/backstage/InternalBackstageManager.js +3 -5
- package/lib/appui-react/backstage/InternalBackstageManager.js.map +1 -1
- package/lib/appui-react/childwindow/InternalChildWindowManager.js +30 -32
- package/lib/appui-react/childwindow/InternalChildWindowManager.js.map +1 -1
- package/lib/appui-react/configurableui/ActivityTracker.js +33 -33
- package/lib/appui-react/configurableui/ActivityTracker.js.map +1 -1
- package/lib/appui-react/configurableui/ConfigurableUiContent.scss +0 -1
- package/lib/appui-react/configurableui/ConfigurableUiControl.js +8 -0
- package/lib/appui-react/configurableui/ConfigurableUiControl.js.map +1 -1
- package/lib/appui-react/configurableui/InternalConfigurableUiManager.js +8 -8
- package/lib/appui-react/configurableui/InternalConfigurableUiManager.js.map +1 -1
- package/lib/appui-react/configurableui/TimeTracker.js +25 -27
- package/lib/appui-react/configurableui/TimeTracker.js.map +1 -1
- package/lib/appui-react/content/ContentControl.js +2 -1
- package/lib/appui-react/content/ContentControl.js.map +1 -1
- package/lib/appui-react/content/ContentGroup.js +8 -4
- package/lib/appui-react/content/ContentGroup.js.map +1 -1
- package/lib/appui-react/content/ContentLayout.js +47 -38
- package/lib/appui-react/content/ContentLayout.js.map +1 -1
- package/lib/appui-react/content/IModelViewport.js +28 -23
- package/lib/appui-react/content/IModelViewport.js.map +1 -1
- package/lib/appui-react/content/InternalContentLayoutManager.js +1 -1
- package/lib/appui-react/content/InternalContentLayoutManager.js.map +1 -1
- package/lib/appui-react/content/InternalContentViewManager.js +9 -8
- package/lib/appui-react/content/InternalContentViewManager.js.map +1 -1
- package/lib/appui-react/content/StandardContentLayouts.js +141 -141
- package/lib/appui-react/content/StandardContentLayouts.js.map +1 -1
- package/lib/appui-react/content/ViewportContentControl.js +25 -22
- package/lib/appui-react/content/ViewportContentControl.js.map +1 -1
- package/lib/appui-react/cursor/CursorInformation.js +7 -6
- package/lib/appui-react/cursor/CursorInformation.js.map +1 -1
- package/lib/appui-react/cursor/cursorpopup/CursorPopup.js +9 -9
- package/lib/appui-react/cursor/cursorpopup/CursorPopup.js.map +1 -1
- package/lib/appui-react/cursor/cursorpopup/CursorPopupManager.js +7 -7
- package/lib/appui-react/cursor/cursorpopup/CursorPopupManager.js.map +1 -1
- package/lib/appui-react/dialog/DialogManagerBase.js +18 -19
- package/lib/appui-react/dialog/DialogManagerBase.js.map +1 -1
- package/lib/appui-react/dialog/InternalContentDialogManager.js +7 -7
- package/lib/appui-react/dialog/InternalContentDialogManager.js.map +1 -1
- package/lib/appui-react/dialog/InternalModalDialogManager.js +4 -4
- package/lib/appui-react/dialog/InternalModalDialogManager.js.map +1 -1
- package/lib/appui-react/dialog/InternalModelessDialogManager.js +6 -6
- package/lib/appui-react/dialog/InternalModelessDialogManager.js.map +1 -1
- package/lib/appui-react/dialog/ModelessDialog.js +3 -3
- package/lib/appui-react/dialog/ModelessDialog.js.map +1 -1
- package/lib/appui-react/feedback/ElementTooltip.js +3 -1
- package/lib/appui-react/feedback/ElementTooltip.js.map +1 -1
- package/lib/appui-react/feedback/ValidationTextbox.js +25 -25
- package/lib/appui-react/feedback/ValidationTextbox.js.map +1 -1
- package/lib/appui-react/framework/FrameworkFrontstages.d.ts +3 -2
- package/lib/appui-react/framework/FrameworkFrontstages.d.ts.map +1 -1
- package/lib/appui-react/framework/FrameworkFrontstages.js.map +1 -1
- package/lib/appui-react/frontstage/FrontstageDef.js +28 -10
- package/lib/appui-react/frontstage/FrontstageDef.js.map +1 -1
- package/lib/appui-react/frontstage/InternalFrontstageManager.js +96 -96
- package/lib/appui-react/frontstage/InternalFrontstageManager.js.map +1 -1
- package/lib/appui-react/frontstage/ModalFrontstage.js +5 -5
- package/lib/appui-react/frontstage/ModalFrontstage.js.map +1 -1
- package/lib/appui-react/frontstage/ModalSettingsStage.js +5 -4
- package/lib/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
- package/lib/appui-react/frontstage/StandardFrontstageProvider.js +1 -0
- package/lib/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
- package/lib/appui-react/keyboardshortcut/InternalKeyboardShortcut.js +22 -22
- package/lib/appui-react/keyboardshortcut/InternalKeyboardShortcut.js.map +1 -1
- package/lib/appui-react/keyboardshortcut/KeyboardShortcut.js +11 -9
- package/lib/appui-react/keyboardshortcut/KeyboardShortcut.js.map +1 -1
- package/lib/appui-react/keyboardshortcut/KeyboardShortcutMenu.js +17 -20
- package/lib/appui-react/keyboardshortcut/KeyboardShortcutMenu.js.map +1 -1
- package/lib/appui-react/layout/backstage/Backstage.js +11 -14
- package/lib/appui-react/layout/backstage/Backstage.js.map +1 -1
- package/lib/appui-react/layout/base/DragManager.js +6 -7
- package/lib/appui-react/layout/base/DragManager.js.map +1 -1
- package/lib/appui-react/layout/base/SafeAreaInsets.js +8 -8
- package/lib/appui-react/layout/base/SafeAreaInsets.js.map +1 -1
- package/lib/appui-react/layout/popup/Tooltip.js +8 -11
- package/lib/appui-react/layout/popup/Tooltip.js.map +1 -1
- package/lib/appui-react/layout/widget/MenuTab.d.ts +3 -4
- package/lib/appui-react/layout/widget/MenuTab.d.ts.map +1 -1
- package/lib/appui-react/layout/widget/MenuTab.js +5 -7
- package/lib/appui-react/layout/widget/MenuTab.js.map +1 -1
- package/lib/appui-react/layout/widget/MenuTab.scss +4 -51
- package/lib/appui-react/layout/widget/Overflow.d.ts +2 -3
- package/lib/appui-react/layout/widget/Overflow.d.ts.map +1 -1
- package/lib/appui-react/layout/widget/Overflow.js +2 -2
- package/lib/appui-react/layout/widget/Overflow.js.map +1 -1
- package/lib/appui-react/layout/widget/Overflow.scss +0 -4
- package/lib/appui-react/layout/widget/Tab.d.ts +3 -6
- package/lib/appui-react/layout/widget/Tab.d.ts.map +1 -1
- package/lib/appui-react/layout/widget/Tab.js +8 -6
- package/lib/appui-react/layout/widget/Tab.js.map +1 -1
- package/lib/appui-react/layout/widget/Tabs.js +4 -3
- package/lib/appui-react/layout/widget/Tabs.js.map +1 -1
- package/lib/appui-react/messages/InputField.js +21 -24
- package/lib/appui-react/messages/InputField.js.map +1 -1
- package/lib/appui-react/messages/MessageManager.js +39 -38
- package/lib/appui-react/messages/MessageManager.js.map +1 -1
- package/lib/appui-react/messages/Pointer.js +38 -38
- package/lib/appui-react/messages/Pointer.js.map +1 -1
- package/lib/appui-react/messages/ReactNotifyMessageDetails.js +6 -0
- package/lib/appui-react/messages/ReactNotifyMessageDetails.js.map +1 -1
- package/lib/appui-react/messages/StatusMessageManager.js +2 -4
- package/lib/appui-react/messages/StatusMessageManager.js.map +1 -1
- package/lib/appui-react/navigationaids/CubeNavigationAidControl.js +1 -1
- package/lib/appui-react/navigationaids/CubeNavigationAidControl.js.map +1 -1
- package/lib/appui-react/navigationaids/DrawingNavigationAidControl.js +1 -1
- package/lib/appui-react/navigationaids/DrawingNavigationAidControl.js.map +1 -1
- package/lib/appui-react/navigationaids/NavigationAidControl.js +1 -0
- package/lib/appui-react/navigationaids/NavigationAidControl.js.map +1 -1
- package/lib/appui-react/navigationaids/SheetNavigationAid.js +55 -54
- package/lib/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
- package/lib/appui-react/navigationaids/SheetsModalFrontstage.js +22 -20
- package/lib/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
- package/lib/appui-react/navigationaids/StandardRotationNavigationAid.js +15 -14
- package/lib/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
- package/lib/appui-react/pickers/ListPicker.js +28 -28
- package/lib/appui-react/pickers/ListPicker.js.map +1 -1
- package/lib/appui-react/pickers/ViewSelector.js +87 -86
- package/lib/appui-react/pickers/ViewSelector.js.map +1 -1
- package/lib/appui-react/popup/CardPopup.js +18 -21
- package/lib/appui-react/popup/CardPopup.js.map +1 -1
- package/lib/appui-react/popup/HTMLElementPopup.js +9 -12
- package/lib/appui-react/popup/HTMLElementPopup.js.map +1 -1
- package/lib/appui-react/popup/InputEditorPopup.js +18 -20
- package/lib/appui-react/popup/InputEditorPopup.js.map +1 -1
- package/lib/appui-react/popup/PopupManager.js +22 -25
- package/lib/appui-react/popup/PopupManager.js.map +1 -1
- package/lib/appui-react/popup/ToolSettingsPopup.js +17 -17
- package/lib/appui-react/popup/ToolSettingsPopup.js.map +1 -1
- package/lib/appui-react/popup/ToolbarPopup.js +18 -21
- package/lib/appui-react/popup/ToolbarPopup.js.map +1 -1
- package/lib/appui-react/redux/ReducerRegistry.js +2 -0
- package/lib/appui-react/redux/ReducerRegistry.js.map +1 -1
- package/lib/appui-react/redux/StateManager.js +4 -1
- package/lib/appui-react/redux/StateManager.js.map +1 -1
- package/lib/appui-react/selection/HideIsolateEmphasizeManager.js +7 -3
- package/lib/appui-react/selection/HideIsolateEmphasizeManager.js.map +1 -1
- package/lib/appui-react/shared/ActionButtonItemDef.js +13 -6
- package/lib/appui-react/shared/ActionButtonItemDef.js.map +1 -1
- package/lib/appui-react/shared/CommandItemDef.js +3 -3
- package/lib/appui-react/shared/CommandItemDef.js.map +1 -1
- package/lib/appui-react/shared/CustomItemDef.js +4 -2
- package/lib/appui-react/shared/CustomItemDef.js.map +1 -1
- package/lib/appui-react/shared/ItemDefBase.js +13 -5
- package/lib/appui-react/shared/ItemDefBase.js.map +1 -1
- package/lib/appui-react/shared/MenuItem.js +6 -1
- package/lib/appui-react/shared/MenuItem.js.map +1 -1
- package/lib/appui-react/shared/ToolItemDef.js +1 -1
- package/lib/appui-react/shared/ToolItemDef.js.map +1 -1
- package/lib/appui-react/stagepanels/StagePanelDef.js +4 -3
- package/lib/appui-react/stagepanels/StagePanelDef.js.map +1 -1
- package/lib/appui-react/statusbar/StatusBarItemsManager.js +5 -5
- package/lib/appui-react/statusbar/StatusBarItemsManager.js.map +1 -1
- package/lib/appui-react/statusfields/ViewAttributes.js +16 -16
- package/lib/appui-react/statusfields/ViewAttributes.js.map +1 -1
- package/lib/appui-react/statusfields/tileloading/TileLoadingIndicator.js +35 -33
- package/lib/appui-react/statusfields/tileloading/TileLoadingIndicator.js.map +1 -1
- package/lib/appui-react/syncui/InternalSyncUiEventDispatcher.js +7 -0
- package/lib/appui-react/syncui/InternalSyncUiEventDispatcher.js.map +1 -1
- package/lib/appui-react/syncui/SyncUiEventDispatcher.js +4 -3
- package/lib/appui-react/syncui/SyncUiEventDispatcher.js.map +1 -1
- package/lib/appui-react/timeline/AnalysisAnimationProvider.js +9 -8
- package/lib/appui-react/timeline/AnalysisAnimationProvider.js.map +1 -1
- package/lib/appui-react/timeline/ScheduleAnimationProvider.js +13 -12
- package/lib/appui-react/timeline/ScheduleAnimationProvider.js.map +1 -1
- package/lib/appui-react/timeline/SolarTimelineDataProvider.js +6 -5
- package/lib/appui-react/timeline/SolarTimelineDataProvider.js.map +1 -1
- package/lib/appui-react/toolbar/GroupItem.js +11 -5
- package/lib/appui-react/toolbar/GroupItem.js.map +1 -1
- package/lib/appui-react/toolbar/ToolbarItemsManager.js +7 -7
- package/lib/appui-react/toolbar/ToolbarItemsManager.js.map +1 -1
- package/lib/appui-react/tools/FrameworkToolAdmin.js +5 -1
- package/lib/appui-react/tools/FrameworkToolAdmin.js.map +1 -1
- package/lib/appui-react/tools/KeyinPaletteTools.js +2 -2
- package/lib/appui-react/tools/KeyinPaletteTools.js.map +1 -1
- package/lib/appui-react/tools/OpenSettingsTool.js +2 -2
- package/lib/appui-react/tools/OpenSettingsTool.js.map +1 -1
- package/lib/appui-react/tools/RestoreLayoutTool.js +4 -4
- package/lib/appui-react/tools/RestoreLayoutTool.js.map +1 -1
- package/lib/appui-react/tools/ToolSettingsTools.js +2 -2
- package/lib/appui-react/tools/ToolSettingsTools.js.map +1 -1
- package/lib/appui-react/toolsettings/DefaultToolSettingsProvider.js +15 -18
- package/lib/appui-react/toolsettings/DefaultToolSettingsProvider.js.map +1 -1
- package/lib/appui-react/toolsettings/InternalToolSettingsManager.js +8 -8
- package/lib/appui-react/toolsettings/InternalToolSettingsManager.js.map +1 -1
- package/lib/appui-react/toolsettings/ToolInformation.js +2 -0
- package/lib/appui-react/toolsettings/ToolInformation.js.map +1 -1
- package/lib/appui-react/toolsettings/ToolUiProvider.js +3 -0
- package/lib/appui-react/toolsettings/ToolUiProvider.js.map +1 -1
- package/lib/appui-react/ui-items-provider/AbstractUiItemsManager.js +1 -0
- package/lib/appui-react/ui-items-provider/AbstractUiItemsManager.js.map +1 -1
- package/lib/appui-react/ui-items-provider/BaseUiItemsProvider.js +2 -0
- package/lib/appui-react/ui-items-provider/BaseUiItemsProvider.js.map +1 -1
- package/lib/appui-react/ui-items-provider/StandardContentToolsProvider.js +1 -0
- package/lib/appui-react/ui-items-provider/StandardContentToolsProvider.js.map +1 -1
- package/lib/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js +1 -0
- package/lib/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
- package/lib/appui-react/ui-items-provider/StandardNavigationToolsProvider.js +1 -0
- package/lib/appui-react/ui-items-provider/StandardNavigationToolsProvider.js.map +1 -1
- package/lib/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.js +1 -0
- package/lib/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.js.map +1 -1
- package/lib/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js +1 -0
- package/lib/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js.map +1 -1
- package/lib/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js +1 -0
- package/lib/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
- package/lib/appui-react/ui-items-provider/UiItemsManager.js +3 -3
- package/lib/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
- package/lib/appui-react/uiadmin/FrameworkUiAdmin.js +1 -4
- package/lib/appui-react/uiadmin/FrameworkUiAdmin.js.map +1 -1
- package/lib/appui-react/uiprovider/ComponentGenerator.js +2 -0
- package/lib/appui-react/uiprovider/ComponentGenerator.js.map +1 -1
- package/lib/appui-react/uistate/AppUiSettings.js +41 -33
- package/lib/appui-react/uistate/AppUiSettings.js.map +1 -1
- package/lib/appui-react/utils/InternalUiShowHideManager.js +13 -14
- package/lib/appui-react/utils/InternalUiShowHideManager.js.map +1 -1
- package/lib/appui-react/widget-panels/Tab.d.ts.map +1 -1
- package/lib/appui-react/widget-panels/Tab.js +2 -1
- package/lib/appui-react/widget-panels/Tab.js.map +1 -1
- package/lib/appui-react/widgets/StatusBarWidgetComposerControl.js +2 -5
- package/lib/appui-react/widgets/StatusBarWidgetComposerControl.js.map +1 -1
- package/lib/appui-react/widgets/WidgetControl.js +2 -0
- package/lib/appui-react/widgets/WidgetControl.js.map +1 -1
- package/lib/appui-react/widgets/WidgetDef.js +28 -7
- package/lib/appui-react/widgets/WidgetDef.js.map +1 -1
- package/lib/appui-react/widgets/WidgetHost.js +4 -4
- package/lib/appui-react/widgets/WidgetHost.js.map +1 -1
- package/lib/appui-react/widgets/WidgetManager.js +5 -7
- package/lib/appui-react/widgets/WidgetManager.js.map +1 -1
- package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.scss +0 -1
- package/lib/cjs/appui-react/layout/widget/MenuTab.scss +4 -51
- package/lib/cjs/appui-react/layout/widget/Overflow.scss +0 -4
- package/lib/esm/appui-react/configurableui/ConfigurableUiContent.scss +0 -1
- package/lib/esm/appui-react/layout/widget/MenuTab.scss +4 -51
- package/lib/esm/appui-react/layout/widget/Overflow.scss +0 -4
- package/package.json +9 -9
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InternalToolSettingsManager.js","sourceRoot":"","sources":["../../../src/appui-react/toolsettings/InternalToolSettingsManager.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAGH,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAEhE,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD;;GAEG;AACH,MAAM,OAAO,2BAA2B;
|
|
1
|
+
{"version":3,"file":"InternalToolSettingsManager.js","sourceRoot":"","sources":["../../../src/appui-react/toolsettings/InternalToolSettingsManager.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module ToolSettings\n */\n\nimport type { InteractiveTool } from \"@itwin/core-frontend\";\nimport { IModelApp } from \"@itwin/core-frontend\";\nimport type { DialogItem, DialogPropertySyncItem } from \"@itwin/appui-abstract\";\nimport { focusIntoContainer } from \"@itwin/core-react/internal\";\nimport type { SyncToolSettingsPropertiesEventArgs } from \"../framework/FrameworkToolSettings.js\";\nimport { SyncUiEventDispatcher } from \"../syncui/SyncUiEventDispatcher.js\";\nimport { BeUiEvent } from \"@itwin/core-bentley\";\n\n/** Tool Settings Manager class. Used to generate UI components for Tool Settings.\n * @internal\n */\nexport class InternalToolSettingsManager {\n private static _useDefaultToolSettingsProvider = false;\n private static _toolIdForToolSettings: string = \"\";\n private static _activeToolLabel: string = \"\";\n private static _activeToolDescription: string = \"\";\n\n private static syncToolSettingsProperties(\n toolId: string,\n syncProperties: DialogPropertySyncItem[]\n ): void {\n InternalToolSettingsManager.onSyncToolSettingsProperties.emit({\n toolId,\n syncProperties,\n });\n }\n\n private static reloadToolSettingsProperties(): void {\n InternalToolSettingsManager.onReloadToolSettingsProperties.emit();\n }\n\n private static dispatchSyncUiEvent(\n syncEventId: string,\n useImmediateDispatch?: boolean\n ): void {\n if (useImmediateDispatch)\n SyncUiEventDispatcher.dispatchImmediateSyncUiEvent(syncEventId);\n else SyncUiEventDispatcher.dispatchSyncUiEvent(syncEventId);\n }\n\n /** Initializes the ToolSettingsManager\n * @internal\n */\n public static initialize() {\n if (IModelApp && IModelApp.toolAdmin) {\n IModelApp.toolAdmin.toolSettingsChangeHandler =\n InternalToolSettingsManager.syncToolSettingsProperties;\n IModelApp.toolAdmin.reloadToolSettingsHandler =\n InternalToolSettingsManager.reloadToolSettingsProperties;\n IModelApp.toolAdmin.toolSyncUiEventDispatcher =\n InternalToolSettingsManager.dispatchSyncUiEvent;\n }\n }\n\n /** clear cached Tool Settings properties. */\n public static clearToolSettingsData() {\n InternalToolSettingsManager.useDefaultToolSettingsProvider = false;\n InternalToolSettingsManager._activeToolLabel = \"\";\n InternalToolSettingsManager._activeToolDescription = \"\";\n InternalToolSettingsManager._toolIdForToolSettings = \"\";\n }\n\n /** Cache Tool Settings properties */\n public static initializeToolSettingsData(\n toolSettingsProperties: DialogItem[] | undefined,\n toolId?: string,\n toolLabel?: string,\n toolDescription?: string\n ): boolean {\n InternalToolSettingsManager.clearToolSettingsData();\n if (toolLabel) InternalToolSettingsManager._activeToolLabel = toolLabel;\n\n if (toolDescription)\n InternalToolSettingsManager._activeToolDescription = toolDescription;\n\n if (toolSettingsProperties && toolSettingsProperties.length > 0) {\n if (toolId) InternalToolSettingsManager._toolIdForToolSettings = toolId;\n\n InternalToolSettingsManager._useDefaultToolSettingsProvider = true;\n return true;\n }\n return false;\n }\n\n /** Set of data used in Tool Settings for the specified tool. The tool specified should be the \"active\" tool.\n */\n public static initializeDataForTool(tool: InteractiveTool) {\n InternalToolSettingsManager.initializeToolSettingsData(\n tool.supplyToolSettingsProperties(),\n tool.toolId,\n tool.flyover,\n tool.description\n );\n }\n\n /** Returns the toolSettings properties that can be used to populate the tool settings widget. */\n public static get toolSettingsProperties(): DialogItem[] {\n if (\n IModelApp.toolAdmin &&\n IModelApp.toolAdmin.activeTool &&\n IModelApp.toolAdmin.activeTool.toolId ===\n InternalToolSettingsManager._toolIdForToolSettings\n ) {\n const properties =\n IModelApp.toolAdmin.activeTool.supplyToolSettingsProperties();\n if (properties) return properties;\n }\n\n return [];\n }\n\n /** Returns true if the Tool Settings are to be auto populated from the toolSettingsProperties.\n * The setter is chiefly for testing.\n */\n public static get useDefaultToolSettingsProvider(): boolean {\n return InternalToolSettingsManager._useDefaultToolSettingsProvider;\n }\n public static set useDefaultToolSettingsProvider(\n useDefaultToolSettings: boolean\n ) {\n InternalToolSettingsManager._useDefaultToolSettingsProvider =\n useDefaultToolSettings;\n }\n\n /** The name of the active tool. This is typically the flyover text specified for the tool. */\n public static get activeToolLabel(): string {\n return InternalToolSettingsManager._activeToolLabel;\n }\n public static set activeToolLabel(label: string) {\n InternalToolSettingsManager._activeToolLabel = label;\n }\n\n /** Returns the description of the active tool. */\n public static get activeToolDescription(): string {\n return InternalToolSettingsManager._activeToolDescription;\n }\n\n /** Get ToolSettings Properties sync event. */\n public static readonly onSyncToolSettingsProperties =\n new BeUiEvent<SyncToolSettingsPropertiesEventArgs>(); // eslint-disable-line @typescript-eslint/no-deprecated\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n public static readonly onReloadToolSettingsProperties = new BeUiEvent<void>();\n\n /** Gets the Id of the active tool. If a tool is not active, blank is returned.\n * @return Id of the active tool, or blank if one is not active.\n */\n public static get toolIdForToolSettings(): string {\n return InternalToolSettingsManager._toolIdForToolSettings;\n }\n\n public static focusIntoToolSettings(): boolean {\n let divElement = document.querySelector(\"div.uifw-toolSettings-docked\");\n if (divElement) {\n if (focusIntoContainer(divElement as HTMLDivElement)) return true;\n }\n\n divElement = document.querySelector(\n \"div.uifw-tool-settings-grid-container\"\n );\n if (divElement) {\n if (focusIntoContainer(divElement as HTMLDivElement)) return true;\n }\n\n return false;\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolInformation.js","sourceRoot":"","sources":["../../../src/appui-react/toolsettings/ToolInformation.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,yBAAyB,EAAE,MAAM,4CAA4C,CAAC;AACvF,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,qDAAqD;AAErD;;;GAGG;AACH,MAAM,OAAO,eAAe;
|
|
1
|
+
{"version":3,"file":"ToolInformation.js","sourceRoot":"","sources":["../../../src/appui-react/toolsettings/ToolInformation.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,yBAAyB,EAAE,MAAM,4CAA4C,CAAC;AACvF,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,qDAAqD;AAErD;;;GAGG;AACH,MAAM,OAAO,eAAe;IAGP;IAFX,eAAe,CAA6B;IAEpD,YAAmB,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;IAAG,CAAC;IAErC,sDAAsD;IACtD,IAAW,cAAc;QACvB,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,IAAI,QAAoC,CAAC;YAEzC,IAAI,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBACnD,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,MAAM,CACpC,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,MAAM,CACM,CAAC;YACtB,CAAC;iBAAM,CAAC;gBACN,IACE,WAAW,CAAC,YAAY,CAAC,8BAA8B;oBACvD,IAAI,CAAC,MAAM,KAAK,WAAW,CAAC,YAAY,CAAC,qBAAqB;oBAE9D,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,MAAM,CACpC,qBAAqB,EACrB,IAAI,CAAC,MAAM,CACM,CAAC;YACxB,CAAC;YACD,IAAI,QAAQ,EAAE,CAAC;gBACb,IAAI,QAAQ,CAAC,OAAO,EAAE,KAAK,yBAAyB,CAAC,cAAc,EAAE,CAAC;oBACpE,MAAM,IAAI,OAAO,CACf,WAAW,CAAC,cAAc,CAAC,iBAAiB,CAAC,EAC7C,2BAA2B,IAAI,CAAC,MAAM,2DAA2D,CAClG,CAAC;gBACJ,CAAC;gBAED,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC;YAClC,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Item\n */\n\nimport { UiError } from \"@itwin/appui-abstract\";\nimport { ConfigurableUiControlType } from \"../configurableui/ConfigurableUiControl.js\";\nimport { UiFramework } from \"../UiFramework.js\";\nimport type { ToolUiProvider } from \"./ToolUiProvider.js\";\n\n/* eslint-disable @typescript-eslint/no-deprecated */\n\n/** Provides information about a tool with a given id, including the ToolUiProvider.\n * @public\n * @deprecated in 4.16.0. Uses a deprecated class {@link ToolUiProvider}.\n */\nexport class ToolInformation {\n private _toolUiProvider: ToolUiProvider | undefined;\n\n constructor(public toolId: string) {}\n\n /** Get the ToolUiProvider registered for this tool */\n public get toolUiProvider(): ToolUiProvider | undefined {\n if (!this._toolUiProvider) {\n let provider: ToolUiProvider | undefined;\n\n if (UiFramework.controls.isRegistered(this.toolId)) {\n provider = UiFramework.controls.create(\n this.toolId,\n this.toolId\n ) as ToolUiProvider;\n } else {\n if (\n UiFramework.toolSettings.useDefaultToolSettingsProvider &&\n this.toolId === UiFramework.toolSettings.toolIdForToolSettings\n )\n provider = UiFramework.controls.create(\n \"DefaultToolSettings\",\n this.toolId\n ) as ToolUiProvider;\n }\n if (provider) {\n if (provider.getType() !== ConfigurableUiControlType.ToolUiProvider) {\n throw new UiError(\n UiFramework.loggerCategory(\"ToolInformation\"),\n `toolUiProvider: toolId '${this.toolId}' is registered to a control that is NOT a ToolUiProvider`\n );\n }\n\n this._toolUiProvider = provider;\n }\n }\n\n return this._toolUiProvider;\n }\n}\n"]}
|
|
@@ -13,6 +13,9 @@ import { ConfigurableUiControl, ConfigurableUiControlType, } from "../configurab
|
|
|
13
13
|
* @deprecated in 4.16.0. Extends a deprecated class {@link ConfigurableUiControl}.
|
|
14
14
|
*/
|
|
15
15
|
export class ToolUiProvider extends ConfigurableUiControl {
|
|
16
|
+
_toolSettingsNode;
|
|
17
|
+
_horizontalToolSettingNodes;
|
|
18
|
+
_dataProvider;
|
|
16
19
|
constructor(info, options) {
|
|
17
20
|
super(info, options);
|
|
18
21
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolUiProvider.js","sourceRoot":"","sources":["../../../src/appui-react/toolsettings/ToolUiProvider.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAKH,OAAO,EACL,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,4CAA4C,CAAC;AAIpD,qDAAqD;AAErD;;;;GAIG;AACH,MAAM,OAAO,cAAe,SAAQ,qBAAqB;
|
|
1
|
+
{"version":3,"file":"ToolUiProvider.js","sourceRoot":"","sources":["../../../src/appui-react/toolsettings/ToolUiProvider.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAKH,OAAO,EACL,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,4CAA4C,CAAC;AAIpD,qDAAqD;AAErD;;;;GAIG;AACH,MAAM,OAAO,cAAe,SAAQ,qBAAqB;IAC/C,iBAAiB,CAAkB;IACnC,2BAA2B,CAAkC;IAC3D,aAAa,CAA6B;IACpD,YAAY,IAA4B,EAAE,OAAY;QACpD,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACvB,CAAC;IAED,IAAoB,QAAQ;QAC1B,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,KAAK,CAAC,QAAQ,GAAG,CAAC;IACvD,CAAC;IAED,yIAAyI;IACzI,IAAW,gBAAgB;QACzB,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IACD,IAAW,gBAAgB,CAAC,CAAkB;QAC5C,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,IAAW,0BAA0B;QACnC,OAAO,IAAI,CAAC,2BAA2B,CAAC;IAC1C,CAAC;IACD,IAAW,0BAA0B,CAAC,CAAkC;QACtE,IAAI,CAAC,2BAA2B,GAAG,CAAC,CAAC;IACvC,CAAC;IAED,+BAA+B;IAC/B,IAAW,YAAY;QACrB,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IACD,IAAW,YAAY,CAAC,CAA6B;QACnD,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;IACzB,CAAC;IAED,qFAAqF;IAC9E,OAAO;QACZ,OAAO,yBAAyB,CAAC,cAAc,CAAC;IAClD,CAAC;IAEM,0BAA0B,CAC/B,KAA0C,IACnC,CAAC;IACH,wBAAwB,KAAU,CAAC;CAC3C","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 ToolSettings\n */\n\nimport type * as React from \"react\";\nimport type { UiDataProvider } from \"@itwin/appui-abstract\";\nimport type { ConfigurableCreateInfo } from \"../configurableui/ConfigurableUiControl.js\";\nimport {\n ConfigurableUiControl,\n ConfigurableUiControlType,\n} from \"../configurableui/ConfigurableUiControl.js\";\nimport type { ToolSettingsEntry } from \"../widget-panels/ToolSettings.js\";\nimport type { SyncToolSettingsPropertiesEventArgs } from \"../framework/FrameworkToolSettings.js\";\n\n/* eslint-disable @typescript-eslint/no-deprecated */\n\n/** ToolUiProvider provides the Tool Settings and/or Tool Assistance UI for a tool.\n * The ToolUiProvider is registered for the tool id via UiFramework.controls.register.\n * @public\n * @deprecated in 4.16.0. Extends a deprecated class {@link ConfigurableUiControl}.\n */\nexport class ToolUiProvider extends ConfigurableUiControl {\n private _toolSettingsNode: React.ReactNode;\n private _horizontalToolSettingNodes: ToolSettingsEntry[] | undefined;\n protected _dataProvider: UiDataProvider | undefined;\n constructor(info: ConfigurableCreateInfo, options: any) {\n super(info, options);\n }\n\n public override get uniqueId(): string {\n return `${this.constructor.name}[${super.uniqueId}]`;\n }\n\n /** A React node that holds tool settings when shown in a rectangular area (i.e. not in Horizontal area at top of application window.) */\n public get toolSettingsNode(): React.ReactNode {\n return this._toolSettingsNode;\n }\n public set toolSettingsNode(r: React.ReactNode) {\n this._toolSettingsNode = r;\n }\n\n /** An array of entries to load into the horizontal tool settings\n * @public\n */\n public get horizontalToolSettingNodes(): ToolSettingsEntry[] | undefined {\n return this._horizontalToolSettingNodes;\n }\n public set horizontalToolSettingNodes(r: ToolSettingsEntry[] | undefined) {\n this._horizontalToolSettingNodes = r;\n }\n\n /** The UiDataProvider class */\n public get dataProvider(): UiDataProvider | undefined {\n return this._dataProvider;\n }\n public set dataProvider(d: UiDataProvider | undefined) {\n this._dataProvider = d;\n }\n\n /** Gets the type of ConfigurableUiControl, which is 'ToolUiProvider' in this case */\n public getType(): ConfigurableUiControlType {\n return ConfigurableUiControlType.ToolUiProvider;\n }\n\n public syncToolSettingsProperties(\n _args: SyncToolSettingsPropertiesEventArgs\n ): void {}\n public reloadPropertiesFromTool(): void {}\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractUiItemsManager.js","sourceRoot":"","sources":["../../../src/appui-react/ui-items-provider/AbstractUiItemsManager.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module UiProvider\n */\n\n/* eslint-disable @typescript-eslint/no-deprecated, @typescript-eslint/ban-ts-comment */\n\nimport * as abstract from \"@itwin/appui-abstract\";\nimport type { BeUiEvent } from \"@itwin/core-bentley\";\nimport { assert } from \"@itwin/core-bentley\";\nimport type { IconSpec } from \"@itwin/core-react\";\nimport type { BadgeKind } from \"@itwin/core-react/internal\";\nimport { BadgeType, IconHelper } from \"@itwin/core-react\";\nimport type {\n // @ts-ignore Removed in 4.0\n BackstageItem as AbstractBackstageItem,\n // @ts-ignore Removed in 4.0\n CommonStatusBarItem as AbstractStatusBarItem,\n CommonToolbarItem as AbstractToolbarItem,\n // @ts-ignore Removed in 4.0\n UiItemsManager as AbstractUiItemsManagerType,\n // @ts-ignore Removed in 4.0\n UiItemsProvider as AbstractUiItemsProvider,\n // @ts-ignore Removed in 4.0\n AbstractWidgetProps as AbstractWidget,\n} from \"@itwin/appui-abstract\";\nimport type {\n UiItemsManager,\n UiItemsProviderOverrides,\n UiItemsProviderRegisteredEventArgs,\n} from \"./UiItemsManager.js\";\nimport { StagePanelLocation } from \"../stagepanels/StagePanelLocation.js\";\nimport { StagePanelSection } from \"../stagepanels/StagePanelSection.js\";\nimport type { Widget } from \"../widgets/Widget.js\";\nimport type { ProviderItem } from \"./ProviderItem.js\";\nimport type { UiItemsProvider } from \"./UiItemsProvider.js\";\nimport type {\n ToolbarItem,\n ToolbarOrientation,\n ToolbarUsage,\n} from \"../toolbar/ToolbarItem.js\";\nimport {\n isToolbarActionItem,\n isToolbarGroupItem,\n} from \"../toolbar/ToolbarItem.js\";\nimport type { BackstageItem } from \"../backstage/BackstageItem.js\";\nimport type { StatusBarItem } from \"../statusbar/StatusBarItem.js\";\nimport { isStatusBarCustomItem } from \"../statusbar/StatusBarItem.js\";\n\nconst _abstract = abstract;\n\n// eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents\nconst AbstractUiItemsManager: typeof AbstractUiItemsManagerType | undefined =\n // @ts-ignore Removed in 4.0\n _abstract.UiItemsManager;\n// @ts-ignore Removed in 4.0\nconst isAbstractStatusBarCustomItem = _abstract.isAbstractStatusBarCustomItem;\n// @ts-ignore Removed in 4.0\ntype AbstractStagePanelLocation = _abstract.StagePanelLocation;\n// @ts-ignore Removed in 4.0\nconst AbstractStagePanelLocation = _abstract.StagePanelLocation; // eslint-disable-line @typescript-eslint/no-redeclare\n// @ts-ignore Removed in 4.0\ntype AbstractStagePanelSection = _abstract.StagePanelSection;\n// @ts-ignore Removed in 4.0\nconst AbstractStagePanelSection = _abstract.StagePanelSection; // eslint-disable-line @typescript-eslint/no-redeclare\n// @ts-ignore Removed in 4.0\ntype AbstractToolbarUsage = _abstract.ToolbarUsage;\n// @ts-ignore Removed in 4.0\nconst AbstractToolbarUsage = _abstract.ToolbarUsage; // eslint-disable-line @typescript-eslint/no-redeclare\n// @ts-ignore Removed in 4.0\ntype AbstractToolbarOrientation = _abstract.ToolbarOrientation;\n// @ts-ignore Removed in 4.0\nconst AbstractToolbarOrientation = _abstract.ToolbarOrientation; // eslint-disable-line @typescript-eslint/no-redeclare\n// @ts-ignore Removed in 4.0\ntype AbstractZoneLocation = _abstract.AbstractZoneLocation;\n// @ts-ignore Removed in 4.0\nconst AbstractZoneLocation = _abstract.AbstractZoneLocation; // eslint-disable-line @typescript-eslint/no-redeclare\n\nconst AbstractToolbarItemUtilities = abstract.ToolbarItemUtilities;\n\nconst originalDataSymbol = Symbol(\"originalData\");\n\n/** @internal */\nexport function createAbstractUiItemsManagerAdapter() {\n if (!AbstractUiItemsManager) return undefined;\n return new AbstractUiItemsManagerAdapter(AbstractUiItemsManager);\n}\n\ntype Target = Pick<\n typeof UiItemsManager,\n | \"getToolbarButtonItems\"\n | \"getStatusBarItems\"\n | \"getBackstageItems\"\n | \"register\"\n | \"getUiItemsProvider\"\n | \"registeredProviderIds\"\n | \"hasRegisteredProviders\"\n | \"unregister\"\n | \"onUiProviderRegisteredEvent\"\n | \"clearAllProviders\"\n>;\n\nclass AbstractUiItemsManagerAdapter implements Target {\n constructor(private readonly _adaptee: typeof AbstractUiItemsManagerType) {}\n\n public clearAllProviders(): void {\n return this._adaptee.clearAllProviders();\n }\n\n public get onUiProviderRegisteredEvent(): BeUiEvent<UiItemsProviderRegisteredEventArgs> {\n if (!(\"emit\" in this._adaptee.onUiProviderRegisteredEvent)) {\n (this._adaptee.onUiProviderRegisteredEvent as any).emit = (\n args: UiItemsProviderRegisteredEventArgs\n ) => {\n this._adaptee.onUiProviderRegisteredEvent.raiseEvent(args);\n };\n }\n return this._adaptee\n .onUiProviderRegisteredEvent as BeUiEvent<UiItemsProviderRegisteredEventArgs>;\n }\n\n public unregister(providerId: string): void {\n return this._adaptee.unregister(providerId);\n }\n\n public get hasRegisteredProviders(): boolean {\n return this._adaptee.hasRegisteredProviders;\n }\n\n public get registeredProviderIds(): string[] {\n return this._adaptee.registeredProviderIds;\n }\n\n public register(\n provider: UiItemsProvider,\n overrides?: UiItemsProviderOverrides | undefined\n ): void {\n const abstractProvider = createUiItemsProviderToAbstractAdapter(provider);\n return this._adaptee.register(abstractProvider, overrides);\n }\n\n public getUiItemsProvider(providerId: string): UiItemsProvider | undefined {\n const abstractProvider = this._adaptee.getUiItemsProvider(providerId);\n if (!abstractProvider) return undefined;\n\n const provider = createAbstractToUiItemsProviderAdapter(abstractProvider);\n return provider;\n }\n\n public getBackstageItems(): readonly ProviderItem<BackstageItem>[] {\n const abstractItems = this._adaptee.getBackstageItems();\n // @ts-ignore Possibly 'any'\n const items = abstractItems.map((abstractItem) => {\n const item = fromAbstractBackstageItem(abstractItem);\n return {\n ...item,\n providerId: abstractItem.providerId ? abstractItem.providerId : \"\",\n };\n });\n return items;\n }\n\n public getStatusBarItems(\n stageId: string,\n stageUsage: string\n ): readonly ProviderItem<StatusBarItem>[] {\n const abstractItems = this._adaptee.getStatusBarItems(stageId, stageUsage);\n // @ts-ignore Possibly 'any'\n const items = abstractItems.map((abstractItem) => {\n const item = fromAbstractStatusBarItem(abstractItem);\n return {\n ...item,\n providerId: abstractItem.providerId ? abstractItem.providerId : \"\",\n };\n });\n return items;\n }\n\n public getToolbarButtonItems(\n stageId: string,\n stageUsage: string,\n usage: ToolbarUsage,\n orientation: ToolbarOrientation\n ): readonly ProviderItem<ToolbarItem>[] {\n const abstractItems = this._adaptee.getToolbarButtonItems(\n stageId,\n stageUsage,\n usage,\n orientation\n );\n // @ts-ignore Possibly 'any'\n const items = abstractItems.map((abstractItem) => {\n const item = fromAbstractToolbarItem(abstractItem);\n return {\n ...item,\n providerId: abstractItem.providerId ?? \"\",\n };\n });\n return items;\n }\n\n public getWidgets(\n stageId: string,\n stageUsage: string,\n location: StagePanelLocation,\n section?: StagePanelSection | undefined\n ): readonly ProviderItem<Widget>[] {\n const abstractLocations = toAbstractStagePanelLocation(location);\n const abstractSections =\n section === undefined\n ? ([undefined] as const)\n : toAbstractStagePanelSection(section);\n const combos: [\n AbstractStagePanelLocation,\n AbstractStagePanelSection | undefined // eslint-disable-line @typescript-eslint/no-redundant-type-constituents\n ][] = [];\n abstractLocations.forEach((abstractLocation) => {\n abstractSections.forEach((abstractSection) => {\n combos.push([abstractLocation, abstractSection]);\n });\n });\n let abstractWidgets = combos.reduce<AbstractWidget[]>(\n (acc, [abstractLocation, abstractSection]) => {\n const w = this._adaptee.getWidgets(\n stageId,\n stageUsage,\n abstractLocation,\n abstractSection\n );\n acc.push(...w);\n return acc;\n },\n []\n );\n abstractWidgets = abstractWidgets.reduce<AbstractWidget[]>(\n (acc, abstractWidget) => {\n if (-1 === acc.findIndex((w) => w.id === abstractWidget.id))\n acc.push(abstractWidget);\n return acc;\n },\n []\n );\n const widgets = abstractWidgets\n // @ts-ignore Possibly 'any'\n .map((abstractWidget) => {\n const widget = fromAbstractWidget(abstractWidget);\n return {\n ...widget,\n providerId: abstractWidget.providerId ?? \"\",\n };\n });\n return widgets;\n }\n}\n\nfunction createUiItemsProviderToAbstractAdapter(\n adaptee: UiItemsProvider\n): AbstractUiItemsProvider {\n const {\n id,\n onUnregister,\n provideBackstageItems,\n provideStatusBarItems,\n provideWidgets,\n ...other\n } = adaptee;\n const provider = createGetPropertyAdapter(adaptee);\n return {\n id: adaptee.id,\n onUnregister: adaptee.onUnregister,\n provideBackstageItems: () => {\n const items = provider.provideBackstageItems();\n const abstractItems = items.map((item) => toAbstractBackstageItem(item));\n return abstractItems;\n },\n provideStatusBarItems: (\n stageId: string,\n stageUsage: string,\n _stageAppData: any\n ) => {\n const items = provider.provideStatusBarItems(stageId, stageUsage);\n const abstractItems = items.map((item) => toAbstractStatusBarItem(item));\n return abstractItems;\n },\n provideToolbarButtonItems: (\n stageId: string,\n stageUsage: string,\n usage: AbstractToolbarUsage,\n orientation: AbstractToolbarOrientation,\n _stageAppData: any\n ) => {\n const items = provider.provideToolbarItems(\n stageId,\n stageUsage,\n usage,\n orientation\n );\n const abstractItems = items.map((item) => toAbstractToolbarItem(item));\n return abstractItems;\n },\n provideWidgets: (\n stageId: string,\n stageUsage: string,\n abstractLocation: AbstractStagePanelLocation,\n abstractSection: AbstractStagePanelSection,\n _zoneLocation: AbstractZoneLocation,\n _stageAppData: any\n ) => {\n const location = fromAbstractStagePanelLocation(abstractLocation);\n const section =\n abstractSection === undefined\n ? undefined\n : fromAbstractStagePanelSection(abstractSection);\n const items = provider.provideWidgets(\n stageId,\n stageUsage,\n location,\n section\n );\n const abstractWidgets = items.map((item) => toAbstractWidget(item));\n return abstractWidgets;\n },\n ...other,\n };\n}\n\nfunction createAbstractToUiItemsProviderAdapter(\n adaptee: AbstractUiItemsProvider\n): UiItemsProvider {\n const {\n id,\n onUnregister,\n provideBackstageItems,\n provideStatusBarItems,\n provideWidgets,\n ...other\n } = adaptee;\n return {\n id: adaptee.id,\n onUnregister: adaptee.onUnregister,\n provideBackstageItems: () => {\n if (!adaptee.provideBackstageItems) return [];\n\n const abstractItems = adaptee.provideBackstageItems();\n // @ts-ignore Possibly 'any'\n const items = abstractItems.map((abstractItem) =>\n fromAbstractBackstageItem(abstractItem)\n );\n return items;\n },\n provideStatusBarItems: (stageId, stageUsage) => {\n if (!adaptee.provideStatusBarItems) return [];\n\n const abstractItems = adaptee.provideStatusBarItems(stageId, stageUsage);\n // @ts-ignore Possibly 'any'\n const items = abstractItems.map((abstractItem) =>\n fromAbstractStatusBarItem(abstractItem)\n );\n return items;\n },\n provideWidgets: (stageId, stageUsage, location, section) => {\n if (!adaptee.provideWidgets) return [];\n\n const abstractLocations = toAbstractStagePanelLocation(location);\n const abstractSections =\n section === undefined\n ? ([undefined] as const)\n : toAbstractStagePanelSection(section);\n const combos: [\n AbstractStagePanelLocation,\n AbstractStagePanelSection | undefined // eslint-disable-line @typescript-eslint/no-redundant-type-constituents\n ][] = [];\n abstractLocations.forEach((abstractLocation) => {\n abstractSections.forEach((abstractSection) => {\n combos.push([abstractLocation, abstractSection]);\n });\n });\n let abstractWidgets = combos.reduce<AbstractWidget[]>(\n (acc, [abstractLocation, abstractSection]) => {\n assert(!!adaptee.provideWidgets);\n const w = adaptee.provideWidgets(\n stageId,\n stageUsage,\n abstractLocation,\n abstractSection\n );\n acc.push(...w);\n return acc;\n },\n []\n );\n abstractWidgets = abstractWidgets.reduce<AbstractWidget[]>(\n (acc, abstractWidget) => {\n if (-1 === acc.findIndex((w) => w.id === abstractWidget.id))\n acc.push(abstractWidget);\n return acc;\n },\n []\n );\n const widgets = abstractWidgets.map((abstractWidget) =>\n fromAbstractWidget(abstractWidget)\n );\n return widgets;\n },\n provideToolbarItems: (stageId, stageUsage, usage, orientation) => {\n if (!adaptee.provideToolbarButtonItems) return [];\n\n const abstractItems = adaptee.provideToolbarButtonItems(\n stageId,\n stageUsage,\n usage,\n orientation\n );\n // @ts-ignore Possibly 'any'\n const items = abstractItems.map((abstractItem) =>\n fromAbstractToolbarItem(abstractItem)\n );\n return items;\n },\n ...other,\n };\n}\n\nfunction getBadgeType(badgeKind: BadgeKind | undefined) {\n switch (badgeKind) {\n case \"new\":\n return BadgeType.New;\n case \"technical-preview\":\n return BadgeType.TechnicalPreview;\n default:\n return undefined;\n }\n}\n\nfunction toAbstractBackstageItem(item: BackstageItem): AbstractBackstageItem {\n let abstractItem = getOriginalData<AbstractBackstageItem>(item);\n if (abstractItem) return abstractItem;\n\n const internalData = new Map();\n const icon = IconHelper.getIconData(item.icon, internalData);\n abstractItem = {\n ...item,\n badgeType: getBadgeType(item.badgeKind) || item.badge,\n icon,\n internalData,\n };\n setOriginalData(abstractItem, item);\n return abstractItem;\n}\n\nfunction toAbstractStatusBarItem(item: StatusBarItem): AbstractStatusBarItem {\n let abstractItem = getOriginalData<AbstractStatusBarItem>(item);\n if (abstractItem) return abstractItem;\n\n if (isStatusBarCustomItem(item)) {\n abstractItem = {\n ...item,\n badgeType: getBadgeType(item.badgeKind) || item.badge,\n isCustom: true,\n reactNode: item.content,\n } as AbstractStatusBarItem;\n } else {\n const internalData = new Map();\n const icon = IconHelper.getIconData(item.icon, internalData);\n abstractItem = {\n ...item,\n badgeType: getBadgeType(item.badgeKind) || item.badge,\n icon,\n internalData,\n };\n }\n setOriginalData(abstractItem, item);\n return abstractItem;\n}\n\nfunction toAbstractToolbarItem(item: ToolbarItem): AbstractToolbarItem {\n let abstractItem = getOriginalData<AbstractToolbarItem>(item);\n if (abstractItem) return abstractItem;\n\n const internalData = new Map();\n const icon = IconHelper.getIconData(item.icon, internalData);\n if (isToolbarActionItem(item)) {\n abstractItem = {\n ...item,\n badgeType: getBadgeType(item.badgeKind) || item.badge,\n icon,\n internalData,\n parentToolGroupId: item.parentGroupItemId,\n };\n } else if (isToolbarGroupItem(item)) {\n abstractItem = {\n ...item,\n badgeType: getBadgeType(item.badgeKind) || item.badge,\n icon,\n internalData,\n parentToolGroupId: item.parentGroupItemId,\n items: item.items.map((i) => toAbstractToolbarItem(i)) as any,\n };\n } else {\n abstractItem = {\n ...item,\n badgeType: getBadgeType(item.badgeKind) || item.badge,\n isCustom: true,\n icon,\n internalData,\n };\n }\n setOriginalData(abstractItem, item);\n return abstractItem;\n}\n\nfunction toAbstractWidget(widget: Widget): AbstractWidget {\n let abstractWidget = getOriginalData<AbstractWidget>(widget);\n if (abstractWidget) return abstractWidget;\n\n const allowedPanelTargets = widget.allowedPanels\n // @ts-ignore Possibly 'any'\n ?.map((location) => {\n const map = {\n [StagePanelLocation.Top]: \"top\" as const,\n [StagePanelLocation.Left]: \"left\" as const,\n [StagePanelLocation.Right]: \"right\" as const,\n [StagePanelLocation.Bottom]: \"bottom\" as const,\n };\n // @ts-ignore Possibly 'any'\n return map[location];\n });\n const internalData = new Map();\n const icon = IconHelper.getIconData(widget.icon, internalData);\n abstractWidget = {\n ...widget,\n id: widget.id ?? \"\",\n getWidgetContent: (): React.ReactNode => widget.content,\n allowedPanelTargets,\n badgeType: getBadgeType(widget.badgeKind) || widget.badge,\n defaultFloatingPosition:\n typeof widget.canFloat === \"object\"\n ? widget.canFloat.defaultPosition\n : undefined,\n defaultFloatingSize:\n typeof widget.canFloat === \"object\"\n ? widget.canFloat.defaultSize\n : undefined,\n floatingContainerId:\n typeof widget.canFloat === \"object\"\n ? widget.canFloat.containerId\n : undefined,\n hideWithUiWhenFloating:\n typeof widget.canFloat === \"object\"\n ? widget.canFloat.hideWithUi\n : undefined,\n isFloatingStateSupported: !!widget.canFloat,\n isFloatingStateWindowResizable:\n typeof widget.canFloat === \"object\"\n ? widget.canFloat.isResizable\n : undefined,\n icon,\n internalData,\n };\n setOriginalData(abstractWidget, widget);\n return abstractWidget;\n}\n\nfunction fromAbstractBackstageItem(\n abstractItem: AbstractBackstageItem\n): BackstageItem {\n let item = getOriginalData<BackstageItem>(abstractItem);\n if (item) return item;\n\n const icon = fromAbstractIcon(abstractItem.icon, abstractItem.internalData);\n item = {\n ...abstractItem,\n badge: abstractItem.badgeType,\n icon,\n };\n assert(!!item);\n setOriginalData(item, abstractItem);\n return item;\n}\n\nfunction fromAbstractStatusBarItem(\n abstractItem: AbstractStatusBarItem\n): StatusBarItem {\n let item = getOriginalData<StatusBarItem>(abstractItem);\n if (item) return item;\n\n if (isAbstractStatusBarCustomItem(abstractItem)) {\n const content: React.ReactNode | undefined = (abstractItem as any)\n .reactNode;\n return {\n ...abstractItem,\n badge: abstractItem.badgeType,\n content,\n };\n } else {\n const icon = fromAbstractIcon(abstractItem.icon, abstractItem.internalData);\n item = {\n ...abstractItem,\n badge: abstractItem.badgeType,\n icon,\n };\n }\n assert(!!item);\n setOriginalData(item, abstractItem);\n return item;\n}\n\nfunction fromAbstractToolbarItem(\n abstractItem: AbstractToolbarItem\n): ToolbarItem {\n let item = getOriginalData<ToolbarItem>(abstractItem);\n if (item) return item;\n\n const icon = fromAbstractIcon(abstractItem.icon, abstractItem.internalData);\n if (AbstractToolbarItemUtilities.isCustomDefinition(abstractItem)) {\n item = {\n ...abstractItem,\n badge: abstractItem.badgeType,\n icon,\n };\n } else {\n item = {\n ...abstractItem,\n badge: abstractItem.badgeType,\n parentGroupItemId: abstractItem.parentToolGroupId,\n icon,\n };\n }\n setOriginalData(item, abstractItem);\n return item;\n}\n\nfunction fromAbstractWidget(abstractWidget: AbstractWidget): Widget {\n let widget = getOriginalData<Widget>(abstractWidget);\n if (widget) return widget;\n\n const allowedPanels = abstractWidget.allowedPanelTargets\n // @ts-ignore Possibly 'any'\n ?.map((target) => {\n const map = {\n top: StagePanelLocation.Top,\n left: StagePanelLocation.Left,\n right: StagePanelLocation.Right,\n bottom: StagePanelLocation.Bottom,\n };\n // @ts-ignore Possibly 'any'\n return map[target];\n });\n const icon = fromAbstractIcon(\n abstractWidget.icon,\n abstractWidget.internalData\n );\n widget = {\n ...abstractWidget,\n id: abstractWidget.id ?? \"\",\n content: abstractWidget.getWidgetContent(),\n allowedPanels,\n badge: abstractWidget.badgeType,\n canFloat: abstractWidget.isFloatingStateSupported && {\n containerId: abstractWidget.floatingContainerId,\n defaultPosition: abstractWidget.defaultFloatingPosition,\n defaultSize: abstractWidget.defaultFloatingSize,\n hideWithUi: abstractWidget.hideWithUiWhenFloating,\n isResizable: abstractWidget.isFloatingStateWindowResizable,\n },\n icon,\n };\n assert(!!widget);\n setOriginalData(widget, abstractWidget);\n return widget;\n}\n\nfunction fromAbstractStagePanelLocation(\n location: AbstractStagePanelLocation\n): StagePanelLocation {\n switch (location) {\n case AbstractStagePanelLocation.Left:\n return StagePanelLocation.Left;\n case AbstractStagePanelLocation.Top:\n return StagePanelLocation.Top;\n case AbstractStagePanelLocation.TopMost:\n return StagePanelLocation.Top;\n case AbstractStagePanelLocation.Bottom:\n return StagePanelLocation.Bottom;\n case AbstractStagePanelLocation.BottomMost:\n return StagePanelLocation.Bottom;\n }\n return StagePanelLocation.Right;\n}\n\nfunction toAbstractStagePanelLocation(\n location: StagePanelLocation\n): AbstractStagePanelLocation[] {\n switch (location) {\n case StagePanelLocation.Left:\n return [AbstractStagePanelLocation.Left];\n case StagePanelLocation.Top:\n return [\n AbstractStagePanelLocation.Top,\n AbstractStagePanelLocation.TopMost,\n ];\n case StagePanelLocation.Bottom:\n return [\n AbstractStagePanelLocation.Bottom,\n AbstractStagePanelLocation.BottomMost,\n ];\n }\n return [AbstractStagePanelLocation.Right];\n}\n\nfunction fromAbstractStagePanelSection(\n section: AbstractStagePanelSection\n): StagePanelSection {\n switch (section) {\n case AbstractStagePanelSection.End:\n return StagePanelSection.End;\n }\n return StagePanelSection.Start;\n}\n\nfunction toAbstractStagePanelSection(\n section: StagePanelSection\n): AbstractStagePanelSection[] {\n switch (section) {\n case StagePanelSection.End:\n return [AbstractStagePanelSection.End];\n }\n return [AbstractStagePanelSection.Start, AbstractStagePanelSection.Middle];\n}\n\nfunction fromAbstractIcon(\n icon: string | abstract.ConditionalStringValue | undefined,\n internalData: Map<string, any> | undefined\n): IconSpec {\n if (!icon) return undefined;\n const iconString = abstract.ConditionalStringValue.getValue(icon);\n if (!iconString) return undefined;\n if (iconString === IconHelper.reactIconKey && internalData)\n return internalData.get(IconHelper.reactIconKey) as React.ReactNode;\n return iconString;\n}\n\nfunction getOriginalData<TData>(obj: object): TData | undefined {\n const originalData = (obj as any)[originalDataSymbol];\n if (!originalData) return undefined;\n return originalData;\n}\n\nfunction setOriginalData<TData>(obj: object, data: TData) {\n (obj as any)[originalDataSymbol] = data;\n}\n\n/** Maps items of existing `get` properties to `provide` properties, otherwise uses `provide` properties.\n * @internal\n */\nexport function createGetPropertyAdapter(provider: UiItemsProvider) {\n return {\n ...provider,\n provideBackstageItems: () => {\n return (\n provider.getBackstageItems?.() ??\n provider.provideBackstageItems?.() ??\n []\n );\n },\n provideStatusBarItems: (stageId, stageUsage) => {\n return (\n provider.getStatusBarItems?.() ??\n provider.provideStatusBarItems?.(stageId, stageUsage) ??\n []\n );\n },\n provideToolbarItems: (stageId, stageUsage, usage, orientation) => {\n if (provider.getToolbarItems) {\n return provider.getToolbarItems().filter((item) => {\n const layout = item.layouts?.standard;\n if (!layout) return false;\n return layout.usage === usage && layout.orientation === orientation;\n });\n }\n return (\n provider.provideToolbarItems?.(\n stageId,\n stageUsage,\n usage,\n orientation\n ) ?? []\n );\n },\n provideWidgets: (stageId, stageUsage, location, section) => {\n if (provider.getWidgets) {\n return provider.getWidgets().filter((item) => {\n const layout = item.layouts?.standard;\n if (!layout) return false;\n return layout.location === location && layout.section === section;\n });\n }\n return (\n provider.provideWidgets?.(stageId, stageUsage, location, section) ?? []\n );\n },\n } satisfies UiItemsProvider;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"AbstractUiItemsManager.js","sourceRoot":"","sources":["../../../src/appui-react/ui-items-provider/AbstractUiItemsManager.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module UiProvider\n */\n\n/* eslint-disable @typescript-eslint/no-deprecated, @typescript-eslint/ban-ts-comment */\n\nimport * as abstract from \"@itwin/appui-abstract\";\nimport type { BeUiEvent } from \"@itwin/core-bentley\";\nimport { assert } from \"@itwin/core-bentley\";\nimport type { IconSpec } from \"@itwin/core-react\";\nimport type { BadgeKind } from \"@itwin/core-react/internal\";\nimport { BadgeType, IconHelper } from \"@itwin/core-react\";\nimport type {\n // @ts-ignore Removed in 4.0\n BackstageItem as AbstractBackstageItem,\n // @ts-ignore Removed in 4.0\n CommonStatusBarItem as AbstractStatusBarItem,\n CommonToolbarItem as AbstractToolbarItem,\n // @ts-ignore Removed in 4.0\n UiItemsManager as AbstractUiItemsManagerType,\n // @ts-ignore Removed in 4.0\n UiItemsProvider as AbstractUiItemsProvider,\n // @ts-ignore Removed in 4.0\n AbstractWidgetProps as AbstractWidget,\n} from \"@itwin/appui-abstract\";\nimport type {\n UiItemsManager,\n UiItemsProviderOverrides,\n UiItemsProviderRegisteredEventArgs,\n} from \"./UiItemsManager.js\";\nimport { StagePanelLocation } from \"../stagepanels/StagePanelLocation.js\";\nimport { StagePanelSection } from \"../stagepanels/StagePanelSection.js\";\nimport type { Widget } from \"../widgets/Widget.js\";\nimport type { ProviderItem } from \"./ProviderItem.js\";\nimport type { UiItemsProvider } from \"./UiItemsProvider.js\";\nimport type {\n ToolbarItem,\n ToolbarOrientation,\n ToolbarUsage,\n} from \"../toolbar/ToolbarItem.js\";\nimport {\n isToolbarActionItem,\n isToolbarGroupItem,\n} from \"../toolbar/ToolbarItem.js\";\nimport type { BackstageItem } from \"../backstage/BackstageItem.js\";\nimport type { StatusBarItem } from \"../statusbar/StatusBarItem.js\";\nimport { isStatusBarCustomItem } from \"../statusbar/StatusBarItem.js\";\n\nconst _abstract = abstract;\n\n// eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents\nconst AbstractUiItemsManager: typeof AbstractUiItemsManagerType | undefined =\n // @ts-ignore Removed in 4.0\n _abstract.UiItemsManager;\n// @ts-ignore Removed in 4.0\nconst isAbstractStatusBarCustomItem = _abstract.isAbstractStatusBarCustomItem;\n// @ts-ignore Removed in 4.0\ntype AbstractStagePanelLocation = _abstract.StagePanelLocation;\n// @ts-ignore Removed in 4.0\nconst AbstractStagePanelLocation = _abstract.StagePanelLocation; // eslint-disable-line @typescript-eslint/no-redeclare\n// @ts-ignore Removed in 4.0\ntype AbstractStagePanelSection = _abstract.StagePanelSection;\n// @ts-ignore Removed in 4.0\nconst AbstractStagePanelSection = _abstract.StagePanelSection; // eslint-disable-line @typescript-eslint/no-redeclare\n// @ts-ignore Removed in 4.0\ntype AbstractToolbarUsage = _abstract.ToolbarUsage;\n// @ts-ignore Removed in 4.0\nconst AbstractToolbarUsage = _abstract.ToolbarUsage; // eslint-disable-line @typescript-eslint/no-redeclare\n// @ts-ignore Removed in 4.0\ntype AbstractToolbarOrientation = _abstract.ToolbarOrientation;\n// @ts-ignore Removed in 4.0\nconst AbstractToolbarOrientation = _abstract.ToolbarOrientation; // eslint-disable-line @typescript-eslint/no-redeclare\n// @ts-ignore Removed in 4.0\ntype AbstractZoneLocation = _abstract.AbstractZoneLocation;\n// @ts-ignore Removed in 4.0\nconst AbstractZoneLocation = _abstract.AbstractZoneLocation; // eslint-disable-line @typescript-eslint/no-redeclare\n\nconst AbstractToolbarItemUtilities = abstract.ToolbarItemUtilities;\n\nconst originalDataSymbol = Symbol(\"originalData\");\n\n/** @internal */\nexport function createAbstractUiItemsManagerAdapter() {\n if (!AbstractUiItemsManager) return undefined;\n return new AbstractUiItemsManagerAdapter(AbstractUiItemsManager);\n}\n\ntype Target = Pick<\n typeof UiItemsManager,\n | \"getToolbarButtonItems\"\n | \"getStatusBarItems\"\n | \"getBackstageItems\"\n | \"register\"\n | \"getUiItemsProvider\"\n | \"registeredProviderIds\"\n | \"hasRegisteredProviders\"\n | \"unregister\"\n | \"onUiProviderRegisteredEvent\"\n | \"clearAllProviders\"\n>;\n\nclass AbstractUiItemsManagerAdapter implements Target {\n constructor(private readonly _adaptee: typeof AbstractUiItemsManagerType) {}\n\n public clearAllProviders(): void {\n return this._adaptee.clearAllProviders();\n }\n\n public get onUiProviderRegisteredEvent(): BeUiEvent<UiItemsProviderRegisteredEventArgs> {\n if (!(\"emit\" in this._adaptee.onUiProviderRegisteredEvent)) {\n (this._adaptee.onUiProviderRegisteredEvent as any).emit = (\n args: UiItemsProviderRegisteredEventArgs\n ) => {\n this._adaptee.onUiProviderRegisteredEvent.raiseEvent(args);\n };\n }\n return this._adaptee\n .onUiProviderRegisteredEvent as BeUiEvent<UiItemsProviderRegisteredEventArgs>;\n }\n\n public unregister(providerId: string): void {\n return this._adaptee.unregister(providerId);\n }\n\n public get hasRegisteredProviders(): boolean {\n return this._adaptee.hasRegisteredProviders;\n }\n\n public get registeredProviderIds(): string[] {\n return this._adaptee.registeredProviderIds;\n }\n\n public register(\n provider: UiItemsProvider,\n overrides?: UiItemsProviderOverrides | undefined\n ): void {\n const abstractProvider = createUiItemsProviderToAbstractAdapter(provider);\n return this._adaptee.register(abstractProvider, overrides);\n }\n\n public getUiItemsProvider(providerId: string): UiItemsProvider | undefined {\n const abstractProvider = this._adaptee.getUiItemsProvider(providerId);\n if (!abstractProvider) return undefined;\n\n const provider = createAbstractToUiItemsProviderAdapter(abstractProvider);\n return provider;\n }\n\n public getBackstageItems(): readonly ProviderItem<BackstageItem>[] {\n const abstractItems = this._adaptee.getBackstageItems();\n // @ts-ignore Possibly 'any'\n const items = abstractItems.map((abstractItem) => {\n const item = fromAbstractBackstageItem(abstractItem);\n return {\n ...item,\n providerId: abstractItem.providerId ? abstractItem.providerId : \"\",\n };\n });\n return items;\n }\n\n public getStatusBarItems(\n stageId: string,\n stageUsage: string\n ): readonly ProviderItem<StatusBarItem>[] {\n const abstractItems = this._adaptee.getStatusBarItems(stageId, stageUsage);\n // @ts-ignore Possibly 'any'\n const items = abstractItems.map((abstractItem) => {\n const item = fromAbstractStatusBarItem(abstractItem);\n return {\n ...item,\n providerId: abstractItem.providerId ? abstractItem.providerId : \"\",\n };\n });\n return items;\n }\n\n public getToolbarButtonItems(\n stageId: string,\n stageUsage: string,\n usage: ToolbarUsage,\n orientation: ToolbarOrientation\n ): readonly ProviderItem<ToolbarItem>[] {\n const abstractItems = this._adaptee.getToolbarButtonItems(\n stageId,\n stageUsage,\n usage,\n orientation\n );\n // @ts-ignore Possibly 'any'\n const items = abstractItems.map((abstractItem) => {\n const item = fromAbstractToolbarItem(abstractItem);\n return {\n ...item,\n providerId: abstractItem.providerId ?? \"\",\n };\n });\n return items;\n }\n\n public getWidgets(\n stageId: string,\n stageUsage: string,\n location: StagePanelLocation,\n section?: StagePanelSection | undefined\n ): readonly ProviderItem<Widget>[] {\n const abstractLocations = toAbstractStagePanelLocation(location);\n const abstractSections =\n section === undefined\n ? ([undefined] as const)\n : toAbstractStagePanelSection(section);\n const combos: [\n AbstractStagePanelLocation,\n AbstractStagePanelSection | undefined // eslint-disable-line @typescript-eslint/no-redundant-type-constituents\n ][] = [];\n abstractLocations.forEach((abstractLocation) => {\n abstractSections.forEach((abstractSection) => {\n combos.push([abstractLocation, abstractSection]);\n });\n });\n let abstractWidgets = combos.reduce<AbstractWidget[]>(\n (acc, [abstractLocation, abstractSection]) => {\n const w = this._adaptee.getWidgets(\n stageId,\n stageUsage,\n abstractLocation,\n abstractSection\n );\n acc.push(...w);\n return acc;\n },\n []\n );\n abstractWidgets = abstractWidgets.reduce<AbstractWidget[]>(\n (acc, abstractWidget) => {\n if (-1 === acc.findIndex((w) => w.id === abstractWidget.id))\n acc.push(abstractWidget);\n return acc;\n },\n []\n );\n const widgets = abstractWidgets\n // @ts-ignore Possibly 'any'\n .map((abstractWidget) => {\n const widget = fromAbstractWidget(abstractWidget);\n return {\n ...widget,\n providerId: abstractWidget.providerId ?? \"\",\n };\n });\n return widgets;\n }\n}\n\nfunction createUiItemsProviderToAbstractAdapter(\n adaptee: UiItemsProvider\n): AbstractUiItemsProvider {\n const {\n id,\n onUnregister,\n provideBackstageItems,\n provideStatusBarItems,\n provideWidgets,\n ...other\n } = adaptee;\n const provider = createGetPropertyAdapter(adaptee);\n return {\n id: adaptee.id,\n onUnregister: adaptee.onUnregister,\n provideBackstageItems: () => {\n const items = provider.provideBackstageItems();\n const abstractItems = items.map((item) => toAbstractBackstageItem(item));\n return abstractItems;\n },\n provideStatusBarItems: (\n stageId: string,\n stageUsage: string,\n _stageAppData: any\n ) => {\n const items = provider.provideStatusBarItems(stageId, stageUsage);\n const abstractItems = items.map((item) => toAbstractStatusBarItem(item));\n return abstractItems;\n },\n provideToolbarButtonItems: (\n stageId: string,\n stageUsage: string,\n usage: AbstractToolbarUsage,\n orientation: AbstractToolbarOrientation,\n _stageAppData: any\n ) => {\n const items = provider.provideToolbarItems(\n stageId,\n stageUsage,\n usage,\n orientation\n );\n const abstractItems = items.map((item) => toAbstractToolbarItem(item));\n return abstractItems;\n },\n provideWidgets: (\n stageId: string,\n stageUsage: string,\n abstractLocation: AbstractStagePanelLocation,\n abstractSection: AbstractStagePanelSection,\n _zoneLocation: AbstractZoneLocation,\n _stageAppData: any\n ) => {\n const location = fromAbstractStagePanelLocation(abstractLocation);\n const section =\n abstractSection === undefined\n ? undefined\n : fromAbstractStagePanelSection(abstractSection);\n const items = provider.provideWidgets(\n stageId,\n stageUsage,\n location,\n section\n );\n const abstractWidgets = items.map((item) => toAbstractWidget(item));\n return abstractWidgets;\n },\n ...other,\n };\n}\n\nfunction createAbstractToUiItemsProviderAdapter(\n adaptee: AbstractUiItemsProvider\n): UiItemsProvider {\n const {\n id,\n onUnregister,\n provideBackstageItems,\n provideStatusBarItems,\n provideWidgets,\n ...other\n } = adaptee;\n return {\n id: adaptee.id,\n onUnregister: adaptee.onUnregister,\n provideBackstageItems: () => {\n if (!adaptee.provideBackstageItems) return [];\n\n const abstractItems = adaptee.provideBackstageItems();\n // @ts-ignore Possibly 'any'\n const items = abstractItems.map((abstractItem) =>\n fromAbstractBackstageItem(abstractItem)\n );\n return items;\n },\n provideStatusBarItems: (stageId, stageUsage) => {\n if (!adaptee.provideStatusBarItems) return [];\n\n const abstractItems = adaptee.provideStatusBarItems(stageId, stageUsage);\n // @ts-ignore Possibly 'any'\n const items = abstractItems.map((abstractItem) =>\n fromAbstractStatusBarItem(abstractItem)\n );\n return items;\n },\n provideWidgets: (stageId, stageUsage, location, section) => {\n if (!adaptee.provideWidgets) return [];\n\n const abstractLocations = toAbstractStagePanelLocation(location);\n const abstractSections =\n section === undefined\n ? ([undefined] as const)\n : toAbstractStagePanelSection(section);\n const combos: [\n AbstractStagePanelLocation,\n AbstractStagePanelSection | undefined // eslint-disable-line @typescript-eslint/no-redundant-type-constituents\n ][] = [];\n abstractLocations.forEach((abstractLocation) => {\n abstractSections.forEach((abstractSection) => {\n combos.push([abstractLocation, abstractSection]);\n });\n });\n let abstractWidgets = combos.reduce<AbstractWidget[]>(\n (acc, [abstractLocation, abstractSection]) => {\n assert(!!adaptee.provideWidgets);\n const w = adaptee.provideWidgets(\n stageId,\n stageUsage,\n abstractLocation,\n abstractSection\n );\n acc.push(...w);\n return acc;\n },\n []\n );\n abstractWidgets = abstractWidgets.reduce<AbstractWidget[]>(\n (acc, abstractWidget) => {\n if (-1 === acc.findIndex((w) => w.id === abstractWidget.id))\n acc.push(abstractWidget);\n return acc;\n },\n []\n );\n const widgets = abstractWidgets.map((abstractWidget) =>\n fromAbstractWidget(abstractWidget)\n );\n return widgets;\n },\n provideToolbarItems: (stageId, stageUsage, usage, orientation) => {\n if (!adaptee.provideToolbarButtonItems) return [];\n\n const abstractItems = adaptee.provideToolbarButtonItems(\n stageId,\n stageUsage,\n usage,\n orientation\n );\n // @ts-ignore Possibly 'any'\n const items = abstractItems.map((abstractItem) =>\n fromAbstractToolbarItem(abstractItem)\n );\n return items;\n },\n ...other,\n };\n}\n\nfunction getBadgeType(badgeKind: BadgeKind | undefined) {\n switch (badgeKind) {\n case \"new\":\n return BadgeType.New;\n case \"technical-preview\":\n return BadgeType.TechnicalPreview;\n default:\n return undefined;\n }\n}\n\nfunction toAbstractBackstageItem(item: BackstageItem): AbstractBackstageItem {\n let abstractItem = getOriginalData<AbstractBackstageItem>(item);\n if (abstractItem) return abstractItem;\n\n const internalData = new Map();\n const icon = IconHelper.getIconData(item.icon, internalData);\n abstractItem = {\n ...item,\n badgeType: getBadgeType(item.badgeKind) || item.badge,\n icon,\n internalData,\n };\n setOriginalData(abstractItem, item);\n return abstractItem;\n}\n\nfunction toAbstractStatusBarItem(item: StatusBarItem): AbstractStatusBarItem {\n let abstractItem = getOriginalData<AbstractStatusBarItem>(item);\n if (abstractItem) return abstractItem;\n\n if (isStatusBarCustomItem(item)) {\n abstractItem = {\n ...item,\n badgeType: getBadgeType(item.badgeKind) || item.badge,\n isCustom: true,\n reactNode: item.content,\n } as AbstractStatusBarItem;\n } else {\n const internalData = new Map();\n const icon = IconHelper.getIconData(item.icon, internalData);\n abstractItem = {\n ...item,\n badgeType: getBadgeType(item.badgeKind) || item.badge,\n icon,\n internalData,\n };\n }\n setOriginalData(abstractItem, item);\n return abstractItem;\n}\n\nfunction toAbstractToolbarItem(item: ToolbarItem): AbstractToolbarItem {\n let abstractItem = getOriginalData<AbstractToolbarItem>(item);\n if (abstractItem) return abstractItem;\n\n const internalData = new Map();\n const icon = IconHelper.getIconData(item.icon, internalData);\n if (isToolbarActionItem(item)) {\n abstractItem = {\n ...item,\n badgeType: getBadgeType(item.badgeKind) || item.badge,\n icon,\n internalData,\n parentToolGroupId: item.parentGroupItemId,\n };\n } else if (isToolbarGroupItem(item)) {\n abstractItem = {\n ...item,\n badgeType: getBadgeType(item.badgeKind) || item.badge,\n icon,\n internalData,\n parentToolGroupId: item.parentGroupItemId,\n items: item.items.map((i) => toAbstractToolbarItem(i)) as any,\n };\n } else {\n abstractItem = {\n ...item,\n badgeType: getBadgeType(item.badgeKind) || item.badge,\n isCustom: true,\n icon,\n internalData,\n };\n }\n setOriginalData(abstractItem, item);\n return abstractItem;\n}\n\nfunction toAbstractWidget(widget: Widget): AbstractWidget {\n let abstractWidget = getOriginalData<AbstractWidget>(widget);\n if (abstractWidget) return abstractWidget;\n\n const allowedPanelTargets = widget.allowedPanels\n // @ts-ignore Possibly 'any'\n ?.map((location) => {\n const map = {\n [StagePanelLocation.Top]: \"top\" as const,\n [StagePanelLocation.Left]: \"left\" as const,\n [StagePanelLocation.Right]: \"right\" as const,\n [StagePanelLocation.Bottom]: \"bottom\" as const,\n };\n // @ts-ignore Possibly 'any'\n return map[location];\n });\n const internalData = new Map();\n const icon = IconHelper.getIconData(widget.icon, internalData);\n abstractWidget = {\n ...widget,\n id: widget.id ?? \"\",\n getWidgetContent: (): React.ReactNode => widget.content,\n allowedPanelTargets,\n badgeType: getBadgeType(widget.badgeKind) || widget.badge,\n defaultFloatingPosition:\n typeof widget.canFloat === \"object\"\n ? widget.canFloat.defaultPosition\n : undefined,\n defaultFloatingSize:\n typeof widget.canFloat === \"object\"\n ? widget.canFloat.defaultSize\n : undefined,\n floatingContainerId:\n typeof widget.canFloat === \"object\"\n ? widget.canFloat.containerId\n : undefined,\n hideWithUiWhenFloating:\n typeof widget.canFloat === \"object\"\n ? widget.canFloat.hideWithUi\n : undefined,\n isFloatingStateSupported: !!widget.canFloat,\n isFloatingStateWindowResizable:\n typeof widget.canFloat === \"object\"\n ? widget.canFloat.isResizable\n : undefined,\n icon,\n internalData,\n };\n setOriginalData(abstractWidget, widget);\n return abstractWidget;\n}\n\nfunction fromAbstractBackstageItem(\n abstractItem: AbstractBackstageItem\n): BackstageItem {\n let item = getOriginalData<BackstageItem>(abstractItem);\n if (item) return item;\n\n const icon = fromAbstractIcon(abstractItem.icon, abstractItem.internalData);\n item = {\n ...abstractItem,\n badge: abstractItem.badgeType,\n icon,\n };\n assert(!!item);\n setOriginalData(item, abstractItem);\n return item;\n}\n\nfunction fromAbstractStatusBarItem(\n abstractItem: AbstractStatusBarItem\n): StatusBarItem {\n let item = getOriginalData<StatusBarItem>(abstractItem);\n if (item) return item;\n\n if (isAbstractStatusBarCustomItem(abstractItem)) {\n const content: React.ReactNode | undefined = (abstractItem as any)\n .reactNode;\n return {\n ...abstractItem,\n badge: abstractItem.badgeType,\n content,\n };\n } else {\n const icon = fromAbstractIcon(abstractItem.icon, abstractItem.internalData);\n item = {\n ...abstractItem,\n badge: abstractItem.badgeType,\n icon,\n };\n }\n assert(!!item);\n setOriginalData(item, abstractItem);\n return item;\n}\n\nfunction fromAbstractToolbarItem(\n abstractItem: AbstractToolbarItem\n): ToolbarItem {\n let item = getOriginalData<ToolbarItem>(abstractItem);\n if (item) return item;\n\n const icon = fromAbstractIcon(abstractItem.icon, abstractItem.internalData);\n if (AbstractToolbarItemUtilities.isCustomDefinition(abstractItem)) {\n item = {\n ...abstractItem,\n badge: abstractItem.badgeType,\n icon,\n };\n } else {\n item = {\n ...abstractItem,\n badge: abstractItem.badgeType,\n parentGroupItemId: abstractItem.parentToolGroupId,\n icon,\n };\n }\n setOriginalData(item, abstractItem);\n return item;\n}\n\nfunction fromAbstractWidget(abstractWidget: AbstractWidget): Widget {\n let widget = getOriginalData<Widget>(abstractWidget);\n if (widget) return widget;\n\n const allowedPanels = abstractWidget.allowedPanelTargets\n // @ts-ignore Possibly 'any'\n ?.map((target) => {\n const map = {\n top: StagePanelLocation.Top,\n left: StagePanelLocation.Left,\n right: StagePanelLocation.Right,\n bottom: StagePanelLocation.Bottom,\n };\n // @ts-ignore Possibly 'any'\n return map[target];\n });\n const icon = fromAbstractIcon(\n abstractWidget.icon,\n abstractWidget.internalData\n );\n widget = {\n ...abstractWidget,\n id: abstractWidget.id ?? \"\",\n content: abstractWidget.getWidgetContent(),\n allowedPanels,\n badge: abstractWidget.badgeType,\n canFloat: abstractWidget.isFloatingStateSupported && {\n containerId: abstractWidget.floatingContainerId,\n defaultPosition: abstractWidget.defaultFloatingPosition,\n defaultSize: abstractWidget.defaultFloatingSize,\n hideWithUi: abstractWidget.hideWithUiWhenFloating,\n isResizable: abstractWidget.isFloatingStateWindowResizable,\n },\n icon,\n };\n assert(!!widget);\n setOriginalData(widget, abstractWidget);\n return widget;\n}\n\nfunction fromAbstractStagePanelLocation(\n location: AbstractStagePanelLocation\n): StagePanelLocation {\n switch (location) {\n case AbstractStagePanelLocation.Left:\n return StagePanelLocation.Left;\n case AbstractStagePanelLocation.Top:\n return StagePanelLocation.Top;\n case AbstractStagePanelLocation.TopMost:\n return StagePanelLocation.Top;\n case AbstractStagePanelLocation.Bottom:\n return StagePanelLocation.Bottom;\n case AbstractStagePanelLocation.BottomMost:\n return StagePanelLocation.Bottom;\n }\n return StagePanelLocation.Right;\n}\n\nfunction toAbstractStagePanelLocation(\n location: StagePanelLocation\n): AbstractStagePanelLocation[] {\n switch (location) {\n case StagePanelLocation.Left:\n return [AbstractStagePanelLocation.Left];\n case StagePanelLocation.Top:\n return [\n AbstractStagePanelLocation.Top,\n AbstractStagePanelLocation.TopMost,\n ];\n case StagePanelLocation.Bottom:\n return [\n AbstractStagePanelLocation.Bottom,\n AbstractStagePanelLocation.BottomMost,\n ];\n }\n return [AbstractStagePanelLocation.Right];\n}\n\nfunction fromAbstractStagePanelSection(\n section: AbstractStagePanelSection\n): StagePanelSection {\n switch (section) {\n case AbstractStagePanelSection.End:\n return StagePanelSection.End;\n }\n return StagePanelSection.Start;\n}\n\nfunction toAbstractStagePanelSection(\n section: StagePanelSection\n): AbstractStagePanelSection[] {\n switch (section) {\n case StagePanelSection.End:\n return [AbstractStagePanelSection.End];\n }\n return [AbstractStagePanelSection.Start, AbstractStagePanelSection.Middle];\n}\n\nfunction fromAbstractIcon(\n icon: string | abstract.ConditionalStringValue | undefined,\n internalData: Map<string, any> | undefined\n): IconSpec {\n if (!icon) return undefined;\n const iconString = abstract.ConditionalStringValue.getValue(icon);\n if (!iconString) return undefined;\n if (iconString === IconHelper.reactIconKey && internalData)\n return internalData.get(IconHelper.reactIconKey) as React.ReactNode;\n return iconString;\n}\n\nfunction getOriginalData<TData>(obj: object): TData | undefined {\n const originalData = (obj as any)[originalDataSymbol];\n if (!originalData) return undefined;\n return originalData;\n}\n\nfunction setOriginalData<TData>(obj: object, data: TData) {\n (obj as any)[originalDataSymbol] = data;\n}\n\n/** Maps items of existing `get` properties to `provide` properties, otherwise uses `provide` properties.\n * @internal\n */\nexport function createGetPropertyAdapter(provider: UiItemsProvider) {\n return {\n ...provider,\n provideBackstageItems: () => {\n return (\n provider.getBackstageItems?.() ??\n provider.provideBackstageItems?.() ??\n []\n );\n },\n provideStatusBarItems: (stageId, stageUsage) => {\n return (\n provider.getStatusBarItems?.() ??\n provider.provideStatusBarItems?.(stageId, stageUsage) ??\n []\n );\n },\n provideToolbarItems: (stageId, stageUsage, usage, orientation) => {\n if (provider.getToolbarItems) {\n return provider.getToolbarItems().filter((item) => {\n const layout = item.layouts?.standard;\n if (!layout) return false;\n return layout.usage === usage && layout.orientation === orientation;\n });\n }\n return (\n provider.provideToolbarItems?.(\n stageId,\n stageUsage,\n usage,\n orientation\n ) ?? []\n );\n },\n provideWidgets: (stageId, stageUsage, location, section) => {\n if (provider.getWidgets) {\n return provider.getWidgets().filter((item) => {\n const layout = item.layouts?.standard;\n if (!layout) return false;\n return layout.location === location && layout.section === section;\n });\n }\n return (\n provider.provideWidgets?.(stageId, stageUsage, location, section) ?? []\n );\n },\n } satisfies UiItemsProvider;\n}\n"]}
|
|
@@ -13,6 +13,8 @@ import { UiItemsManager } from "./UiItemsManager.js";
|
|
|
13
13
|
* @deprecated in 4.17.0. Use {@link UiItemsProviderOverrides} to specify supported frontstages when registering the provider.
|
|
14
14
|
*/
|
|
15
15
|
export class BaseUiItemsProvider {
|
|
16
|
+
_providerId;
|
|
17
|
+
isSupportedStage;
|
|
16
18
|
/*
|
|
17
19
|
* @param providerId - unique identifier for this instance of the provider. This is required in case separate packages want
|
|
18
20
|
* to set up custom stage with their own subset of standard tools.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseUiItemsProvider.js","sourceRoot":"","sources":["../../../src/appui-react/ui-items-provider/BaseUiItemsProvider.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAUzD,OAAO,EAAE,cAAc,EAA4B,MAAM,qBAAqB,CAAC;AAG/E;;;;GAIG;AACH,MAAM,OAAO,mBAAmB;
|
|
1
|
+
{"version":3,"file":"BaseUiItemsProvider.js","sourceRoot":"","sources":["../../../src/appui-react/ui-items-provider/BaseUiItemsProvider.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module UiProvider\n */\n\nimport { StageUsage } from \"../frontstage/StageUsage.js\";\nimport type { StagePanelLocation } from \"../stagepanels/StagePanelLocation.js\";\nimport type { StagePanelSection } from \"../stagepanels/StagePanelSection.js\";\nimport type { StatusBarItem } from \"../statusbar/StatusBarItem.js\";\nimport type {\n ToolbarItem,\n ToolbarOrientation,\n ToolbarUsage,\n} from \"../toolbar/ToolbarItem.js\";\nimport type { Widget } from \"../widgets/Widget.js\";\nimport { UiItemsManager, UiItemsProviderOverrides } from \"./UiItemsManager.js\";\nimport type { UiItemsProvider } from \"./UiItemsProvider.js\";\n\n/** Base implementation of a UiItemsProvider. The base class allows the user to pass in a function that is used to determine if the\n * active stage should be provided items. Derived provider classes should override the `xxxInternal` methods to provide items.\n * @public\n * @deprecated in 4.17.0. Use {@link UiItemsProviderOverrides} to specify supported frontstages when registering the provider.\n */\nexport class BaseUiItemsProvider implements UiItemsProvider {\n /*\n * @param providerId - unique identifier for this instance of the provider. This is required in case separate packages want\n * to set up custom stage with their own subset of standard tools.\n * @param isSupportedStage - optional function that will be called to determine if tools should be added to current stage. If not set and\n * the current stage's `usage` is set to `StageUsage.General` then the provider will add items to frontstage.\n */\n constructor(\n protected _providerId: string,\n public isSupportedStage?: (\n stageId: string,\n stageUsage: string,\n stageAppData?: any,\n provider?: UiItemsProvider\n ) => boolean\n ) {}\n\n public get id(): string {\n return this._providerId;\n }\n public onUnregister(): void {}\n\n public unregister() {\n UiItemsManager.unregister(this._providerId);\n }\n\n public provideToolbarItemsInternal(\n _stageId: string,\n _stageUsage: string,\n _toolbarUsage: ToolbarUsage,\n _toolbarOrientation: ToolbarOrientation,\n _stageAppData?: any\n ): ToolbarItem[] {\n return [];\n }\n\n public provideToolbarItems(\n stageId: string,\n stageUsage: string,\n toolbarUsage: ToolbarUsage,\n toolbarOrientation: ToolbarOrientation,\n stageAppData?: any\n ): ToolbarItem[] {\n let provideToStage = false;\n\n if (this.isSupportedStage) {\n provideToStage = this.isSupportedStage(\n stageId,\n stageUsage,\n stageAppData,\n this\n );\n } else {\n provideToStage = stageUsage === StageUsage.General.valueOf();\n }\n\n return provideToStage\n ? this.provideToolbarItemsInternal(\n stageId,\n stageUsage,\n toolbarUsage,\n toolbarOrientation,\n stageAppData\n )\n : [];\n }\n\n public provideStatusBarItemsInternal(\n _stageId: string,\n _stageUsage: string,\n _stageAppData?: any\n ): StatusBarItem[] {\n return [];\n }\n\n public provideStatusBarItems(\n stageId: string,\n stageUsage: string,\n stageAppData?: any\n ): StatusBarItem[] {\n let provideToStage = false;\n\n if (this.isSupportedStage) {\n provideToStage = this.isSupportedStage(\n stageId,\n stageUsage,\n stageAppData,\n this\n );\n } else {\n provideToStage = stageUsage === StageUsage.General.valueOf();\n }\n\n return provideToStage\n ? this.provideStatusBarItemsInternal(stageId, stageUsage, stageAppData)\n : [];\n }\n\n public provideWidgetsInternal(\n _stageId: string,\n _stageUsage: string,\n _location: StagePanelLocation,\n _section?: StagePanelSection,\n _stageAppData?: any\n ): Widget[] {\n return [];\n }\n\n public provideWidgets(\n stageId: string,\n stageUsage: string,\n location: StagePanelLocation,\n section?: StagePanelSection,\n stageAppData?: any\n ): ReadonlyArray<Widget> {\n let provideToStage = false;\n\n if (this.isSupportedStage) {\n provideToStage = this.isSupportedStage(\n stageId,\n stageUsage,\n stageAppData,\n this\n );\n } else {\n provideToStage = stageUsage === StageUsage.General.valueOf();\n }\n\n return provideToStage\n ? this.provideWidgetsInternal(\n stageId,\n stageUsage,\n location,\n section,\n stageAppData\n )\n : [];\n }\n}\n"]}
|
|
@@ -15,6 +15,7 @@ import { BaseUiItemsProvider } from "./BaseUiItemsProvider.js";
|
|
|
15
15
|
*/
|
|
16
16
|
// eslint-disable-next-line @typescript-eslint/no-deprecated
|
|
17
17
|
export class StandardContentToolsProvider extends BaseUiItemsProvider {
|
|
18
|
+
uiItemsProvider;
|
|
18
19
|
/**
|
|
19
20
|
* static function to register the StandardContentToolsProvider
|
|
20
21
|
* @param providerId - unique identifier for this instance of the provider. This is required in case separate packages want
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StandardContentToolsProvider.js","sourceRoot":"","sources":["../../../src/appui-react/ui-items-provider/StandardContentToolsProvider.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D,OAAO,EAAE,mCAAmC,EAAE,MAAM,0CAA0C,CAAC;AAC/F,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAgD/D;;;GAGG;AACH,4DAA4D;AAC5D,MAAM,OAAO,4BAA6B,SAAQ,mBAAmB;
|
|
1
|
+
{"version":3,"file":"StandardContentToolsProvider.js","sourceRoot":"","sources":["../../../src/appui-react/ui-items-provider/StandardContentToolsProvider.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D,OAAO,EAAE,mCAAmC,EAAE,MAAM,0CAA0C,CAAC;AAC/F,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAgD/D;;;GAGG;AACH,4DAA4D;AAC5D,MAAM,OAAO,4BAA6B,SAAQ,mBAAmB;IAC3D,eAAe,CAAsC;IAC7D;;;;;;;;OAQG;IACI,MAAM,CAAC,QAAQ,CACpB,UAAkB,EAClB,mBAAyC,EACzC,gBAIY;QAEZ,4DAA4D;QAC5D,MAAM,QAAQ,GAAG,IAAI,4BAA4B,CAC/C,UAAU,EACV,mBAAmB,EACnB,gBAAgB,CACjB,CAAC;QACF,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAElC,sDAAsD;QACtD,mBAAmB,CAAC,QAAQ,EAAE,CAAC;QAC/B,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,YACE,UAAkB,EAClB,mBAAqD,EACrD,gBAIY;QAEZ,4DAA4D;QAC5D,KAAK,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;QACpC,IAAI,CAAC,eAAe,GAAG,IAAI,mCAAmC,CAC5D,mBAAmB,CACpB,CAAC;IACJ,CAAC;IAEe,2BAA2B,CACzC,QAAgB,EAChB,WAAmB,EACnB,YAA0B,EAC1B,kBAAsC,EACtC,YAAkB;QAElB,4DAA4D;QAC5D,OAAO,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAC7C,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,kBAAkB,EAClB,YAAY,CACb,CAAC;IACJ,CAAC;IAEe,6BAA6B,CAC3C,QAAgB,EAChB,WAAmB,EACnB,aAAmB;QAEnB,4DAA4D;QAC5D,OAAO,IAAI,CAAC,eAAe,CAAC,qBAAqB,CAC/C,QAAQ,EACR,WAAW,EACX,aAAa,CACd,CAAC;IACJ,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module StandardUiItemsProvider\n */\n\nimport { ViewClipByPlaneTool } from \"@itwin/core-frontend\";\nimport type { DefaultContentTools } from \"./StandardContentToolsUiItemsProvider.js\";\nimport { StandardContentToolsUiItemsProvider } from \"./StandardContentToolsUiItemsProvider.js\";\nimport { UiItemsManager } from \"./UiItemsManager.js\";\nimport { BaseUiItemsProvider } from \"./BaseUiItemsProvider.js\";\nimport type {\n ToolbarItem,\n ToolbarOrientation,\n ToolbarUsage,\n} from \"../toolbar/ToolbarItem.js\";\nimport type { StatusBarItem } from \"../statusbar/StatusBarItem.js\";\nimport { UiItemsProvider } from \"./UiItemsProvider.js\";\n\n/**\n * Defines options that may be set in frontstage app data to control what group priorities\n * to use for each tool button that can be added by this extension. Defining groupIds is optional\n * and only required if use wants to override the default grouping. This application data is statically\n * set in the FrontstageProvider.\n * @example\n * ```\n * const applicationData = {\n * defaultContentTools: {\n * vertical: {\n * selectElementGroupPriority: 100,\n * measureGroupPriority: 200,\n * selectionGroupPriority: 300,\n * },\n * horizontal: {\n * clearSelectionGroupPriority: 100,\n * overridesGroupPriority: 200,\n * },\n * },\n * }\n *\n * ```\n * @public\n * @deprecated in 4.17.0. Application data is not supported in frontstages. Instead configure the {@link UiItemsProvider} before registering for a specific frontstage.\n */\nexport interface DefaultContentToolsAppData {\n defaultContentTools?: {\n vertical?: {\n selectElementGroupPriority?: number;\n measureGroupPriority?: number;\n selectionGroupPriority?: number;\n };\n horizontal?: {\n clearSelectionGroupPriority?: number;\n overridesGroupPriority?: number;\n };\n };\n}\n\n/** Provide standard tools for the ContentManipulationWidgetComposer.\n * @public\n * @deprecated in 4.17.0. Use {@link StandardContentToolsUiItemsProvider} instead. Supported frontstages can be specified when registering the provider.\n */\n// eslint-disable-next-line @typescript-eslint/no-deprecated\nexport class StandardContentToolsProvider extends BaseUiItemsProvider {\n private uiItemsProvider: StandardContentToolsUiItemsProvider;\n /**\n * static function to register the StandardContentToolsProvider\n * @param providerId - unique identifier for this instance of the provider. This is required in case separate packages want\n * to set up custom stage with their own subset of standard tools.\n * @param defaultContentTools - if undefined all available tools are provided to stage. If defined only those\n * specific tool buttons are shown.\n * @param isSupportedStage - optional function that will be called to determine if tools should be added to current stage. If not set and\n * the current stage's `usage` is set to `StageUsage.General` then the provider will add items to frontstage.\n */\n public static register(\n providerId: string,\n defaultContentTools?: DefaultContentTools,\n isSupportedStage?: (\n stageId: string,\n stageUsage: string,\n stageAppData?: any\n ) => boolean\n ) {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n const provider = new StandardContentToolsProvider(\n providerId,\n defaultContentTools,\n isSupportedStage\n );\n UiItemsManager.register(provider);\n\n // register core commands not automatically registered\n ViewClipByPlaneTool.register();\n return provider;\n }\n\n constructor(\n providerId: string,\n defaultContentTools?: DefaultContentTools | undefined,\n isSupportedStage?: (\n stageId: string,\n stageUsage: string,\n stageAppData?: any\n ) => boolean\n ) {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n super(providerId, isSupportedStage);\n this.uiItemsProvider = new StandardContentToolsUiItemsProvider(\n defaultContentTools\n );\n }\n\n public override provideToolbarItemsInternal(\n _stageId: string,\n _stageUsage: string,\n toolbarUsage: ToolbarUsage,\n toolbarOrientation: ToolbarOrientation,\n stageAppData?: any\n ): ToolbarItem[] {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n return this.uiItemsProvider.provideToolbarItems(\n _stageId,\n _stageUsage,\n toolbarUsage,\n toolbarOrientation,\n stageAppData\n );\n }\n\n public override provideStatusBarItemsInternal(\n _stageId: string,\n _stageUsage: string,\n _stageAppData?: any\n ): StatusBarItem[] {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n return this.uiItemsProvider.provideStatusBarItems(\n _stageId,\n _stageUsage,\n _stageAppData\n );\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StandardContentToolsUiItemsProvider.js","sourceRoot":"","sources":["../../../src/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.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 StandardUiItemsProvider\n */\n\nimport * as React from \"react\";\nimport type { StatusBarItem } from \"../statusbar/StatusBarItem.js\";\nimport { StatusBarSection } from \"../statusbar/StatusBarItem.js\";\nimport { StatusBarItemUtilities } from \"../statusbar/StatusBarItemUtilities.js\";\nimport { SectionsStatusField } from \"../statusfields/SectionsField.js\";\nimport type { ToolbarItem } from \"../toolbar/ToolbarItem.js\";\nimport { ToolbarOrientation, ToolbarUsage } from \"../toolbar/ToolbarItem.js\";\nimport type { UiItemsProvider } from \"./UiItemsProvider.js\";\nimport { ToolbarItems } from \"../tools/ToolbarItems.js\";\n\n/**\n * Defines what tools to include from the provider. If any tools in the horizontal or vertical group are\n * specified then only those tools will be provided to stage.\n * @public\n */\nexport interface DefaultContentTools {\n horizontal?: {\n clearSelection?: boolean;\n clearDisplayOverrides?: boolean;\n /** if group then group button is shown to allow user to hide by element, category, model */\n hide?: \"group\" | \"element\";\n /** if group then group button is shown to allow user to isolate by element, category, model */\n isolate?: \"group\" | \"element\";\n /** only element is currently support for emphasize */\n emphasize?: \"element\";\n };\n vertical?: {\n selectElement?: boolean;\n measureGroup?: boolean;\n sectionGroup?: boolean;\n };\n}\n\nfunction getGroupPriority(potentialId: any, defaultValue: number) {\n if (undefined === potentialId) return defaultValue;\n\n if (typeof potentialId === \"number\") {\n return potentialId;\n }\n\n return defaultValue;\n}\n\n/** Provides standard content manipulation items.\n * @public\n */\nexport class StandardContentToolsUiItemsProvider implements UiItemsProvider {\n public get id(): string {\n return \"appui-react:StandardContentToolsUiItemsProvider\";\n }\n\n constructor(private defaultContextTools?: DefaultContentTools) {}\n\n /** @deprecated in 4.17.0. Property of a deprecated interface {@link UiItemsProvider.provideToolbarItems}. */\n public provideToolbarItems(\n _stageId: string,\n _stageUsage: string,\n toolbarUsage: ToolbarUsage,\n toolbarOrientation: ToolbarOrientation,\n stageAppData?: any\n ): ToolbarItem[] {\n const allItems = getAllToolbarItems(this.defaultContextTools, stageAppData);\n return allItems.filter(\n (item) =>\n item.layouts?.standard?.usage === toolbarUsage &&\n item.layouts?.standard?.orientation === toolbarOrientation\n );\n }\n\n public getToolbarItems(): readonly ToolbarItem[] {\n return getAllToolbarItems(this.defaultContextTools, undefined);\n }\n\n /** @deprecated in 4.17.0. Property of a deprecated interface {@link UiItemsProvider.provideStatusBarItems}. */\n public provideStatusBarItems(\n _stageId: string,\n _stageUsage: string,\n _stageAppData?: any\n ): StatusBarItem[] {\n return this.getStatusBarItems() as StatusBarItem[];\n }\n\n public getStatusBarItems(): readonly StatusBarItem[] {\n const statusBarItems: StatusBarItem[] = [];\n\n // if the sectionGroup tools are to be shown then we want the status field added to allow clearing or manipulation the section\n if (this.defaultContextTools?.vertical?.sectionGroup) {\n statusBarItems.push(\n StatusBarItemUtilities.createCustomItem({\n id: \"uifw.Sections\",\n section: StatusBarSection.Center,\n itemPriority: 20,\n content: <SectionsStatusField hideWhenUnused />,\n })\n );\n }\n\n return statusBarItems;\n }\n}\n\n// Extracted due to discontinued `stageAppData` usage, until `provideToolbarItems` is removed.\nfunction getAllToolbarItems(\n defaultContextTools?: DefaultContentTools,\n stageAppData?: any\n): ToolbarItem[] {\n const items: ToolbarItem[] = [];\n const clearSelectionGroupPriority = getGroupPriority(\n stageAppData?.defaultContentTools?.horizontal?.clearSelectionGroupPriority,\n 10\n );\n const overridesGroupPriority = getGroupPriority(\n stageAppData?.defaultContentTools?.horizontal?.overridesGroupPriority,\n 20\n );\n\n const horizontal = {\n standard: {\n usage: ToolbarUsage.ContentManipulation,\n orientation: ToolbarOrientation.Horizontal,\n },\n };\n if (\n !defaultContextTools ||\n !defaultContextTools.horizontal ||\n defaultContextTools.horizontal.clearSelection\n )\n items.push(\n ToolbarItems.createClearSelection({\n itemPriority: 10,\n groupPriority: clearSelectionGroupPriority,\n layouts: horizontal,\n })\n );\n\n if (\n !defaultContextTools ||\n !defaultContextTools.horizontal ||\n defaultContextTools.horizontal.clearDisplayOverrides\n )\n items.push(\n ToolbarItems.createClearHideIsolateEmphasizeElements({\n itemPriority: 20,\n groupPriority: overridesGroupPriority,\n layouts: horizontal,\n })\n );\n\n if (\n !defaultContextTools ||\n !defaultContextTools.horizontal ||\n defaultContextTools.horizontal.hide\n ) {\n if (defaultContextTools?.horizontal?.hide === \"group\")\n items.push(\n ToolbarItems.createHideSectionGroup({\n itemPriority: 30,\n groupPriority: overridesGroupPriority,\n layouts: horizontal,\n })\n );\n else\n items.push(\n ToolbarItems.createHideElements({\n itemPriority: 30,\n groupPriority: overridesGroupPriority,\n layouts: horizontal,\n })\n );\n }\n\n if (\n !defaultContextTools ||\n !defaultContextTools.horizontal ||\n defaultContextTools.horizontal.isolate\n ) {\n if (defaultContextTools?.horizontal?.isolate === \"group\")\n items.push(\n ToolbarItems.createIsolateSelectionGroup({\n itemPriority: 40,\n groupPriority: overridesGroupPriority,\n layouts: horizontal,\n })\n );\n else\n items.push(\n ToolbarItems.createIsolateElements({\n itemPriority: 40,\n groupPriority: overridesGroupPriority,\n layouts: horizontal,\n })\n );\n }\n\n if (\n !defaultContextTools ||\n !defaultContextTools.horizontal ||\n defaultContextTools.horizontal.emphasize\n ) {\n items.push(\n ToolbarItems.createEmphasizeElements({\n itemPriority: 50,\n groupPriority: overridesGroupPriority,\n layouts: horizontal,\n })\n );\n }\n\n const vertical = {\n standard: {\n usage: ToolbarUsage.ContentManipulation,\n orientation: ToolbarOrientation.Vertical,\n },\n };\n const selectElementGroupPriority = getGroupPriority(\n stageAppData?.defaultContentTools?.vertical?.selectElementGroupPriority,\n 10\n );\n const measureGroupPriority = getGroupPriority(\n stageAppData?.defaultContentTools?.vertical?.measureGroupPriority,\n 10\n );\n const selectionGroupPriority = getGroupPriority(\n stageAppData?.defaultContentTools?.vertical?.selectionGroupPriority,\n 10\n );\n\n if (\n !defaultContextTools ||\n !defaultContextTools.vertical ||\n defaultContextTools.vertical.selectElement\n )\n items.push(\n ToolbarItems.createSelectElement({\n itemPriority: 10,\n groupPriority: selectElementGroupPriority,\n layouts: vertical,\n })\n );\n\n if (\n !defaultContextTools ||\n !defaultContextTools.vertical ||\n defaultContextTools.vertical.measureGroup\n )\n items.push(\n ToolbarItems.createMeasureGroup({\n itemPriority: 20,\n groupPriority: measureGroupPriority,\n layouts: vertical,\n })\n );\n\n if (\n !defaultContextTools ||\n !defaultContextTools.vertical ||\n defaultContextTools.vertical.sectionGroup\n ) {\n items.push(\n ToolbarItems.createSectionGroup({\n itemPriority: 30,\n groupPriority: selectionGroupPriority,\n layouts: vertical,\n })\n );\n }\n return items;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"StandardContentToolsUiItemsProvider.js","sourceRoot":"","sources":["../../../src/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.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 StandardUiItemsProvider\n */\n\nimport * as React from \"react\";\nimport type { StatusBarItem } from \"../statusbar/StatusBarItem.js\";\nimport { StatusBarSection } from \"../statusbar/StatusBarItem.js\";\nimport { StatusBarItemUtilities } from \"../statusbar/StatusBarItemUtilities.js\";\nimport { SectionsStatusField } from \"../statusfields/SectionsField.js\";\nimport type { ToolbarItem } from \"../toolbar/ToolbarItem.js\";\nimport { ToolbarOrientation, ToolbarUsage } from \"../toolbar/ToolbarItem.js\";\nimport type { UiItemsProvider } from \"./UiItemsProvider.js\";\nimport { ToolbarItems } from \"../tools/ToolbarItems.js\";\n\n/**\n * Defines what tools to include from the provider. If any tools in the horizontal or vertical group are\n * specified then only those tools will be provided to stage.\n * @public\n */\nexport interface DefaultContentTools {\n horizontal?: {\n clearSelection?: boolean;\n clearDisplayOverrides?: boolean;\n /** if group then group button is shown to allow user to hide by element, category, model */\n hide?: \"group\" | \"element\";\n /** if group then group button is shown to allow user to isolate by element, category, model */\n isolate?: \"group\" | \"element\";\n /** only element is currently support for emphasize */\n emphasize?: \"element\";\n };\n vertical?: {\n selectElement?: boolean;\n measureGroup?: boolean;\n sectionGroup?: boolean;\n };\n}\n\nfunction getGroupPriority(potentialId: any, defaultValue: number) {\n if (undefined === potentialId) return defaultValue;\n\n if (typeof potentialId === \"number\") {\n return potentialId;\n }\n\n return defaultValue;\n}\n\n/** Provides standard content manipulation items.\n * @public\n */\nexport class StandardContentToolsUiItemsProvider implements UiItemsProvider {\n public get id(): string {\n return \"appui-react:StandardContentToolsUiItemsProvider\";\n }\n\n constructor(private defaultContextTools?: DefaultContentTools) {}\n\n /** @deprecated in 4.17.0. Property of a deprecated interface {@link UiItemsProvider.provideToolbarItems}. */\n public provideToolbarItems(\n _stageId: string,\n _stageUsage: string,\n toolbarUsage: ToolbarUsage,\n toolbarOrientation: ToolbarOrientation,\n stageAppData?: any\n ): ToolbarItem[] {\n const allItems = getAllToolbarItems(this.defaultContextTools, stageAppData);\n return allItems.filter(\n (item) =>\n item.layouts?.standard?.usage === toolbarUsage &&\n item.layouts?.standard?.orientation === toolbarOrientation\n );\n }\n\n public getToolbarItems(): readonly ToolbarItem[] {\n return getAllToolbarItems(this.defaultContextTools, undefined);\n }\n\n /** @deprecated in 4.17.0. Property of a deprecated interface {@link UiItemsProvider.provideStatusBarItems}. */\n public provideStatusBarItems(\n _stageId: string,\n _stageUsage: string,\n _stageAppData?: any\n ): StatusBarItem[] {\n return this.getStatusBarItems() as StatusBarItem[];\n }\n\n public getStatusBarItems(): readonly StatusBarItem[] {\n const statusBarItems: StatusBarItem[] = [];\n\n // if the sectionGroup tools are to be shown then we want the status field added to allow clearing or manipulation the section\n if (this.defaultContextTools?.vertical?.sectionGroup) {\n statusBarItems.push(\n StatusBarItemUtilities.createCustomItem({\n id: \"uifw.Sections\",\n section: StatusBarSection.Center,\n itemPriority: 20,\n content: <SectionsStatusField hideWhenUnused />,\n })\n );\n }\n\n return statusBarItems;\n }\n}\n\n// Extracted due to discontinued `stageAppData` usage, until `provideToolbarItems` is removed.\nfunction getAllToolbarItems(\n defaultContextTools?: DefaultContentTools,\n stageAppData?: any\n): ToolbarItem[] {\n const items: ToolbarItem[] = [];\n const clearSelectionGroupPriority = getGroupPriority(\n stageAppData?.defaultContentTools?.horizontal?.clearSelectionGroupPriority,\n 10\n );\n const overridesGroupPriority = getGroupPriority(\n stageAppData?.defaultContentTools?.horizontal?.overridesGroupPriority,\n 20\n );\n\n const horizontal = {\n standard: {\n usage: ToolbarUsage.ContentManipulation,\n orientation: ToolbarOrientation.Horizontal,\n },\n };\n if (\n !defaultContextTools ||\n !defaultContextTools.horizontal ||\n defaultContextTools.horizontal.clearSelection\n )\n items.push(\n ToolbarItems.createClearSelection({\n itemPriority: 10,\n groupPriority: clearSelectionGroupPriority,\n layouts: horizontal,\n })\n );\n\n if (\n !defaultContextTools ||\n !defaultContextTools.horizontal ||\n defaultContextTools.horizontal.clearDisplayOverrides\n )\n items.push(\n ToolbarItems.createClearHideIsolateEmphasizeElements({\n itemPriority: 20,\n groupPriority: overridesGroupPriority,\n layouts: horizontal,\n })\n );\n\n if (\n !defaultContextTools ||\n !defaultContextTools.horizontal ||\n defaultContextTools.horizontal.hide\n ) {\n if (defaultContextTools?.horizontal?.hide === \"group\")\n items.push(\n ToolbarItems.createHideSectionGroup({\n itemPriority: 30,\n groupPriority: overridesGroupPriority,\n layouts: horizontal,\n })\n );\n else\n items.push(\n ToolbarItems.createHideElements({\n itemPriority: 30,\n groupPriority: overridesGroupPriority,\n layouts: horizontal,\n })\n );\n }\n\n if (\n !defaultContextTools ||\n !defaultContextTools.horizontal ||\n defaultContextTools.horizontal.isolate\n ) {\n if (defaultContextTools?.horizontal?.isolate === \"group\")\n items.push(\n ToolbarItems.createIsolateSelectionGroup({\n itemPriority: 40,\n groupPriority: overridesGroupPriority,\n layouts: horizontal,\n })\n );\n else\n items.push(\n ToolbarItems.createIsolateElements({\n itemPriority: 40,\n groupPriority: overridesGroupPriority,\n layouts: horizontal,\n })\n );\n }\n\n if (\n !defaultContextTools ||\n !defaultContextTools.horizontal ||\n defaultContextTools.horizontal.emphasize\n ) {\n items.push(\n ToolbarItems.createEmphasizeElements({\n itemPriority: 50,\n groupPriority: overridesGroupPriority,\n layouts: horizontal,\n })\n );\n }\n\n const vertical = {\n standard: {\n usage: ToolbarUsage.ContentManipulation,\n orientation: ToolbarOrientation.Vertical,\n },\n };\n const selectElementGroupPriority = getGroupPriority(\n stageAppData?.defaultContentTools?.vertical?.selectElementGroupPriority,\n 10\n );\n const measureGroupPriority = getGroupPriority(\n stageAppData?.defaultContentTools?.vertical?.measureGroupPriority,\n 10\n );\n const selectionGroupPriority = getGroupPriority(\n stageAppData?.defaultContentTools?.vertical?.selectionGroupPriority,\n 10\n );\n\n if (\n !defaultContextTools ||\n !defaultContextTools.vertical ||\n defaultContextTools.vertical.selectElement\n )\n items.push(\n ToolbarItems.createSelectElement({\n itemPriority: 10,\n groupPriority: selectElementGroupPriority,\n layouts: vertical,\n })\n );\n\n if (\n !defaultContextTools ||\n !defaultContextTools.vertical ||\n defaultContextTools.vertical.measureGroup\n )\n items.push(\n ToolbarItems.createMeasureGroup({\n itemPriority: 20,\n groupPriority: measureGroupPriority,\n layouts: vertical,\n })\n );\n\n if (\n !defaultContextTools ||\n !defaultContextTools.vertical ||\n defaultContextTools.vertical.sectionGroup\n ) {\n items.push(\n ToolbarItems.createSectionGroup({\n itemPriority: 30,\n groupPriority: selectionGroupPriority,\n layouts: vertical,\n })\n );\n }\n return items;\n}\n"]}
|
|
@@ -14,6 +14,7 @@ import { UiItemsManager } from "./UiItemsManager.js";
|
|
|
14
14
|
*/
|
|
15
15
|
// eslint-disable-next-line @typescript-eslint/no-deprecated
|
|
16
16
|
export class StandardNavigationToolsProvider extends BaseUiItemsProvider {
|
|
17
|
+
uiItemsProvider;
|
|
17
18
|
/**
|
|
18
19
|
* static function to register the StandardContentToolsProvider
|
|
19
20
|
* @param providerId - unique identifier for this instance of the provider. This is required in case separate packages want
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StandardNavigationToolsProvider.js","sourceRoot":"","sources":["../../../src/appui-react/ui-items-provider/StandardNavigationToolsProvider.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAOH,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,OAAO,EAAE,sCAAsC,EAAE,MAAM,6CAA6C,CAAC;AACrG,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD;;;GAGG;AACH,4DAA4D;AAC5D,MAAM,OAAO,+BAAgC,SAAQ,mBAAmB;
|
|
1
|
+
{"version":3,"file":"StandardNavigationToolsProvider.js","sourceRoot":"","sources":["../../../src/appui-react/ui-items-provider/StandardNavigationToolsProvider.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAOH,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,OAAO,EAAE,sCAAsC,EAAE,MAAM,6CAA6C,CAAC;AACrG,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD;;;GAGG;AACH,4DAA4D;AAC5D,MAAM,OAAO,+BAAgC,SAAQ,mBAAmB;IAC9D,eAAe,CAAyC;IAChE;;;;;;;;OAQG;IACI,MAAM,CAAC,QAAQ,CACpB,UAAkB,EAClB,sBAA+C,EAC/C,gBAIY;QAEZ,4DAA4D;QAC5D,MAAM,QAAQ,GAAG,IAAI,+BAA+B,CAClD,UAAU,EACV,sBAAsB,EACtB,gBAAgB,CACjB,CAAC;QACF,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAClC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,YACE,UAAkB,EAClB,sBAA2D,EAC3D,gBAIY;QAEZ,4DAA4D;QAC5D,KAAK,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;QACpC,IAAI,CAAC,eAAe,GAAG,IAAI,sCAAsC,CAC/D,sBAAsB,CACvB,CAAC;IACJ,CAAC;IAEe,2BAA2B,CACzC,QAAgB,EAChB,WAAmB,EACnB,YAA0B,EAC1B,kBAAsC,EACtC,aAAmB;QAEnB,4DAA4D;QAC5D,OAAO,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAC7C,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,kBAAkB,EAClB,aAAa,CACd,CAAC;IACJ,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module StandardUiItemsProvider\n */\n\nimport type {\n ToolbarItem,\n ToolbarOrientation,\n ToolbarUsage,\n} from \"../toolbar/ToolbarItem.js\";\nimport { BaseUiItemsProvider } from \"./BaseUiItemsProvider.js\";\nimport type { DefaultNavigationTools } from \"./StandardNavigationToolsUiItemsProvider.js\";\nimport { StandardNavigationToolsUiItemsProvider } from \"./StandardNavigationToolsUiItemsProvider.js\";\nimport { UiItemsManager } from \"./UiItemsManager.js\";\n\n/** Provide standard tools for the ViewNavigationWidgetComposer.\n * @public\n * @deprecated in 4.17.0. Use {@link StandardNavigationToolsUiItemsProvider} instead. Supported frontstages can be specified when registering the provider.\n */\n// eslint-disable-next-line @typescript-eslint/no-deprecated\nexport class StandardNavigationToolsProvider extends BaseUiItemsProvider {\n private uiItemsProvider: StandardNavigationToolsUiItemsProvider;\n /**\n * static function to register the StandardContentToolsProvider\n * @param providerId - unique identifier for this instance of the provider. This is required in case separate packages want\n * to set up custom stage with their own subset of standard tools\n * @param defaultNavigationTools - if undefined all available tools are provided to stage. If defined only those\n * specific tool buttons are shown.\n * @param isSupportedStage - optional function that will be called to determine if tools should be added to current stage. If not set and\n * the current stage's `usage` is set to `StageUsage.General` then the provider will add items to frontstage.\n */\n public static register(\n providerId: string,\n defaultNavigationTools?: DefaultNavigationTools,\n isSupportedStage?: (\n stageId: string,\n stageUsage: string,\n stageAppData?: any\n ) => boolean\n ) {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n const provider = new StandardNavigationToolsProvider(\n providerId,\n defaultNavigationTools,\n isSupportedStage\n );\n UiItemsManager.register(provider);\n return provider;\n }\n\n constructor(\n providerId: string,\n defaultNavigationTools?: DefaultNavigationTools | undefined,\n isSupportedStage?: (\n stageId: string,\n stageUsage: string,\n stageAppData?: any\n ) => boolean\n ) {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n super(providerId, isSupportedStage);\n this.uiItemsProvider = new StandardNavigationToolsUiItemsProvider(\n defaultNavigationTools\n );\n }\n\n public override provideToolbarItemsInternal(\n _stageId: string,\n _stageUsage: string,\n toolbarUsage: ToolbarUsage,\n toolbarOrientation: ToolbarOrientation,\n _stageAppData?: any\n ): ToolbarItem[] {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n return this.uiItemsProvider.provideToolbarItems(\n _stageId,\n _stageUsage,\n toolbarUsage,\n toolbarOrientation,\n _stageAppData\n );\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StandardNavigationToolsUiItemsProvider.js","sourceRoot":"","sources":["../../../src/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAGH,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAuBxD;;GAEG;AACH,MAAM,OAAO,sCAAsC;
|
|
1
|
+
{"version":3,"file":"StandardNavigationToolsUiItemsProvider.js","sourceRoot":"","sources":["../../../src/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module StandardUiItemsProvider\n */\n\nimport type { ToolbarItem } from \"../toolbar/ToolbarItem.js\";\nimport { ToolbarOrientation, ToolbarUsage } from \"../toolbar/ToolbarItem.js\";\nimport { ToolbarItems } from \"../tools/ToolbarItems.js\";\nimport type { UiItemsProvider } from \"./UiItemsProvider.js\";\n\n/**\n * Defines what tools to include from the provider. If any tools in the horizontal or vertical group are\n * specified then only those tools will be provided to stage.\n * @public\n */\nexport interface DefaultNavigationTools {\n horizontal?: {\n rotateView?: boolean;\n panView?: boolean;\n fitView?: boolean;\n windowArea?: boolean;\n viewUndoRedo?: boolean;\n };\n vertical?: {\n walk?: boolean;\n toggleCamera?: boolean;\n setupWalkCamera?: boolean;\n };\n}\n\n/** Provide standard view navigation items.\n * @public\n */\nexport class StandardNavigationToolsUiItemsProvider implements UiItemsProvider {\n public get id(): string {\n return \"appui-react:StandardNavigationToolsUiItemsProvider\";\n }\n\n constructor(private defaultNavigationTools?: DefaultNavigationTools) {}\n\n /** @deprecated in 4.17.0. Property of a deprecated interface {@link UiItemsProvider.provideToolbarItems}. */\n public provideToolbarItems(\n _stageId: string,\n _stageUsage: string,\n toolbarUsage: ToolbarUsage,\n toolbarOrientation: ToolbarOrientation,\n _stageAppData?: any\n ): ToolbarItem[] {\n return this.getToolbarItems().filter(\n (item) =>\n item.layouts?.standard?.orientation === toolbarOrientation &&\n item.layouts?.standard?.usage === toolbarUsage\n );\n }\n\n public getToolbarItems(): readonly ToolbarItem[] {\n const items: ToolbarItem[] = [];\n const horizontal = {\n standard: {\n orientation: ToolbarOrientation.Horizontal,\n usage: ToolbarUsage.ViewNavigation,\n },\n };\n if (\n !this.defaultNavigationTools ||\n !this.defaultNavigationTools.horizontal ||\n this.defaultNavigationTools.horizontal.rotateView\n )\n items.push(\n ToolbarItems.createRotateView({\n itemPriority: 10,\n layouts: horizontal,\n })\n );\n\n if (\n !this.defaultNavigationTools ||\n !this.defaultNavigationTools.horizontal ||\n this.defaultNavigationTools.horizontal.panView\n )\n items.push(\n ToolbarItems.createPanView({\n itemPriority: 20,\n layouts: horizontal,\n })\n );\n\n if (\n !this.defaultNavigationTools ||\n !this.defaultNavigationTools.horizontal ||\n this.defaultNavigationTools.horizontal.fitView\n ) {\n items.push(\n ToolbarItems.createFitView({\n itemPriority: 30,\n layouts: horizontal,\n })\n );\n }\n\n if (\n !this.defaultNavigationTools ||\n !this.defaultNavigationTools.horizontal ||\n this.defaultNavigationTools.horizontal.windowArea\n ) {\n items.push(\n ToolbarItems.createWindowArea({\n itemPriority: 40,\n layouts: horizontal,\n })\n );\n }\n\n if (\n !this.defaultNavigationTools ||\n !this.defaultNavigationTools.horizontal ||\n this.defaultNavigationTools.horizontal.viewUndoRedo\n ) {\n items.push(\n ToolbarItems.createViewUndo({\n itemPriority: 50,\n layouts: horizontal,\n })\n );\n items.push(\n ToolbarItems.createViewRedo({\n itemPriority: 60,\n layouts: horizontal,\n })\n );\n }\n\n const vertical = {\n standard: {\n orientation: ToolbarOrientation.Vertical,\n usage: ToolbarUsage.ViewNavigation,\n },\n };\n if (\n !this.defaultNavigationTools ||\n !this.defaultNavigationTools.vertical ||\n this.defaultNavigationTools.vertical.setupWalkCamera\n )\n items.push(\n ToolbarItems.createSetupWalkCamera({\n itemPriority: 5,\n layouts: vertical,\n })\n );\n\n if (\n !this.defaultNavigationTools ||\n !this.defaultNavigationTools.vertical ||\n this.defaultNavigationTools.vertical.walk\n )\n items.push(\n ToolbarItems.createWalkView({\n itemPriority: 10,\n layouts: vertical,\n })\n );\n\n if (\n !this.defaultNavigationTools ||\n !this.defaultNavigationTools.vertical ||\n this.defaultNavigationTools.vertical.toggleCamera\n )\n items.push(\n ToolbarItems.createToggleCameraView({\n itemPriority: 20,\n layouts: vertical,\n })\n );\n return items;\n }\n}\n"]}
|