@itwin/appui-react 3.6.0-dev.1 → 3.6.0-dev.5
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/lib/cjs/appui-react/UiFramework.d.ts +6 -0
- package/lib/cjs/appui-react/UiFramework.d.ts.map +1 -1
- package/lib/cjs/appui-react/UiFramework.js +7 -4
- package/lib/cjs/appui-react/UiFramework.js.map +1 -1
- package/lib/cjs/appui-react/backstage/Backstage.d.ts +3 -3
- package/lib/cjs/appui-react/backstage/Backstage.js +2 -2
- package/lib/cjs/appui-react/backstage/Backstage.js.map +1 -1
- package/lib/cjs/appui-react/configurableui/ConfigurableUiManager.d.ts +1 -1
- package/lib/cjs/appui-react/configurableui/ConfigurableUiManager.js +1 -1
- package/lib/cjs/appui-react/configurableui/ConfigurableUiManager.js.map +1 -1
- package/lib/cjs/appui-react/configurableui/state.d.ts +3 -0
- package/lib/cjs/appui-react/configurableui/state.d.ts.map +1 -1
- package/lib/cjs/appui-react/configurableui/state.js +3 -1
- package/lib/cjs/appui-react/configurableui/state.js.map +1 -1
- package/lib/cjs/appui-react/frontstage/Frontstage.d.ts +1 -1
- package/lib/cjs/appui-react/frontstage/Frontstage.js +1 -1
- package/lib/cjs/appui-react/frontstage/Frontstage.js.map +1 -1
- package/lib/cjs/appui-react/frontstage/FrontstageDef.d.ts +20 -3
- package/lib/cjs/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
- package/lib/cjs/appui-react/frontstage/FrontstageDef.js +22 -6
- package/lib/cjs/appui-react/frontstage/FrontstageDef.js.map +1 -1
- package/lib/cjs/appui-react/frontstage/FrontstageManager.d.ts +3 -1
- package/lib/cjs/appui-react/frontstage/FrontstageManager.d.ts.map +1 -1
- package/lib/cjs/appui-react/frontstage/FrontstageManager.js +3 -1
- package/lib/cjs/appui-react/frontstage/FrontstageManager.js.map +1 -1
- package/lib/cjs/appui-react/safearea/SafeAreaContext.d.ts +1 -1
- package/lib/cjs/appui-react/safearea/SafeAreaContext.js +1 -1
- package/lib/cjs/appui-react/safearea/SafeAreaContext.js.map +1 -1
- package/lib/cjs/appui-react/settings/ui/UiSettingsPage.d.ts +10 -0
- package/lib/cjs/appui-react/settings/ui/UiSettingsPage.d.ts.map +1 -1
- package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js +9 -19
- package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
- package/lib/cjs/appui-react/shared/GroupItemProps.d.ts +1 -0
- package/lib/cjs/appui-react/shared/GroupItemProps.d.ts.map +1 -1
- package/lib/cjs/appui-react/shared/GroupItemProps.js.map +1 -1
- package/lib/cjs/appui-react/stagepanels/StagePanel.d.ts +1 -1
- package/lib/cjs/appui-react/stagepanels/StagePanel.js +1 -1
- package/lib/cjs/appui-react/stagepanels/StagePanel.js.map +1 -1
- package/lib/cjs/appui-react/statusfields/Indicator.d.ts +1 -1
- package/lib/cjs/appui-react/statusfields/Indicator.js +1 -1
- package/lib/cjs/appui-react/statusfields/Indicator.js.map +1 -1
- package/lib/cjs/appui-react/toolbar/GroupItem.d.ts +3 -0
- package/lib/cjs/appui-react/toolbar/GroupItem.d.ts.map +1 -1
- package/lib/cjs/appui-react/toolbar/GroupItem.js +2 -1
- package/lib/cjs/appui-react/toolbar/GroupItem.js.map +1 -1
- package/lib/cjs/appui-react/toolbar/Toolbar.js +3 -3
- package/lib/cjs/appui-react/toolbar/Toolbar.js.map +1 -1
- package/lib/cjs/appui-react/tools/CoreToolDefinitions.d.ts +1 -0
- package/lib/cjs/appui-react/tools/CoreToolDefinitions.d.ts.map +1 -1
- package/lib/cjs/appui-react/tools/CoreToolDefinitions.js +1 -0
- package/lib/cjs/appui-react/tools/CoreToolDefinitions.js.map +1 -1
- package/lib/cjs/appui-react/uistate/AppUiSettings.d.ts +2 -0
- package/lib/cjs/appui-react/uistate/AppUiSettings.d.ts.map +1 -1
- package/lib/cjs/appui-react/uistate/AppUiSettings.js +4 -3
- package/lib/cjs/appui-react/uistate/AppUiSettings.js.map +1 -1
- package/lib/cjs/appui-react/widget-panels/StatusBar.js +1 -1
- package/lib/cjs/appui-react/widget-panels/StatusBar.js.map +1 -1
- package/lib/cjs/appui-react/widget-panels/ToolSettings.js +1 -1
- package/lib/cjs/appui-react/widget-panels/ToolSettings.js.map +1 -1
- package/lib/cjs/appui-react/widget-panels/Toolbars.js +4 -4
- package/lib/cjs/appui-react/widget-panels/Toolbars.js.map +1 -1
- package/lib/cjs/appui-react/widgets/DefaultNavigationWidget.d.ts +3 -3
- package/lib/cjs/appui-react/widgets/DefaultNavigationWidget.js +2 -2
- package/lib/cjs/appui-react/widgets/DefaultNavigationWidget.js.map +1 -1
- package/lib/cjs/appui-react/widgets/ToolWidget.d.ts +3 -3
- package/lib/cjs/appui-react/widgets/ToolWidget.js +2 -2
- package/lib/cjs/appui-react/widgets/ToolWidget.js.map +1 -1
- package/lib/cjs/appui-react/widgets/Widget.d.ts +1 -1
- package/lib/cjs/appui-react/widgets/Widget.js +1 -1
- package/lib/cjs/appui-react/widgets/Widget.js.map +1 -1
- package/lib/cjs/appui-react/widgets/WidgetDef.d.ts +5 -0
- package/lib/cjs/appui-react/widgets/WidgetDef.d.ts.map +1 -1
- package/lib/cjs/appui-react/widgets/WidgetDef.js +12 -7
- package/lib/cjs/appui-react/widgets/WidgetDef.js.map +1 -1
- package/lib/cjs/appui-react/widgets/WidgetProps.d.ts +1 -1
- package/lib/cjs/appui-react/widgets/WidgetProps.js.map +1 -1
- package/lib/cjs/appui-react/zones/Zone.d.ts +1 -1
- package/lib/cjs/appui-react/zones/Zone.js +1 -1
- package/lib/cjs/appui-react/zones/Zone.js.map +1 -1
- package/lib/cjs/appui-react/zones/ZoneDef.d.ts +1 -1
- package/lib/cjs/appui-react/zones/ZoneDef.js +1 -1
- package/lib/cjs/appui-react/zones/ZoneDef.js.map +1 -1
- package/lib/esm/appui-react/UiFramework.d.ts +6 -0
- package/lib/esm/appui-react/UiFramework.d.ts.map +1 -1
- package/lib/esm/appui-react/UiFramework.js +7 -4
- package/lib/esm/appui-react/UiFramework.js.map +1 -1
- package/lib/esm/appui-react/backstage/Backstage.d.ts +3 -3
- package/lib/esm/appui-react/backstage/Backstage.js +2 -2
- package/lib/esm/appui-react/backstage/Backstage.js.map +1 -1
- package/lib/esm/appui-react/configurableui/ConfigurableUiManager.d.ts +1 -1
- package/lib/esm/appui-react/configurableui/ConfigurableUiManager.js +1 -1
- package/lib/esm/appui-react/configurableui/ConfigurableUiManager.js.map +1 -1
- package/lib/esm/appui-react/configurableui/state.d.ts +3 -0
- package/lib/esm/appui-react/configurableui/state.d.ts.map +1 -1
- package/lib/esm/appui-react/configurableui/state.js +3 -1
- package/lib/esm/appui-react/configurableui/state.js.map +1 -1
- package/lib/esm/appui-react/frontstage/Frontstage.d.ts +1 -1
- package/lib/esm/appui-react/frontstage/Frontstage.js +1 -1
- package/lib/esm/appui-react/frontstage/Frontstage.js.map +1 -1
- package/lib/esm/appui-react/frontstage/FrontstageDef.d.ts +20 -3
- package/lib/esm/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
- package/lib/esm/appui-react/frontstage/FrontstageDef.js +22 -6
- package/lib/esm/appui-react/frontstage/FrontstageDef.js.map +1 -1
- package/lib/esm/appui-react/frontstage/FrontstageManager.d.ts +3 -1
- package/lib/esm/appui-react/frontstage/FrontstageManager.d.ts.map +1 -1
- package/lib/esm/appui-react/frontstage/FrontstageManager.js +3 -1
- package/lib/esm/appui-react/frontstage/FrontstageManager.js.map +1 -1
- package/lib/esm/appui-react/safearea/SafeAreaContext.d.ts +1 -1
- package/lib/esm/appui-react/safearea/SafeAreaContext.js +1 -1
- package/lib/esm/appui-react/safearea/SafeAreaContext.js.map +1 -1
- package/lib/esm/appui-react/settings/ui/UiSettingsPage.d.ts +10 -0
- package/lib/esm/appui-react/settings/ui/UiSettingsPage.d.ts.map +1 -1
- package/lib/esm/appui-react/settings/ui/UiSettingsPage.js +9 -19
- package/lib/esm/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
- package/lib/esm/appui-react/shared/GroupItemProps.d.ts +1 -0
- package/lib/esm/appui-react/shared/GroupItemProps.d.ts.map +1 -1
- package/lib/esm/appui-react/shared/GroupItemProps.js.map +1 -1
- package/lib/esm/appui-react/stagepanels/StagePanel.d.ts +1 -1
- package/lib/esm/appui-react/stagepanels/StagePanel.js +1 -1
- package/lib/esm/appui-react/stagepanels/StagePanel.js.map +1 -1
- package/lib/esm/appui-react/statusfields/Indicator.d.ts +1 -1
- package/lib/esm/appui-react/statusfields/Indicator.js +1 -1
- package/lib/esm/appui-react/statusfields/Indicator.js.map +1 -1
- package/lib/esm/appui-react/toolbar/GroupItem.d.ts +3 -0
- package/lib/esm/appui-react/toolbar/GroupItem.d.ts.map +1 -1
- package/lib/esm/appui-react/toolbar/GroupItem.js +2 -1
- package/lib/esm/appui-react/toolbar/GroupItem.js.map +1 -1
- package/lib/esm/appui-react/toolbar/Toolbar.js +3 -3
- package/lib/esm/appui-react/toolbar/Toolbar.js.map +1 -1
- package/lib/esm/appui-react/tools/CoreToolDefinitions.d.ts +1 -0
- package/lib/esm/appui-react/tools/CoreToolDefinitions.d.ts.map +1 -1
- package/lib/esm/appui-react/tools/CoreToolDefinitions.js +1 -0
- package/lib/esm/appui-react/tools/CoreToolDefinitions.js.map +1 -1
- package/lib/esm/appui-react/uistate/AppUiSettings.d.ts +2 -0
- package/lib/esm/appui-react/uistate/AppUiSettings.d.ts.map +1 -1
- package/lib/esm/appui-react/uistate/AppUiSettings.js +4 -3
- package/lib/esm/appui-react/uistate/AppUiSettings.js.map +1 -1
- package/lib/esm/appui-react/widget-panels/StatusBar.js +1 -1
- package/lib/esm/appui-react/widget-panels/StatusBar.js.map +1 -1
- package/lib/esm/appui-react/widget-panels/ToolSettings.js +1 -1
- package/lib/esm/appui-react/widget-panels/ToolSettings.js.map +1 -1
- package/lib/esm/appui-react/widget-panels/Toolbars.js +4 -4
- package/lib/esm/appui-react/widget-panels/Toolbars.js.map +1 -1
- package/lib/esm/appui-react/widgets/DefaultNavigationWidget.d.ts +3 -3
- package/lib/esm/appui-react/widgets/DefaultNavigationWidget.js +2 -2
- package/lib/esm/appui-react/widgets/DefaultNavigationWidget.js.map +1 -1
- package/lib/esm/appui-react/widgets/ToolWidget.d.ts +3 -3
- package/lib/esm/appui-react/widgets/ToolWidget.js +2 -2
- package/lib/esm/appui-react/widgets/ToolWidget.js.map +1 -1
- package/lib/esm/appui-react/widgets/Widget.d.ts +1 -1
- package/lib/esm/appui-react/widgets/Widget.js +1 -1
- package/lib/esm/appui-react/widgets/Widget.js.map +1 -1
- package/lib/esm/appui-react/widgets/WidgetDef.d.ts +5 -0
- package/lib/esm/appui-react/widgets/WidgetDef.d.ts.map +1 -1
- package/lib/esm/appui-react/widgets/WidgetDef.js +12 -7
- package/lib/esm/appui-react/widgets/WidgetDef.js.map +1 -1
- package/lib/esm/appui-react/widgets/WidgetProps.d.ts +1 -1
- package/lib/esm/appui-react/widgets/WidgetProps.js.map +1 -1
- package/lib/esm/appui-react/zones/Zone.d.ts +1 -1
- package/lib/esm/appui-react/zones/Zone.js +1 -1
- package/lib/esm/appui-react/zones/Zone.js.map +1 -1
- package/lib/esm/appui-react/zones/ZoneDef.d.ts +1 -1
- package/lib/esm/appui-react/zones/ZoneDef.js +1 -1
- package/lib/esm/appui-react/zones/ZoneDef.js.map +1 -1
- package/package.json +32 -32
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CoreToolDefinitions.js","sourceRoot":"","sources":["../../../../src/appui-react/tools/CoreToolDefinitions.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Tools\r\n */\r\n\r\nimport * as React from \"react\";\r\n// cSpell:ignore configurableui keyinbrowser\r\nimport {\r\n FitViewTool, FlyViewTool, IModelApp, MeasureDistanceTool, MeasureLocationTool, PanViewTool, RotateViewTool, SelectionTool, SetupWalkCameraTool,\r\n ViewClipByElementTool, ViewClipByPlaneTool, ViewClipByRangeTool, ViewClipByShapeTool, ViewClipDecorationProvider, ViewRedoTool, ViewToggleCameraTool,\r\n ViewUndoTool, WalkViewTool, WindowAreaTool, ZoomViewTool,\r\n} from \"@itwin/core-frontend\";\r\nimport { ConditionalBooleanValue, ConditionalStringValue, IconSpecUtilities } from \"@itwin/appui-abstract\";\r\nimport { ToolbarPopupContext } from \"@itwin/components-react\";\r\nimport { PopupButton, PopupButtonChildrenRenderPropArgs } from \"../toolbar/PopupButton\";\r\nimport { ContentViewManager } from \"../content/ContentViewManager\";\r\nimport { KeyinBrowser } from \"../keyinbrowser/KeyinBrowser\";\r\nimport { getIsHiddenIfSelectionNotActive, getSelectionContextSyncEventIds, selectionContextStateFunc } from \"../selection/SelectionContextItemDef\";\r\nimport { CommandItemDef } from \"../shared/CommandItemDef\";\r\nimport { CustomItemDef } from \"../shared/CustomItemDef\";\r\nimport { BaseItemState } from \"../shared/ItemDefBase\";\r\nimport { ToolItemDef } from \"../shared/ToolItemDef\";\r\nimport { SyncUiEventId } from \"../syncui/SyncUiEventDispatcher\";\r\nimport { GroupItemDef } from \"../toolbar/GroupItem\";\r\nimport { RestoreFrontstageLayoutTool } from \"./RestoreLayoutTool\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport cameraAnimationIcon from \"@itwin/itwinui-icons/icons/camera-animation.svg\";\r\nimport cameraAnimationDisabledIcon from \"@itwin/itwinui-icons/icons/camera-animation-disabled.svg\";\r\n\r\n/* eslint-disable deprecation/deprecation */\r\n\r\n/** Utility Class that provides definitions of tools provided by the ($core-frontend) core. These definitions can be used to populate the UI.\r\n * @public\r\n */\r\n// istanbul ignore next\r\nexport class CoreTools {\r\n /** Get the CustomItemDef for PopupButton\r\n * @public\r\n */\r\n public static get keyinBrowserButtonItemDef() {\r\n return new CustomItemDef({\r\n customId: \"uif:keyinbrowser\",\r\n iconSpec: \"icon-process\",\r\n labelKey: \"UiFramework:keyinbrowser.label\",\r\n popupPanelNode: <ToolbarPopupContext.Consumer>\r\n {({ closePanel }) => (\r\n <KeyinBrowser onExecute={closePanel} onCancel={closePanel} />\r\n )}\r\n </ToolbarPopupContext.Consumer>,\r\n // DEPRECATED way\r\n reactElement: (\r\n <PopupButton iconSpec=\"icon-process\" labelKey=\"UiFramework:keyinbrowser.label\">\r\n {this._renderKeyInBrowser}\r\n </PopupButton>\r\n ),\r\n });\r\n }\r\n\r\n // istanbul ignore next\r\n private static _renderKeyInBrowser = ({ closePanel }: PopupButtonChildrenRenderPropArgs) => {\r\n return (\r\n <KeyinBrowser onExecute={closePanel} onCancel={closePanel} />\r\n );\r\n };\r\n\r\n public static get keyinPaletteButtonItemDef() {\r\n return new ToolItemDef({\r\n toolId: \"uif:keyinpalette\",\r\n iconSpec: \"icon-process\",\r\n labelKey: \"UiFramework:keyinbrowser.label\",\r\n execute: () => { IModelApp.uiAdmin.showKeyinPalette(); },\r\n });\r\n }\r\n\r\n public static get fitViewCommand() {\r\n return new ToolItemDef({\r\n toolId: FitViewTool.toolId,\r\n iconSpec: FitViewTool.iconSpec,\r\n label: FitViewTool.flyover,\r\n description: FitViewTool.description,\r\n execute: async () => IModelApp.tools.run(FitViewTool.toolId, IModelApp.viewManager.selectedView, true),\r\n });\r\n }\r\n\r\n public static get windowAreaCommand() {\r\n return new ToolItemDef({\r\n toolId: WindowAreaTool.toolId,\r\n iconSpec: WindowAreaTool.iconSpec,\r\n label: WindowAreaTool.flyover,\r\n description: WindowAreaTool.description,\r\n execute: async () => IModelApp.tools.run(WindowAreaTool.toolId, IModelApp.viewManager.selectedView),\r\n });\r\n }\r\n\r\n public static get zoomViewCommand() {\r\n return new ToolItemDef({\r\n toolId: ZoomViewTool.toolId,\r\n iconSpec: ZoomViewTool.iconSpec,\r\n label: ZoomViewTool.flyover,\r\n description: ZoomViewTool.description,\r\n execute: async () => IModelApp.tools.run(ZoomViewTool.toolId, IModelApp.viewManager.selectedView),\r\n });\r\n }\r\n\r\n public static get panViewCommand() {\r\n return new ToolItemDef({\r\n toolId: PanViewTool.toolId,\r\n iconSpec: PanViewTool.iconSpec,\r\n label: PanViewTool.flyover,\r\n description: PanViewTool.description,\r\n execute: async () => IModelApp.tools.run(PanViewTool.toolId, IModelApp.viewManager.selectedView),\r\n });\r\n }\r\n\r\n public static get rotateViewCommand() {\r\n return new ToolItemDef({\r\n toolId: RotateViewTool.toolId,\r\n iconSpec: new ConditionalStringValue(() => {\r\n const activeContentControl = ContentViewManager.getActiveContentControl();\r\n if (activeContentControl?.viewport?.view.is2d())\r\n return \"icon-rotate-left\";\r\n return \"icon-gyroscope\";\r\n }, [SyncUiEventId.ActiveContentChanged, SyncUiEventId.ActiveViewportChanged, SyncUiEventId.ViewStateChanged]),\r\n label: RotateViewTool.flyover,\r\n description: RotateViewTool.description,\r\n execute: async () => IModelApp.tools.run(RotateViewTool.toolId, IModelApp.viewManager.selectedView),\r\n });\r\n }\r\n\r\n public static get walkViewCommand() {\r\n return new ToolItemDef({\r\n toolId: WalkViewTool.toolId,\r\n iconSpec: WalkViewTool.iconSpec,\r\n label: WalkViewTool.flyover,\r\n description: WalkViewTool.description,\r\n isHidden: new ConditionalBooleanValue(() => {\r\n const activeContentControl = ContentViewManager.getActiveContentControl();\r\n return !!activeContentControl?.viewport?.view.is2d();\r\n }, [SyncUiEventId.ActiveContentChanged, SyncUiEventId.ActiveViewportChanged, SyncUiEventId.ViewStateChanged]),\r\n execute: async () => IModelApp.tools.run(WalkViewTool.toolId, IModelApp.viewManager.selectedView),\r\n });\r\n }\r\n\r\n public static get selectElementCommand() {\r\n return new ToolItemDef({\r\n toolId: SelectionTool.toolId,\r\n iconSpec: SelectionTool.iconSpec,\r\n label: SelectionTool.flyover,\r\n description: SelectionTool.description,\r\n execute: async () => IModelApp.tools.run(SelectionTool.toolId),\r\n });\r\n }\r\n\r\n public static get setupCameraWalkTool() {\r\n return new ToolItemDef({\r\n toolId: SetupWalkCameraTool.toolId,\r\n iconSpec: SetupWalkCameraTool.iconSpec,\r\n label: SetupWalkCameraTool.flyover,\r\n description: SetupWalkCameraTool.description,\r\n execute: async () => IModelApp.tools.run(SetupWalkCameraTool.toolId),\r\n });\r\n }\r\n\r\n public static get toggleCameraViewCommand() {\r\n return new ToolItemDef({\r\n toolId: ViewToggleCameraTool.toolId,\r\n iconSpec: new ConditionalStringValue(() => {\r\n const activeContentControl = ContentViewManager.getActiveContentControl();\r\n if (activeContentControl?.viewport?.view.is3d() && activeContentControl?.viewport?.isCameraOn) {\r\n return IconSpecUtilities.createWebComponentIconSpec(cameraAnimationIcon);\r\n }\r\n return IconSpecUtilities.createWebComponentIconSpec(cameraAnimationDisabledIcon);\r\n }, [SyncUiEventId.ActiveContentChanged, SyncUiEventId.ActiveViewportChanged, SyncUiEventId.ViewStateChanged]),\r\n label: new ConditionalStringValue(() => {\r\n const activeContentControl = ContentViewManager.getActiveContentControl();\r\n if (activeContentControl?.viewport?.view.is3d() && activeContentControl?.viewport?.isCameraOn) {\r\n return UiFramework.translate(\"tools.View.ToggleCamera.turnOffFlyover\");\r\n }\r\n return UiFramework.translate(\"tools.View.ToggleCamera.turnOnFlyover\");\r\n }, [SyncUiEventId.ActiveContentChanged, SyncUiEventId.ActiveViewportChanged, SyncUiEventId.ViewStateChanged]),\r\n description: ViewToggleCameraTool.description,\r\n isHidden: new ConditionalBooleanValue(() => {\r\n const activeContentControl = ContentViewManager.getActiveContentControl();\r\n return !(activeContentControl?.viewport?.view.is3d() && activeContentControl?.viewport?.view.supportsCamera());\r\n }, [SyncUiEventId.ActiveContentChanged, SyncUiEventId.ActiveViewportChanged, SyncUiEventId.ViewStateChanged]),\r\n execute: async () => IModelApp.tools.run(ViewToggleCameraTool.toolId, IModelApp.viewManager.selectedView),\r\n });\r\n }\r\n\r\n public static get flyViewCommand() {\r\n return new ToolItemDef({\r\n toolId: FlyViewTool.toolId,\r\n iconSpec: FlyViewTool.iconSpec,\r\n label: FlyViewTool.flyover,\r\n description: FlyViewTool.description,\r\n execute: async () => IModelApp.tools.run(FlyViewTool.toolId, IModelApp.viewManager.selectedView),\r\n });\r\n }\r\n\r\n // TODO - Need to provide a sync message that is fired when the Undo/Redo button needs to be refreshed in the\r\n // active view.\r\n public static get viewUndoCommand() {\r\n return new ToolItemDef({\r\n toolId: ViewUndoTool.toolId,\r\n isDisabled: new ConditionalBooleanValue(() => {\r\n const activeContentControl = ContentViewManager.getActiveContentControl();\r\n if (activeContentControl && activeContentControl.viewport)\r\n return !activeContentControl.viewport.isUndoPossible;\r\n return false;\r\n }, [SyncUiEventId.ActiveContentChanged, SyncUiEventId.ActiveViewportChanged, SyncUiEventId.ViewStateChanged]),\r\n iconSpec: ViewUndoTool.iconSpec,\r\n label: ViewUndoTool.flyover,\r\n description: ViewUndoTool.description,\r\n execute: async () =>\r\n IModelApp.tools.run(ViewUndoTool.toolId, IModelApp.viewManager.selectedView)\r\n ,\r\n stateSyncIds: [SyncUiEventId.ActiveContentChanged, SyncUiEventId.ActiveViewportChanged, SyncUiEventId.ViewStateChanged],\r\n stateFunc: (currentState: Readonly<BaseItemState>): BaseItemState => {\r\n const returnState: BaseItemState = { ...currentState };\r\n const activeContentControl = ContentViewManager.getActiveContentControl();\r\n if (activeContentControl && activeContentControl.viewport)\r\n returnState.isEnabled = activeContentControl.viewport.isUndoPossible;\r\n return returnState;\r\n },\r\n });\r\n }\r\n\r\n public static get viewRedoCommand() {\r\n return new ToolItemDef({\r\n toolId: ViewRedoTool.toolId,\r\n iconSpec: ViewRedoTool.iconSpec,\r\n label: ViewRedoTool.flyover,\r\n description: ViewRedoTool.description,\r\n execute: async () => IModelApp.tools.run(ViewRedoTool.toolId, IModelApp.viewManager.selectedView),\r\n isDisabled: new ConditionalBooleanValue(() => {\r\n const activeContentControl = ContentViewManager.getActiveContentControl();\r\n if (activeContentControl && activeContentControl.viewport)\r\n return !activeContentControl.viewport.isRedoPossible;\r\n return false;\r\n }, [SyncUiEventId.ActiveContentChanged, SyncUiEventId.ActiveViewportChanged, SyncUiEventId.ViewStateChanged]),\r\n stateSyncIds: [SyncUiEventId.ActiveContentChanged, SyncUiEventId.ActiveViewportChanged, SyncUiEventId.ViewStateChanged],\r\n stateFunc: (currentState: Readonly<BaseItemState>): BaseItemState => {\r\n const returnState: BaseItemState = { ...currentState };\r\n const activeContentControl = ContentViewManager.getActiveContentControl();\r\n if (activeContentControl && activeContentControl.viewport)\r\n returnState.isEnabled = activeContentControl.viewport.isRedoPossible;\r\n return returnState;\r\n },\r\n });\r\n }\r\n\r\n private static turnOnClipVolume() {\r\n const vp = IModelApp.viewManager.selectedView;\r\n if (!vp || !vp.view.is3d())\r\n return;\r\n\r\n // Turn on clip volume flag for section tools\r\n vp.viewFlags = vp.viewFlags.with(\"clipVolume\", true);\r\n }\r\n\r\n // note current ViewClipByPlaneTool is not automatically registered so the app must call ViewClipByPlaneTool.register();\r\n public static get sectionByPlaneCommandItemDef() {\r\n return new ToolItemDef({\r\n toolId: ViewClipByPlaneTool.toolId,\r\n iconSpec: ViewClipByPlaneTool.iconSpec,\r\n label: ViewClipByPlaneTool.flyover,\r\n description: ViewClipByPlaneTool.description,\r\n execute: async () => {\r\n this.turnOnClipVolume();\r\n return IModelApp.tools.run(ViewClipByPlaneTool.toolId, ViewClipDecorationProvider.create());\r\n },\r\n });\r\n }\r\n\r\n // note current ViewClipByElementTool is not automatically registered so the app must call ViewClipByElementTool.register();\r\n public static get sectionByElementCommandItemDef() {\r\n return new ToolItemDef({\r\n toolId: ViewClipByElementTool.toolId,\r\n iconSpec: ViewClipByElementTool.iconSpec,\r\n label: ViewClipByElementTool.flyover,\r\n description: ViewClipByElementTool.description,\r\n execute: async () => {\r\n this.turnOnClipVolume();\r\n return IModelApp.tools.run(ViewClipByElementTool.toolId, ViewClipDecorationProvider.create());\r\n },\r\n });\r\n }\r\n\r\n // note current ViewClipByRangeTool is not automatically registered so the app must call ViewClipByRangeTool.register();\r\n public static get sectionByRangeCommandItemDef() {\r\n return new ToolItemDef({\r\n toolId: ViewClipByRangeTool.toolId,\r\n iconSpec: ViewClipByRangeTool.iconSpec,\r\n label: ViewClipByRangeTool.flyover,\r\n description: ViewClipByRangeTool.description,\r\n execute: async () => {\r\n this.turnOnClipVolume();\r\n return IModelApp.tools.run(ViewClipByRangeTool.toolId, ViewClipDecorationProvider.create());\r\n },\r\n });\r\n }\r\n\r\n // note current ViewClipByShapeTool is not automatically registered so the app must call ViewClipByShapeTool.register();\r\n public static get sectionByShapeCommandItemDef() {\r\n return new ToolItemDef({\r\n toolId: ViewClipByShapeTool.toolId,\r\n iconSpec: ViewClipByShapeTool.iconSpec,\r\n label: ViewClipByShapeTool.flyover,\r\n description: ViewClipByShapeTool.description,\r\n execute: async () => {\r\n this.turnOnClipVolume();\r\n return IModelApp.tools.run(ViewClipByShapeTool.toolId, ViewClipDecorationProvider.create());\r\n },\r\n });\r\n }\r\n\r\n public static get sectionToolGroup() {\r\n ViewClipByElementTool.register();\r\n ViewClipByPlaneTool.register();\r\n ViewClipByRangeTool.register();\r\n ViewClipByShapeTool.register();\r\n\r\n return new GroupItemDef({\r\n groupId: \"sectionTools-group\",\r\n labelKey: \"UiFramework:tools.sectionTools\",\r\n iconSpec: \"icon-section-tool\",\r\n isHidden: new ConditionalBooleanValue(() => {\r\n const activeContentControl = ContentViewManager.getActiveContentControl();\r\n return !!activeContentControl?.viewport?.view.is2d();\r\n }, [SyncUiEventId.ActiveContentChanged, SyncUiEventId.ActiveViewportChanged, SyncUiEventId.ViewStateChanged]),\r\n items: [this.sectionByPlaneCommandItemDef, this.sectionByElementCommandItemDef, this.sectionByRangeCommandItemDef, this.sectionByShapeCommandItemDef],\r\n itemsInColumn: 4,\r\n });\r\n }\r\n\r\n public static get sectionToolGroupWithPanel() {\r\n ViewClipByElementTool.register();\r\n ViewClipByPlaneTool.register();\r\n ViewClipByRangeTool.register();\r\n ViewClipByShapeTool.register();\r\n\r\n return new GroupItemDef({\r\n groupId: \"sectionTools-group-with-panel\",\r\n labelKey: \"UiFramework:tools.sectionTools\",\r\n panelLabelKey: \"UiFramework:tools.sectionPanelLabel\",\r\n iconSpec: \"icon-section-tool\",\r\n isHidden: new ConditionalBooleanValue(() => {\r\n const activeContentControl = ContentViewManager.getActiveContentControl();\r\n return !!activeContentControl?.viewport?.view.is2d();\r\n }, [SyncUiEventId.ActiveContentChanged, SyncUiEventId.ActiveViewportChanged, SyncUiEventId.ViewStateChanged]),\r\n items: [\r\n new ToolItemDef({\r\n ...this.sectionByPlaneCommandItemDef,\r\n labelKey: \"UiFramework:tools.sectionByPlane\",\r\n }),\r\n new ToolItemDef({\r\n ...this.sectionByElementCommandItemDef,\r\n labelKey: \"UiFramework:tools.sectionByElement\",\r\n }),\r\n new ToolItemDef({\r\n ...this.sectionByRangeCommandItemDef,\r\n labelKey: \"UiFramework:tools.sectionByRange\",\r\n }),\r\n new ToolItemDef({\r\n ...this.sectionByShapeCommandItemDef,\r\n labelKey: \"UiFramework:tools.sectionByShape\",\r\n }),\r\n ],\r\n itemsInColumn: 4,\r\n });\r\n\r\n }\r\n\r\n // note current MeasureDistanceTool is not automatically registered so the app must call MeasureDistanceTool.register();\r\n public static get measureDistanceToolItemDef() {\r\n return new ToolItemDef({\r\n toolId: MeasureDistanceTool.toolId,\r\n iconSpec: MeasureDistanceTool.iconSpec,\r\n label: MeasureDistanceTool.flyover,\r\n description: MeasureDistanceTool.description,\r\n execute: async () => {\r\n return IModelApp.tools.run(MeasureDistanceTool.toolId);\r\n },\r\n });\r\n }\r\n\r\n // note current MeasureLocationTool is not automatically registered so the app must call MeasureLocationTool.register();\r\n public static get measureLocationToolItemDef() {\r\n return new ToolItemDef({\r\n toolId: MeasureLocationTool.toolId,\r\n iconSpec: MeasureLocationTool.iconSpec,\r\n label: MeasureLocationTool.flyover,\r\n description: MeasureLocationTool.description,\r\n execute: async () => {\r\n return IModelApp.tools.run(MeasureLocationTool.toolId);\r\n },\r\n });\r\n }\r\n\r\n public static get measureToolGroup() {\r\n MeasureDistanceTool.register();\r\n MeasureLocationTool.register();\r\n\r\n return new GroupItemDef({\r\n groupId: \"measureTools-group\",\r\n labelKey: \"UiFramework:tools.measureTools\",\r\n iconSpec: \"icon-measure\",\r\n items: [this.measureDistanceToolItemDef, this.measureLocationToolItemDef],\r\n itemsInColumn: 2,\r\n });\r\n }\r\n\r\n public static get clearSelectionItemDef() {\r\n return new CommandItemDef({\r\n commandId: \"UiFramework.ClearSelection\",\r\n iconSpec: \"icon-selection-clear\",\r\n labelKey: \"UiFramework:buttons.clearSelection\",\r\n stateSyncIds: getSelectionContextSyncEventIds(),\r\n stateFunc: selectionContextStateFunc,\r\n isHidden: getIsHiddenIfSelectionNotActive(),\r\n execute: async () => {\r\n const iModelConnection = UiFramework.getIModelConnection();\r\n if (iModelConnection) {\r\n iModelConnection.selectionSet.emptyAll();\r\n }\r\n const tool = IModelApp.toolAdmin.primitiveTool;\r\n if (tool)\r\n await tool.onRestartTool();\r\n else\r\n await IModelApp.toolAdmin.startDefaultTool();\r\n },\r\n });\r\n }\r\n\r\n public static get restoreFrontstageLayoutCommandItemDef() {\r\n return new ToolItemDef({\r\n toolId: RestoreFrontstageLayoutTool.toolId,\r\n iconSpec: RestoreFrontstageLayoutTool.iconSpec,\r\n label: RestoreFrontstageLayoutTool.flyover,\r\n description: RestoreFrontstageLayoutTool.description,\r\n execute: async () => {\r\n return IModelApp.tools.run(RestoreFrontstageLayoutTool.toolId);\r\n },\r\n });\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"CoreToolDefinitions.js","sourceRoot":"","sources":["../../../../src/appui-react/tools/CoreToolDefinitions.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Tools\r\n */\r\n\r\nimport * as React from \"react\";\r\n// cSpell:ignore configurableui keyinbrowser\r\nimport {\r\n FitViewTool, FlyViewTool, IModelApp, MeasureDistanceTool, MeasureLocationTool, PanViewTool, RotateViewTool, SelectionTool, SetupWalkCameraTool,\r\n ViewClipByElementTool, ViewClipByPlaneTool, ViewClipByRangeTool, ViewClipByShapeTool, ViewClipDecorationProvider, ViewRedoTool, ViewToggleCameraTool,\r\n ViewUndoTool, WalkViewTool, WindowAreaTool, ZoomViewTool,\r\n} from \"@itwin/core-frontend\";\r\nimport { ConditionalBooleanValue, ConditionalStringValue, IconSpecUtilities } from \"@itwin/appui-abstract\";\r\nimport { ToolbarPopupContext } from \"@itwin/components-react\";\r\nimport { PopupButton, PopupButtonChildrenRenderPropArgs } from \"../toolbar/PopupButton\";\r\nimport { ContentViewManager } from \"../content/ContentViewManager\";\r\nimport { KeyinBrowser } from \"../keyinbrowser/KeyinBrowser\";\r\nimport { getIsHiddenIfSelectionNotActive, getSelectionContextSyncEventIds, selectionContextStateFunc } from \"../selection/SelectionContextItemDef\";\r\nimport { CommandItemDef } from \"../shared/CommandItemDef\";\r\nimport { CustomItemDef } from \"../shared/CustomItemDef\";\r\nimport { BaseItemState } from \"../shared/ItemDefBase\";\r\nimport { ToolItemDef } from \"../shared/ToolItemDef\";\r\nimport { SyncUiEventId } from \"../syncui/SyncUiEventDispatcher\";\r\nimport { GroupItemDef } from \"../toolbar/GroupItem\";\r\nimport { RestoreFrontstageLayoutTool } from \"./RestoreLayoutTool\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport cameraAnimationIcon from \"@itwin/itwinui-icons/icons/camera-animation.svg\";\r\nimport cameraAnimationDisabledIcon from \"@itwin/itwinui-icons/icons/camera-animation-disabled.svg\";\r\n\r\n/* eslint-disable deprecation/deprecation */\r\n\r\n/** Utility Class that provides definitions of tools provided by the ($core-frontend) core. These definitions can be used to populate the UI.\r\n * @public\r\n */\r\n// istanbul ignore next\r\nexport class CoreTools {\r\n /** Get the CustomItemDef for PopupButton\r\n * @deprecated\r\n * @public\r\n */\r\n public static get keyinBrowserButtonItemDef() {\r\n return new CustomItemDef({\r\n customId: \"uif:keyinbrowser\",\r\n iconSpec: \"icon-process\",\r\n labelKey: \"UiFramework:keyinbrowser.label\",\r\n popupPanelNode: <ToolbarPopupContext.Consumer>\r\n {({ closePanel }) => (\r\n <KeyinBrowser onExecute={closePanel} onCancel={closePanel} />\r\n )}\r\n </ToolbarPopupContext.Consumer>,\r\n // DEPRECATED way\r\n reactElement: (\r\n <PopupButton iconSpec=\"icon-process\" labelKey=\"UiFramework:keyinbrowser.label\">\r\n {this._renderKeyInBrowser}\r\n </PopupButton>\r\n ),\r\n });\r\n }\r\n\r\n // istanbul ignore next\r\n private static _renderKeyInBrowser = ({ closePanel }: PopupButtonChildrenRenderPropArgs) => {\r\n return (\r\n <KeyinBrowser onExecute={closePanel} onCancel={closePanel} />\r\n );\r\n };\r\n\r\n public static get keyinPaletteButtonItemDef() {\r\n return new ToolItemDef({\r\n toolId: \"uif:keyinpalette\",\r\n iconSpec: \"icon-process\",\r\n labelKey: \"UiFramework:keyinbrowser.label\",\r\n execute: () => { IModelApp.uiAdmin.showKeyinPalette(); },\r\n });\r\n }\r\n\r\n public static get fitViewCommand() {\r\n return new ToolItemDef({\r\n toolId: FitViewTool.toolId,\r\n iconSpec: FitViewTool.iconSpec,\r\n label: FitViewTool.flyover,\r\n description: FitViewTool.description,\r\n execute: async () => IModelApp.tools.run(FitViewTool.toolId, IModelApp.viewManager.selectedView, true),\r\n });\r\n }\r\n\r\n public static get windowAreaCommand() {\r\n return new ToolItemDef({\r\n toolId: WindowAreaTool.toolId,\r\n iconSpec: WindowAreaTool.iconSpec,\r\n label: WindowAreaTool.flyover,\r\n description: WindowAreaTool.description,\r\n execute: async () => IModelApp.tools.run(WindowAreaTool.toolId, IModelApp.viewManager.selectedView),\r\n });\r\n }\r\n\r\n public static get zoomViewCommand() {\r\n return new ToolItemDef({\r\n toolId: ZoomViewTool.toolId,\r\n iconSpec: ZoomViewTool.iconSpec,\r\n label: ZoomViewTool.flyover,\r\n description: ZoomViewTool.description,\r\n execute: async () => IModelApp.tools.run(ZoomViewTool.toolId, IModelApp.viewManager.selectedView),\r\n });\r\n }\r\n\r\n public static get panViewCommand() {\r\n return new ToolItemDef({\r\n toolId: PanViewTool.toolId,\r\n iconSpec: PanViewTool.iconSpec,\r\n label: PanViewTool.flyover,\r\n description: PanViewTool.description,\r\n execute: async () => IModelApp.tools.run(PanViewTool.toolId, IModelApp.viewManager.selectedView),\r\n });\r\n }\r\n\r\n public static get rotateViewCommand() {\r\n return new ToolItemDef({\r\n toolId: RotateViewTool.toolId,\r\n iconSpec: new ConditionalStringValue(() => {\r\n const activeContentControl = ContentViewManager.getActiveContentControl();\r\n if (activeContentControl?.viewport?.view.is2d())\r\n return \"icon-rotate-left\";\r\n return \"icon-gyroscope\";\r\n }, [SyncUiEventId.ActiveContentChanged, SyncUiEventId.ActiveViewportChanged, SyncUiEventId.ViewStateChanged]),\r\n label: RotateViewTool.flyover,\r\n description: RotateViewTool.description,\r\n execute: async () => IModelApp.tools.run(RotateViewTool.toolId, IModelApp.viewManager.selectedView),\r\n });\r\n }\r\n\r\n public static get walkViewCommand() {\r\n return new ToolItemDef({\r\n toolId: WalkViewTool.toolId,\r\n iconSpec: WalkViewTool.iconSpec,\r\n label: WalkViewTool.flyover,\r\n description: WalkViewTool.description,\r\n isHidden: new ConditionalBooleanValue(() => {\r\n const activeContentControl = ContentViewManager.getActiveContentControl();\r\n return !!activeContentControl?.viewport?.view.is2d();\r\n }, [SyncUiEventId.ActiveContentChanged, SyncUiEventId.ActiveViewportChanged, SyncUiEventId.ViewStateChanged]),\r\n execute: async () => IModelApp.tools.run(WalkViewTool.toolId, IModelApp.viewManager.selectedView),\r\n });\r\n }\r\n\r\n public static get selectElementCommand() {\r\n return new ToolItemDef({\r\n toolId: SelectionTool.toolId,\r\n iconSpec: SelectionTool.iconSpec,\r\n label: SelectionTool.flyover,\r\n description: SelectionTool.description,\r\n execute: async () => IModelApp.tools.run(SelectionTool.toolId),\r\n });\r\n }\r\n\r\n public static get setupCameraWalkTool() {\r\n return new ToolItemDef({\r\n toolId: SetupWalkCameraTool.toolId,\r\n iconSpec: SetupWalkCameraTool.iconSpec,\r\n label: SetupWalkCameraTool.flyover,\r\n description: SetupWalkCameraTool.description,\r\n execute: async () => IModelApp.tools.run(SetupWalkCameraTool.toolId),\r\n });\r\n }\r\n\r\n public static get toggleCameraViewCommand() {\r\n return new ToolItemDef({\r\n toolId: ViewToggleCameraTool.toolId,\r\n iconSpec: new ConditionalStringValue(() => {\r\n const activeContentControl = ContentViewManager.getActiveContentControl();\r\n if (activeContentControl?.viewport?.view.is3d() && activeContentControl?.viewport?.isCameraOn) {\r\n return IconSpecUtilities.createWebComponentIconSpec(cameraAnimationIcon);\r\n }\r\n return IconSpecUtilities.createWebComponentIconSpec(cameraAnimationDisabledIcon);\r\n }, [SyncUiEventId.ActiveContentChanged, SyncUiEventId.ActiveViewportChanged, SyncUiEventId.ViewStateChanged]),\r\n label: new ConditionalStringValue(() => {\r\n const activeContentControl = ContentViewManager.getActiveContentControl();\r\n if (activeContentControl?.viewport?.view.is3d() && activeContentControl?.viewport?.isCameraOn) {\r\n return UiFramework.translate(\"tools.View.ToggleCamera.turnOffFlyover\");\r\n }\r\n return UiFramework.translate(\"tools.View.ToggleCamera.turnOnFlyover\");\r\n }, [SyncUiEventId.ActiveContentChanged, SyncUiEventId.ActiveViewportChanged, SyncUiEventId.ViewStateChanged]),\r\n description: ViewToggleCameraTool.description,\r\n isHidden: new ConditionalBooleanValue(() => {\r\n const activeContentControl = ContentViewManager.getActiveContentControl();\r\n return !(activeContentControl?.viewport?.view.is3d() && activeContentControl?.viewport?.view.supportsCamera());\r\n }, [SyncUiEventId.ActiveContentChanged, SyncUiEventId.ActiveViewportChanged, SyncUiEventId.ViewStateChanged]),\r\n execute: async () => IModelApp.tools.run(ViewToggleCameraTool.toolId, IModelApp.viewManager.selectedView),\r\n });\r\n }\r\n\r\n public static get flyViewCommand() {\r\n return new ToolItemDef({\r\n toolId: FlyViewTool.toolId,\r\n iconSpec: FlyViewTool.iconSpec,\r\n label: FlyViewTool.flyover,\r\n description: FlyViewTool.description,\r\n execute: async () => IModelApp.tools.run(FlyViewTool.toolId, IModelApp.viewManager.selectedView),\r\n });\r\n }\r\n\r\n // TODO - Need to provide a sync message that is fired when the Undo/Redo button needs to be refreshed in the\r\n // active view.\r\n public static get viewUndoCommand() {\r\n return new ToolItemDef({\r\n toolId: ViewUndoTool.toolId,\r\n isDisabled: new ConditionalBooleanValue(() => {\r\n const activeContentControl = ContentViewManager.getActiveContentControl();\r\n if (activeContentControl && activeContentControl.viewport)\r\n return !activeContentControl.viewport.isUndoPossible;\r\n return false;\r\n }, [SyncUiEventId.ActiveContentChanged, SyncUiEventId.ActiveViewportChanged, SyncUiEventId.ViewStateChanged]),\r\n iconSpec: ViewUndoTool.iconSpec,\r\n label: ViewUndoTool.flyover,\r\n description: ViewUndoTool.description,\r\n execute: async () =>\r\n IModelApp.tools.run(ViewUndoTool.toolId, IModelApp.viewManager.selectedView)\r\n ,\r\n stateSyncIds: [SyncUiEventId.ActiveContentChanged, SyncUiEventId.ActiveViewportChanged, SyncUiEventId.ViewStateChanged],\r\n stateFunc: (currentState: Readonly<BaseItemState>): BaseItemState => {\r\n const returnState: BaseItemState = { ...currentState };\r\n const activeContentControl = ContentViewManager.getActiveContentControl();\r\n if (activeContentControl && activeContentControl.viewport)\r\n returnState.isEnabled = activeContentControl.viewport.isUndoPossible;\r\n return returnState;\r\n },\r\n });\r\n }\r\n\r\n public static get viewRedoCommand() {\r\n return new ToolItemDef({\r\n toolId: ViewRedoTool.toolId,\r\n iconSpec: ViewRedoTool.iconSpec,\r\n label: ViewRedoTool.flyover,\r\n description: ViewRedoTool.description,\r\n execute: async () => IModelApp.tools.run(ViewRedoTool.toolId, IModelApp.viewManager.selectedView),\r\n isDisabled: new ConditionalBooleanValue(() => {\r\n const activeContentControl = ContentViewManager.getActiveContentControl();\r\n if (activeContentControl && activeContentControl.viewport)\r\n return !activeContentControl.viewport.isRedoPossible;\r\n return false;\r\n }, [SyncUiEventId.ActiveContentChanged, SyncUiEventId.ActiveViewportChanged, SyncUiEventId.ViewStateChanged]),\r\n stateSyncIds: [SyncUiEventId.ActiveContentChanged, SyncUiEventId.ActiveViewportChanged, SyncUiEventId.ViewStateChanged],\r\n stateFunc: (currentState: Readonly<BaseItemState>): BaseItemState => {\r\n const returnState: BaseItemState = { ...currentState };\r\n const activeContentControl = ContentViewManager.getActiveContentControl();\r\n if (activeContentControl && activeContentControl.viewport)\r\n returnState.isEnabled = activeContentControl.viewport.isRedoPossible;\r\n return returnState;\r\n },\r\n });\r\n }\r\n\r\n private static turnOnClipVolume() {\r\n const vp = IModelApp.viewManager.selectedView;\r\n if (!vp || !vp.view.is3d())\r\n return;\r\n\r\n // Turn on clip volume flag for section tools\r\n vp.viewFlags = vp.viewFlags.with(\"clipVolume\", true);\r\n }\r\n\r\n // note current ViewClipByPlaneTool is not automatically registered so the app must call ViewClipByPlaneTool.register();\r\n public static get sectionByPlaneCommandItemDef() {\r\n return new ToolItemDef({\r\n toolId: ViewClipByPlaneTool.toolId,\r\n iconSpec: ViewClipByPlaneTool.iconSpec,\r\n label: ViewClipByPlaneTool.flyover,\r\n description: ViewClipByPlaneTool.description,\r\n execute: async () => {\r\n this.turnOnClipVolume();\r\n return IModelApp.tools.run(ViewClipByPlaneTool.toolId, ViewClipDecorationProvider.create());\r\n },\r\n });\r\n }\r\n\r\n // note current ViewClipByElementTool is not automatically registered so the app must call ViewClipByElementTool.register();\r\n public static get sectionByElementCommandItemDef() {\r\n return new ToolItemDef({\r\n toolId: ViewClipByElementTool.toolId,\r\n iconSpec: ViewClipByElementTool.iconSpec,\r\n label: ViewClipByElementTool.flyover,\r\n description: ViewClipByElementTool.description,\r\n execute: async () => {\r\n this.turnOnClipVolume();\r\n return IModelApp.tools.run(ViewClipByElementTool.toolId, ViewClipDecorationProvider.create());\r\n },\r\n });\r\n }\r\n\r\n // note current ViewClipByRangeTool is not automatically registered so the app must call ViewClipByRangeTool.register();\r\n public static get sectionByRangeCommandItemDef() {\r\n return new ToolItemDef({\r\n toolId: ViewClipByRangeTool.toolId,\r\n iconSpec: ViewClipByRangeTool.iconSpec,\r\n label: ViewClipByRangeTool.flyover,\r\n description: ViewClipByRangeTool.description,\r\n execute: async () => {\r\n this.turnOnClipVolume();\r\n return IModelApp.tools.run(ViewClipByRangeTool.toolId, ViewClipDecorationProvider.create());\r\n },\r\n });\r\n }\r\n\r\n // note current ViewClipByShapeTool is not automatically registered so the app must call ViewClipByShapeTool.register();\r\n public static get sectionByShapeCommandItemDef() {\r\n return new ToolItemDef({\r\n toolId: ViewClipByShapeTool.toolId,\r\n iconSpec: ViewClipByShapeTool.iconSpec,\r\n label: ViewClipByShapeTool.flyover,\r\n description: ViewClipByShapeTool.description,\r\n execute: async () => {\r\n this.turnOnClipVolume();\r\n return IModelApp.tools.run(ViewClipByShapeTool.toolId, ViewClipDecorationProvider.create());\r\n },\r\n });\r\n }\r\n\r\n public static get sectionToolGroup() {\r\n ViewClipByElementTool.register();\r\n ViewClipByPlaneTool.register();\r\n ViewClipByRangeTool.register();\r\n ViewClipByShapeTool.register();\r\n\r\n return new GroupItemDef({\r\n groupId: \"sectionTools-group\",\r\n labelKey: \"UiFramework:tools.sectionTools\",\r\n iconSpec: \"icon-section-tool\",\r\n isHidden: new ConditionalBooleanValue(() => {\r\n const activeContentControl = ContentViewManager.getActiveContentControl();\r\n return !!activeContentControl?.viewport?.view.is2d();\r\n }, [SyncUiEventId.ActiveContentChanged, SyncUiEventId.ActiveViewportChanged, SyncUiEventId.ViewStateChanged]),\r\n items: [this.sectionByPlaneCommandItemDef, this.sectionByElementCommandItemDef, this.sectionByRangeCommandItemDef, this.sectionByShapeCommandItemDef],\r\n itemsInColumn: 4,\r\n });\r\n }\r\n\r\n public static get sectionToolGroupWithPanel() {\r\n ViewClipByElementTool.register();\r\n ViewClipByPlaneTool.register();\r\n ViewClipByRangeTool.register();\r\n ViewClipByShapeTool.register();\r\n\r\n return new GroupItemDef({\r\n groupId: \"sectionTools-group-with-panel\",\r\n labelKey: \"UiFramework:tools.sectionTools\",\r\n panelLabelKey: \"UiFramework:tools.sectionPanelLabel\",\r\n iconSpec: \"icon-section-tool\",\r\n isHidden: new ConditionalBooleanValue(() => {\r\n const activeContentControl = ContentViewManager.getActiveContentControl();\r\n return !!activeContentControl?.viewport?.view.is2d();\r\n }, [SyncUiEventId.ActiveContentChanged, SyncUiEventId.ActiveViewportChanged, SyncUiEventId.ViewStateChanged]),\r\n items: [\r\n new ToolItemDef({\r\n ...this.sectionByPlaneCommandItemDef,\r\n labelKey: \"UiFramework:tools.sectionByPlane\",\r\n }),\r\n new ToolItemDef({\r\n ...this.sectionByElementCommandItemDef,\r\n labelKey: \"UiFramework:tools.sectionByElement\",\r\n }),\r\n new ToolItemDef({\r\n ...this.sectionByRangeCommandItemDef,\r\n labelKey: \"UiFramework:tools.sectionByRange\",\r\n }),\r\n new ToolItemDef({\r\n ...this.sectionByShapeCommandItemDef,\r\n labelKey: \"UiFramework:tools.sectionByShape\",\r\n }),\r\n ],\r\n itemsInColumn: 4,\r\n });\r\n\r\n }\r\n\r\n // note current MeasureDistanceTool is not automatically registered so the app must call MeasureDistanceTool.register();\r\n public static get measureDistanceToolItemDef() {\r\n return new ToolItemDef({\r\n toolId: MeasureDistanceTool.toolId,\r\n iconSpec: MeasureDistanceTool.iconSpec,\r\n label: MeasureDistanceTool.flyover,\r\n description: MeasureDistanceTool.description,\r\n execute: async () => {\r\n return IModelApp.tools.run(MeasureDistanceTool.toolId);\r\n },\r\n });\r\n }\r\n\r\n // note current MeasureLocationTool is not automatically registered so the app must call MeasureLocationTool.register();\r\n public static get measureLocationToolItemDef() {\r\n return new ToolItemDef({\r\n toolId: MeasureLocationTool.toolId,\r\n iconSpec: MeasureLocationTool.iconSpec,\r\n label: MeasureLocationTool.flyover,\r\n description: MeasureLocationTool.description,\r\n execute: async () => {\r\n return IModelApp.tools.run(MeasureLocationTool.toolId);\r\n },\r\n });\r\n }\r\n\r\n public static get measureToolGroup() {\r\n MeasureDistanceTool.register();\r\n MeasureLocationTool.register();\r\n\r\n return new GroupItemDef({\r\n groupId: \"measureTools-group\",\r\n labelKey: \"UiFramework:tools.measureTools\",\r\n iconSpec: \"icon-measure\",\r\n items: [this.measureDistanceToolItemDef, this.measureLocationToolItemDef],\r\n itemsInColumn: 2,\r\n });\r\n }\r\n\r\n public static get clearSelectionItemDef() {\r\n return new CommandItemDef({\r\n commandId: \"UiFramework.ClearSelection\",\r\n iconSpec: \"icon-selection-clear\",\r\n labelKey: \"UiFramework:buttons.clearSelection\",\r\n stateSyncIds: getSelectionContextSyncEventIds(),\r\n stateFunc: selectionContextStateFunc,\r\n isHidden: getIsHiddenIfSelectionNotActive(),\r\n execute: async () => {\r\n const iModelConnection = UiFramework.getIModelConnection();\r\n if (iModelConnection) {\r\n iModelConnection.selectionSet.emptyAll();\r\n }\r\n const tool = IModelApp.toolAdmin.primitiveTool;\r\n if (tool)\r\n await tool.onRestartTool();\r\n else\r\n await IModelApp.toolAdmin.startDefaultTool();\r\n },\r\n });\r\n }\r\n\r\n public static get restoreFrontstageLayoutCommandItemDef() {\r\n return new ToolItemDef({\r\n toolId: RestoreFrontstageLayoutTool.toolId,\r\n iconSpec: RestoreFrontstageLayoutTool.iconSpec,\r\n label: RestoreFrontstageLayoutTool.flyover,\r\n description: RestoreFrontstageLayoutTool.description,\r\n execute: async () => {\r\n return IModelApp.tools.run(RestoreFrontstageLayoutTool.toolId);\r\n },\r\n });\r\n }\r\n}\r\n"]}
|
|
@@ -9,6 +9,7 @@ import { FrameworkVersionId, UserSettingsProvider } from "../UiFramework";
|
|
|
9
9
|
export interface InitialAppUiSettings {
|
|
10
10
|
colorTheme: string;
|
|
11
11
|
dragInteraction: boolean;
|
|
12
|
+
/** @deprecated UI1.0 is deprecated. */
|
|
12
13
|
frameworkVersion: FrameworkVersionId;
|
|
13
14
|
widgetOpacity: number;
|
|
14
15
|
showWidgetIcon?: boolean;
|
|
@@ -36,6 +37,7 @@ export declare class AppUiSettings implements UserSettingsProvider {
|
|
|
36
37
|
private _applyingLocalSettings;
|
|
37
38
|
colorTheme: UiStateEntry<string>;
|
|
38
39
|
dragInteraction: UiStateEntry<boolean>;
|
|
40
|
+
/** @deprecated */
|
|
39
41
|
frameworkVersion: UiStateEntry<FrameworkVersionId>;
|
|
40
42
|
widgetOpacity: UiStateEntry<number>;
|
|
41
43
|
showWidgetIcon: UiStateEntry<boolean>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppUiSettings.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/uistate/AppUiSettings.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGjE,OAAO,EAAE,kBAAkB,EAAe,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAIvF;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,OAAO,CAAC;IACzB,gBAAgB,EAAE,kBAAkB,CAAC;IACrC,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa;IACb,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;;GAUG;AACH,qBAAa,aAAc,YAAW,oBAAoB;IACxD,SAAgB,UAAU,2BAA2B;IAErD,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAmB;IACnD,OAAO,CAAC,SAAS,CAAgC;IACjD,OAAO,CAAC,sBAAsB,CAAS;IAEhC,UAAU,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IACjC,eAAe,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"AppUiSettings.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/uistate/AppUiSettings.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGjE,OAAO,EAAE,kBAAkB,EAAe,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAIvF;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,OAAO,CAAC;IACzB,uCAAuC;IACvC,gBAAgB,EAAE,kBAAkB,CAAC;IACrC,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa;IACb,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;;GAUG;AACH,qBAAa,aAAc,YAAW,oBAAoB;IACxD,SAAgB,UAAU,2BAA2B;IAErD,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAmB;IACnD,OAAO,CAAC,SAAS,CAAgC;IACjD,OAAO,CAAC,sBAAsB,CAAS;IAEhC,UAAU,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IACjC,eAAe,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;IAC9C,kBAAkB;IACX,gBAAgB,EAAE,YAAY,CAAC,kBAAkB,CAAC,CAAC;IACnD,aAAa,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IACpC,cAAc,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;IACtC,0BAA0B,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;IAClD,mBAAmB,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;IAC3C,0BAA0B,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;IAClD,cAAc,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IAE5C,OAAO,CAAC,aAAa,CAInB;gBAEU,QAAQ,EAAE,OAAO,CAAC,oBAAoB,CAAC;IA+CnD,OAAO,CAAC,iBAAiB,CAiCvB;IAEW,KAAK,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ7C,gBAAgB,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;CAGtE"}
|
|
@@ -43,7 +43,7 @@ class AppUiSettings {
|
|
|
43
43
|
if (args.eventIds.has("configurableui:set-drag-interaction"))
|
|
44
44
|
await this.dragInteraction.saveSetting(UiFramework_1.UiFramework.getUiStateStorage());
|
|
45
45
|
if (args.eventIds.has("configurableui:set-framework-version"))
|
|
46
|
-
await this.frameworkVersion.saveSetting(UiFramework_1.UiFramework.getUiStateStorage());
|
|
46
|
+
await this.frameworkVersion.saveSetting(UiFramework_1.UiFramework.getUiStateStorage()); // eslint-disable-line deprecation/deprecation
|
|
47
47
|
if (args.eventIds.has("configurableui:set-show-widget-icon"))
|
|
48
48
|
await this.showWidgetIcon.saveSetting(UiFramework_1.UiFramework.getUiStateStorage());
|
|
49
49
|
if (args.eventIds.has("configurableui:set-auto-collapse-unpinned-panels"))
|
|
@@ -67,8 +67,9 @@ class AppUiSettings {
|
|
|
67
67
|
this.autoCollapseUnpinnedPanels = new core_react_1.UiStateEntry(AppUiSettings._settingNamespace, "AutoCollapseUnpinnedPanels", () => UiFramework_1.UiFramework.autoCollapseUnpinnedPanels, (value) => UiFramework_1.UiFramework.setAutoCollapseUnpinnedPanels(value), defaults.autoCollapseUnpinnedPanels);
|
|
68
68
|
this._settings.push(this.autoCollapseUnpinnedPanels);
|
|
69
69
|
this.frameworkVersion = new core_react_1.UiStateEntry(AppUiSettings._settingNamespace, "FrameworkVersion", // eslint-disable-line deprecation/deprecation
|
|
70
|
-
() => UiFramework_1.UiFramework.uiVersion,
|
|
71
|
-
|
|
70
|
+
() => UiFramework_1.UiFramework.uiVersion, // eslint-disable-line deprecation/deprecation
|
|
71
|
+
(value) => UiFramework_1.UiFramework.setUiVersion(value), defaults.frameworkVersion); // eslint-disable-line deprecation/deprecation
|
|
72
|
+
this._settings.push(this.frameworkVersion); // eslint-disable-line deprecation/deprecation
|
|
72
73
|
this.widgetOpacity = new core_react_1.UiStateEntry(AppUiSettings._settingNamespace, "WidgetOpacity", () => UiFramework_1.UiFramework.getWidgetOpacity(), (value) => UiFramework_1.UiFramework.setWidgetOpacity(value), defaults.widgetOpacity);
|
|
73
74
|
this._settings.push(this.widgetOpacity);
|
|
74
75
|
this.animateToolSettings = new core_react_1.UiStateEntry(AppUiSettings._settingNamespace, "AnimateToolSettings", () => UiFramework_1.UiFramework.animateToolSettings, (value) => UiFramework_1.UiFramework.setAnimateToolSettings(value), defaults.animateToolSettings);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppUiSettings.js","sourceRoot":"","sources":["../../../../src/appui-react/uistate/AppUiSettings.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 Settings\r\n */\r\n\r\nimport { UiStateEntry, UiStateStorage } from \"@itwin/core-react\";\r\nimport { UiSyncEventArgs } from \"@itwin/appui-abstract\";\r\nimport { SyncUiEventDispatcher } from \"../syncui/SyncUiEventDispatcher\";\r\nimport { FrameworkVersionId, UiFramework, UserSettingsProvider } from \"../UiFramework\";\r\n\r\n// cSpell:ignore configurableui\r\n\r\n/** Default values that may be specified for [[AppUiSettings]].\r\n * @public\r\n */\r\nexport interface InitialAppUiSettings {\r\n colorTheme: string;\r\n dragInteraction: boolean;\r\n frameworkVersion: FrameworkVersionId; // eslint-disable-line deprecation/deprecation\r\n widgetOpacity: number;\r\n showWidgetIcon?: boolean;\r\n /** @alpha */\r\n autoCollapseUnpinnedPanels?: boolean;\r\n animateToolSettings?: boolean;\r\n useToolAsToolSettingsLabel?: boolean;\r\n toolbarOpacity: number;\r\n}\r\n\r\n/** These are the UI settings that are stored in the Redux store. They control the color theme, the UI version,\r\n * how toolbar group buttons work, and the opacity of widgets in 1.0 and floating widget in 2.0 when the cursor\r\n * is not inside them. It is expect that an IModelApp using App UI components will create and register AppUiSettings with\r\n * defaults specific to their application. This would be done by calling the following.\r\n *\r\n * ```ts\r\n * UiFramework.registerUserSettingsProvider(new AppUiSettings(defaults));\r\n * ```\r\n *\r\n * @public\r\n */\r\nexport class AppUiSettings implements UserSettingsProvider {\r\n public readonly providerId = \"AppUiSettingsProvider\";\r\n\r\n private static _settingNamespace = \"AppUiSettings\";\r\n private _settings: Array<UiStateEntry<any>> = [];\r\n private _applyingLocalSettings = false;\r\n\r\n public colorTheme: UiStateEntry<string>;\r\n public dragInteraction: UiStateEntry<boolean>;\r\n public frameworkVersion: UiStateEntry<FrameworkVersionId>; // eslint-disable-line deprecation/deprecation\r\n public widgetOpacity: UiStateEntry<number>;\r\n public showWidgetIcon: UiStateEntry<boolean>;\r\n public autoCollapseUnpinnedPanels: UiStateEntry<boolean>;\r\n public animateToolSettings: UiStateEntry<boolean>;\r\n public useToolAsToolSettingsLabel: UiStateEntry<boolean>;\r\n public toolbarOpacity: UiStateEntry<number>;\r\n\r\n private setColorTheme = (theme: string) => {\r\n UiFramework.setColorTheme(theme);\r\n // always store to local storage to avoid flicker during startup if user is not yet logged-in\r\n window.localStorage.setItem(\"uifw:defaultTheme\", theme);\r\n };\r\n\r\n constructor(defaults: Partial<InitialAppUiSettings>) {\r\n this._settings = [];\r\n\r\n this.colorTheme = new UiStateEntry<string>(AppUiSettings._settingNamespace, \"ColorTheme\", UiFramework.getColorTheme, this.setColorTheme, defaults.colorTheme);\r\n this._settings.push(this.colorTheme);\r\n\r\n this.dragInteraction = new UiStateEntry<boolean>(AppUiSettings._settingNamespace, \"DragInteraction\",\r\n () => UiFramework.useDragInteraction,\r\n (value: boolean) => UiFramework.setUseDragInteraction(value), defaults.dragInteraction);\r\n this._settings.push(this.dragInteraction);\r\n\r\n this.showWidgetIcon = new UiStateEntry<boolean>(AppUiSettings._settingNamespace, \"ShowWidgetIcon\",\r\n () => UiFramework.showWidgetIcon,\r\n (value: boolean) => UiFramework.setShowWidgetIcon(value), defaults.showWidgetIcon);\r\n this._settings.push(this.showWidgetIcon);\r\n\r\n this.autoCollapseUnpinnedPanels = new UiStateEntry<boolean>(AppUiSettings._settingNamespace, \"AutoCollapseUnpinnedPanels\",\r\n () => UiFramework.autoCollapseUnpinnedPanels,\r\n (value: boolean) => UiFramework.setAutoCollapseUnpinnedPanels(value), defaults.autoCollapseUnpinnedPanels);\r\n this._settings.push(this.autoCollapseUnpinnedPanels);\r\n\r\n this.frameworkVersion = new UiStateEntry<FrameworkVersionId>(AppUiSettings._settingNamespace, \"FrameworkVersion\", // eslint-disable-line deprecation/deprecation\r\n () => UiFramework.uiVersion,\r\n (value: FrameworkVersionId) => UiFramework.setUiVersion(value), defaults.frameworkVersion); // eslint-disable-line deprecation/deprecation\r\n this._settings.push(this.frameworkVersion);\r\n\r\n this.widgetOpacity = new UiStateEntry<number>(AppUiSettings._settingNamespace, \"WidgetOpacity\",\r\n () => UiFramework.getWidgetOpacity(), (value: number) => UiFramework.setWidgetOpacity(value), defaults.widgetOpacity);\r\n this._settings.push(this.widgetOpacity);\r\n\r\n this.animateToolSettings = new UiStateEntry<boolean>(AppUiSettings._settingNamespace, \"AnimateToolSettings\",\r\n () => UiFramework.animateToolSettings,\r\n (value: boolean) => UiFramework.setAnimateToolSettings(value), defaults.animateToolSettings);\r\n this._settings.push(this.animateToolSettings);\r\n\r\n this.useToolAsToolSettingsLabel = new UiStateEntry<boolean>(AppUiSettings._settingNamespace, \"UseToolAsToolSettingsLabel\",\r\n () => UiFramework.useToolAsToolSettingsLabel,\r\n (value: boolean) => UiFramework.setUseToolAsToolSettingsLabel(value), defaults.useToolAsToolSettingsLabel);\r\n this._settings.push(this.useToolAsToolSettingsLabel);\r\n\r\n this.toolbarOpacity = new UiStateEntry<number>(AppUiSettings._settingNamespace, \"ToolOpacity\",\r\n () => UiFramework.getToolbarOpacity(), (value: number) => UiFramework.setToolbarOpacity(value), defaults.toolbarOpacity);\r\n this._settings.push(this.toolbarOpacity);\r\n\r\n SyncUiEventDispatcher.onSyncUiEvent.addListener(this.handleSyncUiEvent);\r\n }\r\n\r\n private handleSyncUiEvent = async (args: UiSyncEventArgs) => {\r\n if (this._applyingLocalSettings)\r\n return;\r\n\r\n if (args.eventIds.has(\"configurableui:set_theme\")) {\r\n await this.colorTheme.saveSetting(UiFramework.getUiStateStorage());\r\n // always store as default theme in local storage to avoid flicker during startup if user is not yet logged-in\r\n window.localStorage.setItem(\"uifw:defaultTheme\", UiFramework.getColorTheme());\r\n }\r\n\r\n if (args.eventIds.has(\"configurableui:set-drag-interaction\"))\r\n await this.dragInteraction.saveSetting(UiFramework.getUiStateStorage());\r\n\r\n if (args.eventIds.has(\"configurableui:set-framework-version\"))\r\n await this.frameworkVersion.saveSetting(UiFramework.getUiStateStorage());\r\n\r\n if (args.eventIds.has(\"configurableui:set-show-widget-icon\"))\r\n await this.showWidgetIcon.saveSetting(UiFramework.getUiStateStorage());\r\n\r\n if (args.eventIds.has(\"configurableui:set-auto-collapse-unpinned-panels\"))\r\n await this.autoCollapseUnpinnedPanels.saveSetting(UiFramework.getUiStateStorage());\r\n\r\n if (args.eventIds.has(\"configurableui:set_widget_opacity\"))\r\n await this.widgetOpacity.saveSetting(UiFramework.getUiStateStorage());\r\n\r\n if (args.eventIds.has(\"configurableui:set-animate-tool-settings\"))\r\n await this.animateToolSettings.saveSetting(UiFramework.getUiStateStorage());\r\n\r\n if (args.eventIds.has(\"configurableui:set-use-tool-as-tool-settings-label\"))\r\n await this.useToolAsToolSettingsLabel.saveSetting(UiFramework.getUiStateStorage());\r\n\r\n if (args.eventIds.has(\"configurableui:set-toolbar-opacity\"))\r\n await this.toolbarOpacity.saveSetting(UiFramework.getUiStateStorage());\r\n };\r\n\r\n public async apply(storage: UiStateStorage): Promise<void> {\r\n this._applyingLocalSettings = true;\r\n for await (const setting of this._settings) {\r\n await setting.getSettingAndApplyValue(storage);\r\n }\r\n this._applyingLocalSettings = false;\r\n }\r\n\r\n public async loadUserSettings(storage: UiStateStorage): Promise<void> {\r\n await this.apply(storage);\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"AppUiSettings.js","sourceRoot":"","sources":["../../../../src/appui-react/uistate/AppUiSettings.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 Settings\r\n */\r\n\r\nimport { UiStateEntry, UiStateStorage } from \"@itwin/core-react\";\r\nimport { UiSyncEventArgs } from \"@itwin/appui-abstract\";\r\nimport { SyncUiEventDispatcher } from \"../syncui/SyncUiEventDispatcher\";\r\nimport { FrameworkVersionId, UiFramework, UserSettingsProvider } from \"../UiFramework\";\r\n\r\n// cSpell:ignore configurableui\r\n\r\n/** Default values that may be specified for [[AppUiSettings]].\r\n * @public\r\n */\r\nexport interface InitialAppUiSettings {\r\n colorTheme: string;\r\n dragInteraction: boolean;\r\n /** @deprecated UI1.0 is deprecated. */\r\n frameworkVersion: FrameworkVersionId; // eslint-disable-line deprecation/deprecation\r\n widgetOpacity: number;\r\n showWidgetIcon?: boolean;\r\n /** @alpha */\r\n autoCollapseUnpinnedPanels?: boolean;\r\n animateToolSettings?: boolean;\r\n useToolAsToolSettingsLabel?: boolean;\r\n toolbarOpacity: number;\r\n}\r\n\r\n/** These are the UI settings that are stored in the Redux store. They control the color theme, the UI version,\r\n * how toolbar group buttons work, and the opacity of widgets in 1.0 and floating widget in 2.0 when the cursor\r\n * is not inside them. It is expect that an IModelApp using App UI components will create and register AppUiSettings with\r\n * defaults specific to their application. This would be done by calling the following.\r\n *\r\n * ```ts\r\n * UiFramework.registerUserSettingsProvider(new AppUiSettings(defaults));\r\n * ```\r\n *\r\n * @public\r\n */\r\nexport class AppUiSettings implements UserSettingsProvider {\r\n public readonly providerId = \"AppUiSettingsProvider\";\r\n\r\n private static _settingNamespace = \"AppUiSettings\";\r\n private _settings: Array<UiStateEntry<any>> = [];\r\n private _applyingLocalSettings = false;\r\n\r\n public colorTheme: UiStateEntry<string>;\r\n public dragInteraction: UiStateEntry<boolean>;\r\n /** @deprecated */\r\n public frameworkVersion: UiStateEntry<FrameworkVersionId>; // eslint-disable-line deprecation/deprecation\r\n public widgetOpacity: UiStateEntry<number>;\r\n public showWidgetIcon: UiStateEntry<boolean>;\r\n public autoCollapseUnpinnedPanels: UiStateEntry<boolean>;\r\n public animateToolSettings: UiStateEntry<boolean>;\r\n public useToolAsToolSettingsLabel: UiStateEntry<boolean>;\r\n public toolbarOpacity: UiStateEntry<number>;\r\n\r\n private setColorTheme = (theme: string) => {\r\n UiFramework.setColorTheme(theme);\r\n // always store to local storage to avoid flicker during startup if user is not yet logged-in\r\n window.localStorage.setItem(\"uifw:defaultTheme\", theme);\r\n };\r\n\r\n constructor(defaults: Partial<InitialAppUiSettings>) {\r\n this._settings = [];\r\n\r\n this.colorTheme = new UiStateEntry<string>(AppUiSettings._settingNamespace, \"ColorTheme\", UiFramework.getColorTheme, this.setColorTheme, defaults.colorTheme);\r\n this._settings.push(this.colorTheme);\r\n\r\n this.dragInteraction = new UiStateEntry<boolean>(AppUiSettings._settingNamespace, \"DragInteraction\",\r\n () => UiFramework.useDragInteraction,\r\n (value: boolean) => UiFramework.setUseDragInteraction(value), defaults.dragInteraction);\r\n this._settings.push(this.dragInteraction);\r\n\r\n this.showWidgetIcon = new UiStateEntry<boolean>(AppUiSettings._settingNamespace, \"ShowWidgetIcon\",\r\n () => UiFramework.showWidgetIcon,\r\n (value: boolean) => UiFramework.setShowWidgetIcon(value), defaults.showWidgetIcon);\r\n this._settings.push(this.showWidgetIcon);\r\n\r\n this.autoCollapseUnpinnedPanels = new UiStateEntry<boolean>(AppUiSettings._settingNamespace, \"AutoCollapseUnpinnedPanels\",\r\n () => UiFramework.autoCollapseUnpinnedPanels,\r\n (value: boolean) => UiFramework.setAutoCollapseUnpinnedPanels(value), defaults.autoCollapseUnpinnedPanels);\r\n this._settings.push(this.autoCollapseUnpinnedPanels);\r\n\r\n this.frameworkVersion = new UiStateEntry<FrameworkVersionId>(AppUiSettings._settingNamespace, \"FrameworkVersion\", // eslint-disable-line deprecation/deprecation\r\n () => UiFramework.uiVersion, // eslint-disable-line deprecation/deprecation\r\n (value: FrameworkVersionId) => UiFramework.setUiVersion(value), defaults.frameworkVersion); // eslint-disable-line deprecation/deprecation\r\n this._settings.push(this.frameworkVersion); // eslint-disable-line deprecation/deprecation\r\n\r\n this.widgetOpacity = new UiStateEntry<number>(AppUiSettings._settingNamespace, \"WidgetOpacity\",\r\n () => UiFramework.getWidgetOpacity(), (value: number) => UiFramework.setWidgetOpacity(value), defaults.widgetOpacity);\r\n this._settings.push(this.widgetOpacity);\r\n\r\n this.animateToolSettings = new UiStateEntry<boolean>(AppUiSettings._settingNamespace, \"AnimateToolSettings\",\r\n () => UiFramework.animateToolSettings,\r\n (value: boolean) => UiFramework.setAnimateToolSettings(value), defaults.animateToolSettings);\r\n this._settings.push(this.animateToolSettings);\r\n\r\n this.useToolAsToolSettingsLabel = new UiStateEntry<boolean>(AppUiSettings._settingNamespace, \"UseToolAsToolSettingsLabel\",\r\n () => UiFramework.useToolAsToolSettingsLabel,\r\n (value: boolean) => UiFramework.setUseToolAsToolSettingsLabel(value), defaults.useToolAsToolSettingsLabel);\r\n this._settings.push(this.useToolAsToolSettingsLabel);\r\n\r\n this.toolbarOpacity = new UiStateEntry<number>(AppUiSettings._settingNamespace, \"ToolOpacity\",\r\n () => UiFramework.getToolbarOpacity(), (value: number) => UiFramework.setToolbarOpacity(value), defaults.toolbarOpacity);\r\n this._settings.push(this.toolbarOpacity);\r\n\r\n SyncUiEventDispatcher.onSyncUiEvent.addListener(this.handleSyncUiEvent);\r\n }\r\n\r\n private handleSyncUiEvent = async (args: UiSyncEventArgs) => {\r\n if (this._applyingLocalSettings)\r\n return;\r\n\r\n if (args.eventIds.has(\"configurableui:set_theme\")) {\r\n await this.colorTheme.saveSetting(UiFramework.getUiStateStorage());\r\n // always store as default theme in local storage to avoid flicker during startup if user is not yet logged-in\r\n window.localStorage.setItem(\"uifw:defaultTheme\", UiFramework.getColorTheme());\r\n }\r\n\r\n if (args.eventIds.has(\"configurableui:set-drag-interaction\"))\r\n await this.dragInteraction.saveSetting(UiFramework.getUiStateStorage());\r\n\r\n if (args.eventIds.has(\"configurableui:set-framework-version\"))\r\n await this.frameworkVersion.saveSetting(UiFramework.getUiStateStorage()); // eslint-disable-line deprecation/deprecation\r\n\r\n if (args.eventIds.has(\"configurableui:set-show-widget-icon\"))\r\n await this.showWidgetIcon.saveSetting(UiFramework.getUiStateStorage());\r\n\r\n if (args.eventIds.has(\"configurableui:set-auto-collapse-unpinned-panels\"))\r\n await this.autoCollapseUnpinnedPanels.saveSetting(UiFramework.getUiStateStorage());\r\n\r\n if (args.eventIds.has(\"configurableui:set_widget_opacity\"))\r\n await this.widgetOpacity.saveSetting(UiFramework.getUiStateStorage());\r\n\r\n if (args.eventIds.has(\"configurableui:set-animate-tool-settings\"))\r\n await this.animateToolSettings.saveSetting(UiFramework.getUiStateStorage());\r\n\r\n if (args.eventIds.has(\"configurableui:set-use-tool-as-tool-settings-label\"))\r\n await this.useToolAsToolSettingsLabel.saveSetting(UiFramework.getUiStateStorage());\r\n\r\n if (args.eventIds.has(\"configurableui:set-toolbar-opacity\"))\r\n await this.toolbarOpacity.saveSetting(UiFramework.getUiStateStorage());\r\n };\r\n\r\n public async apply(storage: UiStateStorage): Promise<void> {\r\n this._applyingLocalSettings = true;\r\n for await (const setting of this._settings) {\r\n await setting.getSettingAndApplyValue(storage);\r\n }\r\n this._applyingLocalSettings = false;\r\n }\r\n\r\n public async loadUserSettings(storage: UiStateStorage): Promise<void> {\r\n await this.apply(storage);\r\n }\r\n}\r\n"]}
|
|
@@ -17,7 +17,7 @@ const StatusBar_1 = require("../statusbar/StatusBar");
|
|
|
17
17
|
/** @internal */
|
|
18
18
|
function WidgetPanelsStatusBar(props) {
|
|
19
19
|
const frontstageDef = (0, Frontstage_1.useActiveFrontstageDef)();
|
|
20
|
-
const zone = frontstageDef === null || frontstageDef === void 0 ? void 0 : frontstageDef.bottomCenter;
|
|
20
|
+
const zone = frontstageDef === null || frontstageDef === void 0 ? void 0 : frontstageDef.bottomCenter; // eslint-disable-line deprecation/deprecation
|
|
21
21
|
let widget = frontstageDef === null || frontstageDef === void 0 ? void 0 : frontstageDef.statusBar;
|
|
22
22
|
if (zone && zone.isStatusBar) {
|
|
23
23
|
widget = zone.getSingleWidgetDef();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StatusBar.js","sourceRoot":"","sources":["../../../../src/appui-react/widget-panels/StatusBar.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,4BAA0B;AAC1B,2CAAoC;AACpC,+BAA+B;AAE/B,mFAAoF;AACpF,yDAAkE;AAClE,sDAAmD;AAGnD,gBAAgB;AAChB,SAAgB,qBAAqB,CAAC,KAAkB;IACtD,MAAM,aAAa,GAAG,IAAA,mCAAsB,GAAE,CAAC;IAC/C,MAAM,IAAI,GAAG,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"StatusBar.js","sourceRoot":"","sources":["../../../../src/appui-react/widget-panels/StatusBar.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,4BAA0B;AAC1B,2CAAoC;AACpC,+BAA+B;AAE/B,mFAAoF;AACpF,yDAAkE;AAClE,sDAAmD;AAGnD,gBAAgB;AAChB,SAAgB,qBAAqB,CAAC,KAAkB;IACtD,MAAM,aAAa,GAAG,IAAA,mCAAsB,GAAE,CAAC;IAC/C,MAAM,IAAI,GAAG,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,YAAY,CAAC,CAAC,8CAA8C;IACxF,IAAI,MAAM,GAAG,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,SAAS,CAAC;IACtC,IAAI,IAAI,IAAI,IAAI,CAAC,WAAW,EAAE;QAC5B,MAAM,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;KACpC;IACD,IAAI,CAAC,MAAM;QACT,OAAO,IAAI,CAAC;IACd,MAAM,SAAS,GAAG,IAAA,oBAAU,EAC1B,6BAA6B,EAC7B,KAAK,CAAC,SAAS,CAChB,CAAC;IACF,OAAO,CACL,oBAAC,qBAAS,IACR,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,cAAc,QACd,aAAa,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,gBAAgB,CAAC,iDAAyB,CAAC,eAAe,CAA2B,GAC5G,CACH,CAAC;AACJ,CAAC;AArBD,sDAqBC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module StatusBar\r\n */\r\n\r\nimport \"./StatusBar.scss\";\r\nimport classnames from \"classnames\";\r\nimport * as React from \"react\";\r\nimport { CommonProps } from \"@itwin/core-react\";\r\nimport { ConfigurableUiControlType } from \"../configurableui/ConfigurableUiControl\";\r\nimport { useActiveFrontstageDef } from \"../frontstage/Frontstage\";\r\nimport { StatusBar } from \"../statusbar/StatusBar\";\r\nimport { StatusBarWidgetControl } from \"../statusbar/StatusBarWidgetControl\";\r\n\r\n/** @internal */\r\nexport function WidgetPanelsStatusBar(props: CommonProps) {\r\n const frontstageDef = useActiveFrontstageDef();\r\n const zone = frontstageDef?.bottomCenter; // eslint-disable-line deprecation/deprecation\r\n let widget = frontstageDef?.statusBar;\r\n if (zone && zone.isStatusBar) {\r\n widget = zone.getSingleWidgetDef();\r\n }\r\n if (!widget)\r\n return null;\r\n const className = classnames(\r\n \"uifw-widgetPanels-statusBar\",\r\n props.className,\r\n );\r\n return (\r\n <StatusBar\r\n className={className}\r\n style={props.style}\r\n isInFooterMode\r\n widgetControl={widget?.getWidgetControl(ConfigurableUiControlType.StatusBarWidget) as StatusBarWidgetControl}\r\n />\r\n );\r\n}\r\n"]}
|
|
@@ -29,7 +29,7 @@ function TsLabel({ children }) {
|
|
|
29
29
|
function WidgetPanelsToolSettings() {
|
|
30
30
|
const frontstageDef = (0, Frontstage_1.useActiveFrontstageDef)();
|
|
31
31
|
const toolSettings = React.useContext(appui_layout_react_1.ToolSettingsStateContext);
|
|
32
|
-
const topCenterZone = frontstageDef === null || frontstageDef === void 0 ? void 0 : frontstageDef.topCenter;
|
|
32
|
+
const topCenterZone = frontstageDef === null || frontstageDef === void 0 ? void 0 : frontstageDef.topCenter; // eslint-disable-line deprecation/deprecation
|
|
33
33
|
if (!topCenterZone || !topCenterZone.isToolSettings || toolSettings.type === "widget")
|
|
34
34
|
return null;
|
|
35
35
|
return (React.createElement(ToolSettingsDockedContent, null));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolSettings.js","sourceRoot":"","sources":["../../../../src/appui-react/widget-panels/ToolSettings.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 ToolSettings\r\n */\r\n\r\nimport \"./ToolSettings.scss\";\r\nimport * as React from \"react\";\r\nimport { IModelApp } from \"@itwin/core-frontend\";\r\nimport { DockedToolSetting, DockedToolSettings, ScrollableWidgetContent, ToolSettingsStateContext } from \"@itwin/appui-layout-react\";\r\nimport { useActiveFrontstageDef } from \"../frontstage/Frontstage\";\r\nimport { FrontstageManager } from \"../frontstage/FrontstageManager\";\r\n\r\n/** Defines a ToolSettings property entry.\r\n * @public\r\n */\r\nexport interface ToolSettingsEntry {\r\n // label node which potentially can contain a lock node as well.\r\n labelNode: React.ReactNode;\r\n // editor entry used to display and edit the property value\r\n editorNode: React.ReactNode;\r\n}\r\n\r\nfunction EmptyToolSettingsEntry(): ToolSettingsEntry {\r\n const labelString = IModelApp.localization.getLocalizedString(\"UiFramework:tools.noToolSettings\");\r\n const labelNode = <div className=\"uif-toolsetting-label-docked-horizontal-empty\">{labelString}</div>;\r\n const editorNode = <div />;\r\n return {labelNode,editorNode };\r\n}\r\n\r\n/** @internal */\r\n// istanbul ignore next - need to work on overflow unit testing\r\nfunction TsLabel({ children }: { children: React.ReactNode }) {\r\n return <div className=\"uif-toolsetting-label-docked-horizontal\">{children}</div>;\r\n}\r\n\r\n/** @internal */\r\nexport function WidgetPanelsToolSettings() {\r\n const frontstageDef = useActiveFrontstageDef();\r\n const toolSettings = React.useContext(ToolSettingsStateContext);\r\n const topCenterZone = frontstageDef?.topCenter;\r\n if (!topCenterZone || !topCenterZone.isToolSettings || toolSettings.type === \"widget\")\r\n return null;\r\n return (\r\n <ToolSettingsDockedContent />\r\n );\r\n}\r\n\r\n/** @internal */\r\nexport function ToolSettingsDockedContent() {\r\n const settings = useHorizontalToolSettingNodes();\r\n // for the overflow to work properly each setting in the DockedToolSettings should be wrapped by a DockedToolSetting component\r\n return (\r\n <DockedToolSettings itemId={FrontstageManager.activeToolSettingsProvider?.uniqueId ?? \"none\"} key={Date.now()}>\r\n {settings && settings.map((entry, index) => <DockedToolSetting key={index}><TsLabel>{entry.labelNode}</TsLabel>{entry.editorNode}</DockedToolSetting>)}\r\n </DockedToolSettings>\r\n );\r\n}\r\n\r\n/** @internal */\r\nexport function useHorizontalToolSettingNodes() {\r\n const [settings, setSettings] = React.useState(FrontstageManager.activeToolSettingsProvider?.horizontalToolSettingNodes);\r\n React.useEffect(() => {\r\n const handleToolActivatedEvent = () => {\r\n const nodes = FrontstageManager.activeToolSettingsProvider?.horizontalToolSettingNodes;\r\n if (!nodes || nodes.length === 0)\r\n setSettings ([EmptyToolSettingsEntry()]);\r\n else\r\n setSettings(nodes);\r\n };\r\n FrontstageManager.onToolActivatedEvent.addListener(handleToolActivatedEvent);\r\n return () => {\r\n FrontstageManager.onToolActivatedEvent.removeListener(handleToolActivatedEvent);\r\n };\r\n }, [setSettings]);\r\n\r\n React.useEffect(() => {\r\n const handleToolSettingsReloadEvent = () => {\r\n const nodes = FrontstageManager.activeToolSettingsProvider?.horizontalToolSettingNodes;\r\n if (!nodes || nodes.length === 0)\r\n setSettings ([EmptyToolSettingsEntry()]);\r\n else\r\n setSettings(nodes);\r\n };\r\n FrontstageManager.onToolSettingsReloadEvent.addListener(handleToolSettingsReloadEvent);\r\n return () => {\r\n FrontstageManager.onToolSettingsReloadEvent.removeListener(handleToolSettingsReloadEvent);\r\n };\r\n }, [setSettings]);\r\n\r\n return settings;\r\n}\r\n\r\n/** Defines the ToolSettingsEntry entries that are used to populate a grid layout of ToolSetting properties.\r\n * Used only when the \"Use UI 2.0\" setting is true\r\n * @internal\r\n */\r\nexport interface ToolSettingsGridProps {\r\n // label node which potentially can contain a lock node as well.\r\n settings?: ToolSettingsEntry[];\r\n}\r\n\r\n/** Component that arranges an array of ToolSettingsEntry items into a two column grid layout.\r\n * The left column is considered the label column, the right column is considered the property\r\n * editor column.\r\n * @internal\r\n */\r\nexport function ToolSettingsGrid({ settings }: ToolSettingsGridProps) {\r\n return (\r\n <div className=\"uifw-standard-toolsettings-two-column-grid\">\r\n {settings && settings.map((setting: ToolSettingsEntry, index: number) => {\r\n return (\r\n <React.Fragment key={index}>\r\n <span className=\"uifw-standard-toolsettings-label-entry\">{setting.labelNode}</span>\r\n {setting.editorNode}\r\n </React.Fragment>\r\n );\r\n })}\r\n </div>\r\n );\r\n}\r\n\r\n/** @internal */\r\nexport function useToolSettingsNode() {\r\n const [settings, setSettings] = React.useState(FrontstageManager.activeToolSettingsProvider?.toolSettingsNode);\r\n React.useEffect(() => {\r\n const handleToolActivatedEvent = () => {\r\n const nodes = FrontstageManager.activeToolSettingsProvider?.toolSettingsNode;\r\n setSettings(nodes);\r\n };\r\n FrontstageManager.onToolActivatedEvent.addListener(handleToolActivatedEvent);\r\n return () => {\r\n FrontstageManager.onToolActivatedEvent.removeListener(handleToolActivatedEvent);\r\n };\r\n }, [setSettings]);\r\n\r\n React.useEffect(() => {\r\n const handleToolSettingsReloadEvent = () => {\r\n const nodes = FrontstageManager.activeToolSettingsProvider?.toolSettingsNode;\r\n setSettings(nodes);\r\n };\r\n FrontstageManager.onToolSettingsReloadEvent.addListener(handleToolSettingsReloadEvent);\r\n return () => {\r\n FrontstageManager.onToolSettingsReloadEvent.removeListener(handleToolSettingsReloadEvent);\r\n };\r\n }, [setSettings]);\r\n\r\n return settings;\r\n}\r\n\r\n/** @internal */\r\nexport function ToolSettingsContent() {\r\n const toolSettings = React.useContext(ToolSettingsStateContext);\r\n // This is needed to remount underlying components tree when going into widget state.\r\n if (toolSettings.type === \"docked\")\r\n return null;\r\n return <ToolSettingsWidgetContent />;\r\n}\r\n\r\n/** @internal */\r\nexport function ToolSettingsWidgetContent() {\r\n const floatingToolSettingsContainerRef = React.useRef<HTMLDivElement>(null);\r\n const node = useToolSettingsNode();\r\n // if no tool settings hide the floating widgets tab\r\n React.useEffect(() => {\r\n // istanbul ignore else\r\n if (floatingToolSettingsContainerRef.current) {\r\n const floatingWidgetTab = floatingToolSettingsContainerRef.current.closest(\".nz-floating-toolsettings\");\r\n // istanbul ignore else\r\n if (floatingWidgetTab) {\r\n (floatingWidgetTab as HTMLDivElement).style.visibility = !!node ? \"visible\" : /* istanbul ignore next */ \"hidden\";\r\n }\r\n }\r\n }, [node]);\r\n\r\n // istanbul ignore next\r\n const providerId = FrontstageManager.activeToolSettingsProvider?.uniqueId ?? \"none\";\r\n\r\n return (\r\n <div data-toolsettings-provider={providerId} className=\"uifw-floating-toolsettings-container\" ref={floatingToolSettingsContainerRef} >\r\n <ScrollableWidgetContent>\r\n {node}\r\n </ScrollableWidgetContent>\r\n </div>\r\n );\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"ToolSettings.js","sourceRoot":"","sources":["../../../../src/appui-react/widget-panels/ToolSettings.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,+BAA6B;AAC7B,+BAA+B;AAC/B,wDAAiD;AACjD,kEAAqI;AACrI,yDAAkE;AAClE,uEAAoE;AAYpE,SAAS,sBAAsB;IAC7B,MAAM,WAAW,GAAG,yBAAS,CAAC,YAAY,CAAC,kBAAkB,CAAC,kCAAkC,CAAC,CAAC;IAClG,MAAM,SAAS,GAAG,6BAAK,SAAS,EAAC,+CAA+C,IAAE,WAAW,CAAO,CAAC;IACrG,MAAM,UAAU,GAAG,gCAAO,CAAC;IAC3B,OAAO,EAAC,SAAS,EAAC,UAAU,EAAE,CAAC;AACjC,CAAC;AAED,gBAAgB;AAChB,+DAA+D;AAC/D,SAAS,OAAO,CAAC,EAAE,QAAQ,EAAiC;IAC1D,OAAO,6BAAK,SAAS,EAAC,yCAAyC,IAAE,QAAQ,CAAO,CAAC;AACnF,CAAC;AAED,gBAAgB;AAChB,SAAgB,wBAAwB;IACtC,MAAM,aAAa,GAAG,IAAA,mCAAsB,GAAE,CAAC;IAC/C,MAAM,YAAY,GAAG,KAAK,CAAC,UAAU,CAAC,6CAAwB,CAAC,CAAC;IAChE,MAAM,aAAa,GAAG,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,SAAS,CAAC,CAAC,8CAA8C;IAC9F,IAAI,CAAC,aAAa,IAAI,CAAC,aAAa,CAAC,cAAc,IAAI,YAAY,CAAC,IAAI,KAAK,QAAQ;QACnF,OAAO,IAAI,CAAC;IACd,OAAO,CACL,oBAAC,yBAAyB,OAAG,CAC9B,CAAC;AACJ,CAAC;AATD,4DASC;AAED,gBAAgB;AAChB,SAAgB,yBAAyB;;IACvC,MAAM,QAAQ,GAAG,6BAA6B,EAAE,CAAC;IACjD,8HAA8H;IAC9H,OAAO,CACL,oBAAC,uCAAkB,IAAC,MAAM,EAAE,MAAA,MAAA,qCAAiB,CAAC,0BAA0B,0CAAE,QAAQ,mCAAI,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,IAC1G,QAAQ,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,oBAAC,sCAAiB,IAAC,GAAG,EAAE,KAAK;QAAE,oBAAC,OAAO,QAAE,KAAK,CAAC,SAAS,CAAW;QAAC,KAAK,CAAC,UAAU,CAAqB,CAAC,CACnI,CACtB,CAAC;AACJ,CAAC;AARD,8DAQC;AAED,gBAAgB;AAChB,SAAgB,6BAA6B;;IAC3C,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAA,qCAAiB,CAAC,0BAA0B,0CAAE,0BAA0B,CAAC,CAAC;IACzH,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,MAAM,wBAAwB,GAAG,GAAG,EAAE;;YACpC,MAAM,KAAK,GAAG,MAAA,qCAAiB,CAAC,0BAA0B,0CAAE,0BAA0B,CAAC;YACvF,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;gBAC9B,WAAW,CAAE,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAC;;gBAEzC,WAAW,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC,CAAC;QACF,qCAAiB,CAAC,oBAAoB,CAAC,WAAW,CAAC,wBAAwB,CAAC,CAAC;QAC7E,OAAO,GAAG,EAAE;YACV,qCAAiB,CAAC,oBAAoB,CAAC,cAAc,CAAC,wBAAwB,CAAC,CAAC;QAClF,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAElB,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,MAAM,6BAA6B,GAAG,GAAG,EAAE;;YACzC,MAAM,KAAK,GAAG,MAAA,qCAAiB,CAAC,0BAA0B,0CAAE,0BAA0B,CAAC;YACvF,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;gBAC9B,WAAW,CAAE,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAC;;gBAEzC,WAAW,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC,CAAC;QACF,qCAAiB,CAAC,yBAAyB,CAAC,WAAW,CAAC,6BAA6B,CAAC,CAAC;QACvF,OAAO,GAAG,EAAE;YACV,qCAAiB,CAAC,yBAAyB,CAAC,cAAc,CAAC,6BAA6B,CAAC,CAAC;QAC5F,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAElB,OAAO,QAAQ,CAAC;AAClB,CAAC;AA/BD,sEA+BC;AAWD;;;;GAIG;AACH,SAAgB,gBAAgB,CAAC,EAAE,QAAQ,EAAyB;IAClE,OAAO,CACL,6BAAK,SAAS,EAAC,4CAA4C,IACxD,QAAQ,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,OAA0B,EAAE,KAAa,EAAE,EAAE;QACtE,OAAO,CACL,oBAAC,KAAK,CAAC,QAAQ,IAAC,GAAG,EAAE,KAAK;YACxB,8BAAM,SAAS,EAAC,wCAAwC,IAAE,OAAO,CAAC,SAAS,CAAQ;YAClF,OAAO,CAAC,UAAU,CACJ,CAClB,CAAC;IACJ,CAAC,CAAC,CACE,CACP,CAAC;AACJ,CAAC;AAbD,4CAaC;AAED,gBAAgB;AAChB,SAAgB,mBAAmB;;IACjC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAA,qCAAiB,CAAC,0BAA0B,0CAAE,gBAAgB,CAAC,CAAC;IAC/G,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,MAAM,wBAAwB,GAAG,GAAG,EAAE;;YACpC,MAAM,KAAK,GAAG,MAAA,qCAAiB,CAAC,0BAA0B,0CAAE,gBAAgB,CAAC;YAC7E,WAAW,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC,CAAC;QACF,qCAAiB,CAAC,oBAAoB,CAAC,WAAW,CAAC,wBAAwB,CAAC,CAAC;QAC7E,OAAO,GAAG,EAAE;YACV,qCAAiB,CAAC,oBAAoB,CAAC,cAAc,CAAC,wBAAwB,CAAC,CAAC;QAClF,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAElB,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,MAAM,6BAA6B,GAAG,GAAG,EAAE;;YACzC,MAAM,KAAK,GAAG,MAAA,qCAAiB,CAAC,0BAA0B,0CAAE,gBAAgB,CAAC;YAC7E,WAAW,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC,CAAC;QACF,qCAAiB,CAAC,yBAAyB,CAAC,WAAW,CAAC,6BAA6B,CAAC,CAAC;QACvF,OAAO,GAAG,EAAE;YACV,qCAAiB,CAAC,yBAAyB,CAAC,cAAc,CAAC,6BAA6B,CAAC,CAAC;QAC5F,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAElB,OAAO,QAAQ,CAAC;AAClB,CAAC;AAzBD,kDAyBC;AAED,gBAAgB;AAChB,SAAgB,mBAAmB;IACjC,MAAM,YAAY,GAAG,KAAK,CAAC,UAAU,CAAC,6CAAwB,CAAC,CAAC;IAChE,qFAAqF;IACrF,IAAI,YAAY,CAAC,IAAI,KAAK,QAAQ;QAChC,OAAO,IAAI,CAAC;IACd,OAAO,oBAAC,yBAAyB,OAAG,CAAC;AACvC,CAAC;AAND,kDAMC;AAED,gBAAgB;AAChB,SAAgB,yBAAyB;;IACvC,MAAM,gCAAgC,GAAG,KAAK,CAAC,MAAM,CAAiB,IAAI,CAAC,CAAC;IAC5E,MAAM,IAAI,GAAG,mBAAmB,EAAE,CAAC;IACnC,oDAAoD;IACpD,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,uBAAuB;QACvB,IAAI,gCAAgC,CAAC,OAAO,EAAE;YAC5C,MAAM,iBAAiB,GAAG,gCAAgC,CAAC,OAAO,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC;YACxG,uBAAuB;YACvB,IAAI,iBAAiB,EAAE;gBACpB,iBAAoC,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,0BAA0B,CAAC,QAAQ,CAAC;aACnH;SACF;IACH,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,uBAAuB;IACvB,MAAM,UAAU,GAAG,MAAA,MAAA,qCAAiB,CAAC,0BAA0B,0CAAE,QAAQ,mCAAI,MAAM,CAAC;IAEpF,OAAO,CACL,2DAAiC,UAAU,EAAE,SAAS,EAAC,sCAAsC,EAAC,GAAG,EAAE,gCAAgC;QACjI,oBAAC,4CAAuB,QACrB,IAAI,CACmB,CACtB,CACP,CAAC;AACJ,CAAC;AAzBD,8DAyBC","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 ToolSettings\r\n */\r\n\r\nimport \"./ToolSettings.scss\";\r\nimport * as React from \"react\";\r\nimport { IModelApp } from \"@itwin/core-frontend\";\r\nimport { DockedToolSetting, DockedToolSettings, ScrollableWidgetContent, ToolSettingsStateContext } from \"@itwin/appui-layout-react\";\r\nimport { useActiveFrontstageDef } from \"../frontstage/Frontstage\";\r\nimport { FrontstageManager } from \"../frontstage/FrontstageManager\";\r\n\r\n/** Defines a ToolSettings property entry.\r\n * @public\r\n */\r\nexport interface ToolSettingsEntry {\r\n // label node which potentially can contain a lock node as well.\r\n labelNode: React.ReactNode;\r\n // editor entry used to display and edit the property value\r\n editorNode: React.ReactNode;\r\n}\r\n\r\nfunction EmptyToolSettingsEntry(): ToolSettingsEntry {\r\n const labelString = IModelApp.localization.getLocalizedString(\"UiFramework:tools.noToolSettings\");\r\n const labelNode = <div className=\"uif-toolsetting-label-docked-horizontal-empty\">{labelString}</div>;\r\n const editorNode = <div />;\r\n return {labelNode,editorNode };\r\n}\r\n\r\n/** @internal */\r\n// istanbul ignore next - need to work on overflow unit testing\r\nfunction TsLabel({ children }: { children: React.ReactNode }) {\r\n return <div className=\"uif-toolsetting-label-docked-horizontal\">{children}</div>;\r\n}\r\n\r\n/** @internal */\r\nexport function WidgetPanelsToolSettings() {\r\n const frontstageDef = useActiveFrontstageDef();\r\n const toolSettings = React.useContext(ToolSettingsStateContext);\r\n const topCenterZone = frontstageDef?.topCenter; // eslint-disable-line deprecation/deprecation\r\n if (!topCenterZone || !topCenterZone.isToolSettings || toolSettings.type === \"widget\")\r\n return null;\r\n return (\r\n <ToolSettingsDockedContent />\r\n );\r\n}\r\n\r\n/** @internal */\r\nexport function ToolSettingsDockedContent() {\r\n const settings = useHorizontalToolSettingNodes();\r\n // for the overflow to work properly each setting in the DockedToolSettings should be wrapped by a DockedToolSetting component\r\n return (\r\n <DockedToolSettings itemId={FrontstageManager.activeToolSettingsProvider?.uniqueId ?? \"none\"} key={Date.now()}>\r\n {settings && settings.map((entry, index) => <DockedToolSetting key={index}><TsLabel>{entry.labelNode}</TsLabel>{entry.editorNode}</DockedToolSetting>)}\r\n </DockedToolSettings>\r\n );\r\n}\r\n\r\n/** @internal */\r\nexport function useHorizontalToolSettingNodes() {\r\n const [settings, setSettings] = React.useState(FrontstageManager.activeToolSettingsProvider?.horizontalToolSettingNodes);\r\n React.useEffect(() => {\r\n const handleToolActivatedEvent = () => {\r\n const nodes = FrontstageManager.activeToolSettingsProvider?.horizontalToolSettingNodes;\r\n if (!nodes || nodes.length === 0)\r\n setSettings ([EmptyToolSettingsEntry()]);\r\n else\r\n setSettings(nodes);\r\n };\r\n FrontstageManager.onToolActivatedEvent.addListener(handleToolActivatedEvent);\r\n return () => {\r\n FrontstageManager.onToolActivatedEvent.removeListener(handleToolActivatedEvent);\r\n };\r\n }, [setSettings]);\r\n\r\n React.useEffect(() => {\r\n const handleToolSettingsReloadEvent = () => {\r\n const nodes = FrontstageManager.activeToolSettingsProvider?.horizontalToolSettingNodes;\r\n if (!nodes || nodes.length === 0)\r\n setSettings ([EmptyToolSettingsEntry()]);\r\n else\r\n setSettings(nodes);\r\n };\r\n FrontstageManager.onToolSettingsReloadEvent.addListener(handleToolSettingsReloadEvent);\r\n return () => {\r\n FrontstageManager.onToolSettingsReloadEvent.removeListener(handleToolSettingsReloadEvent);\r\n };\r\n }, [setSettings]);\r\n\r\n return settings;\r\n}\r\n\r\n/** Defines the ToolSettingsEntry entries that are used to populate a grid layout of ToolSetting properties.\r\n * Used only when the \"Use UI 2.0\" setting is true\r\n * @internal\r\n */\r\nexport interface ToolSettingsGridProps {\r\n // label node which potentially can contain a lock node as well.\r\n settings?: ToolSettingsEntry[];\r\n}\r\n\r\n/** Component that arranges an array of ToolSettingsEntry items into a two column grid layout.\r\n * The left column is considered the label column, the right column is considered the property\r\n * editor column.\r\n * @internal\r\n */\r\nexport function ToolSettingsGrid({ settings }: ToolSettingsGridProps) {\r\n return (\r\n <div className=\"uifw-standard-toolsettings-two-column-grid\">\r\n {settings && settings.map((setting: ToolSettingsEntry, index: number) => {\r\n return (\r\n <React.Fragment key={index}>\r\n <span className=\"uifw-standard-toolsettings-label-entry\">{setting.labelNode}</span>\r\n {setting.editorNode}\r\n </React.Fragment>\r\n );\r\n })}\r\n </div>\r\n );\r\n}\r\n\r\n/** @internal */\r\nexport function useToolSettingsNode() {\r\n const [settings, setSettings] = React.useState(FrontstageManager.activeToolSettingsProvider?.toolSettingsNode);\r\n React.useEffect(() => {\r\n const handleToolActivatedEvent = () => {\r\n const nodes = FrontstageManager.activeToolSettingsProvider?.toolSettingsNode;\r\n setSettings(nodes);\r\n };\r\n FrontstageManager.onToolActivatedEvent.addListener(handleToolActivatedEvent);\r\n return () => {\r\n FrontstageManager.onToolActivatedEvent.removeListener(handleToolActivatedEvent);\r\n };\r\n }, [setSettings]);\r\n\r\n React.useEffect(() => {\r\n const handleToolSettingsReloadEvent = () => {\r\n const nodes = FrontstageManager.activeToolSettingsProvider?.toolSettingsNode;\r\n setSettings(nodes);\r\n };\r\n FrontstageManager.onToolSettingsReloadEvent.addListener(handleToolSettingsReloadEvent);\r\n return () => {\r\n FrontstageManager.onToolSettingsReloadEvent.removeListener(handleToolSettingsReloadEvent);\r\n };\r\n }, [setSettings]);\r\n\r\n return settings;\r\n}\r\n\r\n/** @internal */\r\nexport function ToolSettingsContent() {\r\n const toolSettings = React.useContext(ToolSettingsStateContext);\r\n // This is needed to remount underlying components tree when going into widget state.\r\n if (toolSettings.type === \"docked\")\r\n return null;\r\n return <ToolSettingsWidgetContent />;\r\n}\r\n\r\n/** @internal */\r\nexport function ToolSettingsWidgetContent() {\r\n const floatingToolSettingsContainerRef = React.useRef<HTMLDivElement>(null);\r\n const node = useToolSettingsNode();\r\n // if no tool settings hide the floating widgets tab\r\n React.useEffect(() => {\r\n // istanbul ignore else\r\n if (floatingToolSettingsContainerRef.current) {\r\n const floatingWidgetTab = floatingToolSettingsContainerRef.current.closest(\".nz-floating-toolsettings\");\r\n // istanbul ignore else\r\n if (floatingWidgetTab) {\r\n (floatingWidgetTab as HTMLDivElement).style.visibility = !!node ? \"visible\" : /* istanbul ignore next */ \"hidden\";\r\n }\r\n }\r\n }, [node]);\r\n\r\n // istanbul ignore next\r\n const providerId = FrontstageManager.activeToolSettingsProvider?.uniqueId ?? \"none\";\r\n\r\n return (\r\n <div data-toolsettings-provider={providerId} className=\"uifw-floating-toolsettings-container\" ref={floatingToolSettingsContainerRef} >\r\n <ScrollableWidgetContent>\r\n {node}\r\n </ScrollableWidgetContent>\r\n </div>\r\n );\r\n}\r\n"]}
|
|
@@ -15,12 +15,12 @@ const Frontstage_1 = require("../frontstage/Frontstage");
|
|
|
15
15
|
function WidgetPanelsToolbars() {
|
|
16
16
|
const frontstageDef = (0, Frontstage_1.useActiveFrontstageDef)();
|
|
17
17
|
let toolsWidget = frontstageDef === null || frontstageDef === void 0 ? void 0 : frontstageDef.contentManipulation;
|
|
18
|
-
if (frontstageDef === null || frontstageDef === void 0 ? void 0 : frontstageDef.topLeft) {
|
|
19
|
-
toolsWidget = frontstageDef === null || frontstageDef === void 0 ? void 0 : frontstageDef.topLeft.getSingleWidgetDef();
|
|
18
|
+
if (frontstageDef === null || frontstageDef === void 0 ? void 0 : frontstageDef.topLeft) { // eslint-disable-line deprecation/deprecation
|
|
19
|
+
toolsWidget = frontstageDef === null || frontstageDef === void 0 ? void 0 : frontstageDef.topLeft.getSingleWidgetDef(); // eslint-disable-line deprecation/deprecation
|
|
20
20
|
}
|
|
21
21
|
let navigationWidget = frontstageDef === null || frontstageDef === void 0 ? void 0 : frontstageDef.viewNavigation;
|
|
22
|
-
if (frontstageDef === null || frontstageDef === void 0 ? void 0 : frontstageDef.topRight) {
|
|
23
|
-
navigationWidget = frontstageDef === null || frontstageDef === void 0 ? void 0 : frontstageDef.topRight.getSingleWidgetDef();
|
|
22
|
+
if (frontstageDef === null || frontstageDef === void 0 ? void 0 : frontstageDef.topRight) { // eslint-disable-line deprecation/deprecation
|
|
23
|
+
navigationWidget = frontstageDef === null || frontstageDef === void 0 ? void 0 : frontstageDef.topRight.getSingleWidgetDef(); // eslint-disable-line deprecation/deprecation
|
|
24
24
|
}
|
|
25
25
|
const tools = toolsWidget === null || toolsWidget === void 0 ? void 0 : toolsWidget.reactNode;
|
|
26
26
|
const navigation = navigationWidget === null || navigationWidget === void 0 ? void 0 : navigationWidget.reactNode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Toolbars.js","sourceRoot":"","sources":["../../../../src/appui-react/widget-panels/Toolbars.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,2BAAyB;AACzB,+BAA+B;AAC/B,yDAAkE;AAElE,gBAAgB;AAChB,SAAgB,oBAAoB;IAClC,MAAM,aAAa,GAAG,IAAA,mCAAsB,GAAE,CAAC;IAE/C,IAAI,WAAW,GAAG,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,mBAAmB,CAAC;IACrD,IAAI,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,OAAO,EAAE;
|
|
1
|
+
{"version":3,"file":"Toolbars.js","sourceRoot":"","sources":["../../../../src/appui-react/widget-panels/Toolbars.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,2BAAyB;AACzB,+BAA+B;AAC/B,yDAAkE;AAElE,gBAAgB;AAChB,SAAgB,oBAAoB;IAClC,MAAM,aAAa,GAAG,IAAA,mCAAsB,GAAE,CAAC;IAE/C,IAAI,WAAW,GAAG,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,mBAAmB,CAAC;IACrD,IAAI,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,OAAO,EAAE,EAAE,8CAA8C;QAC1E,WAAW,GAAG,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC,8CAA8C;KAC1G;IAED,IAAI,gBAAgB,GAAG,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,cAAc,CAAC;IACrD,IAAI,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,QAAQ,EAAE,EAAE,8CAA8C;QAC3E,gBAAgB,GAAG,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,QAAQ,CAAC,kBAAkB,EAAE,CAAC,CAAC,8CAA8C;KAChH;IACD,MAAM,KAAK,GAAG,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,SAAS,CAAC;IACrC,MAAM,UAAU,GAAG,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,SAAS,CAAC;IAC/C,OAAO,CACL,6BAAK,SAAS,EAAC,4BAA4B;QACxC,KAAK;QACL,UAAU,CACP,CACP,CAAC;AACJ,CAAC;AApBD,oDAoBC","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 Item\r\n */\r\n\r\nimport \"./Toolbars.scss\";\r\nimport * as React from \"react\";\r\nimport { useActiveFrontstageDef } from \"../frontstage/Frontstage\";\r\n\r\n/** @internal */\r\nexport function WidgetPanelsToolbars() {\r\n const frontstageDef = useActiveFrontstageDef();\r\n\r\n let toolsWidget = frontstageDef?.contentManipulation;\r\n if (frontstageDef?.topLeft) { // eslint-disable-line deprecation/deprecation\r\n toolsWidget = frontstageDef?.topLeft.getSingleWidgetDef(); // eslint-disable-line deprecation/deprecation\r\n }\r\n\r\n let navigationWidget = frontstageDef?.viewNavigation;\r\n if (frontstageDef?.topRight) { // eslint-disable-line deprecation/deprecation\r\n navigationWidget = frontstageDef?.topRight.getSingleWidgetDef(); // eslint-disable-line deprecation/deprecation\r\n }\r\n const tools = toolsWidget?.reactNode;\r\n const navigation = navigationWidget?.reactNode;\r\n return (\r\n <div className=\"uifw-widgetPanels-toolbars\">\r\n {tools}\r\n {navigation}\r\n </div>\r\n );\r\n}\r\n"]}
|
|
@@ -5,7 +5,7 @@ import * as React from "react";
|
|
|
5
5
|
import { ItemList } from "../shared/ItemMap";
|
|
6
6
|
/** Properties that can be used to append items to the default set of toolbar items of [[DefaultNavigationWidget]].
|
|
7
7
|
* @beta
|
|
8
|
-
* @deprecated
|
|
8
|
+
* @deprecated Use [[BasicNavigationWidget]] instead
|
|
9
9
|
*/
|
|
10
10
|
export interface DefaultNavigationProps {
|
|
11
11
|
/** Item to add before the default items in the horizontal toolbar */
|
|
@@ -20,7 +20,7 @@ export interface DefaultNavigationProps {
|
|
|
20
20
|
/** Default Navigation Widget for zone 3. Provides standard view manipulation tools and displays registered Navigation Aids as corner item.
|
|
21
21
|
* This definition will also show a overflow button if there is not enough room to display all the toolbar buttons.
|
|
22
22
|
* @beta
|
|
23
|
-
* @deprecated use [BasicNavigationWidget]
|
|
23
|
+
* @deprecated use [[BasicNavigationWidget]] instead
|
|
24
24
|
*/
|
|
25
25
|
export declare class DefaultNavigationWidget extends React.Component<DefaultNavigationProps> {
|
|
26
26
|
private _horizontalToolbarItems;
|
|
@@ -29,7 +29,7 @@ export declare class DefaultNavigationWidget extends React.Component<DefaultNavi
|
|
|
29
29
|
}
|
|
30
30
|
/** DefaultNavigationWidget that is connected to the IModelConnection property in the Redux store. The application must set up the Redux store and include the FrameworkReducer.
|
|
31
31
|
* @beta
|
|
32
|
-
* @deprecated use [BasicNavigationWidget]
|
|
32
|
+
* @deprecated use [[BasicNavigationWidget]] instead
|
|
33
33
|
*/
|
|
34
34
|
export declare const IModelConnectedNavigationWidget: import("react-redux").ConnectedComponent<typeof DefaultNavigationWidget, any>;
|
|
35
35
|
//# sourceMappingURL=DefaultNavigationWidget.d.ts.map
|
|
@@ -17,7 +17,7 @@ const NavigationWidget_1 = require("./NavigationWidget");
|
|
|
17
17
|
/** Default Navigation Widget for zone 3. Provides standard view manipulation tools and displays registered Navigation Aids as corner item.
|
|
18
18
|
* This definition will also show a overflow button if there is not enough room to display all the toolbar buttons.
|
|
19
19
|
* @beta
|
|
20
|
-
* @deprecated use [BasicNavigationWidget]
|
|
20
|
+
* @deprecated use [[BasicNavigationWidget]] instead
|
|
21
21
|
*/
|
|
22
22
|
class DefaultNavigationWidget extends React.Component {
|
|
23
23
|
constructor() {
|
|
@@ -59,7 +59,7 @@ class DefaultNavigationWidget extends React.Component {
|
|
|
59
59
|
exports.DefaultNavigationWidget = DefaultNavigationWidget;
|
|
60
60
|
/** DefaultNavigationWidget that is connected to the IModelConnection property in the Redux store. The application must set up the Redux store and include the FrameworkReducer.
|
|
61
61
|
* @beta
|
|
62
|
-
* @deprecated use [BasicNavigationWidget]
|
|
62
|
+
* @deprecated use [[BasicNavigationWidget]] instead
|
|
63
63
|
*/
|
|
64
64
|
exports.IModelConnectedNavigationWidget = (0, connectIModel_1.connectIModelConnection)(null, null)(DefaultNavigationWidget); // eslint-disable-line @typescript-eslint/naming-convention, deprecation/deprecation
|
|
65
65
|
//# sourceMappingURL=DefaultNavigationWidget.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DefaultNavigationWidget.js","sourceRoot":"","sources":["../../../../src/appui-react/widgets/DefaultNavigationWidget.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,+BAA+B;AAC/B,sEAAyD;AACzD,0DAAiE;AACjE,+CAA6C;AAC7C,gDAA6C;AAC7C,yDAAsD;AAiBtD;;;;GAIG;AACH,MAAa,uBAAwB,SAAQ,KAAK,CAAC,SAAiC;IAApF;;QAEU,4BAAuB,GAAG,IAAI,kBAAQ,CAAC;YAC7C,+BAAS,CAAC,iBAAiB;YAC3B,+BAAS,CAAC,cAAc;YACxB,+BAAS,CAAC,cAAc;YACxB,+BAAS,CAAC,iBAAiB;YAC3B,+BAAS,CAAC,eAAe;YACzB,+BAAS,CAAC,eAAe;SAC1B,CAAC,CAAC;QAEK,0BAAqB,GAAG,IAAI,kBAAQ,CAAC;YAC3C,+BAAS,CAAC,eAAe;YACzB,+BAAS,CAAC,uBAAuB;SAClC,CAAC,CAAC;IAwBL,CAAC;IAtBiB,MAAM;QACpB,MAAM,sBAAsB,GAAG,IAAI,kBAAQ,EAAE,CAAC;QAC9C,IAAI,IAAI,CAAC,KAAK,CAAC,qBAAqB;YAAE,sBAAsB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACxG,uBAAuB;QACvB,IAAI,IAAI,CAAC,uBAAuB;YAAE,sBAAsB,CAAC,QAAQ,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QAChG,IAAI,IAAI,CAAC,KAAK,CAAC,qBAAqB;YAAE,sBAAsB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;QAExG,MAAM,oBAAoB,GAAG,IAAI,kBAAQ,EAAE,CAAC;QAC5C,IAAI,IAAI,CAAC,KAAK,CAAC,mBAAmB;YAAE,oBAAoB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAClG,uBAAuB;QACvB,IAAI,IAAI,CAAC,qBAAqB;YAAE,oBAAoB,CAAC,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAC1F,IAAI,IAAI,CAAC,KAAK,CAAC,mBAAmB;YAAE,oBAAoB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAElG,OAAO,CACL,oBAAC,mCAAgB,CAAC,8CAA8C;YAC9D,eAAe,EAAC,mBAAmB,EACnC,gBAAgB,EAAE,yBAAW,CAAC,mBAAmB,EAAE,EACnD,eAAe,EAAE,sBAAsB,EACvC,aAAa,EAAE,oBAAoB,GACnC,CACH,CAAC;IACJ,CAAC;CACF;AAtCD,0DAsCC;AAED;;;GAGG;AACU,QAAA,+BAA+B,GAAG,IAAA,uCAAuB,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,oFAAoF","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Widget\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { CoreTools } from \"../tools/CoreToolDefinitions\";\r\nimport { connectIModelConnection } from \"../redux/connectIModel\";\r\nimport { ItemList } from \"../shared/ItemMap\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { NavigationWidget } from \"./NavigationWidget\";\r\n\r\n/** Properties that can be used to append items to the default set of toolbar items of [[DefaultNavigationWidget]].\r\n * @beta\r\n * @deprecated
|
|
1
|
+
{"version":3,"file":"DefaultNavigationWidget.js","sourceRoot":"","sources":["../../../../src/appui-react/widgets/DefaultNavigationWidget.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,+BAA+B;AAC/B,sEAAyD;AACzD,0DAAiE;AACjE,+CAA6C;AAC7C,gDAA6C;AAC7C,yDAAsD;AAiBtD;;;;GAIG;AACH,MAAa,uBAAwB,SAAQ,KAAK,CAAC,SAAiC;IAApF;;QAEU,4BAAuB,GAAG,IAAI,kBAAQ,CAAC;YAC7C,+BAAS,CAAC,iBAAiB;YAC3B,+BAAS,CAAC,cAAc;YACxB,+BAAS,CAAC,cAAc;YACxB,+BAAS,CAAC,iBAAiB;YAC3B,+BAAS,CAAC,eAAe;YACzB,+BAAS,CAAC,eAAe;SAC1B,CAAC,CAAC;QAEK,0BAAqB,GAAG,IAAI,kBAAQ,CAAC;YAC3C,+BAAS,CAAC,eAAe;YACzB,+BAAS,CAAC,uBAAuB;SAClC,CAAC,CAAC;IAwBL,CAAC;IAtBiB,MAAM;QACpB,MAAM,sBAAsB,GAAG,IAAI,kBAAQ,EAAE,CAAC;QAC9C,IAAI,IAAI,CAAC,KAAK,CAAC,qBAAqB;YAAE,sBAAsB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACxG,uBAAuB;QACvB,IAAI,IAAI,CAAC,uBAAuB;YAAE,sBAAsB,CAAC,QAAQ,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QAChG,IAAI,IAAI,CAAC,KAAK,CAAC,qBAAqB;YAAE,sBAAsB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;QAExG,MAAM,oBAAoB,GAAG,IAAI,kBAAQ,EAAE,CAAC;QAC5C,IAAI,IAAI,CAAC,KAAK,CAAC,mBAAmB;YAAE,oBAAoB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAClG,uBAAuB;QACvB,IAAI,IAAI,CAAC,qBAAqB;YAAE,oBAAoB,CAAC,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAC1F,IAAI,IAAI,CAAC,KAAK,CAAC,mBAAmB;YAAE,oBAAoB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAElG,OAAO,CACL,oBAAC,mCAAgB,CAAC,8CAA8C;YAC9D,eAAe,EAAC,mBAAmB,EACnC,gBAAgB,EAAE,yBAAW,CAAC,mBAAmB,EAAE,EACnD,eAAe,EAAE,sBAAsB,EACvC,aAAa,EAAE,oBAAoB,GACnC,CACH,CAAC;IACJ,CAAC;CACF;AAtCD,0DAsCC;AAED;;;GAGG;AACU,QAAA,+BAA+B,GAAG,IAAA,uCAAuB,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,oFAAoF","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Widget\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { CoreTools } from \"../tools/CoreToolDefinitions\";\r\nimport { connectIModelConnection } from \"../redux/connectIModel\";\r\nimport { ItemList } from \"../shared/ItemMap\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { NavigationWidget } from \"./NavigationWidget\";\r\n\r\n/** Properties that can be used to append items to the default set of toolbar items of [[DefaultNavigationWidget]].\r\n * @beta\r\n * @deprecated Use [[BasicNavigationWidget]] instead\r\n */\r\nexport interface DefaultNavigationProps {\r\n /** Item to add before the default items in the horizontal toolbar */\r\n prefixHorizontalItems?: ItemList;\r\n /** Item to add after the default items in the horizontal toolbar */\r\n suffixHorizontalItems?: ItemList;\r\n /** Item to add before the default items in the vertical toolbar */\r\n prefixVerticalItems?: ItemList;\r\n /** Item to add after the default items in the vertical toolbar */\r\n suffixVerticalItems?: ItemList;\r\n}\r\n\r\n/** Default Navigation Widget for zone 3. Provides standard view manipulation tools and displays registered Navigation Aids as corner item.\r\n * This definition will also show a overflow button if there is not enough room to display all the toolbar buttons.\r\n * @beta\r\n * @deprecated use [[BasicNavigationWidget]] instead\r\n */\r\nexport class DefaultNavigationWidget extends React.Component<DefaultNavigationProps> { // eslint-disable-line deprecation/deprecation\r\n\r\n private _horizontalToolbarItems = new ItemList([\r\n CoreTools.rotateViewCommand,\r\n CoreTools.panViewCommand,\r\n CoreTools.fitViewCommand,\r\n CoreTools.windowAreaCommand,\r\n CoreTools.viewUndoCommand,\r\n CoreTools.viewRedoCommand,\r\n ]);\r\n\r\n private _verticalToolbarItems = new ItemList([\r\n CoreTools.walkViewCommand,\r\n CoreTools.toggleCameraViewCommand,\r\n ]);\r\n\r\n public override render() {\r\n const horizontalToolbarItems = new ItemList();\r\n if (this.props.prefixHorizontalItems) horizontalToolbarItems.addItems(this.props.prefixHorizontalItems);\r\n // istanbul ignore else\r\n if (this._horizontalToolbarItems) horizontalToolbarItems.addItems(this._horizontalToolbarItems);\r\n if (this.props.suffixHorizontalItems) horizontalToolbarItems.addItems(this.props.suffixHorizontalItems);\r\n\r\n const verticalToolbarItems = new ItemList();\r\n if (this.props.prefixVerticalItems) verticalToolbarItems.addItems(this.props.prefixVerticalItems);\r\n // istanbul ignore else\r\n if (this._verticalToolbarItems) verticalToolbarItems.addItems(this._verticalToolbarItems);\r\n if (this.props.suffixVerticalItems) verticalToolbarItems.addItems(this.props.suffixVerticalItems);\r\n\r\n return (\r\n <NavigationWidget // eslint-disable-line deprecation/deprecation\r\n navigationAidId=\"CubeNavigationAid\"\r\n iModelConnection={UiFramework.getIModelConnection()}\r\n horizontalItems={horizontalToolbarItems}\r\n verticalItems={verticalToolbarItems}\r\n />\r\n );\r\n }\r\n}\r\n\r\n/** DefaultNavigationWidget that is connected to the IModelConnection property in the Redux store. The application must set up the Redux store and include the FrameworkReducer.\r\n * @beta\r\n * @deprecated use [[BasicNavigationWidget]] instead\r\n */\r\nexport const IModelConnectedNavigationWidget = connectIModelConnection(null, null)(DefaultNavigationWidget); // eslint-disable-line @typescript-eslint/naming-convention, deprecation/deprecation\r\n"]}
|
|
@@ -7,7 +7,7 @@ import { ToolbarWidgetDefBase } from "./ToolbarWidgetBase";
|
|
|
7
7
|
import { ToolWidgetProps } from "./WidgetDef";
|
|
8
8
|
/** Definition of a Tool Widget normally displayed in the top left zone in the 9-Zone Layout system.
|
|
9
9
|
* @public
|
|
10
|
-
* @deprecated use [ToolWidgetComposer]
|
|
10
|
+
* @deprecated use [[ToolWidgetComposer]] instead
|
|
11
11
|
*/
|
|
12
12
|
export declare class ToolWidgetDef extends ToolbarWidgetDefBase {
|
|
13
13
|
private _appButton;
|
|
@@ -19,7 +19,7 @@ export declare class ToolWidgetDef extends ToolbarWidgetDefBase {
|
|
|
19
19
|
}
|
|
20
20
|
/** Properties for the [[ToolWidget]] React component.
|
|
21
21
|
* @public
|
|
22
|
-
* @deprecated use [ToolWidgetComposer]
|
|
22
|
+
* @deprecated use [[ToolWidgetComposer]] instead
|
|
23
23
|
*/
|
|
24
24
|
export interface ToolWidgetPropsEx extends ToolWidgetProps, CommonProps {
|
|
25
25
|
button?: React.ReactNode;
|
|
@@ -34,7 +34,7 @@ interface ToolWidgetState {
|
|
|
34
34
|
}
|
|
35
35
|
/** ToolWidget React component.
|
|
36
36
|
* @public
|
|
37
|
-
* @deprecated use [ToolWidgetComposer]
|
|
37
|
+
* @deprecated use [[ToolWidgetComposer]] instead
|
|
38
38
|
*/
|
|
39
39
|
export declare class ToolWidget extends React.Component<ToolWidgetPropsEx, ToolWidgetState> {
|
|
40
40
|
/** @internal */
|
|
@@ -18,7 +18,7 @@ const WidgetDef_1 = require("./WidgetDef");
|
|
|
18
18
|
const UiFramework_1 = require("../UiFramework");
|
|
19
19
|
/** Definition of a Tool Widget normally displayed in the top left zone in the 9-Zone Layout system.
|
|
20
20
|
* @public
|
|
21
|
-
* @deprecated use [ToolWidgetComposer]
|
|
21
|
+
* @deprecated use [[ToolWidgetComposer]] instead
|
|
22
22
|
*/
|
|
23
23
|
class ToolWidgetDef extends ToolbarWidgetBase_1.ToolbarWidgetDefBase {
|
|
24
24
|
constructor(props) {
|
|
@@ -47,7 +47,7 @@ class ToolWidgetDef extends ToolbarWidgetBase_1.ToolbarWidgetDefBase {
|
|
|
47
47
|
exports.ToolWidgetDef = ToolWidgetDef;
|
|
48
48
|
/** ToolWidget React component.
|
|
49
49
|
* @public
|
|
50
|
-
* @deprecated use [ToolWidgetComposer]
|
|
50
|
+
* @deprecated use [[ToolWidgetComposer]] instead
|
|
51
51
|
*/
|
|
52
52
|
class ToolWidget extends React.Component {
|
|
53
53
|
constructor(props) {
|