@itwin/appui-react 3.1.0-dev.8 → 3.2.0-dev.12

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.
Files changed (212) hide show
  1. package/CHANGELOG.md +130 -16
  2. package/lib/cjs/appui-react/UiFramework.d.ts +4 -2
  3. package/lib/cjs/appui-react/UiFramework.d.ts.map +1 -1
  4. package/lib/cjs/appui-react/UiFramework.js +7 -3
  5. package/lib/cjs/appui-react/UiFramework.js.map +1 -1
  6. package/lib/cjs/appui-react/backstage/Backstage.d.ts +0 -2
  7. package/lib/cjs/appui-react/backstage/Backstage.d.ts.map +1 -1
  8. package/lib/cjs/appui-react/backstage/Backstage.js +0 -1
  9. package/lib/cjs/appui-react/backstage/Backstage.js.map +1 -1
  10. package/lib/cjs/appui-react/backstage/BackstageComposerItem.d.ts +1 -0
  11. package/lib/cjs/appui-react/backstage/BackstageComposerItem.d.ts.map +1 -1
  12. package/lib/cjs/appui-react/backstage/BackstageComposerItem.js +2 -2
  13. package/lib/cjs/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  14. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.d.ts.map +1 -1
  15. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.js +2 -0
  16. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
  17. package/lib/cjs/appui-react/configurableui/ConfigurableUiManager.d.ts.map +1 -1
  18. package/lib/cjs/appui-react/configurableui/ConfigurableUiManager.js +6 -1
  19. package/lib/cjs/appui-react/configurableui/ConfigurableUiManager.js.map +1 -1
  20. package/lib/cjs/appui-react/content/ContentControl.d.ts +6 -0
  21. package/lib/cjs/appui-react/content/ContentControl.d.ts.map +1 -1
  22. package/lib/cjs/appui-react/content/ContentControl.js +11 -1
  23. package/lib/cjs/appui-react/content/ContentControl.js.map +1 -1
  24. package/lib/cjs/appui-react/content/ContentLayout.d.ts +8 -0
  25. package/lib/cjs/appui-react/content/ContentLayout.d.ts.map +1 -1
  26. package/lib/cjs/appui-react/content/ContentLayout.js +43 -36
  27. package/lib/cjs/appui-react/content/ContentLayout.js.map +1 -1
  28. package/lib/cjs/appui-react/content/ContentLayout.scss +27 -27
  29. package/lib/cjs/appui-react/content/ContentViewManager.d.ts +7 -0
  30. package/lib/cjs/appui-react/content/ContentViewManager.d.ts.map +1 -1
  31. package/lib/cjs/appui-react/content/ContentViewManager.js +46 -22
  32. package/lib/cjs/appui-react/content/ContentViewManager.js.map +1 -1
  33. package/lib/cjs/appui-react/content/FloatingViewportContent.css +9 -0
  34. package/lib/cjs/appui-react/content/FloatingViewportContent.d.ts +25 -0
  35. package/lib/cjs/appui-react/content/FloatingViewportContent.d.ts.map +1 -0
  36. package/lib/cjs/appui-react/content/FloatingViewportContent.js +73 -0
  37. package/lib/cjs/appui-react/content/FloatingViewportContent.js.map +1 -0
  38. package/lib/cjs/appui-react/content/IModelViewport.d.ts +1 -1
  39. package/lib/cjs/appui-react/content/IModelViewport.d.ts.map +1 -1
  40. package/lib/cjs/appui-react/content/IModelViewport.js +1 -1
  41. package/lib/cjs/appui-react/content/IModelViewport.js.map +1 -1
  42. package/lib/cjs/appui-react/content/ViewportContentControl.d.ts +9 -0
  43. package/lib/cjs/appui-react/content/ViewportContentControl.d.ts.map +1 -1
  44. package/lib/cjs/appui-react/content/ViewportContentControl.js +24 -1
  45. package/lib/cjs/appui-react/content/ViewportContentControl.js.map +1 -1
  46. package/lib/cjs/appui-react/dialog/ContentDialog.d.ts +24 -0
  47. package/lib/cjs/appui-react/dialog/ContentDialog.d.ts.map +1 -0
  48. package/lib/cjs/appui-react/dialog/ContentDialog.js +72 -0
  49. package/lib/cjs/appui-react/dialog/ContentDialog.js.map +1 -0
  50. package/lib/cjs/appui-react/dialog/ContentDialog.scss +25 -0
  51. package/lib/cjs/appui-react/dialog/ContentDialogManager.d.ts +65 -0
  52. package/lib/cjs/appui-react/dialog/ContentDialogManager.d.ts.map +1 -0
  53. package/lib/cjs/appui-react/dialog/ContentDialogManager.js +148 -0
  54. package/lib/cjs/appui-react/dialog/ContentDialogManager.js.map +1 -0
  55. package/lib/cjs/appui-react/frontstage/FrontstageDef.d.ts +9 -0
  56. package/lib/cjs/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
  57. package/lib/cjs/appui-react/frontstage/FrontstageDef.js +65 -7
  58. package/lib/cjs/appui-react/frontstage/FrontstageDef.js.map +1 -1
  59. package/lib/cjs/appui-react/frontstage/FrontstageManager.d.ts +3 -0
  60. package/lib/cjs/appui-react/frontstage/FrontstageManager.d.ts.map +1 -1
  61. package/lib/cjs/appui-react/frontstage/FrontstageManager.js +8 -0
  62. package/lib/cjs/appui-react/frontstage/FrontstageManager.js.map +1 -1
  63. package/lib/cjs/appui-react/hooks/useUiVisibility.d.ts +6 -0
  64. package/lib/cjs/appui-react/hooks/useUiVisibility.d.ts.map +1 -0
  65. package/lib/cjs/appui-react/hooks/useUiVisibility.js +27 -0
  66. package/lib/cjs/appui-react/hooks/useUiVisibility.js.map +1 -0
  67. package/lib/cjs/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.d.ts.map +1 -1
  68. package/lib/cjs/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.js +2 -1
  69. package/lib/cjs/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.js.map +1 -1
  70. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsTreeSearch.json +3 -3
  71. package/lib/cjs/appui-react/popup/CardPopup.scss +3 -1
  72. package/lib/cjs/appui-react/stagepanels/StagePanelDef.d.ts +2 -3
  73. package/lib/cjs/appui-react/stagepanels/StagePanelDef.d.ts.map +1 -1
  74. package/lib/cjs/appui-react/stagepanels/StagePanelDef.js +2 -3
  75. package/lib/cjs/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  76. package/lib/cjs/appui-react/statusbar/StatusBarComposer.d.ts +3 -0
  77. package/lib/cjs/appui-react/statusbar/StatusBarComposer.d.ts.map +1 -1
  78. package/lib/cjs/appui-react/statusbar/StatusBarComposer.js +20 -5
  79. package/lib/cjs/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  80. package/lib/cjs/appui-react/timeline/AnalysisAnimationProvider.js +1 -1
  81. package/lib/cjs/appui-react/timeline/AnalysisAnimationProvider.js.map +1 -1
  82. package/lib/cjs/appui-react/uiprovider/DefaultDialogGridContainer.scss +3 -0
  83. package/lib/cjs/appui-react/widget-panels/Content.d.ts.map +1 -1
  84. package/lib/cjs/appui-react/widget-panels/Content.js +2 -2
  85. package/lib/cjs/appui-react/widget-panels/Content.js.map +1 -1
  86. package/lib/cjs/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
  87. package/lib/cjs/appui-react/widget-panels/Frontstage.js +25 -7
  88. package/lib/cjs/appui-react/widget-panels/Frontstage.js.map +1 -1
  89. package/lib/cjs/appui-react/widgets/BasicNavigationWidget.js +2 -2
  90. package/lib/cjs/appui-react/widgets/BasicNavigationWidget.js.map +1 -1
  91. package/lib/cjs/appui-react/widgets/BasicToolWidget.d.ts +0 -2
  92. package/lib/cjs/appui-react/widgets/BasicToolWidget.d.ts.map +1 -1
  93. package/lib/cjs/appui-react/widgets/BasicToolWidget.js +3 -17
  94. package/lib/cjs/appui-react/widgets/BasicToolWidget.js.map +1 -1
  95. package/lib/cjs/appui-react/widgets/ContentToolWidgetComposer.js +2 -2
  96. package/lib/cjs/appui-react/widgets/ContentToolWidgetComposer.js.map +1 -1
  97. package/lib/cjs/appui-react/widgets/ViewToolWidgetComposer.js +2 -2
  98. package/lib/cjs/appui-react/widgets/ViewToolWidgetComposer.js.map +1 -1
  99. package/lib/cjs/appui-react/widgets/WidgetDef.d.ts +2 -0
  100. package/lib/cjs/appui-react/widgets/WidgetDef.d.ts.map +1 -1
  101. package/lib/cjs/appui-react/widgets/WidgetDef.js +2 -0
  102. package/lib/cjs/appui-react/widgets/WidgetDef.js.map +1 -1
  103. package/lib/cjs/appui-react.d.ts +4 -0
  104. package/lib/cjs/appui-react.d.ts.map +1 -1
  105. package/lib/cjs/appui-react.js +4 -0
  106. package/lib/cjs/appui-react.js.map +1 -1
  107. package/lib/esm/appui-react/UiFramework.d.ts +4 -2
  108. package/lib/esm/appui-react/UiFramework.d.ts.map +1 -1
  109. package/lib/esm/appui-react/UiFramework.js +7 -3
  110. package/lib/esm/appui-react/UiFramework.js.map +1 -1
  111. package/lib/esm/appui-react/backstage/Backstage.d.ts +0 -2
  112. package/lib/esm/appui-react/backstage/Backstage.d.ts.map +1 -1
  113. package/lib/esm/appui-react/backstage/Backstage.js +0 -1
  114. package/lib/esm/appui-react/backstage/Backstage.js.map +1 -1
  115. package/lib/esm/appui-react/backstage/BackstageComposerItem.d.ts +1 -0
  116. package/lib/esm/appui-react/backstage/BackstageComposerItem.d.ts.map +1 -1
  117. package/lib/esm/appui-react/backstage/BackstageComposerItem.js +2 -2
  118. package/lib/esm/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  119. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.d.ts.map +1 -1
  120. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.js +2 -0
  121. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
  122. package/lib/esm/appui-react/configurableui/ConfigurableUiManager.d.ts.map +1 -1
  123. package/lib/esm/appui-react/configurableui/ConfigurableUiManager.js +6 -1
  124. package/lib/esm/appui-react/configurableui/ConfigurableUiManager.js.map +1 -1
  125. package/lib/esm/appui-react/content/ContentControl.d.ts +6 -0
  126. package/lib/esm/appui-react/content/ContentControl.d.ts.map +1 -1
  127. package/lib/esm/appui-react/content/ContentControl.js +10 -1
  128. package/lib/esm/appui-react/content/ContentControl.js.map +1 -1
  129. package/lib/esm/appui-react/content/ContentLayout.d.ts +8 -0
  130. package/lib/esm/appui-react/content/ContentLayout.d.ts.map +1 -1
  131. package/lib/esm/appui-react/content/ContentLayout.js +41 -35
  132. package/lib/esm/appui-react/content/ContentLayout.js.map +1 -1
  133. package/lib/esm/appui-react/content/ContentLayout.scss +27 -27
  134. package/lib/esm/appui-react/content/ContentViewManager.d.ts +7 -0
  135. package/lib/esm/appui-react/content/ContentViewManager.d.ts.map +1 -1
  136. package/lib/esm/appui-react/content/ContentViewManager.js +46 -22
  137. package/lib/esm/appui-react/content/ContentViewManager.js.map +1 -1
  138. package/lib/esm/appui-react/content/FloatingViewportContent.css +9 -0
  139. package/lib/esm/appui-react/content/FloatingViewportContent.d.ts +25 -0
  140. package/lib/esm/appui-react/content/FloatingViewportContent.d.ts.map +1 -0
  141. package/lib/esm/appui-react/content/FloatingViewportContent.js +69 -0
  142. package/lib/esm/appui-react/content/FloatingViewportContent.js.map +1 -0
  143. package/lib/esm/appui-react/content/IModelViewport.d.ts +1 -1
  144. package/lib/esm/appui-react/content/IModelViewport.d.ts.map +1 -1
  145. package/lib/esm/appui-react/content/IModelViewport.js +1 -1
  146. package/lib/esm/appui-react/content/IModelViewport.js.map +1 -1
  147. package/lib/esm/appui-react/content/ViewportContentControl.d.ts +9 -0
  148. package/lib/esm/appui-react/content/ViewportContentControl.d.ts.map +1 -1
  149. package/lib/esm/appui-react/content/ViewportContentControl.js +23 -1
  150. package/lib/esm/appui-react/content/ViewportContentControl.js.map +1 -1
  151. package/lib/esm/appui-react/dialog/ContentDialog.d.ts +24 -0
  152. package/lib/esm/appui-react/dialog/ContentDialog.d.ts.map +1 -0
  153. package/lib/esm/appui-react/dialog/ContentDialog.js +67 -0
  154. package/lib/esm/appui-react/dialog/ContentDialog.js.map +1 -0
  155. package/lib/esm/appui-react/dialog/ContentDialog.scss +25 -0
  156. package/lib/esm/appui-react/dialog/ContentDialogManager.d.ts +65 -0
  157. package/lib/esm/appui-react/dialog/ContentDialogManager.d.ts.map +1 -0
  158. package/lib/esm/appui-react/dialog/ContentDialogManager.js +142 -0
  159. package/lib/esm/appui-react/dialog/ContentDialogManager.js.map +1 -0
  160. package/lib/esm/appui-react/frontstage/FrontstageDef.d.ts +9 -0
  161. package/lib/esm/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
  162. package/lib/esm/appui-react/frontstage/FrontstageDef.js +66 -8
  163. package/lib/esm/appui-react/frontstage/FrontstageDef.js.map +1 -1
  164. package/lib/esm/appui-react/frontstage/FrontstageManager.d.ts +3 -0
  165. package/lib/esm/appui-react/frontstage/FrontstageManager.d.ts.map +1 -1
  166. package/lib/esm/appui-react/frontstage/FrontstageManager.js +8 -0
  167. package/lib/esm/appui-react/frontstage/FrontstageManager.js.map +1 -1
  168. package/lib/esm/appui-react/hooks/useUiVisibility.d.ts +6 -0
  169. package/lib/esm/appui-react/hooks/useUiVisibility.d.ts.map +1 -0
  170. package/lib/esm/appui-react/hooks/useUiVisibility.js +23 -0
  171. package/lib/esm/appui-react/hooks/useUiVisibility.js.map +1 -0
  172. package/lib/esm/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.d.ts.map +1 -1
  173. package/lib/esm/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.js +2 -1
  174. package/lib/esm/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.js.map +1 -1
  175. package/lib/esm/appui-react/imodel-components/models-tree/ModelsTreeSearch.json +3 -3
  176. package/lib/esm/appui-react/popup/CardPopup.scss +3 -1
  177. package/lib/esm/appui-react/stagepanels/StagePanelDef.d.ts +2 -3
  178. package/lib/esm/appui-react/stagepanels/StagePanelDef.d.ts.map +1 -1
  179. package/lib/esm/appui-react/stagepanels/StagePanelDef.js +1 -2
  180. package/lib/esm/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  181. package/lib/esm/appui-react/statusbar/StatusBarComposer.d.ts +3 -0
  182. package/lib/esm/appui-react/statusbar/StatusBarComposer.d.ts.map +1 -1
  183. package/lib/esm/appui-react/statusbar/StatusBarComposer.js +20 -5
  184. package/lib/esm/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  185. package/lib/esm/appui-react/timeline/AnalysisAnimationProvider.js +1 -1
  186. package/lib/esm/appui-react/timeline/AnalysisAnimationProvider.js.map +1 -1
  187. package/lib/esm/appui-react/uiprovider/DefaultDialogGridContainer.scss +3 -0
  188. package/lib/esm/appui-react/widget-panels/Content.d.ts.map +1 -1
  189. package/lib/esm/appui-react/widget-panels/Content.js +2 -2
  190. package/lib/esm/appui-react/widget-panels/Content.js.map +1 -1
  191. package/lib/esm/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
  192. package/lib/esm/appui-react/widget-panels/Frontstage.js +25 -7
  193. package/lib/esm/appui-react/widget-panels/Frontstage.js.map +1 -1
  194. package/lib/esm/appui-react/widgets/BasicNavigationWidget.js +1 -1
  195. package/lib/esm/appui-react/widgets/BasicNavigationWidget.js.map +1 -1
  196. package/lib/esm/appui-react/widgets/BasicToolWidget.d.ts +0 -2
  197. package/lib/esm/appui-react/widgets/BasicToolWidget.d.ts.map +1 -1
  198. package/lib/esm/appui-react/widgets/BasicToolWidget.js +1 -14
  199. package/lib/esm/appui-react/widgets/BasicToolWidget.js.map +1 -1
  200. package/lib/esm/appui-react/widgets/ContentToolWidgetComposer.js +1 -1
  201. package/lib/esm/appui-react/widgets/ContentToolWidgetComposer.js.map +1 -1
  202. package/lib/esm/appui-react/widgets/ViewToolWidgetComposer.js +1 -1
  203. package/lib/esm/appui-react/widgets/ViewToolWidgetComposer.js.map +1 -1
  204. package/lib/esm/appui-react/widgets/WidgetDef.d.ts +2 -0
  205. package/lib/esm/appui-react/widgets/WidgetDef.d.ts.map +1 -1
  206. package/lib/esm/appui-react/widgets/WidgetDef.js +2 -0
  207. package/lib/esm/appui-react/widgets/WidgetDef.js.map +1 -1
  208. package/lib/esm/appui-react.d.ts +4 -0
  209. package/lib/esm/appui-react.d.ts.map +1 -1
  210. package/lib/esm/appui-react.js +4 -0
  211. package/lib/esm/appui-react.js.map +1 -1
  212. package/package.json +34 -35
