@itwin/appui-react 3.6.0-dev.59 → 3.6.0-dev.62
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 +18 -1
- package/lib/cjs/appui-react/UiFramework.js.map +1 -1
- package/lib/cjs/appui-react/backstage/BackstageComposer.d.ts.map +1 -1
- package/lib/cjs/appui-react/backstage/BackstageComposer.js +1 -0
- package/lib/cjs/appui-react/backstage/BackstageComposer.js.map +1 -1
- package/lib/cjs/appui-react/backstage/BackstageComposerItem.js +1 -1
- package/lib/cjs/appui-react/backstage/BackstageComposerItem.js.map +1 -1
- package/lib/cjs/appui-react/backstage/BackstageItem.d.ts +43 -0
- package/lib/cjs/appui-react/backstage/BackstageItem.d.ts.map +1 -0
- package/lib/cjs/appui-react/backstage/BackstageItem.js +37 -0
- package/lib/cjs/appui-react/backstage/BackstageItem.js.map +1 -0
- package/lib/cjs/appui-react/backstage/BackstageItemUtilities.d.ts +7 -35
- package/lib/cjs/appui-react/backstage/BackstageItemUtilities.d.ts.map +1 -1
- package/lib/cjs/appui-react/backstage/BackstageItemUtilities.js +10 -24
- package/lib/cjs/appui-react/backstage/BackstageItemUtilities.js.map +1 -1
- package/lib/cjs/appui-react/backstage/useDefaultBackstageItems.js.map +1 -1
- package/lib/cjs/appui-react/frontstage/ModalSettingsStage.d.ts.map +1 -1
- package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js +4 -2
- package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
- package/lib/cjs/appui-react/frontstage/StageUsage.d.ts +15 -0
- package/lib/cjs/appui-react/frontstage/StageUsage.d.ts.map +1 -0
- package/lib/cjs/appui-react/frontstage/StageUsage.js +17 -0
- package/lib/cjs/appui-react/frontstage/StageUsage.js.map +1 -0
- package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
- package/lib/cjs/appui-react/hooks/useAvailableUiItemsProviders.js +4 -4
- package/lib/cjs/appui-react/hooks/useAvailableUiItemsProviders.js.map +1 -1
- package/lib/cjs/appui-react/stagepanels/StagePanelLocation.d.ts +13 -0
- package/lib/cjs/appui-react/stagepanels/StagePanelLocation.d.ts.map +1 -0
- package/lib/cjs/appui-react/stagepanels/StagePanelLocation.js +16 -0
- package/lib/cjs/appui-react/stagepanels/StagePanelLocation.js.map +1 -0
- package/lib/cjs/appui-react/stagepanels/StagePanelSection.d.ts +13 -0
- package/lib/cjs/appui-react/stagepanels/StagePanelSection.d.ts.map +1 -0
- package/lib/cjs/appui-react/stagepanels/StagePanelSection.js +16 -0
- package/lib/cjs/appui-react/stagepanels/StagePanelSection.js.map +1 -0
- package/lib/cjs/appui-react/statusbar/LabelIndicator.js +2 -1
- package/lib/cjs/appui-react/statusbar/LabelIndicator.js.map +1 -1
- package/lib/cjs/appui-react/statusbar/StatusBarComposer.d.ts.map +1 -1
- package/lib/cjs/appui-react/statusbar/StatusBarComposer.js +1 -0
- package/lib/cjs/appui-react/statusbar/StatusBarComposer.js.map +1 -1
- package/lib/cjs/appui-react/statusbar/StatusBarItem.d.ts +52 -2
- package/lib/cjs/appui-react/statusbar/StatusBarItem.d.ts.map +1 -1
- package/lib/cjs/appui-react/statusbar/StatusBarItem.js +33 -2
- package/lib/cjs/appui-react/statusbar/StatusBarItem.js.map +1 -1
- package/lib/cjs/appui-react/statusbar/StatusBarItemUtilities.d.ts +23 -4
- package/lib/cjs/appui-react/statusbar/StatusBarItemUtilities.d.ts.map +1 -1
- package/lib/cjs/appui-react/statusbar/StatusBarItemUtilities.js +31 -1
- package/lib/cjs/appui-react/statusbar/StatusBarItemUtilities.js.map +1 -1
- package/lib/cjs/appui-react/statusbar/useDefaultStatusBarItems.js.map +1 -1
- package/lib/cjs/appui-react/statusfields/Indicator.js +2 -1
- package/lib/cjs/appui-react/statusfields/Indicator.js.map +1 -1
- package/lib/cjs/appui-react/toolbar/GroupButtonItem.d.ts +1 -1
- package/lib/cjs/appui-react/toolbar/GroupButtonItem.d.ts.map +1 -1
- package/lib/cjs/appui-react/toolbar/GroupButtonItem.js +4 -4
- package/lib/cjs/appui-react/toolbar/GroupButtonItem.js.map +1 -1
- package/lib/cjs/appui-react/toolbar/ToolbarComposer.js +1 -1
- package/lib/cjs/appui-react/toolbar/ToolbarComposer.js.map +1 -1
- package/lib/cjs/appui-react/toolbar/ToolbarItem.d.ts +53 -0
- package/lib/cjs/appui-react/toolbar/ToolbarItem.d.ts.map +1 -0
- package/lib/cjs/appui-react/toolbar/ToolbarItem.js +41 -0
- package/lib/cjs/appui-react/toolbar/ToolbarItem.js.map +1 -0
- package/lib/cjs/appui-react/toolbar/ToolbarItemUtilities.d.ts +14 -0
- package/lib/cjs/appui-react/toolbar/ToolbarItemUtilities.d.ts.map +1 -0
- package/lib/cjs/appui-react/toolbar/ToolbarItemUtilities.js +28 -0
- package/lib/cjs/appui-react/toolbar/ToolbarItemUtilities.js.map +1 -0
- package/lib/cjs/appui-react/ui-items-provider/BaseUiItemsProvider.d.ts +11 -0
- package/lib/cjs/appui-react/ui-items-provider/BaseUiItemsProvider.d.ts.map +1 -0
- package/lib/cjs/appui-react/ui-items-provider/BaseUiItemsProvider.js +20 -0
- package/lib/cjs/appui-react/ui-items-provider/BaseUiItemsProvider.js.map +1 -0
- package/lib/cjs/appui-react/ui-items-provider/ProviderItem.d.ts +9 -0
- package/lib/cjs/appui-react/ui-items-provider/ProviderItem.d.ts.map +1 -0
- package/lib/cjs/appui-react/ui-items-provider/ProviderItem.js +10 -0
- package/lib/cjs/appui-react/ui-items-provider/ProviderItem.js.map +1 -0
- package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.d.ts.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.js.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.d.ts.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.d.ts.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.js +1 -0
- package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.js.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.js +2 -2
- package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.js.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js +1 -0
- package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.d.ts.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.d.ts +24 -0
- package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.d.ts.map +1 -0
- package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.js +19 -0
- package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.js.map +1 -0
- package/lib/cjs/appui-react/ui-items-provider/UiItemsProvider.d.ts +9 -0
- package/lib/cjs/appui-react/ui-items-provider/UiItemsProvider.d.ts.map +1 -0
- package/lib/cjs/appui-react/ui-items-provider/UiItemsProvider.js +10 -0
- package/lib/cjs/appui-react/ui-items-provider/UiItemsProvider.js.map +1 -0
- package/lib/cjs/appui-react/utils/PropsHelper.js.map +1 -1
- package/lib/cjs/appui-react/widget-panels/Content.js +1 -1
- package/lib/cjs/appui-react/widget-panels/Content.js.map +1 -1
- package/lib/cjs/appui-react/widgets/BasicNavigationWidget.js.map +1 -1
- package/lib/cjs/appui-react/widgets/BasicToolWidget.js.map +1 -1
- package/lib/cjs/appui-react/widgets/ContentToolWidgetComposer.js.map +1 -1
- package/lib/cjs/appui-react/widgets/ViewToolWidgetComposer.js.map +1 -1
- package/lib/cjs/appui-react/widgets/WidgetControl.js.map +1 -1
- package/lib/cjs/appui-react/widgets/WidgetDef.d.ts.map +1 -1
- package/lib/cjs/appui-react/widgets/WidgetDef.js +1 -0
- package/lib/cjs/appui-react/widgets/WidgetDef.js.map +1 -1
- package/lib/cjs/appui-react/widgets/WidgetProps.d.ts +7 -0
- package/lib/cjs/appui-react/widgets/WidgetProps.d.ts.map +1 -1
- package/lib/cjs/appui-react/widgets/WidgetProps.js.map +1 -1
- package/lib/cjs/appui-react/widgets/WidgetState.d.ts +13 -0
- package/lib/cjs/appui-react/widgets/WidgetState.d.ts.map +1 -0
- package/lib/cjs/appui-react/widgets/WidgetState.js +16 -0
- package/lib/cjs/appui-react/widgets/WidgetState.js.map +1 -0
- package/lib/cjs/appui-react.d.ts +16 -5
- package/lib/cjs/appui-react.d.ts.map +1 -1
- package/lib/cjs/appui-react.js +16 -5
- package/lib/cjs/appui-react.js.map +1 -1
- package/lib/esm/appui-react/UiFramework.js.map +1 -1
- package/lib/esm/appui-react/backstage/BackstageComposer.d.ts.map +1 -1
- package/lib/esm/appui-react/backstage/BackstageComposer.js +1 -0
- package/lib/esm/appui-react/backstage/BackstageComposer.js.map +1 -1
- package/lib/esm/appui-react/backstage/BackstageComposerItem.js +1 -1
- package/lib/esm/appui-react/backstage/BackstageComposerItem.js.map +1 -1
- package/lib/esm/appui-react/backstage/BackstageItem.d.ts +43 -0
- package/lib/esm/appui-react/backstage/BackstageItem.d.ts.map +1 -0
- package/lib/esm/appui-react/backstage/BackstageItem.js +32 -0
- package/lib/esm/appui-react/backstage/BackstageItem.js.map +1 -0
- package/lib/esm/appui-react/backstage/BackstageItemUtilities.d.ts +7 -35
- package/lib/esm/appui-react/backstage/BackstageItemUtilities.d.ts.map +1 -1
- package/lib/esm/appui-react/backstage/BackstageItemUtilities.js +7 -21
- package/lib/esm/appui-react/backstage/BackstageItemUtilities.js.map +1 -1
- package/lib/esm/appui-react/backstage/useDefaultBackstageItems.js.map +1 -1
- package/lib/esm/appui-react/frontstage/ModalSettingsStage.d.ts.map +1 -1
- package/lib/esm/appui-react/frontstage/ModalSettingsStage.js +4 -2
- package/lib/esm/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
- package/lib/esm/appui-react/frontstage/StageUsage.d.ts +15 -0
- package/lib/esm/appui-react/frontstage/StageUsage.d.ts.map +1 -0
- package/lib/esm/appui-react/frontstage/StageUsage.js +14 -0
- package/lib/esm/appui-react/frontstage/StageUsage.js.map +1 -0
- package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
- package/lib/esm/appui-react/hooks/useAvailableUiItemsProviders.js +4 -4
- package/lib/esm/appui-react/hooks/useAvailableUiItemsProviders.js.map +1 -1
- package/lib/esm/appui-react/stagepanels/StagePanelLocation.d.ts +13 -0
- package/lib/esm/appui-react/stagepanels/StagePanelLocation.d.ts.map +1 -0
- package/lib/esm/appui-react/stagepanels/StagePanelLocation.js +13 -0
- package/lib/esm/appui-react/stagepanels/StagePanelLocation.js.map +1 -0
- package/lib/esm/appui-react/stagepanels/StagePanelSection.d.ts +13 -0
- package/lib/esm/appui-react/stagepanels/StagePanelSection.d.ts.map +1 -0
- package/lib/esm/appui-react/stagepanels/StagePanelSection.js +13 -0
- package/lib/esm/appui-react/stagepanels/StagePanelSection.js.map +1 -0
- package/lib/esm/appui-react/statusbar/LabelIndicator.js +2 -1
- package/lib/esm/appui-react/statusbar/LabelIndicator.js.map +1 -1
- package/lib/esm/appui-react/statusbar/StatusBarComposer.d.ts.map +1 -1
- package/lib/esm/appui-react/statusbar/StatusBarComposer.js +1 -0
- package/lib/esm/appui-react/statusbar/StatusBarComposer.js.map +1 -1
- package/lib/esm/appui-react/statusbar/StatusBarItem.d.ts +52 -2
- package/lib/esm/appui-react/statusbar/StatusBarItem.d.ts.map +1 -1
- package/lib/esm/appui-react/statusbar/StatusBarItem.js +29 -1
- package/lib/esm/appui-react/statusbar/StatusBarItem.js.map +1 -1
- package/lib/esm/appui-react/statusbar/StatusBarItemUtilities.d.ts +23 -4
- package/lib/esm/appui-react/statusbar/StatusBarItemUtilities.d.ts.map +1 -1
- package/lib/esm/appui-react/statusbar/StatusBarItemUtilities.js +31 -1
- package/lib/esm/appui-react/statusbar/StatusBarItemUtilities.js.map +1 -1
- package/lib/esm/appui-react/statusbar/useDefaultStatusBarItems.js.map +1 -1
- package/lib/esm/appui-react/statusfields/Indicator.js +2 -1
- package/lib/esm/appui-react/statusfields/Indicator.js.map +1 -1
- package/lib/esm/appui-react/toolbar/GroupButtonItem.d.ts +1 -1
- package/lib/esm/appui-react/toolbar/GroupButtonItem.d.ts.map +1 -1
- package/lib/esm/appui-react/toolbar/GroupButtonItem.js +2 -2
- package/lib/esm/appui-react/toolbar/GroupButtonItem.js.map +1 -1
- package/lib/esm/appui-react/toolbar/ToolbarComposer.js +1 -1
- package/lib/esm/appui-react/toolbar/ToolbarComposer.js.map +1 -1
- package/lib/esm/appui-react/toolbar/ToolbarItem.d.ts +53 -0
- package/lib/esm/appui-react/toolbar/ToolbarItem.d.ts.map +1 -0
- package/lib/esm/appui-react/toolbar/ToolbarItem.js +35 -0
- package/lib/esm/appui-react/toolbar/ToolbarItem.js.map +1 -0
- package/lib/esm/appui-react/toolbar/ToolbarItemUtilities.d.ts +14 -0
- package/lib/esm/appui-react/toolbar/ToolbarItemUtilities.d.ts.map +1 -0
- package/lib/esm/appui-react/toolbar/ToolbarItemUtilities.js +25 -0
- package/lib/esm/appui-react/toolbar/ToolbarItemUtilities.js.map +1 -0
- package/lib/esm/appui-react/ui-items-provider/BaseUiItemsProvider.d.ts +11 -0
- package/lib/esm/appui-react/ui-items-provider/BaseUiItemsProvider.d.ts.map +1 -0
- package/lib/esm/appui-react/ui-items-provider/BaseUiItemsProvider.js +16 -0
- package/lib/esm/appui-react/ui-items-provider/BaseUiItemsProvider.js.map +1 -0
- package/lib/esm/appui-react/ui-items-provider/ProviderItem.d.ts +9 -0
- package/lib/esm/appui-react/ui-items-provider/ProviderItem.d.ts.map +1 -0
- package/lib/esm/appui-react/ui-items-provider/ProviderItem.js +9 -0
- package/lib/esm/appui-react/ui-items-provider/ProviderItem.js.map +1 -0
- package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.d.ts.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.js.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.d.ts.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.d.ts.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.js +1 -0
- package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.js.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.js +2 -2
- package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.js.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js +1 -0
- package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.d.ts.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/UiItemsManager.d.ts +24 -0
- package/lib/esm/appui-react/ui-items-provider/UiItemsManager.d.ts.map +1 -0
- package/lib/esm/appui-react/ui-items-provider/UiItemsManager.js +15 -0
- package/lib/esm/appui-react/ui-items-provider/UiItemsManager.js.map +1 -0
- package/lib/esm/appui-react/ui-items-provider/UiItemsProvider.d.ts +9 -0
- package/lib/esm/appui-react/ui-items-provider/UiItemsProvider.d.ts.map +1 -0
- package/lib/esm/appui-react/ui-items-provider/UiItemsProvider.js +9 -0
- package/lib/esm/appui-react/ui-items-provider/UiItemsProvider.js.map +1 -0
- package/lib/esm/appui-react/utils/PropsHelper.js.map +1 -1
- package/lib/esm/appui-react/widget-panels/Content.js +1 -1
- package/lib/esm/appui-react/widget-panels/Content.js.map +1 -1
- package/lib/esm/appui-react/widgets/BasicNavigationWidget.js.map +1 -1
- package/lib/esm/appui-react/widgets/BasicToolWidget.js.map +1 -1
- package/lib/esm/appui-react/widgets/ContentToolWidgetComposer.js.map +1 -1
- package/lib/esm/appui-react/widgets/ViewToolWidgetComposer.js.map +1 -1
- package/lib/esm/appui-react/widgets/WidgetControl.js.map +1 -1
- package/lib/esm/appui-react/widgets/WidgetDef.d.ts.map +1 -1
- package/lib/esm/appui-react/widgets/WidgetDef.js +1 -0
- package/lib/esm/appui-react/widgets/WidgetDef.js.map +1 -1
- package/lib/esm/appui-react/widgets/WidgetProps.d.ts +7 -0
- package/lib/esm/appui-react/widgets/WidgetProps.d.ts.map +1 -1
- package/lib/esm/appui-react/widgets/WidgetProps.js.map +1 -1
- package/lib/esm/appui-react/widgets/WidgetState.d.ts +13 -0
- package/lib/esm/appui-react/widgets/WidgetState.d.ts.map +1 -0
- package/lib/esm/appui-react/widgets/WidgetState.js +13 -0
- package/lib/esm/appui-react/widgets/WidgetState.js.map +1 -0
- package/lib/esm/appui-react.d.ts +16 -5
- package/lib/esm/appui-react.d.ts.map +1 -1
- package/lib/esm/appui-react.js +16 -5
- package/lib/esm/appui-react.js.map +1 -1
- package/package.json +43 -33
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolbarComposer.js","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/ToolbarComposer.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Toolbar\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { Logger } from \"@itwin/core-bentley\";\r\nimport {\r\n ActionButton, CommonToolbarItem, ConditionalBooleanValue, GroupButton, ToolbarItemsManager, ToolbarItemUtilities, ToolbarOrientation, ToolbarUsage, UiSyncEventArgs,\r\n} from \"@itwin/appui-abstract\";\r\nimport { Orientation } from \"@itwin/core-react\";\r\nimport { ToolbarItem, ToolbarOpacitySetting, ToolbarWithOverflow } from \"@itwin/components-react\";\r\nimport { Direction, Toolbar, ToolbarPanelAlignment } from \"@itwin/appui-layout-react\";\r\nimport { FrontstageManager, ToolActivatedEventArgs } from \"../frontstage/FrontstageManager\";\r\nimport { useFrameworkVersion } from \"../hooks/useFrameworkVersion\";\r\nimport { SyncUiEventDispatcher } from \"../syncui/SyncUiEventDispatcher\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { UiShowHideManager } from \"../utils/UiShowHideManager\";\r\nimport { ToolbarDragInteractionContext } from \"./DragInteraction\";\r\nimport { ToolbarHelper } from \"./ToolbarHelper\";\r\nimport { useDefaultToolbarItems } from \"./useDefaultToolbarItems\";\r\nimport { useUiItemsProviderToolbarItems } from \"./useUiItemsProviderToolbarItems\";\r\n\r\n/** Private function to set up sync event monitoring of toolbar items */\r\nfunction useToolbarItemSyncEffect(uiDataProvider: ToolbarItemsManager, syncIdsOfInterest: string[]) {\r\n React.useEffect(() => {\r\n const handleSyncUiEvent = (args: UiSyncEventArgs) => {\r\n if (0 === syncIdsOfInterest.length)\r\n return;\r\n\r\n // istanbul ignore else\r\n if (syncIdsOfInterest.some((value: string): boolean => args.eventIds.has(value.toLowerCase()))) {\r\n // process each item that has interest\r\n uiDataProvider.refreshAffectedItems(args.eventIds);\r\n }\r\n };\r\n\r\n SyncUiEventDispatcher.onSyncUiEvent.addListener(handleSyncUiEvent);\r\n return () => {\r\n SyncUiEventDispatcher.onSyncUiEvent.removeListener(handleSyncUiEvent);\r\n };\r\n }, [uiDataProvider, syncIdsOfInterest, uiDataProvider.items]);\r\n\r\n React.useEffect(() => {\r\n const handleToolActivatedEvent = ({ toolId }: ToolActivatedEventArgs) => {\r\n uiDataProvider.setActiveToolId(toolId);\r\n };\r\n\r\n FrontstageManager.onToolActivatedEvent.addListener(handleToolActivatedEvent);\r\n\r\n return () => {\r\n FrontstageManager.onToolActivatedEvent.removeListener(handleToolActivatedEvent);\r\n };\r\n }, [uiDataProvider, uiDataProvider.items]);\r\n}\r\n\r\nfunction nestedAddItemToSpecifiedParentGroup(items: ReadonlyArray<ActionButton | GroupButton>, groupChildren: Array<ActionButton | GroupButton>): Array<ActionButton | GroupButton> {\r\n const outItems: Array<ActionButton | GroupButton> = [];\r\n for (const toolbarItem of items) {\r\n if (!ToolbarItemUtilities.isGroupButton(toolbarItem)) {\r\n outItems.push(toolbarItem);\r\n continue;\r\n }\r\n\r\n const newChildren: Array<ActionButton | GroupButton> = nestedAddItemToSpecifiedParentGroup(toolbarItem.items, groupChildren);\r\n const foundIndices: number[] = [];\r\n\r\n groupChildren.forEach((entry, index) => {\r\n if (entry.parentToolGroupId === toolbarItem.id) {\r\n foundIndices.push(index);\r\n }\r\n });\r\n\r\n // istanbul ignore else\r\n if (foundIndices.length) {\r\n // process in reverse order so groupChildren can be reduced as we find matches\r\n foundIndices.sort(\r\n // istanbul ignore next\r\n (a, b) => a - b,\r\n ).reverse().forEach((foundIndex) => {\r\n newChildren.push(groupChildren[foundIndex]);\r\n groupChildren.splice(foundIndex);\r\n });\r\n }\r\n\r\n outItems.push({ ...toolbarItem, items: newChildren });\r\n }\r\n return outItems;\r\n}\r\n\r\nfunction addItemToSpecifiedParentGroup(items: readonly CommonToolbarItem[], groupChildren: Array<ActionButton | GroupButton>): CommonToolbarItem[] {\r\n const outItems: CommonToolbarItem[] = [];\r\n for (const toolbarItem of items) {\r\n if (!ToolbarItemUtilities.isGroupButton(toolbarItem)) {\r\n outItems.push(toolbarItem);\r\n continue;\r\n }\r\n\r\n const newChildren: Array<ActionButton | GroupButton> = nestedAddItemToSpecifiedParentGroup(toolbarItem.items, groupChildren);\r\n const foundIndices: number[] = [];\r\n\r\n groupChildren.forEach((entry, index) => {\r\n if (entry.parentToolGroupId === toolbarItem.id) {\r\n foundIndices.push(index);\r\n }\r\n });\r\n\r\n // istanbul ignore else\r\n if (foundIndices.length) {\r\n // process in reverse order so groupChildren can be reduced as we find matches\r\n foundIndices.sort(\r\n // istanbul ignore next\r\n (a, b) => a - b,\r\n ).reverse().forEach((foundIndex) => {\r\n newChildren.push(groupChildren[foundIndex]);\r\n groupChildren.splice(foundIndex);\r\n });\r\n }\r\n\r\n outItems.push({ ...toolbarItem, items: newChildren });\r\n }\r\n return outItems;\r\n}\r\n\r\nfunction cloneGroup(inGroup: GroupButton): GroupButton {\r\n const childItems: Array<ActionButton | GroupButton> = [];\r\n inGroup.items.forEach((item) => {\r\n if (ToolbarItemUtilities.isGroupButton(item))\r\n childItems.push(cloneGroup(item));\r\n else\r\n childItems.push(item);\r\n });\r\n\r\n const clonedGroup = { ...inGroup, items: childItems };\r\n return clonedGroup;\r\n}\r\n\r\nfunction getItemSortValue(item: ToolbarItem) {\r\n const groupValue = undefined === item.groupPriority ? 0 : /* istanbul ignore next */ item.groupPriority;\r\n return groupValue * 10000 + item.itemPriority;\r\n}\r\n\r\nfunction getSortedChildren(group: GroupButton): ReadonlyArray<ActionButton | GroupButton> {\r\n const sortedChildren = group.items\r\n .filter((item) => !(ConditionalBooleanValue.getValue(item.isHidden)))\r\n .sort((a, b) => getItemSortValue(a) - getItemSortValue(b))\r\n .map((i) => {\r\n if (ToolbarItemUtilities.isGroupButton(i)) {\r\n return { ...i, items: getSortedChildren(i) };\r\n }\r\n return i;\r\n });\r\n return sortedChildren;\r\n}\r\n\r\n/** local function to combine items from Stage and from Extensions */\r\nfunction combineItems(defaultItems: ReadonlyArray<CommonToolbarItem>, addonItems: ReadonlyArray<CommonToolbarItem>) {\r\n let items: CommonToolbarItem[] = [];\r\n const groupChildren: Array<ActionButton | GroupButton> = [];\r\n\r\n // istanbul ignore else\r\n if (defaultItems.length) {\r\n defaultItems.forEach((srcItem: CommonToolbarItem) => {\r\n if (-1 === items.findIndex((item) => item.id === srcItem.id)) {\r\n // if the default item is a group that an addon may insert into copy it so we don't mess with original\r\n const toolbarItem = ToolbarItemUtilities.isGroupButton(srcItem) ? cloneGroup(srcItem) : srcItem;\r\n if (toolbarItem.parentToolGroupId && (ToolbarItemUtilities.isGroupButton(toolbarItem) || ToolbarItemUtilities.isActionButton(toolbarItem)))\r\n groupChildren.push(toolbarItem);\r\n else\r\n items.push(toolbarItem);\r\n }\r\n });\r\n }\r\n // istanbul ignore else\r\n if (addonItems.length) {\r\n addonItems.forEach((srcItem: CommonToolbarItem) => {\r\n if (-1 === items.findIndex((item) => item.id === srcItem.id)) {\r\n // if the default item is a group that an addon may insert into copy it so we don't mess with original\r\n const toolbarItem = ToolbarItemUtilities.isGroupButton(srcItem) ? cloneGroup(srcItem) : srcItem;\r\n if (toolbarItem.parentToolGroupId && (ToolbarItemUtilities.isGroupButton(toolbarItem) || ToolbarItemUtilities.isActionButton(toolbarItem)))\r\n groupChildren.push(toolbarItem);\r\n else\r\n items.push(toolbarItem);\r\n }\r\n });\r\n }\r\n\r\n // if an item from an addon has specified a parent group then try to find it and insert it. If no parent is found, add item at root level.\r\n if (groupChildren.length) {\r\n items = addItemToSpecifiedParentGroup(items, groupChildren);\r\n\r\n if (groupChildren.length) {\r\n groupChildren.forEach((toolbarItem: ActionButton | GroupButton) => {\r\n Logger.logWarning(\"ToolbarComposer\", `Requested Parent Group [${toolbarItem.parentToolGroupId!}] not found, so item [${toolbarItem.id}] is added directly to toolbar.`);\r\n items.push(toolbarItem);\r\n });\r\n }\r\n }\r\n\r\n const availableItems = items\r\n .filter((item) => !(ConditionalBooleanValue.getValue(item.isHidden)))\r\n .sort((a, b) => getItemSortValue(a) - getItemSortValue(b))\r\n .map((i) => {\r\n if (ToolbarItemUtilities.isGroupButton(i)) {\r\n return { ...i, items: getSortedChildren(i) };\r\n }\r\n return i;\r\n });\r\n\r\n return availableItems;\r\n}\r\n\r\nconst useProximityOpacitySetting = () => {\r\n const [proximityOpacity, setProximityOpacity] = React.useState(UiShowHideManager.useProximityOpacity);\r\n React.useEffect(() => {\r\n // istanbul ignore next\r\n const handleUiVisibilityChanged = () => {\r\n setProximityOpacity(UiShowHideManager.useProximityOpacity);\r\n };\r\n UiFramework.onUiVisibilityChanged.addListener(handleUiVisibilityChanged);\r\n return () => {\r\n UiFramework.onUiVisibilityChanged.removeListener(handleUiVisibilityChanged);\r\n };\r\n }, []);\r\n return proximityOpacity;\r\n};\r\n\r\n/** Properties for the [[ToolbarComposer]] React components\r\n * @public\r\n */\r\nexport interface ExtensibleToolbarProps {\r\n items: CommonToolbarItem[];\r\n usage: ToolbarUsage;\r\n /** Toolbar orientation. */\r\n orientation: ToolbarOrientation;\r\n}\r\n\r\n/**\r\n * Toolbar that is populated and maintained by item managers.\r\n * @public\r\n */\r\nexport function ToolbarComposer(props: ExtensibleToolbarProps) {\r\n const { usage, orientation } = props;\r\n\r\n const [defaultItemsManager, setDefaultItemsManager] = React.useState(() => new ToolbarItemsManager(props.items));\r\n React.useEffect(() => {\r\n setDefaultItemsManager(new ToolbarItemsManager(props.items));\r\n }, [props.items]); // eslint-disable-line react-hooks/exhaustive-deps\r\n\r\n // process default items\r\n const defaultItems = useDefaultToolbarItems(defaultItemsManager);\r\n const syncIdsOfInterest = React.useMemo(() => ToolbarItemsManager.getSyncIdsOfInterest(defaultItems), [defaultItems]);\r\n useToolbarItemSyncEffect(defaultItemsManager, syncIdsOfInterest);\r\n\r\n // process items from addon UI providers\r\n const [addonItemsManager] = React.useState(() => new ToolbarItemsManager());\r\n const addonItems = useUiItemsProviderToolbarItems(addonItemsManager, usage, orientation);\r\n const addonSyncIdsOfInterest = React.useMemo(() => ToolbarItemsManager.getSyncIdsOfInterest(addonItems), [addonItems]);\r\n useToolbarItemSyncEffect(addonItemsManager, addonSyncIdsOfInterest);\r\n\r\n const toolbarItems = React.useMemo(() => combineItems(defaultItems, addonItems), [defaultItems, addonItems]);\r\n\r\n const toolbarOrientation = orientation === ToolbarOrientation.Horizontal ? Orientation.Horizontal : Orientation.Vertical;\r\n // eslint-disable-next-line deprecation/deprecation\r\n const expandsTo = toolbarOrientation === Orientation.Horizontal ? Direction.Bottom : usage === ToolbarUsage.ViewNavigation ? Direction.Left : Direction.Right;\r\n // eslint-disable-next-line deprecation/deprecation\r\n const panelAlignment = (toolbarOrientation === Orientation.Horizontal && usage === ToolbarUsage.ViewNavigation) ? ToolbarPanelAlignment.End : ToolbarPanelAlignment.Start;\r\n const version = useFrameworkVersion(); // eslint-disable-line deprecation/deprecation\r\n const isDragEnabled = React.useContext(ToolbarDragInteractionContext);\r\n const useProximityOpacity = useProximityOpacitySetting();\r\n\r\n if (\"1\" === version) {\r\n return (\r\n <ToolbarUi1\r\n items={toolbarItems}\r\n expandsTo={expandsTo}\r\n panelAlignment={panelAlignment}\r\n />\r\n );\r\n }\r\n\r\n return <ToolbarWithOverflow\r\n expandsTo={expandsTo}\r\n panelAlignment={panelAlignment}\r\n items={toolbarItems}\r\n useDragInteraction={isDragEnabled}\r\n toolbarOpacitySetting={useProximityOpacity && !UiFramework.isMobile() ? ToolbarOpacitySetting.Proximity : /* istanbul ignore next */ ToolbarOpacitySetting.Defaults}\r\n />;\r\n}\r\n\r\ninterface ToolbarUi1Props {\r\n items: CommonToolbarItem[];\r\n expandsTo: Direction; // eslint-disable-line deprecation/deprecation\r\n panelAlignment: ToolbarPanelAlignment; // eslint-disable-line deprecation/deprecation\r\n}\r\n\r\n/** Toolbar rendered in 1.0 mode.\r\n * @internal\r\n */\r\nconst ToolbarUi1 = React.memo<ToolbarUi1Props>(function ToolbarUi1({\r\n items,\r\n expandsTo,\r\n panelAlignment,\r\n}) {\r\n const createReactNodes = (): React.ReactNode => {\r\n if (0 === items.length)\r\n return null;\r\n\r\n const createdNodes = items.map((item: CommonToolbarItem) => {\r\n return ToolbarHelper.createNodeForToolbarItem(item);\r\n });\r\n return createdNodes;\r\n };\r\n\r\n return <Toolbar // eslint-disable-line deprecation/deprecation\r\n expandsTo={expandsTo}\r\n panelAlignment={panelAlignment}\r\n items={\r\n <>\r\n {createReactNodes()}\r\n </>\r\n }\r\n />;\r\n});\r\n"]}
|
|
1
|
+
{"version":3,"file":"ToolbarComposer.js","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/ToolbarComposer.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Toolbar\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { Logger } from \"@itwin/core-bentley\";\r\nimport {\r\n ActionButton, CommonToolbarItem, ConditionalBooleanValue, GroupButton, ToolbarItemsManager, ToolbarItemUtilities, ToolbarOrientation, ToolbarUsage, UiSyncEventArgs,\r\n} from \"@itwin/appui-abstract\";\r\nimport { Orientation } from \"@itwin/core-react\";\r\nimport { ToolbarItem, ToolbarOpacitySetting, ToolbarWithOverflow } from \"@itwin/components-react\";\r\nimport { Direction, Toolbar, ToolbarPanelAlignment } from \"@itwin/appui-layout-react\";\r\nimport { FrontstageManager, ToolActivatedEventArgs } from \"../frontstage/FrontstageManager\";\r\nimport { useFrameworkVersion } from \"../hooks/useFrameworkVersion\";\r\nimport { SyncUiEventDispatcher } from \"../syncui/SyncUiEventDispatcher\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { UiShowHideManager } from \"../utils/UiShowHideManager\";\r\nimport { ToolbarDragInteractionContext } from \"./DragInteraction\";\r\nimport { ToolbarHelper } from \"./ToolbarHelper\";\r\nimport { useDefaultToolbarItems } from \"./useDefaultToolbarItems\";\r\nimport { useUiItemsProviderToolbarItems } from \"./useUiItemsProviderToolbarItems\";\r\n\r\n/** Private function to set up sync event monitoring of toolbar items */\r\nfunction useToolbarItemSyncEffect(uiDataProvider: ToolbarItemsManager, syncIdsOfInterest: string[]) {\r\n React.useEffect(() => {\r\n const handleSyncUiEvent = (args: UiSyncEventArgs) => {\r\n if (0 === syncIdsOfInterest.length)\r\n return;\r\n\r\n // istanbul ignore else\r\n if (syncIdsOfInterest.some((value: string): boolean => args.eventIds.has(value.toLowerCase()))) {\r\n // process each item that has interest\r\n uiDataProvider.refreshAffectedItems(args.eventIds);\r\n }\r\n };\r\n\r\n SyncUiEventDispatcher.onSyncUiEvent.addListener(handleSyncUiEvent);\r\n return () => {\r\n SyncUiEventDispatcher.onSyncUiEvent.removeListener(handleSyncUiEvent);\r\n };\r\n }, [uiDataProvider, syncIdsOfInterest, uiDataProvider.items]);\r\n\r\n React.useEffect(() => {\r\n const handleToolActivatedEvent = ({ toolId }: ToolActivatedEventArgs) => {\r\n uiDataProvider.setActiveToolId(toolId);\r\n };\r\n\r\n FrontstageManager.onToolActivatedEvent.addListener(handleToolActivatedEvent);\r\n\r\n return () => {\r\n FrontstageManager.onToolActivatedEvent.removeListener(handleToolActivatedEvent);\r\n };\r\n }, [uiDataProvider, uiDataProvider.items]);\r\n}\r\n\r\nfunction nestedAddItemToSpecifiedParentGroup(items: ReadonlyArray<ActionButton | GroupButton>, groupChildren: Array<ActionButton | GroupButton>): Array<ActionButton | GroupButton> {\r\n const outItems: Array<ActionButton | GroupButton> = [];\r\n for (const toolbarItem of items) {\r\n if (!ToolbarItemUtilities.isGroupButton(toolbarItem)) {\r\n outItems.push(toolbarItem);\r\n continue;\r\n }\r\n\r\n const newChildren: Array<ActionButton | GroupButton> = nestedAddItemToSpecifiedParentGroup(toolbarItem.items, groupChildren);\r\n const foundIndices: number[] = [];\r\n\r\n groupChildren.forEach((entry, index) => {\r\n if (entry.parentToolGroupId === toolbarItem.id) {\r\n foundIndices.push(index);\r\n }\r\n });\r\n\r\n // istanbul ignore else\r\n if (foundIndices.length) {\r\n // process in reverse order so groupChildren can be reduced as we find matches\r\n foundIndices.sort(\r\n // istanbul ignore next\r\n (a, b) => a - b,\r\n ).reverse().forEach((foundIndex) => {\r\n newChildren.push(groupChildren[foundIndex]);\r\n groupChildren.splice(foundIndex);\r\n });\r\n }\r\n\r\n outItems.push({ ...toolbarItem, items: newChildren });\r\n }\r\n return outItems;\r\n}\r\n\r\nfunction addItemToSpecifiedParentGroup(items: readonly CommonToolbarItem[], groupChildren: Array<ActionButton | GroupButton>): CommonToolbarItem[] {\r\n const outItems: CommonToolbarItem[] = [];\r\n for (const toolbarItem of items) {\r\n if (!ToolbarItemUtilities.isGroupButton(toolbarItem)) {\r\n outItems.push(toolbarItem);\r\n continue;\r\n }\r\n\r\n const newChildren: Array<ActionButton | GroupButton> = nestedAddItemToSpecifiedParentGroup(toolbarItem.items, groupChildren);\r\n const foundIndices: number[] = [];\r\n\r\n groupChildren.forEach((entry, index) => {\r\n if (entry.parentToolGroupId === toolbarItem.id) {\r\n foundIndices.push(index);\r\n }\r\n });\r\n\r\n // istanbul ignore else\r\n if (foundIndices.length) {\r\n // process in reverse order so groupChildren can be reduced as we find matches\r\n foundIndices.sort(\r\n // istanbul ignore next\r\n (a, b) => a - b,\r\n ).reverse().forEach((foundIndex) => {\r\n newChildren.push(groupChildren[foundIndex]);\r\n groupChildren.splice(foundIndex);\r\n });\r\n }\r\n\r\n outItems.push({ ...toolbarItem, items: newChildren });\r\n }\r\n return outItems;\r\n}\r\n\r\nfunction cloneGroup(inGroup: GroupButton): GroupButton {\r\n const childItems: Array<ActionButton | GroupButton> = [];\r\n inGroup.items.forEach((item) => {\r\n if (ToolbarItemUtilities.isGroupButton(item))\r\n childItems.push(cloneGroup(item));\r\n else\r\n childItems.push(item);\r\n });\r\n\r\n const clonedGroup = { ...inGroup, items: childItems };\r\n return clonedGroup;\r\n}\r\n\r\nfunction getItemSortValue(item: ToolbarItem) {\r\n const groupValue = undefined === item.groupPriority ? 0 : /* istanbul ignore next */ item.groupPriority;\r\n return groupValue * 10000 + item.itemPriority;\r\n}\r\n\r\nfunction getSortedChildren(group: GroupButton): ReadonlyArray<ActionButton | GroupButton> {\r\n const sortedChildren = group.items\r\n .filter((item) => !(ConditionalBooleanValue.getValue(item.isHidden)))\r\n .sort((a, b) => getItemSortValue(a) - getItemSortValue(b))\r\n .map((i) => {\r\n if (ToolbarItemUtilities.isGroupButton(i)) {\r\n return { ...i, items: getSortedChildren(i) };\r\n }\r\n return i;\r\n });\r\n return sortedChildren;\r\n}\r\n\r\n/** local function to combine items from Stage and from Extensions */\r\nfunction combineItems(defaultItems: ReadonlyArray<CommonToolbarItem>, addonItems: ReadonlyArray<CommonToolbarItem>) {\r\n let items: CommonToolbarItem[] = [];\r\n const groupChildren: Array<ActionButton | GroupButton> = [];\r\n\r\n // istanbul ignore else\r\n if (defaultItems.length) {\r\n defaultItems.forEach((srcItem: CommonToolbarItem) => {\r\n if (-1 === items.findIndex((item) => item.id === srcItem.id)) {\r\n // if the default item is a group that an addon may insert into copy it so we don't mess with original\r\n const toolbarItem = ToolbarItemUtilities.isGroupButton(srcItem) ? cloneGroup(srcItem) : srcItem;\r\n if (toolbarItem.parentToolGroupId && (ToolbarItemUtilities.isGroupButton(toolbarItem) || ToolbarItemUtilities.isActionButton(toolbarItem)))\r\n groupChildren.push(toolbarItem);\r\n else\r\n items.push(toolbarItem);\r\n }\r\n });\r\n }\r\n // istanbul ignore else\r\n if (addonItems.length) {\r\n addonItems.forEach((srcItem: CommonToolbarItem) => {\r\n if (-1 === items.findIndex((item) => item.id === srcItem.id)) {\r\n // if the default item is a group that an addon may insert into copy it so we don't mess with original\r\n const toolbarItem = ToolbarItemUtilities.isGroupButton(srcItem) ? cloneGroup(srcItem) : srcItem;\r\n if (toolbarItem.parentToolGroupId && (ToolbarItemUtilities.isGroupButton(toolbarItem) || ToolbarItemUtilities.isActionButton(toolbarItem)))\r\n groupChildren.push(toolbarItem);\r\n else\r\n items.push(toolbarItem);\r\n }\r\n });\r\n }\r\n\r\n // if an item from an addon has specified a parent group then try to find it and insert it. If no parent is found, add item at root level.\r\n if (groupChildren.length) {\r\n items = addItemToSpecifiedParentGroup(items, groupChildren);\r\n\r\n if (groupChildren.length) {\r\n groupChildren.forEach((toolbarItem: ActionButton | GroupButton) => {\r\n Logger.logWarning(\"ToolbarComposer\", `Requested Parent Group [${toolbarItem.parentToolGroupId!}] not found, so item [${toolbarItem.id}] is added directly to toolbar.`);\r\n items.push(toolbarItem);\r\n });\r\n }\r\n }\r\n\r\n const availableItems = items\r\n .filter((item) => !(ConditionalBooleanValue.getValue(item.isHidden)))\r\n .sort((a, b) => getItemSortValue(a) - getItemSortValue(b))\r\n .map((i) => {\r\n if (ToolbarItemUtilities.isGroupButton(i)) {\r\n return { ...i, items: getSortedChildren(i) };\r\n }\r\n return i;\r\n });\r\n\r\n return availableItems;\r\n}\r\n\r\nconst useProximityOpacitySetting = () => {\r\n const [proximityOpacity, setProximityOpacity] = React.useState(UiShowHideManager.useProximityOpacity);\r\n React.useEffect(() => {\r\n // istanbul ignore next\r\n const handleUiVisibilityChanged = () => {\r\n setProximityOpacity(UiShowHideManager.useProximityOpacity);\r\n };\r\n UiFramework.onUiVisibilityChanged.addListener(handleUiVisibilityChanged);\r\n return () => {\r\n UiFramework.onUiVisibilityChanged.removeListener(handleUiVisibilityChanged);\r\n };\r\n }, []);\r\n return proximityOpacity;\r\n};\r\n\r\n/** Properties for the [[ToolbarComposer]] React components\r\n * @public\r\n */\r\nexport interface ExtensibleToolbarProps {\r\n items: CommonToolbarItem[];\r\n usage: ToolbarUsage; // eslint-disable-line deprecation/deprecation\r\n /** Toolbar orientation. */\r\n orientation: ToolbarOrientation; // eslint-disable-line deprecation/deprecation\r\n}\r\n\r\n/**\r\n * Toolbar that is populated and maintained by item managers.\r\n * @public\r\n */\r\nexport function ToolbarComposer(props: ExtensibleToolbarProps) {\r\n const { usage, orientation } = props;\r\n\r\n const [defaultItemsManager, setDefaultItemsManager] = React.useState(() => new ToolbarItemsManager(props.items));\r\n React.useEffect(() => {\r\n setDefaultItemsManager(new ToolbarItemsManager(props.items));\r\n }, [props.items]); // eslint-disable-line react-hooks/exhaustive-deps\r\n\r\n // process default items\r\n const defaultItems = useDefaultToolbarItems(defaultItemsManager);\r\n const syncIdsOfInterest = React.useMemo(() => ToolbarItemsManager.getSyncIdsOfInterest(defaultItems), [defaultItems]);\r\n useToolbarItemSyncEffect(defaultItemsManager, syncIdsOfInterest);\r\n\r\n // process items from addon UI providers\r\n const [addonItemsManager] = React.useState(() => new ToolbarItemsManager());\r\n const addonItems = useUiItemsProviderToolbarItems(addonItemsManager, usage, orientation);\r\n const addonSyncIdsOfInterest = React.useMemo(() => ToolbarItemsManager.getSyncIdsOfInterest(addonItems), [addonItems]);\r\n useToolbarItemSyncEffect(addonItemsManager, addonSyncIdsOfInterest);\r\n\r\n const toolbarItems = React.useMemo(() => combineItems(defaultItems, addonItems), [defaultItems, addonItems]);\r\n\r\n const toolbarOrientation = orientation === ToolbarOrientation.Horizontal ? Orientation.Horizontal : Orientation.Vertical; // eslint-disable-line deprecation/deprecation\r\n // eslint-disable-next-line deprecation/deprecation\r\n const expandsTo = toolbarOrientation === Orientation.Horizontal ? Direction.Bottom : usage === ToolbarUsage.ViewNavigation ? Direction.Left : Direction.Right;\r\n // eslint-disable-next-line deprecation/deprecation\r\n const panelAlignment = (toolbarOrientation === Orientation.Horizontal && usage === ToolbarUsage.ViewNavigation) ? ToolbarPanelAlignment.End : ToolbarPanelAlignment.Start;\r\n const version = useFrameworkVersion(); // eslint-disable-line deprecation/deprecation\r\n const isDragEnabled = React.useContext(ToolbarDragInteractionContext);\r\n const useProximityOpacity = useProximityOpacitySetting();\r\n\r\n if (\"1\" === version) {\r\n return (\r\n <ToolbarUi1\r\n items={toolbarItems}\r\n expandsTo={expandsTo}\r\n panelAlignment={panelAlignment}\r\n />\r\n );\r\n }\r\n\r\n return <ToolbarWithOverflow\r\n expandsTo={expandsTo}\r\n panelAlignment={panelAlignment}\r\n items={toolbarItems}\r\n useDragInteraction={isDragEnabled}\r\n toolbarOpacitySetting={useProximityOpacity && !UiFramework.isMobile() ? ToolbarOpacitySetting.Proximity : /* istanbul ignore next */ ToolbarOpacitySetting.Defaults}\r\n />;\r\n}\r\n\r\ninterface ToolbarUi1Props {\r\n items: CommonToolbarItem[];\r\n expandsTo: Direction; // eslint-disable-line deprecation/deprecation\r\n panelAlignment: ToolbarPanelAlignment; // eslint-disable-line deprecation/deprecation\r\n}\r\n\r\n/** Toolbar rendered in 1.0 mode.\r\n * @internal\r\n */\r\nconst ToolbarUi1 = React.memo<ToolbarUi1Props>(function ToolbarUi1({\r\n items,\r\n expandsTo,\r\n panelAlignment,\r\n}) {\r\n const createReactNodes = (): React.ReactNode => {\r\n if (0 === items.length)\r\n return null;\r\n\r\n const createdNodes = items.map((item: CommonToolbarItem) => {\r\n return ToolbarHelper.createNodeForToolbarItem(item);\r\n });\r\n return createdNodes;\r\n };\r\n\r\n return <Toolbar // eslint-disable-line deprecation/deprecation\r\n expandsTo={expandsTo}\r\n panelAlignment={panelAlignment}\r\n items={\r\n <>\r\n {createReactNodes()}\r\n </>\r\n }\r\n />;\r\n});\r\n"]}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/** @packageDocumentation
|
|
2
|
+
* @module Toolbar
|
|
3
|
+
*/
|
|
4
|
+
import { ActionButton, CustomButtonDefinition, GroupButton, CommonToolbarItem as UIA_CommonToolbarItem, ToolbarItem as UIA_ToolbarItem, ToolbarOrientation as UIA_ToolbarOrientation, ToolbarUsage as UIA_ToolbarUsage } from "@itwin/appui-abstract";
|
|
5
|
+
/** Used to specify the usage of the toolbar which determine the toolbar position.
|
|
6
|
+
* @beta
|
|
7
|
+
*/
|
|
8
|
+
export declare type ToolbarUsage = UIA_ToolbarUsage;
|
|
9
|
+
/** Used to specify the usage of the toolbar which determine the toolbar position.
|
|
10
|
+
* @beta
|
|
11
|
+
*/
|
|
12
|
+
export declare const ToolbarUsage: typeof UIA_ToolbarUsage;
|
|
13
|
+
/** Used to specify the orientation of the toolbar.
|
|
14
|
+
* @beta
|
|
15
|
+
*/
|
|
16
|
+
export declare type ToolbarOrientation = UIA_ToolbarOrientation;
|
|
17
|
+
/** Used to specify the orientation of the toolbar.
|
|
18
|
+
* @beta
|
|
19
|
+
*/
|
|
20
|
+
export declare const ToolbarOrientation: typeof UIA_ToolbarOrientation;
|
|
21
|
+
/** Describes the data needed to insert a UI items into an existing set of UI items.
|
|
22
|
+
* @beta
|
|
23
|
+
*/
|
|
24
|
+
export declare type CommonToolbarItem = UIA_ToolbarItem;
|
|
25
|
+
/** Describes the data needed to insert an action button into a toolbar.
|
|
26
|
+
* @beta
|
|
27
|
+
*/
|
|
28
|
+
export declare type ToolbarActionItem = ActionButton;
|
|
29
|
+
/** Describes the data needed to insert a group button into a toolbar.
|
|
30
|
+
* @beta
|
|
31
|
+
*/
|
|
32
|
+
export declare type ToolbarGroupItem = GroupButton;
|
|
33
|
+
/** Describes the data needed to insert a custom button into a toolbar.
|
|
34
|
+
* @beta
|
|
35
|
+
*/
|
|
36
|
+
export declare type ToolbarCustomItem = CustomButtonDefinition;
|
|
37
|
+
/** Any Button Type that can be inserted into a toolbar.
|
|
38
|
+
* @beta
|
|
39
|
+
*/
|
|
40
|
+
export declare type ToolbarItem = UIA_CommonToolbarItem;
|
|
41
|
+
/** ToolbarActionItem type guard.
|
|
42
|
+
* @beta
|
|
43
|
+
*/
|
|
44
|
+
export declare function isToolbarActionItem(item: ToolbarItem): item is ToolbarActionItem;
|
|
45
|
+
/** ToolbarGroupItem type guard.
|
|
46
|
+
* @beta
|
|
47
|
+
*/
|
|
48
|
+
export declare function isToolbarGroupItem(item: ToolbarItem): item is ToolbarGroupItem;
|
|
49
|
+
/** ToolbarCustomItem type guard.
|
|
50
|
+
* @beta
|
|
51
|
+
*/
|
|
52
|
+
export declare function isToolbarCustomItem(item: ToolbarItem): item is ToolbarCustomItem;
|
|
53
|
+
//# sourceMappingURL=ToolbarItem.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ToolbarItem.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/ToolbarItem.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EACL,YAAY,EACZ,sBAAsB,EACtB,WAAW,EACX,iBAAiB,IAAI,qBAAqB,EAC1C,WAAW,IAAI,eAAe,EAE9B,kBAAkB,IAAI,sBAAsB,EAC5C,YAAY,IAAI,gBAAgB,EACjC,MAAM,uBAAuB,CAAC;AAE/B;;GAEG;AACH,oBAAY,YAAY,GAAG,gBAAgB,CAAC;AAE5C;;GAEG;AACH,eAAO,MAAM,YAAY,yBAAmB,CAAC;AAE7C;;GAEG;AACH,oBAAY,kBAAkB,GAAG,sBAAsB,CAAC;AAExD;;GAEG;AACH,eAAO,MAAM,kBAAkB,+BAAyB,CAAC;AAEzD;;GAEG;AACH,oBAAY,iBAAiB,GAAG,eAAe,CAAC;AAEhD;;GAEG;AACH,oBAAY,iBAAiB,GAAG,YAAY,CAAC;AAE7C;;GAEG;AACH,oBAAY,gBAAgB,GAAG,WAAW,CAAC;AAE3C;;GAEG;AACH,oBAAY,iBAAiB,GAAG,sBAAsB,CAAC;AAEvD;;GAEG;AACH,oBAAY,WAAW,GAAG,qBAAqB,CAAC;AAEhD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,IAAI,iBAAiB,CAEhF;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,IAAI,gBAAgB,CAE9E;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,IAAI,iBAAiB,CAEhF"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*---------------------------------------------------------------------------------------------
|
|
3
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
4
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
5
|
+
*--------------------------------------------------------------------------------------------*/
|
|
6
|
+
/** @packageDocumentation
|
|
7
|
+
* @module Toolbar
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.isToolbarCustomItem = exports.isToolbarGroupItem = exports.isToolbarActionItem = exports.ToolbarOrientation = exports.ToolbarUsage = void 0;
|
|
11
|
+
const appui_abstract_1 = require("@itwin/appui-abstract");
|
|
12
|
+
/** Used to specify the usage of the toolbar which determine the toolbar position.
|
|
13
|
+
* @beta
|
|
14
|
+
*/
|
|
15
|
+
exports.ToolbarUsage = appui_abstract_1.ToolbarUsage; // eslint-disable-line @typescript-eslint/no-redeclare, deprecation/deprecation
|
|
16
|
+
/** Used to specify the orientation of the toolbar.
|
|
17
|
+
* @beta
|
|
18
|
+
*/
|
|
19
|
+
exports.ToolbarOrientation = appui_abstract_1.ToolbarOrientation; // eslint-disable-line @typescript-eslint/no-redeclare, deprecation/deprecation
|
|
20
|
+
/** ToolbarActionItem type guard.
|
|
21
|
+
* @beta
|
|
22
|
+
*/
|
|
23
|
+
function isToolbarActionItem(item) {
|
|
24
|
+
return appui_abstract_1.ToolbarItemUtilities.isActionButton(item);
|
|
25
|
+
}
|
|
26
|
+
exports.isToolbarActionItem = isToolbarActionItem;
|
|
27
|
+
/** ToolbarGroupItem type guard.
|
|
28
|
+
* @beta
|
|
29
|
+
*/
|
|
30
|
+
function isToolbarGroupItem(item) {
|
|
31
|
+
return appui_abstract_1.ToolbarItemUtilities.isGroupButton(item);
|
|
32
|
+
}
|
|
33
|
+
exports.isToolbarGroupItem = isToolbarGroupItem;
|
|
34
|
+
/** ToolbarCustomItem type guard.
|
|
35
|
+
* @beta
|
|
36
|
+
*/
|
|
37
|
+
function isToolbarCustomItem(item) {
|
|
38
|
+
return appui_abstract_1.ToolbarItemUtilities.isCustomDefinition(item);
|
|
39
|
+
}
|
|
40
|
+
exports.isToolbarCustomItem = isToolbarCustomItem;
|
|
41
|
+
//# sourceMappingURL=ToolbarItem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ToolbarItem.js","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/ToolbarItem.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,0DAS+B;AAO/B;;GAEG;AACU,QAAA,YAAY,GAAG,6BAAgB,CAAC,CAAC,+EAA+E;AAO7H;;GAEG;AACU,QAAA,kBAAkB,GAAG,mCAAsB,CAAC,CAAC,+EAA+E;AA2BzI;;GAEG;AACH,SAAgB,mBAAmB,CAAC,IAAiB;IACnD,OAAO,qCAAwB,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;AACvD,CAAC;AAFD,kDAEC;AAED;;GAEG;AACH,SAAgB,kBAAkB,CAAC,IAAiB;IAClD,OAAO,qCAAwB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;AACtD,CAAC;AAFD,gDAEC;AAED;;GAEG;AACH,SAAgB,mBAAmB,CAAC,IAAiB;IACnD,OAAO,qCAAwB,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;AAC3D,CAAC;AAFD,kDAEC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Toolbar\r\n */\r\n\r\nimport {\r\n ActionButton,\r\n CustomButtonDefinition,\r\n GroupButton,\r\n CommonToolbarItem as UIA_CommonToolbarItem,\r\n ToolbarItem as UIA_ToolbarItem,\r\n ToolbarItemUtilities as UIA_ToolbarItemUtilities,\r\n ToolbarOrientation as UIA_ToolbarOrientation,\r\n ToolbarUsage as UIA_ToolbarUsage,\r\n} from \"@itwin/appui-abstract\";\r\n\r\n/** Used to specify the usage of the toolbar which determine the toolbar position.\r\n * @beta\r\n */\r\nexport type ToolbarUsage = UIA_ToolbarUsage; // eslint-disable-line deprecation/deprecation\r\n\r\n/** Used to specify the usage of the toolbar which determine the toolbar position.\r\n * @beta\r\n */\r\nexport const ToolbarUsage = UIA_ToolbarUsage; // eslint-disable-line @typescript-eslint/no-redeclare, deprecation/deprecation\r\n\r\n/** Used to specify the orientation of the toolbar.\r\n * @beta\r\n */\r\nexport type ToolbarOrientation = UIA_ToolbarOrientation; // eslint-disable-line deprecation/deprecation\r\n\r\n/** Used to specify the orientation of the toolbar.\r\n * @beta\r\n */\r\nexport const ToolbarOrientation = UIA_ToolbarOrientation; // eslint-disable-line @typescript-eslint/no-redeclare, deprecation/deprecation\r\n\r\n/** Describes the data needed to insert a UI items into an existing set of UI items.\r\n * @beta\r\n */\r\nexport type CommonToolbarItem = UIA_ToolbarItem; // eslint-disable-line deprecation/deprecation\r\n\r\n/** Describes the data needed to insert an action button into a toolbar.\r\n * @beta\r\n */\r\nexport type ToolbarActionItem = ActionButton;\r\n\r\n/** Describes the data needed to insert a group button into a toolbar.\r\n * @beta\r\n */\r\nexport type ToolbarGroupItem = GroupButton;\r\n\r\n/** Describes the data needed to insert a custom button into a toolbar.\r\n * @beta\r\n */\r\nexport type ToolbarCustomItem = CustomButtonDefinition;\r\n\r\n/** Any Button Type that can be inserted into a toolbar.\r\n * @beta\r\n */\r\nexport type ToolbarItem = UIA_CommonToolbarItem;\r\n\r\n/** ToolbarActionItem type guard.\r\n * @beta\r\n */\r\nexport function isToolbarActionItem(item: ToolbarItem): item is ToolbarActionItem {\r\n return UIA_ToolbarItemUtilities.isActionButton(item);\r\n}\r\n\r\n/** ToolbarGroupItem type guard.\r\n * @beta\r\n */\r\nexport function isToolbarGroupItem(item: ToolbarItem): item is ToolbarGroupItem {\r\n return UIA_ToolbarItemUtilities.isGroupButton(item);\r\n}\r\n\r\n/** ToolbarCustomItem type guard.\r\n * @beta\r\n */\r\nexport function isToolbarCustomItem(item: ToolbarItem): item is ToolbarCustomItem {\r\n return UIA_ToolbarItemUtilities.isCustomDefinition(item);\r\n}\r\n"]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/** @packageDocumentation
|
|
2
|
+
* @module Toolbar
|
|
3
|
+
*/
|
|
4
|
+
import { ToolbarActionItem, ToolbarGroupItem } from "./ToolbarItem";
|
|
5
|
+
/** Helper class to create StatusBar Item definitions.
|
|
6
|
+
* @beta
|
|
7
|
+
*/
|
|
8
|
+
export declare namespace ToolbarItemUtilities {
|
|
9
|
+
/** Creates an Action Button */
|
|
10
|
+
function createActionItem(id: ToolbarActionItem["id"], itemPriority: ToolbarActionItem["itemPriority"], icon: ToolbarActionItem["icon"], label: ToolbarActionItem["label"], execute: ToolbarActionItem["execute"], overrides?: Partial<ToolbarActionItem>): ToolbarActionItem;
|
|
11
|
+
/** Creates a Group button */
|
|
12
|
+
function createGroupItem(id: string, itemPriority: number, icon: ToolbarGroupItem["icon"], label: ToolbarGroupItem["label"], items: ToolbarGroupItem["items"], overrides?: Partial<ToolbarGroupItem>): ToolbarGroupItem;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=ToolbarItemUtilities.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ToolbarItemUtilities.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/ToolbarItemUtilities.ts"],"names":[],"mappings":"AAIA;;GAEG;AAGH,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEpE;;GAEG;AACH,yBAAiB,oBAAoB,CAAC;IACpC,+BAA+B;IAC/B,SAAgB,gBAAgB,CAAC,EAAE,EAAE,iBAAiB,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,iBAAiB,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,iBAAiB,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,iBAAiB,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,iBAAiB,CAEnR;IAED,6BAA6B;IAC7B,SAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,gBAAgB,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,gBAAgB,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,gBAAgB,CAE7N;CACF"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*---------------------------------------------------------------------------------------------
|
|
3
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
4
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
5
|
+
*--------------------------------------------------------------------------------------------*/
|
|
6
|
+
/** @packageDocumentation
|
|
7
|
+
* @module Toolbar
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.ToolbarItemUtilities = void 0;
|
|
11
|
+
const appui_abstract_1 = require("@itwin/appui-abstract");
|
|
12
|
+
/** Helper class to create StatusBar Item definitions.
|
|
13
|
+
* @beta
|
|
14
|
+
*/
|
|
15
|
+
var ToolbarItemUtilities;
|
|
16
|
+
(function (ToolbarItemUtilities) {
|
|
17
|
+
/** Creates an Action Button */
|
|
18
|
+
function createActionItem(id, itemPriority, icon, label, execute, overrides) {
|
|
19
|
+
return appui_abstract_1.ToolbarItemUtilities.createActionButton(id, itemPriority, icon, label, execute, overrides); // eslint-disable-line deprecation/deprecation
|
|
20
|
+
}
|
|
21
|
+
ToolbarItemUtilities.createActionItem = createActionItem;
|
|
22
|
+
/** Creates a Group button */
|
|
23
|
+
function createGroupItem(id, itemPriority, icon, label, items, overrides) {
|
|
24
|
+
return appui_abstract_1.ToolbarItemUtilities.createGroupButton(id, itemPriority, icon, label, items, overrides); // eslint-disable-line deprecation/deprecation
|
|
25
|
+
}
|
|
26
|
+
ToolbarItemUtilities.createGroupItem = createGroupItem;
|
|
27
|
+
})(ToolbarItemUtilities = exports.ToolbarItemUtilities || (exports.ToolbarItemUtilities = {}));
|
|
28
|
+
//# sourceMappingURL=ToolbarItemUtilities.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ToolbarItemUtilities.js","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/ToolbarItemUtilities.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,0DAA0F;AAG1F;;GAEG;AACH,IAAiB,oBAAoB,CAUpC;AAVD,WAAiB,oBAAoB;IACnC,+BAA+B;IAC/B,SAAgB,gBAAgB,CAAC,EAA2B,EAAE,YAA+C,EAAE,IAA+B,EAAE,KAAiC,EAAE,OAAqC,EAAE,SAAsC;QAC9P,OAAO,qCAAwB,CAAC,kBAAkB,CAAC,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,8CAA8C;IACvJ,CAAC;IAFe,qCAAgB,mBAE/B,CAAA;IAED,6BAA6B;IAC7B,SAAgB,eAAe,CAAC,EAAU,EAAE,YAAoB,EAAE,IAA8B,EAAE,KAAgC,EAAE,KAAgC,EAAE,SAAqC;QACzM,OAAO,qCAAwB,CAAC,iBAAiB,CAAC,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,8CAA8C;IACpJ,CAAC;IAFe,oCAAe,kBAE9B,CAAA;AACH,CAAC,EAVgB,oBAAoB,GAApB,4BAAoB,KAApB,4BAAoB,QAUpC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Toolbar\r\n */\r\n\r\nimport { ToolbarItemUtilities as UIA_ToolbarItemUtilities } from \"@itwin/appui-abstract\";\r\nimport { ToolbarActionItem, ToolbarGroupItem } from \"./ToolbarItem\";\r\n\r\n/** Helper class to create StatusBar Item definitions.\r\n * @beta\r\n */\r\nexport namespace ToolbarItemUtilities {\r\n /** Creates an Action Button */\r\n export function createActionItem(id: ToolbarActionItem[\"id\"], itemPriority: ToolbarActionItem[\"itemPriority\"], icon: ToolbarActionItem[\"icon\"], label: ToolbarActionItem[\"label\"], execute: ToolbarActionItem[\"execute\"], overrides?: Partial<ToolbarActionItem>): ToolbarActionItem {\r\n return UIA_ToolbarItemUtilities.createActionButton(id, itemPriority, icon, label, execute, overrides); // eslint-disable-line deprecation/deprecation\r\n }\r\n\r\n /** Creates a Group button */\r\n export function createGroupItem(id: string, itemPriority: number, icon: ToolbarGroupItem[\"icon\"], label: ToolbarGroupItem[\"label\"], items: ToolbarGroupItem[\"items\"], overrides?: Partial<ToolbarGroupItem>): ToolbarGroupItem {\r\n return UIA_ToolbarItemUtilities.createGroupButton(id, itemPriority, icon, label, items, overrides); // eslint-disable-line deprecation/deprecation\r\n }\r\n}\r\n"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/** @packageDocumentation
|
|
2
|
+
* @module UiProvider
|
|
3
|
+
*/
|
|
4
|
+
import { BaseUiItemsProvider as UIA_BaseUiItemsProvider } from "@itwin/appui-abstract";
|
|
5
|
+
/** Base implementation of a UiItemsProvider. The base class allows the user to pass in a function that is used to determine if the
|
|
6
|
+
* active stage should be provided items. Derived provider classes should override the `xxxInternal` methods to provide items.
|
|
7
|
+
* @beta
|
|
8
|
+
*/
|
|
9
|
+
export declare class BaseUiItemsProvider extends UIA_BaseUiItemsProvider {
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=BaseUiItemsProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseUiItemsProvider.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/ui-items-provider/BaseUiItemsProvider.ts"],"names":[],"mappings":"AAKA;;GAEG;AAEH,OAAO,EAAE,mBAAmB,IAAI,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAEvF;;;GAGG;AACH,qBAAa,mBAAoB,SAAQ,uBAAuB;CAC/D"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*---------------------------------------------------------------------------------------------
|
|
3
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
4
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
5
|
+
*--------------------------------------------------------------------------------------------*/
|
|
6
|
+
/* eslint-disable deprecation/deprecation */
|
|
7
|
+
/** @packageDocumentation
|
|
8
|
+
* @module UiProvider
|
|
9
|
+
*/
|
|
10
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
+
exports.BaseUiItemsProvider = void 0;
|
|
12
|
+
const appui_abstract_1 = require("@itwin/appui-abstract");
|
|
13
|
+
/** Base implementation of a UiItemsProvider. The base class allows the user to pass in a function that is used to determine if the
|
|
14
|
+
* active stage should be provided items. Derived provider classes should override the `xxxInternal` methods to provide items.
|
|
15
|
+
* @beta
|
|
16
|
+
*/
|
|
17
|
+
class BaseUiItemsProvider extends appui_abstract_1.BaseUiItemsProvider {
|
|
18
|
+
}
|
|
19
|
+
exports.BaseUiItemsProvider = BaseUiItemsProvider;
|
|
20
|
+
//# sourceMappingURL=BaseUiItemsProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseUiItemsProvider.js","sourceRoot":"","sources":["../../../../src/appui-react/ui-items-provider/BaseUiItemsProvider.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F,4CAA4C;AAC5C;;GAEG;;;AAEH,0DAAuF;AAEvF;;;GAGG;AACH,MAAa,mBAAoB,SAAQ,oCAAuB;CAC/D;AADD,kDACC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/* eslint-disable deprecation/deprecation */\r\n/** @packageDocumentation\r\n * @module UiProvider\r\n */\r\n\r\nimport { BaseUiItemsProvider as UIA_BaseUiItemsProvider } from \"@itwin/appui-abstract\";\r\n\r\n/** Base implementation of a UiItemsProvider. The base class allows the user to pass in a function that is used to determine if the\r\n * active stage should be provided items. Derived provider classes should override the `xxxInternal` methods to provide items.\r\n * @beta\r\n */\r\nexport class BaseUiItemsProvider extends UIA_BaseUiItemsProvider {\r\n}\r\n"]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/** @packageDocumentation
|
|
2
|
+
* @module UiProvider
|
|
3
|
+
*/
|
|
4
|
+
import { ProvidedItem } from "@itwin/appui-abstract";
|
|
5
|
+
/** Properties for an item provided by UiItemsProvider.
|
|
6
|
+
* @beta
|
|
7
|
+
*/
|
|
8
|
+
export declare type ProviderItem = ProvidedItem;
|
|
9
|
+
//# sourceMappingURL=ProviderItem.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProviderItem.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/ui-items-provider/ProviderItem.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD;;GAEG;AACH,oBAAY,YAAY,GAAG,YAAY,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*---------------------------------------------------------------------------------------------
|
|
3
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
4
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
5
|
+
*--------------------------------------------------------------------------------------------*/
|
|
6
|
+
/** @packageDocumentation
|
|
7
|
+
* @module UiProvider
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
//# sourceMappingURL=ProviderItem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProviderItem.js","sourceRoot":"","sources":["../../../../src/appui-react/ui-items-provider/ProviderItem.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module UiProvider\r\n */\r\n\r\nimport { ProvidedItem } from \"@itwin/appui-abstract\";\r\n\r\n/** Properties for an item provided by UiItemsProvider.\r\n * @beta\r\n */\r\nexport type ProviderItem = ProvidedItem; // eslint-disable-line deprecation/deprecation\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StandardContentToolsProvider.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/ui-items-provider/StandardContentToolsProvider.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAIH,OAAO,EACL,mBAAmB,EAAE,mBAAmB,EAAE,iBAAiB,EACzC,kBAAkB,EAAE,YAAY,EACnD,MAAM,uBAAuB,CAAC;AAO/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;
|
|
1
|
+
{"version":3,"file":"StandardContentToolsProvider.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/ui-items-provider/StandardContentToolsProvider.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAIH,OAAO,EACL,mBAAmB,EAAE,mBAAmB,EAAE,iBAAiB,EACzC,kBAAkB,EAAE,YAAY,EACnD,MAAM,uBAAuB,CAAC;AAO/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAI5E;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,WAAW,0BAA0B;IACzC,mBAAmB,CAAC,EAAE;QACpB,QAAQ,CAAC,EAAE;YACT,0BAA0B,CAAC,EAAE,MAAM,CAAC;YACpC,oBAAoB,CAAC,EAAE,MAAM,CAAC;YAC9B,sBAAsB,CAAC,EAAE,MAAM,CAAC;SACjC,CAAC;QACF,UAAU,CAAC,EAAE;YACX,2BAA2B,CAAC,EAAE,MAAM,CAAC;YACrC,sBAAsB,CAAC,EAAE,MAAM,CAAC;SACjC,CAAC;KACH,CAAC;CACH;AAeD;;;GAGG;AACH,qBAAa,4BAA6B,SAAQ,mBAAmB;IAmBnC,OAAO,CAAC,mBAAmB,CAAC;IAlB5D;;;;;;;;OAQG;WACW,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,mBAAmB,CAAC,EAAE,mBAAmB,EAAE,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,GAAG,KAAK,OAAO;gBASjK,UAAU,EAAE,MAAM,EAAU,mBAAmB,CAAC,iCAAqB,EAAE,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,GAAG,KAAK,OAAO;IAI1J,iCAAiC,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,YAAY,CAAC,EAAE,GAAG,GAAG,iBAAiB,EAAE;IAgDrL,6BAA6B,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,GAAG,GAAG,mBAAmB,EAAE;CAYjI"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StandardContentToolsProvider.js","sourceRoot":"","sources":["../../../../src/appui-react/ui-items-provider/StandardContentToolsProvider.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module StandardUiItemsProvider\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { ViewClipByPlaneTool } from \"@itwin/core-frontend\";\r\nimport {\r\n BaseUiItemsProvider, CommonStatusBarItem, CommonToolbarItem,\r\n StatusBarSection, ToolbarOrientation, ToolbarUsage, UiItemsManager,\r\n} from \"@itwin/appui-abstract\";\r\nimport { SelectionContextToolDefinitions } from \"../selection/SelectionContextItemDef\";\r\nimport { StatusBarItemUtilities } from \"../statusbar/StatusBarItemUtilities\";\r\nimport { withStatusFieldProps } from \"../statusbar/withStatusFieldProps\";\r\nimport { SectionsStatusField } from \"../statusfields/SectionsField\";\r\nimport { ToolbarHelper } from \"../toolbar/ToolbarHelper\";\r\nimport { CoreTools } from \"../tools/CoreToolDefinitions\";\r\nimport { DefaultContentTools } from \"./StandardContentToolsUiItemsProvider\";\r\n\r\n/**\r\n * Defines options that may be set in frontstage app data to control what group priorities\r\n * to use for each tool button that can be added by this extension. Defining groupIds is optional\r\n * and only required if use wants to override the default grouping. This application data is statically\r\n * set in the FrontstageProvider.\r\n * @example\r\n * ```\r\n * const applicationData = {\r\n * defaultContentTools: {\r\n * vertical: {\r\n * selectElementGroupPriority: 100,\r\n * measureGroupPriority: 200,\r\n * selectionGroupPriority: 300,\r\n * },\r\n * horizontal: {\r\n * clearSelectionGroupPriority: 100,\r\n * overridesGroupPriority: 200,\r\n * },\r\n * },\r\n * }\r\n *\r\n * ```\r\n * @public\r\n */\r\nexport interface DefaultContentToolsAppData {\r\n defaultContentTools?: {\r\n vertical?: {\r\n selectElementGroupPriority?: number;\r\n measureGroupPriority?: number;\r\n selectionGroupPriority?: number;\r\n };\r\n horizontal?: {\r\n clearSelectionGroupPriority?: number;\r\n overridesGroupPriority?: number;\r\n };\r\n };\r\n}\r\n\r\nfunction getGroupPriority(potentialId: any, defaultValue: number) {\r\n if (undefined === potentialId)\r\n return defaultValue;\r\n\r\n // istanbul ignore else\r\n if (typeof potentialId === \"number\") {\r\n return potentialId;\r\n }\r\n\r\n // istanbul ignore next\r\n return defaultValue;\r\n}\r\n\r\n/**\r\n * Provide standard tools for the ContentManipulationWidgetComposer.\r\n * @public\r\n */\r\nexport class StandardContentToolsProvider extends BaseUiItemsProvider {\r\n /**\r\n * static function to register the StandardContentToolsProvider\r\n * @param providerId - unique identifier for this instance of the provider. This is required in case separate packages want\r\n * to set up custom stage with their own subset of standard tools.\r\n * @param defaultContentTools - if undefined all available tools are provided to stage. If defined only those\r\n * specific tool buttons are shown.\r\n * @param isSupportedStage - optional function that will be called to determine if tools should be added to current stage. If not set and\r\n * the current stage's `usage` is set to `StageUsage.General` then the provider will add items to frontstage.\r\n */\r\n public static register(providerId: string, defaultContentTools?: DefaultContentTools, isSupportedStage?: (stageId: string, stageUsage: string, stageAppData?: any) => boolean) {\r\n const provider = new StandardContentToolsProvider(providerId, defaultContentTools, isSupportedStage);\r\n UiItemsManager.register(provider);\r\n\r\n // register core commands not automatically registered\r\n ViewClipByPlaneTool.register();\r\n return provider;\r\n }\r\n\r\n constructor(providerId: string, private defaultContentTools?: DefaultContentTools, isSupportedStage?: (stageId: string, stageUsage: string, stageAppData?: any) => boolean) {\r\n super(providerId, isSupportedStage);\r\n }\r\n\r\n public override provideToolbarButtonItemsInternal(_stageId: string, _stageUsage: string, toolbarUsage: ToolbarUsage, toolbarOrientation: ToolbarOrientation, stageAppData?: any): CommonToolbarItem[] {\r\n const items: CommonToolbarItem[] = [];\r\n\r\n if (toolbarUsage === ToolbarUsage.ContentManipulation && toolbarOrientation === ToolbarOrientation.Horizontal) {\r\n const clearSelectionGroupPriority = getGroupPriority(stageAppData?.defaultContentTools?.horizontal?.clearSelectionGroupPriority, 10);\r\n const overridesGroupPriority = getGroupPriority(stageAppData?.defaultContentTools?.horizontal?.overridesGroupPriority, 20);\r\n\r\n if (!this.defaultContentTools || !this.defaultContentTools.horizontal || this.defaultContentTools.horizontal.clearSelection)\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(10, CoreTools.clearSelectionItemDef, { groupPriority: clearSelectionGroupPriority }));\r\n\r\n if (!this.defaultContentTools || !this.defaultContentTools.horizontal || this.defaultContentTools.horizontal.clearDisplayOverrides)\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(20, SelectionContextToolDefinitions.clearHideIsolateEmphasizeElementsItemDef, { groupPriority: overridesGroupPriority }));\r\n\r\n if (!this.defaultContentTools || !this.defaultContentTools.horizontal || this.defaultContentTools.horizontal.hide) {\r\n if (this.defaultContentTools?.horizontal?.hide === \"group\")\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(30, SelectionContextToolDefinitions.hideSectionToolGroup, { groupPriority: overridesGroupPriority }));\r\n else\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(30, SelectionContextToolDefinitions.hideElementsItemDef, { groupPriority: overridesGroupPriority }));\r\n }\r\n\r\n if (!this.defaultContentTools || !this.defaultContentTools.horizontal || this.defaultContentTools.horizontal.isolate) {\r\n if (this.defaultContentTools?.horizontal?.isolate === \"group\")\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(40, SelectionContextToolDefinitions.isolateSelectionToolGroup, { groupPriority: overridesGroupPriority }));\r\n else\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(40, SelectionContextToolDefinitions.isolateElementsItemDef, { groupPriority: overridesGroupPriority }));\r\n }\r\n\r\n if (!this.defaultContentTools || !this.defaultContentTools.horizontal || this.defaultContentTools.horizontal.emphasize) {\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(50, SelectionContextToolDefinitions.emphasizeElementsItemDef, { groupPriority: overridesGroupPriority }));\r\n }\r\n\r\n } else /* istanbul ignore else */ if (toolbarUsage === ToolbarUsage.ContentManipulation && toolbarOrientation === ToolbarOrientation.Vertical) {\r\n const selectElementGroupPriority = getGroupPriority(stageAppData?.defaultContentTools?.vertical?.selectElementGroupPriority, 10);\r\n const measureGroupPriority = getGroupPriority(stageAppData?.defaultContentTools?.vertical?.measureGroupPriority, 10);\r\n const selectionGroupPriority = getGroupPriority(stageAppData?.defaultContentTools?.vertical?.selectionGroupPriority, 10);\r\n\r\n if (!this.defaultContentTools || !this.defaultContentTools.vertical || this.defaultContentTools.vertical.selectElement)\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(10, CoreTools.selectElementCommand, { groupPriority: selectElementGroupPriority }));\r\n\r\n if (!this.defaultContentTools || !this.defaultContentTools.vertical || this.defaultContentTools.vertical.measureGroup)\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(20, CoreTools.measureToolGroup, { groupPriority: measureGroupPriority }));\r\n\r\n if (!this.defaultContentTools || !this.defaultContentTools.vertical || this.defaultContentTools.vertical.sectionGroup)\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(30, CoreTools.sectionToolGroup, { groupPriority: selectionGroupPriority }));\r\n }\r\n return items;\r\n }\r\n\r\n public override provideStatusBarItemsInternal(_stageId: string, _stageUsage: string, _stageAppData?: any): CommonStatusBarItem[] {\r\n const statusBarItems: CommonStatusBarItem[] = [];\r\n\r\n // if the sectionGroup tools are to be shown then we want the status field added to allow clearing or manipulation the section\r\n if (this.defaultContentTools?.vertical?.sectionGroup) {\r\n // eslint-disable-next-line deprecation/deprecation\r\n const Sections = withStatusFieldProps(SectionsStatusField);\r\n statusBarItems.push(StatusBarItemUtilities.createStatusBarItem(\"uifw.Sections\", StatusBarSection.Center, 20, <Sections hideWhenUnused />));\r\n }\r\n\r\n return statusBarItems;\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"StandardContentToolsProvider.js","sourceRoot":"","sources":["../../../../src/appui-react/ui-items-provider/StandardContentToolsProvider.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module StandardUiItemsProvider\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { ViewClipByPlaneTool } from \"@itwin/core-frontend\";\r\nimport {\r\n BaseUiItemsProvider, CommonStatusBarItem, CommonToolbarItem,\r\n StatusBarSection, ToolbarOrientation, ToolbarUsage, UiItemsManager,\r\n} from \"@itwin/appui-abstract\";\r\nimport { SelectionContextToolDefinitions } from \"../selection/SelectionContextItemDef\";\r\nimport { StatusBarItemUtilities } from \"../statusbar/StatusBarItemUtilities\";\r\nimport { withStatusFieldProps } from \"../statusbar/withStatusFieldProps\";\r\nimport { SectionsStatusField } from \"../statusfields/SectionsField\";\r\nimport { ToolbarHelper } from \"../toolbar/ToolbarHelper\";\r\nimport { CoreTools } from \"../tools/CoreToolDefinitions\";\r\nimport { DefaultContentTools } from \"./StandardContentToolsUiItemsProvider\";\r\n\r\n/* eslint-disable deprecation/deprecation */\r\n\r\n/**\r\n * Defines options that may be set in frontstage app data to control what group priorities\r\n * to use for each tool button that can be added by this extension. Defining groupIds is optional\r\n * and only required if use wants to override the default grouping. This application data is statically\r\n * set in the FrontstageProvider.\r\n * @example\r\n * ```\r\n * const applicationData = {\r\n * defaultContentTools: {\r\n * vertical: {\r\n * selectElementGroupPriority: 100,\r\n * measureGroupPriority: 200,\r\n * selectionGroupPriority: 300,\r\n * },\r\n * horizontal: {\r\n * clearSelectionGroupPriority: 100,\r\n * overridesGroupPriority: 200,\r\n * },\r\n * },\r\n * }\r\n *\r\n * ```\r\n * @public\r\n */\r\nexport interface DefaultContentToolsAppData {\r\n defaultContentTools?: {\r\n vertical?: {\r\n selectElementGroupPriority?: number;\r\n measureGroupPriority?: number;\r\n selectionGroupPriority?: number;\r\n };\r\n horizontal?: {\r\n clearSelectionGroupPriority?: number;\r\n overridesGroupPriority?: number;\r\n };\r\n };\r\n}\r\n\r\nfunction getGroupPriority(potentialId: any, defaultValue: number) {\r\n if (undefined === potentialId)\r\n return defaultValue;\r\n\r\n // istanbul ignore else\r\n if (typeof potentialId === \"number\") {\r\n return potentialId;\r\n }\r\n\r\n // istanbul ignore next\r\n return defaultValue;\r\n}\r\n\r\n/**\r\n * Provide standard tools for the ContentManipulationWidgetComposer.\r\n * @public\r\n */\r\nexport class StandardContentToolsProvider extends BaseUiItemsProvider {\r\n /**\r\n * static function to register the StandardContentToolsProvider\r\n * @param providerId - unique identifier for this instance of the provider. This is required in case separate packages want\r\n * to set up custom stage with their own subset of standard tools.\r\n * @param defaultContentTools - if undefined all available tools are provided to stage. If defined only those\r\n * specific tool buttons are shown.\r\n * @param isSupportedStage - optional function that will be called to determine if tools should be added to current stage. If not set and\r\n * the current stage's `usage` is set to `StageUsage.General` then the provider will add items to frontstage.\r\n */\r\n public static register(providerId: string, defaultContentTools?: DefaultContentTools, isSupportedStage?: (stageId: string, stageUsage: string, stageAppData?: any) => boolean) {\r\n const provider = new StandardContentToolsProvider(providerId, defaultContentTools, isSupportedStage);\r\n UiItemsManager.register(provider);\r\n\r\n // register core commands not automatically registered\r\n ViewClipByPlaneTool.register();\r\n return provider;\r\n }\r\n\r\n constructor(providerId: string, private defaultContentTools?: DefaultContentTools, isSupportedStage?: (stageId: string, stageUsage: string, stageAppData?: any) => boolean) {\r\n super(providerId, isSupportedStage);\r\n }\r\n\r\n public override provideToolbarButtonItemsInternal(_stageId: string, _stageUsage: string, toolbarUsage: ToolbarUsage, toolbarOrientation: ToolbarOrientation, stageAppData?: any): CommonToolbarItem[] {\r\n const items: CommonToolbarItem[] = [];\r\n\r\n if (toolbarUsage === ToolbarUsage.ContentManipulation && toolbarOrientation === ToolbarOrientation.Horizontal) {\r\n const clearSelectionGroupPriority = getGroupPriority(stageAppData?.defaultContentTools?.horizontal?.clearSelectionGroupPriority, 10);\r\n const overridesGroupPriority = getGroupPriority(stageAppData?.defaultContentTools?.horizontal?.overridesGroupPriority, 20);\r\n\r\n if (!this.defaultContentTools || !this.defaultContentTools.horizontal || this.defaultContentTools.horizontal.clearSelection)\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(10, CoreTools.clearSelectionItemDef, { groupPriority: clearSelectionGroupPriority }));\r\n\r\n if (!this.defaultContentTools || !this.defaultContentTools.horizontal || this.defaultContentTools.horizontal.clearDisplayOverrides)\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(20, SelectionContextToolDefinitions.clearHideIsolateEmphasizeElementsItemDef, { groupPriority: overridesGroupPriority }));\r\n\r\n if (!this.defaultContentTools || !this.defaultContentTools.horizontal || this.defaultContentTools.horizontal.hide) {\r\n if (this.defaultContentTools?.horizontal?.hide === \"group\")\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(30, SelectionContextToolDefinitions.hideSectionToolGroup, { groupPriority: overridesGroupPriority }));\r\n else\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(30, SelectionContextToolDefinitions.hideElementsItemDef, { groupPriority: overridesGroupPriority }));\r\n }\r\n\r\n if (!this.defaultContentTools || !this.defaultContentTools.horizontal || this.defaultContentTools.horizontal.isolate) {\r\n if (this.defaultContentTools?.horizontal?.isolate === \"group\")\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(40, SelectionContextToolDefinitions.isolateSelectionToolGroup, { groupPriority: overridesGroupPriority }));\r\n else\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(40, SelectionContextToolDefinitions.isolateElementsItemDef, { groupPriority: overridesGroupPriority }));\r\n }\r\n\r\n if (!this.defaultContentTools || !this.defaultContentTools.horizontal || this.defaultContentTools.horizontal.emphasize) {\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(50, SelectionContextToolDefinitions.emphasizeElementsItemDef, { groupPriority: overridesGroupPriority }));\r\n }\r\n\r\n } else /* istanbul ignore else */ if (toolbarUsage === ToolbarUsage.ContentManipulation && toolbarOrientation === ToolbarOrientation.Vertical) {\r\n const selectElementGroupPriority = getGroupPriority(stageAppData?.defaultContentTools?.vertical?.selectElementGroupPriority, 10);\r\n const measureGroupPriority = getGroupPriority(stageAppData?.defaultContentTools?.vertical?.measureGroupPriority, 10);\r\n const selectionGroupPriority = getGroupPriority(stageAppData?.defaultContentTools?.vertical?.selectionGroupPriority, 10);\r\n\r\n if (!this.defaultContentTools || !this.defaultContentTools.vertical || this.defaultContentTools.vertical.selectElement)\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(10, CoreTools.selectElementCommand, { groupPriority: selectElementGroupPriority }));\r\n\r\n if (!this.defaultContentTools || !this.defaultContentTools.vertical || this.defaultContentTools.vertical.measureGroup)\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(20, CoreTools.measureToolGroup, { groupPriority: measureGroupPriority }));\r\n\r\n if (!this.defaultContentTools || !this.defaultContentTools.vertical || this.defaultContentTools.vertical.sectionGroup)\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(30, CoreTools.sectionToolGroup, { groupPriority: selectionGroupPriority }));\r\n }\r\n return items;\r\n }\r\n\r\n public override provideStatusBarItemsInternal(_stageId: string, _stageUsage: string, _stageAppData?: any): CommonStatusBarItem[] {\r\n const statusBarItems: CommonStatusBarItem[] = [];\r\n\r\n // if the sectionGroup tools are to be shown then we want the status field added to allow clearing or manipulation the section\r\n if (this.defaultContentTools?.vertical?.sectionGroup) {\r\n // eslint-disable-next-line deprecation/deprecation\r\n const Sections = withStatusFieldProps(SectionsStatusField);\r\n statusBarItems.push(StatusBarItemUtilities.createStatusBarItem(\"uifw.Sections\", StatusBarSection.Center, 20, <Sections hideWhenUnused />));\r\n }\r\n\r\n return statusBarItems;\r\n }\r\n}\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StandardContentToolsUiItemsProvider.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAIH,OAAO,EACL,mBAAmB,EAAE,iBAAiB,EACpB,kBAAkB,EAAE,YAAY,EAClD,eAAe,EAChB,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"StandardContentToolsUiItemsProvider.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAIH,OAAO,EACL,mBAAmB,EAAE,iBAAiB,EACpB,kBAAkB,EAAE,YAAY,EAClD,eAAe,EAChB,MAAM,uBAAuB,CAAC;AAU/B;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,UAAU,CAAC,EAAE;QACX,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,qBAAqB,CAAC,EAAE,OAAO,CAAC;QAChC,4FAA4F;QAC5F,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QAC3B,+FAA+F;QAC/F,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QAC9B,sDAAsD;QACtD,SAAS,CAAC,EAAE,SAAS,CAAC;KACvB,CAAC;IACF,QAAQ,CAAC,EAAE;QACT,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,YAAY,CAAC,EAAE,OAAO,CAAC;KACxB,CAAC;CACH;AAeD;;GAEG;AACH,qBAAa,mCAAoC,YAAW,eAAe;IAI7D,OAAO,CAAC,mBAAmB,CAAC;IAHxC,IAAW,EAAE,IAAI,MAAM,CAA8D;IACrF,OAAO,CAAC,qBAAqB,CAAS;gBAElB,mBAAmB,CAAC,iCAAqB;IAEtD,yBAAyB,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,YAAY,CAAC,EAAE,GAAG,GAAG,iBAAiB,EAAE;IAwD7K,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,GAAG,GAAG,mBAAmB,EAAE;CAYhH"}
|
|
@@ -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":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module StandardUiItemsProvider\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { ViewClipByPlaneTool } from \"@itwin/core-frontend\";\r\nimport {\r\n CommonStatusBarItem, CommonToolbarItem,\r\n StatusBarSection, ToolbarOrientation, ToolbarUsage,\r\n UiItemsProvider,\r\n} from \"@itwin/appui-abstract\";\r\nimport { SelectionContextToolDefinitions } from \"../selection/SelectionContextItemDef\";\r\nimport { StatusBarItemUtilities } from \"../statusbar/StatusBarItemUtilities\";\r\nimport { withStatusFieldProps } from \"../statusbar/withStatusFieldProps\";\r\nimport { SectionsStatusField } from \"../statusfields/SectionsField\";\r\nimport { ToolbarHelper } from \"../toolbar/ToolbarHelper\";\r\nimport { CoreTools } from \"../tools/CoreToolDefinitions\";\r\n\r\n/**\r\n * Defines what tools to include from the provider. If any tools in the horizontal or vertical group are\r\n * specified then only those tools will be provided to stage.\r\n * @public\r\n */\r\nexport interface DefaultContentTools {\r\n horizontal?: {\r\n clearSelection?: boolean;\r\n clearDisplayOverrides?: boolean;\r\n /** if group then group button is shown to allow user to hide by element, category, model */\r\n hide?: \"group\" | \"element\";\r\n /** if group then group button is shown to allow user to isolate by element, category, model */\r\n isolate?: \"group\" | \"element\";\r\n /** only element is currently support for emphasize */\r\n emphasize?: \"element\";\r\n };\r\n vertical?: {\r\n selectElement?: boolean;\r\n measureGroup?: boolean;\r\n sectionGroup?: boolean;\r\n };\r\n}\r\n\r\nfunction getGroupPriority(potentialId: any, defaultValue: number) {\r\n if (undefined === potentialId)\r\n return defaultValue;\r\n\r\n // istanbul ignore else\r\n if (typeof potentialId === \"number\") {\r\n return potentialId;\r\n }\r\n\r\n // istanbul ignore next\r\n return defaultValue;\r\n}\r\n\r\n/**\r\n * @beta\r\n */\r\nexport class StandardContentToolsUiItemsProvider implements UiItemsProvider {\r\n public get id(): string { return \"appui-react:StandardContentToolsUiItemsProvider\"; }\r\n private _isClipToolRegistered = false;\r\n\r\n constructor(private defaultContextTools?: DefaultContentTools) { }\r\n\r\n public provideToolbarButtonItems(_stageId: string, _stageUsage: string, toolbarUsage: ToolbarUsage, toolbarOrientation: ToolbarOrientation, stageAppData?: any): CommonToolbarItem[] {\r\n const items: CommonToolbarItem[] = [];\r\n\r\n if (toolbarUsage === ToolbarUsage.ContentManipulation && toolbarOrientation === ToolbarOrientation.Horizontal) {\r\n const clearSelectionGroupPriority = getGroupPriority(stageAppData?.defaultContentTools?.horizontal?.clearSelectionGroupPriority, 10);\r\n const overridesGroupPriority = getGroupPriority(stageAppData?.defaultContentTools?.horizontal?.overridesGroupPriority, 20);\r\n\r\n if (!this.defaultContextTools || !this.defaultContextTools.horizontal || this.defaultContextTools.horizontal.clearSelection)\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(10, CoreTools.clearSelectionItemDef, { groupPriority: clearSelectionGroupPriority }));\r\n\r\n if (!this.defaultContextTools || !this.defaultContextTools.horizontal || this.defaultContextTools.horizontal.clearDisplayOverrides)\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(20, SelectionContextToolDefinitions.clearHideIsolateEmphasizeElementsItemDef, { groupPriority: overridesGroupPriority }));\r\n\r\n if (!this.defaultContextTools || !this.defaultContextTools.horizontal || this.defaultContextTools.horizontal.hide) {\r\n if (this.defaultContextTools?.horizontal?.hide === \"group\")\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(30, SelectionContextToolDefinitions.hideSectionToolGroup, { groupPriority: overridesGroupPriority }));\r\n\r\n else\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(30, SelectionContextToolDefinitions.hideElementsItemDef, { groupPriority: overridesGroupPriority }));\r\n }\r\n\r\n if (!this.defaultContextTools || !this.defaultContextTools.horizontal || this.defaultContextTools.horizontal.isolate) {\r\n if (this.defaultContextTools?.horizontal?.isolate === \"group\")\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(40, SelectionContextToolDefinitions.isolateSelectionToolGroup, { groupPriority: overridesGroupPriority }));\r\n\r\n else\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(40, SelectionContextToolDefinitions.isolateElementsItemDef, { groupPriority: overridesGroupPriority }));\r\n }\r\n\r\n if (!this.defaultContextTools || !this.defaultContextTools.horizontal || this.defaultContextTools.horizontal.emphasize) {\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(50, SelectionContextToolDefinitions.emphasizeElementsItemDef, { groupPriority: overridesGroupPriority }));\r\n }\r\n\r\n } else /* istanbul ignore else */ if (toolbarUsage === ToolbarUsage.ContentManipulation && toolbarOrientation === ToolbarOrientation.Vertical) {\r\n const selectElementGroupPriority = getGroupPriority(stageAppData?.defaultContentTools?.vertical?.selectElementGroupPriority, 10);\r\n const measureGroupPriority = getGroupPriority(stageAppData?.defaultContentTools?.vertical?.measureGroupPriority, 10);\r\n const selectionGroupPriority = getGroupPriority(stageAppData?.defaultContentTools?.vertical?.selectionGroupPriority, 10);\r\n\r\n if (!this.defaultContextTools || !this.defaultContextTools.vertical || this.defaultContextTools.vertical.selectElement)\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(10, CoreTools.selectElementCommand, { groupPriority: selectElementGroupPriority }));\r\n\r\n if (!this.defaultContextTools || !this.defaultContextTools.vertical || this.defaultContextTools.vertical.measureGroup)\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(20, CoreTools.measureToolGroup, { groupPriority: measureGroupPriority }));\r\n\r\n if (!this.defaultContextTools || !this.defaultContextTools.vertical || this.defaultContextTools.vertical.sectionGroup) {\r\n if (!this._isClipToolRegistered) {\r\n // register core commands not automatically registered\r\n ViewClipByPlaneTool.register();\r\n this._isClipToolRegistered = true;\r\n }\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(30, CoreTools.sectionToolGroup, { groupPriority: selectionGroupPriority }));\r\n }\r\n }\r\n return items;\r\n }\r\n\r\n public provideStatusBarItems(_stageId: string, _stageUsage: string, _stageAppData?: any): CommonStatusBarItem[] {\r\n const statusBarItems: CommonStatusBarItem[] = [];\r\n\r\n // if the sectionGroup tools are to be shown then we want the status field added to allow clearing or manipulation the section\r\n if (this.defaultContextTools?.vertical?.sectionGroup) {\r\n // eslint-disable-next-line deprecation/deprecation\r\n const Sections = withStatusFieldProps(SectionsStatusField);\r\n statusBarItems.push(StatusBarItemUtilities.createStatusBarItem(\"uifw.Sections\", StatusBarSection.Center, 20, <Sections hideWhenUnused />));\r\n }\r\n\r\n return statusBarItems;\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"StandardContentToolsUiItemsProvider.js","sourceRoot":"","sources":["../../../../src/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module StandardUiItemsProvider\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { ViewClipByPlaneTool } from \"@itwin/core-frontend\";\r\nimport {\r\n CommonStatusBarItem, CommonToolbarItem,\r\n StatusBarSection, ToolbarOrientation, ToolbarUsage,\r\n UiItemsProvider,\r\n} from \"@itwin/appui-abstract\";\r\nimport { SelectionContextToolDefinitions } from \"../selection/SelectionContextItemDef\";\r\nimport { StatusBarItemUtilities } from \"../statusbar/StatusBarItemUtilities\";\r\nimport { withStatusFieldProps } from \"../statusbar/withStatusFieldProps\";\r\nimport { SectionsStatusField } from \"../statusfields/SectionsField\";\r\nimport { ToolbarHelper } from \"../toolbar/ToolbarHelper\";\r\nimport { CoreTools } from \"../tools/CoreToolDefinitions\";\r\n\r\n/* eslint-disable deprecation/deprecation */\r\n\r\n/**\r\n * Defines what tools to include from the provider. If any tools in the horizontal or vertical group are\r\n * specified then only those tools will be provided to stage.\r\n * @public\r\n */\r\nexport interface DefaultContentTools {\r\n horizontal?: {\r\n clearSelection?: boolean;\r\n clearDisplayOverrides?: boolean;\r\n /** if group then group button is shown to allow user to hide by element, category, model */\r\n hide?: \"group\" | \"element\";\r\n /** if group then group button is shown to allow user to isolate by element, category, model */\r\n isolate?: \"group\" | \"element\";\r\n /** only element is currently support for emphasize */\r\n emphasize?: \"element\";\r\n };\r\n vertical?: {\r\n selectElement?: boolean;\r\n measureGroup?: boolean;\r\n sectionGroup?: boolean;\r\n };\r\n}\r\n\r\nfunction getGroupPriority(potentialId: any, defaultValue: number) {\r\n if (undefined === potentialId)\r\n return defaultValue;\r\n\r\n // istanbul ignore else\r\n if (typeof potentialId === \"number\") {\r\n return potentialId;\r\n }\r\n\r\n // istanbul ignore next\r\n return defaultValue;\r\n}\r\n\r\n/**\r\n * @beta\r\n */\r\nexport class StandardContentToolsUiItemsProvider implements UiItemsProvider {\r\n public get id(): string { return \"appui-react:StandardContentToolsUiItemsProvider\"; }\r\n private _isClipToolRegistered = false;\r\n\r\n constructor(private defaultContextTools?: DefaultContentTools) { }\r\n\r\n public provideToolbarButtonItems(_stageId: string, _stageUsage: string, toolbarUsage: ToolbarUsage, toolbarOrientation: ToolbarOrientation, stageAppData?: any): CommonToolbarItem[] {\r\n const items: CommonToolbarItem[] = [];\r\n\r\n if (toolbarUsage === ToolbarUsage.ContentManipulation && toolbarOrientation === ToolbarOrientation.Horizontal) {\r\n const clearSelectionGroupPriority = getGroupPriority(stageAppData?.defaultContentTools?.horizontal?.clearSelectionGroupPriority, 10);\r\n const overridesGroupPriority = getGroupPriority(stageAppData?.defaultContentTools?.horizontal?.overridesGroupPriority, 20);\r\n\r\n if (!this.defaultContextTools || !this.defaultContextTools.horizontal || this.defaultContextTools.horizontal.clearSelection)\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(10, CoreTools.clearSelectionItemDef, { groupPriority: clearSelectionGroupPriority }));\r\n\r\n if (!this.defaultContextTools || !this.defaultContextTools.horizontal || this.defaultContextTools.horizontal.clearDisplayOverrides)\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(20, SelectionContextToolDefinitions.clearHideIsolateEmphasizeElementsItemDef, { groupPriority: overridesGroupPriority }));\r\n\r\n if (!this.defaultContextTools || !this.defaultContextTools.horizontal || this.defaultContextTools.horizontal.hide) {\r\n if (this.defaultContextTools?.horizontal?.hide === \"group\")\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(30, SelectionContextToolDefinitions.hideSectionToolGroup, { groupPriority: overridesGroupPriority }));\r\n\r\n else\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(30, SelectionContextToolDefinitions.hideElementsItemDef, { groupPriority: overridesGroupPriority }));\r\n }\r\n\r\n if (!this.defaultContextTools || !this.defaultContextTools.horizontal || this.defaultContextTools.horizontal.isolate) {\r\n if (this.defaultContextTools?.horizontal?.isolate === \"group\")\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(40, SelectionContextToolDefinitions.isolateSelectionToolGroup, { groupPriority: overridesGroupPriority }));\r\n\r\n else\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(40, SelectionContextToolDefinitions.isolateElementsItemDef, { groupPriority: overridesGroupPriority }));\r\n }\r\n\r\n if (!this.defaultContextTools || !this.defaultContextTools.horizontal || this.defaultContextTools.horizontal.emphasize) {\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(50, SelectionContextToolDefinitions.emphasizeElementsItemDef, { groupPriority: overridesGroupPriority }));\r\n }\r\n\r\n } else /* istanbul ignore else */ if (toolbarUsage === ToolbarUsage.ContentManipulation && toolbarOrientation === ToolbarOrientation.Vertical) {\r\n const selectElementGroupPriority = getGroupPriority(stageAppData?.defaultContentTools?.vertical?.selectElementGroupPriority, 10);\r\n const measureGroupPriority = getGroupPriority(stageAppData?.defaultContentTools?.vertical?.measureGroupPriority, 10);\r\n const selectionGroupPriority = getGroupPriority(stageAppData?.defaultContentTools?.vertical?.selectionGroupPriority, 10);\r\n\r\n if (!this.defaultContextTools || !this.defaultContextTools.vertical || this.defaultContextTools.vertical.selectElement)\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(10, CoreTools.selectElementCommand, { groupPriority: selectElementGroupPriority }));\r\n\r\n if (!this.defaultContextTools || !this.defaultContextTools.vertical || this.defaultContextTools.vertical.measureGroup)\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(20, CoreTools.measureToolGroup, { groupPriority: measureGroupPriority }));\r\n\r\n if (!this.defaultContextTools || !this.defaultContextTools.vertical || this.defaultContextTools.vertical.sectionGroup) {\r\n if (!this._isClipToolRegistered) {\r\n // register core commands not automatically registered\r\n ViewClipByPlaneTool.register();\r\n this._isClipToolRegistered = true;\r\n }\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(30, CoreTools.sectionToolGroup, { groupPriority: selectionGroupPriority }));\r\n }\r\n }\r\n return items;\r\n }\r\n\r\n public provideStatusBarItems(_stageId: string, _stageUsage: string, _stageAppData?: any): CommonStatusBarItem[] {\r\n const statusBarItems: CommonStatusBarItem[] = [];\r\n\r\n // if the sectionGroup tools are to be shown then we want the status field added to allow clearing or manipulation the section\r\n if (this.defaultContextTools?.vertical?.sectionGroup) {\r\n // eslint-disable-next-line deprecation/deprecation\r\n const Sections = withStatusFieldProps(SectionsStatusField);\r\n statusBarItems.push(StatusBarItemUtilities.createStatusBarItem(\"uifw.Sections\", StatusBarSection.Center, 20, <Sections hideWhenUnused />));\r\n }\r\n\r\n return statusBarItems;\r\n }\r\n}\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StandardNavigationToolsProvider.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/ui-items-provider/StandardNavigationToolsProvider.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,YAAY,EAAkB,MAAM,uBAAuB,CAAC;AAGjI,OAAO,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;
|
|
1
|
+
{"version":3,"file":"StandardNavigationToolsProvider.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/ui-items-provider/StandardNavigationToolsProvider.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,YAAY,EAAkB,MAAM,uBAAuB,CAAC;AAGjI,OAAO,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAIlF;;;GAGG;AACH,qBAAa,+BAAgC,SAAQ,mBAAmB;IAgBtC,OAAO,CAAC,sBAAsB,CAAC;IAf/D;;;;;;;;OAQG;WACW,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,sBAAsB,CAAC,EAAE,sBAAsB,EAAE,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,GAAG,KAAK,OAAO;gBAMvK,UAAU,EAAE,MAAM,EAAU,sBAAsB,CAAC,oCAAwB,EAAE,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,GAAG,KAAK,OAAO;IAIhK,iCAAiC,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,aAAa,CAAC,EAAE,GAAG,GAAG,iBAAiB,EAAE;CAoCvM"}
|
|
@@ -11,6 +11,7 @@ exports.StandardNavigationToolsProvider = void 0;
|
|
|
11
11
|
const appui_abstract_1 = require("@itwin/appui-abstract");
|
|
12
12
|
const ToolbarHelper_1 = require("../toolbar/ToolbarHelper");
|
|
13
13
|
const CoreToolDefinitions_1 = require("../tools/CoreToolDefinitions");
|
|
14
|
+
/* eslint-disable deprecation/deprecation */
|
|
14
15
|
/**
|
|
15
16
|
* Provide standard tools for the ViewNavigationWidgetComposer.
|
|
16
17
|
* @public
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StandardNavigationToolsProvider.js","sourceRoot":"","sources":["../../../../src/appui-react/ui-items-provider/StandardNavigationToolsProvider.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module StandardUiItemsProvider\r\n */\r\n\r\nimport { BaseUiItemsProvider, CommonToolbarItem, ToolbarOrientation, ToolbarUsage, UiItemsManager } from \"@itwin/appui-abstract\";\r\nimport { ToolbarHelper } from \"../toolbar/ToolbarHelper\";\r\nimport { CoreTools } from \"../tools/CoreToolDefinitions\";\r\nimport { DefaultNavigationTools } from \"./StandardNavigationToolsUiItemsProvider\";\r\n\r\n/**\r\n * Provide standard tools for the ViewNavigationWidgetComposer.\r\n * @public\r\n */\r\nexport class StandardNavigationToolsProvider extends BaseUiItemsProvider {\r\n /**\r\n * static function to register the StandardContentToolsProvider\r\n * @param providerId - unique identifier for this instance of the provider. This is required in case separate packages want\r\n * to set up custom stage with their own subset of standard tools\r\n * @param defaultNavigationTools - if undefined all available tools are provided to stage. If defined only those\r\n * specific tool buttons are shown.\r\n * @param isSupportedStage - optional function that will be called to determine if tools should be added to current stage. If not set and\r\n * the current stage's `usage` is set to `StageUsage.General` then the provider will add items to frontstage.\r\n */\r\n public static register(providerId: string, defaultNavigationTools?: DefaultNavigationTools, isSupportedStage?: (stageId: string, stageUsage: string, stageAppData?: any) => boolean) {\r\n const provider = new StandardNavigationToolsProvider(providerId, defaultNavigationTools, isSupportedStage);\r\n UiItemsManager.register(provider);\r\n return provider;\r\n }\r\n\r\n constructor(providerId: string, private defaultNavigationTools?: DefaultNavigationTools, isSupportedStage?: (stageId: string, stageUsage: string, stageAppData?: any) => boolean) {\r\n super(providerId, isSupportedStage);\r\n }\r\n\r\n public override provideToolbarButtonItemsInternal(_stageId: string, _stageUsage: string, toolbarUsage: ToolbarUsage, toolbarOrientation: ToolbarOrientation, _stageAppData?: any): CommonToolbarItem[] {\r\n const items: CommonToolbarItem[] = [];\r\n if (toolbarUsage === ToolbarUsage.ViewNavigation && toolbarOrientation === ToolbarOrientation.Horizontal) {\r\n\r\n if (!this.defaultNavigationTools || !this.defaultNavigationTools.horizontal || this.defaultNavigationTools.horizontal.rotateView)\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(10, CoreTools.rotateViewCommand));\r\n\r\n if (!this.defaultNavigationTools || !this.defaultNavigationTools.horizontal || this.defaultNavigationTools.horizontal.panView)\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(20, CoreTools.panViewCommand));\r\n\r\n if (!this.defaultNavigationTools || !this.defaultNavigationTools.horizontal || this.defaultNavigationTools.horizontal.fitView) {\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(30, CoreTools.fitViewCommand));\r\n }\r\n\r\n if (!this.defaultNavigationTools || !this.defaultNavigationTools.horizontal || this.defaultNavigationTools.horizontal.windowArea) {\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(40, CoreTools.windowAreaCommand));\r\n }\r\n\r\n if (!this.defaultNavigationTools || !this.defaultNavigationTools.horizontal || this.defaultNavigationTools.horizontal.viewUndoRedo) {\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(50, CoreTools.viewUndoCommand));\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(60, CoreTools.viewRedoCommand));\r\n }\r\n\r\n } else if (toolbarUsage === ToolbarUsage.ViewNavigation && toolbarOrientation === ToolbarOrientation.Vertical) {\r\n\r\n if (!this.defaultNavigationTools || !this.defaultNavigationTools.vertical || this.defaultNavigationTools.vertical.setupWalkCamera)\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(5, CoreTools.setupCameraWalkTool));\r\n\r\n if (!this.defaultNavigationTools || !this.defaultNavigationTools.vertical || this.defaultNavigationTools.vertical.walk)\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(10, CoreTools.walkViewCommand));\r\n\r\n if (!this.defaultNavigationTools || !this.defaultNavigationTools.vertical || this.defaultNavigationTools.vertical.toggleCamera)\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(20, CoreTools.toggleCameraViewCommand));\r\n }\r\n return items;\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"StandardNavigationToolsProvider.js","sourceRoot":"","sources":["../../../../src/appui-react/ui-items-provider/StandardNavigationToolsProvider.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module StandardUiItemsProvider\r\n */\r\n\r\nimport { BaseUiItemsProvider, CommonToolbarItem, ToolbarOrientation, ToolbarUsage, UiItemsManager } from \"@itwin/appui-abstract\";\r\nimport { ToolbarHelper } from \"../toolbar/ToolbarHelper\";\r\nimport { CoreTools } from \"../tools/CoreToolDefinitions\";\r\nimport { DefaultNavigationTools } from \"./StandardNavigationToolsUiItemsProvider\";\r\n\r\n/* eslint-disable deprecation/deprecation */\r\n\r\n/**\r\n * Provide standard tools for the ViewNavigationWidgetComposer.\r\n * @public\r\n */\r\nexport class StandardNavigationToolsProvider extends BaseUiItemsProvider {\r\n /**\r\n * static function to register the StandardContentToolsProvider\r\n * @param providerId - unique identifier for this instance of the provider. This is required in case separate packages want\r\n * to set up custom stage with their own subset of standard tools\r\n * @param defaultNavigationTools - if undefined all available tools are provided to stage. If defined only those\r\n * specific tool buttons are shown.\r\n * @param isSupportedStage - optional function that will be called to determine if tools should be added to current stage. If not set and\r\n * the current stage's `usage` is set to `StageUsage.General` then the provider will add items to frontstage.\r\n */\r\n public static register(providerId: string, defaultNavigationTools?: DefaultNavigationTools, isSupportedStage?: (stageId: string, stageUsage: string, stageAppData?: any) => boolean) {\r\n const provider = new StandardNavigationToolsProvider(providerId, defaultNavigationTools, isSupportedStage);\r\n UiItemsManager.register(provider);\r\n return provider;\r\n }\r\n\r\n constructor(providerId: string, private defaultNavigationTools?: DefaultNavigationTools, isSupportedStage?: (stageId: string, stageUsage: string, stageAppData?: any) => boolean) {\r\n super(providerId, isSupportedStage);\r\n }\r\n\r\n public override provideToolbarButtonItemsInternal(_stageId: string, _stageUsage: string, toolbarUsage: ToolbarUsage, toolbarOrientation: ToolbarOrientation, _stageAppData?: any): CommonToolbarItem[] {\r\n const items: CommonToolbarItem[] = [];\r\n if (toolbarUsage === ToolbarUsage.ViewNavigation && toolbarOrientation === ToolbarOrientation.Horizontal) {\r\n\r\n if (!this.defaultNavigationTools || !this.defaultNavigationTools.horizontal || this.defaultNavigationTools.horizontal.rotateView)\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(10, CoreTools.rotateViewCommand));\r\n\r\n if (!this.defaultNavigationTools || !this.defaultNavigationTools.horizontal || this.defaultNavigationTools.horizontal.panView)\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(20, CoreTools.panViewCommand));\r\n\r\n if (!this.defaultNavigationTools || !this.defaultNavigationTools.horizontal || this.defaultNavigationTools.horizontal.fitView) {\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(30, CoreTools.fitViewCommand));\r\n }\r\n\r\n if (!this.defaultNavigationTools || !this.defaultNavigationTools.horizontal || this.defaultNavigationTools.horizontal.windowArea) {\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(40, CoreTools.windowAreaCommand));\r\n }\r\n\r\n if (!this.defaultNavigationTools || !this.defaultNavigationTools.horizontal || this.defaultNavigationTools.horizontal.viewUndoRedo) {\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(50, CoreTools.viewUndoCommand));\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(60, CoreTools.viewRedoCommand));\r\n }\r\n\r\n } else if (toolbarUsage === ToolbarUsage.ViewNavigation && toolbarOrientation === ToolbarOrientation.Vertical) {\r\n\r\n if (!this.defaultNavigationTools || !this.defaultNavigationTools.vertical || this.defaultNavigationTools.vertical.setupWalkCamera)\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(5, CoreTools.setupCameraWalkTool));\r\n\r\n if (!this.defaultNavigationTools || !this.defaultNavigationTools.vertical || this.defaultNavigationTools.vertical.walk)\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(10, CoreTools.walkViewCommand));\r\n\r\n if (!this.defaultNavigationTools || !this.defaultNavigationTools.vertical || this.defaultNavigationTools.vertical.toggleCamera)\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(20, CoreTools.toggleCameraViewCommand));\r\n }\r\n return items;\r\n }\r\n}\r\n"]}
|
|
@@ -22,7 +22,7 @@ class StandardNavigationToolsUiItemsProvider {
|
|
|
22
22
|
get id() { return "appui-react:StandardNavigationToolsUiItemsProvider"; }
|
|
23
23
|
provideToolbarButtonItems(_stageId, _stageUsage, toolbarUsage, toolbarOrientation, _stageAppData) {
|
|
24
24
|
const items = [];
|
|
25
|
-
if (toolbarUsage === appui_abstract_1.ToolbarUsage.ViewNavigation && toolbarOrientation === appui_abstract_1.ToolbarOrientation.Horizontal) {
|
|
25
|
+
if (toolbarUsage === appui_abstract_1.ToolbarUsage.ViewNavigation && toolbarOrientation === appui_abstract_1.ToolbarOrientation.Horizontal) { // eslint-disable-line deprecation/deprecation
|
|
26
26
|
if (!this.defaultNavigationTools || !this.defaultNavigationTools.horizontal || this.defaultNavigationTools.horizontal.rotateView)
|
|
27
27
|
items.push(ToolbarHelper_1.ToolbarHelper.createToolbarItemFromItemDef(10, CoreToolDefinitions_1.CoreTools.rotateViewCommand));
|
|
28
28
|
if (!this.defaultNavigationTools || !this.defaultNavigationTools.horizontal || this.defaultNavigationTools.horizontal.panView)
|
|
@@ -38,7 +38,7 @@ class StandardNavigationToolsUiItemsProvider {
|
|
|
38
38
|
items.push(ToolbarHelper_1.ToolbarHelper.createToolbarItemFromItemDef(60, CoreToolDefinitions_1.CoreTools.viewRedoCommand));
|
|
39
39
|
}
|
|
40
40
|
}
|
|
41
|
-
else /* istanbul ignore else */ if (toolbarUsage === appui_abstract_1.ToolbarUsage.ViewNavigation && toolbarOrientation === appui_abstract_1.ToolbarOrientation.Vertical) {
|
|
41
|
+
else /* istanbul ignore else */ if (toolbarUsage === appui_abstract_1.ToolbarUsage.ViewNavigation && toolbarOrientation === appui_abstract_1.ToolbarOrientation.Vertical) { // eslint-disable-line deprecation/deprecation
|
|
42
42
|
if (!this.defaultNavigationTools || !this.defaultNavigationTools.vertical || this.defaultNavigationTools.vertical.setupWalkCamera)
|
|
43
43
|
items.push(ToolbarHelper_1.ToolbarHelper.createToolbarItemFromItemDef(5, CoreToolDefinitions_1.CoreTools.setupCameraWalkTool));
|
|
44
44
|
if (!this.defaultNavigationTools || !this.defaultNavigationTools.vertical || this.defaultNavigationTools.vertical.walk)
|