@itwin/appui-react 4.3.0-dev.1 → 4.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (194) hide show
  1. package/CHANGELOG.md +14 -1
  2. package/lib/cjs/appui-react/UiFramework.js +7 -4
  3. package/lib/cjs/appui-react/UiFramework.js.map +1 -1
  4. package/lib/cjs/appui-react/backstage/BackstageComposerItem.js +2 -1
  5. package/lib/cjs/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  6. package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.js +1 -1
  7. package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.js.map +1 -1
  8. package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.js +1 -1
  9. package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.js.map +1 -1
  10. package/lib/cjs/appui-react/configurableui/TimeTracker.js +2 -1
  11. package/lib/cjs/appui-react/configurableui/TimeTracker.js.map +1 -1
  12. package/lib/cjs/appui-react/content/ContentLayout.js +12 -9
  13. package/lib/cjs/appui-react/content/ContentLayout.js.map +1 -1
  14. package/lib/cjs/appui-react/content/DefaultViewOverlay.js +4 -3
  15. package/lib/cjs/appui-react/content/DefaultViewOverlay.js.map +1 -1
  16. package/lib/cjs/appui-react/content/FloatingViewportContent.js +2 -1
  17. package/lib/cjs/appui-react/content/FloatingViewportContent.js.map +1 -1
  18. package/lib/cjs/appui-react/content/IModelViewport.js +6 -3
  19. package/lib/cjs/appui-react/content/IModelViewport.js.map +1 -1
  20. package/lib/cjs/appui-react/content/InternalContentLayoutManager.js +2 -1
  21. package/lib/cjs/appui-react/content/InternalContentLayoutManager.js.map +1 -1
  22. package/lib/cjs/appui-react/content/InternalContentViewManager.js +1 -1
  23. package/lib/cjs/appui-react/content/InternalContentViewManager.js.map +1 -1
  24. package/lib/cjs/appui-react/content/split-pane/SplitPane.js +12 -10
  25. package/lib/cjs/appui-react/content/split-pane/SplitPane.js.map +1 -1
  26. package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.js +3 -2
  27. package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
  28. package/lib/cjs/appui-react/dialog/ContentDialog.js +6 -3
  29. package/lib/cjs/appui-react/dialog/ContentDialog.js.map +1 -1
  30. package/lib/cjs/appui-react/dialog/DialogManagerBase.js +3 -2
  31. package/lib/cjs/appui-react/dialog/DialogManagerBase.js.map +1 -1
  32. package/lib/cjs/appui-react/frontstage/FrontstageDef.js +7 -5
  33. package/lib/cjs/appui-react/frontstage/FrontstageDef.js.map +1 -1
  34. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js +3 -2
  35. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
  36. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js +2 -1
  37. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  38. package/lib/cjs/appui-react/hooks/useAnalysisAnimationDataProvider.js +11 -7
  39. package/lib/cjs/appui-react/hooks/useAnalysisAnimationDataProvider.js.map +1 -1
  40. package/lib/cjs/appui-react/hooks/useScheduleAnimationDataProvider.js +11 -7
  41. package/lib/cjs/appui-react/hooks/useScheduleAnimationDataProvider.js.map +1 -1
  42. package/lib/cjs/appui-react/hooks/useSolarDataProvider.js +13 -8
  43. package/lib/cjs/appui-react/hooks/useSolarDataProvider.js.map +1 -1
  44. package/lib/cjs/appui-react/messages/ActivityMessage.js +7 -5
  45. package/lib/cjs/appui-react/messages/ActivityMessage.js.map +1 -1
  46. package/lib/cjs/appui-react/pickers/ViewSelector.js +6 -5
  47. package/lib/cjs/appui-react/pickers/ViewSelector.js.map +1 -1
  48. package/lib/cjs/appui-react/popup/KeyinPalettePanel.js +2 -1
  49. package/lib/cjs/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  50. package/lib/cjs/appui-react/popup/PopupManager.js +2 -1
  51. package/lib/cjs/appui-react/popup/PopupManager.js.map +1 -1
  52. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.js +1 -2
  53. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
  54. package/lib/cjs/appui-react/stagepanels/StagePanelDef.js +7 -5
  55. package/lib/cjs/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  56. package/lib/cjs/appui-react/statusbar/Indicator.js +2 -1
  57. package/lib/cjs/appui-react/statusbar/Indicator.js.map +1 -1
  58. package/lib/cjs/appui-react/statusbar/StatusBar.js +5 -3
  59. package/lib/cjs/appui-react/statusbar/StatusBar.js.map +1 -1
  60. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js +1 -1
  61. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  62. package/lib/cjs/appui-react/tools/CoreToolDefinitions.js +17 -10
  63. package/lib/cjs/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  64. package/lib/cjs/appui-react/toolsettings/DefaultToolSettingsProvider.js +2 -3
  65. package/lib/cjs/appui-react/toolsettings/DefaultToolSettingsProvider.js.map +1 -1
  66. package/lib/cjs/appui-react/ui-items-provider/AbstractUiItemsManager.js +14 -12
  67. package/lib/cjs/appui-react/ui-items-provider/AbstractUiItemsManager.js.map +1 -1
  68. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js +10 -9
  69. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
  70. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js +2 -1
  71. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
  72. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.js +14 -8
  73. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
  74. package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.js +1 -1
  75. package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.js.map +1 -1
  76. package/lib/cjs/appui-react/uiprovider/ComponentGenerator.js +1 -1
  77. package/lib/cjs/appui-react/uiprovider/ComponentGenerator.js.map +1 -1
  78. package/lib/cjs/appui-react/utils/InternalUiShowHideManager.js +3 -3
  79. package/lib/cjs/appui-react/utils/InternalUiShowHideManager.js.map +1 -1
  80. package/lib/cjs/appui-react/widget-panels/Content.js +9 -8
  81. package/lib/cjs/appui-react/widget-panels/Content.js.map +1 -1
  82. package/lib/cjs/appui-react/widget-panels/Frontstage.js +45 -43
  83. package/lib/cjs/appui-react/widget-panels/Frontstage.js.map +1 -1
  84. package/lib/cjs/appui-react/widget-panels/StatusBar.js +1 -1
  85. package/lib/cjs/appui-react/widget-panels/StatusBar.js.map +1 -1
  86. package/lib/cjs/appui-react/widget-panels/Tab.js +1 -1
  87. package/lib/cjs/appui-react/widget-panels/Tab.js.map +1 -1
  88. package/lib/cjs/appui-react/widget-panels/ToolSettings.js +20 -14
  89. package/lib/cjs/appui-react/widget-panels/ToolSettings.js.map +1 -1
  90. package/lib/cjs/appui-react/widget-panels/Toolbars.js +3 -2
  91. package/lib/cjs/appui-react/widget-panels/Toolbars.js.map +1 -1
  92. package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.js +2 -2
  93. package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
  94. package/lib/cjs/appui-react/widgets/WidgetDef.js +1 -1
  95. package/lib/cjs/appui-react/widgets/WidgetDef.js.map +1 -1
  96. package/lib/cjs/appui-react/widgets/WidgetHost.js +3 -2
  97. package/lib/cjs/appui-react/widgets/WidgetHost.js.map +1 -1
  98. package/lib/esm/appui-react/UiFramework.js +7 -4
  99. package/lib/esm/appui-react/UiFramework.js.map +1 -1
  100. package/lib/esm/appui-react/backstage/BackstageComposerItem.js +2 -1
  101. package/lib/esm/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  102. package/lib/esm/appui-react/childwindow/InternalChildWindowManager.js +1 -1
  103. package/lib/esm/appui-react/childwindow/InternalChildWindowManager.js.map +1 -1
  104. package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.js +1 -1
  105. package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.js.map +1 -1
  106. package/lib/esm/appui-react/configurableui/TimeTracker.js +2 -1
  107. package/lib/esm/appui-react/configurableui/TimeTracker.js.map +1 -1
  108. package/lib/esm/appui-react/content/ContentLayout.js +12 -9
  109. package/lib/esm/appui-react/content/ContentLayout.js.map +1 -1
  110. package/lib/esm/appui-react/content/DefaultViewOverlay.js +4 -3
  111. package/lib/esm/appui-react/content/DefaultViewOverlay.js.map +1 -1
  112. package/lib/esm/appui-react/content/FloatingViewportContent.js +2 -1
  113. package/lib/esm/appui-react/content/FloatingViewportContent.js.map +1 -1
  114. package/lib/esm/appui-react/content/IModelViewport.js +6 -3
  115. package/lib/esm/appui-react/content/IModelViewport.js.map +1 -1
  116. package/lib/esm/appui-react/content/InternalContentLayoutManager.js +2 -1
  117. package/lib/esm/appui-react/content/InternalContentLayoutManager.js.map +1 -1
  118. package/lib/esm/appui-react/content/InternalContentViewManager.js +1 -1
  119. package/lib/esm/appui-react/content/InternalContentViewManager.js.map +1 -1
  120. package/lib/esm/appui-react/content/split-pane/SplitPane.js +12 -10
  121. package/lib/esm/appui-react/content/split-pane/SplitPane.js.map +1 -1
  122. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.js +3 -2
  123. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
  124. package/lib/esm/appui-react/dialog/ContentDialog.js +6 -3
  125. package/lib/esm/appui-react/dialog/ContentDialog.js.map +1 -1
  126. package/lib/esm/appui-react/dialog/DialogManagerBase.js +3 -2
  127. package/lib/esm/appui-react/dialog/DialogManagerBase.js.map +1 -1
  128. package/lib/esm/appui-react/frontstage/FrontstageDef.js +7 -5
  129. package/lib/esm/appui-react/frontstage/FrontstageDef.js.map +1 -1
  130. package/lib/esm/appui-react/frontstage/ModalSettingsStage.js +3 -2
  131. package/lib/esm/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
  132. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js +2 -1
  133. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  134. package/lib/esm/appui-react/hooks/useAnalysisAnimationDataProvider.js +11 -7
  135. package/lib/esm/appui-react/hooks/useAnalysisAnimationDataProvider.js.map +1 -1
  136. package/lib/esm/appui-react/hooks/useScheduleAnimationDataProvider.js +11 -7
  137. package/lib/esm/appui-react/hooks/useScheduleAnimationDataProvider.js.map +1 -1
  138. package/lib/esm/appui-react/hooks/useSolarDataProvider.js +13 -8
  139. package/lib/esm/appui-react/hooks/useSolarDataProvider.js.map +1 -1
  140. package/lib/esm/appui-react/messages/ActivityMessage.js +7 -5
  141. package/lib/esm/appui-react/messages/ActivityMessage.js.map +1 -1
  142. package/lib/esm/appui-react/pickers/ViewSelector.js +6 -5
  143. package/lib/esm/appui-react/pickers/ViewSelector.js.map +1 -1
  144. package/lib/esm/appui-react/popup/KeyinPalettePanel.js +2 -1
  145. package/lib/esm/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  146. package/lib/esm/appui-react/popup/PopupManager.js +2 -1
  147. package/lib/esm/appui-react/popup/PopupManager.js.map +1 -1
  148. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.js +1 -2
  149. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
  150. package/lib/esm/appui-react/stagepanels/StagePanelDef.js +7 -5
  151. package/lib/esm/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  152. package/lib/esm/appui-react/statusbar/Indicator.js +2 -1
  153. package/lib/esm/appui-react/statusbar/Indicator.js.map +1 -1
  154. package/lib/esm/appui-react/statusbar/StatusBar.js +5 -3
  155. package/lib/esm/appui-react/statusbar/StatusBar.js.map +1 -1
  156. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js +1 -1
  157. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  158. package/lib/esm/appui-react/tools/CoreToolDefinitions.js +17 -10
  159. package/lib/esm/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  160. package/lib/esm/appui-react/toolsettings/DefaultToolSettingsProvider.js +2 -3
  161. package/lib/esm/appui-react/toolsettings/DefaultToolSettingsProvider.js.map +1 -1
  162. package/lib/esm/appui-react/ui-items-provider/AbstractUiItemsManager.js +14 -12
  163. package/lib/esm/appui-react/ui-items-provider/AbstractUiItemsManager.js.map +1 -1
  164. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js +10 -9
  165. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
  166. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js +2 -1
  167. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
  168. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.js +14 -8
  169. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
  170. package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.js +1 -1
  171. package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.js.map +1 -1
  172. package/lib/esm/appui-react/uiprovider/ComponentGenerator.js +1 -1
  173. package/lib/esm/appui-react/uiprovider/ComponentGenerator.js.map +1 -1
  174. package/lib/esm/appui-react/utils/InternalUiShowHideManager.js +3 -3
  175. package/lib/esm/appui-react/utils/InternalUiShowHideManager.js.map +1 -1
  176. package/lib/esm/appui-react/widget-panels/Content.js +9 -8
  177. package/lib/esm/appui-react/widget-panels/Content.js.map +1 -1
  178. package/lib/esm/appui-react/widget-panels/Frontstage.js +45 -43
  179. package/lib/esm/appui-react/widget-panels/Frontstage.js.map +1 -1
  180. package/lib/esm/appui-react/widget-panels/StatusBar.js +1 -1
  181. package/lib/esm/appui-react/widget-panels/StatusBar.js.map +1 -1
  182. package/lib/esm/appui-react/widget-panels/Tab.js +1 -1
  183. package/lib/esm/appui-react/widget-panels/Tab.js.map +1 -1
  184. package/lib/esm/appui-react/widget-panels/ToolSettings.js +20 -14
  185. package/lib/esm/appui-react/widget-panels/ToolSettings.js.map +1 -1
  186. package/lib/esm/appui-react/widget-panels/Toolbars.js +3 -2
  187. package/lib/esm/appui-react/widget-panels/Toolbars.js.map +1 -1
  188. package/lib/esm/appui-react/widgets/NavigationWidgetComposer.js +2 -2
  189. package/lib/esm/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
  190. package/lib/esm/appui-react/widgets/WidgetDef.js +1 -1
  191. package/lib/esm/appui-react/widgets/WidgetDef.js.map +1 -1
  192. package/lib/esm/appui-react/widgets/WidgetHost.js +3 -2
  193. package/lib/esm/appui-react/widgets/WidgetHost.js.map +1 -1
  194. package/package.json +9 -9