@@ -1 +1 @@
1
- {"version":3,"file":"UiFramework.js","sourceRoot":"","sources":["../../../src/appui-react/UiFramework.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 Utilities\r\n */\r\n\r\n// cSpell:ignore configurableui clientservices\r\n\r\nimport { Store } from \"redux\";\r\nimport { GuidString, Logger, ProcessDetector } from \"@itwin/core-bentley\";\r\nimport { Localization, RpcActivity } from \"@itwin/core-common\";\r\nimport { IModelApp, IModelConnection, SnapMode, ViewState } from \"@itwin/core-frontend\";\r\nimport { Presentation } from \"@itwin/presentation-frontend\";\r\nimport { TelemetryEvent } from \"@itwin/core-telemetry\";\r\nimport { getClassName, UiAdmin, UiError, UiEvent } from \"@itwin/appui-abstract\";\r\nimport { LocalStateStorage, SettingsManager, UiStateStorage } from \"@itwin/core-react\";\r\nimport { UiIModelComponents } from \"@itwin/imodel-components-react\";\r\nimport { BackstageManager } from \"./backstage/BackstageManager\";\r\nimport { ChildWindowManager } from \"./childwindow/ChildWindowManager\";\r\nimport { ConfigurableUiManager } from \"./configurableui/ConfigurableUiManager\";\r\nimport { ConfigurableUiActionId } from \"./configurableui/state\";\r\nimport { FrameworkState } from \"./redux/FrameworkState\";\r\nimport { CursorMenuData, PresentationSelectionScope, SessionStateActionId } from \"./redux/SessionState\";\r\nimport { StateManager } from \"./redux/StateManager\";\r\nimport { HideIsolateEmphasizeActionHandler, HideIsolateEmphasizeManager } from \"./selection/HideIsolateEmphasizeManager\";\r\nimport { SyncUiEventDispatcher, SyncUiEventId } from \"./syncui/SyncUiEventDispatcher\";\r\nimport { SYSTEM_PREFERRED_COLOR_THEME, WIDGET_OPACITY_DEFAULT } from \"./theme/ThemeManager\";\r\nimport * as keyinPaletteTools from \"./tools/KeyinPaletteTools\";\r\nimport * as openSettingTools from \"./tools/OpenSettingsTool\";\r\nimport * as restoreLayoutTools from \"./tools/RestoreLayoutTool\";\r\nimport * as toolSettingTools from \"./tools/ToolSettingsTools\";\r\nimport { UiShowHideManager, UiShowHideSettingsProvider } from \"./utils/UiShowHideManager\";\r\nimport { WidgetManager } from \"./widgets/WidgetManager\";\r\nimport { FrontstageManager } from \"./frontstage/FrontstageManager\";\r\n\r\n// cSpell:ignore Mobi\r\n\r\n/** Defined that available UI Versions. It is recommended to always use the latest version available.\r\n * @public\r\n */\r\nexport type FrameworkVersionId = \"1\" | \"2\";\r\n\r\n/** Interface to be implemented but any classes that wants to load their user settings when the UiStateEntry storage class is set.\r\n * @public\r\n */\r\nexport interface UserSettingsProvider {\r\n /** Unique provider Id */\r\n providerId: string;\r\n /** Function to load settings from settings storage */\r\n loadUserSettings(storage: UiStateStorage): Promise<void>;\r\n}\r\n\r\n/** UiVisibility Event Args interface.\r\n * @public\r\n */\r\nexport interface UiVisibilityEventArgs {\r\n visible: boolean;\r\n}\r\n\r\n/** UiVisibility Event class.\r\n * @public\r\n */\r\nexport class UiVisibilityChangedEvent extends UiEvent<UiVisibilityEventArgs> { }\r\n\r\n/** FrameworkVersion Changed Event Args interface.\r\n * @internal\r\n */\r\nexport interface FrameworkVersionChangedEventArgs {\r\n oldVersion: FrameworkVersionId;\r\n version: FrameworkVersionId;\r\n}\r\n\r\n/** FrameworkVersion Changed Event class.\r\n * @internal\r\n */\r\nexport class FrameworkVersionChangedEvent extends UiEvent<FrameworkVersionChangedEventArgs> { }\r\n\r\n/** TrackingTime time argument used by our feature tracking manager as an option argument to the TelemetryClient\r\n * @internal\r\n */\r\nexport interface TrackingTime {\r\n startTime: Date;\r\n endTime: Date;\r\n}\r\n\r\n/**\r\n * Manages the Redux store, localization service and iModel, Project and Login services for the ui-framework package.\r\n * @public\r\n */\r\nexport class UiFramework {\r\n private static _initialized = false;\r\n private static _store?: Store<any>;\r\n private static _complaint = \"UiFramework not initialized\";\r\n private static _frameworkStateKeyInStore: string = \"frameworkState\"; // default name\r\n private static _backstageManager?: BackstageManager;\r\n private static _widgetManager?: WidgetManager;\r\n private static _uiVersion: FrameworkVersionId = \"2\";\r\n private static _hideIsolateEmphasizeActionHandler?: HideIsolateEmphasizeActionHandler;\r\n /** this provides a default state storage handler */\r\n private static _uiStateStorage: UiStateStorage = new LocalStateStorage();\r\n private static _settingsManager?: SettingsManager;\r\n private static _uiSettingsProviderRegistry: Map<string, UserSettingsProvider> = new Map<string, UserSettingsProvider>();\r\n private static _PopupWindowManager = new ChildWindowManager();\r\n public static useDefaultPopoutUrl = false;\r\n\r\n /** @public */\r\n public static get childWindowManager(): ChildWindowManager {\r\n return UiFramework._PopupWindowManager;\r\n }\r\n\r\n /** Registers class that will be informed when the UserSettingsStorage location has been set or changed. This allows\r\n * classes to load any previously saved settings from the new storage location. Common storage locations are the browser's\r\n * local storage, or the iTwin Product Settings cloud storage available via the SettingsAdmin see `IModelApp.settingsAdmin`.\r\n * @beta\r\n */\r\n public static registerUserSettingsProvider(entry: UserSettingsProvider) {\r\n if (this._uiSettingsProviderRegistry.has(entry.providerId))\r\n return false;\r\n\r\n this._uiSettingsProviderRegistry.set(entry.providerId, entry);\r\n return true;\r\n }\r\n\r\n /** Get Show Ui event.\r\n * @public\r\n */\r\n public static readonly onUiVisibilityChanged = new UiVisibilityChangedEvent();\r\n\r\n /**\r\n * Called by the application to initialize the UiFramework. Also initializes UIIModelComponents, UiComponents, UiCore.\r\n * @param store The single Redux store created by the host application. If this is `undefined` then it is assumed that the [[StateManager]] is being used to provide the Redux store.\r\n * @param frameworkStateKey The name of the key used by the app when adding the UiFramework state into the Redux store. If not defined \"frameworkState\" is assumed. This value is ignored if [[StateManager]] is being used. The StateManager use \"frameworkState\".\r\n */\r\n public static async initialize(store: Store<any> | undefined, frameworkStateKey?: string): Promise<void> {\r\n return this.initializeEx(store, frameworkStateKey);\r\n }\r\n\r\n /**\r\n * Called by the application to initialize the UiFramework. Also initializes UIIModelComponents, UiComponents, UiCore.\r\n * @param store The single Redux store created by the host application. If this is `undefined` then it is assumed that the [[StateManager]] is being used to provide the Redux store.\r\n * @param frameworkStateKey The name of the key used by the app when adding the UiFramework state into the Redux store. If not defined \"frameworkState\" is assumed. This value is ignored if [[StateManager]] is being used. The StateManager use \"frameworkState\".\r\n *\r\n * @internal\r\n */\r\n public static async initializeEx(store: Store<any> | undefined, frameworkStateKey?: string): Promise<void> {\r\n if (UiFramework._initialized) {\r\n Logger.logInfo(UiFramework.loggerCategory(UiFramework), `UiFramework.initialize already called`);\r\n return;\r\n }\r\n\r\n /* if store is undefined then the StateManager class should have been initialized by parent app and the apps default set of reducers registered with it.\r\n If the app has no reducers to add and does not initialize a StateManager then just initialize the StateManager with the default framework reducer now */\r\n if (undefined === store && !StateManager.isInitialized(true))\r\n new StateManager();\r\n\r\n UiFramework._store = store;\r\n // ignore setting _frameworkStateKeyInStore if not using store\r\n if (frameworkStateKey && store)\r\n UiFramework._frameworkStateKeyInStore = frameworkStateKey;\r\n\r\n // set up namespace and register all tools from package\r\n const frameworkNamespace = IModelApp.localization?.registerNamespace(UiFramework.localizationNamespace);\r\n [\r\n restoreLayoutTools,\r\n keyinPaletteTools,\r\n openSettingTools,\r\n toolSettingTools,\r\n ].forEach((tool) => IModelApp.tools.registerModule(tool, this.localizationNamespace));\r\n\r\n UiFramework._backstageManager = new BackstageManager();\r\n UiFramework._hideIsolateEmphasizeActionHandler = new HideIsolateEmphasizeManager(); // this allows user to override the default HideIsolateEmphasizeManager implementation.\r\n UiFramework._widgetManager = new WidgetManager();\r\n\r\n // Initialize ui-imodel-components, ui-components, ui-core & ui-abstract\r\n await UiIModelComponents.initialize();\r\n\r\n UiFramework.settingsManager.onSettingsProvidersChanged.addListener(() => {\r\n SyncUiEventDispatcher.dispatchSyncUiEvent(SyncUiEventId.SettingsProvidersChanged);\r\n });\r\n\r\n // Initialize the MessagePresenter interface in UiAdmin for Editor notifications\r\n UiAdmin.messagePresenter = IModelApp.notifications;\r\n\r\n UiFramework._initialized = true;\r\n\r\n // initialize any standalone settings providers that don't need to have defaults set by iModelApp\r\n UiShowHideSettingsProvider.initialize();\r\n\r\n ConfigurableUiManager.initialize();\r\n\r\n return frameworkNamespace;\r\n }\r\n\r\n /** Un-registers the UiFramework internationalization service namespace */\r\n public static terminate() {\r\n UiFramework._store = undefined;\r\n UiFramework._frameworkStateKeyInStore = \"frameworkState\";\r\n if (StateManager.isInitialized(true))\r\n StateManager.clearStore();\r\n // istanbul ignore next\r\n IModelApp.localization?.unregisterNamespace(UiFramework.localizationNamespace);\r\n UiFramework._backstageManager = undefined;\r\n UiFramework._widgetManager = undefined;\r\n UiFramework._hideIsolateEmphasizeActionHandler = undefined;\r\n UiFramework._settingsManager = undefined;\r\n\r\n UiIModelComponents.terminate();\r\n UiShowHideManager.terminate();\r\n UiFramework._initialized = false;\r\n }\r\n\r\n /** Determines if UiFramework has been initialized */\r\n public static get initialized(): boolean { return UiFramework._initialized; }\r\n\r\n /** Property that returns the SettingManager used by AppUI-based applications.\r\n * @public\r\n */\r\n public static get settingsManager() {\r\n if (undefined === UiFramework._settingsManager)\r\n UiFramework._settingsManager = new SettingsManager();\r\n return UiFramework._settingsManager;\r\n }\r\n\r\n /** @public */\r\n public static get frameworkStateKey(): string {\r\n return UiFramework._frameworkStateKeyInStore;\r\n }\r\n\r\n /** The UiFramework state maintained by Redux\r\n * @public\r\n */\r\n public static get frameworkState(): FrameworkState | undefined {\r\n try {\r\n // eslint-disable-next-line dot-notation\r\n return UiFramework.store.getState()[UiFramework.frameworkStateKey];\r\n } catch (_e) {\r\n return undefined;\r\n }\r\n }\r\n\r\n /** The Redux store */\r\n public static get store(): Store<any> {\r\n if (UiFramework._store)\r\n return UiFramework._store;\r\n\r\n // istanbul ignore else\r\n if (!StateManager.isInitialized(true))\r\n throw new UiError(UiFramework.loggerCategory(this), `Error trying to access redux store before either store or StateManager has been initialized.`);\r\n\r\n // istanbul ignore next\r\n return StateManager.store;\r\n }\r\n\r\n /** The internationalization service created by the app.\r\n * @internal\r\n */\r\n public static get localization(): Localization {\r\n // istanbul ignore next\r\n if (!IModelApp.localization)\r\n throw new UiError(UiFramework.loggerCategory(this), `IModelApp.localization has not been defined.`);\r\n return IModelApp.localization;\r\n }\r\n\r\n /** The internationalization service namespace. */\r\n public static get localizationNamespace(): string {\r\n return \"UiFramework\";\r\n }\r\n\r\n /** @public */\r\n public static get backstageManager(): BackstageManager {\r\n // istanbul ignore next\r\n if (!UiFramework._backstageManager)\r\n throw new UiError(UiFramework.loggerCategory(this), UiFramework._complaint);\r\n return UiFramework._backstageManager;\r\n }\r\n\r\n /** @alpha */\r\n public static get hideIsolateEmphasizeActionHandler(): HideIsolateEmphasizeActionHandler {\r\n // istanbul ignore next\r\n if (!UiFramework._hideIsolateEmphasizeActionHandler)\r\n throw new UiError(UiFramework.loggerCategory(this), UiFramework._complaint);\r\n return UiFramework._hideIsolateEmphasizeActionHandler;\r\n }\r\n\r\n /** @alpha */\r\n public static setHideIsolateEmphasizeActionHandler(handler: HideIsolateEmphasizeActionHandler | undefined) {\r\n // istanbul ignore else\r\n if (handler)\r\n UiFramework._hideIsolateEmphasizeActionHandler = handler;\r\n else\r\n UiFramework._hideIsolateEmphasizeActionHandler = new HideIsolateEmphasizeManager();\r\n }\r\n\r\n /** @alpha */\r\n public static get widgetManager(): WidgetManager {\r\n // istanbul ignore next\r\n if (!UiFramework._widgetManager)\r\n throw new UiError(UiFramework.loggerCategory(this), UiFramework._complaint);\r\n return UiFramework._widgetManager;\r\n }\r\n\r\n /** Calls localization.getLocalizedStringWithNamespace with the \"UiFramework\" namespace. Do NOT include the namespace in the key.\r\n * @internal\r\n */\r\n public static translate(key: string | string[]): string {\r\n return IModelApp.localization.getLocalizedStringWithNamespace(UiFramework.localizationNamespace, key);\r\n }\r\n\r\n /** @internal */\r\n public static get packageName(): string {\r\n return \"appui-react\";\r\n }\r\n\r\n /** @internal */\r\n public static loggerCategory(obj: any): string {\r\n const className = getClassName(obj);\r\n const category = UiFramework.packageName + (className ? `.${className}` : \"\");\r\n return category;\r\n }\r\n\r\n public static dispatchActionToStore(type: string, payload: any, immediateSync = false) {\r\n UiFramework.store.dispatch({ type, payload });\r\n if (immediateSync)\r\n SyncUiEventDispatcher.dispatchImmediateSyncUiEvent(type);\r\n else\r\n SyncUiEventDispatcher.dispatchSyncUiEvent(type);\r\n }\r\n\r\n public static setAccudrawSnapMode(snapMode: SnapMode) {\r\n UiFramework.dispatchActionToStore(ConfigurableUiActionId.SetSnapMode, snapMode, true);\r\n }\r\n\r\n public static getAccudrawSnapMode(): SnapMode {\r\n return UiFramework.frameworkState ? UiFramework.frameworkState.configurableUiState.snapMode : /* istanbul ignore next */ SnapMode.NearestKeypoint;\r\n }\r\n\r\n public static getActiveSelectionScope(): string {\r\n return UiFramework.frameworkState ? UiFramework.frameworkState.sessionState.activeSelectionScope : /* istanbul ignore next */ \"element\";\r\n }\r\n\r\n public static setActiveSelectionScope(selectionScopeId: string): void {\r\n // istanbul ignore else\r\n if (UiFramework.frameworkState) {\r\n const foundIndex = UiFramework.frameworkState.sessionState.availableSelectionScopes.findIndex((selectionScope: PresentationSelectionScope) => selectionScope.id === selectionScopeId);\r\n if (-1 !== foundIndex) {\r\n const scope = UiFramework.frameworkState.sessionState.availableSelectionScopes[foundIndex];\r\n UiFramework.dispatchActionToStore(SessionStateActionId.SetSelectionScope, scope.id);\r\n Presentation.selection.scopes.activeScope = scope.id;\r\n }\r\n }\r\n }\r\n\r\n /** @public */\r\n public static openCursorMenu(menuData: CursorMenuData | undefined): void {\r\n UiFramework.dispatchActionToStore(SessionStateActionId.UpdateCursorMenu, menuData);\r\n }\r\n\r\n /** @public */\r\n public static closeCursorMenu(): void {\r\n UiFramework.dispatchActionToStore(SessionStateActionId.UpdateCursorMenu, undefined);\r\n }\r\n\r\n /** @public */\r\n public static getCursorMenuData(): CursorMenuData | undefined {\r\n return UiFramework.frameworkState ? UiFramework.frameworkState.sessionState.cursorMenuData : /* istanbul ignore next */ undefined;\r\n }\r\n\r\n public static getActiveIModelId(): string {\r\n return UiFramework.frameworkState ? UiFramework.frameworkState.sessionState.iModelId : /* istanbul ignore next */ \"\";\r\n }\r\n\r\n public static setActiveIModelId(iModelId: string): void {\r\n UiFramework.dispatchActionToStore(SessionStateActionId.SetActiveIModelId, iModelId);\r\n }\r\n\r\n public static setIModelConnection(iModelConnection: IModelConnection | undefined, immediateSync = false) {\r\n const oldConnection = UiFramework.getIModelConnection();\r\n if (oldConnection !== iModelConnection) {\r\n if (oldConnection?.iModelId)\r\n FrontstageManager.clearFrontstageDefsForIModelId(oldConnection.iModelId);\r\n oldConnection && undefined === iModelConnection && SyncUiEventDispatcher.clearConnectionEvents(oldConnection);\r\n iModelConnection && SyncUiEventDispatcher.initializeConnectionEvents(iModelConnection);\r\n UiFramework.dispatchActionToStore(SessionStateActionId.SetIModelConnection, iModelConnection, immediateSync);\r\n }\r\n UiFramework.setActiveIModelId(iModelConnection?.iModelId ?? \"\");\r\n }\r\n\r\n public static getIModelConnection(): IModelConnection | undefined {\r\n return UiFramework.frameworkState ? UiFramework.frameworkState.sessionState.iModelConnection : /* istanbul ignore next */ undefined;\r\n }\r\n\r\n /** Called by iModelApp to initialize saved UI state from registered UseSettingsProviders\r\n * @public\r\n */\r\n public static async initializeStateFromUserSettingsProviders(immediateSync = false) {\r\n // let any registered providers to load values from the new storage location\r\n const providerKeys = [...this._uiSettingsProviderRegistry.keys()];\r\n for await (const key of providerKeys) {\r\n await this._uiSettingsProviderRegistry.get(key)!.loadUserSettings(UiFramework._uiStateStorage);\r\n }\r\n\r\n // istanbul ignore next\r\n if (immediateSync)\r\n SyncUiEventDispatcher.dispatchImmediateSyncUiEvent(SyncUiEventId.UiStateStorageChanged);\r\n else\r\n SyncUiEventDispatcher.dispatchSyncUiEvent(SyncUiEventId.UiStateStorageChanged);\r\n }\r\n\r\n /** @public */\r\n public static async setUiStateStorage(storage: UiStateStorage, immediateSync = false) {\r\n if (UiFramework._uiStateStorage === storage)\r\n return;\r\n\r\n UiFramework._uiStateStorage = storage;\r\n await this.initializeStateFromUserSettingsProviders(immediateSync);\r\n }\r\n\r\n /** The UI Settings Storage is a convenient wrapper around Local Storage to assist in caching state information across user sessions.\r\n * It was previously used to conflate both the state information across session and the information driven directly from user explicit action,\r\n * which are now handled with user preferences.\r\n * @public\r\n */\r\n public static getUiStateStorage(): UiStateStorage {\r\n return UiFramework._uiStateStorage;\r\n }\r\n\r\n public static setDefaultIModelViewportControlId(iModelViewportControlId: string, immediateSync = false) {\r\n UiFramework.dispatchActionToStore(SessionStateActionId.SetDefaultIModelViewportControlId, iModelViewportControlId, immediateSync);\r\n }\r\n\r\n public static getDefaultIModelViewportControlId(): string | undefined {\r\n return UiFramework.frameworkState ? UiFramework.frameworkState.sessionState.defaultIModelViewportControlId : /* istanbul ignore next */ undefined;\r\n }\r\n\r\n public static setDefaultViewId(viewId: string, immediateSync = false) {\r\n UiFramework.dispatchActionToStore(SessionStateActionId.SetDefaultViewId, viewId, immediateSync);\r\n }\r\n\r\n public static getDefaultViewId(): string | undefined {\r\n return UiFramework.frameworkState ? UiFramework.frameworkState.sessionState.defaultViewId : /* istanbul ignore next */ undefined;\r\n }\r\n\r\n public static setDefaultViewState(viewState: ViewState, immediateSync = false) {\r\n UiFramework.dispatchActionToStore(SessionStateActionId.SetDefaultViewState, viewState, immediateSync);\r\n }\r\n public static getDefaultViewState(): ViewState | undefined {\r\n return UiFramework.frameworkState ? UiFramework.frameworkState.sessionState.defaultViewState : /* istanbul ignore next */ undefined;\r\n }\r\n\r\n /** @public */\r\n public static getAvailableSelectionScopes(): PresentationSelectionScope[] {\r\n return UiFramework.frameworkState ?\r\n UiFramework.frameworkState.sessionState.availableSelectionScopes :\r\n /* istanbul ignore next */\r\n [{ id: \"element\", label: \"Element\" } as PresentationSelectionScope];\r\n }\r\n\r\n public static getIsUiVisible() {\r\n return UiShowHideManager.isUiVisible;\r\n }\r\n\r\n public static setIsUiVisible(visible: boolean) {\r\n if (UiShowHideManager.isUiVisible !== visible) {\r\n UiShowHideManager.isUiVisible = visible;\r\n UiFramework.onUiVisibilityChanged.emit({ visible });\r\n }\r\n }\r\n\r\n public static setColorTheme(theme: string) {\r\n if (UiFramework.getColorTheme() === theme)\r\n return;\r\n\r\n UiFramework.dispatchActionToStore(ConfigurableUiActionId.SetTheme, theme, true);\r\n }\r\n\r\n public static getColorTheme(): string {\r\n return UiFramework.frameworkState ? UiFramework.frameworkState.configurableUiState.theme : /* istanbul ignore next */ SYSTEM_PREFERRED_COLOR_THEME;\r\n }\r\n\r\n public static setWidgetOpacity(opacity: number) {\r\n if (UiFramework.getWidgetOpacity() === opacity)\r\n return;\r\n\r\n UiFramework.dispatchActionToStore(ConfigurableUiActionId.SetWidgetOpacity, opacity, true);\r\n }\r\n\r\n public static getWidgetOpacity(): number {\r\n return UiFramework.frameworkState ? UiFramework.frameworkState.configurableUiState.widgetOpacity : /* istanbul ignore next */ WIDGET_OPACITY_DEFAULT;\r\n }\r\n\r\n public static isMobile() { // eslint-disable-line @itwin/prefer-get\r\n return ProcessDetector.isMobileBrowser;\r\n }\r\n\r\n /** Returns the Ui Version.\r\n * @public\r\n */\r\n public static get uiVersion(): FrameworkVersionId {\r\n return UiFramework.frameworkState ? UiFramework.frameworkState.configurableUiState.frameworkVersion : this._uiVersion;\r\n }\r\n\r\n public static setUiVersion(version: FrameworkVersionId) {\r\n if (UiFramework.uiVersion === version)\r\n return;\r\n\r\n UiFramework.dispatchActionToStore(ConfigurableUiActionId.SetFrameworkVersion, version === \"1\" ? \"1\" : \"2\", true);\r\n }\r\n\r\n public static get showWidgetIcon(): boolean {\r\n return UiFramework.frameworkState ? UiFramework.frameworkState.configurableUiState.showWidgetIcon : /* istanbul ignore next */ false;\r\n }\r\n\r\n public static setShowWidgetIcon(value: boolean) {\r\n if (UiFramework.showWidgetIcon === value)\r\n return;\r\n\r\n UiFramework.dispatchActionToStore(ConfigurableUiActionId.SetShowWidgetIcon, value, true);\r\n }\r\n\r\n public static get useDragInteraction(): boolean {\r\n return UiFramework.frameworkState ? UiFramework.frameworkState.configurableUiState.useDragInteraction : false;\r\n }\r\n\r\n public static setUseDragInteraction(useDragInteraction: boolean) {\r\n UiFramework.dispatchActionToStore(ConfigurableUiActionId.SetDragInteraction, useDragInteraction, true);\r\n }\r\n\r\n /** Returns the variable controlling whether the overlay is displayed in a Viewport\r\n * @public\r\n */\r\n public static get viewOverlayDisplay() {\r\n return UiFramework.frameworkState ? UiFramework.frameworkState.configurableUiState.viewOverlayDisplay : /* istanbul ignore next */ true;\r\n }\r\n /** Set the variable that controls display of the view overlay. Applies to all viewports in the app\r\n * @public\r\n */\r\n public static setViewOverlayDisplay(display: boolean) {\r\n if (UiFramework.viewOverlayDisplay === display)\r\n return;\r\n UiFramework.dispatchActionToStore(ConfigurableUiActionId.SetViewOverlayDisplay, display);\r\n }\r\n /** Send logging message to the telemetry system\r\n * @internal\r\n */\r\n // istanbul ignore next\r\n public static async postTelemetry(eventName: string, eventId?: GuidString, iTwinId?: GuidString, iModeId?: GuidString, changeSetId?: string, time?: TrackingTime, additionalProperties?: { [key: string]: any }): Promise<void> {\r\n if (!IModelApp.authorizationClient)\r\n return;\r\n\r\n try {\r\n const activity: RpcActivity = {\r\n sessionId: IModelApp.sessionId,\r\n activityId: \"\",\r\n applicationId: IModelApp.applicationId,\r\n applicationVersion: IModelApp.applicationVersion,\r\n accessToken: (await IModelApp.authorizationClient.getAccessToken()) ?? \"\",\r\n };\r\n const telemetryEvent = new TelemetryEvent(eventName, eventId, iTwinId, iModeId, changeSetId, time, additionalProperties);\r\n await IModelApp.telemetry.postTelemetry(activity, telemetryEvent);\r\n } catch { }\r\n }\r\n /** Determines whether a ContextMenu is open\r\n * @alpha\r\n * */\r\n public static get isContextMenuOpen(): boolean {\r\n const contextMenu = document.querySelector(\"div.core-context-menu-opened\");\r\n return contextMenu !== null && contextMenu !== undefined;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"UiFramework.js","sourceRoot":"","sources":["../../../src/appui-react/UiFramework.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 Utilities\r\n */\r\n\r\n// cSpell:ignore configurableui clientservices\r\n\r\nimport { Store } from \"redux\";\r\nimport { GuidString, Logger, ProcessDetector } from \"@itwin/core-bentley\";\r\nimport { Localization, RpcActivity } from \"@itwin/core-common\";\r\nimport { IModelApp, IModelConnection, SnapMode, ViewState } from \"@itwin/core-frontend\";\r\nimport { Presentation } from \"@itwin/presentation-frontend\";\r\nimport { TelemetryEvent } from \"@itwin/core-telemetry\";\r\nimport { getClassName, UiAdmin, UiError, UiEvent } from \"@itwin/appui-abstract\";\r\nimport { LocalStateStorage, SettingsManager, UiStateStorage } from \"@itwin/core-react\";\r\nimport { UiIModelComponents } from \"@itwin/imodel-components-react\";\r\nimport { BackstageManager } from \"./backstage/BackstageManager\";\r\nimport { ChildWindowManager } from \"./childwindow/ChildWindowManager\";\r\nimport { ConfigurableUiManager } from \"./configurableui/ConfigurableUiManager\";\r\nimport { ConfigurableUiActionId } from \"./configurableui/state\";\r\nimport { FrameworkState } from \"./redux/FrameworkState\";\r\nimport { CursorMenuData, PresentationSelectionScope, SessionStateActionId } from \"./redux/SessionState\";\r\nimport { StateManager } from \"./redux/StateManager\";\r\nimport { HideIsolateEmphasizeActionHandler, HideIsolateEmphasizeManager } from \"./selection/HideIsolateEmphasizeManager\";\r\nimport { SyncUiEventDispatcher, SyncUiEventId } from \"./syncui/SyncUiEventDispatcher\";\r\nimport { SYSTEM_PREFERRED_COLOR_THEME, WIDGET_OPACITY_DEFAULT } from \"./theme/ThemeManager\";\r\nimport * as keyinPaletteTools from \"./tools/KeyinPaletteTools\";\r\nimport * as openSettingTools from \"./tools/OpenSettingsTool\";\r\nimport * as restoreLayoutTools from \"./tools/RestoreLayoutTool\";\r\nimport * as toolSettingTools from \"./tools/ToolSettingsTools\";\r\nimport { UiShowHideManager, UiShowHideSettingsProvider } from \"./utils/UiShowHideManager\";\r\nimport { WidgetManager } from \"./widgets/WidgetManager\";\r\nimport { FrontstageManager } from \"./frontstage/FrontstageManager\";\r\n\r\n// cSpell:ignore Mobi\r\n\r\n/** Defined that available UI Versions. It is recommended to always use the latest version available.\r\n * @public\r\n */\r\nexport type FrameworkVersionId = \"1\" | \"2\";\r\n\r\n/** Interface to be implemented but any classes that wants to load their user settings when the UiStateEntry storage class is set.\r\n * @public\r\n */\r\nexport interface UserSettingsProvider {\r\n /** Unique provider Id */\r\n providerId: string;\r\n /** Function to load settings from settings storage */\r\n loadUserSettings(storage: UiStateStorage): Promise<void>;\r\n}\r\n\r\n/** UiVisibility Event Args interface.\r\n * @public\r\n */\r\nexport interface UiVisibilityEventArgs {\r\n visible: boolean;\r\n}\r\n\r\n/** UiVisibility Event class.\r\n * @public\r\n */\r\nexport class UiVisibilityChangedEvent extends UiEvent<UiVisibilityEventArgs> { }\r\n\r\n/** FrameworkVersion Changed Event Args interface.\r\n * @internal\r\n */\r\nexport interface FrameworkVersionChangedEventArgs {\r\n oldVersion: FrameworkVersionId;\r\n version: FrameworkVersionId;\r\n}\r\n\r\n/** FrameworkVersion Changed Event class.\r\n * @internal\r\n */\r\nexport class FrameworkVersionChangedEvent extends UiEvent<FrameworkVersionChangedEventArgs> { }\r\n\r\n/** TrackingTime time argument used by our feature tracking manager as an option argument to the TelemetryClient\r\n * @internal\r\n */\r\nexport interface TrackingTime {\r\n startTime: Date;\r\n endTime: Date;\r\n}\r\n\r\n/**\r\n * Manages the Redux store, localization service and iModel, Project and Login services for the ui-framework package.\r\n * @public\r\n */\r\nexport class UiFramework {\r\n private static _initialized = false;\r\n private static _store?: Store<any>;\r\n private static _complaint = \"UiFramework not initialized\";\r\n private static _frameworkStateKeyInStore: string = \"frameworkState\"; // default name\r\n private static _backstageManager?: BackstageManager;\r\n private static _widgetManager?: WidgetManager;\r\n private static _uiVersion: FrameworkVersionId = \"2\";\r\n private static _hideIsolateEmphasizeActionHandler?: HideIsolateEmphasizeActionHandler;\r\n /** this provides a default state storage handler */\r\n private static _uiStateStorage: UiStateStorage = new LocalStateStorage();\r\n private static _settingsManager?: SettingsManager;\r\n private static _uiSettingsProviderRegistry: Map<string, UserSettingsProvider> = new Map<string, UserSettingsProvider>();\r\n private static _PopupWindowManager = new ChildWindowManager();\r\n public static useDefaultPopoutUrl = false;\r\n\r\n /** @public */\r\n public static get childWindowManager(): ChildWindowManager {\r\n return UiFramework._PopupWindowManager;\r\n }\r\n\r\n /** Registers class that will be informed when the UserSettingsStorage location has been set or changed. This allows\r\n * classes to load any previously saved settings from the new storage location. Common storage locations are the browser's\r\n * local storage, or the iTwin Product Settings cloud storage available via the SettingsAdmin see `IModelApp.settingsAdmin`.\r\n * @beta\r\n */\r\n public static registerUserSettingsProvider(entry: UserSettingsProvider) {\r\n if (this._uiSettingsProviderRegistry.has(entry.providerId))\r\n return false;\r\n\r\n this._uiSettingsProviderRegistry.set(entry.providerId, entry);\r\n return true;\r\n }\r\n\r\n /** Get Show Ui event.\r\n * @public\r\n */\r\n public static readonly onUiVisibilityChanged = new UiVisibilityChangedEvent();\r\n\r\n /**\r\n * Called by the application to initialize the UiFramework. Also initializes UIIModelComponents, UiComponents, UiCore.\r\n * @param store The single Redux store created by the host application. If this is `undefined` then it is assumed that the [[StateManager]] is being used to provide the Redux store.\r\n * @param frameworkStateKey The name of the key used by the app when adding the UiFramework state into the Redux store. If not defined \"frameworkState\" is assumed. This value is ignored if [[StateManager]] is being used. The StateManager use \"frameworkState\".\r\n * @param startInUi1Mode Used for legacy applications to start up in the deprecated UI 1 mode. This should not set by newer applications.\r\n */\r\n public static async initialize(store: Store<any> | undefined, frameworkStateKey?: string, startInUi1Mode?: boolean): Promise<void> {\r\n return this.initializeEx(store, frameworkStateKey, startInUi1Mode);\r\n }\r\n\r\n /**\r\n * Called by the application to initialize the UiFramework. Also initializes UIIModelComponents, UiComponents, UiCore.\r\n * @param store The single Redux store created by the host application. If this is `undefined` then it is assumed that the [[StateManager]] is being used to provide the Redux store.\r\n * @param frameworkStateKey The name of the key used by the app when adding the UiFramework state into the Redux store. If not defined \"frameworkState\" is assumed. This value is ignored if [[StateManager]] is being used. The StateManager use \"frameworkState\".\r\n * @param startInUi1Mode Used for legacy applications to start up in the deprecated UI 1 mode. This should not set by newer applications.\r\n *\r\n * @internal\r\n */\r\n public static async initializeEx(store: Store<any> | undefined, frameworkStateKey?: string, startInUi1Mode?: boolean): Promise<void> {\r\n if (UiFramework._initialized) {\r\n Logger.logInfo(UiFramework.loggerCategory(UiFramework), `UiFramework.initialize already called`);\r\n return;\r\n }\r\n\r\n /* if store is undefined then the StateManager class should have been initialized by parent app and the apps default set of reducers registered with it.\r\n If the app has no reducers to add and does not initialize a StateManager then just initialize the StateManager with the default framework reducer now */\r\n if (undefined === store && !StateManager.isInitialized(true))\r\n new StateManager();\r\n\r\n UiFramework._store = store;\r\n // ignore setting _frameworkStateKeyInStore if not using store\r\n if (frameworkStateKey && store)\r\n UiFramework._frameworkStateKeyInStore = frameworkStateKey;\r\n\r\n if (startInUi1Mode)\r\n UiFramework.store.dispatch({ type: ConfigurableUiActionId.SetFrameworkVersion, payload: \"1\" });\r\n\r\n // set up namespace and register all tools from package\r\n const frameworkNamespace = IModelApp.localization?.registerNamespace(UiFramework.localizationNamespace);\r\n [\r\n restoreLayoutTools,\r\n keyinPaletteTools,\r\n openSettingTools,\r\n toolSettingTools,\r\n ].forEach((tool) => IModelApp.tools.registerModule(tool, this.localizationNamespace));\r\n\r\n UiFramework._backstageManager = new BackstageManager();\r\n UiFramework._hideIsolateEmphasizeActionHandler = new HideIsolateEmphasizeManager(); // this allows user to override the default HideIsolateEmphasizeManager implementation.\r\n UiFramework._widgetManager = new WidgetManager();\r\n\r\n // Initialize ui-imodel-components, ui-components, ui-core & ui-abstract\r\n await UiIModelComponents.initialize();\r\n\r\n UiFramework.settingsManager.onSettingsProvidersChanged.addListener(() => {\r\n SyncUiEventDispatcher.dispatchSyncUiEvent(SyncUiEventId.SettingsProvidersChanged);\r\n });\r\n\r\n // Initialize the MessagePresenter interface in UiAdmin for Editor notifications\r\n UiAdmin.messagePresenter = IModelApp.notifications;\r\n\r\n UiFramework._initialized = true;\r\n\r\n // initialize any standalone settings providers that don't need to have defaults set by iModelApp\r\n UiShowHideSettingsProvider.initialize();\r\n\r\n ConfigurableUiManager.initialize();\r\n\r\n return frameworkNamespace;\r\n }\r\n\r\n /** Un-registers the UiFramework internationalization service namespace */\r\n public static terminate() {\r\n UiFramework._store = undefined;\r\n UiFramework._frameworkStateKeyInStore = \"frameworkState\";\r\n if (StateManager.isInitialized(true))\r\n StateManager.clearStore();\r\n // istanbul ignore next\r\n IModelApp.localization?.unregisterNamespace(UiFramework.localizationNamespace);\r\n UiFramework._backstageManager = undefined;\r\n UiFramework._widgetManager = undefined;\r\n UiFramework._hideIsolateEmphasizeActionHandler = undefined;\r\n UiFramework._settingsManager = undefined;\r\n\r\n UiIModelComponents.terminate();\r\n UiShowHideManager.terminate();\r\n UiFramework._initialized = false;\r\n }\r\n\r\n /** Determines if UiFramework has been initialized */\r\n public static get initialized(): boolean { return UiFramework._initialized; }\r\n\r\n /** Property that returns the SettingManager used by AppUI-based applications.\r\n * @public\r\n */\r\n public static get settingsManager() {\r\n if (undefined === UiFramework._settingsManager)\r\n UiFramework._settingsManager = new SettingsManager();\r\n return UiFramework._settingsManager;\r\n }\r\n\r\n /** @public */\r\n public static get frameworkStateKey(): string {\r\n return UiFramework._frameworkStateKeyInStore;\r\n }\r\n\r\n /** The UiFramework state maintained by Redux\r\n * @public\r\n */\r\n public static get frameworkState(): FrameworkState | undefined {\r\n try {\r\n // eslint-disable-next-line dot-notation\r\n return UiFramework.store.getState()[UiFramework.frameworkStateKey];\r\n } catch (_e) {\r\n return undefined;\r\n }\r\n }\r\n\r\n /** The Redux store */\r\n public static get store(): Store<any> {\r\n if (UiFramework._store)\r\n return UiFramework._store;\r\n\r\n // istanbul ignore else\r\n if (!StateManager.isInitialized(true))\r\n throw new UiError(UiFramework.loggerCategory(this), `Error trying to access redux store before either store or StateManager has been initialized.`);\r\n\r\n // istanbul ignore next\r\n return StateManager.store;\r\n }\r\n\r\n /** The internationalization service created by the app.\r\n * @internal\r\n */\r\n public static get localization(): Localization {\r\n // istanbul ignore next\r\n if (!IModelApp.localization)\r\n throw new UiError(UiFramework.loggerCategory(this), `IModelApp.localization has not been defined.`);\r\n return IModelApp.localization;\r\n }\r\n\r\n /** The internationalization service namespace. */\r\n public static get localizationNamespace(): string {\r\n return \"UiFramework\";\r\n }\r\n\r\n /** @public */\r\n public static get backstageManager(): BackstageManager {\r\n // istanbul ignore next\r\n if (!UiFramework._backstageManager)\r\n throw new UiError(UiFramework.loggerCategory(this), UiFramework._complaint);\r\n return UiFramework._backstageManager;\r\n }\r\n\r\n /** @alpha */\r\n public static get hideIsolateEmphasizeActionHandler(): HideIsolateEmphasizeActionHandler {\r\n // istanbul ignore next\r\n if (!UiFramework._hideIsolateEmphasizeActionHandler)\r\n throw new UiError(UiFramework.loggerCategory(this), UiFramework._complaint);\r\n return UiFramework._hideIsolateEmphasizeActionHandler;\r\n }\r\n\r\n /** @alpha */\r\n public static setHideIsolateEmphasizeActionHandler(handler: HideIsolateEmphasizeActionHandler | undefined) {\r\n // istanbul ignore else\r\n if (handler)\r\n UiFramework._hideIsolateEmphasizeActionHandler = handler;\r\n else\r\n UiFramework._hideIsolateEmphasizeActionHandler = new HideIsolateEmphasizeManager();\r\n }\r\n\r\n /** @alpha */\r\n public static get widgetManager(): WidgetManager {\r\n // istanbul ignore next\r\n if (!UiFramework._widgetManager)\r\n throw new UiError(UiFramework.loggerCategory(this), UiFramework._complaint);\r\n return UiFramework._widgetManager;\r\n }\r\n\r\n /** Calls localization.getLocalizedStringWithNamespace with the \"UiFramework\" namespace. Do NOT include the namespace in the key.\r\n * @internal\r\n */\r\n public static translate(key: string | string[]): string {\r\n return IModelApp.localization.getLocalizedStringWithNamespace(UiFramework.localizationNamespace, key);\r\n }\r\n\r\n /** @internal */\r\n public static get packageName(): string {\r\n return \"appui-react\";\r\n }\r\n\r\n /** @internal */\r\n public static loggerCategory(obj: any): string {\r\n const className = getClassName(obj);\r\n const category = UiFramework.packageName + (className ? `.${className}` : \"\");\r\n return category;\r\n }\r\n\r\n public static dispatchActionToStore(type: string, payload: any, immediateSync = false) {\r\n UiFramework.store.dispatch({ type, payload });\r\n if (immediateSync)\r\n SyncUiEventDispatcher.dispatchImmediateSyncUiEvent(type);\r\n else\r\n SyncUiEventDispatcher.dispatchSyncUiEvent(type);\r\n }\r\n\r\n public static setAccudrawSnapMode(snapMode: SnapMode) {\r\n UiFramework.dispatchActionToStore(ConfigurableUiActionId.SetSnapMode, snapMode, true);\r\n }\r\n\r\n public static getAccudrawSnapMode(): SnapMode {\r\n return UiFramework.frameworkState ? UiFramework.frameworkState.configurableUiState.snapMode : /* istanbul ignore next */ SnapMode.NearestKeypoint;\r\n }\r\n\r\n public static getActiveSelectionScope(): string {\r\n return UiFramework.frameworkState ? UiFramework.frameworkState.sessionState.activeSelectionScope : /* istanbul ignore next */ \"element\";\r\n }\r\n\r\n public static setActiveSelectionScope(selectionScopeId: string): void {\r\n // istanbul ignore else\r\n if (UiFramework.frameworkState) {\r\n const foundIndex = UiFramework.frameworkState.sessionState.availableSelectionScopes.findIndex((selectionScope: PresentationSelectionScope) => selectionScope.id === selectionScopeId);\r\n if (-1 !== foundIndex) {\r\n const scope = UiFramework.frameworkState.sessionState.availableSelectionScopes[foundIndex];\r\n UiFramework.dispatchActionToStore(SessionStateActionId.SetSelectionScope, scope.id);\r\n Presentation.selection.scopes.activeScope = scope.id;\r\n }\r\n }\r\n }\r\n\r\n /** @public */\r\n public static openCursorMenu(menuData: CursorMenuData | undefined): void {\r\n UiFramework.dispatchActionToStore(SessionStateActionId.UpdateCursorMenu, menuData);\r\n }\r\n\r\n /** @public */\r\n public static closeCursorMenu(): void {\r\n UiFramework.dispatchActionToStore(SessionStateActionId.UpdateCursorMenu, undefined);\r\n }\r\n\r\n /** @public */\r\n public static getCursorMenuData(): CursorMenuData | undefined {\r\n return UiFramework.frameworkState ? UiFramework.frameworkState.sessionState.cursorMenuData : /* istanbul ignore next */ undefined;\r\n }\r\n\r\n public static getActiveIModelId(): string {\r\n return UiFramework.frameworkState ? UiFramework.frameworkState.sessionState.iModelId : /* istanbul ignore next */ \"\";\r\n }\r\n\r\n public static setActiveIModelId(iModelId: string): void {\r\n UiFramework.dispatchActionToStore(SessionStateActionId.SetActiveIModelId, iModelId);\r\n }\r\n\r\n public static setIModelConnection(iModelConnection: IModelConnection | undefined, immediateSync = false) {\r\n const oldConnection = UiFramework.getIModelConnection();\r\n if (oldConnection !== iModelConnection) {\r\n if (oldConnection?.iModelId)\r\n FrontstageManager.clearFrontstageDefsForIModelId(oldConnection.iModelId);\r\n oldConnection && undefined === iModelConnection && SyncUiEventDispatcher.clearConnectionEvents(oldConnection);\r\n iModelConnection && SyncUiEventDispatcher.initializeConnectionEvents(iModelConnection);\r\n UiFramework.dispatchActionToStore(SessionStateActionId.SetIModelConnection, iModelConnection, immediateSync);\r\n }\r\n UiFramework.setActiveIModelId(iModelConnection?.iModelId ?? \"\");\r\n }\r\n\r\n public static getIModelConnection(): IModelConnection | undefined {\r\n return UiFramework.frameworkState ? UiFramework.frameworkState.sessionState.iModelConnection : /* istanbul ignore next */ undefined;\r\n }\r\n\r\n /** Called by iModelApp to initialize saved UI state from registered UseSettingsProviders\r\n * @public\r\n */\r\n public static async initializeStateFromUserSettingsProviders(immediateSync = false) {\r\n // let any registered providers to load values from the new storage location\r\n const providerKeys = [...this._uiSettingsProviderRegistry.keys()];\r\n for await (const key of providerKeys) {\r\n await this._uiSettingsProviderRegistry.get(key)!.loadUserSettings(UiFramework._uiStateStorage);\r\n }\r\n\r\n // istanbul ignore next\r\n if (immediateSync)\r\n SyncUiEventDispatcher.dispatchImmediateSyncUiEvent(SyncUiEventId.UiStateStorageChanged);\r\n else\r\n SyncUiEventDispatcher.dispatchSyncUiEvent(SyncUiEventId.UiStateStorageChanged);\r\n }\r\n\r\n /** @public */\r\n public static async setUiStateStorage(storage: UiStateStorage, immediateSync = false) {\r\n if (UiFramework._uiStateStorage === storage)\r\n return;\r\n\r\n UiFramework._uiStateStorage = storage;\r\n await this.initializeStateFromUserSettingsProviders(immediateSync);\r\n }\r\n\r\n /** The UI Settings Storage is a convenient wrapper around Local Storage to assist in caching state information across user sessions.\r\n * It was previously used to conflate both the state information across session and the information driven directly from user explicit action,\r\n * which are now handled with user preferences.\r\n * @public\r\n */\r\n public static getUiStateStorage(): UiStateStorage {\r\n return UiFramework._uiStateStorage;\r\n }\r\n\r\n public static setDefaultIModelViewportControlId(iModelViewportControlId: string, immediateSync = false) {\r\n UiFramework.dispatchActionToStore(SessionStateActionId.SetDefaultIModelViewportControlId, iModelViewportControlId, immediateSync);\r\n }\r\n\r\n public static getDefaultIModelViewportControlId(): string | undefined {\r\n return UiFramework.frameworkState ? UiFramework.frameworkState.sessionState.defaultIModelViewportControlId : /* istanbul ignore next */ undefined;\r\n }\r\n\r\n public static setDefaultViewId(viewId: string, immediateSync = false) {\r\n UiFramework.dispatchActionToStore(SessionStateActionId.SetDefaultViewId, viewId, immediateSync);\r\n }\r\n\r\n public static getDefaultViewId(): string | undefined {\r\n return UiFramework.frameworkState ? UiFramework.frameworkState.sessionState.defaultViewId : /* istanbul ignore next */ undefined;\r\n }\r\n\r\n public static setDefaultViewState(viewState: ViewState, immediateSync = false) {\r\n UiFramework.dispatchActionToStore(SessionStateActionId.SetDefaultViewState, viewState, immediateSync);\r\n }\r\n public static getDefaultViewState(): ViewState | undefined {\r\n return UiFramework.frameworkState ? UiFramework.frameworkState.sessionState.defaultViewState : /* istanbul ignore next */ undefined;\r\n }\r\n\r\n /** @public */\r\n public static getAvailableSelectionScopes(): PresentationSelectionScope[] {\r\n return UiFramework.frameworkState ?\r\n UiFramework.frameworkState.sessionState.availableSelectionScopes :\r\n /* istanbul ignore next */\r\n [{ id: \"element\", label: \"Element\" } as PresentationSelectionScope];\r\n }\r\n\r\n public static getIsUiVisible() {\r\n return UiShowHideManager.isUiVisible;\r\n }\r\n\r\n public static setIsUiVisible(visible: boolean) {\r\n if (UiShowHideManager.isUiVisible !== visible) {\r\n UiShowHideManager.isUiVisible = visible;\r\n UiFramework.onUiVisibilityChanged.emit({ visible });\r\n }\r\n }\r\n\r\n public static setColorTheme(theme: string) {\r\n if (UiFramework.getColorTheme() === theme)\r\n return;\r\n\r\n UiFramework.dispatchActionToStore(ConfigurableUiActionId.SetTheme, theme, true);\r\n }\r\n\r\n public static getColorTheme(): string {\r\n return UiFramework.frameworkState ? UiFramework.frameworkState.configurableUiState.theme : /* istanbul ignore next */ SYSTEM_PREFERRED_COLOR_THEME;\r\n }\r\n\r\n public static setWidgetOpacity(opacity: number) {\r\n if (UiFramework.getWidgetOpacity() === opacity)\r\n return;\r\n\r\n UiFramework.dispatchActionToStore(ConfigurableUiActionId.SetWidgetOpacity, opacity, true);\r\n }\r\n\r\n public static getWidgetOpacity(): number {\r\n return UiFramework.frameworkState ? UiFramework.frameworkState.configurableUiState.widgetOpacity : /* istanbul ignore next */ WIDGET_OPACITY_DEFAULT;\r\n }\r\n\r\n public static isMobile() { // eslint-disable-line @itwin/prefer-get\r\n return ProcessDetector.isMobileBrowser;\r\n }\r\n\r\n /** Returns the Ui Version.\r\n * @public\r\n */\r\n public static get uiVersion(): FrameworkVersionId {\r\n return UiFramework.frameworkState ? UiFramework.frameworkState.configurableUiState.frameworkVersion : this._uiVersion;\r\n }\r\n\r\n public static setUiVersion(version: FrameworkVersionId) {\r\n if (UiFramework.uiVersion === version)\r\n return;\r\n\r\n UiFramework.dispatchActionToStore(ConfigurableUiActionId.SetFrameworkVersion, version === \"1\" ? \"1\" : \"2\", true);\r\n }\r\n\r\n public static get showWidgetIcon(): boolean {\r\n return UiFramework.frameworkState ? UiFramework.frameworkState.configurableUiState.showWidgetIcon : /* istanbul ignore next */ false;\r\n }\r\n\r\n public static setShowWidgetIcon(value: boolean) {\r\n if (UiFramework.showWidgetIcon === value)\r\n return;\r\n\r\n UiFramework.dispatchActionToStore(ConfigurableUiActionId.SetShowWidgetIcon, value, true);\r\n }\r\n\r\n public static get useDragInteraction(): boolean {\r\n return UiFramework.frameworkState ? UiFramework.frameworkState.configurableUiState.useDragInteraction : false;\r\n }\r\n\r\n public static setUseDragInteraction(useDragInteraction: boolean) {\r\n UiFramework.dispatchActionToStore(ConfigurableUiActionId.SetDragInteraction, useDragInteraction, true);\r\n }\r\n\r\n /** Returns the variable controlling whether the overlay is displayed in a Viewport\r\n * @public\r\n */\r\n public static get viewOverlayDisplay() {\r\n return UiFramework.frameworkState ? UiFramework.frameworkState.configurableUiState.viewOverlayDisplay : /* istanbul ignore next */ true;\r\n }\r\n /** Set the variable that controls display of the view overlay. Applies to all viewports in the app\r\n * @public\r\n */\r\n public static setViewOverlayDisplay(display: boolean) {\r\n if (UiFramework.viewOverlayDisplay === display)\r\n return;\r\n UiFramework.dispatchActionToStore(ConfigurableUiActionId.SetViewOverlayDisplay, display);\r\n }\r\n /** Send logging message to the telemetry system\r\n * @internal\r\n */\r\n // istanbul ignore next\r\n public static async postTelemetry(eventName: string, eventId?: GuidString, iTwinId?: GuidString, iModeId?: GuidString, changeSetId?: string, time?: TrackingTime, additionalProperties?: { [key: string]: any }): Promise<void> {\r\n if (!IModelApp.authorizationClient)\r\n return;\r\n\r\n try {\r\n const activity: RpcActivity = {\r\n sessionId: IModelApp.sessionId,\r\n activityId: \"\",\r\n applicationId: IModelApp.applicationId,\r\n applicationVersion: IModelApp.applicationVersion,\r\n accessToken: (await IModelApp.authorizationClient.getAccessToken()) ?? \"\",\r\n };\r\n const telemetryEvent = new TelemetryEvent(eventName, eventId, iTwinId, iModeId, changeSetId, time, additionalProperties);\r\n await IModelApp.telemetry.postTelemetry(activity, telemetryEvent);\r\n } catch { }\r\n }\r\n /** Determines whether a ContextMenu is open\r\n * @alpha\r\n * */\r\n public static get isContextMenuOpen(): boolean {\r\n const contextMenu = document.querySelector(\"div.core-context-menu-opened\");\r\n return contextMenu !== null && contextMenu !== undefined;\r\n }\r\n}\r\n"]}
@@ -17,7 +17,6 @@ export declare class BackstageEvent extends UiEvent<BackstageEventArgs> {
17
17
  }
18
18
  /** Properties for the [[Backstage]] React component.
19
19
  * @public
20
- * @deprecated use [BackstageComposer]($appui-react) instead.
21
20
  */
22
21
  export interface BackstageProps extends CommonProps {
23
22
  isVisible?: boolean;
@@ -33,7 +32,6 @@ interface BackstageState {
33
32
  }
34
33
  /** Backstage React component.
35
34
  * @public
36
- * @deprecated use [BackstageComposer]($appui-react) instead.
37
35
  */
38
36
  export declare class Backstage extends React.Component<BackstageProps, BackstageState> {
39
37
  static readonly onBackstageEvent: BackstageEvent;
@@ -1 +1 @@
1
- {"version":3,"file":"Backstage.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/backstage/Backstage.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAQnE;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,qBAAa,cAAe,SAAQ,OAAO,CAAC,kBAAkB,CAAC;CAAI;AAEnE;;;GAGG;AACH,MAAM,WAAW,cAAe,SAAQ,WAAW;IACjD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC1B;AAED;;GAEG;AACH,UAAU,cAAc;IACtB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;;GAGG;AACH,qBAAa,SAAU,SAAQ,KAAK,CAAC,SAAS,CAAC,cAAc,EAAE,cAAc,CAAC;IAE5E,gBAAuB,gBAAgB,iBAAwB;IAC/D,OAAc,kBAAkB,EAAE,OAAO,CAAC;IAE1C,0BAA0B;WACZ,IAAI,IAAI,IAAI;IAI1B,0BAA0B;WACZ,IAAI,IAAI,IAAI;IAI1B,mGAAmG;WACrF,yBAAyB,CAAC,gBAAgB,CAAC,EAAE,QAAQ;IAInE,yCAAyC;IACzC,WAAkB,sBAAsB,sDAEvC;IAED,gBAAgB;IAChB,SAAyB,KAAK,EAAE,cAAc,CAAC;gBAEnC,KAAK,EAAE,cAAc;IASjB,iBAAiB;IAIjB,oBAAoB;IAIpC,OAAO,CAAC,qBAAqB,CAE3B;IAEc,kBAAkB,CAAC,SAAS,EAAE,cAAc;IAK5D,OAAO,CAAC,SAAS;IAQjB,OAAO,CAAC,QAAQ,CAMd;IAEc,MAAM,IAAI,KAAK,CAAC,SAAS;CA0B1C"}
1
+ {"version":3,"file":"Backstage.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/backstage/Backstage.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAQnE;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,qBAAa,cAAe,SAAQ,OAAO,CAAC,kBAAkB,CAAC;CAAI;AAEnE;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,WAAW;IACjD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC1B;AAED;;GAEG;AACH,UAAU,cAAc;IACtB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,qBAAa,SAAU,SAAQ,KAAK,CAAC,SAAS,CAAC,cAAc,EAAE,cAAc,CAAC;IAE5E,gBAAuB,gBAAgB,iBAAwB;IAC/D,OAAc,kBAAkB,EAAE,OAAO,CAAC;IAE1C,0BAA0B;WACZ,IAAI,IAAI,IAAI;IAI1B,0BAA0B;WACZ,IAAI,IAAI,IAAI;IAI1B,mGAAmG;WACrF,yBAAyB,CAAC,gBAAgB,CAAC,EAAE,QAAQ;IAInE,yCAAyC;IACzC,WAAkB,sBAAsB,sDAEvC;IAED,gBAAgB;IAChB,SAAyB,KAAK,EAAE,cAAc,CAAC;gBAEnC,KAAK,EAAE,cAAc;IASjB,iBAAiB;IAIjB,oBAAoB;IAIpC,OAAO,CAAC,qBAAqB,CAE3B;IAEc,kBAAkB,CAAC,SAAS,EAAE,cAAc;IAK5D,OAAO,CAAC,SAAS;IAQjB,OAAO,CAAC,QAAQ,CAMd;IAEc,MAAM,IAAI,KAAK,CAAC,SAAS;CA0B1C"}
@@ -18,7 +18,6 @@ export class BackstageEvent extends UiEvent {
18
18
  } // eslint-disable-line deprecation/deprecation
19
19
  /** Backstage React component.
20
20
  * @public
21
- * @deprecated use [BackstageComposer]($appui-react) instead.
22
21
  */
23
22
  export class Backstage extends React.Component {
24
23
  constructor(props) {
@@ -1 +1 @@
1
- {"version":3,"file":"Backstage.js","sourceRoot":"","sources":["../../../../src/appui-react/backstage/Backstage.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 Backstage\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { CommonProps, IconSpec, UiEvent } from \"@itwin/core-react\";\r\nimport { Backstage as NZ_Backstage } from \"@itwin/appui-layout-react\";\r\nimport { SafeAreaContext } from \"../safearea/SafeAreaContext\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { BackstageManager } from \"./BackstageManager\";\r\n\r\n// cSpell:ignore safearea\r\n\r\n/** [[BackstageEvent]] arguments.\r\n * @public\r\n * @deprecated use [BackstageComposer]($appui-react) instead.\r\n */\r\nexport interface BackstageEventArgs {\r\n isVisible: boolean;\r\n}\r\n\r\n/** Backstage Event class.\r\n * @public\r\n */\r\nexport class BackstageEvent extends UiEvent<BackstageEventArgs> { } // eslint-disable-line deprecation/deprecation\r\n\r\n/** Properties for the [[Backstage]] React component.\r\n * @public\r\n * @deprecated use [BackstageComposer]($appui-react) instead.\r\n */\r\nexport interface BackstageProps extends CommonProps {\r\n isVisible?: boolean;\r\n showOverlay?: boolean;\r\n onClose?: () => void;\r\n header?: React.ReactNode;\r\n}\r\n\r\n/** State for the [[Backstage]] React component.\r\n * @internal\r\n */\r\ninterface BackstageState {\r\n isVisible: boolean;\r\n}\r\n\r\n/** Backstage React component.\r\n * @public\r\n * @deprecated use [BackstageComposer]($appui-react) instead.\r\n */\r\nexport class Backstage extends React.Component<BackstageProps, BackstageState> { // eslint-disable-line deprecation/deprecation\r\n\r\n public static readonly onBackstageEvent = new BackstageEvent();\r\n public static isBackstageVisible: boolean;\r\n\r\n /** Shows the Backstage */\r\n public static show(): void {\r\n UiFramework.backstageManager.open();\r\n }\r\n\r\n /** Hides the Backstage */\r\n public static hide(): void {\r\n UiFramework.backstageManager.close();\r\n }\r\n\r\n /** Get CommandItemDef that will toggle display of Backstage and allow iconSpec to be overridden */\r\n public static getBackstageToggleCommand(overrideIconSpec?: IconSpec) {\r\n return BackstageManager.getBackstageToggleCommand(overrideIconSpec);\r\n }\r\n\r\n /** Command that toggles the Backstage */\r\n public static get backstageToggleCommand() {\r\n return this.getBackstageToggleCommand();\r\n }\r\n\r\n /** @internal */\r\n public override readonly state: BackstageState;\r\n\r\n constructor(props: BackstageProps) { // eslint-disable-line deprecation/deprecation\r\n super(props);\r\n\r\n this.setIsOpen(!!this.props.isVisible);\r\n this.state = {\r\n isVisible: UiFramework.backstageManager.isOpen,\r\n };\r\n }\r\n\r\n public override componentDidMount() {\r\n Backstage.onBackstageEvent.addListener(this._handleBackstageEvent); // eslint-disable-line deprecation/deprecation\r\n }\r\n\r\n public override componentWillUnmount() {\r\n Backstage.onBackstageEvent.removeListener(this._handleBackstageEvent); // eslint-disable-line deprecation/deprecation\r\n }\r\n\r\n private _handleBackstageEvent = (args: BackstageEventArgs) => { // eslint-disable-line deprecation/deprecation\r\n this.setState({ isVisible: args.isVisible });\r\n };\r\n\r\n public override componentDidUpdate(prevProps: BackstageProps) { // eslint-disable-line deprecation/deprecation\r\n if (this.props.isVisible !== prevProps.isVisible)\r\n this.setIsOpen(!!this.props.isVisible);\r\n }\r\n\r\n private setIsOpen(isOpen: boolean) {\r\n if (isOpen) {\r\n UiFramework.backstageManager.open();\r\n } else {\r\n UiFramework.backstageManager.close();\r\n }\r\n }\r\n\r\n private _onClose = () => {\r\n Backstage.hide(); // eslint-disable-line deprecation/deprecation\r\n\r\n /* istanbul ignore else */\r\n if (this.props.onClose)\r\n this.props.onClose();\r\n };\r\n\r\n public override render(): React.ReactNode {\r\n Backstage.isBackstageVisible = this.state.isVisible; // eslint-disable-line deprecation/deprecation\r\n\r\n let header: React.ReactNode = null;\r\n\r\n if (this.props.header)\r\n header = this.props.header;\r\n\r\n return (\r\n <SafeAreaContext.Consumer>\r\n {(safeAreaInsets) => (\r\n <NZ_Backstage\r\n className={this.props.className}\r\n header={header}\r\n isOpen={this.state.isVisible}\r\n onClose={this._onClose}\r\n safeAreaInsets={safeAreaInsets}\r\n showOverlay={this.props.showOverlay}\r\n style={this.props.style}\r\n >\r\n {this.props.children}\r\n </NZ_Backstage>\r\n )}\r\n </SafeAreaContext.Consumer>\r\n );\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"Backstage.js","sourceRoot":"","sources":["../../../../src/appui-react/backstage/Backstage.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 Backstage\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { CommonProps, IconSpec, UiEvent } from \"@itwin/core-react\";\r\nimport { Backstage as NZ_Backstage } from \"@itwin/appui-layout-react\";\r\nimport { SafeAreaContext } from \"../safearea/SafeAreaContext\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { BackstageManager } from \"./BackstageManager\";\r\n\r\n// cSpell:ignore safearea\r\n\r\n/** [[BackstageEvent]] arguments.\r\n * @public\r\n * @deprecated use [BackstageComposer]($appui-react) instead.\r\n */\r\nexport interface BackstageEventArgs {\r\n isVisible: boolean;\r\n}\r\n\r\n/** Backstage Event class.\r\n * @public\r\n */\r\nexport class BackstageEvent extends UiEvent<BackstageEventArgs> { } // eslint-disable-line deprecation/deprecation\r\n\r\n/** Properties for the [[Backstage]] React component.\r\n * @public\r\n */\r\nexport interface BackstageProps extends CommonProps {\r\n isVisible?: boolean;\r\n showOverlay?: boolean;\r\n onClose?: () => void;\r\n header?: React.ReactNode;\r\n}\r\n\r\n/** State for the [[Backstage]] React component.\r\n * @internal\r\n */\r\ninterface BackstageState {\r\n isVisible: boolean;\r\n}\r\n\r\n/** Backstage React component.\r\n * @public\r\n */\r\nexport class Backstage extends React.Component<BackstageProps, BackstageState> { // eslint-disable-line deprecation/deprecation\r\n\r\n public static readonly onBackstageEvent = new BackstageEvent();\r\n public static isBackstageVisible: boolean;\r\n\r\n /** Shows the Backstage */\r\n public static show(): void {\r\n UiFramework.backstageManager.open();\r\n }\r\n\r\n /** Hides the Backstage */\r\n public static hide(): void {\r\n UiFramework.backstageManager.close();\r\n }\r\n\r\n /** Get CommandItemDef that will toggle display of Backstage and allow iconSpec to be overridden */\r\n public static getBackstageToggleCommand(overrideIconSpec?: IconSpec) {\r\n return BackstageManager.getBackstageToggleCommand(overrideIconSpec);\r\n }\r\n\r\n /** Command that toggles the Backstage */\r\n public static get backstageToggleCommand() {\r\n return this.getBackstageToggleCommand();\r\n }\r\n\r\n /** @internal */\r\n public override readonly state: BackstageState;\r\n\r\n constructor(props: BackstageProps) { // eslint-disable-line deprecation/deprecation\r\n super(props);\r\n\r\n this.setIsOpen(!!this.props.isVisible);\r\n this.state = {\r\n isVisible: UiFramework.backstageManager.isOpen,\r\n };\r\n }\r\n\r\n public override componentDidMount() {\r\n Backstage.onBackstageEvent.addListener(this._handleBackstageEvent); // eslint-disable-line deprecation/deprecation\r\n }\r\n\r\n public override componentWillUnmount() {\r\n Backstage.onBackstageEvent.removeListener(this._handleBackstageEvent); // eslint-disable-line deprecation/deprecation\r\n }\r\n\r\n private _handleBackstageEvent = (args: BackstageEventArgs) => { // eslint-disable-line deprecation/deprecation\r\n this.setState({ isVisible: args.isVisible });\r\n };\r\n\r\n public override componentDidUpdate(prevProps: BackstageProps) { // eslint-disable-line deprecation/deprecation\r\n if (this.props.isVisible !== prevProps.isVisible)\r\n this.setIsOpen(!!this.props.isVisible);\r\n }\r\n\r\n private setIsOpen(isOpen: boolean) {\r\n if (isOpen) {\r\n UiFramework.backstageManager.open();\r\n } else {\r\n UiFramework.backstageManager.close();\r\n }\r\n }\r\n\r\n private _onClose = () => {\r\n Backstage.hide(); // eslint-disable-line deprecation/deprecation\r\n\r\n /* istanbul ignore else */\r\n if (this.props.onClose)\r\n this.props.onClose();\r\n };\r\n\r\n public override render(): React.ReactNode {\r\n Backstage.isBackstageVisible = this.state.isVisible; // eslint-disable-line deprecation/deprecation\r\n\r\n let header: React.ReactNode = null;\r\n\r\n if (this.props.header)\r\n header = this.props.header;\r\n\r\n return (\r\n <SafeAreaContext.Consumer>\r\n {(safeAreaInsets) => (\r\n <NZ_Backstage\r\n className={this.props.className}\r\n header={header}\r\n isOpen={this.state.isVisible}\r\n onClose={this._onClose}\r\n safeAreaInsets={safeAreaInsets}\r\n showOverlay={this.props.showOverlay}\r\n style={this.props.style}\r\n >\r\n {this.props.children}\r\n </NZ_Backstage>\r\n )}\r\n </SafeAreaContext.Consumer>\r\n );\r\n }\r\n}\r\n"]}
@@ -21,6 +21,7 @@ export declare function BackstageComposerStageLauncher({ item }: BackstageCompos
21
21
  export interface BackstageComposerItemProps {
22
22
  /** Backstage item to render */
23
23
  readonly item: BackstageItem;
24
+ readonly providerId?: string;
24
25
  }
25
26
  /** Item of [[BackstageComposer]].
26
27
  * @internal
@@ -1 +1 @@
1
- {"version":3,"file":"BackstageComposerItem.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/backstage/BackstageComposerItem.tsx"],"names":[],"mappings":"AAIA;;GAEG;;AAIH,OAAO,EACL,mBAAmB,EAAE,aAAa,EAAE,sBAAsB,EAC3D,MAAM,uBAAuB,CAAC;AAO/B,gBAAgB;AAChB,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;CACpC;AAED,gBAAgB;AAChB,wBAAgB,2BAA2B,CAAC,EAAE,IAAI,EAAE,EAAE,gCAAgC,eAmBrF;AAED,gBAAgB;AAChB,MAAM,WAAW,mCAAmC;IAClD,QAAQ,CAAC,IAAI,EAAE,sBAAsB,CAAC;CACvC;AAED,gBAAgB;AAChB,wBAAgB,8BAA8B,CAAC,EAAE,IAAI,EAAE,EAAE,mCAAmC,eAuB3F;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,+BAA+B;IAC/B,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;CAC9B;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,IAAI,EAAE,EAAE,0BAA0B,eAazE"}
1
+ {"version":3,"file":"BackstageComposerItem.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/backstage/BackstageComposerItem.tsx"],"names":[],"mappings":"AAIA;;GAEG;;AAIH,OAAO,EACL,mBAAmB,EAAE,aAAa,EAAE,sBAAsB,EAC3D,MAAM,uBAAuB,CAAC;AAO/B,gBAAgB;AAChB,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;CACpC;AAED,gBAAgB;AAChB,wBAAgB,2BAA2B,CAAC,EAAE,IAAI,EAAE,EAAE,gCAAgC,eAsBrF;AAED,gBAAgB;AAChB,MAAM,WAAW,mCAAmC;IAClD,QAAQ,CAAC,IAAI,EAAE,sBAAsB,CAAC;CACvC;AAED,gBAAgB;AAChB,wBAAgB,8BAA8B,CAAC,EAAE,IAAI,EAAE,EAAE,mCAAmC,eA0B3F;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,+BAA+B;IAC/B,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,IAAI,EAAE,EAAE,0BAA0B,eAazE"}
@@ -20,7 +20,7 @@ export function BackstageComposerActionItem({ item }) {
20
20
  manager.close();
21
21
  item.execute();
22
22
  }, [manager, item]);
23
- return (React.createElement(NZ_BackstageItem, { itemId: item.id, icon: React.createElement(Icon, { iconSpec: ConditionalStringValue.getValue(item.icon) }), isActive: ConditionalBooleanValue.getValue(item.isActive), isDisabled: ConditionalBooleanValue.getValue(item.isDisabled), onClick: handleClick, subtitle: ConditionalStringValue.getValue(item.subtitle), badge: BadgeUtilities.getComponentForBadgeType(item.badgeType) }, ConditionalStringValue.getValue(item.label)));
23
+ return (React.createElement(NZ_BackstageItem, { itemId: item.id, providerId: item.providerId, itemPriority: item.itemPriority, groupPriority: item.groupPriority, icon: React.createElement(Icon, { iconSpec: ConditionalStringValue.getValue(item.icon) }), isActive: ConditionalBooleanValue.getValue(item.isActive), isDisabled: ConditionalBooleanValue.getValue(item.isDisabled), onClick: handleClick, subtitle: ConditionalStringValue.getValue(item.subtitle), badge: BadgeUtilities.getComponentForBadgeType(item.badgeType) }, ConditionalStringValue.getValue(item.label)));
24
24
  }
25
25
  /** @internal */
26
26
  export function BackstageComposerStageLauncher({ item }) {
@@ -34,7 +34,7 @@ export function BackstageComposerStageLauncher({ item }) {
34
34
  }, [manager, item.stageId]);
35
35
  const activeFrontstageId = useActiveFrontstageId();
36
36
  const isActive = ConditionalBooleanValue.getValue((_a = item.isActive) !== null && _a !== void 0 ? _a : item.stageId === activeFrontstageId);
37
- return (React.createElement(NZ_BackstageItem, { itemId: item.id, icon: React.createElement(Icon, { iconSpec: ConditionalStringValue.getValue(item.icon) }), isActive: isActive, isDisabled: ConditionalBooleanValue.getValue(item.isDisabled), onClick: handleClick, subtitle: ConditionalStringValue.getValue(item.subtitle), badge: BadgeUtilities.getComponentForBadgeType(item.badgeType) }, ConditionalStringValue.getValue(item.label)));
37
+ return (React.createElement(NZ_BackstageItem, { itemId: item.id, providerId: item.providerId, itemPriority: item.itemPriority, groupPriority: item.groupPriority, icon: React.createElement(Icon, { iconSpec: ConditionalStringValue.getValue(item.icon) }), isActive: isActive, isDisabled: ConditionalBooleanValue.getValue(item.isDisabled), onClick: handleClick, subtitle: ConditionalStringValue.getValue(item.subtitle), badge: BadgeUtilities.getComponentForBadgeType(item.badgeType) }, ConditionalStringValue.getValue(item.label)));
38
38
  }
39
39
  /** Item of [[BackstageComposer]].
40
40
  * @internal
@@ -1 +1 @@
1
- {"version":3,"file":"BackstageComposerItem.js","sourceRoot":"","sources":["../../../../src/appui-react/backstage/BackstageComposerItem.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EACuD,uBAAuB,EAAE,sBAAsB,EAAE,eAAe,GAC7H,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,aAAa,IAAI,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAOzD,gBAAgB;AAChB,MAAM,UAAU,2BAA2B,CAAC,EAAE,IAAI,EAAoC;IACpF,MAAM,OAAO,GAAG,mBAAmB,EAAE,CAAC;IACtC,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACzC,OAAO,CAAC,KAAK,EAAE,CAAC;QAChB,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;IACpB,OAAO,CACL,oBAAC,gBAAgB,IACf,MAAM,EAAE,IAAI,CAAC,EAAE,EACf,IAAI,EAAE,oBAAC,IAAI,IAAC,QAAQ,EAAE,sBAAsB,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAI,EACpE,QAAQ,EAAE,uBAAuB,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EACzD,UAAU,EAAE,uBAAuB,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,EAC7D,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,sBAAsB,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EACxD,KAAK,EAAE,cAAc,CAAC,wBAAwB,CAAC,IAAI,CAAC,SAAS,CAAC,IAE7D,sBAAsB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAC3B,CACpB,CAAC;AACJ,CAAC;AAOD,gBAAgB;AAChB,MAAM,UAAU,8BAA8B,CAAC,EAAE,IAAI,EAAuC;;IAC1F,MAAM,OAAO,GAAG,mBAAmB,EAAE,CAAC;IACtC,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACzC,OAAO,CAAC,KAAK,EAAE,CAAC;QAChB,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC;YAChD,OAAO,MAAM,CAAC,QAAQ,CAAC,gCAAgC,EAAE,uBAAuB,IAAI,CAAC,OAAO,aAAa,CAAC,CAAC;QAC7G,KAAK,iBAAiB,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC3D,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5B,MAAM,kBAAkB,GAAG,qBAAqB,EAAE,CAAC;IACnD,MAAM,QAAQ,GAAG,uBAAuB,CAAC,QAAQ,CAAC,MAAA,IAAI,CAAC,QAAQ,mCAAI,IAAI,CAAC,OAAO,KAAK,kBAAkB,CAAC,CAAC;IACxG,OAAO,CACL,oBAAC,gBAAgB,IACf,MAAM,EAAE,IAAI,CAAC,EAAE,EACf,IAAI,EAAE,oBAAC,IAAI,IAAC,QAAQ,EAAE,sBAAsB,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAI,EACpE,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,uBAAuB,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,EAC7D,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,sBAAsB,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EACxD,KAAK,EAAE,cAAc,CAAC,wBAAwB,CAAC,IAAI,CAAC,SAAS,CAAC,IAE7D,sBAAsB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAC3B,CACpB,CAAC;AACJ,CAAC;AAUD;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,EAAE,IAAI,EAA8B;IACxE,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE;QACzB,OAAO,CACL,oBAAC,8BAA8B,IAC7B,IAAI,EAAE,IAAI,GACV,CACH,CAAC;KACH;IACD,OAAO,CACL,oBAAC,2BAA2B,IAC1B,IAAI,EAAE,IAAI,GACV,CACH,CAAC;AACJ,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Backstage\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { Logger } from \"@itwin/core-bentley\";\r\nimport {\r\n BackstageActionItem, BackstageItem, BackstageStageLauncher, ConditionalBooleanValue, ConditionalStringValue, isStageLauncher,\r\n} from \"@itwin/appui-abstract\";\r\nimport { BadgeUtilities, Icon } from \"@itwin/core-react\";\r\nimport { BackstageItem as NZ_BackstageItem } from \"@itwin/appui-layout-react\";\r\nimport { useActiveFrontstageId } from \"../frontstage/Frontstage\";\r\nimport { FrontstageManager } from \"../frontstage/FrontstageManager\";\r\nimport { useBackstageManager } from \"./BackstageManager\";\r\n\r\n/** @internal */\r\nexport interface BackstageComposerActionItemProps {\r\n readonly item: BackstageActionItem;\r\n}\r\n\r\n/** @internal */\r\nexport function BackstageComposerActionItem({ item }: BackstageComposerActionItemProps) {\r\n const manager = useBackstageManager();\r\n const handleClick = React.useCallback(() => {\r\n manager.close();\r\n item.execute();\r\n }, [manager, item]);\r\n return (\r\n <NZ_BackstageItem\r\n itemId={item.id}\r\n icon={<Icon iconSpec={ConditionalStringValue.getValue(item.icon)} />}\r\n isActive={ConditionalBooleanValue.getValue(item.isActive)}\r\n isDisabled={ConditionalBooleanValue.getValue(item.isDisabled)}\r\n onClick={handleClick}\r\n subtitle={ConditionalStringValue.getValue(item.subtitle)}\r\n badge={BadgeUtilities.getComponentForBadgeType(item.badgeType)}\r\n >\r\n {ConditionalStringValue.getValue(item.label)}\r\n </NZ_BackstageItem>\r\n );\r\n}\r\n\r\n/** @internal */\r\nexport interface BackstageComposerStageLauncherProps {\r\n readonly item: BackstageStageLauncher;\r\n}\r\n\r\n/** @internal */\r\nexport function BackstageComposerStageLauncher({ item }: BackstageComposerStageLauncherProps) {\r\n const manager = useBackstageManager();\r\n const handleClick = React.useCallback(() => {\r\n manager.close();\r\n if (!FrontstageManager.hasFrontstage(item.stageId))\r\n return Logger.logError(\"BackstageComposerStageLauncher\", `Frontstage with id '${item.stageId}' not found`);\r\n void FrontstageManager.setActiveFrontstage(item.stageId);\r\n }, [manager, item.stageId]);\r\n const activeFrontstageId = useActiveFrontstageId();\r\n const isActive = ConditionalBooleanValue.getValue(item.isActive ?? item.stageId === activeFrontstageId);\r\n return (\r\n <NZ_BackstageItem\r\n itemId={item.id}\r\n icon={<Icon iconSpec={ConditionalStringValue.getValue(item.icon)} />}\r\n isActive={isActive}\r\n isDisabled={ConditionalBooleanValue.getValue(item.isDisabled)}\r\n onClick={handleClick}\r\n subtitle={ConditionalStringValue.getValue(item.subtitle)}\r\n badge={BadgeUtilities.getComponentForBadgeType(item.badgeType)}\r\n >\r\n {ConditionalStringValue.getValue(item.label)}\r\n </NZ_BackstageItem>\r\n );\r\n}\r\n\r\n/** Props of [[BackstageComposerItem]] component.\r\n * @internal\r\n */\r\nexport interface BackstageComposerItemProps {\r\n /** Backstage item to render */\r\n readonly item: BackstageItem;\r\n}\r\n\r\n/** Item of [[BackstageComposer]].\r\n * @internal\r\n */\r\nexport function BackstageComposerItem({ item }: BackstageComposerItemProps) {\r\n if (isStageLauncher(item)) {\r\n return (\r\n <BackstageComposerStageLauncher\r\n item={item}\r\n />\r\n );\r\n }\r\n return (\r\n <BackstageComposerActionItem\r\n item={item}\r\n />\r\n );\r\n}\r\n"]}
1
+ {"version":3,"file":"BackstageComposerItem.js","sourceRoot":"","sources":["../../../../src/appui-react/backstage/BackstageComposerItem.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EACuD,uBAAuB,EAAE,sBAAsB,EAAE,eAAe,GAC7H,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,aAAa,IAAI,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAOzD,gBAAgB;AAChB,MAAM,UAAU,2BAA2B,CAAC,EAAE,IAAI,EAAoC;IACpF,MAAM,OAAO,GAAG,mBAAmB,EAAE,CAAC;IACtC,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACzC,OAAO,CAAC,KAAK,EAAE,CAAC;QAChB,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;IACpB,OAAO,CACL,oBAAC,gBAAgB,IACf,MAAM,EAAE,IAAI,CAAC,EAAE,EACf,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,YAAY,EAAE,IAAI,CAAC,YAAY,EAC/B,aAAa,EAAE,IAAI,CAAC,aAAa,EACjC,IAAI,EAAE,oBAAC,IAAI,IAAC,QAAQ,EAAE,sBAAsB,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAI,EACpE,QAAQ,EAAE,uBAAuB,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EACzD,UAAU,EAAE,uBAAuB,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,EAC7D,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,sBAAsB,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EACxD,KAAK,EAAE,cAAc,CAAC,wBAAwB,CAAC,IAAI,CAAC,SAAS,CAAC,IAE7D,sBAAsB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAC3B,CACpB,CAAC;AACJ,CAAC;AAOD,gBAAgB;AAChB,MAAM,UAAU,8BAA8B,CAAC,EAAE,IAAI,EAAuC;;IAC1F,MAAM,OAAO,GAAG,mBAAmB,EAAE,CAAC;IACtC,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACzC,OAAO,CAAC,KAAK,EAAE,CAAC;QAChB,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC;YAChD,OAAO,MAAM,CAAC,QAAQ,CAAC,gCAAgC,EAAE,uBAAuB,IAAI,CAAC,OAAO,aAAa,CAAC,CAAC;QAC7G,KAAK,iBAAiB,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC3D,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5B,MAAM,kBAAkB,GAAG,qBAAqB,EAAE,CAAC;IACnD,MAAM,QAAQ,GAAG,uBAAuB,CAAC,QAAQ,CAAC,MAAA,IAAI,CAAC,QAAQ,mCAAI,IAAI,CAAC,OAAO,KAAK,kBAAkB,CAAC,CAAC;IACxG,OAAO,CACL,oBAAC,gBAAgB,IACf,MAAM,EAAE,IAAI,CAAC,EAAE,EACf,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,YAAY,EAAE,IAAI,CAAC,YAAY,EAC/B,aAAa,EAAE,IAAI,CAAC,aAAa,EACjC,IAAI,EAAE,oBAAC,IAAI,IAAC,QAAQ,EAAE,sBAAsB,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAI,EACpE,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,uBAAuB,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,EAC7D,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,sBAAsB,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EACxD,KAAK,EAAE,cAAc,CAAC,wBAAwB,CAAC,IAAI,CAAC,SAAS,CAAC,IAE7D,sBAAsB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAC3B,CACpB,CAAC;AACJ,CAAC;AAWD;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,EAAE,IAAI,EAA8B;IACxE,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE;QACzB,OAAO,CACL,oBAAC,8BAA8B,IAC7B,IAAI,EAAE,IAAI,GACV,CACH,CAAC;KACH;IACD,OAAO,CACL,oBAAC,2BAA2B,IAC1B,IAAI,EAAE,IAAI,GACV,CACH,CAAC;AACJ,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Backstage\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { Logger } from \"@itwin/core-bentley\";\r\nimport {\r\n BackstageActionItem, BackstageItem, BackstageStageLauncher, ConditionalBooleanValue, ConditionalStringValue, isStageLauncher,\r\n} from \"@itwin/appui-abstract\";\r\nimport { BadgeUtilities, Icon } from \"@itwin/core-react\";\r\nimport { BackstageItem as NZ_BackstageItem } from \"@itwin/appui-layout-react\";\r\nimport { useActiveFrontstageId } from \"../frontstage/Frontstage\";\r\nimport { FrontstageManager } from \"../frontstage/FrontstageManager\";\r\nimport { useBackstageManager } from \"./BackstageManager\";\r\n\r\n/** @internal */\r\nexport interface BackstageComposerActionItemProps {\r\n readonly item: BackstageActionItem;\r\n}\r\n\r\n/** @internal */\r\nexport function BackstageComposerActionItem({ item }: BackstageComposerActionItemProps) {\r\n const manager = useBackstageManager();\r\n const handleClick = React.useCallback(() => {\r\n manager.close();\r\n item.execute();\r\n }, [manager, item]);\r\n return (\r\n <NZ_BackstageItem\r\n itemId={item.id}\r\n providerId={item.providerId}\r\n itemPriority={item.itemPriority}\r\n groupPriority={item.groupPriority}\r\n icon={<Icon iconSpec={ConditionalStringValue.getValue(item.icon)} />}\r\n isActive={ConditionalBooleanValue.getValue(item.isActive)}\r\n isDisabled={ConditionalBooleanValue.getValue(item.isDisabled)}\r\n onClick={handleClick}\r\n subtitle={ConditionalStringValue.getValue(item.subtitle)}\r\n badge={BadgeUtilities.getComponentForBadgeType(item.badgeType)}\r\n >\r\n {ConditionalStringValue.getValue(item.label)}\r\n </NZ_BackstageItem>\r\n );\r\n}\r\n\r\n/** @internal */\r\nexport interface BackstageComposerStageLauncherProps {\r\n readonly item: BackstageStageLauncher;\r\n}\r\n\r\n/** @internal */\r\nexport function BackstageComposerStageLauncher({ item }: BackstageComposerStageLauncherProps) {\r\n const manager = useBackstageManager();\r\n const handleClick = React.useCallback(() => {\r\n manager.close();\r\n if (!FrontstageManager.hasFrontstage(item.stageId))\r\n return Logger.logError(\"BackstageComposerStageLauncher\", `Frontstage with id '${item.stageId}' not found`);\r\n void FrontstageManager.setActiveFrontstage(item.stageId);\r\n }, [manager, item.stageId]);\r\n const activeFrontstageId = useActiveFrontstageId();\r\n const isActive = ConditionalBooleanValue.getValue(item.isActive ?? item.stageId === activeFrontstageId);\r\n return (\r\n <NZ_BackstageItem\r\n itemId={item.id}\r\n providerId={item.providerId}\r\n itemPriority={item.itemPriority}\r\n groupPriority={item.groupPriority}\r\n icon={<Icon iconSpec={ConditionalStringValue.getValue(item.icon)} />}\r\n isActive={isActive}\r\n isDisabled={ConditionalBooleanValue.getValue(item.isDisabled)}\r\n onClick={handleClick}\r\n subtitle={ConditionalStringValue.getValue(item.subtitle)}\r\n badge={BadgeUtilities.getComponentForBadgeType(item.badgeType)}\r\n >\r\n {ConditionalStringValue.getValue(item.label)}\r\n </NZ_BackstageItem>\r\n );\r\n}\r\n\r\n/** Props of [[BackstageComposerItem]] component.\r\n * @internal\r\n */\r\nexport interface BackstageComposerItemProps {\r\n /** Backstage item to render */\r\n readonly item: BackstageItem;\r\n readonly providerId?: string;\r\n}\r\n\r\n/** Item of [[BackstageComposer]].\r\n * @internal\r\n */\r\nexport function BackstageComposerItem({ item }: BackstageComposerItemProps) {\r\n if (isStageLauncher(item)) {\r\n return (\r\n <BackstageComposerStageLauncher\r\n item={item}\r\n />\r\n );\r\n }\r\n return (\r\n <BackstageComposerActionItem\r\n item={item}\r\n />\r\n );\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigurableUiContent.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/configurableui/ConfigurableUiContent.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,uBAAuB,CAAC;AAC/B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,WAAW,EAAS,MAAM,mBAAmB,CAAC;AAmBvD;;GAEG;AACH,MAAM,WAAW,0BAA2B,SAAQ,WAAW;IAC7D,kCAAkC;IAClC,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE/B,gBAAgB;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,0BAA0B,eAsCtE"}
1
+ {"version":3,"file":"ConfigurableUiContent.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/configurableui/ConfigurableUiContent.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,uBAAuB,CAAC;AAC/B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,WAAW,EAAS,MAAM,mBAAmB,CAAC;AAoBvD;;GAEG;AACH,MAAM,WAAW,0BAA2B,SAAQ,WAAW;IAC7D,kCAAkC;IAClC,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE/B,gBAAgB;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,0BAA0B,eAuCtE"}
@@ -23,6 +23,7 @@ import { PointerMessage } from "../messages/Pointer";
23
23
  import { PopupRenderer } from "../popup/PopupManager";
24
24
  import { WidgetPanelsFrontstage } from "../widget-panels/Frontstage";
25
25
  import { ConfigurableUiManager } from "./ConfigurableUiManager";
26
+ import { ContentDialogRenderer } from "../dialog/ContentDialogManager";
26
27
  /** The ConfigurableUiContent component is the component the pages specified using ConfigurableUi
27
28
  * @public
28
29
  */
@@ -44,6 +45,7 @@ export function ConfigurableUiContent(props) {
44
45
  return (React.createElement("main", { role: "main", id: "uifw-configurableui-wrapper", className: props.className, style: props.style, onMouseMove: handleMouseMove },
45
46
  props.appBackstage,
46
47
  version === "1" ? React.createElement(FrontstageComposer, { style: { position: "relative", height: "100%" } }) : /* istanbul ignore next */ React.createElement(WidgetPanelsFrontstage, null),
48
+ React.createElement(ContentDialogRenderer, null),
47
49
  React.createElement(ModelessDialogRenderer, null),
48
50
  React.createElement(ModalDialogRenderer, null),
49
51
  React.createElement(ElementTooltip, null),
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigurableUiContent.js","sourceRoot":"","sources":["../../../../src/appui-react/configurableui/ConfigurableUiContent.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 ConfigurableUi\r\n */\r\n\r\nimport \"./configurableui.scss\";\r\nimport * as React from \"react\";\r\nimport { CommonProps, Point } from \"@itwin/core-react\";\r\nimport { CursorInformation } from \"../cursor/CursorInformation\";\r\nimport { CursorPopupMenu } from \"../cursor/cursormenu/CursorMenu\";\r\nimport { CursorPopupRenderer } from \"../cursor/cursorpopup/CursorPopupManager\";\r\nimport { ModalDialogRenderer } from \"../dialog/ModalDialogManager\";\r\nimport { ModelessDialogRenderer } from \"../dialog/ModelessDialogManager\";\r\nimport { ElementTooltip } from \"../feedback/ElementTooltip\";\r\nimport { FrontstageComposer } from \"../frontstage/FrontstageComposer\";\r\nimport { useFrameworkVersion } from \"../hooks/useFrameworkVersion\";\r\nimport { KeyboardShortcutManager } from \"../keyboardshortcut/KeyboardShortcut\";\r\nimport { KeyboardShortcutMenu } from \"../keyboardshortcut/KeyboardShortcutMenu\";\r\nimport { InputFieldMessage } from \"../messages/InputField\";\r\nimport { PointerMessage } from \"../messages/Pointer\";\r\nimport { PopupRenderer } from \"../popup/PopupManager\";\r\nimport { WidgetPanelsFrontstage } from \"../widget-panels/Frontstage\";\r\nimport { ConfigurableUiManager } from \"./ConfigurableUiManager\";\r\n\r\n// cSpell:ignore cursormenu cursorpopup\r\n\r\n/** Properties for [[ConfigurableUiContent]]\r\n * @public\r\n */\r\nexport interface ConfigurableUiContentProps extends CommonProps {\r\n /** React node of the Backstage */\r\n appBackstage?: React.ReactNode;\r\n\r\n /** @internal */\r\n idleTimeout?: number;\r\n /** @internal */\r\n intervalTimeout?: number;\r\n}\r\n\r\n/** The ConfigurableUiContent component is the component the pages specified using ConfigurableUi\r\n * @public\r\n */\r\nexport function ConfigurableUiContent(props: ConfigurableUiContentProps) {\r\n const version = useFrameworkVersion();\r\n React.useEffect(() => {\r\n KeyboardShortcutManager.setFocusToHome();\r\n }, []);\r\n React.useEffect(() => {\r\n ConfigurableUiManager.activityTracker.initialize({ idleTimeout: props.idleTimeout, intervalTimeout: props.intervalTimeout });\r\n return () => {\r\n ConfigurableUiManager.activityTracker.terminate();\r\n };\r\n }, [props.idleTimeout, props.intervalTimeout]);\r\n\r\n const handleMouseMove = React.useCallback((e: React.MouseEvent) => {\r\n const point = new Point(e.pageX, e.pageY);\r\n CursorInformation.handleMouseMove(point);\r\n }, []);\r\n\r\n return (\r\n <main role=\"main\"\r\n id=\"uifw-configurableui-wrapper\"\r\n className={props.className}\r\n style={props.style}\r\n onMouseMove={handleMouseMove}\r\n >\r\n {props.appBackstage}\r\n {/* eslint-disable-next-line deprecation/deprecation */}\r\n {version === \"1\" ? <FrontstageComposer style={{ position: \"relative\", height: \"100%\" }} /> : /* istanbul ignore next */ <WidgetPanelsFrontstage />}\r\n <ModelessDialogRenderer />\r\n <ModalDialogRenderer />\r\n <ElementTooltip />\r\n <PointerMessage />\r\n <KeyboardShortcutMenu />\r\n <InputFieldMessage />\r\n <CursorPopupMenu />\r\n <CursorPopupRenderer />\r\n <PopupRenderer />\r\n </main>\r\n );\r\n}\r\n"]}
1
+ {"version":3,"file":"ConfigurableUiContent.js","sourceRoot":"","sources":["../../../../src/appui-react/configurableui/ConfigurableUiContent.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 ConfigurableUi\r\n */\r\n\r\nimport \"./configurableui.scss\";\r\nimport * as React from \"react\";\r\nimport { CommonProps, Point } from \"@itwin/core-react\";\r\nimport { CursorInformation } from \"../cursor/CursorInformation\";\r\nimport { CursorPopupMenu } from \"../cursor/cursormenu/CursorMenu\";\r\nimport { CursorPopupRenderer } from \"../cursor/cursorpopup/CursorPopupManager\";\r\nimport { ModalDialogRenderer } from \"../dialog/ModalDialogManager\";\r\nimport { ModelessDialogRenderer } from \"../dialog/ModelessDialogManager\";\r\nimport { ElementTooltip } from \"../feedback/ElementTooltip\";\r\nimport { FrontstageComposer } from \"../frontstage/FrontstageComposer\";\r\nimport { useFrameworkVersion } from \"../hooks/useFrameworkVersion\";\r\nimport { KeyboardShortcutManager } from \"../keyboardshortcut/KeyboardShortcut\";\r\nimport { KeyboardShortcutMenu } from \"../keyboardshortcut/KeyboardShortcutMenu\";\r\nimport { InputFieldMessage } from \"../messages/InputField\";\r\nimport { PointerMessage } from \"../messages/Pointer\";\r\nimport { PopupRenderer } from \"../popup/PopupManager\";\r\nimport { WidgetPanelsFrontstage } from \"../widget-panels/Frontstage\";\r\nimport { ConfigurableUiManager } from \"./ConfigurableUiManager\";\r\nimport { ContentDialogRenderer } from \"../dialog/ContentDialogManager\";\r\n\r\n// cSpell:ignore cursormenu cursorpopup\r\n\r\n/** Properties for [[ConfigurableUiContent]]\r\n * @public\r\n */\r\nexport interface ConfigurableUiContentProps extends CommonProps {\r\n /** React node of the Backstage */\r\n appBackstage?: React.ReactNode;\r\n\r\n /** @internal */\r\n idleTimeout?: number;\r\n /** @internal */\r\n intervalTimeout?: number;\r\n}\r\n\r\n/** The ConfigurableUiContent component is the component the pages specified using ConfigurableUi\r\n * @public\r\n */\r\nexport function ConfigurableUiContent(props: ConfigurableUiContentProps) {\r\n const version = useFrameworkVersion();\r\n React.useEffect(() => {\r\n KeyboardShortcutManager.setFocusToHome();\r\n }, []);\r\n React.useEffect(() => {\r\n ConfigurableUiManager.activityTracker.initialize({ idleTimeout: props.idleTimeout, intervalTimeout: props.intervalTimeout });\r\n return () => {\r\n ConfigurableUiManager.activityTracker.terminate();\r\n };\r\n }, [props.idleTimeout, props.intervalTimeout]);\r\n\r\n const handleMouseMove = React.useCallback((e: React.MouseEvent) => {\r\n const point = new Point(e.pageX, e.pageY);\r\n CursorInformation.handleMouseMove(point);\r\n }, []);\r\n\r\n return (\r\n <main role=\"main\"\r\n id=\"uifw-configurableui-wrapper\"\r\n className={props.className}\r\n style={props.style}\r\n onMouseMove={handleMouseMove}\r\n >\r\n {props.appBackstage}\r\n {/* eslint-disable-next-line deprecation/deprecation */}\r\n {version === \"1\" ? <FrontstageComposer style={{ position: \"relative\", height: \"100%\" }} /> : /* istanbul ignore next */ <WidgetPanelsFrontstage />}\r\n <ContentDialogRenderer />\r\n <ModelessDialogRenderer />\r\n <ModalDialogRenderer />\r\n <ElementTooltip />\r\n <PointerMessage />\r\n <KeyboardShortcutMenu />\r\n <InputFieldMessage />\r\n <CursorPopupMenu />\r\n <CursorPopupRenderer />\r\n <PopupRenderer />\r\n </main>\r\n );\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigurableUiManager.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/configurableui/ConfigurableUiManager.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAGhD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAA2B,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAOtG,OAAO,EAAe,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAmB,aAAa,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzF,OAAO,EAA0B,gCAAgC,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAK1H,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,KAAK,CAAC;CACd;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,SAAS,CAAC,mBAAmB,CAAC;CAAI;AAEvE;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,SAAS,CAAC,mBAAmB,CAAC;CAAI;AAEvE;;GAEG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAuD;IACzF,OAAO,CAAC,MAAM,CAAC,YAAY,CAAS;IAEpC,gBAAgB;IAChB,gBAAuB,eAAe,kBAAyB;IAC/D,gBAAgB;IAChB,gBAAuB,iBAAiB,kBAAyB;IACjE,gBAAgB;IAChB,gBAAuB,iBAAiB,kBAAyB;IAEjE,yEAAyE;WAC3D,UAAU;IA4BxB;;;;;;;;;OASG;WACW,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,gCAAgC,GAAG,IAAI;IAQnG;;;OAGG;WACW,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAK3D;;OAEG;WACW,qBAAqB,CAAC,WAAW,EAAE,gCAAgC,GAAG,MAAM,GAAG,SAAS;IAStG;;OAEG;WACW,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAMtD;;;;;;OAMG;WACW,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,qBAAqB,GAAG,SAAS;IAWpI;;OAEG;WACW,qBAAqB,CAAC,kBAAkB,EAAE,kBAAkB,GAAG,IAAI;IAIjF;;;;OAIG;WACW,SAAS,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI;IAI3D;;;;OAIG;WACW,YAAY,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI;IAI9D;;;;OAIG;WACW,aAAa,CAAC,iBAAiB,EAAE,iBAAiB,GAAG,IAAI;IAIvE;;OAEG;WACW,qBAAqB,CAAC,YAAY,EAAE,qBAAqB,EAAE,GAAG,IAAI;IAIhF,wDAAwD;WAC1C,iBAAiB,IAAI,WAAW;IAM9C,0CAA0C;WAC5B,OAAO,IAAI,IAAI;CAS9B"}
1
+ {"version":3,"file":"ConfigurableUiManager.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/configurableui/ConfigurableUiManager.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAGhD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAA2B,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAOtG,OAAO,EAAe,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAmB,aAAa,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzF,OAAO,EAA0B,gCAAgC,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAK1H,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGpD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,KAAK,CAAC;CACd;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,SAAS,CAAC,mBAAmB,CAAC;CAAI;AAEvE;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,SAAS,CAAC,mBAAmB,CAAC;CAAI;AAEvE;;GAEG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAuD;IACzF,OAAO,CAAC,MAAM,CAAC,YAAY,CAAS;IAEpC,gBAAgB;IAChB,gBAAuB,eAAe,kBAAyB;IAC/D,gBAAgB;IAChB,gBAAuB,iBAAiB,kBAAyB;IACjE,gBAAgB;IAChB,gBAAuB,iBAAiB,kBAAyB;IAEjE,yEAAyE;WAC3D,UAAU;IA+BxB;;;;;;;;;OASG;WACW,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,gCAAgC,GAAG,IAAI;IAQnG;;;OAGG;WACW,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAK3D;;OAEG;WACW,qBAAqB,CAAC,WAAW,EAAE,gCAAgC,GAAG,MAAM,GAAG,SAAS;IAStG;;OAEG;WACW,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAMtD;;;;;;OAMG;WACW,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,qBAAqB,GAAG,SAAS;IAWpI;;OAEG;WACW,qBAAqB,CAAC,kBAAkB,EAAE,kBAAkB,GAAG,IAAI;IAIjF;;;;OAIG;WACW,SAAS,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI;IAI3D;;;;OAIG;WACW,YAAY,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI;IAI9D;;;;OAIG;WACW,aAAa,CAAC,iBAAiB,EAAE,iBAAiB,GAAG,IAAI;IAIvE;;OAEG;WACW,qBAAqB,CAAC,YAAY,EAAE,qBAAqB,EAAE,GAAG,IAAI;IAIhF,wDAAwD;WAC1C,iBAAiB,IAAI,WAAW;IAM9C,0CAA0C;WAC5B,OAAO,IAAI,IAAI;CAU9B"}
@@ -24,6 +24,7 @@ import { ModalDialogManager } from "../dialog/ModalDialogManager";
24
24
  import { MessageManager } from "../messages/MessageManager";
25
25
  import { PopupManager } from "../popup/PopupManager";
26
26
  import { ActivityTracker } from "./ActivityTracker";
27
+ import { ContentDialogManager } from "../dialog/ContentDialogManager";
27
28
  /** Ui Activity Event class.
28
29
  * @internal
29
30
  */
@@ -53,8 +54,11 @@ export class ConfigurableUiManager {
53
54
  FrontstageManager.initialize();
54
55
  // Initialize the ToolSettingsManager that manages Tool Settings properties.
55
56
  ToolSettingsManager.initialize();
56
- // Initialize the modeless dialog manager.
57
+ // Initialize dialog managers that allow one or more dialogs to be open at a time. These managers adjust the z-indexing
58
+ // to ensure the most recently focused dialog of a specific type displays above its siblings.
57
59
  ModelessDialogManager.initialize();
60
+ // ContentDialog have a z-index just above the fixed content views and below all other UI elements.
61
+ ContentDialogManager.initialize();
58
62
  // Initialize the Keyboard Shortcut manager
59
63
  KeyboardShortcutManager.initialize();
60
64
  this._initialized = true;
@@ -164,6 +168,7 @@ export class ConfigurableUiManager {
164
168
  MessageManager.closeAllMessages();
165
169
  ModelessDialogManager.closeAll();
166
170
  ModalDialogManager.closeAll();
171
+ ContentDialogManager.closeAll();
167
172
  KeyboardShortcutManager.closeShortcutsMenu();
168
173
  UiFramework.closeCursorMenu();
169
174
  PopupManager.clearPopups();
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigurableUiManager.js","sourceRoot":"","sources":["../../../../src/appui-react/configurableui/ConfigurableUiManager.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 ConfigurableUi\r\n */\r\n\r\nimport { BeUiEvent } from \"@itwin/core-bentley\";\r\nimport { UiError } from \"@itwin/appui-abstract\";\r\nimport { FrontstageManager } from \"../frontstage/FrontstageManager\";\r\nimport { FrontstageProvider } from \"../frontstage/FrontstageProvider\";\r\nimport { KeyboardShortcutManager, KeyboardShortcutProps } from \"../keyboardshortcut/KeyboardShortcut\";\r\nimport { CubeNavigationAidControl } from \"../navigationaids/CubeNavigationAidControl\";\r\nimport { DrawingNavigationAidControl } from \"../navigationaids/DrawingNavigationAidControl\";\r\nimport { SheetNavigationAidControl } from \"../navigationaids/SheetNavigationAid\";\r\nimport { StandardRotationNavigationAidControl } from \"../navigationaids/StandardRotationNavigationAid\";\r\nimport { SyncUiEventDispatcher } from \"../syncui/SyncUiEventDispatcher\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { TaskManager, TaskPropsList } from \"../workflow/Task\";\r\nimport { WorkflowManager, WorkflowProps, WorkflowPropsList } from \"../workflow/Workflow\";\r\nimport { ToolSettingsManager } from \"../zones/toolsettings/ToolSettingsManager\";\r\nimport { ConfigurableCreateInfo, ConfigurableUiControlConstructor, ConfigurableUiElement } from \"./ConfigurableUiControl\";\r\nimport { ModelessDialogManager } from \"../dialog/ModelessDialogManager\";\r\nimport { ModalDialogManager } from \"../dialog/ModalDialogManager\";\r\nimport { MessageManager } from \"../messages/MessageManager\";\r\nimport { PopupManager } from \"../popup/PopupManager\";\r\nimport { ActivityTracker } from \"./ActivityTracker\";\r\n\r\n/** Ui Activity Event Args interface.\r\n * @internal\r\n */\r\nexport interface UiActivityEventArgs {\r\n event: Event;\r\n}\r\n\r\n/** Ui Activity Event class.\r\n * @internal\r\n */\r\nexport class UiActivityEvent extends BeUiEvent<UiActivityEventArgs> { }\r\n\r\n/** Ui Interval Event Args interface\r\n * @internal\r\n */\r\nexport interface UiIntervalEventArgs {\r\n idleTimeout?: number;\r\n}\r\n\r\n/** Ui Interval Event class.\r\n * @internal\r\n */\r\nexport class UiIntervalEvent extends BeUiEvent<UiIntervalEventArgs> { }\r\n\r\n/** Configurable Ui Manager maintains controls, Frontstages, Content Groups, Content Layouts, Tasks and Workflows.\r\n * @public\r\n */\r\nexport class ConfigurableUiManager {\r\n private static _registeredControls = new Map<string, ConfigurableUiControlConstructor>();\r\n private static _initialized = false;\r\n\r\n /** @internal */\r\n public static readonly activityTracker = new ActivityTracker();\r\n /** @internal */\r\n public static readonly onUiActivityEvent = new UiActivityEvent();\r\n /** @internal */\r\n public static readonly onUiIntervalEvent = new UiIntervalEvent();\r\n\r\n /** Initializes the ConfigurableUiManager and registers core controls. */\r\n public static initialize() {\r\n if (this._initialized)\r\n return;\r\n\r\n // Register core controls\r\n ConfigurableUiManager.registerControl(StandardRotationNavigationAidControl.navigationAidId, StandardRotationNavigationAidControl);\r\n ConfigurableUiManager.registerControl(SheetNavigationAidControl.navigationAidId, SheetNavigationAidControl);\r\n ConfigurableUiManager.registerControl(DrawingNavigationAidControl.navigationAidId, DrawingNavigationAidControl);\r\n ConfigurableUiManager.registerControl(CubeNavigationAidControl.navigationAidId, CubeNavigationAidControl);\r\n\r\n // Initialize SyncUiEventDispatcher so it can register event callbacks.\r\n SyncUiEventDispatcher.initialize();\r\n\r\n // Initialize the FrontstageManager\r\n FrontstageManager.initialize();\r\n\r\n // Initialize the ToolSettingsManager that manages Tool Settings properties.\r\n ToolSettingsManager.initialize();\r\n\r\n // Initialize the modeless dialog manager.\r\n ModelessDialogManager.initialize();\r\n\r\n // Initialize the Keyboard Shortcut manager\r\n KeyboardShortcutManager.initialize();\r\n\r\n this._initialized = true;\r\n }\r\n\r\n /** Registers a control implementing the [[ConfigurableUiElement]] interface.\r\n * These controls can be a\r\n * [[ContentControl]],\r\n * [[NavigationAidControl]],\r\n * [[StatusBarWidgetControl]],\r\n * [[WidgetControl]] or\r\n * [ToolUiProvider]($appui-react).\r\n * @param classId the class id of the control to register\r\n * @param constructor the constructor of the control to register\r\n */\r\n public static registerControl(classId: string, constructor: ConfigurableUiControlConstructor): void {\r\n if (this._registeredControls.get(classId) !== undefined) {\r\n throw new UiError(UiFramework.loggerCategory(this), `registerControl: classId '${classId}' already registered`);\r\n }\r\n\r\n this._registeredControls.set(classId, constructor);\r\n }\r\n\r\n /** Determines if a control has been registered based on its classId.\r\n * @param classId the class id of the control to test\r\n * @returns true if the control is registered or false if not\r\n */\r\n public static isControlRegistered(classId: string): boolean {\r\n const constructor = this._registeredControls.get(classId);\r\n return constructor !== undefined;\r\n }\r\n\r\n /** Determines if a control has been registered.\r\n * @internal\r\n */\r\n public static getConstructorClassId(constructor: ConfigurableUiControlConstructor): string | undefined {\r\n for (const [key, value] of this._registeredControls.entries()) {\r\n if (value === constructor)\r\n return key;\r\n }\r\n\r\n return undefined;\r\n }\r\n\r\n /** Unregisters a control that has been registered.\r\n * @param classId the class id of the control to unregister\r\n */\r\n public static unregisterControl(classId: string): void {\r\n const constructor = this._registeredControls.get(classId);\r\n if (constructor)\r\n this._registeredControls.delete(classId);\r\n }\r\n\r\n /** Creates a control registered by calling registerControl.\r\n * @param classId the class id of the control to create\r\n * @param uniqueId a unique id for the control\r\n * @param options options passed to the constructor of the control\r\n * @param controlId controlId which may not be unique across all control instances.\r\n * @returns the created control\r\n */\r\n public static createControl(classId: string, uniqueId: string, options?: any, controlId?: string): ConfigurableUiElement | undefined {\r\n const info = new ConfigurableCreateInfo(classId, uniqueId, controlId ?? uniqueId);\r\n const constructor = this._registeredControls.get(info.classId);\r\n if (!constructor) {\r\n throw new UiError(UiFramework.loggerCategory(this), `createControl: classId '${classId}' not registered`);\r\n }\r\n\r\n const control = new constructor(info, options);\r\n return control;\r\n }\r\n\r\n /** Add a Frontstage via a provider into the [[FrontstageManager]].\r\n * @param frontstageProvider Provider of the Frontstage to add\r\n */\r\n public static addFrontstageProvider(frontstageProvider: FrontstageProvider): void {\r\n FrontstageManager.addFrontstageProvider(frontstageProvider);\r\n }\r\n\r\n /** Loads one or more Tasks into the [[TaskManager]].\r\n * @param taskPropsList the list of Tasks to load\r\n * @internal\r\n * @deprecated\r\n */\r\n public static loadTasks(taskPropsList: TaskPropsList): void { // eslint-disable-line deprecation/deprecation\r\n TaskManager.loadTasks(taskPropsList); // eslint-disable-line deprecation/deprecation\r\n }\r\n\r\n /** Loads a Workflow into the [[WorkflowManager]].\r\n * @param workflowProps the Workflow to load\r\n * @internal\r\n * @deprecated\r\n */\r\n public static loadWorkflow(workflowProps: WorkflowProps): void { // eslint-disable-line deprecation/deprecation\r\n WorkflowManager.loadWorkflow(workflowProps); // eslint-disable-line deprecation/deprecation\r\n }\r\n\r\n /** Loads one or more Workflows into the [[WorkflowManager]].\r\n * @param workflowPropsList the list of Workflows to load\r\n * @internal\r\n * @deprecated\r\n */\r\n public static loadWorkflows(workflowPropsList: WorkflowPropsList): void { // eslint-disable-line deprecation/deprecation\r\n WorkflowManager.loadWorkflows(workflowPropsList); // eslint-disable-line deprecation/deprecation\r\n }\r\n\r\n /** Loads one or more Keyboard Shortcuts into the [[KeyboardShortcutManager]].\r\n * @param shortcutList the properties of the Keyboard Shortcuts to load\r\n */\r\n public static loadKeyboardShortcuts(shortcutList: KeyboardShortcutProps[]): void {\r\n KeyboardShortcutManager.loadKeyboardShortcuts(shortcutList);\r\n }\r\n\r\n /** Gets the HTML wrapper element for Configurable UI */\r\n public static getWrapperElement(): HTMLElement {\r\n const wrapper = document.getElementById(\"uifw-configurableui-wrapper\");\r\n const htmlElement = wrapper!;\r\n return htmlElement;\r\n }\r\n\r\n /** Closes all UI popups currently open */\r\n public static closeUi(): void {\r\n MessageManager.closeAllMessages();\r\n ModelessDialogManager.closeAll();\r\n ModalDialogManager.closeAll();\r\n KeyboardShortcutManager.closeShortcutsMenu();\r\n UiFramework.closeCursorMenu();\r\n PopupManager.clearPopups();\r\n }\r\n\r\n}\r\n"]}
1
+ {"version":3,"file":"ConfigurableUiManager.js","sourceRoot":"","sources":["../../../../src/appui-react/configurableui/ConfigurableUiManager.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 ConfigurableUi\r\n */\r\n\r\nimport { BeUiEvent } from \"@itwin/core-bentley\";\r\nimport { UiError } from \"@itwin/appui-abstract\";\r\nimport { FrontstageManager } from \"../frontstage/FrontstageManager\";\r\nimport { FrontstageProvider } from \"../frontstage/FrontstageProvider\";\r\nimport { KeyboardShortcutManager, KeyboardShortcutProps } from \"../keyboardshortcut/KeyboardShortcut\";\r\nimport { CubeNavigationAidControl } from \"../navigationaids/CubeNavigationAidControl\";\r\nimport { DrawingNavigationAidControl } from \"../navigationaids/DrawingNavigationAidControl\";\r\nimport { SheetNavigationAidControl } from \"../navigationaids/SheetNavigationAid\";\r\nimport { StandardRotationNavigationAidControl } from \"../navigationaids/StandardRotationNavigationAid\";\r\nimport { SyncUiEventDispatcher } from \"../syncui/SyncUiEventDispatcher\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { TaskManager, TaskPropsList } from \"../workflow/Task\";\r\nimport { WorkflowManager, WorkflowProps, WorkflowPropsList } from \"../workflow/Workflow\";\r\nimport { ToolSettingsManager } from \"../zones/toolsettings/ToolSettingsManager\";\r\nimport { ConfigurableCreateInfo, ConfigurableUiControlConstructor, ConfigurableUiElement } from \"./ConfigurableUiControl\";\r\nimport { ModelessDialogManager } from \"../dialog/ModelessDialogManager\";\r\nimport { ModalDialogManager } from \"../dialog/ModalDialogManager\";\r\nimport { MessageManager } from \"../messages/MessageManager\";\r\nimport { PopupManager } from \"../popup/PopupManager\";\r\nimport { ActivityTracker } from \"./ActivityTracker\";\r\nimport { ContentDialogManager } from \"../dialog/ContentDialogManager\";\r\n\r\n/** Ui Activity Event Args interface.\r\n * @internal\r\n */\r\nexport interface UiActivityEventArgs {\r\n event: Event;\r\n}\r\n\r\n/** Ui Activity Event class.\r\n * @internal\r\n */\r\nexport class UiActivityEvent extends BeUiEvent<UiActivityEventArgs> { }\r\n\r\n/** Ui Interval Event Args interface\r\n * @internal\r\n */\r\nexport interface UiIntervalEventArgs {\r\n idleTimeout?: number;\r\n}\r\n\r\n/** Ui Interval Event class.\r\n * @internal\r\n */\r\nexport class UiIntervalEvent extends BeUiEvent<UiIntervalEventArgs> { }\r\n\r\n/** Configurable Ui Manager maintains controls, Frontstages, Content Groups, Content Layouts, Tasks and Workflows.\r\n * @public\r\n */\r\nexport class ConfigurableUiManager {\r\n private static _registeredControls = new Map<string, ConfigurableUiControlConstructor>();\r\n private static _initialized = false;\r\n\r\n /** @internal */\r\n public static readonly activityTracker = new ActivityTracker();\r\n /** @internal */\r\n public static readonly onUiActivityEvent = new UiActivityEvent();\r\n /** @internal */\r\n public static readonly onUiIntervalEvent = new UiIntervalEvent();\r\n\r\n /** Initializes the ConfigurableUiManager and registers core controls. */\r\n public static initialize() {\r\n if (this._initialized)\r\n return;\r\n\r\n // Register core controls\r\n ConfigurableUiManager.registerControl(StandardRotationNavigationAidControl.navigationAidId, StandardRotationNavigationAidControl);\r\n ConfigurableUiManager.registerControl(SheetNavigationAidControl.navigationAidId, SheetNavigationAidControl);\r\n ConfigurableUiManager.registerControl(DrawingNavigationAidControl.navigationAidId, DrawingNavigationAidControl);\r\n ConfigurableUiManager.registerControl(CubeNavigationAidControl.navigationAidId, CubeNavigationAidControl);\r\n\r\n // Initialize SyncUiEventDispatcher so it can register event callbacks.\r\n SyncUiEventDispatcher.initialize();\r\n\r\n // Initialize the FrontstageManager\r\n FrontstageManager.initialize();\r\n\r\n // Initialize the ToolSettingsManager that manages Tool Settings properties.\r\n ToolSettingsManager.initialize();\r\n\r\n // Initialize dialog managers that allow one or more dialogs to be open at a time. These managers adjust the z-indexing\r\n // to ensure the most recently focused dialog of a specific type displays above its siblings.\r\n ModelessDialogManager.initialize();\r\n // ContentDialog have a z-index just above the fixed content views and below all other UI elements.\r\n ContentDialogManager.initialize();\r\n\r\n // Initialize the Keyboard Shortcut manager\r\n KeyboardShortcutManager.initialize();\r\n\r\n this._initialized = true;\r\n }\r\n\r\n /** Registers a control implementing the [[ConfigurableUiElement]] interface.\r\n * These controls can be a\r\n * [[ContentControl]],\r\n * [[NavigationAidControl]],\r\n * [[StatusBarWidgetControl]],\r\n * [[WidgetControl]] or\r\n * [ToolUiProvider]($appui-react).\r\n * @param classId the class id of the control to register\r\n * @param constructor the constructor of the control to register\r\n */\r\n public static registerControl(classId: string, constructor: ConfigurableUiControlConstructor): void {\r\n if (this._registeredControls.get(classId) !== undefined) {\r\n throw new UiError(UiFramework.loggerCategory(this), `registerControl: classId '${classId}' already registered`);\r\n }\r\n\r\n this._registeredControls.set(classId, constructor);\r\n }\r\n\r\n /** Determines if a control has been registered based on its classId.\r\n * @param classId the class id of the control to test\r\n * @returns true if the control is registered or false if not\r\n */\r\n public static isControlRegistered(classId: string): boolean {\r\n const constructor = this._registeredControls.get(classId);\r\n return constructor !== undefined;\r\n }\r\n\r\n /** Determines if a control has been registered.\r\n * @internal\r\n */\r\n public static getConstructorClassId(constructor: ConfigurableUiControlConstructor): string | undefined {\r\n for (const [key, value] of this._registeredControls.entries()) {\r\n if (value === constructor)\r\n return key;\r\n }\r\n\r\n return undefined;\r\n }\r\n\r\n /** Unregisters a control that has been registered.\r\n * @param classId the class id of the control to unregister\r\n */\r\n public static unregisterControl(classId: string): void {\r\n const constructor = this._registeredControls.get(classId);\r\n if (constructor)\r\n this._registeredControls.delete(classId);\r\n }\r\n\r\n /** Creates a control registered by calling registerControl.\r\n * @param classId the class id of the control to create\r\n * @param uniqueId a unique id for the control\r\n * @param options options passed to the constructor of the control\r\n * @param controlId controlId which may not be unique across all control instances.\r\n * @returns the created control\r\n */\r\n public static createControl(classId: string, uniqueId: string, options?: any, controlId?: string): ConfigurableUiElement | undefined {\r\n const info = new ConfigurableCreateInfo(classId, uniqueId, controlId ?? uniqueId);\r\n const constructor = this._registeredControls.get(info.classId);\r\n if (!constructor) {\r\n throw new UiError(UiFramework.loggerCategory(this), `createControl: classId '${classId}' not registered`);\r\n }\r\n\r\n const control = new constructor(info, options);\r\n return control;\r\n }\r\n\r\n /** Add a Frontstage via a provider into the [[FrontstageManager]].\r\n * @param frontstageProvider Provider of the Frontstage to add\r\n */\r\n public static addFrontstageProvider(frontstageProvider: FrontstageProvider): void {\r\n FrontstageManager.addFrontstageProvider(frontstageProvider);\r\n }\r\n\r\n /** Loads one or more Tasks into the [[TaskManager]].\r\n * @param taskPropsList the list of Tasks to load\r\n * @internal\r\n * @deprecated\r\n */\r\n public static loadTasks(taskPropsList: TaskPropsList): void { // eslint-disable-line deprecation/deprecation\r\n TaskManager.loadTasks(taskPropsList); // eslint-disable-line deprecation/deprecation\r\n }\r\n\r\n /** Loads a Workflow into the [[WorkflowManager]].\r\n * @param workflowProps the Workflow to load\r\n * @internal\r\n * @deprecated\r\n */\r\n public static loadWorkflow(workflowProps: WorkflowProps): void { // eslint-disable-line deprecation/deprecation\r\n WorkflowManager.loadWorkflow(workflowProps); // eslint-disable-line deprecation/deprecation\r\n }\r\n\r\n /** Loads one or more Workflows into the [[WorkflowManager]].\r\n * @param workflowPropsList the list of Workflows to load\r\n * @internal\r\n * @deprecated\r\n */\r\n public static loadWorkflows(workflowPropsList: WorkflowPropsList): void { // eslint-disable-line deprecation/deprecation\r\n WorkflowManager.loadWorkflows(workflowPropsList); // eslint-disable-line deprecation/deprecation\r\n }\r\n\r\n /** Loads one or more Keyboard Shortcuts into the [[KeyboardShortcutManager]].\r\n * @param shortcutList the properties of the Keyboard Shortcuts to load\r\n */\r\n public static loadKeyboardShortcuts(shortcutList: KeyboardShortcutProps[]): void {\r\n KeyboardShortcutManager.loadKeyboardShortcuts(shortcutList);\r\n }\r\n\r\n /** Gets the HTML wrapper element for Configurable UI */\r\n public static getWrapperElement(): HTMLElement {\r\n const wrapper = document.getElementById(\"uifw-configurableui-wrapper\");\r\n const htmlElement = wrapper!;\r\n return htmlElement;\r\n }\r\n\r\n /** Closes all UI popups currently open */\r\n public static closeUi(): void {\r\n MessageManager.closeAllMessages();\r\n ModelessDialogManager.closeAll();\r\n ModalDialogManager.closeAll();\r\n ContentDialogManager.closeAll();\r\n KeyboardShortcutManager.closeShortcutsMenu();\r\n UiFramework.closeCursorMenu();\r\n PopupManager.clearPopups();\r\n }\r\n\r\n}\r\n"]}
@@ -56,4 +56,10 @@ export declare class ContentControl extends ConfigurableUiControl {
56
56
  /** Get the NavigationAidControl associated with this ContentControl */
57
57
  get navigationAidControl(): string;
58
58
  }
59
+ /**
60
+ * @beta
61
+ */
62
+ export declare class FloatingContentControl extends ContentControl {
63
+ constructor(uniqueId: string, name: string, node: React.ReactNode);
64
+ }
59
65
  //# sourceMappingURL=ContentControl.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ContentControl.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/content/ContentControl.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACnF,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAC;AAEnI;;GAEG;AACH,MAAM,WAAW,gCAAgC;IAC/C,oBAAoB,EAAE,cAAc,CAAC;IACrC,iBAAiB,CAAC,EAAE,cAAc,CAAC;CACpC;AAED;;GAEG;AACH,qBAAa,4BAA6B,SAAQ,OAAO,CAAC,gCAAgC,CAAC;CAAI;AAE/F;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,8EAA8E;IAC9E,0BAA0B,EAAE,OAAO,CAAC;IACpC,qCAAqC;IACrC,yBAAyB,CAAC,MAAM,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACtI;AAED;;GAEG;AACH,qBAAa,cAAe,SAAQ,qBAAqB;IACvD,SAAS,CAAC,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC;IACtC,OAAO,CAAC,SAAS,CAAS;IAE1B;;;OAGG;gBACS,IAAI,EAAE,sBAAsB,EAAE,OAAO,EAAE,GAAG;IAItD,mDAAmD;IAC5C,WAAW,IAAI,IAAI;IAG1B,qDAAqD;IAC9C,aAAa,IAAI,IAAI;IAG5B,8EAA8E;IACvE,OAAO,IAAI,yBAAyB;IAE3C,0DAA0D;IAC1D,IAAW,UAAU,IAAI,OAAO,CAAkB;IAClD,uDAAuD;IACvD,IAAW,QAAQ,IAAI,cAAc,GAAG,SAAS,CAAsB;IAEvE,SAAS,CAAC,iBAAiB,IAAI,KAAK,CAAC,SAAS;IAa9C,SAAS,CAAC,YAAY,IAAI,KAAK,CAAC,SAAS;IAIzC,mDAAmD;IACnD,IAAW,SAAS,IAAI,KAAK,CAAC,SAAS,CAEtC;IAED,IAAW,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,EAA0B;IAEjE,uEAAuE;IACvE,IAAW,oBAAoB,IAAI,MAAM,CAExC;CAEF"}
1
+ {"version":3,"file":"ContentControl.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/content/ContentControl.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACnF,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAC;AAEnI;;GAEG;AACH,MAAM,WAAW,gCAAgC;IAC/C,oBAAoB,EAAE,cAAc,CAAC;IACrC,iBAAiB,CAAC,EAAE,cAAc,CAAC;CACpC;AAED;;GAEG;AACH,qBAAa,4BAA6B,SAAQ,OAAO,CAAC,gCAAgC,CAAC;CAAI;AAE/F;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,8EAA8E;IAC9E,0BAA0B,EAAE,OAAO,CAAC;IACpC,qCAAqC;IACrC,yBAAyB,CAAC,MAAM,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACtI;AAED;;GAEG;AACH,qBAAa,cAAe,SAAQ,qBAAqB;IACvD,SAAS,CAAC,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC;IACtC,OAAO,CAAC,SAAS,CAAS;IAE1B;;;OAGG;gBACS,IAAI,EAAE,sBAAsB,EAAE,OAAO,EAAE,GAAG;IAItD,mDAAmD;IAC5C,WAAW,IAAI,IAAI;IAG1B,qDAAqD;IAC9C,aAAa,IAAI,IAAI;IAG5B,8EAA8E;IACvE,OAAO,IAAI,yBAAyB;IAE3C,0DAA0D;IAC1D,IAAW,UAAU,IAAI,OAAO,CAAkB;IAClD,uDAAuD;IACvD,IAAW,QAAQ,IAAI,cAAc,GAAG,SAAS,CAAsB;IAEvE,SAAS,CAAC,iBAAiB,IAAI,KAAK,CAAC,SAAS;IAa9C,SAAS,CAAC,YAAY,IAAI,KAAK,CAAC,SAAS;IAIzC,mDAAmD;IACnD,IAAW,SAAS,IAAI,KAAK,CAAC,SAAS,CAEtC;IAED,IAAW,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,EAA0B;IAEjE,uEAAuE;IACvE,IAAW,oBAAoB,IAAI,MAAM,CAExC;CAEF;AAED;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,cAAc;gBAC5C,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,SAAS;CAIlE"}
@@ -7,7 +7,7 @@
7
7
  */
8
8
  import * as React from "react";
9
9
  import { UiEvent } from "@itwin/appui-abstract";
10
- import { ConfigurableUiControl, ConfigurableUiControlType } from "../configurableui/ConfigurableUiControl";
10
+ import { ConfigurableCreateInfo, ConfigurableUiControl, ConfigurableUiControlType } from "../configurableui/ConfigurableUiControl";
11
11
  /** ContentControl Activated Event class.
12
12
  * @public
13
13
  */
@@ -61,4 +61,13 @@ export class ContentControl extends ConfigurableUiControl {
61
61
  return "";
62
62
  }
63
63
  }
64
+ /**
65
+ * @beta
66
+ */
67
+ export class FloatingContentControl extends ContentControl {
68
+ constructor(uniqueId, name, node) {
69
+ super(new ConfigurableCreateInfo(name, uniqueId, name), undefined);
70
+ this._reactNode = node;
71
+ }
72
+ }
64
73
  //# sourceMappingURL=ContentControl.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ContentControl.js","sourceRoot":"","sources":["../../../../src/appui-react/content/ContentControl.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAA0B,qBAAqB,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAC;AAUnI;;GAEG;AACH,MAAM,OAAO,4BAA6B,SAAQ,OAAyC;CAAI;AAY/F;;GAEG;AACH,MAAM,OAAO,cAAe,SAAQ,qBAAqB;IAIvD;;;OAGG;IACH,YAAY,IAA4B,EAAE,OAAY;QACpD,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAPf,cAAS,GAAG,KAAK,CAAC;IAQ1B,CAAC;IAED,mDAAmD;IAC5C,WAAW;IAClB,CAAC;IAED,qDAAqD;IAC9C,aAAa;IACpB,CAAC;IAED,8EAA8E;IACvE,OAAO,KAAgC,OAAO,yBAAyB,CAAC,OAAO,CAAC,CAAC,CAAC;IAEzF,0DAA0D;IAC1D,IAAW,UAAU,KAAc,OAAO,KAAK,CAAC,CAAC,CAAC;IAClD,uDAAuD;IACvD,IAAW,QAAQ,KAAiC,OAAO,SAAS,CAAC,CAAC,CAAC;IAE7D,iBAAiB;QACzB,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;YAC5D,uBAAuB;YACvB,IAAI,CAAE,IAAI,CAAC,UAAsC,CAAC,GAAG,EAAE;gBACrD,MAAM,eAAe,GAAQ,EAAE,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACpD,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;aACxE;YACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SACvB;QAED,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAES,YAAY;QACpB,OAAO,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAClC,CAAC;IAED,mDAAmD;IACnD,IAAW,SAAS;QAClB,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC;IAC7B,CAAC;IAED,IAAW,SAAS,CAAC,CAAkB,IAAI,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC;IAEjE,uEAAuE;IACvE,IAAW,oBAAoB;QAC7B,OAAO,EAAE,CAAC;IACZ,CAAC;CAEF","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 ContentView\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { Id64String } from \"@itwin/core-bentley\";\r\nimport { IModelConnection, ScreenViewport, ViewState } from \"@itwin/core-frontend\";\r\nimport { UiEvent } from \"@itwin/appui-abstract\";\r\nimport { ConfigurableCreateInfo, ConfigurableUiControl, ConfigurableUiControlType } from \"../configurableui/ConfigurableUiControl\";\r\n\r\n/** ControlControl Activated Event Args interface.\r\n * @public\r\n */\r\nexport interface ContentControlActivatedEventArgs {\r\n activeContentControl: ContentControl;\r\n oldContentControl?: ContentControl;\r\n}\r\n\r\n/** ContentControl Activated Event class.\r\n * @public\r\n */\r\nexport class ContentControlActivatedEvent extends UiEvent<ContentControlActivatedEventArgs> { }\r\n\r\n/** Interface to be implemented when the ContentControl supports ViewSelector changes\r\n * @public\r\n */\r\nexport interface SupportsViewSelectorChange {\r\n /** Returns true if this control supports reacting to ViewSelector changes. */\r\n supportsViewSelectorChange: boolean;\r\n /** Process a ViewSelector change. */\r\n processViewSelectorChange(iModel: IModelConnection, viewDefinitionId: Id64String, viewState: ViewState, name: string): Promise<void>;\r\n}\r\n\r\n/** The base class for Frontstage content controls.\r\n * @public\r\n */\r\nexport class ContentControl extends ConfigurableUiControl {\r\n protected _reactNode: React.ReactNode;\r\n private _keyAdded = false;\r\n\r\n /** Creates an instance of ContentControl.\r\n * @param info An object that the subclass must pass to this base class.\r\n * @param options Options provided via the applicationData in a [[ContentProps]].\r\n */\r\n constructor(info: ConfigurableCreateInfo, options: any) {\r\n super(info, options);\r\n }\r\n\r\n /** Called when this ContentControl is activated */\r\n public onActivated(): void {\r\n }\r\n\r\n /** Called when this ContentControl is deactivated */\r\n public onDeactivated(): void {\r\n }\r\n\r\n /** Gets the type of ConfigurableUiControl, which is 'Content' in this case */\r\n public getType(): ConfigurableUiControlType { return ConfigurableUiControlType.Content; }\r\n\r\n /** Returns true if this control is a Viewport control. */\r\n public get isViewport(): boolean { return false; }\r\n /** Returns the ScreenViewport if isViewport is true */\r\n public get viewport(): ScreenViewport | undefined { return undefined; }\r\n\r\n protected getKeyedReactNode(): React.ReactNode {\r\n if (!this._keyAdded && React.isValidElement(this._reactNode)) {\r\n // istanbul ignore else\r\n if (!(this._reactNode as React.ReactElement<any>).key) {\r\n const additionalProps: any = { key: this.uniqueId };\r\n this._reactNode = React.cloneElement(this._reactNode, additionalProps);\r\n }\r\n this._keyAdded = true;\r\n }\r\n\r\n return this._reactNode;\r\n }\r\n\r\n protected getReactNode(): React.ReactNode {\r\n return this.getKeyedReactNode();\r\n }\r\n\r\n /** The React node associated with this control. */\r\n public get reactNode(): React.ReactNode {\r\n return this.getReactNode();\r\n }\r\n\r\n public set reactNode(r: React.ReactNode) { this._reactNode = r; }\r\n\r\n /** Get the NavigationAidControl associated with this ContentControl */\r\n public get navigationAidControl(): string {\r\n return \"\";\r\n }\r\n\r\n}\r\n"]}
1
+ {"version":3,"file":"ContentControl.js","sourceRoot":"","sources":["../../../../src/appui-react/content/ContentControl.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAC;AAUnI;;GAEG;AACH,MAAM,OAAO,4BAA6B,SAAQ,OAAyC;CAAI;AAY/F;;GAEG;AACH,MAAM,OAAO,cAAe,SAAQ,qBAAqB;IAIvD;;;OAGG;IACH,YAAY,IAA4B,EAAE,OAAY;QACpD,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAPf,cAAS,GAAG,KAAK,CAAC;IAQ1B,CAAC;IAED,mDAAmD;IAC5C,WAAW;IAClB,CAAC;IAED,qDAAqD;IAC9C,aAAa;IACpB,CAAC;IAED,8EAA8E;IACvE,OAAO,KAAgC,OAAO,yBAAyB,CAAC,OAAO,CAAC,CAAC,CAAC;IAEzF,0DAA0D;IAC1D,IAAW,UAAU,KAAc,OAAO,KAAK,CAAC,CAAC,CAAC;IAClD,uDAAuD;IACvD,IAAW,QAAQ,KAAiC,OAAO,SAAS,CAAC,CAAC,CAAC;IAE7D,iBAAiB;QACzB,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;YAC5D,uBAAuB;YACvB,IAAI,CAAE,IAAI,CAAC,UAAsC,CAAC,GAAG,EAAE;gBACrD,MAAM,eAAe,GAAQ,EAAE,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACpD,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;aACxE;YACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SACvB;QAED,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAES,YAAY;QACpB,OAAO,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAClC,CAAC;IAED,mDAAmD;IACnD,IAAW,SAAS;QAClB,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC;IAC7B,CAAC;IAED,IAAW,SAAS,CAAC,CAAkB,IAAI,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC;IAEjE,uEAAuE;IACvE,IAAW,oBAAoB;QAC7B,OAAO,EAAE,CAAC;IACZ,CAAC;CAEF;AAED;;GAEG;AACH,MAAM,OAAO,sBAAuB,SAAQ,cAAc;IACxD,YAAY,QAAgB,EAAE,IAAY,EAAE,IAAqB;QAC/D,KAAK,CAAC,IAAI,sBAAsB,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,SAAS,CAAC,CAAC;QACnE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;IACzB,CAAC;CACF","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 ContentView\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { Id64String } from \"@itwin/core-bentley\";\r\nimport { IModelConnection, ScreenViewport, ViewState } from \"@itwin/core-frontend\";\r\nimport { UiEvent } from \"@itwin/appui-abstract\";\r\nimport { ConfigurableCreateInfo, ConfigurableUiControl, ConfigurableUiControlType } from \"../configurableui/ConfigurableUiControl\";\r\n\r\n/** ControlControl Activated Event Args interface.\r\n * @public\r\n */\r\nexport interface ContentControlActivatedEventArgs {\r\n activeContentControl: ContentControl;\r\n oldContentControl?: ContentControl;\r\n}\r\n\r\n/** ContentControl Activated Event class.\r\n * @public\r\n */\r\nexport class ContentControlActivatedEvent extends UiEvent<ContentControlActivatedEventArgs> { }\r\n\r\n/** Interface to be implemented when the ContentControl supports ViewSelector changes\r\n * @public\r\n */\r\nexport interface SupportsViewSelectorChange {\r\n /** Returns true if this control supports reacting to ViewSelector changes. */\r\n supportsViewSelectorChange: boolean;\r\n /** Process a ViewSelector change. */\r\n processViewSelectorChange(iModel: IModelConnection, viewDefinitionId: Id64String, viewState: ViewState, name: string): Promise<void>;\r\n}\r\n\r\n/** The base class for Frontstage content controls.\r\n * @public\r\n */\r\nexport class ContentControl extends ConfigurableUiControl {\r\n protected _reactNode: React.ReactNode;\r\n private _keyAdded = false;\r\n\r\n /** Creates an instance of ContentControl.\r\n * @param info An object that the subclass must pass to this base class.\r\n * @param options Options provided via the applicationData in a [[ContentProps]].\r\n */\r\n constructor(info: ConfigurableCreateInfo, options: any) {\r\n super(info, options);\r\n }\r\n\r\n /** Called when this ContentControl is activated */\r\n public onActivated(): void {\r\n }\r\n\r\n /** Called when this ContentControl is deactivated */\r\n public onDeactivated(): void {\r\n }\r\n\r\n /** Gets the type of ConfigurableUiControl, which is 'Content' in this case */\r\n public getType(): ConfigurableUiControlType { return ConfigurableUiControlType.Content; }\r\n\r\n /** Returns true if this control is a Viewport control. */\r\n public get isViewport(): boolean { return false; }\r\n /** Returns the ScreenViewport if isViewport is true */\r\n public get viewport(): ScreenViewport | undefined { return undefined; }\r\n\r\n protected getKeyedReactNode(): React.ReactNode {\r\n if (!this._keyAdded && React.isValidElement(this._reactNode)) {\r\n // istanbul ignore else\r\n if (!(this._reactNode as React.ReactElement<any>).key) {\r\n const additionalProps: any = { key: this.uniqueId };\r\n this._reactNode = React.cloneElement(this._reactNode, additionalProps);\r\n }\r\n this._keyAdded = true;\r\n }\r\n\r\n return this._reactNode;\r\n }\r\n\r\n protected getReactNode(): React.ReactNode {\r\n return this.getKeyedReactNode();\r\n }\r\n\r\n /** The React node associated with this control. */\r\n public get reactNode(): React.ReactNode {\r\n return this.getReactNode();\r\n }\r\n\r\n public set reactNode(r: React.ReactNode) { this._reactNode = r; }\r\n\r\n /** Get the NavigationAidControl associated with this ContentControl */\r\n public get navigationAidControl(): string {\r\n return \"\";\r\n }\r\n\r\n}\r\n\r\n/**\r\n * @beta\r\n */\r\nexport class FloatingContentControl extends ContentControl {\r\n constructor(uniqueId: string, name: string, node: React.ReactNode) {\r\n super(new ConfigurableCreateInfo(name, uniqueId, name), undefined);\r\n this._reactNode = node;\r\n }\r\n}\r\n"]}