@itwin/appui-react 4.3.1 → 4.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -4
- package/lib/cjs/appui-react/UiFramework.d.ts.map +1 -1
- package/lib/cjs/appui-react/UiFramework.js +11 -10
- package/lib/cjs/appui-react/UiFramework.js.map +1 -1
- package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.d.ts +1 -1
- package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.d.ts.map +1 -1
- package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.js +4 -3
- package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
- package/lib/cjs/appui-react/selection/HideIsolateEmphasizeManager.d.ts.map +1 -1
- package/lib/cjs/appui-react/selection/HideIsolateEmphasizeManager.js +3 -0
- package/lib/cjs/appui-react/selection/HideIsolateEmphasizeManager.js.map +1 -1
- package/lib/cjs/appui-react/selection/SelectionContextItemDef.d.ts.map +1 -1
- package/lib/cjs/appui-react/selection/SelectionContextItemDef.js +12 -8
- package/lib/cjs/appui-react/selection/SelectionContextItemDef.js.map +1 -1
- package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.d.ts +6 -4
- package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.d.ts.map +1 -1
- package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.js +49 -78
- package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.js.map +1 -1
- package/lib/cjs/appui-react/toolbar/Toolbar.d.ts +10 -0
- package/lib/cjs/appui-react/toolbar/Toolbar.d.ts.map +1 -1
- package/lib/cjs/appui-react/toolbar/Toolbar.js +3 -2
- package/lib/cjs/appui-react/toolbar/Toolbar.js.map +1 -1
- package/lib/cjs/appui-react/toolbar/ToolbarComposer.d.ts +2 -1
- package/lib/cjs/appui-react/toolbar/ToolbarComposer.d.ts.map +1 -1
- package/lib/cjs/appui-react/toolbar/ToolbarComposer.js +45 -129
- package/lib/cjs/appui-react/toolbar/ToolbarComposer.js.map +1 -1
- package/lib/cjs/appui-react/toolbar/ToolbarItem.d.ts +2 -2
- package/lib/cjs/appui-react/toolbar/ToolbarItem.d.ts.map +1 -1
- package/lib/cjs/appui-react/toolbar/ToolbarItem.js +2 -2
- package/lib/cjs/appui-react/toolbar/ToolbarItem.js.map +1 -1
- package/lib/cjs/appui-react/toolbar/ToolbarItemsManager.d.ts +1 -0
- package/lib/cjs/appui-react/toolbar/ToolbarItemsManager.d.ts.map +1 -1
- package/lib/cjs/appui-react/toolbar/ToolbarItemsManager.js +12 -2
- package/lib/cjs/appui-react/toolbar/ToolbarItemsManager.js.map +1 -1
- package/lib/cjs/appui-react/toolbar/ToolbarWithOverflow.d.ts +2 -1
- package/lib/cjs/appui-react/toolbar/ToolbarWithOverflow.d.ts.map +1 -1
- package/lib/cjs/appui-react/toolbar/ToolbarWithOverflow.js +5 -9
- package/lib/cjs/appui-react/toolbar/ToolbarWithOverflow.js.map +1 -1
- package/lib/cjs/appui-react/toolbar/useActiveStageProvidedToolbarItems.d.ts +11 -0
- package/lib/cjs/appui-react/toolbar/useActiveStageProvidedToolbarItems.d.ts.map +1 -0
- package/lib/cjs/appui-react/toolbar/useActiveStageProvidedToolbarItems.js +46 -0
- package/lib/cjs/appui-react/toolbar/useActiveStageProvidedToolbarItems.js.map +1 -0
- package/lib/cjs/appui-react/toolbar/useActiveToolIdSynchedItems.d.ts +25 -0
- package/lib/cjs/appui-react/toolbar/useActiveToolIdSynchedItems.d.ts.map +1 -0
- package/lib/cjs/appui-react/toolbar/useActiveToolIdSynchedItems.js +63 -0
- package/lib/cjs/appui-react/toolbar/useActiveToolIdSynchedItems.js.map +1 -0
- package/lib/cjs/appui-react/toolbar/useDefaultToolbarItems.d.ts +1 -0
- package/lib/cjs/appui-react/toolbar/useDefaultToolbarItems.d.ts.map +1 -1
- package/lib/cjs/appui-react/toolbar/useDefaultToolbarItems.js +4 -1
- package/lib/cjs/appui-react/toolbar/useDefaultToolbarItems.js.map +1 -1
- package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.d.ts +2 -1
- package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.d.ts.map +1 -1
- package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.js +13 -30
- package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.js.map +1 -1
- package/lib/esm/appui-react/UiFramework.d.ts.map +1 -1
- package/lib/esm/appui-react/UiFramework.js +11 -10
- package/lib/esm/appui-react/UiFramework.js.map +1 -1
- package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.d.ts +1 -1
- package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.d.ts.map +1 -1
- package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.js +4 -3
- package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
- package/lib/esm/appui-react/selection/HideIsolateEmphasizeManager.d.ts.map +1 -1
- package/lib/esm/appui-react/selection/HideIsolateEmphasizeManager.js +3 -0
- package/lib/esm/appui-react/selection/HideIsolateEmphasizeManager.js.map +1 -1
- package/lib/esm/appui-react/selection/SelectionContextItemDef.d.ts.map +1 -1
- package/lib/esm/appui-react/selection/SelectionContextItemDef.js +12 -8
- package/lib/esm/appui-react/selection/SelectionContextItemDef.js.map +1 -1
- package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.d.ts +6 -4
- package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.d.ts.map +1 -1
- package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.js +49 -78
- package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.js.map +1 -1
- package/lib/esm/appui-react/toolbar/Toolbar.d.ts +10 -0
- package/lib/esm/appui-react/toolbar/Toolbar.d.ts.map +1 -1
- package/lib/esm/appui-react/toolbar/Toolbar.js +3 -2
- package/lib/esm/appui-react/toolbar/Toolbar.js.map +1 -1
- package/lib/esm/appui-react/toolbar/ToolbarComposer.d.ts +2 -1
- package/lib/esm/appui-react/toolbar/ToolbarComposer.d.ts.map +1 -1
- package/lib/esm/appui-react/toolbar/ToolbarComposer.js +45 -129
- package/lib/esm/appui-react/toolbar/ToolbarComposer.js.map +1 -1
- package/lib/esm/appui-react/toolbar/ToolbarItem.d.ts +2 -2
- package/lib/esm/appui-react/toolbar/ToolbarItem.d.ts.map +1 -1
- package/lib/esm/appui-react/toolbar/ToolbarItem.js +2 -2
- package/lib/esm/appui-react/toolbar/ToolbarItem.js.map +1 -1
- package/lib/esm/appui-react/toolbar/ToolbarItemsManager.d.ts +1 -0
- package/lib/esm/appui-react/toolbar/ToolbarItemsManager.d.ts.map +1 -1
- package/lib/esm/appui-react/toolbar/ToolbarItemsManager.js +12 -2
- package/lib/esm/appui-react/toolbar/ToolbarItemsManager.js.map +1 -1
- package/lib/esm/appui-react/toolbar/ToolbarWithOverflow.d.ts +2 -1
- package/lib/esm/appui-react/toolbar/ToolbarWithOverflow.d.ts.map +1 -1
- package/lib/esm/appui-react/toolbar/ToolbarWithOverflow.js +5 -9
- package/lib/esm/appui-react/toolbar/ToolbarWithOverflow.js.map +1 -1
- package/lib/esm/appui-react/toolbar/useActiveStageProvidedToolbarItems.d.ts +11 -0
- package/lib/esm/appui-react/toolbar/useActiveStageProvidedToolbarItems.d.ts.map +1 -0
- package/lib/esm/appui-react/toolbar/useActiveStageProvidedToolbarItems.js +42 -0
- package/lib/esm/appui-react/toolbar/useActiveStageProvidedToolbarItems.js.map +1 -0
- package/lib/esm/appui-react/toolbar/useActiveToolIdSynchedItems.d.ts +25 -0
- package/lib/esm/appui-react/toolbar/useActiveToolIdSynchedItems.d.ts.map +1 -0
- package/lib/esm/appui-react/toolbar/useActiveToolIdSynchedItems.js +59 -0
- package/lib/esm/appui-react/toolbar/useActiveToolIdSynchedItems.js.map +1 -0
- package/lib/esm/appui-react/toolbar/useDefaultToolbarItems.d.ts +1 -0
- package/lib/esm/appui-react/toolbar/useDefaultToolbarItems.d.ts.map +1 -1
- package/lib/esm/appui-react/toolbar/useDefaultToolbarItems.js +4 -1
- package/lib/esm/appui-react/toolbar/useDefaultToolbarItems.js.map +1 -1
- package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.d.ts +2 -1
- package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.d.ts.map +1 -1
- package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.js +13 -30
- package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.js.map +1 -1
- package/package.json +13 -14
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectionContextItemDef.js","sourceRoot":"","sources":["../../../../src/appui-react/selection/SelectionContextItemDef.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Tools\n */\n\nimport {\n ConditionalBooleanValue,\n IconSpecUtilities,\n} from \"@itwin/appui-abstract\";\nimport { SessionStateActionId } from \"../redux/SessionState\";\nimport { CommandItemDef } from \"../shared/CommandItemDef\";\nimport type { BaseItemState } from \"../shared/ItemDefBase\";\nimport { SyncUiEventId } from \"../syncui/SyncUiEventDispatcher\";\nimport { GroupItemDef } from \"../toolbar/GroupItem\";\nimport { UiFramework } from \"../UiFramework\";\nimport { HideIsolateEmphasizeActionHandler } from \"./HideIsolateEmphasizeManager\";\nimport svgModelIsolate from \"@bentley/icons-generic/icons/model-isolate.svg\";\nimport svgLayersIsolate from \"@bentley/icons-generic/icons/layers-isolate.svg\";\nimport svgAssetIsolate from \"@bentley/icons-generic/icons/asset-isolate.svg\";\nimport svgIsolate from \"@bentley/icons-generic/icons/isolate.svg\";\nimport svgModelHide from \"@bentley/icons-generic/icons/model-hide.svg\";\nimport svgLayersHide from \"@bentley/icons-generic/icons/layers-hide.svg\";\nimport svgAssetClassificationHide from \"@bentley/icons-generic/icons/asset-classification-hide.svg\";\nimport svgVisibilitySemiTransparent from \"@bentley/icons-generic/icons/visibility-semi-transparent.svg\";\nimport svgVisibilityHide from \"@bentley/icons-generic/icons/visibility-hide_2.svg\";\nimport svgVisibility from \"@bentley/icons-generic/icons/visibility.svg\";\n\n/** return SyncEventIds that trigger selection state function refresh.\n * @beta\n */\nexport function getFeatureOverrideSyncEventIds(): string[] {\n return [\n SyncUiEventId.ActiveContentChanged,\n SyncUiEventId.ActiveViewportChanged,\n HideIsolateEmphasizeActionHandler.hideIsolateEmphasizeUiSyncId,\n ];\n}\n\n/** return SyncEventIds that trigger selection state function refresh.\n * @beta\n */\nexport function getSelectionContextSyncEventIds(): string[] {\n return [\n SyncUiEventId.SelectionSetChanged,\n SyncUiEventId.ActiveContentChanged,\n SyncUiEventId.ActiveViewportChanged,\n SessionStateActionId.SetNumItemsSelected,\n ];\n}\n\n/** return SyncEventIds that trigger selection state function refresh.\n * @beta\n */\nexport function isNoSelectionActive(): boolean {\n const activeContentControl = UiFramework.content.getActiveContentControl();\n let selectionCount = 0;\n // istanbul ignore if\n if (!UiFramework.frameworkStateKey)\n selectionCount =\n UiFramework.store.getState()[UiFramework.frameworkStateKey].frameworkState\n .sessionState.numItemsSelected;\n\n // istanbul ignore if\n if (\n activeContentControl &&\n /* istanbul ignore next */ activeContentControl.viewport &&\n /* istanbul ignore next */ (activeContentControl.viewport.view.iModel\n .selectionSet.size > 0 ||\n /* istanbul ignore next */ selectionCount > 0)\n )\n return false;\n return true;\n}\n\n/** return ConditionalBooleanValue object used to show items if selection set is active.\n * @beta\n */\nexport function areNoFeatureOverridesActive(): boolean {\n const activeContentControl = UiFramework.content.getActiveContentControl();\n // istanbul ignore next\n if (activeContentControl && activeContentControl.viewport)\n return !UiFramework.hideIsolateEmphasizeActionHandler.areFeatureOverridesActive(\n activeContentControl.viewport\n );\n\n return true;\n}\n\n/** return ConditionalBooleanValue object used to show item if feature overrides are active.\n * @beta\n */\nexport function getIsHiddenIfFeatureOverridesActive(): ConditionalBooleanValue {\n return new ConditionalBooleanValue(\n areNoFeatureOverridesActive,\n getFeatureOverrideSyncEventIds()\n );\n}\n\n/** return ConditionalBooleanValue object used to show items if selection set is active.\n * @beta\n */\nexport function getIsHiddenIfSelectionNotActive(): ConditionalBooleanValue {\n return new ConditionalBooleanValue(\n isNoSelectionActive,\n getSelectionContextSyncEventIds()\n );\n}\n\n/** return state with isVisible set to true is SectionSet is active.\n * @beta\n */\n// istanbul ignore next\nexport function featureOverridesActiveStateFunc(\n state: Readonly<BaseItemState>\n): BaseItemState {\n const activeContentControl = UiFramework.content.getActiveContentControl();\n let isVisible = false;\n\n // istanbul ignore next\n if (activeContentControl && activeContentControl.viewport)\n isVisible =\n UiFramework.hideIsolateEmphasizeActionHandler.areFeatureOverridesActive(\n activeContentControl.viewport\n );\n\n return { ...state, isVisible };\n}\n\n/** return state with isVisible set to true is SectionSet is active.\n * @beta\n */\n// istanbul ignore next\nexport function selectionContextStateFunc(\n state: Readonly<BaseItemState>\n): BaseItemState {\n const activeContentControl = UiFramework.content.getActiveContentControl();\n let isVisible = false;\n\n let selectionCount = 0;\n if (!UiFramework.frameworkStateKey)\n selectionCount =\n UiFramework.store.getState()[UiFramework.frameworkStateKey].frameworkState\n .sessionState.numItemsSelected;\n\n if (\n activeContentControl &&\n activeContentControl.viewport &&\n (activeContentControl.viewport.view.iModel.selectionSet.size > 0 ||\n selectionCount > 0)\n )\n isVisible = true;\n return { ...state, isVisible };\n}\n\n/** Utility Class that provides definitions for tools dependent on current selection. These definitions can be used to populate toolbars.\n * @public\n */\n// istanbul ignore next\nexport class SelectionContextToolDefinitions {\n public static get isolateModelsInSelectionItemDef() {\n return new CommandItemDef({\n commandId: \"UiFramework.IsolateModel\",\n iconSpec: IconSpecUtilities.createWebComponentIconSpec(svgModelIsolate),\n labelKey: \"UiFramework:tools.isolateModels\",\n execute: async () =>\n UiFramework.hideIsolateEmphasizeActionHandler.processIsolateSelectedElementsModel(),\n });\n }\n\n public static get isolateCategoriesInSelectionItemDef() {\n return new CommandItemDef({\n commandId: \"UiFramework.IsolateCategory\",\n iconSpec: IconSpecUtilities.createWebComponentIconSpec(svgLayersIsolate),\n labelKey: \"UiFramework:tools.isolateCategories\",\n execute: async () =>\n UiFramework.hideIsolateEmphasizeActionHandler.processIsolateSelectedElementsCategory(),\n });\n }\n\n public static get isolateElementsItemDef() {\n return new CommandItemDef({\n commandId: \"UiFramework.IsolateSelected\",\n iconSpec: IconSpecUtilities.createWebComponentIconSpec(svgAssetIsolate),\n labelKey: \"UiFramework:tools.isolateSelected\",\n isHidden: getIsHiddenIfSelectionNotActive(),\n execute: async () =>\n UiFramework.hideIsolateEmphasizeActionHandler.processIsolateSelected(),\n });\n }\n\n public static get isolateSelectionToolGroup() {\n return new GroupItemDef({\n groupId: \"UiFramework.IsolateSelectionGroup\",\n labelKey: \"UiFramework:tools.isolate\",\n iconSpec: IconSpecUtilities.createWebComponentIconSpec(svgIsolate),\n isHidden: getIsHiddenIfSelectionNotActive(),\n items: [\n this.isolateElementsItemDef,\n this.isolateCategoriesInSelectionItemDef,\n this.isolateModelsInSelectionItemDef,\n ],\n itemsInColumn: 3,\n });\n }\n\n public static get hideModelsInSelectionItemDef() {\n return new CommandItemDef({\n commandId: \"UiFramework.HideModel\",\n iconSpec: IconSpecUtilities.createWebComponentIconSpec(svgModelHide),\n labelKey: \"UiFramework:tools.hideModels\",\n execute: async () =>\n UiFramework.hideIsolateEmphasizeActionHandler.processHideSelectedElementsModel(),\n });\n }\n\n public static get hideCategoriesInSelectionItemDef() {\n return new CommandItemDef({\n commandId: \"UiFramework.HideCategory\",\n iconSpec: IconSpecUtilities.createWebComponentIconSpec(svgLayersHide),\n labelKey: \"UiFramework:tools.hideCategories\",\n execute: async () =>\n UiFramework.hideIsolateEmphasizeActionHandler.processHideSelectedElementsCategory(),\n });\n }\n\n public static get hideElementsItemDef() {\n return new CommandItemDef({\n commandId: \"UiFramework.HideSelected\",\n iconSpec: IconSpecUtilities.createWebComponentIconSpec(\n svgAssetClassificationHide\n ),\n labelKey: \"UiFramework:tools.hideSelected\",\n isHidden: getIsHiddenIfSelectionNotActive(),\n execute: async () =>\n UiFramework.hideIsolateEmphasizeActionHandler.processHideSelected(),\n });\n }\n\n public static get hideSectionToolGroup() {\n return new GroupItemDef({\n groupId: \"UiFramework.HideSelectionGroup\",\n labelKey: \"UiFramework:tools.hide\",\n iconSpec: IconSpecUtilities.createWebComponentIconSpec(svgVisibilityHide),\n isHidden: getIsHiddenIfSelectionNotActive(),\n items: [\n this.hideElementsItemDef,\n this.hideCategoriesInSelectionItemDef,\n this.hideModelsInSelectionItemDef,\n ],\n itemsInColumn: 3,\n });\n }\n\n public static get emphasizeElementsItemDef() {\n return new CommandItemDef({\n commandId: \"UiFramework.EmphasizeSelected\",\n iconSpec: IconSpecUtilities.createWebComponentIconSpec(\n svgVisibilitySemiTransparent\n ),\n labelKey: \"UiFramework:tools.emphasizeSelected\",\n isHidden: getIsHiddenIfSelectionNotActive(),\n execute: async () =>\n UiFramework.hideIsolateEmphasizeActionHandler.processEmphasizeSelected(),\n });\n }\n\n public static get clearHideIsolateEmphasizeElementsItemDef() {\n return new CommandItemDef({\n commandId: \"UiFramework.ClearHideIsolateEmphasize\",\n iconSpec: IconSpecUtilities.createWebComponentIconSpec(svgVisibility),\n labelKey: \"UiFramework:tools.clearVisibility\",\n isHidden: getIsHiddenIfFeatureOverridesActive(),\n execute: async () => {\n await UiFramework.hideIsolateEmphasizeActionHandler.processClearEmphasize();\n await UiFramework.hideIsolateEmphasizeActionHandler.processClearOverrideModels();\n await UiFramework.hideIsolateEmphasizeActionHandler.processClearOverrideCategories();\n },\n });\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"SelectionContextItemDef.js","sourceRoot":"","sources":["../../../../src/appui-react/selection/SelectionContextItemDef.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Tools\n */\n\nimport {\n ConditionalBooleanValue,\n IconSpecUtilities,\n} from \"@itwin/appui-abstract\";\nimport { SessionStateActionId } from \"../redux/SessionState\";\nimport { CommandItemDef } from \"../shared/CommandItemDef\";\nimport type { BaseItemState } from \"../shared/ItemDefBase\";\nimport { SyncUiEventId } from \"../syncui/SyncUiEventDispatcher\";\nimport { GroupItemDef } from \"../toolbar/GroupItem\";\nimport { UiFramework } from \"../UiFramework\";\nimport svgModelIsolate from \"@bentley/icons-generic/icons/model-isolate.svg\";\nimport svgLayersIsolate from \"@bentley/icons-generic/icons/layers-isolate.svg\";\nimport svgAssetIsolate from \"@bentley/icons-generic/icons/asset-isolate.svg\";\nimport svgIsolate from \"@bentley/icons-generic/icons/isolate.svg\";\nimport svgModelHide from \"@bentley/icons-generic/icons/model-hide.svg\";\nimport svgLayersHide from \"@bentley/icons-generic/icons/layers-hide.svg\";\nimport svgAssetClassificationHide from \"@bentley/icons-generic/icons/asset-classification-hide.svg\";\nimport svgVisibilitySemiTransparent from \"@bentley/icons-generic/icons/visibility-semi-transparent.svg\";\nimport svgVisibilityHide from \"@bentley/icons-generic/icons/visibility-hide_2.svg\";\nimport svgVisibility from \"@bentley/icons-generic/icons/visibility.svg\";\n\n/** return SyncEventIds that trigger selection state function refresh.\n * @beta\n */\nexport function getFeatureOverrideSyncEventIds(): string[] {\n return [\n SyncUiEventId.ActiveContentChanged,\n SyncUiEventId.ActiveViewportChanged,\n SyncUiEventId.FeatureOverridesChanged,\n SyncUiEventId.ViewedModelsChanged,\n ];\n}\n\n/** return SyncEventIds that trigger selection state function refresh.\n * @beta\n */\nexport function getSelectionContextSyncEventIds(): string[] {\n return [\n SyncUiEventId.SelectionSetChanged,\n SyncUiEventId.ActiveContentChanged,\n SyncUiEventId.ActiveViewportChanged,\n SessionStateActionId.SetNumItemsSelected,\n SyncUiEventId.FeatureOverridesChanged,\n SyncUiEventId.ViewedModelsChanged,\n ];\n}\n\n/** return SyncEventIds that trigger selection state function refresh.\n * @beta\n */\nexport function isNoSelectionActive(): boolean {\n const activeContentControl = UiFramework.content.getActiveContentControl();\n let selectionCount = 0;\n // istanbul ignore if\n if (!UiFramework.frameworkStateKey)\n selectionCount =\n UiFramework.store.getState()[UiFramework.frameworkStateKey].frameworkState\n .sessionState.numItemsSelected;\n\n // istanbul ignore if\n if (activeContentControl?.viewport) {\n const hiddenElementsSet = activeContentControl.viewport.neverDrawn;\n const selectedElementsSet =\n activeContentControl.viewport.view.iModel.selectionSet.elements;\n // TODO: add check for categories, subcategories and models\n if (\n selectionCount > 0 ||\n ![...selectedElementsSet].every((value) => hiddenElementsSet?.has(value))\n )\n return false;\n }\n return true;\n}\n\n/** return ConditionalBooleanValue object used to show items if selection set is active.\n * @beta\n */\nexport function areNoFeatureOverridesActive(): boolean {\n const activeContentControl = UiFramework.content.getActiveContentControl();\n // istanbul ignore next\n if (activeContentControl && activeContentControl.viewport)\n return !UiFramework.hideIsolateEmphasizeActionHandler.areFeatureOverridesActive(\n activeContentControl.viewport\n );\n\n return true;\n}\n\n/** return ConditionalBooleanValue object used to show item if feature overrides are active.\n * @beta\n */\nexport function getIsHiddenIfFeatureOverridesActive(): ConditionalBooleanValue {\n return new ConditionalBooleanValue(\n areNoFeatureOverridesActive,\n getFeatureOverrideSyncEventIds()\n );\n}\n\n/** return ConditionalBooleanValue object used to show items if selection set is active.\n * @beta\n */\nexport function getIsHiddenIfSelectionNotActive(): ConditionalBooleanValue {\n return new ConditionalBooleanValue(\n isNoSelectionActive,\n getSelectionContextSyncEventIds()\n );\n}\n\n/** return state with isVisible set to true is SectionSet is active.\n * @beta\n */\n// istanbul ignore next\nexport function featureOverridesActiveStateFunc(\n state: Readonly<BaseItemState>\n): BaseItemState {\n const activeContentControl = UiFramework.content.getActiveContentControl();\n let isVisible = false;\n\n // istanbul ignore next\n if (activeContentControl && activeContentControl.viewport)\n isVisible =\n UiFramework.hideIsolateEmphasizeActionHandler.areFeatureOverridesActive(\n activeContentControl.viewport\n );\n\n return { ...state, isVisible };\n}\n\n/** return state with isVisible set to true is SectionSet is active.\n * @beta\n */\n// istanbul ignore next\nexport function selectionContextStateFunc(\n state: Readonly<BaseItemState>\n): BaseItemState {\n const activeContentControl = UiFramework.content.getActiveContentControl();\n let isVisible = false;\n\n let selectionCount = 0;\n if (!UiFramework.frameworkStateKey)\n selectionCount =\n UiFramework.store.getState()[UiFramework.frameworkStateKey].frameworkState\n .sessionState.numItemsSelected;\n\n if (\n activeContentControl &&\n activeContentControl.viewport &&\n (activeContentControl.viewport.view.iModel.selectionSet.size > 0 ||\n selectionCount > 0)\n )\n isVisible = true;\n return { ...state, isVisible };\n}\n\n/** Utility Class that provides definitions for tools dependent on current selection. These definitions can be used to populate toolbars.\n * @public\n */\n// istanbul ignore next\nexport class SelectionContextToolDefinitions {\n public static get isolateModelsInSelectionItemDef() {\n return new CommandItemDef({\n commandId: \"UiFramework.IsolateModel\",\n iconSpec: IconSpecUtilities.createWebComponentIconSpec(svgModelIsolate),\n labelKey: \"UiFramework:tools.isolateModels\",\n execute: async () =>\n UiFramework.hideIsolateEmphasizeActionHandler.processIsolateSelectedElementsModel(),\n });\n }\n\n public static get isolateCategoriesInSelectionItemDef() {\n return new CommandItemDef({\n commandId: \"UiFramework.IsolateCategory\",\n iconSpec: IconSpecUtilities.createWebComponentIconSpec(svgLayersIsolate),\n labelKey: \"UiFramework:tools.isolateCategories\",\n execute: async () =>\n UiFramework.hideIsolateEmphasizeActionHandler.processIsolateSelectedElementsCategory(),\n });\n }\n\n public static get isolateElementsItemDef() {\n return new CommandItemDef({\n commandId: \"UiFramework.IsolateSelected\",\n iconSpec: IconSpecUtilities.createWebComponentIconSpec(svgAssetIsolate),\n labelKey: \"UiFramework:tools.isolateSelected\",\n isHidden: getIsHiddenIfSelectionNotActive(),\n execute: async () =>\n UiFramework.hideIsolateEmphasizeActionHandler.processIsolateSelected(),\n });\n }\n\n public static get isolateSelectionToolGroup() {\n return new GroupItemDef({\n groupId: \"UiFramework.IsolateSelectionGroup\",\n labelKey: \"UiFramework:tools.isolate\",\n iconSpec: IconSpecUtilities.createWebComponentIconSpec(svgIsolate),\n isHidden: getIsHiddenIfSelectionNotActive(),\n items: [\n this.isolateElementsItemDef,\n this.isolateCategoriesInSelectionItemDef,\n this.isolateModelsInSelectionItemDef,\n ],\n itemsInColumn: 3,\n });\n }\n\n public static get hideModelsInSelectionItemDef() {\n return new CommandItemDef({\n commandId: \"UiFramework.HideModel\",\n iconSpec: IconSpecUtilities.createWebComponentIconSpec(svgModelHide),\n labelKey: \"UiFramework:tools.hideModels\",\n execute: async () =>\n UiFramework.hideIsolateEmphasizeActionHandler.processHideSelectedElementsModel(),\n });\n }\n\n public static get hideCategoriesInSelectionItemDef() {\n return new CommandItemDef({\n commandId: \"UiFramework.HideCategory\",\n iconSpec: IconSpecUtilities.createWebComponentIconSpec(svgLayersHide),\n labelKey: \"UiFramework:tools.hideCategories\",\n execute: async () =>\n UiFramework.hideIsolateEmphasizeActionHandler.processHideSelectedElementsCategory(),\n });\n }\n\n public static get hideElementsItemDef() {\n return new CommandItemDef({\n commandId: \"UiFramework.HideSelected\",\n iconSpec: IconSpecUtilities.createWebComponentIconSpec(\n svgAssetClassificationHide\n ),\n labelKey: \"UiFramework:tools.hideSelected\",\n isHidden: getIsHiddenIfSelectionNotActive(),\n execute: async () =>\n UiFramework.hideIsolateEmphasizeActionHandler.processHideSelected(),\n });\n }\n\n public static get hideSectionToolGroup() {\n return new GroupItemDef({\n groupId: \"UiFramework.HideSelectionGroup\",\n labelKey: \"UiFramework:tools.hide\",\n iconSpec: IconSpecUtilities.createWebComponentIconSpec(svgVisibilityHide),\n isHidden: getIsHiddenIfSelectionNotActive(),\n items: [\n this.hideElementsItemDef,\n this.hideCategoriesInSelectionItemDef,\n this.hideModelsInSelectionItemDef,\n ],\n itemsInColumn: 3,\n });\n }\n\n public static get emphasizeElementsItemDef() {\n return new CommandItemDef({\n commandId: \"UiFramework.EmphasizeSelected\",\n iconSpec: IconSpecUtilities.createWebComponentIconSpec(\n svgVisibilitySemiTransparent\n ),\n labelKey: \"UiFramework:tools.emphasizeSelected\",\n isHidden: getIsHiddenIfSelectionNotActive(),\n execute: async () =>\n UiFramework.hideIsolateEmphasizeActionHandler.processEmphasizeSelected(),\n });\n }\n\n public static get clearHideIsolateEmphasizeElementsItemDef() {\n return new CommandItemDef({\n commandId: \"UiFramework.ClearHideIsolateEmphasize\",\n iconSpec: IconSpecUtilities.createWebComponentIconSpec(svgVisibility),\n labelKey: \"UiFramework:tools.clearVisibility\",\n isHidden: getIsHiddenIfFeatureOverridesActive(),\n execute: async () => {\n await UiFramework.hideIsolateEmphasizeActionHandler.processClearEmphasize();\n await UiFramework.hideIsolateEmphasizeActionHandler.processClearOverrideModels();\n await UiFramework.hideIsolateEmphasizeActionHandler.processClearOverrideCategories();\n },\n });\n }\n}\n"]}
|
|
@@ -45,7 +45,8 @@ export declare enum SyncUiEventId {
|
|
|
45
45
|
UiStateStorageChanged = "uistatestoragechanged",
|
|
46
46
|
ShowHideManagerSettingChange = "show-hide-setting-change",
|
|
47
47
|
/** The list of feature overrides applied has been changed */
|
|
48
|
-
FeatureOverridesChanged = "featureoverrideschanged"
|
|
48
|
+
FeatureOverridesChanged = "featureoverrideschanged",
|
|
49
|
+
ViewedModelsChanged = "viewedmodelschanged"
|
|
49
50
|
}
|
|
50
51
|
/** This class is used to send eventIds to interested UI components so the component can determine if it needs
|
|
51
52
|
* to refresh its display by calling setState on itself.
|
|
@@ -53,8 +54,9 @@ export declare enum SyncUiEventId {
|
|
|
53
54
|
*/
|
|
54
55
|
export declare class SyncUiEventDispatcher {
|
|
55
56
|
private static _uiEventDispatcher;
|
|
56
|
-
private static
|
|
57
|
-
private static
|
|
57
|
+
private static _unregisterFuncs;
|
|
58
|
+
private static _connectionUnregisterFuncs;
|
|
59
|
+
private static _iModelConnection?;
|
|
58
60
|
/** @internal - used for testing only */
|
|
59
61
|
static setTimeoutPeriod(period: number): void;
|
|
60
62
|
/** Return set of event ids that will be sent to listeners/. */
|
|
@@ -71,9 +73,9 @@ export declare class SyncUiEventDispatcher {
|
|
|
71
73
|
static hasEventOfInterest(eventIds: Set<string>, idsOfInterest: string[]): boolean;
|
|
72
74
|
private static _dispatchViewChange;
|
|
73
75
|
private static _dispatchFeatureOverridesChange;
|
|
76
|
+
private static _dispatchViewedModelsChanged;
|
|
74
77
|
/** Initializes the Monitoring of Events that trigger dispatching sync events */
|
|
75
78
|
static initialize(): void;
|
|
76
|
-
private static selectionChangedHandler;
|
|
77
79
|
/** This should be called by IModelApp when the active IModelConnection is closed. */
|
|
78
80
|
static clearConnectionEvents(iModelConnection: IModelConnection): void;
|
|
79
81
|
/** This should be called by IModelApp when the active IModelConnection is established. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SyncUiEventDispatcher.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/syncui/SyncUiEventDispatcher.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGzD,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"SyncUiEventDispatcher.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/syncui/SyncUiEventDispatcher.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAW7D;;GAEG;AACH,oBAAY,aAAa;IACvB,yCAAyC;IACzC,0BAA0B,+BAA+B;IACzD,qCAAqC;IACrC,uBAAuB,4BAA4B;IACnD,8EAA8E;IAC9E,oBAAoB,yBAAyB;IAC7C,iEAAiE;IACjE,qBAAqB,0BAA0B;IAC/C,kCAAkC;IAClC,cAAc,mBAAmB;IACjC,4CAA4C;IAC5C,sBAAsB,2BAA2B;IACjD,kFAAkF;IAClF,uBAAuB,4BAA4B;IACnD,kCAAkC;IAClC,oBAAoB,yBAAyB;IAC7C,yEAAyE;IACzE,eAAe,oBAAoB;IACnC,oDAAoD;IACpD,sBAAsB,2BAA2B;IACjD,gDAAgD;IAChD,kBAAkB,uBAAuB;IACzC,0CAA0C;IAC1C,sBAAsB,2BAA2B;IACjD,+DAA+D;IAC/D,aAAa,kBAAkB;IAC/B,yCAAyC;IACzC,kBAAkB,uBAAuB;IACzC,oEAAoE;IACpE,mBAAmB,wBAAwB;IAC3C,kFAAkF;IAClF,wBAAwB,6BAA6B;IACrD,mFAAmF;IACnF,gBAAgB,qBAAqB;IACrC,mEAAmE;IACnE,qBAAqB,0BAA0B;IAC/C,4BAA4B,6BAA6B;IACzD,6DAA6D;IAC7D,uBAAuB,4BAA4B;IACnD,mBAAmB,wBAAwB;CAC5C;AAED;;;GAGG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAA2B;IAC5D,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAA2B;IAC1D,OAAO,CAAC,MAAM,CAAC,0BAA0B,CAA2B;IACpE,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAmB;IAEpD,wCAAwC;WAE1B,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAIpD,+DAA+D;IAC/D,WAAkB,YAAY,IAAI,GAAG,CAAC,MAAM,CAAC,CAE5C;IAED,oEAAoE;IACpE,WAAkB,aAAa,IAAI,WAAW,CAE7C;IAED,iDAAiD;WACnC,4BAA4B,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAMjE,0CAA0C;WAC5B,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAWxD,oDAAoD;WACtC,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI;IAW5D,kFAAkF;WACpE,kBAAkB,CAC9B,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,EACrB,aAAa,EAAE,MAAM,EAAE;IASzB,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAOlC,OAAO,CAAC,MAAM,CAAC,+BAA+B;IAO9C,OAAO,CAAC,MAAM,CAAC,4BAA4B;IAM3C,gFAAgF;WAClE,UAAU;IA2FxB,qFAAqF;WACvE,qBAAqB,CAAC,gBAAgB,EAAE,gBAAgB;IAMtE,0FAA0F;WAC5E,0BAA0B,CAAC,gBAAgB,EAAE,gBAAgB;CAoB5E"}
|
|
@@ -59,6 +59,7 @@ export var SyncUiEventId;
|
|
|
59
59
|
SyncUiEventId["ShowHideManagerSettingChange"] = "show-hide-setting-change";
|
|
60
60
|
/** The list of feature overrides applied has been changed */
|
|
61
61
|
SyncUiEventId["FeatureOverridesChanged"] = "featureoverrideschanged";
|
|
62
|
+
SyncUiEventId["ViewedModelsChanged"] = "viewedmodelschanged";
|
|
62
63
|
})(SyncUiEventId || (SyncUiEventId = {}));
|
|
63
64
|
/** This class is used to send eventIds to interested UI components so the component can determine if it needs
|
|
64
65
|
* to refresh its display by calling setState on itself.
|
|
@@ -110,106 +111,76 @@ class SyncUiEventDispatcher {
|
|
|
110
111
|
static _dispatchFeatureOverridesChange() {
|
|
111
112
|
SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(SyncUiEventId.FeatureOverridesChanged);
|
|
112
113
|
}
|
|
114
|
+
// istanbul ignore next
|
|
115
|
+
static _dispatchViewedModelsChanged() {
|
|
116
|
+
SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(SyncUiEventId.ViewedModelsChanged);
|
|
117
|
+
}
|
|
113
118
|
/** Initializes the Monitoring of Events that trigger dispatching sync events */
|
|
114
119
|
static initialize() {
|
|
115
120
|
// clear any registered listeners - this should only be encountered in unit test scenarios
|
|
116
|
-
this.
|
|
117
|
-
this.
|
|
121
|
+
this._unregisterFuncs.forEach((unregister) => unregister());
|
|
122
|
+
this._unregisterFuncs = [];
|
|
123
|
+
this._unregisterFuncs.push(UiFramework.frontstages.onContentControlActivatedEvent.addListener(() => {
|
|
118
124
|
SyncUiEventDispatcher.dispatchSyncUiEvent(SyncUiEventId.ContentControlActivated);
|
|
119
|
-
}))
|
|
120
|
-
this._unregisterListenerFuncs.push(UiFramework.frontstages.onContentLayoutActivatedEvent.addListener(() => {
|
|
125
|
+
}), UiFramework.frontstages.onContentLayoutActivatedEvent.addListener(() => {
|
|
121
126
|
SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(SyncUiEventId.ContentLayoutActivated);
|
|
122
|
-
}))
|
|
123
|
-
this._unregisterListenerFuncs.push(UiFramework.frontstages.onFrontstageActivatedEvent.addListener(() => {
|
|
127
|
+
}), UiFramework.frontstages.onFrontstageActivatedEvent.addListener(() => {
|
|
124
128
|
SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(SyncUiEventId.FrontstageActivating);
|
|
125
|
-
}))
|
|
126
|
-
this._unregisterListenerFuncs.push(UiFramework.frontstages.onFrontstageReadyEvent.addListener(() => {
|
|
129
|
+
}), UiFramework.frontstages.onFrontstageReadyEvent.addListener(() => {
|
|
127
130
|
SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(SyncUiEventId.FrontstageReady);
|
|
128
|
-
}))
|
|
129
|
-
this._unregisterListenerFuncs.push(UiFramework.frontstages.onModalFrontstageChangedEvent.addListener(() => {
|
|
131
|
+
}), UiFramework.frontstages.onModalFrontstageChangedEvent.addListener(() => {
|
|
130
132
|
SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(SyncUiEventId.ModalFrontstageChanged);
|
|
131
|
-
}))
|
|
132
|
-
this._unregisterListenerFuncs.push(UiFramework.frontstages.onNavigationAidActivatedEvent.addListener(() => {
|
|
133
|
+
}), UiFramework.frontstages.onNavigationAidActivatedEvent.addListener(() => {
|
|
133
134
|
SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(SyncUiEventId.NavigationAidActivated);
|
|
134
|
-
}))
|
|
135
|
-
this._unregisterListenerFuncs.push(UiFramework.frontstages.onToolActivatedEvent.addListener(() => {
|
|
135
|
+
}), UiFramework.frontstages.onToolActivatedEvent.addListener(() => {
|
|
136
136
|
SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(SyncUiEventId.ToolActivated);
|
|
137
|
-
}))
|
|
138
|
-
this._unregisterListenerFuncs.push(UiFramework.frontstages.onWidgetStateChangedEvent.addListener(() => {
|
|
137
|
+
}), UiFramework.frontstages.onWidgetStateChangedEvent.addListener(() => {
|
|
139
138
|
SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(SyncUiEventId.WidgetStateChanged);
|
|
140
|
-
}))
|
|
141
|
-
this._unregisterListenerFuncs.push(UiFramework.backstage.onToggled.addListener(() => {
|
|
139
|
+
}), UiFramework.backstage.onToggled.addListener(() => {
|
|
142
140
|
SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(SyncUiEventId.BackstageEvent);
|
|
143
|
-
}))
|
|
144
|
-
this._unregisterListenerFuncs.push(UiFramework.content.onActiveContentChangedEvent.addListener(() => {
|
|
141
|
+
}), UiFramework.content.onActiveContentChangedEvent.addListener(() => {
|
|
145
142
|
SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(SyncUiEventId.ActiveContentChanged);
|
|
143
|
+
}), IModelApp.viewManager.onSelectedViewportChanged.addListener((args) => {
|
|
144
|
+
SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(SyncUiEventId.ActiveViewportChanged);
|
|
145
|
+
// if this is the first view being opened up start the default tool so tool admin is happy.
|
|
146
|
+
if (undefined === args.previous) {
|
|
147
|
+
void IModelApp.toolAdmin.startDefaultTool();
|
|
148
|
+
}
|
|
149
|
+
else {
|
|
150
|
+
args.previous.onViewChanged.removeListener(SyncUiEventDispatcher._dispatchViewChange);
|
|
151
|
+
args.previous.onFeatureOverridesChanged.removeListener(SyncUiEventDispatcher._dispatchFeatureOverridesChange);
|
|
152
|
+
args.previous.onViewedModelsChanged.removeListener(SyncUiEventDispatcher._dispatchViewedModelsChanged);
|
|
153
|
+
}
|
|
154
|
+
// istanbul ignore next
|
|
155
|
+
if (args.current) {
|
|
156
|
+
args.current.onViewChanged.addListener(SyncUiEventDispatcher._dispatchViewChange);
|
|
157
|
+
args.current.onFeatureOverridesChanged.addListener(SyncUiEventDispatcher._dispatchFeatureOverridesChange);
|
|
158
|
+
args.current.onViewedModelsChanged.addListener(SyncUiEventDispatcher._dispatchViewedModelsChanged);
|
|
159
|
+
}
|
|
146
160
|
}));
|
|
147
|
-
// istanbul ignore else
|
|
148
|
-
if (IModelApp && IModelApp.viewManager) {
|
|
149
|
-
this._unregisterListenerFuncs.push(IModelApp.viewManager.onSelectedViewportChanged.addListener((args) => {
|
|
150
|
-
SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(SyncUiEventId.ActiveViewportChanged);
|
|
151
|
-
// if this is the first view being opened up start the default tool so tool admin is happy.
|
|
152
|
-
if (undefined === args.previous) {
|
|
153
|
-
void IModelApp.toolAdmin.startDefaultTool();
|
|
154
|
-
}
|
|
155
|
-
else {
|
|
156
|
-
// istanbul ignore next
|
|
157
|
-
if (args.previous.onViewChanged &&
|
|
158
|
-
typeof args.previous.onViewChanged.removeListener === "function")
|
|
159
|
-
// not set during unit test
|
|
160
|
-
args.previous.onViewChanged.removeListener(SyncUiEventDispatcher._dispatchViewChange);
|
|
161
|
-
// istanbul ignore next
|
|
162
|
-
if (args.previous.onFeatureOverridesChanged &&
|
|
163
|
-
typeof args.previous.onFeatureOverridesChanged
|
|
164
|
-
.removeListener === "function")
|
|
165
|
-
// not set during unit test
|
|
166
|
-
args.previous.onFeatureOverridesChanged.removeListener(SyncUiEventDispatcher._dispatchFeatureOverridesChange);
|
|
167
|
-
}
|
|
168
|
-
// istanbul ignore next
|
|
169
|
-
if (args.current) {
|
|
170
|
-
if (args.current.onViewChanged &&
|
|
171
|
-
typeof args.current.onViewChanged.addListener === "function")
|
|
172
|
-
// not set during unit test
|
|
173
|
-
args.current.onViewChanged.addListener(SyncUiEventDispatcher._dispatchViewChange);
|
|
174
|
-
// istanbul ignore next
|
|
175
|
-
if (args.current.onFeatureOverridesChanged &&
|
|
176
|
-
typeof args.current.onFeatureOverridesChanged.addListener ===
|
|
177
|
-
"function")
|
|
178
|
-
// not set during unit test
|
|
179
|
-
args.current.onFeatureOverridesChanged.addListener(SyncUiEventDispatcher._dispatchFeatureOverridesChange);
|
|
180
|
-
}
|
|
181
|
-
}));
|
|
182
|
-
}
|
|
183
|
-
}
|
|
184
|
-
static selectionChangedHandler(_ev) {
|
|
185
|
-
SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(SyncUiEventId.SelectionSetChanged);
|
|
186
161
|
}
|
|
187
162
|
/** This should be called by IModelApp when the active IModelConnection is closed. */
|
|
188
163
|
static clearConnectionEvents(iModelConnection) {
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
164
|
+
if (this._iModelConnection !== iModelConnection)
|
|
165
|
+
return;
|
|
166
|
+
this._connectionUnregisterFuncs.forEach((unregister) => unregister());
|
|
167
|
+
this._connectionUnregisterFuncs = [];
|
|
192
168
|
}
|
|
193
169
|
/** This should be called by IModelApp when the active IModelConnection is established. */
|
|
194
170
|
static initializeConnectionEvents(iModelConnection) {
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
}
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
UiFramework.setActiveIModelId(iModelConnection.iModelId);
|
|
205
|
-
SyncUiEventDispatcher._unregisterListenerFunc =
|
|
206
|
-
iModelConnection.selectionSet.onChanged.addListener((ev) => {
|
|
207
|
-
const numSelected = ev.set.elements.size;
|
|
208
|
-
UiFramework.dispatchActionToStore(SessionStateActionId.SetNumItemsSelected, numSelected);
|
|
209
|
-
});
|
|
171
|
+
this._iModelConnection &&
|
|
172
|
+
this.clearConnectionEvents(this._iModelConnection);
|
|
173
|
+
this._iModelConnection = iModelConnection;
|
|
174
|
+
this._connectionUnregisterFuncs.push(iModelConnection.selectionSet.onChanged.addListener(() => {
|
|
175
|
+
SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(SyncUiEventId.SelectionSetChanged);
|
|
176
|
+
}), iModelConnection.selectionSet.onChanged.addListener((ev) => {
|
|
177
|
+
const numSelected = ev.set.elements.size;
|
|
178
|
+
UiFramework.dispatchActionToStore(SessionStateActionId.SetNumItemsSelected, numSelected);
|
|
179
|
+
}));
|
|
210
180
|
}
|
|
211
181
|
}
|
|
212
182
|
SyncUiEventDispatcher._uiEventDispatcher = new UiEventDispatcher();
|
|
213
|
-
SyncUiEventDispatcher.
|
|
183
|
+
SyncUiEventDispatcher._unregisterFuncs = new Array();
|
|
184
|
+
SyncUiEventDispatcher._connectionUnregisterFuncs = new Array();
|
|
214
185
|
export { SyncUiEventDispatcher };
|
|
215
186
|
//# sourceMappingURL=SyncUiEventDispatcher.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SyncUiEventDispatcher.js","sourceRoot":"","sources":["../../../../src/appui-react/syncui/SyncUiEventDispatcher.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module SyncUi\n */\n\nimport type { UiSyncEvent } from \"@itwin/appui-abstract\";\nimport { UiEventDispatcher } from \"@itwin/appui-abstract\";\nimport { Logger } from \"@itwin/core-bentley\";\nimport type {\n IModelConnection,\n SelectedViewportChangedArgs,\n SelectionSetEvent,\n} from \"@itwin/core-frontend\";\nimport { IModelApp } from \"@itwin/core-frontend\";\nimport { SessionStateActionId } from \"../redux/SessionState\";\nimport { UiFramework } from \"../UiFramework\";\n\n// cSpell:ignore activecontentchanged, activitymessageupdated, activitymessagecancelled, backstageevent, contentlayoutactivated, contentcontrolactivated,\n// cSpell:ignore elementtooltipchanged, frontstageactivated, inputfieldmessageadded, inputfieldmessageremoved, modalfrontstagechanged, modaldialogchanged\n// cSpell:ignore navigationaidactivated, notificationmessageadded, toolactivated, taskactivated, widgetstatechanged, workflowactivated frontstageactivating\n// cSpell:ignore frontstageready activeviewportchanged selectionsetchanged presentationselectionchanged viewstatechanged\n// cSpell:ignore accudrawcompassmodechanged accudrawfieldlockchanged accudrawrotationchanged uisettingschanged configurableui\n\n/** Event Id used to sync UI components. Used to refresh visibility or enable state of control.\n * @public\n */\nexport enum SyncUiEventId {\n /** AccuDraw compass mode has changed. */\n AccuDrawCompassModeChanged = \"accudrawcompassmodechanged\",\n /** AccuDraw rotation has changed. */\n AccuDrawRotationChanged = \"accudrawrotationchanged\",\n /** The active content as maintained by the ContentViewManager has changed. */\n ActiveContentChanged = \"activecontentchanged\",\n /** The active view maintained by the ViewManager has changed. */\n ActiveViewportChanged = \"activeviewportchanged\",\n /** Backstage has been toggled. */\n BackstageEvent = \"backstageevent\",\n /** A Content Layout has been activated. */\n ContentLayoutActivated = \"contentlayoutactivated\",\n /** A Content Control maintained by UiFramework.frontstages has been activated. */\n ContentControlActivated = \"contentcontrolactivated\",\n /** A Frontstage is activating. */\n FrontstageActivating = \"frontstageactivating\",\n /** A Frontstage has been activated and the content has been assigned. */\n FrontstageReady = \"frontstageready\",\n /** A Modal Frontstage has been opened or closed. */\n ModalFrontstageChanged = \"modalfrontstagechanged\",\n /** A Modal Dialog has been opened or closed. */\n ModalDialogChanged = \"modaldialogchanged\",\n /** A NavigationAid has been activated. */\n NavigationAidActivated = \"navigationaidactivated\",\n /** An InteractiveTool has been activated via the ToolAdmin. */\n ToolActivated = \"toolactivated\",\n /** The state of a Widget has changed. */\n WidgetStateChanged = \"widgetstatechanged\",\n /** The SelectionSet for the active IModelConnection has changed. */\n SelectionSetChanged = \"selectionsetchanged\",\n /** The list of settings providers registered with SettingsManager has changed. */\n SettingsProvidersChanged = \"settingsproviderschanged\",\n /** The current view state has changed (used by view undo/redo toolbar buttons). */\n ViewStateChanged = \"viewstatechanged\",\n /** The current object the reads and write UI State has changed. */\n UiStateStorageChanged = \"uistatestoragechanged\",\n ShowHideManagerSettingChange = \"show-hide-setting-change\",\n /** The list of feature overrides applied has been changed */\n FeatureOverridesChanged = \"featureoverrideschanged\",\n}\n\n/** This class is used to send eventIds to interested UI components so the component can determine if it needs\n * to refresh its display by calling setState on itself.\n * @public\n */\nexport class SyncUiEventDispatcher {\n private static _uiEventDispatcher = new UiEventDispatcher();\n private static _unregisterListenerFunc?: () => void;\n private static _unregisterListenerFuncs: Array<() => void> = [];\n\n /** @internal - used for testing only */\n /* istanbul ignore next */\n public static setTimeoutPeriod(period: number): void {\n SyncUiEventDispatcher._uiEventDispatcher.setTimeoutPeriod(period);\n }\n\n /** Return set of event ids that will be sent to listeners/. */\n public static get syncEventIds(): Set<string> {\n return SyncUiEventDispatcher._uiEventDispatcher.syncEventIds;\n }\n\n /** Return SyncUiEvent so callers can register an event callback. */\n public static get onSyncUiEvent(): UiSyncEvent {\n return SyncUiEventDispatcher._uiEventDispatcher.onSyncUiEvent;\n }\n\n /** Immediately trigger sync event processing. */\n public static dispatchImmediateSyncUiEvent(eventId: string): void {\n SyncUiEventDispatcher._uiEventDispatcher.dispatchImmediateSyncUiEvent(\n eventId\n );\n }\n\n /** Save eventId in Set for processing. */\n public static dispatchSyncUiEvent(eventId: string): void {\n if (0 === SyncUiEventDispatcher._uiEventDispatcher.timeoutPeriod) {\n Logger.logInfo(\n UiFramework.loggerCategory(this),\n `[dispatchSyncUiEvent] not processed because timeoutPeriod=0`\n );\n return;\n }\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(eventId);\n }\n\n /** Save multiple eventIds in Set for processing. */\n public static dispatchSyncUiEvents(eventIds: string[]): void {\n // istanbul ignore if\n if (0 === SyncUiEventDispatcher._uiEventDispatcher.timeoutPeriod) {\n Logger.logInfo(\n UiFramework.loggerCategory(this),\n `[dispatchSyncUiEvents] not processed because _timeoutPeriod=0`\n );\n }\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvents(eventIds);\n }\n\n /** Checks to see if an eventId of interest is contained in the set of eventIds */\n public static hasEventOfInterest(\n eventIds: Set<string>,\n idsOfInterest: string[]\n ) {\n return SyncUiEventDispatcher._uiEventDispatcher.hasEventOfInterest(\n eventIds,\n idsOfInterest\n );\n }\n\n // istanbul ignore next\n private static _dispatchViewChange() {\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(\n SyncUiEventId.ViewStateChanged\n );\n }\n\n // istanbul ignore next\n private static _dispatchFeatureOverridesChange() {\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(\n SyncUiEventId.FeatureOverridesChanged\n );\n }\n\n /** Initializes the Monitoring of Events that trigger dispatching sync events */\n public static initialize() {\n // clear any registered listeners - this should only be encountered in unit test scenarios\n this._unregisterListenerFuncs.forEach((unregisterListenerFunc) =>\n unregisterListenerFunc()\n );\n\n this._unregisterListenerFuncs.push(\n UiFramework.frontstages.onContentControlActivatedEvent.addListener(() => {\n SyncUiEventDispatcher.dispatchSyncUiEvent(\n SyncUiEventId.ContentControlActivated\n );\n })\n );\n\n this._unregisterListenerFuncs.push(\n UiFramework.frontstages.onContentLayoutActivatedEvent.addListener(() => {\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(\n SyncUiEventId.ContentLayoutActivated\n );\n })\n );\n\n this._unregisterListenerFuncs.push(\n UiFramework.frontstages.onFrontstageActivatedEvent.addListener(() => {\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(\n SyncUiEventId.FrontstageActivating\n );\n })\n );\n\n this._unregisterListenerFuncs.push(\n UiFramework.frontstages.onFrontstageReadyEvent.addListener(() => {\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(\n SyncUiEventId.FrontstageReady\n );\n })\n );\n\n this._unregisterListenerFuncs.push(\n UiFramework.frontstages.onModalFrontstageChangedEvent.addListener(() => {\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(\n SyncUiEventId.ModalFrontstageChanged\n );\n })\n );\n\n this._unregisterListenerFuncs.push(\n UiFramework.frontstages.onNavigationAidActivatedEvent.addListener(() => {\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(\n SyncUiEventId.NavigationAidActivated\n );\n })\n );\n\n this._unregisterListenerFuncs.push(\n UiFramework.frontstages.onToolActivatedEvent.addListener(() => {\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(\n SyncUiEventId.ToolActivated\n );\n })\n );\n\n this._unregisterListenerFuncs.push(\n UiFramework.frontstages.onWidgetStateChangedEvent.addListener(() => {\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(\n SyncUiEventId.WidgetStateChanged\n );\n })\n );\n\n this._unregisterListenerFuncs.push(\n UiFramework.backstage.onToggled.addListener(() => {\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(\n SyncUiEventId.BackstageEvent\n );\n })\n );\n\n this._unregisterListenerFuncs.push(\n UiFramework.content.onActiveContentChangedEvent.addListener(() => {\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(\n SyncUiEventId.ActiveContentChanged\n );\n })\n );\n\n // istanbul ignore else\n if (IModelApp && IModelApp.viewManager) {\n this._unregisterListenerFuncs.push(\n IModelApp.viewManager.onSelectedViewportChanged.addListener(\n (args: SelectedViewportChangedArgs) => {\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(\n SyncUiEventId.ActiveViewportChanged\n );\n\n // if this is the first view being opened up start the default tool so tool admin is happy.\n if (undefined === args.previous) {\n void IModelApp.toolAdmin.startDefaultTool();\n } else {\n // istanbul ignore next\n if (\n args.previous.onViewChanged &&\n typeof args.previous.onViewChanged.removeListener === \"function\"\n )\n // not set during unit test\n args.previous.onViewChanged.removeListener(\n SyncUiEventDispatcher._dispatchViewChange\n );\n // istanbul ignore next\n if (\n args.previous.onFeatureOverridesChanged &&\n typeof args.previous.onFeatureOverridesChanged\n .removeListener === \"function\"\n )\n // not set during unit test\n args.previous.onFeatureOverridesChanged.removeListener(\n SyncUiEventDispatcher._dispatchFeatureOverridesChange\n );\n }\n // istanbul ignore next\n if (args.current) {\n if (\n args.current.onViewChanged &&\n typeof args.current.onViewChanged.addListener === \"function\"\n )\n // not set during unit test\n args.current.onViewChanged.addListener(\n SyncUiEventDispatcher._dispatchViewChange\n );\n // istanbul ignore next\n if (\n args.current.onFeatureOverridesChanged &&\n typeof args.current.onFeatureOverridesChanged.addListener ===\n \"function\"\n )\n // not set during unit test\n args.current.onFeatureOverridesChanged.addListener(\n SyncUiEventDispatcher._dispatchFeatureOverridesChange\n );\n }\n }\n )\n );\n }\n }\n\n private static selectionChangedHandler(_ev: SelectionSetEvent) {\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(\n SyncUiEventId.SelectionSetChanged\n );\n }\n\n /** This should be called by IModelApp when the active IModelConnection is closed. */\n public static clearConnectionEvents(iModelConnection: IModelConnection) {\n iModelConnection.selectionSet.onChanged.removeListener(\n SyncUiEventDispatcher.selectionChangedHandler\n );\n SyncUiEventDispatcher._unregisterListenerFunc &&\n SyncUiEventDispatcher._unregisterListenerFunc();\n }\n\n /** This should be called by IModelApp when the active IModelConnection is established. */\n public static initializeConnectionEvents(iModelConnection: IModelConnection) {\n if (SyncUiEventDispatcher._unregisterListenerFunc)\n SyncUiEventDispatcher._unregisterListenerFunc();\n\n if (iModelConnection.isBlankConnection() || !iModelConnection.isOpen) {\n UiFramework.dispatchActionToStore(\n SessionStateActionId.SetNumItemsSelected,\n 0\n );\n return;\n }\n\n iModelConnection.selectionSet.onChanged.removeListener(\n SyncUiEventDispatcher.selectionChangedHandler\n );\n iModelConnection.selectionSet.onChanged.addListener(\n SyncUiEventDispatcher.selectionChangedHandler\n );\n iModelConnection.iModelId &&\n UiFramework.setActiveIModelId(iModelConnection.iModelId);\n\n SyncUiEventDispatcher._unregisterListenerFunc =\n iModelConnection.selectionSet.onChanged.addListener((ev) => {\n const numSelected = ev.set.elements.size;\n UiFramework.dispatchActionToStore(\n SessionStateActionId.SetNumItemsSelected,\n numSelected\n );\n });\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"SyncUiEventDispatcher.js","sourceRoot":"","sources":["../../../../src/appui-react/syncui/SyncUiEventDispatcher.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module SyncUi\n */\n\nimport type { UiSyncEvent } from \"@itwin/appui-abstract\";\nimport { UiEventDispatcher } from \"@itwin/appui-abstract\";\nimport { Logger } from \"@itwin/core-bentley\";\nimport type { IModelConnection } from \"@itwin/core-frontend\";\nimport { IModelApp } from \"@itwin/core-frontend\";\nimport { SessionStateActionId } from \"../redux/SessionState\";\nimport { UiFramework } from \"../UiFramework\";\n\n// cSpell:ignore activecontentchanged, activitymessageupdated, activitymessagecancelled, backstageevent, contentlayoutactivated, contentcontrolactivated,\n// cSpell:ignore elementtooltipchanged, frontstageactivated, inputfieldmessageadded, inputfieldmessageremoved, modalfrontstagechanged, modaldialogchanged\n// cSpell:ignore navigationaidactivated, notificationmessageadded, toolactivated, taskactivated, widgetstatechanged, workflowactivated frontstageactivating\n// cSpell:ignore frontstageready activeviewportchanged selectionsetchanged presentationselectionchanged viewstatechanged\n// cSpell:ignore accudrawcompassmodechanged accudrawfieldlockchanged accudrawrotationchanged uisettingschanged configurableui\n\n/** Event Id used to sync UI components. Used to refresh visibility or enable state of control.\n * @public\n */\nexport enum SyncUiEventId {\n /** AccuDraw compass mode has changed. */\n AccuDrawCompassModeChanged = \"accudrawcompassmodechanged\",\n /** AccuDraw rotation has changed. */\n AccuDrawRotationChanged = \"accudrawrotationchanged\",\n /** The active content as maintained by the ContentViewManager has changed. */\n ActiveContentChanged = \"activecontentchanged\",\n /** The active view maintained by the ViewManager has changed. */\n ActiveViewportChanged = \"activeviewportchanged\",\n /** Backstage has been toggled. */\n BackstageEvent = \"backstageevent\",\n /** A Content Layout has been activated. */\n ContentLayoutActivated = \"contentlayoutactivated\",\n /** A Content Control maintained by UiFramework.frontstages has been activated. */\n ContentControlActivated = \"contentcontrolactivated\",\n /** A Frontstage is activating. */\n FrontstageActivating = \"frontstageactivating\",\n /** A Frontstage has been activated and the content has been assigned. */\n FrontstageReady = \"frontstageready\",\n /** A Modal Frontstage has been opened or closed. */\n ModalFrontstageChanged = \"modalfrontstagechanged\",\n /** A Modal Dialog has been opened or closed. */\n ModalDialogChanged = \"modaldialogchanged\",\n /** A NavigationAid has been activated. */\n NavigationAidActivated = \"navigationaidactivated\",\n /** An InteractiveTool has been activated via the ToolAdmin. */\n ToolActivated = \"toolactivated\",\n /** The state of a Widget has changed. */\n WidgetStateChanged = \"widgetstatechanged\",\n /** The SelectionSet for the active IModelConnection has changed. */\n SelectionSetChanged = \"selectionsetchanged\",\n /** The list of settings providers registered with SettingsManager has changed. */\n SettingsProvidersChanged = \"settingsproviderschanged\",\n /** The current view state has changed (used by view undo/redo toolbar buttons). */\n ViewStateChanged = \"viewstatechanged\",\n /** The current object the reads and write UI State has changed. */\n UiStateStorageChanged = \"uistatestoragechanged\",\n ShowHideManagerSettingChange = \"show-hide-setting-change\",\n /** The list of feature overrides applied has been changed */\n FeatureOverridesChanged = \"featureoverrideschanged\",\n ViewedModelsChanged = \"viewedmodelschanged\",\n}\n\n/** This class is used to send eventIds to interested UI components so the component can determine if it needs\n * to refresh its display by calling setState on itself.\n * @public\n */\nexport class SyncUiEventDispatcher {\n private static _uiEventDispatcher = new UiEventDispatcher();\n private static _unregisterFuncs = new Array<() => void>();\n private static _connectionUnregisterFuncs = new Array<() => void>();\n private static _iModelConnection?: IModelConnection;\n\n /** @internal - used for testing only */\n /* istanbul ignore next */\n public static setTimeoutPeriod(period: number): void {\n SyncUiEventDispatcher._uiEventDispatcher.setTimeoutPeriod(period);\n }\n\n /** Return set of event ids that will be sent to listeners/. */\n public static get syncEventIds(): Set<string> {\n return SyncUiEventDispatcher._uiEventDispatcher.syncEventIds;\n }\n\n /** Return SyncUiEvent so callers can register an event callback. */\n public static get onSyncUiEvent(): UiSyncEvent {\n return SyncUiEventDispatcher._uiEventDispatcher.onSyncUiEvent;\n }\n\n /** Immediately trigger sync event processing. */\n public static dispatchImmediateSyncUiEvent(eventId: string): void {\n SyncUiEventDispatcher._uiEventDispatcher.dispatchImmediateSyncUiEvent(\n eventId\n );\n }\n\n /** Save eventId in Set for processing. */\n public static dispatchSyncUiEvent(eventId: string): void {\n if (0 === SyncUiEventDispatcher._uiEventDispatcher.timeoutPeriod) {\n Logger.logInfo(\n UiFramework.loggerCategory(this),\n `[dispatchSyncUiEvent] not processed because timeoutPeriod=0`\n );\n return;\n }\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(eventId);\n }\n\n /** Save multiple eventIds in Set for processing. */\n public static dispatchSyncUiEvents(eventIds: string[]): void {\n // istanbul ignore if\n if (0 === SyncUiEventDispatcher._uiEventDispatcher.timeoutPeriod) {\n Logger.logInfo(\n UiFramework.loggerCategory(this),\n `[dispatchSyncUiEvents] not processed because _timeoutPeriod=0`\n );\n }\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvents(eventIds);\n }\n\n /** Checks to see if an eventId of interest is contained in the set of eventIds */\n public static hasEventOfInterest(\n eventIds: Set<string>,\n idsOfInterest: string[]\n ) {\n return SyncUiEventDispatcher._uiEventDispatcher.hasEventOfInterest(\n eventIds,\n idsOfInterest\n );\n }\n\n // istanbul ignore next\n private static _dispatchViewChange() {\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(\n SyncUiEventId.ViewStateChanged\n );\n }\n\n // istanbul ignore next\n private static _dispatchFeatureOverridesChange() {\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(\n SyncUiEventId.FeatureOverridesChanged\n );\n }\n\n // istanbul ignore next\n private static _dispatchViewedModelsChanged() {\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(\n SyncUiEventId.ViewedModelsChanged\n );\n }\n\n /** Initializes the Monitoring of Events that trigger dispatching sync events */\n public static initialize() {\n // clear any registered listeners - this should only be encountered in unit test scenarios\n this._unregisterFuncs.forEach((unregister) => unregister());\n this._unregisterFuncs = [];\n\n this._unregisterFuncs.push(\n UiFramework.frontstages.onContentControlActivatedEvent.addListener(() => {\n SyncUiEventDispatcher.dispatchSyncUiEvent(\n SyncUiEventId.ContentControlActivated\n );\n }),\n UiFramework.frontstages.onContentLayoutActivatedEvent.addListener(() => {\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(\n SyncUiEventId.ContentLayoutActivated\n );\n }),\n UiFramework.frontstages.onFrontstageActivatedEvent.addListener(() => {\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(\n SyncUiEventId.FrontstageActivating\n );\n }),\n UiFramework.frontstages.onFrontstageReadyEvent.addListener(() => {\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(\n SyncUiEventId.FrontstageReady\n );\n }),\n UiFramework.frontstages.onModalFrontstageChangedEvent.addListener(() => {\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(\n SyncUiEventId.ModalFrontstageChanged\n );\n }),\n UiFramework.frontstages.onNavigationAidActivatedEvent.addListener(() => {\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(\n SyncUiEventId.NavigationAidActivated\n );\n }),\n UiFramework.frontstages.onToolActivatedEvent.addListener(() => {\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(\n SyncUiEventId.ToolActivated\n );\n }),\n UiFramework.frontstages.onWidgetStateChangedEvent.addListener(() => {\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(\n SyncUiEventId.WidgetStateChanged\n );\n }),\n UiFramework.backstage.onToggled.addListener(() => {\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(\n SyncUiEventId.BackstageEvent\n );\n }),\n UiFramework.content.onActiveContentChangedEvent.addListener(() => {\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(\n SyncUiEventId.ActiveContentChanged\n );\n }),\n IModelApp.viewManager.onSelectedViewportChanged.addListener((args) => {\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(\n SyncUiEventId.ActiveViewportChanged\n );\n\n // if this is the first view being opened up start the default tool so tool admin is happy.\n if (undefined === args.previous) {\n void IModelApp.toolAdmin.startDefaultTool();\n } else {\n args.previous.onViewChanged.removeListener(\n SyncUiEventDispatcher._dispatchViewChange\n );\n args.previous.onFeatureOverridesChanged.removeListener(\n SyncUiEventDispatcher._dispatchFeatureOverridesChange\n );\n args.previous.onViewedModelsChanged.removeListener(\n SyncUiEventDispatcher._dispatchViewedModelsChanged\n );\n }\n // istanbul ignore next\n if (args.current) {\n args.current.onViewChanged.addListener(\n SyncUiEventDispatcher._dispatchViewChange\n );\n args.current.onFeatureOverridesChanged.addListener(\n SyncUiEventDispatcher._dispatchFeatureOverridesChange\n );\n args.current.onViewedModelsChanged.addListener(\n SyncUiEventDispatcher._dispatchViewedModelsChanged\n );\n }\n })\n );\n }\n\n /** This should be called by IModelApp when the active IModelConnection is closed. */\n public static clearConnectionEvents(iModelConnection: IModelConnection) {\n if (this._iModelConnection !== iModelConnection) return;\n this._connectionUnregisterFuncs.forEach((unregister) => unregister());\n this._connectionUnregisterFuncs = [];\n }\n\n /** This should be called by IModelApp when the active IModelConnection is established. */\n public static initializeConnectionEvents(iModelConnection: IModelConnection) {\n this._iModelConnection &&\n this.clearConnectionEvents(this._iModelConnection);\n this._iModelConnection = iModelConnection;\n\n this._connectionUnregisterFuncs.push(\n iModelConnection.selectionSet.onChanged.addListener(() => {\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(\n SyncUiEventId.SelectionSetChanged\n );\n }),\n iModelConnection.selectionSet.onChanged.addListener((ev) => {\n const numSelected = ev.set.elements.size;\n UiFramework.dispatchActionToStore(\n SessionStateActionId.SetNumItemsSelected,\n numSelected\n );\n })\n );\n }\n}\n"]}
|
|
@@ -6,12 +6,22 @@ import type { OnItemExecutedFunc } from "@itwin/appui-abstract";
|
|
|
6
6
|
import type { CommonProps, NoChildrenProps } from "@itwin/core-react";
|
|
7
7
|
import type { Direction, ToolbarOpacitySetting, ToolbarPanelAlignment } from "@itwin/components-react";
|
|
8
8
|
import type { ToolbarItem } from "./ToolbarItem";
|
|
9
|
+
/**
|
|
10
|
+
* Properties of [[Toolbar.enableOverflow]] component.
|
|
11
|
+
* @beta
|
|
12
|
+
*/
|
|
13
|
+
export interface OverflowToolbarOptions {
|
|
14
|
+
/** Describes to which direction the overflow popup panels are expanded if overflow is enabled. Defaults to: [[Direction.Right]] */
|
|
15
|
+
overflowExpandsTo?: Direction;
|
|
16
|
+
}
|
|
9
17
|
/** Properties of [[Toolbar]] component.
|
|
10
18
|
* @beta
|
|
11
19
|
*/
|
|
12
20
|
export interface ToolbarProps extends CommonProps, NoChildrenProps {
|
|
13
21
|
/** Describes to which direction the popup panels are expanded. Defaults to: [[Direction.Bottom]] */
|
|
14
22
|
expandsTo?: Direction;
|
|
23
|
+
/** Describes if items that do not fit available space should move to an expandable panel. Defaults to: false */
|
|
24
|
+
enableOverflow?: boolean | OverflowToolbarOptions;
|
|
15
25
|
/** Definitions for items of the toolbar. Items are expected to be already sorted by group and item. */
|
|
16
26
|
items: ToolbarItem[];
|
|
17
27
|
/** Describes how expanded panels are aligned. Defaults to: [[ToolbarPanelAlignment.Start]] */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Toolbar.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/Toolbar.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,KAAK,EACV,SAAS,EACT,qBAAqB,EACrB,qBAAqB,EACtB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"Toolbar.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/Toolbar.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,KAAK,EACV,SAAS,EACT,qBAAqB,EACrB,qBAAqB,EACtB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAIjD;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC,mIAAmI;IACnI,iBAAiB,CAAC,EAAE,SAAS,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,YAAa,SAAQ,WAAW,EAAE,eAAe;IAChE,oGAAoG;IACpG,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,gHAAgH;IAChH,cAAc,CAAC,EAAE,OAAO,GAAG,sBAAsB,CAAC;IAClD,uGAAuG;IACvG,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,8FAA8F;IAC9F,cAAc,CAAC,EAAE,qBAAqB,CAAC;IACvC,mEAAmE;IACnE,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,oFAAoF;IACpF,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;IAC9C,sDAAsD;IACtD,cAAc,CAAC,EAAE,kBAAkB,CAAC;IACpC,2EAA2E;IAC3E,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,aAAa,KAAK,IAAI,CAAC;CAC9C;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,YAAY,eAY1C"}
|
|
@@ -6,8 +6,9 @@
|
|
|
6
6
|
* @module Toolbar
|
|
7
7
|
*/
|
|
8
8
|
import * as React from "react";
|
|
9
|
-
import {
|
|
9
|
+
import { InternalToolbarComponent as CR_Toolbar } from "@itwin/components-react";
|
|
10
10
|
import { toUIAToolbarItem } from "./toUIAToolbarItem";
|
|
11
|
+
import { SyncUiEventDispatcher } from "../syncui/SyncUiEventDispatcher";
|
|
11
12
|
/** Component that displays toolbar items.
|
|
12
13
|
* @beta
|
|
13
14
|
*/
|
|
@@ -17,6 +18,6 @@ export function Toolbar(props) {
|
|
|
17
18
|
return items.map((item) => toUIAToolbarItem(item));
|
|
18
19
|
}, [items]);
|
|
19
20
|
return (React.createElement(CR_Toolbar // eslint-disable-line deprecation/deprecation
|
|
20
|
-
, { items: uiaItems, ...other }));
|
|
21
|
+
, { items: uiaItems, syncUiEvent: SyncUiEventDispatcher.onSyncUiEvent, ...other }));
|
|
21
22
|
}
|
|
22
23
|
//# sourceMappingURL=Toolbar.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Toolbar.js","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/Toolbar.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAQ/B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"Toolbar.js","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/Toolbar.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAQ/B,OAAO,EAAE,wBAAwB,IAAI,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAEjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAiCxE;;GAEG;AACH,MAAM,UAAU,OAAO,CAAC,KAAmB;IACzC,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,GAAG,KAAK,CAAC;IAClC,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QAClC,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;IACrD,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IACZ,OAAO,CACL,oBAAC,UAAU,CAAC,8CAA8C;QACxD,KAAK,EAAE,QAAQ,EACf,WAAW,EAAE,qBAAqB,CAAC,aAAa,KAC5C,KAAK,GACT,CACH,CAAC;AACJ,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Toolbar\n */\n\nimport * as React from \"react\";\nimport type { OnItemExecutedFunc } from \"@itwin/appui-abstract\";\nimport type { CommonProps, NoChildrenProps } from \"@itwin/core-react\";\nimport type {\n Direction,\n ToolbarOpacitySetting,\n ToolbarPanelAlignment,\n} from \"@itwin/components-react\";\nimport { InternalToolbarComponent as CR_Toolbar } from \"@itwin/components-react\";\nimport type { ToolbarItem } from \"./ToolbarItem\";\nimport { toUIAToolbarItem } from \"./toUIAToolbarItem\";\nimport { SyncUiEventDispatcher } from \"../syncui/SyncUiEventDispatcher\";\n\n/**\n * Properties of [[Toolbar.enableOverflow]] component.\n * @beta\n */\nexport interface OverflowToolbarOptions {\n /** Describes to which direction the overflow popup panels are expanded if overflow is enabled. Defaults to: [[Direction.Right]] */\n overflowExpandsTo?: Direction;\n}\n\n/** Properties of [[Toolbar]] component.\n * @beta\n */\nexport interface ToolbarProps extends CommonProps, NoChildrenProps {\n /** Describes to which direction the popup panels are expanded. Defaults to: [[Direction.Bottom]] */\n expandsTo?: Direction;\n /** Describes if items that do not fit available space should move to an expandable panel. Defaults to: false */\n enableOverflow?: boolean | OverflowToolbarOptions;\n /** Definitions for items of the toolbar. Items are expected to be already sorted by group and item. */\n items: ToolbarItem[];\n /** Describes how expanded panels are aligned. Defaults to: [[ToolbarPanelAlignment.Start]] */\n panelAlignment?: ToolbarPanelAlignment;\n /** Use Drag Interaction to open popups with nest action buttons */\n useDragInteraction?: boolean;\n /** Determines whether to use mouse proximity to alter the opacity of the toolbar */\n toolbarOpacitySetting?: ToolbarOpacitySetting;\n /** Optional function to call on any item execution */\n onItemExecuted?: OnItemExecutedFunc;\n /** Optional function to call on any KeyDown events processed by toolbar */\n onKeyDown?: (e: React.KeyboardEvent) => void;\n}\n\n/** Component that displays toolbar items.\n * @beta\n */\nexport function Toolbar(props: ToolbarProps) {\n const { items, ...other } = props;\n const uiaItems = React.useMemo(() => {\n return items.map((item) => toUIAToolbarItem(item));\n }, [items]);\n return (\n <CR_Toolbar // eslint-disable-line deprecation/deprecation\n items={uiaItems}\n syncUiEvent={SyncUiEventDispatcher.onSyncUiEvent}\n {...other}\n />\n );\n}\n"]}
|
|
@@ -14,7 +14,8 @@ export interface ExtensibleToolbarProps {
|
|
|
14
14
|
orientation: ToolbarOrientation;
|
|
15
15
|
}
|
|
16
16
|
/**
|
|
17
|
-
* Toolbar that is populated and maintained by item managers
|
|
17
|
+
* Toolbar that is populated and maintained by item managers, will override
|
|
18
|
+
* isActive property based on the active tool id.
|
|
18
19
|
* @public
|
|
19
20
|
*/
|
|
20
21
|
export declare function ToolbarComposer(props: ExtensibleToolbarProps): JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolbarComposer.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/ToolbarComposer.tsx"],"names":[],"mappings":"AAIA;;GAEG;;
|
|
1
|
+
{"version":3,"file":"ToolbarComposer.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/ToolbarComposer.tsx"],"names":[],"mappings":"AAIA;;GAEG;;AAYH,OAAO,KAAK,EAGV,WAAW,EACZ,MAAM,eAAe,CAAC;AACvB,OAAO,EAGL,kBAAkB,EAClB,YAAY,EACb,MAAM,eAAe,CAAC;AA0JvB;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,KAAK,EAAE,YAAY,CAAC;IACpB,2BAA2B;IAC3B,WAAW,EAAE,kBAAkB,CAAC;CACjC;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,sBAAsB,eA4C5D"}
|