@@ -80,8 +80,9 @@ class CoreTools {
80
80
  return new ToolItemDef_1.ToolItemDef({
81
81
  toolId: core_frontend_1.RotateViewTool.toolId,
82
82
  iconSpec: new appui_abstract_1.ConditionalStringValue(() => {
83
+ var _a;
83
84
  const activeContentControl = UiFramework_1.UiFramework.content.getActiveContentControl();
84
- if (activeContentControl?.viewport?.view.is2d())
85
+ if ((_a = activeContentControl === null || activeContentControl === void 0 ? void 0 : activeContentControl.viewport) === null || _a === void 0 ? void 0 : _a.view.is2d())
85
86
  return appui_abstract_1.IconSpecUtilities.createWebComponentIconSpec(rotate_left_svg_1.default);
86
87
  return appui_abstract_1.IconSpecUtilities.createWebComponentIconSpec(gyroscope_svg_1.default);
87
88
  }, [
@@ -101,8 +102,9 @@ class CoreTools {
101
102
  label: core_frontend_1.WalkViewTool.flyover,
102
103
  description: core_frontend_1.WalkViewTool.description,
103
104
  isHidden: new appui_abstract_1.ConditionalBooleanValue(() => {
105
+ var _a;
104
106
  const activeContentControl = UiFramework_1.UiFramework.content.getActiveContentControl();
105
- return !!activeContentControl?.viewport?.view.is2d();
107
+ return !!((_a = activeContentControl === null || activeContentControl === void 0 ? void 0 : activeContentControl.viewport) === null || _a === void 0 ? void 0 : _a.view.is2d());
106
108
  }, [
107
109
  SyncUiEventDispatcher_1.SyncUiEventId.ActiveContentChanged,
108
110
  SyncUiEventDispatcher_1.SyncUiEventId.ActiveViewportChanged,
@@ -133,9 +135,10 @@ class CoreTools {
133
135
  return new ToolItemDef_1.ToolItemDef({
134
136
  toolId: core_frontend_1.ViewToggleCameraTool.toolId,
135
137
  iconSpec: new appui_abstract_1.ConditionalStringValue(() => {
138
+ var _a, _b;
136
139
  const activeContentControl = UiFramework_1.UiFramework.content.getActiveContentControl();
137
- if (activeContentControl?.viewport?.view.is3d() &&
138
- activeContentControl?.viewport?.isCameraOn) {
140
+ if (((_a = activeContentControl === null || activeContentControl === void 0 ? void 0 : activeContentControl.viewport) === null || _a === void 0 ? void 0 : _a.view.is3d()) &&
141
+ ((_b = activeContentControl === null || activeContentControl === void 0 ? void 0 : activeContentControl.viewport) === null || _b === void 0 ? void 0 : _b.isCameraOn)) {
139
142
  return appui_abstract_1.IconSpecUtilities.createWebComponentIconSpec(camera_animation_svg_1.default);
140
143
  }
141
144
  return appui_abstract_1.IconSpecUtilities.createWebComponentIconSpec(camera_animation_disabled_svg_1.default);
@@ -145,9 +148,10 @@ class CoreTools {
145
148
  SyncUiEventDispatcher_1.SyncUiEventId.ViewStateChanged,
146
149
  ]),
147
150
  label: new appui_abstract_1.ConditionalStringValue(() => {
151
+ var _a, _b;
148
152
  const activeContentControl = UiFramework_1.UiFramework.content.getActiveContentControl();
149
- if (activeContentControl?.viewport?.view.is3d() &&
150
- activeContentControl?.viewport?.isCameraOn) {
153
+ if (((_a = activeContentControl === null || activeContentControl === void 0 ? void 0 : activeContentControl.viewport) === null || _a === void 0 ? void 0 : _a.view.is3d()) &&
154
+ ((_b = activeContentControl === null || activeContentControl === void 0 ? void 0 : activeContentControl.viewport) === null || _b === void 0 ? void 0 : _b.isCameraOn)) {
151
155
  return UiFramework_1.UiFramework.translate("tools.View.ToggleCamera.turnOffFlyover");
152
156
  }
153
157
  return UiFramework_1.UiFramework.translate("tools.View.ToggleCamera.turnOnFlyover");
@@ -158,9 +162,10 @@ class CoreTools {
158
162
  ]),
159
163
  description: core_frontend_1.ViewToggleCameraTool.description,
160
164
  isHidden: new appui_abstract_1.ConditionalBooleanValue(() => {
165
+ var _a, _b;
161
166
  const activeContentControl = UiFramework_1.UiFramework.content.getActiveContentControl();
162
- return !(activeContentControl?.viewport?.view.is3d() &&
163
- activeContentControl?.viewport?.view.supportsCamera());
167
+ return !(((_a = activeContentControl === null || activeContentControl === void 0 ? void 0 : activeContentControl.viewport) === null || _a === void 0 ? void 0 : _a.view.is3d()) &&
168
+ ((_b = activeContentControl === null || activeContentControl === void 0 ? void 0 : activeContentControl.viewport) === null || _b === void 0 ? void 0 : _b.view.supportsCamera()));
164
169
  }, [
165
170
  SyncUiEventDispatcher_1.SyncUiEventId.ActiveContentChanged,
166
171
  SyncUiEventDispatcher_1.SyncUiEventId.ActiveViewportChanged,
@@ -287,8 +292,9 @@ class CoreTools {
287
292
  labelKey: "UiFramework:tools.sectionTools",
288
293
  iconSpec: appui_abstract_1.IconSpecUtilities.createWebComponentIconSpec(section_tool_svg_1.default),
289
294
  isHidden: new appui_abstract_1.ConditionalBooleanValue(() => {
295
+ var _a;
290
296
  const activeContentControl = UiFramework_1.UiFramework.content.getActiveContentControl();
291
- return !!activeContentControl?.viewport?.view.is2d();
297
+ return !!((_a = activeContentControl === null || activeContentControl === void 0 ? void 0 : activeContentControl.viewport) === null || _a === void 0 ? void 0 : _a.view.is2d());
292
298
  }, [
293
299
  SyncUiEventDispatcher_1.SyncUiEventId.ActiveContentChanged,
294
300
  SyncUiEventDispatcher_1.SyncUiEventId.ActiveViewportChanged,
@@ -314,8 +320,9 @@ class CoreTools {
314
320
  panelLabelKey: "UiFramework:tools.sectionPanelLabel",
315
321
  iconSpec: appui_abstract_1.IconSpecUtilities.createWebComponentIconSpec(section_tool_svg_1.default),
316
322
  isHidden: new appui_abstract_1.ConditionalBooleanValue(() => {
323
+ var _a;
317
324
  const activeContentControl = UiFramework_1.UiFramework.content.getActiveContentControl();
318
- return !!activeContentControl?.viewport?.view.is2d();
325
+ return !!((_a = activeContentControl === null || activeContentControl === void 0 ? void 0 : activeContentControl.viewport) === null || _a === void 0 ? void 0 : _a.view.is2d());
319
326
  }, [
320
327
  SyncUiEventDispatcher_1.SyncUiEventId.ActiveContentChanged,
321
328
  SyncUiEventDispatcher_1.SyncUiEventId.ActiveViewportChanged,
@@ -1 +1 @@
1
- {"version":3,"file":"CoreToolDefinitions.js","sourceRoot":"","sources":["../../../../src/appui-react/tools/CoreToolDefinitions.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Tools\n */\n\nimport * as React from \"react\"; // cSpell:ignore keyinbrowser\nimport {\n FitViewTool,\n FlyViewTool,\n IModelApp,\n MeasureDistanceTool,\n MeasureLocationTool,\n PanViewTool,\n RotateViewTool,\n SelectionTool,\n SetupWalkCameraTool,\n ViewClipByElementTool,\n ViewClipByPlaneTool,\n ViewClipByRangeTool,\n ViewClipByShapeTool,\n ViewClipDecorationProvider,\n ViewRedoTool,\n ViewToggleCameraTool,\n ViewUndoTool,\n WalkViewTool,\n WindowAreaTool,\n ZoomViewTool,\n} from \"@itwin/core-frontend\";\nimport {\n ConditionalBooleanValue,\n ConditionalStringValue,\n IconSpecUtilities,\n} from \"@itwin/appui-abstract\";\nimport { getIsHiddenIfSelectionNotActive } from \"../selection/SelectionContextItemDef\";\nimport { CommandItemDef } from \"../shared/CommandItemDef\";\nimport { ToolItemDef } from \"../shared/ToolItemDef\";\nimport { SyncUiEventId } from \"../syncui/SyncUiEventDispatcher\";\nimport { GroupItemDef } from \"../toolbar/GroupItem\";\nimport { RestoreFrontstageLayoutTool } from \"./RestoreLayoutTool\";\nimport { UiFramework } from \"../UiFramework\";\nimport cameraAnimationIcon from \"@itwin/itwinui-icons/icons/camera-animation.svg\";\nimport cameraAnimationDisabledIcon from \"@itwin/itwinui-icons/icons/camera-animation-disabled.svg\";\nimport svgGyroscope from \"@bentley/icons-generic/icons/gyroscope.svg\";\nimport svgRotateLeft from \"@bentley/icons-generic/icons/rotate-left.svg\";\nimport svgSectionTool from \"@bentley/icons-generic/icons/section-tool.svg\";\nimport svgSelectionClear from \"@bentley/icons-generic/icons/selection-clear.svg\";\nimport { SvgMeasure, SvgProcess } from \"@itwin/itwinui-icons-react\";\n\n/** Utility Class that provides definitions of tools provided by the ($core-frontend) core. These definitions can be used to populate the UI.\n * @public\n */\n// istanbul ignore next\nexport class CoreTools {\n public static get keyinPaletteButtonItemDef() {\n return new ToolItemDef({\n toolId: \"uif:keyinpalette\",\n iconSpec: <SvgProcess />,\n labelKey: \"UiFramework:keyinbrowser.label\",\n execute: () => {\n IModelApp.uiAdmin.showKeyinPalette();\n },\n });\n }\n\n public static get fitViewCommand() {\n return new ToolItemDef({\n toolId: FitViewTool.toolId,\n iconSpec: FitViewTool.iconSpec,\n label: FitViewTool.flyover,\n description: FitViewTool.description,\n execute: async () =>\n IModelApp.tools.run(\n FitViewTool.toolId,\n IModelApp.viewManager.selectedView,\n true\n ),\n });\n }\n\n public static get windowAreaCommand() {\n return new ToolItemDef({\n toolId: WindowAreaTool.toolId,\n iconSpec: WindowAreaTool.iconSpec,\n label: WindowAreaTool.flyover,\n description: WindowAreaTool.description,\n execute: async () =>\n IModelApp.tools.run(\n WindowAreaTool.toolId,\n IModelApp.viewManager.selectedView\n ),\n });\n }\n\n public static get zoomViewCommand() {\n return new ToolItemDef({\n toolId: ZoomViewTool.toolId,\n iconSpec: ZoomViewTool.iconSpec,\n label: ZoomViewTool.flyover,\n description: ZoomViewTool.description,\n execute: async () =>\n IModelApp.tools.run(\n ZoomViewTool.toolId,\n IModelApp.viewManager.selectedView\n ),\n });\n }\n\n public static get panViewCommand() {\n return new ToolItemDef({\n toolId: PanViewTool.toolId,\n iconSpec: PanViewTool.iconSpec,\n label: PanViewTool.flyover,\n description: PanViewTool.description,\n execute: async () =>\n IModelApp.tools.run(\n PanViewTool.toolId,\n IModelApp.viewManager.selectedView\n ),\n });\n }\n\n public static get rotateViewCommand() {\n return new ToolItemDef({\n toolId: RotateViewTool.toolId,\n iconSpec: new ConditionalStringValue(() => {\n const activeContentControl =\n UiFramework.content.getActiveContentControl();\n if (activeContentControl?.viewport?.view.is2d())\n return IconSpecUtilities.createWebComponentIconSpec(svgRotateLeft);\n return IconSpecUtilities.createWebComponentIconSpec(svgGyroscope);\n }, [\n SyncUiEventId.ActiveContentChanged,\n SyncUiEventId.ActiveViewportChanged,\n SyncUiEventId.ViewStateChanged,\n ]),\n label: RotateViewTool.flyover,\n description: RotateViewTool.description,\n execute: async () =>\n IModelApp.tools.run(\n RotateViewTool.toolId,\n IModelApp.viewManager.selectedView\n ),\n });\n }\n\n public static get walkViewCommand() {\n return new ToolItemDef({\n toolId: WalkViewTool.toolId,\n iconSpec: WalkViewTool.iconSpec,\n label: WalkViewTool.flyover,\n description: WalkViewTool.description,\n isHidden: new ConditionalBooleanValue(() => {\n const activeContentControl =\n UiFramework.content.getActiveContentControl();\n return !!activeContentControl?.viewport?.view.is2d();\n }, [\n SyncUiEventId.ActiveContentChanged,\n SyncUiEventId.ActiveViewportChanged,\n SyncUiEventId.ViewStateChanged,\n ]),\n execute: async () =>\n IModelApp.tools.run(\n WalkViewTool.toolId,\n IModelApp.viewManager.selectedView\n ),\n });\n }\n\n public static get selectElementCommand() {\n return new ToolItemDef({\n toolId: SelectionTool.toolId,\n iconSpec: SelectionTool.iconSpec,\n label: SelectionTool.flyover,\n description: SelectionTool.description,\n execute: async () => IModelApp.tools.run(SelectionTool.toolId),\n });\n }\n\n public static get setupCameraWalkTool() {\n return new ToolItemDef({\n toolId: SetupWalkCameraTool.toolId,\n iconSpec: SetupWalkCameraTool.iconSpec,\n label: SetupWalkCameraTool.flyover,\n description: SetupWalkCameraTool.description,\n execute: async () => IModelApp.tools.run(SetupWalkCameraTool.toolId),\n });\n }\n\n public static get toggleCameraViewCommand() {\n return new ToolItemDef({\n toolId: ViewToggleCameraTool.toolId,\n iconSpec: new ConditionalStringValue(() => {\n const activeContentControl =\n UiFramework.content.getActiveContentControl();\n if (\n activeContentControl?.viewport?.view.is3d() &&\n activeContentControl?.viewport?.isCameraOn\n ) {\n return IconSpecUtilities.createWebComponentIconSpec(\n cameraAnimationIcon\n );\n }\n return IconSpecUtilities.createWebComponentIconSpec(\n cameraAnimationDisabledIcon\n );\n }, [\n SyncUiEventId.ActiveContentChanged,\n SyncUiEventId.ActiveViewportChanged,\n SyncUiEventId.ViewStateChanged,\n ]),\n label: new ConditionalStringValue(() => {\n const activeContentControl =\n UiFramework.content.getActiveContentControl();\n if (\n activeContentControl?.viewport?.view.is3d() &&\n activeContentControl?.viewport?.isCameraOn\n ) {\n return UiFramework.translate(\n \"tools.View.ToggleCamera.turnOffFlyover\"\n );\n }\n return UiFramework.translate(\"tools.View.ToggleCamera.turnOnFlyover\");\n }, [\n SyncUiEventId.ActiveContentChanged,\n SyncUiEventId.ActiveViewportChanged,\n SyncUiEventId.ViewStateChanged,\n ]),\n description: ViewToggleCameraTool.description,\n isHidden: new ConditionalBooleanValue(() => {\n const activeContentControl =\n UiFramework.content.getActiveContentControl();\n return !(\n activeContentControl?.viewport?.view.is3d() &&\n activeContentControl?.viewport?.view.supportsCamera()\n );\n }, [\n SyncUiEventId.ActiveContentChanged,\n SyncUiEventId.ActiveViewportChanged,\n SyncUiEventId.ViewStateChanged,\n ]),\n execute: async () =>\n IModelApp.tools.run(\n ViewToggleCameraTool.toolId,\n IModelApp.viewManager.selectedView\n ),\n });\n }\n\n public static get flyViewCommand() {\n return new ToolItemDef({\n toolId: FlyViewTool.toolId,\n iconSpec: FlyViewTool.iconSpec,\n label: FlyViewTool.flyover,\n description: FlyViewTool.description,\n execute: async () =>\n IModelApp.tools.run(\n FlyViewTool.toolId,\n IModelApp.viewManager.selectedView\n ),\n });\n }\n\n // TODO - Need to provide a sync message that is fired when the Undo/Redo button needs to be refreshed in the\n // active view.\n public static get viewUndoCommand() {\n return new ToolItemDef({\n toolId: ViewUndoTool.toolId,\n isDisabled: new ConditionalBooleanValue(() => {\n const activeContentControl =\n UiFramework.content.getActiveContentControl();\n if (activeContentControl && activeContentControl.viewport)\n return !activeContentControl.viewport.isUndoPossible;\n return false;\n }, [\n SyncUiEventId.ActiveContentChanged,\n SyncUiEventId.ActiveViewportChanged,\n SyncUiEventId.ViewStateChanged,\n ]),\n iconSpec: ViewUndoTool.iconSpec,\n label: ViewUndoTool.flyover,\n description: ViewUndoTool.description,\n execute: async () =>\n IModelApp.tools.run(\n ViewUndoTool.toolId,\n IModelApp.viewManager.selectedView\n ),\n });\n }\n\n public static get viewRedoCommand() {\n return new ToolItemDef({\n toolId: ViewRedoTool.toolId,\n iconSpec: ViewRedoTool.iconSpec,\n label: ViewRedoTool.flyover,\n description: ViewRedoTool.description,\n execute: async () =>\n IModelApp.tools.run(\n ViewRedoTool.toolId,\n IModelApp.viewManager.selectedView\n ),\n isDisabled: new ConditionalBooleanValue(() => {\n const activeContentControl =\n UiFramework.content.getActiveContentControl();\n if (activeContentControl && activeContentControl.viewport)\n return !activeContentControl.viewport.isRedoPossible;\n return false;\n }, [\n SyncUiEventId.ActiveContentChanged,\n SyncUiEventId.ActiveViewportChanged,\n SyncUiEventId.ViewStateChanged,\n ]),\n });\n }\n\n private static turnOnClipVolume() {\n const vp = IModelApp.viewManager.selectedView;\n if (!vp || !vp.view.is3d()) return;\n\n // Turn on clip volume flag for section tools\n vp.viewFlags = vp.viewFlags.with(\"clipVolume\", true);\n }\n\n // note current ViewClipByPlaneTool is not automatically registered so the app must call ViewClipByPlaneTool.register();\n public static get sectionByPlaneCommandItemDef() {\n return new ToolItemDef({\n toolId: ViewClipByPlaneTool.toolId,\n iconSpec: ViewClipByPlaneTool.iconSpec,\n label: ViewClipByPlaneTool.flyover,\n description: ViewClipByPlaneTool.description,\n execute: async () => {\n this.turnOnClipVolume();\n return IModelApp.tools.run(\n ViewClipByPlaneTool.toolId,\n ViewClipDecorationProvider.create()\n );\n },\n });\n }\n\n // note current ViewClipByElementTool is not automatically registered so the app must call ViewClipByElementTool.register();\n public static get sectionByElementCommandItemDef() {\n return new ToolItemDef({\n toolId: ViewClipByElementTool.toolId,\n iconSpec: ViewClipByElementTool.iconSpec,\n label: ViewClipByElementTool.flyover,\n description: ViewClipByElementTool.description,\n execute: async () => {\n this.turnOnClipVolume();\n return IModelApp.tools.run(\n ViewClipByElementTool.toolId,\n ViewClipDecorationProvider.create()\n );\n },\n });\n }\n\n // note current ViewClipByRangeTool is not automatically registered so the app must call ViewClipByRangeTool.register();\n public static get sectionByRangeCommandItemDef() {\n return new ToolItemDef({\n toolId: ViewClipByRangeTool.toolId,\n iconSpec: ViewClipByRangeTool.iconSpec,\n label: ViewClipByRangeTool.flyover,\n description: ViewClipByRangeTool.description,\n execute: async () => {\n this.turnOnClipVolume();\n return IModelApp.tools.run(\n ViewClipByRangeTool.toolId,\n ViewClipDecorationProvider.create()\n );\n },\n });\n }\n\n // note current ViewClipByShapeTool is not automatically registered so the app must call ViewClipByShapeTool.register();\n public static get sectionByShapeCommandItemDef() {\n return new ToolItemDef({\n toolId: ViewClipByShapeTool.toolId,\n iconSpec: ViewClipByShapeTool.iconSpec,\n label: ViewClipByShapeTool.flyover,\n description: ViewClipByShapeTool.description,\n execute: async () => {\n this.turnOnClipVolume();\n return IModelApp.tools.run(\n ViewClipByShapeTool.toolId,\n ViewClipDecorationProvider.create()\n );\n },\n });\n }\n\n public static get sectionToolGroup() {\n ViewClipByElementTool.register();\n ViewClipByPlaneTool.register();\n ViewClipByRangeTool.register();\n ViewClipByShapeTool.register();\n\n return new GroupItemDef({\n groupId: \"sectionTools-group\",\n labelKey: \"UiFramework:tools.sectionTools\",\n iconSpec: IconSpecUtilities.createWebComponentIconSpec(svgSectionTool),\n isHidden: new ConditionalBooleanValue(() => {\n const activeContentControl =\n UiFramework.content.getActiveContentControl();\n return !!activeContentControl?.viewport?.view.is2d();\n }, [\n SyncUiEventId.ActiveContentChanged,\n SyncUiEventId.ActiveViewportChanged,\n SyncUiEventId.ViewStateChanged,\n ]),\n items: [\n this.sectionByPlaneCommandItemDef,\n this.sectionByElementCommandItemDef,\n this.sectionByRangeCommandItemDef,\n this.sectionByShapeCommandItemDef,\n ],\n itemsInColumn: 4,\n });\n }\n\n public static get sectionToolGroupWithPanel() {\n ViewClipByElementTool.register();\n ViewClipByPlaneTool.register();\n ViewClipByRangeTool.register();\n ViewClipByShapeTool.register();\n\n return new GroupItemDef({\n groupId: \"sectionTools-group-with-panel\",\n labelKey: \"UiFramework:tools.sectionTools\",\n panelLabelKey: \"UiFramework:tools.sectionPanelLabel\",\n iconSpec: IconSpecUtilities.createWebComponentIconSpec(svgSectionTool),\n isHidden: new ConditionalBooleanValue(() => {\n const activeContentControl =\n UiFramework.content.getActiveContentControl();\n return !!activeContentControl?.viewport?.view.is2d();\n }, [\n SyncUiEventId.ActiveContentChanged,\n SyncUiEventId.ActiveViewportChanged,\n SyncUiEventId.ViewStateChanged,\n ]),\n items: [\n new ToolItemDef({\n ...this.sectionByPlaneCommandItemDef,\n labelKey: \"UiFramework:tools.sectionByPlane\",\n }),\n new ToolItemDef({\n ...this.sectionByElementCommandItemDef,\n labelKey: \"UiFramework:tools.sectionByElement\",\n }),\n new ToolItemDef({\n ...this.sectionByRangeCommandItemDef,\n labelKey: \"UiFramework:tools.sectionByRange\",\n }),\n new ToolItemDef({\n ...this.sectionByShapeCommandItemDef,\n labelKey: \"UiFramework:tools.sectionByShape\",\n }),\n ],\n itemsInColumn: 4,\n });\n }\n\n // note current MeasureDistanceTool is not automatically registered so the app must call MeasureDistanceTool.register();\n public static get measureDistanceToolItemDef() {\n return new ToolItemDef({\n toolId: MeasureDistanceTool.toolId,\n iconSpec: MeasureDistanceTool.iconSpec,\n label: MeasureDistanceTool.flyover,\n description: MeasureDistanceTool.description,\n execute: async () => {\n return IModelApp.tools.run(MeasureDistanceTool.toolId);\n },\n });\n }\n\n // note current MeasureLocationTool is not automatically registered so the app must call MeasureLocationTool.register();\n public static get measureLocationToolItemDef() {\n return new ToolItemDef({\n toolId: MeasureLocationTool.toolId,\n iconSpec: MeasureLocationTool.iconSpec,\n label: MeasureLocationTool.flyover,\n description: MeasureLocationTool.description,\n execute: async () => {\n return IModelApp.tools.run(MeasureLocationTool.toolId);\n },\n });\n }\n\n public static get measureToolGroup() {\n MeasureDistanceTool.register();\n MeasureLocationTool.register();\n\n return new GroupItemDef({\n groupId: \"measureTools-group\",\n labelKey: \"UiFramework:tools.measureTools\",\n iconSpec: <SvgMeasure />,\n items: [this.measureDistanceToolItemDef, this.measureLocationToolItemDef],\n itemsInColumn: 2,\n });\n }\n\n public static get clearSelectionItemDef() {\n return new CommandItemDef({\n commandId: \"UiFramework.ClearSelection\",\n iconSpec: IconSpecUtilities.createWebComponentIconSpec(svgSelectionClear),\n labelKey: \"UiFramework:buttons.clearSelection\",\n isHidden: getIsHiddenIfSelectionNotActive(),\n execute: async () => {\n const iModelConnection = UiFramework.getIModelConnection();\n if (iModelConnection) {\n iModelConnection.selectionSet.emptyAll();\n }\n const tool = IModelApp.toolAdmin.primitiveTool;\n if (tool) await tool.onRestartTool();\n else await IModelApp.toolAdmin.startDefaultTool();\n },\n });\n }\n\n public static get restoreFrontstageLayoutCommandItemDef() {\n return new ToolItemDef({\n toolId: RestoreFrontstageLayoutTool.toolId,\n iconSpec: RestoreFrontstageLayoutTool.iconSpec,\n label: RestoreFrontstageLayoutTool.flyover,\n description: RestoreFrontstageLayoutTool.description,\n execute: async () => {\n return IModelApp.tools.run(RestoreFrontstageLayoutTool.toolId);\n },\n });\n }\n}\n"]}
1
+ {"version":3,"file":"CoreToolDefinitions.js","sourceRoot":"","sources":["../../../../src/appui-react/tools/CoreToolDefinitions.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Tools\n */\n\nimport * as React from \"react\"; // cSpell:ignore keyinbrowser\nimport {\n FitViewTool,\n FlyViewTool,\n IModelApp,\n MeasureDistanceTool,\n MeasureLocationTool,\n PanViewTool,\n RotateViewTool,\n SelectionTool,\n SetupWalkCameraTool,\n ViewClipByElementTool,\n ViewClipByPlaneTool,\n ViewClipByRangeTool,\n ViewClipByShapeTool,\n ViewClipDecorationProvider,\n ViewRedoTool,\n ViewToggleCameraTool,\n ViewUndoTool,\n WalkViewTool,\n WindowAreaTool,\n ZoomViewTool,\n} from \"@itwin/core-frontend\";\nimport {\n ConditionalBooleanValue,\n ConditionalStringValue,\n IconSpecUtilities,\n} from \"@itwin/appui-abstract\";\nimport { getIsHiddenIfSelectionNotActive } from \"../selection/SelectionContextItemDef\";\nimport { CommandItemDef } from \"../shared/CommandItemDef\";\nimport { ToolItemDef } from \"../shared/ToolItemDef\";\nimport { SyncUiEventId } from \"../syncui/SyncUiEventDispatcher\";\nimport { GroupItemDef } from \"../toolbar/GroupItem\";\nimport { RestoreFrontstageLayoutTool } from \"./RestoreLayoutTool\";\nimport { UiFramework } from \"../UiFramework\";\nimport cameraAnimationIcon from \"@itwin/itwinui-icons/icons/camera-animation.svg\";\nimport cameraAnimationDisabledIcon from \"@itwin/itwinui-icons/icons/camera-animation-disabled.svg\";\nimport svgGyroscope from \"@bentley/icons-generic/icons/gyroscope.svg\";\nimport svgRotateLeft from \"@bentley/icons-generic/icons/rotate-left.svg\";\nimport svgSectionTool from \"@bentley/icons-generic/icons/section-tool.svg\";\nimport svgSelectionClear from \"@bentley/icons-generic/icons/selection-clear.svg\";\nimport { SvgMeasure, SvgProcess } from \"@itwin/itwinui-icons-react\";\n\n/** Utility Class that provides definitions of tools provided by the ($core-frontend) core. These definitions can be used to populate the UI.\n * @public\n */\n// istanbul ignore next\nexport class CoreTools {\n public static get keyinPaletteButtonItemDef() {\n return new ToolItemDef({\n toolId: \"uif:keyinpalette\",\n iconSpec: <SvgProcess />,\n labelKey: \"UiFramework:keyinbrowser.label\",\n execute: () => {\n IModelApp.uiAdmin.showKeyinPalette();\n },\n });\n }\n\n public static get fitViewCommand() {\n return new ToolItemDef({\n toolId: FitViewTool.toolId,\n iconSpec: FitViewTool.iconSpec,\n label: FitViewTool.flyover,\n description: FitViewTool.description,\n execute: async () =>\n IModelApp.tools.run(\n FitViewTool.toolId,\n IModelApp.viewManager.selectedView,\n true\n ),\n });\n }\n\n public static get windowAreaCommand() {\n return new ToolItemDef({\n toolId: WindowAreaTool.toolId,\n iconSpec: WindowAreaTool.iconSpec,\n label: WindowAreaTool.flyover,\n description: WindowAreaTool.description,\n execute: async () =>\n IModelApp.tools.run(\n WindowAreaTool.toolId,\n IModelApp.viewManager.selectedView\n ),\n });\n }\n\n public static get zoomViewCommand() {\n return new ToolItemDef({\n toolId: ZoomViewTool.toolId,\n iconSpec: ZoomViewTool.iconSpec,\n label: ZoomViewTool.flyover,\n description: ZoomViewTool.description,\n execute: async () =>\n IModelApp.tools.run(\n ZoomViewTool.toolId,\n IModelApp.viewManager.selectedView\n ),\n });\n }\n\n public static get panViewCommand() {\n return new ToolItemDef({\n toolId: PanViewTool.toolId,\n iconSpec: PanViewTool.iconSpec,\n label: PanViewTool.flyover,\n description: PanViewTool.description,\n execute: async () =>\n IModelApp.tools.run(\n PanViewTool.toolId,\n IModelApp.viewManager.selectedView\n ),\n });\n }\n\n public static get rotateViewCommand() {\n return new ToolItemDef({\n toolId: RotateViewTool.toolId,\n iconSpec: new ConditionalStringValue(() => {\n const activeContentControl =\n UiFramework.content.getActiveContentControl();\n if (activeContentControl?.viewport?.view.is2d())\n return IconSpecUtilities.createWebComponentIconSpec(svgRotateLeft);\n return IconSpecUtilities.createWebComponentIconSpec(svgGyroscope);\n }, [\n SyncUiEventId.ActiveContentChanged,\n SyncUiEventId.ActiveViewportChanged,\n SyncUiEventId.ViewStateChanged,\n ]),\n label: RotateViewTool.flyover,\n description: RotateViewTool.description,\n execute: async () =>\n IModelApp.tools.run(\n RotateViewTool.toolId,\n IModelApp.viewManager.selectedView\n ),\n });\n }\n\n public static get walkViewCommand() {\n return new ToolItemDef({\n toolId: WalkViewTool.toolId,\n iconSpec: WalkViewTool.iconSpec,\n label: WalkViewTool.flyover,\n description: WalkViewTool.description,\n isHidden: new ConditionalBooleanValue(() => {\n const activeContentControl =\n UiFramework.content.getActiveContentControl();\n return !!activeContentControl?.viewport?.view.is2d();\n }, [\n SyncUiEventId.ActiveContentChanged,\n SyncUiEventId.ActiveViewportChanged,\n SyncUiEventId.ViewStateChanged,\n ]),\n execute: async () =>\n IModelApp.tools.run(\n WalkViewTool.toolId,\n IModelApp.viewManager.selectedView\n ),\n });\n }\n\n public static get selectElementCommand() {\n return new ToolItemDef({\n toolId: SelectionTool.toolId,\n iconSpec: SelectionTool.iconSpec,\n label: SelectionTool.flyover,\n description: SelectionTool.description,\n execute: async () => IModelApp.tools.run(SelectionTool.toolId),\n });\n }\n\n public static get setupCameraWalkTool() {\n return new ToolItemDef({\n toolId: SetupWalkCameraTool.toolId,\n iconSpec: SetupWalkCameraTool.iconSpec,\n label: SetupWalkCameraTool.flyover,\n description: SetupWalkCameraTool.description,\n execute: async () => IModelApp.tools.run(SetupWalkCameraTool.toolId),\n });\n }\n\n public static get toggleCameraViewCommand() {\n return new ToolItemDef({\n toolId: ViewToggleCameraTool.toolId,\n iconSpec: new ConditionalStringValue(() => {\n const activeContentControl =\n UiFramework.content.getActiveContentControl();\n if (\n activeContentControl?.viewport?.view.is3d() &&\n activeContentControl?.viewport?.isCameraOn\n ) {\n return IconSpecUtilities.createWebComponentIconSpec(\n cameraAnimationIcon\n );\n }\n return IconSpecUtilities.createWebComponentIconSpec(\n cameraAnimationDisabledIcon\n );\n }, [\n SyncUiEventId.ActiveContentChanged,\n SyncUiEventId.ActiveViewportChanged,\n SyncUiEventId.ViewStateChanged,\n ]),\n label: new ConditionalStringValue(() => {\n const activeContentControl =\n UiFramework.content.getActiveContentControl();\n if (\n activeContentControl?.viewport?.view.is3d() &&\n activeContentControl?.viewport?.isCameraOn\n ) {\n return UiFramework.translate(\n \"tools.View.ToggleCamera.turnOffFlyover\"\n );\n }\n return UiFramework.translate(\"tools.View.ToggleCamera.turnOnFlyover\");\n }, [\n SyncUiEventId.ActiveContentChanged,\n SyncUiEventId.ActiveViewportChanged,\n SyncUiEventId.ViewStateChanged,\n ]),\n description: ViewToggleCameraTool.description,\n isHidden: new ConditionalBooleanValue(() => {\n const activeContentControl =\n UiFramework.content.getActiveContentControl();\n return !(\n activeContentControl?.viewport?.view.is3d() &&\n activeContentControl?.viewport?.view.supportsCamera()\n );\n }, [\n SyncUiEventId.ActiveContentChanged,\n SyncUiEventId.ActiveViewportChanged,\n SyncUiEventId.ViewStateChanged,\n ]),\n execute: async () =>\n IModelApp.tools.run(\n ViewToggleCameraTool.toolId,\n IModelApp.viewManager.selectedView\n ),\n });\n }\n\n public static get flyViewCommand() {\n return new ToolItemDef({\n toolId: FlyViewTool.toolId,\n iconSpec: FlyViewTool.iconSpec,\n label: FlyViewTool.flyover,\n description: FlyViewTool.description,\n execute: async () =>\n IModelApp.tools.run(\n FlyViewTool.toolId,\n IModelApp.viewManager.selectedView\n ),\n });\n }\n\n // TODO - Need to provide a sync message that is fired when the Undo/Redo button needs to be refreshed in the\n // active view.\n public static get viewUndoCommand() {\n return new ToolItemDef({\n toolId: ViewUndoTool.toolId,\n isDisabled: new ConditionalBooleanValue(() => {\n const activeContentControl =\n UiFramework.content.getActiveContentControl();\n if (activeContentControl && activeContentControl.viewport)\n return !activeContentControl.viewport.isUndoPossible;\n return false;\n }, [\n SyncUiEventId.ActiveContentChanged,\n SyncUiEventId.ActiveViewportChanged,\n SyncUiEventId.ViewStateChanged,\n ]),\n iconSpec: ViewUndoTool.iconSpec,\n label: ViewUndoTool.flyover,\n description: ViewUndoTool.description,\n execute: async () =>\n IModelApp.tools.run(\n ViewUndoTool.toolId,\n IModelApp.viewManager.selectedView\n ),\n });\n }\n\n public static get viewRedoCommand() {\n return new ToolItemDef({\n toolId: ViewRedoTool.toolId,\n iconSpec: ViewRedoTool.iconSpec,\n label: ViewRedoTool.flyover,\n description: ViewRedoTool.description,\n execute: async () =>\n IModelApp.tools.run(\n ViewRedoTool.toolId,\n IModelApp.viewManager.selectedView\n ),\n isDisabled: new ConditionalBooleanValue(() => {\n const activeContentControl =\n UiFramework.content.getActiveContentControl();\n if (activeContentControl && activeContentControl.viewport)\n return !activeContentControl.viewport.isRedoPossible;\n return false;\n }, [\n SyncUiEventId.ActiveContentChanged,\n SyncUiEventId.ActiveViewportChanged,\n SyncUiEventId.ViewStateChanged,\n ]),\n });\n }\n\n private static turnOnClipVolume() {\n const vp = IModelApp.viewManager.selectedView;\n if (!vp || !vp.view.is3d()) return;\n\n // Turn on clip volume flag for section tools\n vp.viewFlags = vp.viewFlags.with(\"clipVolume\", true);\n }\n\n // note current ViewClipByPlaneTool is not automatically registered so the app must call ViewClipByPlaneTool.register();\n public static get sectionByPlaneCommandItemDef() {\n return new ToolItemDef({\n toolId: ViewClipByPlaneTool.toolId,\n iconSpec: ViewClipByPlaneTool.iconSpec,\n label: ViewClipByPlaneTool.flyover,\n description: ViewClipByPlaneTool.description,\n execute: async () => {\n this.turnOnClipVolume();\n return IModelApp.tools.run(\n ViewClipByPlaneTool.toolId,\n ViewClipDecorationProvider.create()\n );\n },\n });\n }\n\n // note current ViewClipByElementTool is not automatically registered so the app must call ViewClipByElementTool.register();\n public static get sectionByElementCommandItemDef() {\n return new ToolItemDef({\n toolId: ViewClipByElementTool.toolId,\n iconSpec: ViewClipByElementTool.iconSpec,\n label: ViewClipByElementTool.flyover,\n description: ViewClipByElementTool.description,\n execute: async () => {\n this.turnOnClipVolume();\n return IModelApp.tools.run(\n ViewClipByElementTool.toolId,\n ViewClipDecorationProvider.create()\n );\n },\n });\n }\n\n // note current ViewClipByRangeTool is not automatically registered so the app must call ViewClipByRangeTool.register();\n public static get sectionByRangeCommandItemDef() {\n return new ToolItemDef({\n toolId: ViewClipByRangeTool.toolId,\n iconSpec: ViewClipByRangeTool.iconSpec,\n label: ViewClipByRangeTool.flyover,\n description: ViewClipByRangeTool.description,\n execute: async () => {\n this.turnOnClipVolume();\n return IModelApp.tools.run(\n ViewClipByRangeTool.toolId,\n ViewClipDecorationProvider.create()\n );\n },\n });\n }\n\n // note current ViewClipByShapeTool is not automatically registered so the app must call ViewClipByShapeTool.register();\n public static get sectionByShapeCommandItemDef() {\n return new ToolItemDef({\n toolId: ViewClipByShapeTool.toolId,\n iconSpec: ViewClipByShapeTool.iconSpec,\n label: ViewClipByShapeTool.flyover,\n description: ViewClipByShapeTool.description,\n execute: async () => {\n this.turnOnClipVolume();\n return IModelApp.tools.run(\n ViewClipByShapeTool.toolId,\n ViewClipDecorationProvider.create()\n );\n },\n });\n }\n\n public static get sectionToolGroup() {\n ViewClipByElementTool.register();\n ViewClipByPlaneTool.register();\n ViewClipByRangeTool.register();\n ViewClipByShapeTool.register();\n\n return new GroupItemDef({\n groupId: \"sectionTools-group\",\n labelKey: \"UiFramework:tools.sectionTools\",\n iconSpec: IconSpecUtilities.createWebComponentIconSpec(svgSectionTool),\n isHidden: new ConditionalBooleanValue(() => {\n const activeContentControl =\n UiFramework.content.getActiveContentControl();\n return !!activeContentControl?.viewport?.view.is2d();\n }, [\n SyncUiEventId.ActiveContentChanged,\n SyncUiEventId.ActiveViewportChanged,\n SyncUiEventId.ViewStateChanged,\n ]),\n items: [\n this.sectionByPlaneCommandItemDef,\n this.sectionByElementCommandItemDef,\n this.sectionByRangeCommandItemDef,\n this.sectionByShapeCommandItemDef,\n ],\n itemsInColumn: 4,\n });\n }\n\n public static get sectionToolGroupWithPanel() {\n ViewClipByElementTool.register();\n ViewClipByPlaneTool.register();\n ViewClipByRangeTool.register();\n ViewClipByShapeTool.register();\n\n return new GroupItemDef({\n groupId: \"sectionTools-group-with-panel\",\n labelKey: \"UiFramework:tools.sectionTools\",\n panelLabelKey: \"UiFramework:tools.sectionPanelLabel\",\n iconSpec: IconSpecUtilities.createWebComponentIconSpec(svgSectionTool),\n isHidden: new ConditionalBooleanValue(() => {\n const activeContentControl =\n UiFramework.content.getActiveContentControl();\n return !!activeContentControl?.viewport?.view.is2d();\n }, [\n SyncUiEventId.ActiveContentChanged,\n SyncUiEventId.ActiveViewportChanged,\n SyncUiEventId.ViewStateChanged,\n ]),\n items: [\n new ToolItemDef({\n ...this.sectionByPlaneCommandItemDef,\n labelKey: \"UiFramework:tools.sectionByPlane\",\n }),\n new ToolItemDef({\n ...this.sectionByElementCommandItemDef,\n labelKey: \"UiFramework:tools.sectionByElement\",\n }),\n new ToolItemDef({\n ...this.sectionByRangeCommandItemDef,\n labelKey: \"UiFramework:tools.sectionByRange\",\n }),\n new ToolItemDef({\n ...this.sectionByShapeCommandItemDef,\n labelKey: \"UiFramework:tools.sectionByShape\",\n }),\n ],\n itemsInColumn: 4,\n });\n }\n\n // note current MeasureDistanceTool is not automatically registered so the app must call MeasureDistanceTool.register();\n public static get measureDistanceToolItemDef() {\n return new ToolItemDef({\n toolId: MeasureDistanceTool.toolId,\n iconSpec: MeasureDistanceTool.iconSpec,\n label: MeasureDistanceTool.flyover,\n description: MeasureDistanceTool.description,\n execute: async () => {\n return IModelApp.tools.run(MeasureDistanceTool.toolId);\n },\n });\n }\n\n // note current MeasureLocationTool is not automatically registered so the app must call MeasureLocationTool.register();\n public static get measureLocationToolItemDef() {\n return new ToolItemDef({\n toolId: MeasureLocationTool.toolId,\n iconSpec: MeasureLocationTool.iconSpec,\n label: MeasureLocationTool.flyover,\n description: MeasureLocationTool.description,\n execute: async () => {\n return IModelApp.tools.run(MeasureLocationTool.toolId);\n },\n });\n }\n\n public static get measureToolGroup() {\n MeasureDistanceTool.register();\n MeasureLocationTool.register();\n\n return new GroupItemDef({\n groupId: \"measureTools-group\",\n labelKey: \"UiFramework:tools.measureTools\",\n iconSpec: <SvgMeasure />,\n items: [this.measureDistanceToolItemDef, this.measureLocationToolItemDef],\n itemsInColumn: 2,\n });\n }\n\n public static get clearSelectionItemDef() {\n return new CommandItemDef({\n commandId: \"UiFramework.ClearSelection\",\n iconSpec: IconSpecUtilities.createWebComponentIconSpec(svgSelectionClear),\n labelKey: \"UiFramework:buttons.clearSelection\",\n isHidden: getIsHiddenIfSelectionNotActive(),\n execute: async () => {\n const iModelConnection = UiFramework.getIModelConnection();\n if (iModelConnection) {\n iModelConnection.selectionSet.emptyAll();\n }\n const tool = IModelApp.toolAdmin.primitiveTool;\n if (tool) await tool.onRestartTool();\n else await IModelApp.toolAdmin.startDefaultTool();\n },\n });\n }\n\n public static get restoreFrontstageLayoutCommandItemDef() {\n return new ToolItemDef({\n toolId: RestoreFrontstageLayoutTool.toolId,\n iconSpec: RestoreFrontstageLayoutTool.iconSpec,\n label: RestoreFrontstageLayoutTool.flyover,\n description: RestoreFrontstageLayoutTool.description,\n execute: async () => {\n return IModelApp.tools.run(RestoreFrontstageLayoutTool.toolId);\n },\n });\n }\n}\n"]}
@@ -23,10 +23,9 @@ class ToolSettingsUiDataProvider extends appui_abstract_1.UiLayoutDataProvider {
23
23
  super(...arguments);
24
24
  // send property changes from UI back to tool
25
25
  this.applyUiPropertyChange = (syncItem) => {
26
+ var _a;
26
27
  // istanbul ignore next
27
- core_frontend_1.IModelApp.toolAdmin.activeTool
28
- ?.applyToolSettingPropertyChange(syncItem)
29
- .catch((err) => core_bentley_1.UnexpectedErrors.handle(err));
28
+ (_a = core_frontend_1.IModelApp.toolAdmin.activeTool) === null || _a === void 0 ? void 0 : _a.applyToolSettingPropertyChange(syncItem).catch((err) => core_bentley_1.UnexpectedErrors.handle(err));
30
29
  };
31
30
  }
32
31
  supplyDialogItems() {
@@ -1 +1 @@
1
- {"version":3,"file":"DefaultToolSettingsProvider.js","sourceRoot":"","sources":["../../../../src/appui-react/toolsettings/DefaultToolSettingsProvider.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,+BAA+B;AAC/B,wDAAiD;AAEjD,0DAA6D;AAE7D,yEAAsE;AACtE,yFAAsF;AAEtF,qDAAkD;AAClD,gDAA6C;AAC7C,sDAAuD;AAEvD,gBAAgB;AAEhB,yEAAyE;AACzE,MAAM,0BAA2B,SAAQ,qCAAoB;IAA7D;;QAKE,6CAA6C;QAC7B,0BAAqB,GAAG,CACtC,QAAgC,EAChC,EAAE;YACF,uBAAuB;YACvB,yBAAS,CAAC,SAAS,CAAC,UAAU;gBAC5B,EAAE,8BAA8B,CAAC,QAAQ,CAAC;iBACzC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,+BAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAClD,CAAC,CAAC;IACJ,CAAC;IAbiB,iBAAiB;QAC/B,OAAO,yBAAW,CAAC,YAAY,CAAC,sBAAsB,CAAC;IACzD,CAAC;CAWF;AAED;;GAEG;AACH,MAAa,2BAA4B,SAAQ,+BAAc;IAC7D,YAAY,IAA4B,EAAE,OAAY;QACpD,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACrB,IAAI,CAAC,aAAa,GAAG,IAAI,0BAA0B,EAAE,CAAC;IACxD,CAAC;IAED,IAAW,cAAc;QACvB,OAAO,IAAI,CAAC,aAA2C,CAAC;IAC1D,CAAC;IAEM,uBAAuB;QAC5B,uBAAuB;QACvB,IAAI,IAAI,CAAC,cAAc,CAAC,gBAAgB,EAAE,EAAE;YAC1C,MAAM,kBAAkB,GAAG,IAAI,uCAAkB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAEvE,IAAI,CAAC,gBAAgB,GAAG,CACtB,oBAAC,uDAA0B,IACzB,kBAAkB,EAAE,kBAAkB,EACtC,cAAc,EAAE,IAAI,GACpB,CACH,CAAC;YACF,IAAI,CAAC,0BAA0B;gBAC7B,kBAAkB,CAAC,sBAAsB,EAAE,CAAC;SAC/C;aAAM;YACL,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAC7B,IAAI,CAAC,0BAA0B,GAAG,EAAE,CAAC;SACtC;QACD,sHAAsH;QACtH,0DAA0D;QAC1D,yBAAW,CAAC,WAAW,CAAC,yBAAyB,CAAC,IAAI,EAAE,CAAC;IAC3D,CAAC;IAEe,wBAAwB;QACtC,wDAAwD;QACxD,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC7C,IAAI,CAAC,uBAAuB,EAAE,CAAC;IACjC,CAAC;IAED,6DAA6D;IAC7C,YAAY;QAC1B,IAAI,CAAC,wBAAwB,EAAE,CAAC;IAClC,CAAC;IAED,gFAAgF;IAChE,0BAA0B,CACxC,IAAyC;QAEzC,IAAI,CAAC,cAAc,CAAC,uBAAuB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACnE,CAAC;CACF;AAjDD,kEAiDC;AAED,yBAAW,CAAC,QAAQ,CAAC,QAAQ,CAC3B,qBAAqB,EACrB,2BAA2B,CAC5B,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module ToolSettings\n */\n\nimport * as React from \"react\";\nimport { IModelApp } from \"@itwin/core-frontend\";\nimport type { DialogItem, DialogPropertySyncItem } from \"@itwin/appui-abstract\";\nimport { UiLayoutDataProvider } from \"@itwin/appui-abstract\";\nimport type { ConfigurableCreateInfo } from \"../configurableui/ConfigurableUiControl\";\nimport { ComponentGenerator } from \"../uiprovider/ComponentGenerator\";\nimport { DefaultDialogGridContainer } from \"../uiprovider/DefaultDialogGridContainer\";\nimport type { SyncToolSettingsPropertiesEventArgs } from \"../framework/FrameworkToolSettings\";\nimport { ToolUiProvider } from \"./ToolUiProvider\";\nimport { UiFramework } from \"../UiFramework\";\nimport { UnexpectedErrors } from \"@itwin/core-bentley\";\n\n/** @internal */\n\n/** ToolSettingsUiDataProvider keeps tool data in sync with UI display */\nclass ToolSettingsUiDataProvider extends UiLayoutDataProvider {\n public override supplyDialogItems(): DialogItem[] | undefined {\n return UiFramework.toolSettings.toolSettingsProperties;\n }\n\n // send property changes from UI back to tool\n public override applyUiPropertyChange = (\n syncItem: DialogPropertySyncItem\n ) => {\n // istanbul ignore next\n IModelApp.toolAdmin.activeTool\n ?.applyToolSettingPropertyChange(syncItem)\n .catch((err) => UnexpectedErrors.handle(err));\n };\n}\n\n/** ToolUiProvider class that informs ConfigurableUi that Tool Settings are provided for the specified tool.\n * @internal\n */\nexport class DefaultToolSettingsProvider extends ToolUiProvider {\n constructor(info: ConfigurableCreateInfo, options: any) {\n super(info, options);\n this._dataProvider = new ToolSettingsUiDataProvider();\n }\n\n public get uiDataProvider() {\n return this._dataProvider as ToolSettingsUiDataProvider;\n }\n\n public updateToolSettingsNodes(): void {\n // istanbul ignore else\n if (this.uiDataProvider.layoutDialogRows()) {\n const componentGenerator = new ComponentGenerator(this.uiDataProvider);\n\n this.toolSettingsNode = (\n <DefaultDialogGridContainer\n componentGenerator={componentGenerator}\n isToolSettings={true}\n />\n );\n this.horizontalToolSettingNodes =\n componentGenerator.getToolSettingsEntries();\n } else {\n this.toolSettingsNode = null;\n this.horizontalToolSettingNodes = [];\n }\n // We emit the UiFramework.frontstages.onToolSettingsReloadEvent event here because the Frontstage Manager is a static\n // class that UI components can easily register listeners.\n UiFramework.frontstages.onToolSettingsReloadEvent.emit();\n }\n\n public override reloadPropertiesFromTool(): void {\n // trigger the items to be reloaded from the active tool\n this.uiDataProvider.reloadDialogItems(false);\n this.updateToolSettingsNodes();\n }\n\n // called when tool is activated to repopulate tool settings.\n public override onInitialize(): void {\n this.reloadPropertiesFromTool();\n }\n\n // called to process UiFramework.toolSettings.onSyncToolSettingsProperties event\n public override syncToolSettingsProperties(\n args: SyncToolSettingsPropertiesEventArgs\n ): void {\n this.uiDataProvider.fireSyncPropertiesEvent(args.syncProperties);\n }\n}\n\nUiFramework.controls.register(\n \"DefaultToolSettings\",\n DefaultToolSettingsProvider\n);\n"]}
1
+ {"version":3,"file":"DefaultToolSettingsProvider.js","sourceRoot":"","sources":["../../../../src/appui-react/toolsettings/DefaultToolSettingsProvider.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,+BAA+B;AAC/B,wDAAiD;AAEjD,0DAA6D;AAE7D,yEAAsE;AACtE,yFAAsF;AAEtF,qDAAkD;AAClD,gDAA6C;AAC7C,sDAAuD;AAEvD,gBAAgB;AAEhB,yEAAyE;AACzE,MAAM,0BAA2B,SAAQ,qCAAoB;IAA7D;;QAKE,6CAA6C;QAC7B,0BAAqB,GAAG,CACtC,QAAgC,EAChC,EAAE;;YACF,uBAAuB;YACvB,MAAA,yBAAS,CAAC,SAAS,CAAC,UAAU,0CAC1B,8BAA8B,CAAC,QAAQ,EACxC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,+BAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAClD,CAAC,CAAC;IACJ,CAAC;IAbiB,iBAAiB;QAC/B,OAAO,yBAAW,CAAC,YAAY,CAAC,sBAAsB,CAAC;IACzD,CAAC;CAWF;AAED;;GAEG;AACH,MAAa,2BAA4B,SAAQ,+BAAc;IAC7D,YAAY,IAA4B,EAAE,OAAY;QACpD,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACrB,IAAI,CAAC,aAAa,GAAG,IAAI,0BAA0B,EAAE,CAAC;IACxD,CAAC;IAED,IAAW,cAAc;QACvB,OAAO,IAAI,CAAC,aAA2C,CAAC;IAC1D,CAAC;IAEM,uBAAuB;QAC5B,uBAAuB;QACvB,IAAI,IAAI,CAAC,cAAc,CAAC,gBAAgB,EAAE,EAAE;YAC1C,MAAM,kBAAkB,GAAG,IAAI,uCAAkB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAEvE,IAAI,CAAC,gBAAgB,GAAG,CACtB,oBAAC,uDAA0B,IACzB,kBAAkB,EAAE,kBAAkB,EACtC,cAAc,EAAE,IAAI,GACpB,CACH,CAAC;YACF,IAAI,CAAC,0BAA0B;gBAC7B,kBAAkB,CAAC,sBAAsB,EAAE,CAAC;SAC/C;aAAM;YACL,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAC7B,IAAI,CAAC,0BAA0B,GAAG,EAAE,CAAC;SACtC;QACD,sHAAsH;QACtH,0DAA0D;QAC1D,yBAAW,CAAC,WAAW,CAAC,yBAAyB,CAAC,IAAI,EAAE,CAAC;IAC3D,CAAC;IAEe,wBAAwB;QACtC,wDAAwD;QACxD,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC7C,IAAI,CAAC,uBAAuB,EAAE,CAAC;IACjC,CAAC;IAED,6DAA6D;IAC7C,YAAY;QAC1B,IAAI,CAAC,wBAAwB,EAAE,CAAC;IAClC,CAAC;IAED,gFAAgF;IAChE,0BAA0B,CACxC,IAAyC;QAEzC,IAAI,CAAC,cAAc,CAAC,uBAAuB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACnE,CAAC;CACF;AAjDD,kEAiDC;AAED,yBAAW,CAAC,QAAQ,CAAC,QAAQ,CAC3B,qBAAqB,EACrB,2BAA2B,CAC5B,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module ToolSettings\n */\n\nimport * as React from \"react\";\nimport { IModelApp } from \"@itwin/core-frontend\";\nimport type { DialogItem, DialogPropertySyncItem } from \"@itwin/appui-abstract\";\nimport { UiLayoutDataProvider } from \"@itwin/appui-abstract\";\nimport type { ConfigurableCreateInfo } from \"../configurableui/ConfigurableUiControl\";\nimport { ComponentGenerator } from \"../uiprovider/ComponentGenerator\";\nimport { DefaultDialogGridContainer } from \"../uiprovider/DefaultDialogGridContainer\";\nimport type { SyncToolSettingsPropertiesEventArgs } from \"../framework/FrameworkToolSettings\";\nimport { ToolUiProvider } from \"./ToolUiProvider\";\nimport { UiFramework } from \"../UiFramework\";\nimport { UnexpectedErrors } from \"@itwin/core-bentley\";\n\n/** @internal */\n\n/** ToolSettingsUiDataProvider keeps tool data in sync with UI display */\nclass ToolSettingsUiDataProvider extends UiLayoutDataProvider {\n public override supplyDialogItems(): DialogItem[] | undefined {\n return UiFramework.toolSettings.toolSettingsProperties;\n }\n\n // send property changes from UI back to tool\n public override applyUiPropertyChange = (\n syncItem: DialogPropertySyncItem\n ) => {\n // istanbul ignore next\n IModelApp.toolAdmin.activeTool\n ?.applyToolSettingPropertyChange(syncItem)\n .catch((err) => UnexpectedErrors.handle(err));\n };\n}\n\n/** ToolUiProvider class that informs ConfigurableUi that Tool Settings are provided for the specified tool.\n * @internal\n */\nexport class DefaultToolSettingsProvider extends ToolUiProvider {\n constructor(info: ConfigurableCreateInfo, options: any) {\n super(info, options);\n this._dataProvider = new ToolSettingsUiDataProvider();\n }\n\n public get uiDataProvider() {\n return this._dataProvider as ToolSettingsUiDataProvider;\n }\n\n public updateToolSettingsNodes(): void {\n // istanbul ignore else\n if (this.uiDataProvider.layoutDialogRows()) {\n const componentGenerator = new ComponentGenerator(this.uiDataProvider);\n\n this.toolSettingsNode = (\n <DefaultDialogGridContainer\n componentGenerator={componentGenerator}\n isToolSettings={true}\n />\n );\n this.horizontalToolSettingNodes =\n componentGenerator.getToolSettingsEntries();\n } else {\n this.toolSettingsNode = null;\n this.horizontalToolSettingNodes = [];\n }\n // We emit the UiFramework.frontstages.onToolSettingsReloadEvent event here because the Frontstage Manager is a static\n // class that UI components can easily register listeners.\n UiFramework.frontstages.onToolSettingsReloadEvent.emit();\n }\n\n public override reloadPropertiesFromTool(): void {\n // trigger the items to be reloaded from the active tool\n this.uiDataProvider.reloadDialogItems(false);\n this.updateToolSettingsNodes();\n }\n\n // called when tool is activated to repopulate tool settings.\n public override onInitialize(): void {\n this.reloadPropertiesFromTool();\n }\n\n // called to process UiFramework.toolSettings.onSyncToolSettingsProperties event\n public override syncToolSettingsProperties(\n args: SyncToolSettingsPropertiesEventArgs\n ): void {\n this.uiDataProvider.fireSyncPropertiesEvent(args.syncProperties);\n }\n}\n\nUiFramework.controls.register(\n \"DefaultToolSettings\",\n DefaultToolSettingsProvider\n);\n"]}
@@ -98,10 +98,11 @@ class AbstractUiItemsManagerAdapter {
98
98
  const abstractItems = this._adaptee.getToolbarButtonItems(stageId, stageUsage, usage, orientation);
99
99
  // @ts-ignore Possibly 'any'
100
100
  const items = abstractItems.map((abstractItem) => {
101
+ var _a;
101
102
  const item = fromAbstractToolbarItem(abstractItem);
102
103
  return {
103
104
  ...item,
104
- providerId: abstractItem.providerId ?? "",
105
+ providerId: (_a = abstractItem.providerId) !== null && _a !== void 0 ? _a : "",
105
106
  };
106
107
  });
107
108
  return items;
@@ -130,10 +131,11 @@ class AbstractUiItemsManagerAdapter {
130
131
  const widgets = abstractWidgets
131
132
  // @ts-ignore Possibly 'any'
132
133
  .map((abstractWidget) => {
134
+ var _a;
133
135
  const widget = fromAbstractWidget(abstractWidget);
134
136
  return {
135
137
  ...widget,
136
- providerId: abstractWidget.providerId ?? "",
138
+ providerId: (_a = abstractWidget.providerId) !== null && _a !== void 0 ? _a : "",
137
139
  };
138
140
  });
139
141
  return widgets;
@@ -147,7 +149,8 @@ class UiItemsProviderToAbstractAdapter {
147
149
  this._adaptee = _adaptee;
148
150
  }
149
151
  onUnregister() {
150
- this._adaptee.onUnregister?.();
152
+ var _a, _b;
153
+ (_b = (_a = this._adaptee).onUnregister) === null || _b === void 0 ? void 0 : _b.call(_a);
151
154
  }
152
155
  provideBackstageItems() {
153
156
  if (!this._adaptee.provideBackstageItems)
@@ -190,7 +193,8 @@ class AbstractToUiItemsProviderAdapter {
190
193
  this._adaptee = _adaptee;
191
194
  }
192
195
  onUnregister() {
193
- this._adaptee.onUnregister?.();
196
+ var _a, _b;
197
+ (_b = (_a = this._adaptee).onUnregister) === null || _b === void 0 ? void 0 : _b.call(_a);
194
198
  }
195
199
  provideBackstageItems() {
196
200
  if (!this._adaptee.provideBackstageItems)
@@ -322,12 +326,11 @@ function toAbstractToolbarItem(item) {
322
326
  return abstractItem;
323
327
  }
324
328
  function toAbstractWidget(widget) {
329
+ var _a, _b;
325
330
  let abstractWidget = getOriginalData(widget);
326
331
  if (abstractWidget)
327
332
  return abstractWidget;
328
- const allowedPanelTargets = widget.allowedPanels
329
- // @ts-ignore Possibly 'any'
330
- ?.map((location) => {
333
+ const allowedPanelTargets = (_a = widget.allowedPanels) === null || _a === void 0 ? void 0 : _a.map((location) => {
331
334
  const map = {
332
335
  [StagePanelLocation_1.StagePanelLocation.Top]: "top",
333
336
  [StagePanelLocation_1.StagePanelLocation.Left]: "left",
@@ -341,7 +344,7 @@ function toAbstractWidget(widget) {
341
344
  const icon = core_react_1.IconHelper.getIconData(widget.icon, internalData);
342
345
  abstractWidget = {
343
346
  ...widget,
344
- id: widget.id ?? "",
347
+ id: (_b = widget.id) !== null && _b !== void 0 ? _b : "",
345
348
  getWidgetContent: () => widget.content,
346
349
  allowedPanelTargets,
347
350
  badgeType: widget.badge,
@@ -430,12 +433,11 @@ function fromAbstractToolbarItem(abstractItem) {
430
433
  return item;
431
434
  }
432
435
  function fromAbstractWidget(abstractWidget) {
436
+ var _a, _b;
433
437
  let widget = getOriginalData(abstractWidget);
434
438
  if (widget)
435
439
  return widget;
436
- const allowedPanels = abstractWidget.allowedPanelTargets
437
- // @ts-ignore Possibly 'any'
438
- ?.map((target) => {
440
+ const allowedPanels = (_a = abstractWidget.allowedPanelTargets) === null || _a === void 0 ? void 0 : _a.map((target) => {
439
441
  const map = {
440
442
  top: StagePanelLocation_1.StagePanelLocation.Top,
441
443
  left: StagePanelLocation_1.StagePanelLocation.Left,
@@ -448,7 +450,7 @@ function fromAbstractWidget(abstractWidget) {
448
450
  const icon = fromAbstractIcon(abstractWidget.icon, abstractWidget.internalData);
449
451
  widget = {
450
452
  ...abstractWidget,
451
- id: abstractWidget.id ?? "",
453
+ id: (_b = abstractWidget.id) !== null && _b !== void 0 ? _b : "",
452
454
  content: abstractWidget.getWidgetContent(),
453
455
  allowedPanels,
454
456
  badge: abstractWidget.badgeType,
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractUiItemsManager.js","sourceRoot":"","sources":["../../../../src/appui-react/ui-items-provider/AbstractUiItemsManager.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module UiProvider\n */\n\n/* eslint-disable deprecation/deprecation, @typescript-eslint/ban-ts-comment */\n\nimport * as abstract from \"@itwin/appui-abstract\";\nimport type { BeUiEvent } from \"@itwin/core-bentley\";\nimport { assert } from \"@itwin/core-bentley\";\nimport type { IconSpec } from \"@itwin/core-react\";\nimport { IconHelper } from \"@itwin/core-react\";\nimport type {\n // @ts-ignore Removed in 4.0\n BackstageItem as AbstractBackstageItem,\n // @ts-ignore Removed in 4.0\n CommonStatusBarItem as AbstractStatusBarItem,\n CommonToolbarItem as AbstractToolbarItem,\n // @ts-ignore Removed in 4.0\n ToolbarOrientation as AbstractToolbarOrientation,\n // @ts-ignore Removed in 4.0\n ToolbarUsage as AbstractToolbarUsage,\n // @ts-ignore Removed in 4.0\n UiItemsManager as AbstractUiItemsManagerType,\n // @ts-ignore Removed in 4.0\n UiItemsProvider as AbstractUiItemsProvider,\n // @ts-ignore Removed in 4.0\n AbstractWidgetProps as AbstractWidget,\n} from \"@itwin/appui-abstract\";\nimport type {\n UiItemsManager,\n UiItemsProviderOverrides,\n UiItemsProviderRegisteredEventArgs,\n} from \"./UiItemsManager\";\nimport { StagePanelLocation } from \"../stagepanels/StagePanelLocation\";\nimport { StagePanelSection } from \"../stagepanels/StagePanelSection\";\nimport type { Widget } from \"../widgets/Widget\";\nimport type { ProviderItem } from \"./ProviderItem\";\nimport type { UiItemsProvider } from \"./UiItemsProvider\";\nimport type {\n ToolbarItem,\n ToolbarOrientation,\n ToolbarUsage,\n} from \"../toolbar/ToolbarItem\";\nimport {\n isToolbarActionItem,\n isToolbarGroupItem,\n} from \"../toolbar/ToolbarItem\";\nimport type { BackstageItem } from \"../backstage/BackstageItem\";\nimport type { StatusBarItem } from \"../statusbar/StatusBarItem\";\nimport { isStatusBarCustomItem } from \"../statusbar/StatusBarItem\";\n\nconst _abstract = abstract;\n\n// @ts-ignore Removed in 4.0\nconst AbstractUiItemsManager: typeof AbstractUiItemsManagerType | undefined =\n _abstract.UiItemsManager;\n// @ts-ignore Removed in 4.0\nconst isAbstractStatusBarCustomItem = _abstract.isAbstractStatusBarCustomItem;\n// @ts-ignore Removed in 4.0\ntype AbstractStagePanelLocation = _abstract.StagePanelLocation;\n// @ts-ignore Removed in 4.0\nconst AbstractStagePanelLocation = _abstract.StagePanelLocation; // eslint-disable-line @typescript-eslint/no-redeclare\n// @ts-ignore Removed in 4.0\ntype AbstractStagePanelSection = _abstract.StagePanelSection;\n// @ts-ignore Removed in 4.0\nconst AbstractStagePanelSection = _abstract.StagePanelSection; // eslint-disable-line @typescript-eslint/no-redeclare\n\nconst AbstractToolbarItemUtilities = abstract.ToolbarItemUtilities;\n\nconst originalDataSymbol = Symbol(\"originalData\");\n\n/** @internal */\nexport function createAbstractUiItemsManagerAdapter() {\n if (!AbstractUiItemsManager) return undefined;\n return new AbstractUiItemsManagerAdapter(AbstractUiItemsManager);\n}\n\ntype Target = Pick<\n typeof UiItemsManager,\n | \"getWidgets\"\n | \"getToolbarButtonItems\"\n | \"getStatusBarItems\"\n | \"getBackstageItems\"\n | \"register\"\n | \"getUiItemsProvider\"\n | \"registeredProviderIds\"\n | \"hasRegisteredProviders\"\n | \"unregister\"\n | \"onUiProviderRegisteredEvent\"\n | \"clearAllProviders\"\n>;\n\nclass AbstractUiItemsManagerAdapter implements Target {\n constructor(private readonly _adaptee: typeof AbstractUiItemsManagerType) {}\n\n public clearAllProviders(): void {\n return this._adaptee.clearAllProviders();\n }\n\n public get onUiProviderRegisteredEvent(): BeUiEvent<UiItemsProviderRegisteredEventArgs> {\n if (!(\"emit\" in this._adaptee.onUiProviderRegisteredEvent)) {\n (this._adaptee.onUiProviderRegisteredEvent as any).emit = (\n args: UiItemsProviderRegisteredEventArgs\n ) => {\n this._adaptee.onUiProviderRegisteredEvent.raiseEvent(args);\n };\n }\n return this._adaptee\n .onUiProviderRegisteredEvent as BeUiEvent<UiItemsProviderRegisteredEventArgs>;\n }\n\n public unregister(providerId: string): void {\n return this._adaptee.unregister(providerId);\n }\n\n public get hasRegisteredProviders(): boolean {\n return this._adaptee.hasRegisteredProviders;\n }\n\n public get registeredProviderIds(): string[] {\n return this._adaptee.registeredProviderIds;\n }\n\n public register(\n provider: UiItemsProvider,\n overrides?: UiItemsProviderOverrides | undefined\n ): void {\n const abstractProvider = new UiItemsProviderToAbstractAdapter(provider);\n return this._adaptee.register(abstractProvider, overrides);\n }\n\n public getUiItemsProvider(providerId: string): UiItemsProvider | undefined {\n const abstractProvider = this._adaptee.getUiItemsProvider(providerId);\n if (!abstractProvider) return undefined;\n\n const provider = new AbstractToUiItemsProviderAdapter(abstractProvider);\n return provider;\n }\n\n public getBackstageItems(): readonly ProviderItem<BackstageItem>[] {\n const abstractItems = this._adaptee.getBackstageItems();\n // @ts-ignore Possibly 'any'\n const items = abstractItems.map((abstractItem) => {\n const item = fromAbstractBackstageItem(abstractItem);\n return {\n ...item,\n providerId: abstractItem.providerId ? abstractItem.providerId : \"\",\n };\n });\n return items;\n }\n\n public getStatusBarItems(\n stageId: string,\n stageUsage: string\n ): readonly ProviderItem<StatusBarItem>[] {\n const abstractItems = this._adaptee.getStatusBarItems(stageId, stageUsage);\n // @ts-ignore Possibly 'any'\n const items = abstractItems.map((abstractItem) => {\n const item = fromAbstractStatusBarItem(abstractItem);\n return {\n ...item,\n providerId: abstractItem.providerId ? abstractItem.providerId : \"\",\n };\n });\n return items;\n }\n\n public getToolbarButtonItems(\n stageId: string,\n stageUsage: string,\n usage: ToolbarUsage,\n orientation: ToolbarOrientation\n ): readonly ProviderItem<ToolbarItem>[] {\n const abstractItems = this._adaptee.getToolbarButtonItems(\n stageId,\n stageUsage,\n usage,\n orientation\n );\n // @ts-ignore Possibly 'any'\n const items = abstractItems.map((abstractItem) => {\n const item = fromAbstractToolbarItem(abstractItem);\n return {\n ...item,\n providerId: abstractItem.providerId ?? \"\",\n };\n });\n return items;\n }\n\n public getWidgets(\n stageId: string,\n stageUsage: string,\n location: StagePanelLocation,\n section?: StagePanelSection | undefined\n ): readonly ProviderItem<Widget>[] {\n const abstractLocations = toAbstractStagePanelLocation(location);\n const abstractSections =\n section === undefined\n ? ([undefined] as const)\n : toAbstractStagePanelSection(section);\n const combos: [\n AbstractStagePanelLocation,\n AbstractStagePanelSection | undefined\n ][] = [];\n abstractLocations.forEach((abstractLocation) => {\n abstractSections.forEach((abstractSection) => {\n combos.push([abstractLocation, abstractSection]);\n });\n });\n let abstractWidgets = combos.reduce<AbstractWidget[]>(\n (acc, [abstractLocation, abstractSection]) => {\n const w = this._adaptee.getWidgets(\n stageId,\n stageUsage,\n abstractLocation,\n abstractSection\n );\n acc.push(...w);\n return acc;\n },\n []\n );\n abstractWidgets = abstractWidgets.reduce<AbstractWidget[]>(\n (acc, abstractWidget) => {\n if (-1 === acc.findIndex((w) => w.id === abstractWidget.id))\n acc.push(abstractWidget);\n return acc;\n },\n []\n );\n const widgets = abstractWidgets\n // @ts-ignore Possibly 'any'\n .map((abstractWidget) => {\n const widget = fromAbstractWidget(abstractWidget);\n return {\n ...widget,\n providerId: abstractWidget.providerId ?? \"\",\n };\n });\n return widgets;\n }\n}\n\nclass UiItemsProviderToAbstractAdapter implements AbstractUiItemsProvider {\n public get id(): string {\n return this._adaptee.id;\n }\n\n constructor(private readonly _adaptee: UiItemsProvider) {}\n\n public onUnregister() {\n this._adaptee.onUnregister?.();\n }\n\n public provideBackstageItems() {\n if (!this._adaptee.provideBackstageItems) return [];\n\n const items = this._adaptee.provideBackstageItems();\n const abstractItems = items.map((item) => toAbstractBackstageItem(item));\n return abstractItems;\n }\n\n public provideStatusBarItems(\n stageId: string,\n stageUsage: string,\n _stageAppData?: any\n ) {\n if (!this._adaptee.provideStatusBarItems) return [];\n\n const items = this._adaptee.provideStatusBarItems(stageId, stageUsage);\n const abstractItems = items.map((item) => toAbstractStatusBarItem(item));\n return abstractItems;\n }\n\n public provideToolbarButtonItems(\n stageId: string,\n stageUsage: string,\n usage: AbstractToolbarUsage,\n orientation: AbstractToolbarOrientation,\n _stageAppData?: any\n ) {\n if (!this._adaptee.provideToolbarItems) return [];\n\n const items = this._adaptee.provideToolbarItems(\n stageId,\n stageUsage,\n usage,\n orientation\n );\n const abstractItems = items.map((item) => toAbstractToolbarItem(item));\n return abstractItems;\n }\n\n public provideWidgets(\n stageId: string,\n stageUsage: string,\n abstractLocation: AbstractStagePanelLocation,\n abstractSection?: AbstractStagePanelSection | undefined,\n _zoneLocation?: any,\n _stageAppData?: any\n ) {\n if (!this._adaptee.provideWidgets) return [];\n\n const location = fromAbstractStagePanelLocation(abstractLocation);\n const section =\n abstractSection === undefined\n ? undefined\n : fromAbstractStagePanelSection(abstractSection);\n const widgets = this._adaptee.provideWidgets(\n stageId,\n stageUsage,\n location,\n section\n );\n const abstractWidgets = widgets.map((widget) => toAbstractWidget(widget));\n return abstractWidgets;\n }\n}\n\nclass AbstractToUiItemsProviderAdapter implements UiItemsProvider {\n public get id(): string {\n return this._adaptee.id;\n }\n\n constructor(private readonly _adaptee: AbstractUiItemsProvider) {}\n\n public onUnregister() {\n this._adaptee.onUnregister?.();\n }\n\n public provideBackstageItems() {\n if (!this._adaptee.provideBackstageItems) return [];\n\n const abstractItems = this._adaptee.provideBackstageItems();\n // @ts-ignore Possibly 'any'\n const items = abstractItems.map((abstractItem) =>\n fromAbstractBackstageItem(abstractItem)\n );\n return items;\n }\n\n public provideStatusBarItems(stageId: string, stageUsage: string) {\n if (!this._adaptee.provideStatusBarItems) return [];\n\n const abstractItems = this._adaptee.provideStatusBarItems(\n stageId,\n stageUsage\n );\n // @ts-ignore Possibly 'any'\n const items = abstractItems.map((abstractItem) =>\n fromAbstractStatusBarItem(abstractItem)\n );\n return items;\n }\n\n public provideWidgets(\n stageId: string,\n stageUsage: string,\n location: StagePanelLocation,\n section?: StagePanelSection\n ) {\n if (!this._adaptee.provideWidgets) return [];\n\n const abstractLocations = toAbstractStagePanelLocation(location);\n const abstractSections =\n section === undefined\n ? ([undefined] as const)\n : toAbstractStagePanelSection(section);\n const combos: [\n AbstractStagePanelLocation,\n AbstractStagePanelSection | undefined\n ][] = [];\n abstractLocations.forEach((abstractLocation) => {\n abstractSections.forEach((abstractSection) => {\n combos.push([abstractLocation, abstractSection]);\n });\n });\n let abstractWidgets = combos.reduce<AbstractWidget[]>(\n (acc, [abstractLocation, abstractSection]) => {\n assert(!!this._adaptee.provideWidgets);\n const w = this._adaptee.provideWidgets(\n stageId,\n stageUsage,\n abstractLocation,\n abstractSection\n );\n acc.push(...w);\n return acc;\n },\n []\n );\n abstractWidgets = abstractWidgets.reduce<AbstractWidget[]>(\n (acc, abstractWidget) => {\n if (-1 === acc.findIndex((w) => w.id === abstractWidget.id))\n acc.push(abstractWidget);\n return acc;\n },\n []\n );\n const widgets = abstractWidgets.map((abstractWidget) =>\n fromAbstractWidget(abstractWidget)\n );\n return widgets;\n }\n\n public provideToolbarItems(\n stageId: string,\n stageUsage: string,\n usage: ToolbarUsage,\n orientation: ToolbarOrientation\n ) {\n if (!this._adaptee.provideToolbarButtonItems) return [];\n\n const abstractItems = this._adaptee.provideToolbarButtonItems(\n stageId,\n stageUsage,\n usage,\n orientation\n );\n // @ts-ignore Possibly 'any'\n const items = abstractItems.map((abstractItem) =>\n fromAbstractToolbarItem(abstractItem)\n );\n return items;\n }\n}\n\nfunction toAbstractBackstageItem(item: BackstageItem): AbstractBackstageItem {\n let abstractItem = getOriginalData<AbstractBackstageItem>(item);\n if (abstractItem) return abstractItem;\n\n const internalData = new Map();\n const icon = IconHelper.getIconData(item.icon, internalData);\n abstractItem = {\n ...item,\n badgeType: item.badge,\n icon,\n internalData,\n };\n setOriginalData(abstractItem, item);\n return abstractItem;\n}\n\nfunction toAbstractStatusBarItem(item: StatusBarItem): AbstractStatusBarItem {\n let abstractItem = getOriginalData<AbstractStatusBarItem>(item);\n if (abstractItem) return abstractItem;\n\n if (isStatusBarCustomItem(item)) {\n abstractItem = {\n ...item,\n badgeType: item.badge,\n isCustom: true,\n reactNode: item.content,\n } as AbstractStatusBarItem;\n } else {\n const internalData = new Map();\n const icon = IconHelper.getIconData(item.icon, internalData);\n abstractItem = {\n ...item,\n badgeType: item.badge,\n icon,\n internalData,\n };\n }\n setOriginalData(abstractItem, item);\n return abstractItem;\n}\n\nfunction toAbstractToolbarItem(item: ToolbarItem): AbstractToolbarItem {\n let abstractItem = getOriginalData<AbstractToolbarItem>(item);\n if (abstractItem) return abstractItem;\n\n const internalData = new Map();\n const icon = IconHelper.getIconData(item.icon, internalData);\n if (isToolbarActionItem(item)) {\n abstractItem = {\n ...item,\n badgeType: item.badge,\n icon,\n internalData,\n parentToolGroupId: item.parentGroupItemId,\n };\n } else if (isToolbarGroupItem(item)) {\n abstractItem = {\n ...item,\n badgeType: item.badge,\n icon,\n internalData,\n parentToolGroupId: item.parentGroupItemId,\n items: item.items.map((i) => toAbstractToolbarItem(i)) as any,\n };\n } else {\n abstractItem = {\n ...item,\n badgeType: item.badge,\n isCustom: true,\n icon,\n internalData,\n };\n }\n setOriginalData(abstractItem, item);\n return abstractItem;\n}\n\nfunction toAbstractWidget(widget: Widget): AbstractWidget {\n let abstractWidget = getOriginalData<AbstractWidget>(widget);\n if (abstractWidget) return abstractWidget;\n\n const allowedPanelTargets = widget.allowedPanels\n // @ts-ignore Possibly 'any'\n ?.map((location) => {\n const map = {\n [StagePanelLocation.Top]: \"top\" as const,\n [StagePanelLocation.Left]: \"left\" as const,\n [StagePanelLocation.Right]: \"right\" as const,\n [StagePanelLocation.Bottom]: \"bottom\" as const,\n };\n // @ts-ignore Possibly 'any'\n return map[location];\n });\n const internalData = new Map();\n const icon = IconHelper.getIconData(widget.icon, internalData);\n abstractWidget = {\n ...widget,\n id: widget.id ?? \"\",\n getWidgetContent: () => widget.content,\n allowedPanelTargets,\n badgeType: widget.badge,\n defaultFloatingPosition:\n typeof widget.canFloat === \"object\"\n ? widget.canFloat.defaultPosition\n : undefined,\n defaultFloatingSize:\n typeof widget.canFloat === \"object\"\n ? widget.canFloat.defaultSize\n : undefined,\n floatingContainerId:\n typeof widget.canFloat === \"object\"\n ? widget.canFloat.containerId\n : undefined,\n hideWithUiWhenFloating:\n typeof widget.canFloat === \"object\"\n ? widget.canFloat.hideWithUi\n : undefined,\n isFloatingStateSupported: !!widget.canFloat,\n isFloatingStateWindowResizable:\n typeof widget.canFloat === \"object\"\n ? widget.canFloat.isResizable\n : undefined,\n icon,\n internalData,\n };\n setOriginalData(abstractWidget, widget);\n return abstractWidget;\n}\n\nfunction fromAbstractBackstageItem(\n abstractItem: AbstractBackstageItem\n): BackstageItem {\n let item = getOriginalData<BackstageItem>(abstractItem);\n if (item) return item;\n\n const icon = fromAbstractIcon(abstractItem.icon, abstractItem.internalData);\n item = {\n ...abstractItem,\n badge: abstractItem.badgeType,\n icon,\n };\n assert(!!item);\n setOriginalData(item, abstractItem);\n return item;\n}\n\nfunction fromAbstractStatusBarItem(\n abstractItem: AbstractStatusBarItem\n): StatusBarItem {\n let item = getOriginalData<StatusBarItem>(abstractItem);\n if (item) return item;\n\n if (isAbstractStatusBarCustomItem(abstractItem)) {\n const content: React.ReactNode | undefined = (abstractItem as any)\n .reactNode;\n return {\n ...abstractItem,\n badge: abstractItem.badgeType,\n content,\n };\n } else {\n const icon = fromAbstractIcon(abstractItem.icon, abstractItem.internalData);\n item = {\n ...abstractItem,\n badge: abstractItem.badgeType,\n icon,\n };\n }\n assert(!!item);\n setOriginalData(item, abstractItem);\n return item;\n}\n\nfunction fromAbstractToolbarItem(\n abstractItem: AbstractToolbarItem\n): ToolbarItem {\n let item = getOriginalData<ToolbarItem>(abstractItem);\n if (item) return item;\n\n const icon = fromAbstractIcon(abstractItem.icon, abstractItem.internalData);\n if (AbstractToolbarItemUtilities.isCustomDefinition(abstractItem)) {\n item = {\n ...abstractItem,\n badge: abstractItem.badgeType,\n icon,\n };\n } else {\n item = {\n ...abstractItem,\n badge: abstractItem.badgeType,\n parentGroupItemId: abstractItem.parentToolGroupId,\n icon,\n };\n }\n setOriginalData(item, abstractItem);\n return item;\n}\n\nfunction fromAbstractWidget(abstractWidget: AbstractWidget): Widget {\n let widget = getOriginalData<Widget>(abstractWidget);\n if (widget) return widget;\n\n const allowedPanels = abstractWidget.allowedPanelTargets\n // @ts-ignore Possibly 'any'\n ?.map((target) => {\n const map = {\n top: StagePanelLocation.Top,\n left: StagePanelLocation.Left,\n right: StagePanelLocation.Right,\n bottom: StagePanelLocation.Bottom,\n };\n // @ts-ignore Possibly 'any'\n return map[target];\n });\n const icon = fromAbstractIcon(\n abstractWidget.icon,\n abstractWidget.internalData\n );\n widget = {\n ...abstractWidget,\n id: abstractWidget.id ?? \"\",\n content: abstractWidget.getWidgetContent(),\n allowedPanels,\n badge: abstractWidget.badgeType,\n canFloat: abstractWidget.isFloatingStateSupported && {\n containerId: abstractWidget.floatingContainerId,\n defaultPosition: abstractWidget.defaultFloatingPosition,\n defaultSize: abstractWidget.defaultFloatingSize,\n hideWithUi: abstractWidget.hideWithUiWhenFloating,\n isResizable: abstractWidget.isFloatingStateWindowResizable,\n },\n icon,\n };\n assert(!!widget);\n setOriginalData(widget, abstractWidget);\n return widget;\n}\n\nfunction fromAbstractStagePanelLocation(\n location: AbstractStagePanelLocation\n): StagePanelLocation {\n switch (location) {\n case AbstractStagePanelLocation.Left:\n return StagePanelLocation.Left;\n case AbstractStagePanelLocation.Top:\n return StagePanelLocation.Top;\n case AbstractStagePanelLocation.TopMost:\n return StagePanelLocation.Top;\n case AbstractStagePanelLocation.Bottom:\n return StagePanelLocation.Bottom;\n case AbstractStagePanelLocation.BottomMost:\n return StagePanelLocation.Bottom;\n }\n return StagePanelLocation.Right;\n}\n\nfunction toAbstractStagePanelLocation(\n location: StagePanelLocation\n): AbstractStagePanelLocation[] {\n switch (location) {\n case StagePanelLocation.Left:\n return [AbstractStagePanelLocation.Left];\n case StagePanelLocation.Top:\n return [\n AbstractStagePanelLocation.Top,\n AbstractStagePanelLocation.TopMost,\n ];\n case StagePanelLocation.Bottom:\n return [\n AbstractStagePanelLocation.Bottom,\n AbstractStagePanelLocation.BottomMost,\n ];\n }\n return [AbstractStagePanelLocation.Right];\n}\n\nfunction fromAbstractStagePanelSection(\n section: AbstractStagePanelSection\n): StagePanelSection {\n switch (section) {\n case AbstractStagePanelSection.End:\n return StagePanelSection.End;\n }\n return StagePanelSection.Start;\n}\n\nfunction toAbstractStagePanelSection(\n section: StagePanelSection\n): AbstractStagePanelSection[] {\n switch (section) {\n case StagePanelSection.End:\n return [AbstractStagePanelSection.End];\n }\n return [AbstractStagePanelSection.Start, AbstractStagePanelSection.Middle];\n}\n\nfunction fromAbstractIcon(\n icon: string | abstract.ConditionalStringValue | undefined,\n internalData: Map<string, any> | undefined\n): IconSpec {\n if (!icon) return undefined;\n const iconString = abstract.ConditionalStringValue.getValue(icon);\n if (!iconString) return undefined;\n if (iconString === IconHelper.reactIconKey && internalData)\n return internalData.get(IconHelper.reactIconKey) as React.ReactNode;\n return iconString;\n}\n\nfunction getOriginalData<TData>(obj: Object): TData | undefined {\n const originalData = (obj as any)[originalDataSymbol];\n if (!originalData) return undefined;\n return originalData;\n}\n\nfunction setOriginalData<TData>(obj: Object, data: TData) {\n (obj as any)[originalDataSymbol] = data;\n}\n"]}
1
+ {"version":3,"file":"AbstractUiItemsManager.js","sourceRoot":"","sources":["../../../../src/appui-react/ui-items-provider/AbstractUiItemsManager.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module UiProvider\n */\n\n/* eslint-disable deprecation/deprecation, @typescript-eslint/ban-ts-comment */\n\nimport * as abstract from \"@itwin/appui-abstract\";\nimport type { BeUiEvent } from \"@itwin/core-bentley\";\nimport { assert } from \"@itwin/core-bentley\";\nimport type { IconSpec } from \"@itwin/core-react\";\nimport { IconHelper } from \"@itwin/core-react\";\nimport type {\n // @ts-ignore Removed in 4.0\n BackstageItem as AbstractBackstageItem,\n // @ts-ignore Removed in 4.0\n CommonStatusBarItem as AbstractStatusBarItem,\n CommonToolbarItem as AbstractToolbarItem,\n // @ts-ignore Removed in 4.0\n ToolbarOrientation as AbstractToolbarOrientation,\n // @ts-ignore Removed in 4.0\n ToolbarUsage as AbstractToolbarUsage,\n // @ts-ignore Removed in 4.0\n UiItemsManager as AbstractUiItemsManagerType,\n // @ts-ignore Removed in 4.0\n UiItemsProvider as AbstractUiItemsProvider,\n // @ts-ignore Removed in 4.0\n AbstractWidgetProps as AbstractWidget,\n} from \"@itwin/appui-abstract\";\nimport type {\n UiItemsManager,\n UiItemsProviderOverrides,\n UiItemsProviderRegisteredEventArgs,\n} from \"./UiItemsManager\";\nimport { StagePanelLocation } from \"../stagepanels/StagePanelLocation\";\nimport { StagePanelSection } from \"../stagepanels/StagePanelSection\";\nimport type { Widget } from \"../widgets/Widget\";\nimport type { ProviderItem } from \"./ProviderItem\";\nimport type { UiItemsProvider } from \"./UiItemsProvider\";\nimport type {\n ToolbarItem,\n ToolbarOrientation,\n ToolbarUsage,\n} from \"../toolbar/ToolbarItem\";\nimport {\n isToolbarActionItem,\n isToolbarGroupItem,\n} from \"../toolbar/ToolbarItem\";\nimport type { BackstageItem } from \"../backstage/BackstageItem\";\nimport type { StatusBarItem } from \"../statusbar/StatusBarItem\";\nimport { isStatusBarCustomItem } from \"../statusbar/StatusBarItem\";\n\nconst _abstract = abstract;\n\n// @ts-ignore Removed in 4.0\nconst AbstractUiItemsManager: typeof AbstractUiItemsManagerType | undefined =\n _abstract.UiItemsManager;\n// @ts-ignore Removed in 4.0\nconst isAbstractStatusBarCustomItem = _abstract.isAbstractStatusBarCustomItem;\n// @ts-ignore Removed in 4.0\ntype AbstractStagePanelLocation = _abstract.StagePanelLocation;\n// @ts-ignore Removed in 4.0\nconst AbstractStagePanelLocation = _abstract.StagePanelLocation; // eslint-disable-line @typescript-eslint/no-redeclare\n// @ts-ignore Removed in 4.0\ntype AbstractStagePanelSection = _abstract.StagePanelSection;\n// @ts-ignore Removed in 4.0\nconst AbstractStagePanelSection = _abstract.StagePanelSection; // eslint-disable-line @typescript-eslint/no-redeclare\n\nconst AbstractToolbarItemUtilities = abstract.ToolbarItemUtilities;\n\nconst originalDataSymbol = Symbol(\"originalData\");\n\n/** @internal */\nexport function createAbstractUiItemsManagerAdapter() {\n if (!AbstractUiItemsManager) return undefined;\n return new AbstractUiItemsManagerAdapter(AbstractUiItemsManager);\n}\n\ntype Target = Pick<\n typeof UiItemsManager,\n | \"getWidgets\"\n | \"getToolbarButtonItems\"\n | \"getStatusBarItems\"\n | \"getBackstageItems\"\n | \"register\"\n | \"getUiItemsProvider\"\n | \"registeredProviderIds\"\n | \"hasRegisteredProviders\"\n | \"unregister\"\n | \"onUiProviderRegisteredEvent\"\n | \"clearAllProviders\"\n>;\n\nclass AbstractUiItemsManagerAdapter implements Target {\n constructor(private readonly _adaptee: typeof AbstractUiItemsManagerType) {}\n\n public clearAllProviders(): void {\n return this._adaptee.clearAllProviders();\n }\n\n public get onUiProviderRegisteredEvent(): BeUiEvent<UiItemsProviderRegisteredEventArgs> {\n if (!(\"emit\" in this._adaptee.onUiProviderRegisteredEvent)) {\n (this._adaptee.onUiProviderRegisteredEvent as any).emit = (\n args: UiItemsProviderRegisteredEventArgs\n ) => {\n this._adaptee.onUiProviderRegisteredEvent.raiseEvent(args);\n };\n }\n return this._adaptee\n .onUiProviderRegisteredEvent as BeUiEvent<UiItemsProviderRegisteredEventArgs>;\n }\n\n public unregister(providerId: string): void {\n return this._adaptee.unregister(providerId);\n }\n\n public get hasRegisteredProviders(): boolean {\n return this._adaptee.hasRegisteredProviders;\n }\n\n public get registeredProviderIds(): string[] {\n return this._adaptee.registeredProviderIds;\n }\n\n public register(\n provider: UiItemsProvider,\n overrides?: UiItemsProviderOverrides | undefined\n ): void {\n const abstractProvider = new UiItemsProviderToAbstractAdapter(provider);\n return this._adaptee.register(abstractProvider, overrides);\n }\n\n public getUiItemsProvider(providerId: string): UiItemsProvider | undefined {\n const abstractProvider = this._adaptee.getUiItemsProvider(providerId);\n if (!abstractProvider) return undefined;\n\n const provider = new AbstractToUiItemsProviderAdapter(abstractProvider);\n return provider;\n }\n\n public getBackstageItems(): readonly ProviderItem<BackstageItem>[] {\n const abstractItems = this._adaptee.getBackstageItems();\n // @ts-ignore Possibly 'any'\n const items = abstractItems.map((abstractItem) => {\n const item = fromAbstractBackstageItem(abstractItem);\n return {\n ...item,\n providerId: abstractItem.providerId ? abstractItem.providerId : \"\",\n };\n });\n return items;\n }\n\n public getStatusBarItems(\n stageId: string,\n stageUsage: string\n ): readonly ProviderItem<StatusBarItem>[] {\n const abstractItems = this._adaptee.getStatusBarItems(stageId, stageUsage);\n // @ts-ignore Possibly 'any'\n const items = abstractItems.map((abstractItem) => {\n const item = fromAbstractStatusBarItem(abstractItem);\n return {\n ...item,\n providerId: abstractItem.providerId ? abstractItem.providerId : \"\",\n };\n });\n return items;\n }\n\n public getToolbarButtonItems(\n stageId: string,\n stageUsage: string,\n usage: ToolbarUsage,\n orientation: ToolbarOrientation\n ): readonly ProviderItem<ToolbarItem>[] {\n const abstractItems = this._adaptee.getToolbarButtonItems(\n stageId,\n stageUsage,\n usage,\n orientation\n );\n // @ts-ignore Possibly 'any'\n const items = abstractItems.map((abstractItem) => {\n const item = fromAbstractToolbarItem(abstractItem);\n return {\n ...item,\n providerId: abstractItem.providerId ?? \"\",\n };\n });\n return items;\n }\n\n public getWidgets(\n stageId: string,\n stageUsage: string,\n location: StagePanelLocation,\n section?: StagePanelSection | undefined\n ): readonly ProviderItem<Widget>[] {\n const abstractLocations = toAbstractStagePanelLocation(location);\n const abstractSections =\n section === undefined\n ? ([undefined] as const)\n : toAbstractStagePanelSection(section);\n const combos: [\n AbstractStagePanelLocation,\n AbstractStagePanelSection | undefined\n ][] = [];\n abstractLocations.forEach((abstractLocation) => {\n abstractSections.forEach((abstractSection) => {\n combos.push([abstractLocation, abstractSection]);\n });\n });\n let abstractWidgets = combos.reduce<AbstractWidget[]>(\n (acc, [abstractLocation, abstractSection]) => {\n const w = this._adaptee.getWidgets(\n stageId,\n stageUsage,\n abstractLocation,\n abstractSection\n );\n acc.push(...w);\n return acc;\n },\n []\n );\n abstractWidgets = abstractWidgets.reduce<AbstractWidget[]>(\n (acc, abstractWidget) => {\n if (-1 === acc.findIndex((w) => w.id === abstractWidget.id))\n acc.push(abstractWidget);\n return acc;\n },\n []\n );\n const widgets = abstractWidgets\n // @ts-ignore Possibly 'any'\n .map((abstractWidget) => {\n const widget = fromAbstractWidget(abstractWidget);\n return {\n ...widget,\n providerId: abstractWidget.providerId ?? \"\",\n };\n });\n return widgets;\n }\n}\n\nclass UiItemsProviderToAbstractAdapter implements AbstractUiItemsProvider {\n public get id(): string {\n return this._adaptee.id;\n }\n\n constructor(private readonly _adaptee: UiItemsProvider) {}\n\n public onUnregister() {\n this._adaptee.onUnregister?.();\n }\n\n public provideBackstageItems() {\n if (!this._adaptee.provideBackstageItems) return [];\n\n const items = this._adaptee.provideBackstageItems();\n const abstractItems = items.map((item) => toAbstractBackstageItem(item));\n return abstractItems;\n }\n\n public provideStatusBarItems(\n stageId: string,\n stageUsage: string,\n _stageAppData?: any\n ) {\n if (!this._adaptee.provideStatusBarItems) return [];\n\n const items = this._adaptee.provideStatusBarItems(stageId, stageUsage);\n const abstractItems = items.map((item) => toAbstractStatusBarItem(item));\n return abstractItems;\n }\n\n public provideToolbarButtonItems(\n stageId: string,\n stageUsage: string,\n usage: AbstractToolbarUsage,\n orientation: AbstractToolbarOrientation,\n _stageAppData?: any\n ) {\n if (!this._adaptee.provideToolbarItems) return [];\n\n const items = this._adaptee.provideToolbarItems(\n stageId,\n stageUsage,\n usage,\n orientation\n );\n const abstractItems = items.map((item) => toAbstractToolbarItem(item));\n return abstractItems;\n }\n\n public provideWidgets(\n stageId: string,\n stageUsage: string,\n abstractLocation: AbstractStagePanelLocation,\n abstractSection?: AbstractStagePanelSection | undefined,\n _zoneLocation?: any,\n _stageAppData?: any\n ) {\n if (!this._adaptee.provideWidgets) return [];\n\n const location = fromAbstractStagePanelLocation(abstractLocation);\n const section =\n abstractSection === undefined\n ? undefined\n : fromAbstractStagePanelSection(abstractSection);\n const widgets = this._adaptee.provideWidgets(\n stageId,\n stageUsage,\n location,\n section\n );\n const abstractWidgets = widgets.map((widget) => toAbstractWidget(widget));\n return abstractWidgets;\n }\n}\n\nclass AbstractToUiItemsProviderAdapter implements UiItemsProvider {\n public get id(): string {\n return this._adaptee.id;\n }\n\n constructor(private readonly _adaptee: AbstractUiItemsProvider) {}\n\n public onUnregister() {\n this._adaptee.onUnregister?.();\n }\n\n public provideBackstageItems() {\n if (!this._adaptee.provideBackstageItems) return [];\n\n const abstractItems = this._adaptee.provideBackstageItems();\n // @ts-ignore Possibly 'any'\n const items = abstractItems.map((abstractItem) =>\n fromAbstractBackstageItem(abstractItem)\n );\n return items;\n }\n\n public provideStatusBarItems(stageId: string, stageUsage: string) {\n if (!this._adaptee.provideStatusBarItems) return [];\n\n const abstractItems = this._adaptee.provideStatusBarItems(\n stageId,\n stageUsage\n );\n // @ts-ignore Possibly 'any'\n const items = abstractItems.map((abstractItem) =>\n fromAbstractStatusBarItem(abstractItem)\n );\n return items;\n }\n\n public provideWidgets(\n stageId: string,\n stageUsage: string,\n location: StagePanelLocation,\n section?: StagePanelSection\n ) {\n if (!this._adaptee.provideWidgets) return [];\n\n const abstractLocations = toAbstractStagePanelLocation(location);\n const abstractSections =\n section === undefined\n ? ([undefined] as const)\n : toAbstractStagePanelSection(section);\n const combos: [\n AbstractStagePanelLocation,\n AbstractStagePanelSection | undefined\n ][] = [];\n abstractLocations.forEach((abstractLocation) => {\n abstractSections.forEach((abstractSection) => {\n combos.push([abstractLocation, abstractSection]);\n });\n });\n let abstractWidgets = combos.reduce<AbstractWidget[]>(\n (acc, [abstractLocation, abstractSection]) => {\n assert(!!this._adaptee.provideWidgets);\n const w = this._adaptee.provideWidgets(\n stageId,\n stageUsage,\n abstractLocation,\n abstractSection\n );\n acc.push(...w);\n return acc;\n },\n []\n );\n abstractWidgets = abstractWidgets.reduce<AbstractWidget[]>(\n (acc, abstractWidget) => {\n if (-1 === acc.findIndex((w) => w.id === abstractWidget.id))\n acc.push(abstractWidget);\n return acc;\n },\n []\n );\n const widgets = abstractWidgets.map((abstractWidget) =>\n fromAbstractWidget(abstractWidget)\n );\n return widgets;\n }\n\n public provideToolbarItems(\n stageId: string,\n stageUsage: string,\n usage: ToolbarUsage,\n orientation: ToolbarOrientation\n ) {\n if (!this._adaptee.provideToolbarButtonItems) return [];\n\n const abstractItems = this._adaptee.provideToolbarButtonItems(\n stageId,\n stageUsage,\n usage,\n orientation\n );\n // @ts-ignore Possibly 'any'\n const items = abstractItems.map((abstractItem) =>\n fromAbstractToolbarItem(abstractItem)\n );\n return items;\n }\n}\n\nfunction toAbstractBackstageItem(item: BackstageItem): AbstractBackstageItem {\n let abstractItem = getOriginalData<AbstractBackstageItem>(item);\n if (abstractItem) return abstractItem;\n\n const internalData = new Map();\n const icon = IconHelper.getIconData(item.icon, internalData);\n abstractItem = {\n ...item,\n badgeType: item.badge,\n icon,\n internalData,\n };\n setOriginalData(abstractItem, item);\n return abstractItem;\n}\n\nfunction toAbstractStatusBarItem(item: StatusBarItem): AbstractStatusBarItem {\n let abstractItem = getOriginalData<AbstractStatusBarItem>(item);\n if (abstractItem) return abstractItem;\n\n if (isStatusBarCustomItem(item)) {\n abstractItem = {\n ...item,\n badgeType: item.badge,\n isCustom: true,\n reactNode: item.content,\n } as AbstractStatusBarItem;\n } else {\n const internalData = new Map();\n const icon = IconHelper.getIconData(item.icon, internalData);\n abstractItem = {\n ...item,\n badgeType: item.badge,\n icon,\n internalData,\n };\n }\n setOriginalData(abstractItem, item);\n return abstractItem;\n}\n\nfunction toAbstractToolbarItem(item: ToolbarItem): AbstractToolbarItem {\n let abstractItem = getOriginalData<AbstractToolbarItem>(item);\n if (abstractItem) return abstractItem;\n\n const internalData = new Map();\n const icon = IconHelper.getIconData(item.icon, internalData);\n if (isToolbarActionItem(item)) {\n abstractItem = {\n ...item,\n badgeType: item.badge,\n icon,\n internalData,\n parentToolGroupId: item.parentGroupItemId,\n };\n } else if (isToolbarGroupItem(item)) {\n abstractItem = {\n ...item,\n badgeType: item.badge,\n icon,\n internalData,\n parentToolGroupId: item.parentGroupItemId,\n items: item.items.map((i) => toAbstractToolbarItem(i)) as any,\n };\n } else {\n abstractItem = {\n ...item,\n badgeType: item.badge,\n isCustom: true,\n icon,\n internalData,\n };\n }\n setOriginalData(abstractItem, item);\n return abstractItem;\n}\n\nfunction toAbstractWidget(widget: Widget): AbstractWidget {\n let abstractWidget = getOriginalData<AbstractWidget>(widget);\n if (abstractWidget) return abstractWidget;\n\n const allowedPanelTargets = widget.allowedPanels\n // @ts-ignore Possibly 'any'\n ?.map((location) => {\n const map = {\n [StagePanelLocation.Top]: \"top\" as const,\n [StagePanelLocation.Left]: \"left\" as const,\n [StagePanelLocation.Right]: \"right\" as const,\n [StagePanelLocation.Bottom]: \"bottom\" as const,\n };\n // @ts-ignore Possibly 'any'\n return map[location];\n });\n const internalData = new Map();\n const icon = IconHelper.getIconData(widget.icon, internalData);\n abstractWidget = {\n ...widget,\n id: widget.id ?? \"\",\n getWidgetContent: () => widget.content,\n allowedPanelTargets,\n badgeType: widget.badge,\n defaultFloatingPosition:\n typeof widget.canFloat === \"object\"\n ? widget.canFloat.defaultPosition\n : undefined,\n defaultFloatingSize:\n typeof widget.canFloat === \"object\"\n ? widget.canFloat.defaultSize\n : undefined,\n floatingContainerId:\n typeof widget.canFloat === \"object\"\n ? widget.canFloat.containerId\n : undefined,\n hideWithUiWhenFloating:\n typeof widget.canFloat === \"object\"\n ? widget.canFloat.hideWithUi\n : undefined,\n isFloatingStateSupported: !!widget.canFloat,\n isFloatingStateWindowResizable:\n typeof widget.canFloat === \"object\"\n ? widget.canFloat.isResizable\n : undefined,\n icon,\n internalData,\n };\n setOriginalData(abstractWidget, widget);\n return abstractWidget;\n}\n\nfunction fromAbstractBackstageItem(\n abstractItem: AbstractBackstageItem\n): BackstageItem {\n let item = getOriginalData<BackstageItem>(abstractItem);\n if (item) return item;\n\n const icon = fromAbstractIcon(abstractItem.icon, abstractItem.internalData);\n item = {\n ...abstractItem,\n badge: abstractItem.badgeType,\n icon,\n };\n assert(!!item);\n setOriginalData(item, abstractItem);\n return item;\n}\n\nfunction fromAbstractStatusBarItem(\n abstractItem: AbstractStatusBarItem\n): StatusBarItem {\n let item = getOriginalData<StatusBarItem>(abstractItem);\n if (item) return item;\n\n if (isAbstractStatusBarCustomItem(abstractItem)) {\n const content: React.ReactNode | undefined = (abstractItem as any)\n .reactNode;\n return {\n ...abstractItem,\n badge: abstractItem.badgeType,\n content,\n };\n } else {\n const icon = fromAbstractIcon(abstractItem.icon, abstractItem.internalData);\n item = {\n ...abstractItem,\n badge: abstractItem.badgeType,\n icon,\n };\n }\n assert(!!item);\n setOriginalData(item, abstractItem);\n return item;\n}\n\nfunction fromAbstractToolbarItem(\n abstractItem: AbstractToolbarItem\n): ToolbarItem {\n let item = getOriginalData<ToolbarItem>(abstractItem);\n if (item) return item;\n\n const icon = fromAbstractIcon(abstractItem.icon, abstractItem.internalData);\n if (AbstractToolbarItemUtilities.isCustomDefinition(abstractItem)) {\n item = {\n ...abstractItem,\n badge: abstractItem.badgeType,\n icon,\n };\n } else {\n item = {\n ...abstractItem,\n badge: abstractItem.badgeType,\n parentGroupItemId: abstractItem.parentToolGroupId,\n icon,\n };\n }\n setOriginalData(item, abstractItem);\n return item;\n}\n\nfunction fromAbstractWidget(abstractWidget: AbstractWidget): Widget {\n let widget = getOriginalData<Widget>(abstractWidget);\n if (widget) return widget;\n\n const allowedPanels = abstractWidget.allowedPanelTargets\n // @ts-ignore Possibly 'any'\n ?.map((target) => {\n const map = {\n top: StagePanelLocation.Top,\n left: StagePanelLocation.Left,\n right: StagePanelLocation.Right,\n bottom: StagePanelLocation.Bottom,\n };\n // @ts-ignore Possibly 'any'\n return map[target];\n });\n const icon = fromAbstractIcon(\n abstractWidget.icon,\n abstractWidget.internalData\n );\n widget = {\n ...abstractWidget,\n id: abstractWidget.id ?? \"\",\n content: abstractWidget.getWidgetContent(),\n allowedPanels,\n badge: abstractWidget.badgeType,\n canFloat: abstractWidget.isFloatingStateSupported && {\n containerId: abstractWidget.floatingContainerId,\n defaultPosition: abstractWidget.defaultFloatingPosition,\n defaultSize: abstractWidget.defaultFloatingSize,\n hideWithUi: abstractWidget.hideWithUiWhenFloating,\n isResizable: abstractWidget.isFloatingStateWindowResizable,\n },\n icon,\n };\n assert(!!widget);\n setOriginalData(widget, abstractWidget);\n return widget;\n}\n\nfunction fromAbstractStagePanelLocation(\n location: AbstractStagePanelLocation\n): StagePanelLocation {\n switch (location) {\n case AbstractStagePanelLocation.Left:\n return StagePanelLocation.Left;\n case AbstractStagePanelLocation.Top:\n return StagePanelLocation.Top;\n case AbstractStagePanelLocation.TopMost:\n return StagePanelLocation.Top;\n case AbstractStagePanelLocation.Bottom:\n return StagePanelLocation.Bottom;\n case AbstractStagePanelLocation.BottomMost:\n return StagePanelLocation.Bottom;\n }\n return StagePanelLocation.Right;\n}\n\nfunction toAbstractStagePanelLocation(\n location: StagePanelLocation\n): AbstractStagePanelLocation[] {\n switch (location) {\n case StagePanelLocation.Left:\n return [AbstractStagePanelLocation.Left];\n case StagePanelLocation.Top:\n return [\n AbstractStagePanelLocation.Top,\n AbstractStagePanelLocation.TopMost,\n ];\n case StagePanelLocation.Bottom:\n return [\n AbstractStagePanelLocation.Bottom,\n AbstractStagePanelLocation.BottomMost,\n ];\n }\n return [AbstractStagePanelLocation.Right];\n}\n\nfunction fromAbstractStagePanelSection(\n section: AbstractStagePanelSection\n): StagePanelSection {\n switch (section) {\n case AbstractStagePanelSection.End:\n return StagePanelSection.End;\n }\n return StagePanelSection.Start;\n}\n\nfunction toAbstractStagePanelSection(\n section: StagePanelSection\n): AbstractStagePanelSection[] {\n switch (section) {\n case StagePanelSection.End:\n return [AbstractStagePanelSection.End];\n }\n return [AbstractStagePanelSection.Start, AbstractStagePanelSection.Middle];\n}\n\nfunction fromAbstractIcon(\n icon: string | abstract.ConditionalStringValue | undefined,\n internalData: Map<string, any> | undefined\n): IconSpec {\n if (!icon) return undefined;\n const iconString = abstract.ConditionalStringValue.getValue(icon);\n if (!iconString) return undefined;\n if (iconString === IconHelper.reactIconKey && internalData)\n return internalData.get(IconHelper.reactIconKey) as React.ReactNode;\n return iconString;\n}\n\nfunction getOriginalData<TData>(obj: Object): TData | undefined {\n const originalData = (obj as any)[originalDataSymbol];\n if (!originalData) return undefined;\n return originalData;\n}\n\nfunction setOriginalData<TData>(obj: Object, data: TData) {\n (obj as any)[originalDataSymbol] = data;\n}\n"]}