@itwin/grouping-mapping-widget 0.26.0 → 0.26.1

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 (579) hide show
  1. package/LICENSE.md +9 -9
  2. package/README.md +115 -115
  3. package/lib/cjs/WidgetShell/GroupingMapping.js +2 -4
  4. package/lib/cjs/WidgetShell/GroupingMapping.js.map +1 -1
  5. package/lib/cjs/WidgetShell/GroupingMappingContent.js +4 -4
  6. package/lib/cjs/WidgetShell/GroupingMappingContent.js.map +1 -1
  7. package/lib/cjs/WidgetShell/GroupingMappingHeader.d.ts +1 -1
  8. package/lib/cjs/WidgetShell/GroupingMappingHeader.js +5 -5
  9. package/lib/cjs/WidgetShell/GroupingMappingHeader.js.map +1 -1
  10. package/lib/cjs/WidgetShell/GroupingMappingWidget.js +1 -3
  11. package/lib/cjs/WidgetShell/GroupingMappingWidget.js.map +1 -1
  12. package/lib/cjs/WidgetShell/Router/GroupingMappingRouter.js +28 -8
  13. package/lib/cjs/WidgetShell/Router/GroupingMappingRouter.js.map +1 -1
  14. package/lib/cjs/WidgetShell/WidgetHeader/WidgetHeader.d.ts +1 -1
  15. package/lib/cjs/WidgetShell/WidgetHeader/WidgetHeader.js +7 -7
  16. package/lib/cjs/WidgetShell/WidgetHeader/WidgetHeader.js.map +1 -1
  17. package/lib/cjs/common/hooks/useIsMounted.js +3 -3
  18. package/lib/cjs/common/hooks/useIsMounted.js.map +1 -1
  19. package/lib/cjs/common/hooks/useMemoizedCollectionPick.js +3 -3
  20. package/lib/cjs/common/hooks/useMemoizedCollectionPick.js.map +1 -1
  21. package/lib/cjs/common/utils.js +3 -3
  22. package/lib/cjs/common/utils.js.map +1 -1
  23. package/lib/cjs/common/viewerUtils.js +2 -2
  24. package/lib/cjs/common/viewerUtils.js.map +1 -1
  25. package/lib/cjs/components/Constants.js +4 -4
  26. package/lib/cjs/components/Constants.js.map +1 -1
  27. package/lib/cjs/components/GroupingMappingContext.js +13 -4
  28. package/lib/cjs/components/GroupingMappingContext.js.map +1 -1
  29. package/lib/cjs/components/Groups/Editing/GroupAction.js +7 -9
  30. package/lib/cjs/components/Groups/Editing/GroupAction.js.map +1 -1
  31. package/lib/cjs/components/Groups/Editing/GroupDetails.d.ts +1 -1
  32. package/lib/cjs/components/Groups/Editing/GroupDetails.js +5 -7
  33. package/lib/cjs/components/Groups/Editing/GroupDetails.js.map +1 -1
  34. package/lib/cjs/components/Groups/Editing/GroupDetailsActionPanel.d.ts +1 -1
  35. package/lib/cjs/components/Groups/Editing/GroupDetailsActionPanel.js +4 -4
  36. package/lib/cjs/components/Groups/Editing/GroupDetailsActionPanel.js.map +1 -1
  37. package/lib/cjs/components/Groups/Editing/GroupDetailsStep.js +4 -4
  38. package/lib/cjs/components/Groups/Editing/GroupDetailsStep.js.map +1 -1
  39. package/lib/cjs/components/Groups/GroupColorLegend.js +3 -3
  40. package/lib/cjs/components/Groups/GroupColorLegend.js.map +1 -1
  41. package/lib/cjs/components/Groups/GroupListItem.js +3 -4
  42. package/lib/cjs/components/Groups/GroupListItem.js.map +1 -1
  43. package/lib/cjs/components/Groups/GroupListItem.scss +2 -2
  44. package/lib/cjs/components/Groups/GroupMenuActions.js +17 -6
  45. package/lib/cjs/components/Groups/GroupMenuActions.js.map +1 -1
  46. package/lib/cjs/components/Groups/GroupOverlapProgressBar.js.map +1 -1
  47. package/lib/cjs/components/Groups/Groups.js +3 -3
  48. package/lib/cjs/components/Groups/Groups.js.map +1 -1
  49. package/lib/cjs/components/Groups/GroupsAddButton.d.ts +1 -1
  50. package/lib/cjs/components/Groups/GroupsAddButton.js +4 -4
  51. package/lib/cjs/components/Groups/GroupsAddButton.js.map +1 -1
  52. package/lib/cjs/components/Groups/GroupsAddButton.scss +1 -1
  53. package/lib/cjs/components/Groups/GroupsShowHideButtons.d.ts +1 -1
  54. package/lib/cjs/components/Groups/GroupsShowHideButtons.js +2 -2
  55. package/lib/cjs/components/Groups/GroupsShowHideButtons.js.map +1 -1
  56. package/lib/cjs/components/Groups/GroupsView.js +8 -10
  57. package/lib/cjs/components/Groups/GroupsView.js.map +1 -1
  58. package/lib/cjs/components/Groups/GroupsView.scss +1 -1
  59. package/lib/cjs/components/Groups/GroupsVisualization.js +19 -20
  60. package/lib/cjs/components/Groups/GroupsVisualization.js.map +1 -1
  61. package/lib/cjs/components/Groups/GroupsVisualizationActions.js +4 -4
  62. package/lib/cjs/components/Groups/GroupsVisualizationActions.js.map +1 -1
  63. package/lib/cjs/components/Groups/OverlappedElementsInformationPanel.d.ts +1 -1
  64. package/lib/cjs/components/Groups/OverlappedElementsInformationPanel.js +4 -4
  65. package/lib/cjs/components/Groups/OverlappedElementsInformationPanel.js.map +1 -1
  66. package/lib/cjs/components/Groups/OverlappedElementsInformationPanel.scss +7 -7
  67. package/lib/cjs/components/Groups/QueryBuilder/QueryBuilder.js +13 -35
  68. package/lib/cjs/components/Groups/QueryBuilder/QueryBuilder.js.map +1 -1
  69. package/lib/cjs/components/Groups/QueryBuilder/QueryBuilderActionPanel.js +4 -4
  70. package/lib/cjs/components/Groups/QueryBuilder/QueryBuilderActionPanel.js.map +1 -1
  71. package/lib/cjs/components/Groups/QueryBuilder/QueryBuilderCustomUI.d.ts +1 -1
  72. package/lib/cjs/components/Groups/QueryBuilder/QueryBuilderCustomUI.js +4 -4
  73. package/lib/cjs/components/Groups/QueryBuilder/QueryBuilderCustomUI.js.map +1 -1
  74. package/lib/cjs/components/Groups/QueryBuilder/QueryBuilderStep.js +4 -4
  75. package/lib/cjs/components/Groups/QueryBuilder/QueryBuilderStep.js.map +1 -1
  76. package/lib/cjs/components/Groups/ToggleGroupVisibility.js +3 -3
  77. package/lib/cjs/components/Groups/ToggleGroupVisibility.js.map +1 -1
  78. package/lib/cjs/components/Groups/groupsHelpers.js +8 -4
  79. package/lib/cjs/components/Groups/groupsHelpers.js.map +1 -1
  80. package/lib/cjs/components/Groups/hooks/useFetchGroups.js.map +1 -1
  81. package/lib/cjs/components/Groups/hooks/useGroupsOperations.d.ts +1 -1
  82. package/lib/cjs/components/Groups/hooks/useGroupsOperations.js +5 -5
  83. package/lib/cjs/components/Groups/hooks/useGroupsOperations.js.map +1 -1
  84. package/lib/cjs/components/Groups/hooks/useKeySetHiliteQueries.js.map +1 -1
  85. package/lib/cjs/components/Groups/hooks/useVisualization.js +2 -4
  86. package/lib/cjs/components/Groups/hooks/useVisualization.js.map +1 -1
  87. package/lib/cjs/components/Mappings/BlockingOverlay.js +3 -3
  88. package/lib/cjs/components/Mappings/BlockingOverlay.js.map +1 -1
  89. package/lib/cjs/components/Mappings/Editing/MappingAction.js +11 -15
  90. package/lib/cjs/components/Mappings/Editing/MappingAction.js.map +1 -1
  91. package/lib/cjs/components/Mappings/Extraction/ExtractionLogCustomFilter.d.ts +1 -1
  92. package/lib/cjs/components/Mappings/Extraction/ExtractionLogCustomFilter.js +1 -1
  93. package/lib/cjs/components/Mappings/Extraction/ExtractionLogCustomFilter.js.map +1 -1
  94. package/lib/cjs/components/Mappings/Extraction/ExtractionMessageModal.js +9 -6
  95. package/lib/cjs/components/Mappings/Extraction/ExtractionMessageModal.js.map +1 -1
  96. package/lib/cjs/components/Mappings/Extraction/ExtractionStates/QueuedExtractionState.js +3 -3
  97. package/lib/cjs/components/Mappings/Extraction/ExtractionStates/QueuedExtractionState.js.map +1 -1
  98. package/lib/cjs/components/Mappings/Extraction/ExtractionStates/RunningExtractionState.js +3 -3
  99. package/lib/cjs/components/Mappings/Extraction/ExtractionStates/RunningExtractionState.js.map +1 -1
  100. package/lib/cjs/components/Mappings/Extraction/ExtractionStates/StartingExtractionState.js +3 -3
  101. package/lib/cjs/components/Mappings/Extraction/ExtractionStates/StartingExtractionState.js.map +1 -1
  102. package/lib/cjs/components/Mappings/Extraction/ExtractionStates/TerminalExtractionState.js +3 -3
  103. package/lib/cjs/components/Mappings/Extraction/ExtractionStates/TerminalExtractionState.js.map +1 -1
  104. package/lib/cjs/components/Mappings/Extraction/ExtractionStatus.d.ts +1 -1
  105. package/lib/cjs/components/Mappings/Extraction/ExtractionStatus.js +9 -9
  106. package/lib/cjs/components/Mappings/Extraction/ExtractionStatus.js.map +1 -1
  107. package/lib/cjs/components/Mappings/Extraction/ExtractionStatusIcon.js +4 -4
  108. package/lib/cjs/components/Mappings/Extraction/ExtractionStatusIcon.js.map +1 -1
  109. package/lib/cjs/components/Mappings/Import/ConfirmMappingsImport.js +26 -30
  110. package/lib/cjs/components/Mappings/Import/ConfirmMappingsImport.js.map +1 -1
  111. package/lib/cjs/components/Mappings/Import/MappingImportWizardModal.d.ts +1 -1
  112. package/lib/cjs/components/Mappings/Import/MappingImportWizardModal.js +3 -3
  113. package/lib/cjs/components/Mappings/Import/MappingImportWizardModal.js.map +1 -1
  114. package/lib/cjs/components/Mappings/Import/SelectIModel.d.ts +1 -1
  115. package/lib/cjs/components/Mappings/Import/SelectIModel.js +5 -5
  116. package/lib/cjs/components/Mappings/Import/SelectIModel.js.map +1 -1
  117. package/lib/cjs/components/Mappings/Import/SelectITwin.js +2 -2
  118. package/lib/cjs/components/Mappings/Import/SelectITwin.js.map +1 -1
  119. package/lib/cjs/components/Mappings/Import/SelectITwin.scss +1 -1
  120. package/lib/cjs/components/Mappings/Import/SelectMappings.d.ts +1 -1
  121. package/lib/cjs/components/Mappings/Import/SelectMappings.js +7 -7
  122. package/lib/cjs/components/Mappings/Import/SelectMappings.js.map +1 -1
  123. package/lib/cjs/components/Mappings/MappingListItem.js.map +1 -1
  124. package/lib/cjs/components/Mappings/MappingViewActionGroup.d.ts +1 -1
  125. package/lib/cjs/components/Mappings/MappingViewActionGroup.js +6 -6
  126. package/lib/cjs/components/Mappings/MappingViewActionGroup.js.map +1 -1
  127. package/lib/cjs/components/Mappings/Mappings.js +3 -3
  128. package/lib/cjs/components/Mappings/Mappings.js.map +1 -1
  129. package/lib/cjs/components/Mappings/MappingsView.js +13 -15
  130. package/lib/cjs/components/Mappings/MappingsView.js.map +1 -1
  131. package/lib/cjs/components/Mappings/hooks/useFetchExtractionStatus.js +3 -1
  132. package/lib/cjs/components/Mappings/hooks/useFetchExtractionStatus.js.map +1 -1
  133. package/lib/cjs/components/Mappings/hooks/useFetchMappingExtractionStatus.d.ts +1 -1
  134. package/lib/cjs/components/Mappings/hooks/useFetchMappingExtractionStatus.js +3 -3
  135. package/lib/cjs/components/Mappings/hooks/useFetchMappingExtractionStatus.js.map +1 -1
  136. package/lib/cjs/components/Mappings/hooks/useFetchMappings.js +1 -1
  137. package/lib/cjs/components/Mappings/hooks/useFetchMappings.js.map +1 -1
  138. package/lib/cjs/components/Mappings/hooks/useMappingsOperations.js +36 -18
  139. package/lib/cjs/components/Mappings/hooks/useMappingsOperations.js.map +1 -1
  140. package/lib/cjs/components/Mappings/hooks/useRunExtraction.d.ts +1 -1
  141. package/lib/cjs/components/Mappings/hooks/useRunExtraction.js +8 -6
  142. package/lib/cjs/components/Mappings/hooks/useRunExtraction.js.map +1 -1
  143. package/lib/cjs/components/Properties/CalculatedProperties/CalculatedPropertyAction.d.ts +1 -1
  144. package/lib/cjs/components/Properties/CalculatedProperties/CalculatedPropertyAction.js +8 -8
  145. package/lib/cjs/components/Properties/CalculatedProperties/CalculatedPropertyAction.js.map +1 -1
  146. package/lib/cjs/components/Properties/CalculatedProperties/CalculatedPropertyActionWithVisuals.js +11 -13
  147. package/lib/cjs/components/Properties/CalculatedProperties/CalculatedPropertyActionWithVisuals.js.map +1 -1
  148. package/lib/cjs/components/Properties/CalculatedProperties/CalculatedPropertyTable.js +1 -1
  149. package/lib/cjs/components/Properties/CalculatedProperties/CalculatedPropertyTable.js.map +1 -1
  150. package/lib/cjs/components/Properties/CalculatedProperties/SharedCalculatedPropertyForms.js +4 -6
  151. package/lib/cjs/components/Properties/CalculatedProperties/SharedCalculatedPropertyForms.js.map +1 -1
  152. package/lib/cjs/components/Properties/CustomCalculations/CustomCalculationAction.d.ts +1 -1
  153. package/lib/cjs/components/Properties/CustomCalculations/CustomCalculationAction.js +27 -21
  154. package/lib/cjs/components/Properties/CustomCalculations/CustomCalculationAction.js.map +1 -1
  155. package/lib/cjs/components/Properties/CustomCalculations/CustomCalculationAction.scss +1 -1
  156. package/lib/cjs/components/Properties/CustomCalculations/CustomCalculationTable.js +15 -11
  157. package/lib/cjs/components/Properties/CustomCalculations/CustomCalculationTable.js.map +1 -1
  158. package/lib/cjs/components/Properties/GroupColorToggle.js +4 -4
  159. package/lib/cjs/components/Properties/GroupColorToggle.js.map +1 -1
  160. package/lib/cjs/components/Properties/GroupInformationPanel.js +3 -3
  161. package/lib/cjs/components/Properties/GroupInformationPanel.js.map +1 -1
  162. package/lib/cjs/components/Properties/GroupProperties/GroupPropertyAction.d.ts +1 -1
  163. package/lib/cjs/components/Properties/GroupProperties/GroupPropertyAction.js +20 -27
  164. package/lib/cjs/components/Properties/GroupProperties/GroupPropertyAction.js.map +1 -1
  165. package/lib/cjs/components/Properties/GroupProperties/GroupPropertyListItem.d.ts +1 -1
  166. package/lib/cjs/components/Properties/GroupProperties/GroupPropertyListItem.js +5 -5
  167. package/lib/cjs/components/Properties/GroupProperties/GroupPropertyListItem.js.map +1 -1
  168. package/lib/cjs/components/Properties/GroupProperties/GroupPropertyTable.d.ts +1 -1
  169. package/lib/cjs/components/Properties/GroupProperties/GroupPropertyTable.js +14 -12
  170. package/lib/cjs/components/Properties/GroupProperties/GroupPropertyTable.js.map +1 -1
  171. package/lib/cjs/components/Properties/GroupProperties/GroupPropertyUtils.js +20 -39
  172. package/lib/cjs/components/Properties/GroupProperties/GroupPropertyUtils.js.map +1 -1
  173. package/lib/cjs/components/Properties/GroupProperties/GroupsPropertiesSelectionModal.js +20 -29
  174. package/lib/cjs/components/Properties/GroupProperties/GroupsPropertiesSelectionModal.js.map +1 -1
  175. package/lib/cjs/components/Properties/GroupProperties/SaveModal.d.ts +1 -1
  176. package/lib/cjs/components/Properties/GroupProperties/SaveModal.js +7 -7
  177. package/lib/cjs/components/Properties/GroupProperties/SaveModal.js.map +1 -1
  178. package/lib/cjs/components/Properties/GroupProperties/SortableHorizontalTile.js +4 -4
  179. package/lib/cjs/components/Properties/GroupProperties/SortableHorizontalTile.js.map +1 -1
  180. package/lib/cjs/components/Properties/PropertyAction.js +9 -21
  181. package/lib/cjs/components/Properties/PropertyAction.js.map +1 -1
  182. package/lib/cjs/components/Properties/PropertyMenu.js +4 -4
  183. package/lib/cjs/components/Properties/PropertyMenu.js.map +1 -1
  184. package/lib/cjs/components/Properties/PropertyMenuWithVisualization.js +5 -5
  185. package/lib/cjs/components/Properties/PropertyMenuWithVisualization.js.map +1 -1
  186. package/lib/cjs/components/Properties/PropertyNameCell.d.ts +1 -1
  187. package/lib/cjs/components/Properties/PropertyNameCell.js +4 -4
  188. package/lib/cjs/components/Properties/PropertyNameCell.js.map +1 -1
  189. package/lib/cjs/components/Properties/PropertyTable.js +5 -6
  190. package/lib/cjs/components/Properties/PropertyTable.js.map +1 -1
  191. package/lib/cjs/components/Properties/PropertyTableToolbar.d.ts +1 -1
  192. package/lib/cjs/components/Properties/PropertyTableToolbar.js +4 -4
  193. package/lib/cjs/components/Properties/PropertyTableToolbar.js.map +1 -1
  194. package/lib/cjs/components/Properties/hooks/useFormulaValidation.js +3 -3
  195. package/lib/cjs/components/Properties/hooks/useFormulaValidation.js.map +1 -1
  196. package/lib/cjs/components/Properties/hooks/usePropertiesQuery.js.map +1 -1
  197. package/lib/cjs/components/Properties/hooks/useValidator.js +4 -4
  198. package/lib/cjs/components/Properties/hooks/useValidator.js.map +1 -1
  199. package/lib/cjs/components/SharedComponents/ActionPanel.d.ts +1 -1
  200. package/lib/cjs/components/SharedComponents/ActionPanel.js +9 -10
  201. package/lib/cjs/components/SharedComponents/ActionPanel.js.map +1 -1
  202. package/lib/cjs/components/SharedComponents/DeleteModal.d.ts +1 -1
  203. package/lib/cjs/components/SharedComponents/DeleteModal.js +9 -10
  204. package/lib/cjs/components/SharedComponents/DeleteModal.js.map +1 -1
  205. package/lib/cjs/components/SharedComponents/EmptyMessage.js +4 -4
  206. package/lib/cjs/components/SharedComponents/EmptyMessage.js.map +1 -1
  207. package/lib/cjs/components/SharedComponents/LoadingOverlay.js +4 -4
  208. package/lib/cjs/components/SharedComponents/LoadingOverlay.js.map +1 -1
  209. package/lib/cjs/components/SharedComponents/LoadingSpinner.js +3 -3
  210. package/lib/cjs/components/SharedComponents/LoadingSpinner.js.map +1 -1
  211. package/lib/cjs/components/SharedComponents/StatusIcon.js +3 -3
  212. package/lib/cjs/components/SharedComponents/StatusIcon.js.map +1 -1
  213. package/lib/cjs/components/context/ExtractionClientContext.js.map +1 -1
  214. package/lib/cjs/components/context/ExtractionStateJobContext.js +3 -3
  215. package/lib/cjs/components/context/ExtractionStateJobContext.js.map +1 -1
  216. package/lib/cjs/components/context/GroupHilitedElementsContext.js +3 -3
  217. package/lib/cjs/components/context/GroupHilitedElementsContext.js.map +1 -1
  218. package/lib/cjs/components/context/GroupingApiConfigContext.js.map +1 -1
  219. package/lib/cjs/components/context/GroupingMappingCustomUIContext.js +3 -3
  220. package/lib/cjs/components/context/GroupingMappingCustomUIContext.js.map +1 -1
  221. package/lib/cjs/components/context/GroupsClientContext.js.map +1 -1
  222. package/lib/cjs/components/context/IModelsClientContext.js.map +1 -1
  223. package/lib/cjs/components/context/ITwinsClientContext.js +3 -3
  224. package/lib/cjs/components/context/ITwinsClientContext.js.map +1 -1
  225. package/lib/cjs/components/context/MappingClientContext.js.map +1 -1
  226. package/lib/cjs/components/context/PropertiesClientContext.js.map +1 -1
  227. package/lib/cjs/components/context/PropertiesGroupColorContext.js +3 -3
  228. package/lib/cjs/components/context/PropertiesGroupColorContext.js.map +1 -1
  229. package/lib/cjs/components/context/PropertyGridWrapperContext.js +3 -3
  230. package/lib/cjs/components/context/PropertyGridWrapperContext.js.map +1 -1
  231. package/lib/cjs/components/customUI/DefaultGroupingUI.js +3 -3
  232. package/lib/cjs/components/customUI/DefaultGroupingUI.js.map +1 -1
  233. package/lib/cjs/components/customUI/GroupQueryBuilderCustomUI.d.ts +1 -1
  234. package/lib/cjs/components/customUI/GroupQueryBuilderCustomUI.js +13 -18
  235. package/lib/cjs/components/customUI/GroupQueryBuilderCustomUI.js.map +1 -1
  236. package/lib/cjs/components/customUI/GroupingMappingCustomUI.js.map +1 -1
  237. package/lib/cjs/components/customUI/ManualGroupingCustomUI.d.ts +1 -1
  238. package/lib/cjs/components/customUI/ManualGroupingCustomUI.js +8 -8
  239. package/lib/cjs/components/customUI/ManualGroupingCustomUI.js.map +1 -1
  240. package/lib/cjs/components/customUI/SearchGroupingCustomUI.d.ts +1 -1
  241. package/lib/cjs/components/customUI/SearchGroupingCustomUI.js +16 -45
  242. package/lib/cjs/components/customUI/SearchGroupingCustomUI.js.map +1 -1
  243. package/lib/cjs/decorators/BboxDimensionsDecorator.js +3 -10
  244. package/lib/cjs/decorators/BboxDimensionsDecorator.js.map +1 -1
  245. package/lib/cjs/formula/FormulaDataTypeResolver.js +3 -3
  246. package/lib/cjs/formula/FormulaDataTypeResolver.js.map +1 -1
  247. package/lib/cjs/formula/FormulaFunctionProvider.js +146 -65
  248. package/lib/cjs/formula/FormulaFunctionProvider.js.map +1 -1
  249. package/lib/cjs/formula/FormulaOperatorsProvider.js +138 -44
  250. package/lib/cjs/formula/FormulaOperatorsProvider.js.map +1 -1
  251. package/lib/cjs/formula/FormulaSplitter.js +63 -13
  252. package/lib/cjs/formula/FormulaSplitter.js.map +1 -1
  253. package/lib/cjs/formula/FormulaTokensDataTypeResolver.js +7 -14
  254. package/lib/cjs/formula/FormulaTokensDataTypeResolver.js.map +1 -1
  255. package/lib/cjs/formula/IResult.js.map +1 -1
  256. package/lib/cjs/formula/InfixToPostfixConverter.js +4 -4
  257. package/lib/cjs/formula/InfixToPostfixConverter.js.map +1 -1
  258. package/lib/cjs/formula/InputStream.js +3 -3
  259. package/lib/cjs/formula/InputStream.js.map +1 -1
  260. package/lib/cjs/formula/ParenthesisValidator.js +3 -3
  261. package/lib/cjs/formula/ParenthesisValidator.js.map +1 -1
  262. package/lib/cjs/formula/Queue.js +3 -3
  263. package/lib/cjs/formula/Queue.js.map +1 -1
  264. package/lib/cjs/formula/Stack.js +3 -3
  265. package/lib/cjs/formula/Stack.js.map +1 -1
  266. package/lib/cjs/formula/StringBuilder.js +3 -3
  267. package/lib/cjs/formula/StringBuilder.js.map +1 -1
  268. package/lib/cjs/formula/Types.js.map +1 -1
  269. package/lib/cjs/formula/Utils.js +4 -4
  270. package/lib/cjs/formula/Utils.js.map +1 -1
  271. package/lib/cjs/grouping-mapping-widget.d.ts +4 -4
  272. package/lib/cjs/grouping-mapping-widget.js +3 -3
  273. package/lib/cjs/grouping-mapping-widget.js.map +1 -1
  274. package/lib/cjs/test/GroupPropertyUtils.test.js +27 -26
  275. package/lib/cjs/test/GroupPropertyUtils.test.js.map +1 -1
  276. package/lib/cjs/test/GroupingMappingCustomUI.test.js +4 -6
  277. package/lib/cjs/test/GroupingMappingCustomUI.test.js.map +1 -1
  278. package/lib/cjs/test/MockFactory.js +3 -3
  279. package/lib/cjs/test/MockFactory.js.map +1 -1
  280. package/lib/cjs/test/PropertyFieldsHelpers.js +3 -3
  281. package/lib/cjs/test/PropertyFieldsHelpers.js.map +1 -1
  282. package/lib/cjs/test/QueryBuilder.test.js +3 -3
  283. package/lib/cjs/test/QueryBuilder.test.js.map +1 -1
  284. package/lib/cjs/test/QueryBuilder.testdata.js +3 -3
  285. package/lib/cjs/test/QueryBuilder.testdata.js.map +1 -1
  286. package/lib/cjs/test/QueryBuilderTestData.js.map +1 -1
  287. package/lib/cjs/test/WidgetHeader.test.js +3 -3
  288. package/lib/cjs/test/WidgetHeader.test.js.map +1 -1
  289. package/lib/cjs/test/test-utils.js +4 -4
  290. package/lib/cjs/test/test-utils.js.map +1 -1
  291. package/lib/esm/WidgetShell/GroupingMapping.js +3 -5
  292. package/lib/esm/WidgetShell/GroupingMapping.js.map +1 -1
  293. package/lib/esm/WidgetShell/GroupingMappingContent.js +4 -4
  294. package/lib/esm/WidgetShell/GroupingMappingContent.js.map +1 -1
  295. package/lib/esm/WidgetShell/GroupingMappingHeader.d.ts +1 -1
  296. package/lib/esm/WidgetShell/GroupingMappingHeader.js +5 -5
  297. package/lib/esm/WidgetShell/GroupingMappingHeader.js.map +1 -1
  298. package/lib/esm/WidgetShell/GroupingMappingWidget.js +2 -4
  299. package/lib/esm/WidgetShell/GroupingMappingWidget.js.map +1 -1
  300. package/lib/esm/WidgetShell/Router/GroupingMappingRouter.js +28 -8
  301. package/lib/esm/WidgetShell/Router/GroupingMappingRouter.js.map +1 -1
  302. package/lib/esm/WidgetShell/WidgetHeader/WidgetHeader.d.ts +1 -1
  303. package/lib/esm/WidgetShell/WidgetHeader/WidgetHeader.js +7 -7
  304. package/lib/esm/WidgetShell/WidgetHeader/WidgetHeader.js.map +1 -1
  305. package/lib/esm/common/hooks/useIsMounted.js +3 -3
  306. package/lib/esm/common/hooks/useIsMounted.js.map +1 -1
  307. package/lib/esm/common/hooks/useMemoizedCollectionPick.js +3 -3
  308. package/lib/esm/common/hooks/useMemoizedCollectionPick.js.map +1 -1
  309. package/lib/esm/common/utils.js +3 -3
  310. package/lib/esm/common/utils.js.map +1 -1
  311. package/lib/esm/common/viewerUtils.js +2 -2
  312. package/lib/esm/common/viewerUtils.js.map +1 -1
  313. package/lib/esm/components/Constants.js +4 -4
  314. package/lib/esm/components/Constants.js.map +1 -1
  315. package/lib/esm/components/GroupingMappingContext.js +14 -5
  316. package/lib/esm/components/GroupingMappingContext.js.map +1 -1
  317. package/lib/esm/components/Groups/Editing/GroupAction.js +8 -10
  318. package/lib/esm/components/Groups/Editing/GroupAction.js.map +1 -1
  319. package/lib/esm/components/Groups/Editing/GroupDetails.d.ts +1 -1
  320. package/lib/esm/components/Groups/Editing/GroupDetails.js +5 -7
  321. package/lib/esm/components/Groups/Editing/GroupDetails.js.map +1 -1
  322. package/lib/esm/components/Groups/Editing/GroupDetailsActionPanel.d.ts +1 -1
  323. package/lib/esm/components/Groups/Editing/GroupDetailsActionPanel.js +4 -4
  324. package/lib/esm/components/Groups/Editing/GroupDetailsActionPanel.js.map +1 -1
  325. package/lib/esm/components/Groups/Editing/GroupDetailsStep.js +4 -4
  326. package/lib/esm/components/Groups/Editing/GroupDetailsStep.js.map +1 -1
  327. package/lib/esm/components/Groups/GroupColorLegend.js +3 -3
  328. package/lib/esm/components/Groups/GroupColorLegend.js.map +1 -1
  329. package/lib/esm/components/Groups/GroupListItem.js +3 -4
  330. package/lib/esm/components/Groups/GroupListItem.js.map +1 -1
  331. package/lib/esm/components/Groups/GroupListItem.scss +2 -2
  332. package/lib/esm/components/Groups/GroupMenuActions.js +17 -6
  333. package/lib/esm/components/Groups/GroupMenuActions.js.map +1 -1
  334. package/lib/esm/components/Groups/GroupOverlapProgressBar.js.map +1 -1
  335. package/lib/esm/components/Groups/Groups.js +3 -3
  336. package/lib/esm/components/Groups/Groups.js.map +1 -1
  337. package/lib/esm/components/Groups/GroupsAddButton.d.ts +1 -1
  338. package/lib/esm/components/Groups/GroupsAddButton.js +4 -4
  339. package/lib/esm/components/Groups/GroupsAddButton.js.map +1 -1
  340. package/lib/esm/components/Groups/GroupsAddButton.scss +1 -1
  341. package/lib/esm/components/Groups/GroupsShowHideButtons.d.ts +1 -1
  342. package/lib/esm/components/Groups/GroupsShowHideButtons.js +2 -2
  343. package/lib/esm/components/Groups/GroupsShowHideButtons.js.map +1 -1
  344. package/lib/esm/components/Groups/GroupsView.js +10 -12
  345. package/lib/esm/components/Groups/GroupsView.js.map +1 -1
  346. package/lib/esm/components/Groups/GroupsView.scss +1 -1
  347. package/lib/esm/components/Groups/GroupsVisualization.js +21 -22
  348. package/lib/esm/components/Groups/GroupsVisualization.js.map +1 -1
  349. package/lib/esm/components/Groups/GroupsVisualizationActions.js +4 -4
  350. package/lib/esm/components/Groups/GroupsVisualizationActions.js.map +1 -1
  351. package/lib/esm/components/Groups/OverlappedElementsInformationPanel.d.ts +1 -1
  352. package/lib/esm/components/Groups/OverlappedElementsInformationPanel.js +5 -5
  353. package/lib/esm/components/Groups/OverlappedElementsInformationPanel.js.map +1 -1
  354. package/lib/esm/components/Groups/OverlappedElementsInformationPanel.scss +7 -7
  355. package/lib/esm/components/Groups/QueryBuilder/QueryBuilder.js +13 -35
  356. package/lib/esm/components/Groups/QueryBuilder/QueryBuilder.js.map +1 -1
  357. package/lib/esm/components/Groups/QueryBuilder/QueryBuilderActionPanel.js +4 -4
  358. package/lib/esm/components/Groups/QueryBuilder/QueryBuilderActionPanel.js.map +1 -1
  359. package/lib/esm/components/Groups/QueryBuilder/QueryBuilderCustomUI.d.ts +1 -1
  360. package/lib/esm/components/Groups/QueryBuilder/QueryBuilderCustomUI.js +4 -4
  361. package/lib/esm/components/Groups/QueryBuilder/QueryBuilderCustomUI.js.map +1 -1
  362. package/lib/esm/components/Groups/QueryBuilder/QueryBuilderStep.js +4 -4
  363. package/lib/esm/components/Groups/QueryBuilder/QueryBuilderStep.js.map +1 -1
  364. package/lib/esm/components/Groups/ToggleGroupVisibility.js +3 -3
  365. package/lib/esm/components/Groups/ToggleGroupVisibility.js.map +1 -1
  366. package/lib/esm/components/Groups/groupsHelpers.js +9 -5
  367. package/lib/esm/components/Groups/groupsHelpers.js.map +1 -1
  368. package/lib/esm/components/Groups/hooks/useFetchGroups.js.map +1 -1
  369. package/lib/esm/components/Groups/hooks/useGroupsOperations.d.ts +1 -1
  370. package/lib/esm/components/Groups/hooks/useGroupsOperations.js +5 -5
  371. package/lib/esm/components/Groups/hooks/useGroupsOperations.js.map +1 -1
  372. package/lib/esm/components/Groups/hooks/useKeySetHiliteQueries.js.map +1 -1
  373. package/lib/esm/components/Groups/hooks/useVisualization.js +3 -5
  374. package/lib/esm/components/Groups/hooks/useVisualization.js.map +1 -1
  375. package/lib/esm/components/Mappings/BlockingOverlay.js +3 -3
  376. package/lib/esm/components/Mappings/BlockingOverlay.js.map +1 -1
  377. package/lib/esm/components/Mappings/Editing/MappingAction.js +11 -15
  378. package/lib/esm/components/Mappings/Editing/MappingAction.js.map +1 -1
  379. package/lib/esm/components/Mappings/Extraction/ExtractionLogCustomFilter.d.ts +1 -1
  380. package/lib/esm/components/Mappings/Extraction/ExtractionLogCustomFilter.js +1 -1
  381. package/lib/esm/components/Mappings/Extraction/ExtractionLogCustomFilter.js.map +1 -1
  382. package/lib/esm/components/Mappings/Extraction/ExtractionMessageModal.js +9 -6
  383. package/lib/esm/components/Mappings/Extraction/ExtractionMessageModal.js.map +1 -1
  384. package/lib/esm/components/Mappings/Extraction/ExtractionStates/QueuedExtractionState.js +3 -3
  385. package/lib/esm/components/Mappings/Extraction/ExtractionStates/QueuedExtractionState.js.map +1 -1
  386. package/lib/esm/components/Mappings/Extraction/ExtractionStates/RunningExtractionState.js +3 -3
  387. package/lib/esm/components/Mappings/Extraction/ExtractionStates/RunningExtractionState.js.map +1 -1
  388. package/lib/esm/components/Mappings/Extraction/ExtractionStates/StartingExtractionState.js +3 -3
  389. package/lib/esm/components/Mappings/Extraction/ExtractionStates/StartingExtractionState.js.map +1 -1
  390. package/lib/esm/components/Mappings/Extraction/ExtractionStates/TerminalExtractionState.js +3 -3
  391. package/lib/esm/components/Mappings/Extraction/ExtractionStates/TerminalExtractionState.js.map +1 -1
  392. package/lib/esm/components/Mappings/Extraction/ExtractionStatus.d.ts +1 -1
  393. package/lib/esm/components/Mappings/Extraction/ExtractionStatus.js +9 -9
  394. package/lib/esm/components/Mappings/Extraction/ExtractionStatus.js.map +1 -1
  395. package/lib/esm/components/Mappings/Extraction/ExtractionStatusIcon.js +4 -4
  396. package/lib/esm/components/Mappings/Extraction/ExtractionStatusIcon.js.map +1 -1
  397. package/lib/esm/components/Mappings/Import/ConfirmMappingsImport.js +27 -31
  398. package/lib/esm/components/Mappings/Import/ConfirmMappingsImport.js.map +1 -1
  399. package/lib/esm/components/Mappings/Import/MappingImportWizardModal.d.ts +1 -1
  400. package/lib/esm/components/Mappings/Import/MappingImportWizardModal.js +3 -3
  401. package/lib/esm/components/Mappings/Import/MappingImportWizardModal.js.map +1 -1
  402. package/lib/esm/components/Mappings/Import/SelectIModel.d.ts +1 -1
  403. package/lib/esm/components/Mappings/Import/SelectIModel.js +5 -5
  404. package/lib/esm/components/Mappings/Import/SelectIModel.js.map +1 -1
  405. package/lib/esm/components/Mappings/Import/SelectITwin.js +2 -2
  406. package/lib/esm/components/Mappings/Import/SelectITwin.js.map +1 -1
  407. package/lib/esm/components/Mappings/Import/SelectITwin.scss +1 -1
  408. package/lib/esm/components/Mappings/Import/SelectMappings.d.ts +1 -1
  409. package/lib/esm/components/Mappings/Import/SelectMappings.js +8 -8
  410. package/lib/esm/components/Mappings/Import/SelectMappings.js.map +1 -1
  411. package/lib/esm/components/Mappings/MappingListItem.js.map +1 -1
  412. package/lib/esm/components/Mappings/MappingViewActionGroup.d.ts +1 -1
  413. package/lib/esm/components/Mappings/MappingViewActionGroup.js +8 -8
  414. package/lib/esm/components/Mappings/MappingViewActionGroup.js.map +1 -1
  415. package/lib/esm/components/Mappings/Mappings.js +3 -3
  416. package/lib/esm/components/Mappings/Mappings.js.map +1 -1
  417. package/lib/esm/components/Mappings/MappingsView.js +15 -17
  418. package/lib/esm/components/Mappings/MappingsView.js.map +1 -1
  419. package/lib/esm/components/Mappings/hooks/useFetchExtractionStatus.js +3 -1
  420. package/lib/esm/components/Mappings/hooks/useFetchExtractionStatus.js.map +1 -1
  421. package/lib/esm/components/Mappings/hooks/useFetchMappingExtractionStatus.d.ts +1 -1
  422. package/lib/esm/components/Mappings/hooks/useFetchMappingExtractionStatus.js +3 -3
  423. package/lib/esm/components/Mappings/hooks/useFetchMappingExtractionStatus.js.map +1 -1
  424. package/lib/esm/components/Mappings/hooks/useFetchMappings.js +1 -1
  425. package/lib/esm/components/Mappings/hooks/useFetchMappings.js.map +1 -1
  426. package/lib/esm/components/Mappings/hooks/useMappingsOperations.js +36 -18
  427. package/lib/esm/components/Mappings/hooks/useMappingsOperations.js.map +1 -1
  428. package/lib/esm/components/Mappings/hooks/useRunExtraction.d.ts +1 -1
  429. package/lib/esm/components/Mappings/hooks/useRunExtraction.js +8 -6
  430. package/lib/esm/components/Mappings/hooks/useRunExtraction.js.map +1 -1
  431. package/lib/esm/components/Properties/CalculatedProperties/CalculatedPropertyAction.d.ts +1 -1
  432. package/lib/esm/components/Properties/CalculatedProperties/CalculatedPropertyAction.js +9 -9
  433. package/lib/esm/components/Properties/CalculatedProperties/CalculatedPropertyAction.js.map +1 -1
  434. package/lib/esm/components/Properties/CalculatedProperties/CalculatedPropertyActionWithVisuals.js +13 -15
  435. package/lib/esm/components/Properties/CalculatedProperties/CalculatedPropertyActionWithVisuals.js.map +1 -1
  436. package/lib/esm/components/Properties/CalculatedProperties/CalculatedPropertyTable.js +2 -2
  437. package/lib/esm/components/Properties/CalculatedProperties/CalculatedPropertyTable.js.map +1 -1
  438. package/lib/esm/components/Properties/CalculatedProperties/SharedCalculatedPropertyForms.js +5 -7
  439. package/lib/esm/components/Properties/CalculatedProperties/SharedCalculatedPropertyForms.js.map +1 -1
  440. package/lib/esm/components/Properties/CustomCalculations/CustomCalculationAction.d.ts +1 -1
  441. package/lib/esm/components/Properties/CustomCalculations/CustomCalculationAction.js +28 -22
  442. package/lib/esm/components/Properties/CustomCalculations/CustomCalculationAction.js.map +1 -1
  443. package/lib/esm/components/Properties/CustomCalculations/CustomCalculationAction.scss +1 -1
  444. package/lib/esm/components/Properties/CustomCalculations/CustomCalculationTable.js +17 -13
  445. package/lib/esm/components/Properties/CustomCalculations/CustomCalculationTable.js.map +1 -1
  446. package/lib/esm/components/Properties/GroupColorToggle.js +4 -4
  447. package/lib/esm/components/Properties/GroupColorToggle.js.map +1 -1
  448. package/lib/esm/components/Properties/GroupInformationPanel.js +3 -3
  449. package/lib/esm/components/Properties/GroupInformationPanel.js.map +1 -1
  450. package/lib/esm/components/Properties/GroupProperties/GroupPropertyAction.d.ts +1 -1
  451. package/lib/esm/components/Properties/GroupProperties/GroupPropertyAction.js +22 -29
  452. package/lib/esm/components/Properties/GroupProperties/GroupPropertyAction.js.map +1 -1
  453. package/lib/esm/components/Properties/GroupProperties/GroupPropertyListItem.d.ts +1 -1
  454. package/lib/esm/components/Properties/GroupProperties/GroupPropertyListItem.js +5 -5
  455. package/lib/esm/components/Properties/GroupProperties/GroupPropertyListItem.js.map +1 -1
  456. package/lib/esm/components/Properties/GroupProperties/GroupPropertyTable.d.ts +1 -1
  457. package/lib/esm/components/Properties/GroupProperties/GroupPropertyTable.js +16 -14
  458. package/lib/esm/components/Properties/GroupProperties/GroupPropertyTable.js.map +1 -1
  459. package/lib/esm/components/Properties/GroupProperties/GroupPropertyUtils.js +21 -40
  460. package/lib/esm/components/Properties/GroupProperties/GroupPropertyUtils.js.map +1 -1
  461. package/lib/esm/components/Properties/GroupProperties/GroupsPropertiesSelectionModal.js +26 -35
  462. package/lib/esm/components/Properties/GroupProperties/GroupsPropertiesSelectionModal.js.map +1 -1
  463. package/lib/esm/components/Properties/GroupProperties/SaveModal.d.ts +1 -1
  464. package/lib/esm/components/Properties/GroupProperties/SaveModal.js +8 -8
  465. package/lib/esm/components/Properties/GroupProperties/SaveModal.js.map +1 -1
  466. package/lib/esm/components/Properties/GroupProperties/SortableHorizontalTile.js +4 -4
  467. package/lib/esm/components/Properties/GroupProperties/SortableHorizontalTile.js.map +1 -1
  468. package/lib/esm/components/Properties/PropertyAction.js +9 -21
  469. package/lib/esm/components/Properties/PropertyAction.js.map +1 -1
  470. package/lib/esm/components/Properties/PropertyMenu.js +4 -4
  471. package/lib/esm/components/Properties/PropertyMenu.js.map +1 -1
  472. package/lib/esm/components/Properties/PropertyMenuWithVisualization.js +5 -5
  473. package/lib/esm/components/Properties/PropertyMenuWithVisualization.js.map +1 -1
  474. package/lib/esm/components/Properties/PropertyNameCell.d.ts +1 -1
  475. package/lib/esm/components/Properties/PropertyNameCell.js +4 -4
  476. package/lib/esm/components/Properties/PropertyNameCell.js.map +1 -1
  477. package/lib/esm/components/Properties/PropertyTable.js +5 -6
  478. package/lib/esm/components/Properties/PropertyTable.js.map +1 -1
  479. package/lib/esm/components/Properties/PropertyTableToolbar.d.ts +1 -1
  480. package/lib/esm/components/Properties/PropertyTableToolbar.js +4 -4
  481. package/lib/esm/components/Properties/PropertyTableToolbar.js.map +1 -1
  482. package/lib/esm/components/Properties/hooks/useFormulaValidation.js +3 -3
  483. package/lib/esm/components/Properties/hooks/useFormulaValidation.js.map +1 -1
  484. package/lib/esm/components/Properties/hooks/usePropertiesQuery.js.map +1 -1
  485. package/lib/esm/components/Properties/hooks/useValidator.js +4 -4
  486. package/lib/esm/components/Properties/hooks/useValidator.js.map +1 -1
  487. package/lib/esm/components/SharedComponents/ActionPanel.d.ts +1 -1
  488. package/lib/esm/components/SharedComponents/ActionPanel.js +9 -10
  489. package/lib/esm/components/SharedComponents/ActionPanel.js.map +1 -1
  490. package/lib/esm/components/SharedComponents/DeleteModal.d.ts +1 -1
  491. package/lib/esm/components/SharedComponents/DeleteModal.js +10 -11
  492. package/lib/esm/components/SharedComponents/DeleteModal.js.map +1 -1
  493. package/lib/esm/components/SharedComponents/EmptyMessage.js +4 -4
  494. package/lib/esm/components/SharedComponents/EmptyMessage.js.map +1 -1
  495. package/lib/esm/components/SharedComponents/LoadingOverlay.js +4 -4
  496. package/lib/esm/components/SharedComponents/LoadingOverlay.js.map +1 -1
  497. package/lib/esm/components/SharedComponents/LoadingSpinner.js +3 -3
  498. package/lib/esm/components/SharedComponents/LoadingSpinner.js.map +1 -1
  499. package/lib/esm/components/SharedComponents/StatusIcon.js +3 -3
  500. package/lib/esm/components/SharedComponents/StatusIcon.js.map +1 -1
  501. package/lib/esm/components/context/ExtractionClientContext.js.map +1 -1
  502. package/lib/esm/components/context/ExtractionStateJobContext.js +3 -3
  503. package/lib/esm/components/context/ExtractionStateJobContext.js.map +1 -1
  504. package/lib/esm/components/context/GroupHilitedElementsContext.js +3 -3
  505. package/lib/esm/components/context/GroupHilitedElementsContext.js.map +1 -1
  506. package/lib/esm/components/context/GroupingApiConfigContext.js.map +1 -1
  507. package/lib/esm/components/context/GroupingMappingCustomUIContext.js +3 -3
  508. package/lib/esm/components/context/GroupingMappingCustomUIContext.js.map +1 -1
  509. package/lib/esm/components/context/GroupsClientContext.js.map +1 -1
  510. package/lib/esm/components/context/IModelsClientContext.js.map +1 -1
  511. package/lib/esm/components/context/ITwinsClientContext.js +3 -3
  512. package/lib/esm/components/context/ITwinsClientContext.js.map +1 -1
  513. package/lib/esm/components/context/MappingClientContext.js.map +1 -1
  514. package/lib/esm/components/context/PropertiesClientContext.js.map +1 -1
  515. package/lib/esm/components/context/PropertiesGroupColorContext.js +3 -3
  516. package/lib/esm/components/context/PropertiesGroupColorContext.js.map +1 -1
  517. package/lib/esm/components/context/PropertyGridWrapperContext.js +3 -3
  518. package/lib/esm/components/context/PropertyGridWrapperContext.js.map +1 -1
  519. package/lib/esm/components/customUI/DefaultGroupingUI.js +3 -3
  520. package/lib/esm/components/customUI/DefaultGroupingUI.js.map +1 -1
  521. package/lib/esm/components/customUI/GroupQueryBuilderCustomUI.d.ts +1 -1
  522. package/lib/esm/components/customUI/GroupQueryBuilderCustomUI.js +14 -19
  523. package/lib/esm/components/customUI/GroupQueryBuilderCustomUI.js.map +1 -1
  524. package/lib/esm/components/customUI/GroupingMappingCustomUI.js.map +1 -1
  525. package/lib/esm/components/customUI/ManualGroupingCustomUI.d.ts +1 -1
  526. package/lib/esm/components/customUI/ManualGroupingCustomUI.js +8 -8
  527. package/lib/esm/components/customUI/ManualGroupingCustomUI.js.map +1 -1
  528. package/lib/esm/components/customUI/SearchGroupingCustomUI.d.ts +1 -1
  529. package/lib/esm/components/customUI/SearchGroupingCustomUI.js +16 -45
  530. package/lib/esm/components/customUI/SearchGroupingCustomUI.js.map +1 -1
  531. package/lib/esm/decorators/BboxDimensionsDecorator.js +5 -12
  532. package/lib/esm/decorators/BboxDimensionsDecorator.js.map +1 -1
  533. package/lib/esm/formula/FormulaDataTypeResolver.js +3 -3
  534. package/lib/esm/formula/FormulaDataTypeResolver.js.map +1 -1
  535. package/lib/esm/formula/FormulaFunctionProvider.js +146 -65
  536. package/lib/esm/formula/FormulaFunctionProvider.js.map +1 -1
  537. package/lib/esm/formula/FormulaOperatorsProvider.js +138 -44
  538. package/lib/esm/formula/FormulaOperatorsProvider.js.map +1 -1
  539. package/lib/esm/formula/FormulaSplitter.js +63 -13
  540. package/lib/esm/formula/FormulaSplitter.js.map +1 -1
  541. package/lib/esm/formula/FormulaTokensDataTypeResolver.js +7 -14
  542. package/lib/esm/formula/FormulaTokensDataTypeResolver.js.map +1 -1
  543. package/lib/esm/formula/IResult.js.map +1 -1
  544. package/lib/esm/formula/InfixToPostfixConverter.js +5 -5
  545. package/lib/esm/formula/InfixToPostfixConverter.js.map +1 -1
  546. package/lib/esm/formula/InputStream.js +3 -3
  547. package/lib/esm/formula/InputStream.js.map +1 -1
  548. package/lib/esm/formula/ParenthesisValidator.js +3 -3
  549. package/lib/esm/formula/ParenthesisValidator.js.map +1 -1
  550. package/lib/esm/formula/Queue.js +3 -3
  551. package/lib/esm/formula/Queue.js.map +1 -1
  552. package/lib/esm/formula/Stack.js +3 -3
  553. package/lib/esm/formula/Stack.js.map +1 -1
  554. package/lib/esm/formula/StringBuilder.js +3 -3
  555. package/lib/esm/formula/StringBuilder.js.map +1 -1
  556. package/lib/esm/formula/Types.js.map +1 -1
  557. package/lib/esm/formula/Utils.js +4 -4
  558. package/lib/esm/formula/Utils.js.map +1 -1
  559. package/lib/esm/grouping-mapping-widget.d.ts +4 -4
  560. package/lib/esm/grouping-mapping-widget.js +7 -7
  561. package/lib/esm/grouping-mapping-widget.js.map +1 -1
  562. package/lib/esm/test/GroupPropertyUtils.test.js +28 -27
  563. package/lib/esm/test/GroupPropertyUtils.test.js.map +1 -1
  564. package/lib/esm/test/GroupingMappingCustomUI.test.js +4 -6
  565. package/lib/esm/test/GroupingMappingCustomUI.test.js.map +1 -1
  566. package/lib/esm/test/MockFactory.js +3 -3
  567. package/lib/esm/test/MockFactory.js.map +1 -1
  568. package/lib/esm/test/PropertyFieldsHelpers.js +3 -3
  569. package/lib/esm/test/PropertyFieldsHelpers.js.map +1 -1
  570. package/lib/esm/test/QueryBuilder.test.js +3 -3
  571. package/lib/esm/test/QueryBuilder.test.js.map +1 -1
  572. package/lib/esm/test/QueryBuilder.testdata.js +3 -3
  573. package/lib/esm/test/QueryBuilder.testdata.js.map +1 -1
  574. package/lib/esm/test/QueryBuilderTestData.js.map +1 -1
  575. package/lib/esm/test/WidgetHeader.test.js +3 -3
  576. package/lib/esm/test/WidgetHeader.test.js.map +1 -1
  577. package/lib/esm/test/test-utils.js +4 -4
  578. package/lib/esm/test/test-utils.js.map +1 -1
  579. package/package.json +8 -4
@@ -1 +1 @@
1
- {"version":3,"file":"SelectITwin.js","sourceRoot":"","sources":["../../../../../src/components/Mappings/Import/SelectITwin.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*--------------------------------------------------------------------------------------------*/\nimport type { ITwin, ITwinsAccessClient } from \"@itwin/itwins-client\";\nimport { ITwinSubClass } from \"@itwin/itwins-client\";\nimport { SvgCalendar, SvgList, SvgStarHollow } from \"@itwin/itwinui-icons-react\";\nimport type { TablePaginatorRendererProps } from \"@itwin/itwinui-react\";\nimport { Button, Tab, Table, tableFilters, TablePaginator, Tabs } from \"@itwin/itwinui-react\";\nimport React, { useCallback, useMemo, useState } from \"react\";\nimport type { CreateTypeFromInterface } from \"../../../common/utils\";\nimport \"./SelectITwin.scss\";\nimport type { GetAccessTokenFn } from \"../../context/GroupingApiConfigContext\";\nimport { useGroupingMappingApiConfig } from \"../../context/GroupingApiConfigContext\";\nimport { useITwinsClient } from \"../../context/ITwinsClientContext\";\nimport { useQuery } from \"@tanstack/react-query\";\nimport type { Column } from \"react-table\";\n\ntype IITwinTyped = CreateTypeFromInterface<ITwin>;\n\nconst defaultDisplayStrings = {\n iTwins: \"iTwins\",\n iTwinNumber: \"Number\",\n iTwinName: \"Name\",\n iTwinStatus: \"Status\",\n};\n\nexport enum ITwinType {\n Favorite = 0,\n Recent = 1,\n All = 2,\n}\n\nconst tabsWithIcons = [\n <Tab key=\"favorite\" label=\"Favorite iTwins\" startIcon={<SvgStarHollow />} />,\n <Tab key=\"recents\" label=\"Recent iTwins\" startIcon={<SvgCalendar />} />,\n <Tab key=\"all\" label=\"My iTwins\" startIcon={<SvgList />} />,\n];\n\nconst fetchITwins = async (\n getAccessToken: GetAccessTokenFn,\n iTwinsClient: ITwinsAccessClient,\n iTwinType: ITwinType,\n) => {\n const accessToken = await getAccessToken();\n switch (iTwinType) {\n case ITwinType.Favorite:\n return iTwinsClient.queryFavoritesAsync(accessToken, ITwinSubClass.Project);\n case ITwinType.Recent:\n return iTwinsClient.queryRecentsAsync(accessToken, ITwinSubClass.Project);\n default:\n return iTwinsClient.queryAsync(accessToken, ITwinSubClass.Project);\n }\n};\n\ninterface SelectITwinProps {\n onSelect: (iTwinId: string) => void;\n onCancel: () => void;\n onChangeITwinType: (iTwinType: number) => void;\n displayStrings?: Partial<typeof defaultDisplayStrings>;\n defaultITwinType?: ITwinType;\n}\n\nconst SelectITwin = ({\n onSelect,\n onCancel,\n onChangeITwinType,\n displayStrings: userDisplayStrings,\n defaultITwinType = ITwinType.Favorite,\n}: SelectITwinProps) => {\n const { getAccessToken } = useGroupingMappingApiConfig();\n const iTwinsClient = useITwinsClient();\n const [iTwinType, setITwinType] = useState<number>(defaultITwinType);\n\n const { data: iTwins, isFetching: isLoading } = useQuery({\n queryKey: [\"iTwinsByType\", iTwinType],\n queryFn: async () => (await fetchITwins(getAccessToken, iTwinsClient, iTwinType)).data!,\n });\n\n const displayStrings = React.useMemo(\n () => ({ ...defaultDisplayStrings, ...userDisplayStrings }),\n [userDisplayStrings]\n );\n\n const iTwinsColumns = useMemo<Column<IITwinTyped>[]>(\n () => [\n {\n id: \"iTwinNumber\",\n Header: `${displayStrings.iTwinNumber}`,\n accessor: \"number\",\n Filter: tableFilters.TextFilter(),\n },\n {\n id: \"iTwinName\",\n Header: `${displayStrings.iTwinName}`,\n accessor: \"displayName\",\n Filter: tableFilters.TextFilter(),\n },\n {\n id: \"iTwinStatus\",\n Header: `${displayStrings.iTwinStatus}`,\n accessor: \"status\",\n Filter: tableFilters.TextFilter(),\n },\n ],\n [displayStrings.iTwinNumber, displayStrings.iTwinName, displayStrings.iTwinStatus]\n );\n\n const pageSizeList = useMemo(() => [10, 25, 50], []);\n const paginator = useCallback(\n (props: TablePaginatorRendererProps) => (\n <TablePaginator {...props} pageSizeList={pageSizeList} />\n ),\n [pageSizeList]\n );\n\n return (\n <div className=\"gmw-select-itwin-table-container\">\n <Tabs\n orientation=\"horizontal\"\n labels={tabsWithIcons}\n onTabSelected={(type) => {\n onChangeITwinType(type);\n setITwinType(type);\n }}\n activeIndex={iTwinType}\n type={\"borderless\"}\n contentClassName=\"gmw-table-holding-tab\">\n </Tabs>\n <Table<IITwinTyped>\n data={iTwins ?? []}\n columns={iTwinsColumns}\n className='gmw-select-itwin-table'\n emptyTableContent={`No ${displayStrings.iTwins} available.`}\n isSortable\n isLoading={isLoading}\n onRowClick={(_, row) => {\n onSelect(row.original.id!);\n }}\n paginatorRenderer={paginator}\n />\n <div className=\"gmw-import-action-panel\">\n <Button onClick={onCancel}>Cancel</Button>\n </div>\n </div>\n );\n};\n\nexport default SelectITwin;\n"]}
1
+ {"version":3,"file":"SelectITwin.js","sourceRoot":"","sources":["../../../../../src/components/Mappings/Import/SelectITwin.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 *--------------------------------------------------------------------------------------------*/\nimport type { ITwin, ITwinsAccessClient } from \"@itwin/itwins-client\";\nimport { ITwinSubClass } from \"@itwin/itwins-client\";\nimport { SvgCalendar, SvgList, SvgStarHollow } from \"@itwin/itwinui-icons-react\";\nimport type { TablePaginatorRendererProps } from \"@itwin/itwinui-react\";\nimport { Button, Tab, Table, tableFilters, TablePaginator, Tabs } from \"@itwin/itwinui-react\";\nimport React, { useCallback, useMemo, useState } from \"react\";\nimport type { CreateTypeFromInterface } from \"../../../common/utils\";\nimport \"./SelectITwin.scss\";\nimport type { GetAccessTokenFn } from \"../../context/GroupingApiConfigContext\";\nimport { useGroupingMappingApiConfig } from \"../../context/GroupingApiConfigContext\";\nimport { useITwinsClient } from \"../../context/ITwinsClientContext\";\nimport { useQuery } from \"@tanstack/react-query\";\nimport type { Column } from \"react-table\";\n\ntype IITwinTyped = CreateTypeFromInterface<ITwin>;\n\nconst defaultDisplayStrings = {\n iTwins: \"iTwins\",\n iTwinNumber: \"Number\",\n iTwinName: \"Name\",\n iTwinStatus: \"Status\",\n};\n\nexport enum ITwinType {\n Favorite = 0,\n Recent = 1,\n All = 2,\n}\n\nconst tabsWithIcons = [\n <Tab key=\"favorite\" label=\"Favorite iTwins\" startIcon={<SvgStarHollow />} />,\n <Tab key=\"recents\" label=\"Recent iTwins\" startIcon={<SvgCalendar />} />,\n <Tab key=\"all\" label=\"My iTwins\" startIcon={<SvgList />} />,\n];\n\nconst fetchITwins = async (getAccessToken: GetAccessTokenFn, iTwinsClient: ITwinsAccessClient, iTwinType: ITwinType) => {\n const accessToken = await getAccessToken();\n switch (iTwinType) {\n case ITwinType.Favorite:\n return iTwinsClient.queryFavoritesAsync(accessToken, ITwinSubClass.Project);\n case ITwinType.Recent:\n return iTwinsClient.queryRecentsAsync(accessToken, ITwinSubClass.Project);\n default:\n return iTwinsClient.queryAsync(accessToken, ITwinSubClass.Project);\n }\n};\n\ninterface SelectITwinProps {\n onSelect: (iTwinId: string) => void;\n onCancel: () => void;\n onChangeITwinType: (iTwinType: number) => void;\n displayStrings?: Partial<typeof defaultDisplayStrings>;\n defaultITwinType?: ITwinType;\n}\n\nconst SelectITwin = ({\n onSelect,\n onCancel,\n onChangeITwinType,\n displayStrings: userDisplayStrings,\n defaultITwinType = ITwinType.Favorite,\n}: SelectITwinProps) => {\n const { getAccessToken } = useGroupingMappingApiConfig();\n const iTwinsClient = useITwinsClient();\n const [iTwinType, setITwinType] = useState<number>(defaultITwinType);\n\n const { data: iTwins, isFetching: isLoading } = useQuery({\n queryKey: [\"iTwinsByType\", iTwinType],\n queryFn: async () => (await fetchITwins(getAccessToken, iTwinsClient, iTwinType)).data!,\n });\n\n const displayStrings = React.useMemo(() => ({ ...defaultDisplayStrings, ...userDisplayStrings }), [userDisplayStrings]);\n\n const iTwinsColumns = useMemo<Column<IITwinTyped>[]>(\n () => [\n {\n id: \"iTwinNumber\",\n Header: `${displayStrings.iTwinNumber}`,\n accessor: \"number\",\n Filter: tableFilters.TextFilter(),\n },\n {\n id: \"iTwinName\",\n Header: `${displayStrings.iTwinName}`,\n accessor: \"displayName\",\n Filter: tableFilters.TextFilter(),\n },\n {\n id: \"iTwinStatus\",\n Header: `${displayStrings.iTwinStatus}`,\n accessor: \"status\",\n Filter: tableFilters.TextFilter(),\n },\n ],\n [displayStrings.iTwinNumber, displayStrings.iTwinName, displayStrings.iTwinStatus],\n );\n\n const pageSizeList = useMemo(() => [10, 25, 50], []);\n const paginator = useCallback((props: TablePaginatorRendererProps) => <TablePaginator {...props} pageSizeList={pageSizeList} />, [pageSizeList]);\n\n return (\n <div className=\"gmw-select-itwin-table-container\">\n <Tabs\n orientation=\"horizontal\"\n labels={tabsWithIcons}\n onTabSelected={(type) => {\n onChangeITwinType(type);\n setITwinType(type);\n }}\n activeIndex={iTwinType}\n type={\"borderless\"}\n contentClassName=\"gmw-table-holding-tab\"\n ></Tabs>\n <Table<IITwinTyped>\n data={iTwins ?? []}\n columns={iTwinsColumns}\n className=\"gmw-select-itwin-table\"\n emptyTableContent={`No ${displayStrings.iTwins} available.`}\n isSortable\n isLoading={isLoading}\n onRowClick={(_, row) => {\n onSelect(row.original.id!);\n }}\n paginatorRenderer={paginator}\n />\n <div className=\"gmw-import-action-panel\">\n <Button onClick={onCancel}>Cancel</Button>\n </div>\n </div>\n );\n};\n\nexport default SelectITwin;\n"]}
@@ -19,4 +19,4 @@
19
19
  overflow: auto;
20
20
  flex-grow: 1;
21
21
  }
22
- }
22
+ }
@@ -11,6 +11,6 @@ interface SelectMappingsProps {
11
11
  backFn: () => void;
12
12
  displayStrings?: Partial<typeof defaultDisplayStrings>;
13
13
  }
14
- declare const SelectMappings: ({ iModelId, onSelect, onCancel, backFn, displayStrings: userDisplayStrings, }: SelectMappingsProps) => JSX.Element;
14
+ declare const SelectMappings: ({ iModelId, onSelect, onCancel, backFn, displayStrings: userDisplayStrings }: SelectMappingsProps) => JSX.Element;
15
15
  export default SelectMappings;
16
16
  //# sourceMappingURL=SelectMappings.d.ts.map
@@ -32,11 +32,11 @@ const useFetchMappings_1 = require("../hooks/useFetchMappings");
32
32
  const defaultDisplayStrings = {
33
33
  mappings: "Mappings",
34
34
  };
35
- const SelectMappings = ({ iModelId, onSelect, onCancel, backFn, displayStrings: userDisplayStrings, }) => {
35
+ const SelectMappings = ({ iModelId, onSelect, onCancel, backFn, displayStrings: userDisplayStrings }) => {
36
36
  const { getAccessToken } = (0, GroupingApiConfigContext_1.useGroupingMappingApiConfig)();
37
37
  const mappingClient = (0, MappingClientContext_1.useMappingClient)();
38
38
  const [selectedMappings, setSelectedMappings] = (0, react_1.useState)([]);
39
- const { data: mappings, isFetching: isLoading, } = (0, useFetchMappings_1.useFetchMappings)(iModelId, getAccessToken, mappingClient);
39
+ const { data: mappings, isFetching: isLoading } = (0, useFetchMappings_1.useFetchMappings)(iModelId, getAccessToken, mappingClient);
40
40
  const displayStrings = react_1.default.useMemo(() => ({ ...defaultDisplayStrings, ...userDisplayStrings }), [userDisplayStrings]);
41
41
  const mappingsColumns = (0, react_1.useMemo)(() => [
42
42
  {
@@ -53,14 +53,14 @@ const SelectMappings = ({ iModelId, onSelect, onCancel, backFn, displayStrings:
53
53
  },
54
54
  ], [displayStrings.mappings]);
55
55
  const pageSizeList = (0, react_1.useMemo)(() => [10, 25, 50], []);
56
- const paginator = (0, react_1.useCallback)((props) => (react_1.default.createElement(itwinui_react_1.TablePaginator, { ...props, pageSizeList: pageSizeList })), [pageSizeList]);
57
- return (react_1.default.createElement("div", { className: 'gmw-select-mapping-container' },
58
- react_1.default.createElement(itwinui_react_1.Table, { data: mappings ?? [], columns: mappingsColumns, className: 'gmw-select-mapping-table', emptyTableContent: `No ${displayStrings.mappings} available.`, isSortable: true, isSelectable: true, isLoading: isLoading, onSelect: (selectData) => {
56
+ const paginator = (0, react_1.useCallback)((props) => react_1.default.createElement(itwinui_react_1.TablePaginator, { ...props, pageSizeList: pageSizeList }), [pageSizeList]);
57
+ return (react_1.default.createElement("div", { className: "gmw-select-mapping-container" },
58
+ react_1.default.createElement(itwinui_react_1.Table, { data: mappings ?? [], columns: mappingsColumns, className: "gmw-select-mapping-table", emptyTableContent: `No ${displayStrings.mappings} available.`, isSortable: true, isSelectable: true, isLoading: isLoading, onSelect: (selectData) => {
59
59
  selectData && setSelectedMappings(selectData);
60
60
  }, paginatorRenderer: paginator }),
61
- react_1.default.createElement("div", { className: 'gmw-import-action-panel' },
61
+ react_1.default.createElement("div", { className: "gmw-import-action-panel" },
62
62
  react_1.default.createElement(itwinui_react_1.Button, { onClick: backFn }, "Back"),
63
- react_1.default.createElement(itwinui_react_1.Button, { styleType: 'high-visibility', onClick: () => {
63
+ react_1.default.createElement(itwinui_react_1.Button, { styleType: "high-visibility", onClick: () => {
64
64
  onSelect(selectedMappings);
65
65
  }, disabled: isLoading || selectedMappings.length === 0 }, "Next"),
66
66
  react_1.default.createElement(itwinui_react_1.Button, { onClick: onCancel }, "Cancel"))));
@@ -1 +1 @@
1
- {"version":3,"file":"SelectMappings.js","sourceRoot":"","sources":["../../../../../src/components/Mappings/Import/SelectMappings.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAOA,wDAK8B;AAC9B,+CAA8D;AAC9D,6EAAsE;AAEtE,gCAA8B;AAC9B,qFAAqF;AACrF,gEAA6D;AAG7D,MAAM,qBAAqB,GAAG;IAC5B,QAAQ,EAAE,UAAU;CACrB,CAAC;AAUF,MAAM,cAAc,GAAG,CAAC,EACtB,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,cAAc,EAAE,kBAAkB,GACd,EAAE,EAAE;IACxB,MAAM,EAAE,cAAc,EAAE,GAAG,IAAA,sDAA2B,GAAE,CAAC;IACzD,MAAM,aAAa,GAAG,IAAA,uCAAgB,GAAE,CAAC;IACzC,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,IAAA,gBAAQ,EAAkB,EAAE,CAAC,CAAC;IAE9E,MAAM,EACJ,IAAI,EAAE,QAAQ,EACd,UAAU,EAAE,SAAS,GACtB,GAAG,IAAA,mCAAgB,EAAC,QAAQ,EAAE,cAAc,EAAE,aAAa,CAAC,CAAC;IAE9D,MAAM,cAAc,GAAG,eAAK,CAAC,OAAO,CAClC,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,qBAAqB,EAAE,GAAG,kBAAkB,EAAE,CAAC,EAC3D,CAAC,kBAAkB,CAAC,CACrB,CAAC;IAEF,MAAM,eAAe,GAAG,IAAA,eAAO,EAC7B,GAAG,EAAE,CAAC;QACJ;YACE,EAAE,EAAE,aAAa;YACjB,MAAM,EAAE,GAAG,cAAc,CAAC,QAAQ,EAAE;YACpC,QAAQ,EAAE,aAAa;YACvB,MAAM,EAAE,4BAAY,CAAC,UAAU,EAAE;SAClC;QACD;YACE,EAAE,EAAE,aAAa;YACjB,MAAM,EAAE,aAAa;YACrB,QAAQ,EAAE,aAAa;YACvB,MAAM,EAAE,4BAAY,CAAC,UAAU,EAAE;SAClC;KACF,EACD,CAAC,cAAc,CAAC,QAAQ,CAAC,CAC1B,CAAC;IAEF,MAAM,YAAY,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IACrD,MAAM,SAAS,GAAG,IAAA,mBAAW,EAC3B,CAAC,KAAkC,EAAE,EAAE,CAAC,CACtC,8BAAC,8BAAc,OAAK,KAAK,EAAE,YAAY,EAAE,YAAY,GAAI,CAC1D,EACD,CAAC,YAAY,CAAC,CACf,CAAC;IAEF,OAAO,CACL,uCAAK,SAAS,EAAC,8BAA8B;QAC3C,8BAAC,qBAAK,IACJ,IAAI,EAAE,QAAQ,IAAI,EAAE,EACpB,OAAO,EAAE,eAAe,EACxB,SAAS,EAAC,0BAA0B,EACpC,iBAAiB,EAAE,MAAM,cAAc,CAAC,QAAQ,aAAa,EAC7D,UAAU,QACV,YAAY,QACZ,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,CAAC,UAAuC,EAAE,EAAE;gBACpD,UAAU,IAAI,mBAAmB,CAAC,UAAU,CAAC,CAAC;YAChD,CAAC,EACD,iBAAiB,EAAE,SAAS,GAC5B;QACF,uCAAK,SAAS,EAAC,yBAAyB;YACtC,8BAAC,sBAAM,IAAC,OAAO,EAAE,MAAM,WAAe;YACtC,8BAAC,sBAAM,IACL,SAAS,EAAC,iBAAiB,EAC3B,OAAO,EAAE,GAAG,EAAE;oBACZ,QAAQ,CAAC,gBAAgB,CAAC,CAAC;gBAC7B,CAAC,EACD,QAAQ,EAAE,SAAS,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,WAG7C;YACT,8BAAC,sBAAM,IAAC,OAAO,EAAE,QAAQ,aAAiB,CACtC,CACF,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,cAAc,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*--------------------------------------------------------------------------------------------*/\nimport type {\n TablePaginatorRendererProps,\n} from \"@itwin/itwinui-react\";\nimport {\n Button,\n Table,\n tableFilters,\n TablePaginator,\n} from \"@itwin/itwinui-react\";\nimport React, { useCallback, useMemo, useState } from \"react\";\nimport { useMappingClient } from \"../../context/MappingClientContext\";\nimport type { IMappingTyped } from \"../Mappings\";\nimport \"./SelectMapping.scss\";\nimport { useGroupingMappingApiConfig } from \"../../context/GroupingApiConfigContext\";\nimport { useFetchMappings } from \"../hooks/useFetchMappings\";\nimport type { Column } from \"react-table\";\n\nconst defaultDisplayStrings = {\n mappings: \"Mappings\",\n};\n\ninterface SelectMappingsProps {\n iModelId: string;\n onSelect: (selectedMappings: IMappingTyped[]) => void;\n onCancel: () => void;\n backFn: () => void;\n displayStrings?: Partial<typeof defaultDisplayStrings>;\n}\n\nconst SelectMappings = ({\n iModelId,\n onSelect,\n onCancel,\n backFn,\n displayStrings: userDisplayStrings,\n}: SelectMappingsProps) => {\n const { getAccessToken } = useGroupingMappingApiConfig();\n const mappingClient = useMappingClient();\n const [selectedMappings, setSelectedMappings] = useState<IMappingTyped[]>([]);\n\n const {\n data: mappings,\n isFetching: isLoading,\n } = useFetchMappings(iModelId, getAccessToken, mappingClient);\n\n const displayStrings = React.useMemo(\n () => ({ ...defaultDisplayStrings, ...userDisplayStrings }),\n [userDisplayStrings]\n );\n\n const mappingsColumns = useMemo<Column<IMappingTyped>[]>(\n () => [\n {\n id: \"mappingName\",\n Header: `${displayStrings.mappings}`,\n accessor: \"mappingName\",\n Filter: tableFilters.TextFilter(),\n },\n {\n id: \"description\",\n Header: \"Description\",\n accessor: \"description\",\n Filter: tableFilters.TextFilter(),\n },\n ],\n [displayStrings.mappings]\n );\n\n const pageSizeList = useMemo(() => [10, 25, 50], []);\n const paginator = useCallback(\n (props: TablePaginatorRendererProps) => (\n <TablePaginator {...props} pageSizeList={pageSizeList} />\n ),\n [pageSizeList]\n );\n\n return (\n <div className='gmw-select-mapping-container'>\n <Table<IMappingTyped>\n data={mappings ?? []}\n columns={mappingsColumns}\n className='gmw-select-mapping-table'\n emptyTableContent={`No ${displayStrings.mappings} available.`}\n isSortable\n isSelectable\n isLoading={isLoading}\n onSelect={(selectData: IMappingTyped[] | undefined) => {\n selectData && setSelectedMappings(selectData);\n }}\n paginatorRenderer={paginator}\n />\n <div className='gmw-import-action-panel'>\n <Button onClick={backFn}>Back</Button>\n <Button\n styleType='high-visibility'\n onClick={() => {\n onSelect(selectedMappings);\n }}\n disabled={isLoading || selectedMappings.length === 0}\n >\n Next\n </Button>\n <Button onClick={onCancel}>Cancel</Button>\n </div>\n </div>\n );\n};\n\nexport default SelectMappings;\n"]}
1
+ {"version":3,"file":"SelectMappings.js","sourceRoot":"","sources":["../../../../../src/components/Mappings/Import/SelectMappings.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAKA,wDAAmF;AACnF,+CAA8D;AAC9D,6EAAsE;AAEtE,gCAA8B;AAC9B,qFAAqF;AACrF,gEAA6D;AAG7D,MAAM,qBAAqB,GAAG;IAC5B,QAAQ,EAAE,UAAU;CACrB,CAAC;AAUF,MAAM,cAAc,GAAG,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,kBAAkB,EAAuB,EAAE,EAAE;IAC3H,MAAM,EAAE,cAAc,EAAE,GAAG,IAAA,sDAA2B,GAAE,CAAC;IACzD,MAAM,aAAa,GAAG,IAAA,uCAAgB,GAAE,CAAC;IACzC,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,IAAA,gBAAQ,EAAkB,EAAE,CAAC,CAAC;IAE9E,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,IAAA,mCAAgB,EAAC,QAAQ,EAAE,cAAc,EAAE,aAAa,CAAC,CAAC;IAE5G,MAAM,cAAc,GAAG,eAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,qBAAqB,EAAE,GAAG,kBAAkB,EAAE,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAExH,MAAM,eAAe,GAAG,IAAA,eAAO,EAC7B,GAAG,EAAE,CAAC;QACJ;YACE,EAAE,EAAE,aAAa;YACjB,MAAM,EAAE,GAAG,cAAc,CAAC,QAAQ,EAAE;YACpC,QAAQ,EAAE,aAAa;YACvB,MAAM,EAAE,4BAAY,CAAC,UAAU,EAAE;SAClC;QACD;YACE,EAAE,EAAE,aAAa;YACjB,MAAM,EAAE,aAAa;YACrB,QAAQ,EAAE,aAAa;YACvB,MAAM,EAAE,4BAAY,CAAC,UAAU,EAAE;SAClC;KACF,EACD,CAAC,cAAc,CAAC,QAAQ,CAAC,CAC1B,CAAC;IAEF,MAAM,YAAY,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IACrD,MAAM,SAAS,GAAG,IAAA,mBAAW,EAAC,CAAC,KAAkC,EAAE,EAAE,CAAC,8BAAC,8BAAc,OAAK,KAAK,EAAE,YAAY,EAAE,YAAY,GAAI,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAEjJ,OAAO,CACL,uCAAK,SAAS,EAAC,8BAA8B;QAC3C,8BAAC,qBAAK,IACJ,IAAI,EAAE,QAAQ,IAAI,EAAE,EACpB,OAAO,EAAE,eAAe,EACxB,SAAS,EAAC,0BAA0B,EACpC,iBAAiB,EAAE,MAAM,cAAc,CAAC,QAAQ,aAAa,EAC7D,UAAU,QACV,YAAY,QACZ,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,CAAC,UAAuC,EAAE,EAAE;gBACpD,UAAU,IAAI,mBAAmB,CAAC,UAAU,CAAC,CAAC;YAChD,CAAC,EACD,iBAAiB,EAAE,SAAS,GAC5B;QACF,uCAAK,SAAS,EAAC,yBAAyB;YACtC,8BAAC,sBAAM,IAAC,OAAO,EAAE,MAAM,WAAe;YACtC,8BAAC,sBAAM,IACL,SAAS,EAAC,iBAAiB,EAC3B,OAAO,EAAE,GAAG,EAAE;oBACZ,QAAQ,CAAC,gBAAgB,CAAC,CAAC;gBAC7B,CAAC,EACD,QAAQ,EAAE,SAAS,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,WAG7C;YACT,8BAAC,sBAAM,IAAC,OAAO,EAAE,QAAQ,aAAiB,CACtC,CACF,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,cAAc,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 *--------------------------------------------------------------------------------------------*/\nimport type { TablePaginatorRendererProps } from \"@itwin/itwinui-react\";\nimport { Button, Table, tableFilters, TablePaginator } from \"@itwin/itwinui-react\";\nimport React, { useCallback, useMemo, useState } from \"react\";\nimport { useMappingClient } from \"../../context/MappingClientContext\";\nimport type { IMappingTyped } from \"../Mappings\";\nimport \"./SelectMapping.scss\";\nimport { useGroupingMappingApiConfig } from \"../../context/GroupingApiConfigContext\";\nimport { useFetchMappings } from \"../hooks/useFetchMappings\";\nimport type { Column } from \"react-table\";\n\nconst defaultDisplayStrings = {\n mappings: \"Mappings\",\n};\n\ninterface SelectMappingsProps {\n iModelId: string;\n onSelect: (selectedMappings: IMappingTyped[]) => void;\n onCancel: () => void;\n backFn: () => void;\n displayStrings?: Partial<typeof defaultDisplayStrings>;\n}\n\nconst SelectMappings = ({ iModelId, onSelect, onCancel, backFn, displayStrings: userDisplayStrings }: SelectMappingsProps) => {\n const { getAccessToken } = useGroupingMappingApiConfig();\n const mappingClient = useMappingClient();\n const [selectedMappings, setSelectedMappings] = useState<IMappingTyped[]>([]);\n\n const { data: mappings, isFetching: isLoading } = useFetchMappings(iModelId, getAccessToken, mappingClient);\n\n const displayStrings = React.useMemo(() => ({ ...defaultDisplayStrings, ...userDisplayStrings }), [userDisplayStrings]);\n\n const mappingsColumns = useMemo<Column<IMappingTyped>[]>(\n () => [\n {\n id: \"mappingName\",\n Header: `${displayStrings.mappings}`,\n accessor: \"mappingName\",\n Filter: tableFilters.TextFilter(),\n },\n {\n id: \"description\",\n Header: \"Description\",\n accessor: \"description\",\n Filter: tableFilters.TextFilter(),\n },\n ],\n [displayStrings.mappings],\n );\n\n const pageSizeList = useMemo(() => [10, 25, 50], []);\n const paginator = useCallback((props: TablePaginatorRendererProps) => <TablePaginator {...props} pageSizeList={pageSizeList} />, [pageSizeList]);\n\n return (\n <div className=\"gmw-select-mapping-container\">\n <Table<IMappingTyped>\n data={mappings ?? []}\n columns={mappingsColumns}\n className=\"gmw-select-mapping-table\"\n emptyTableContent={`No ${displayStrings.mappings} available.`}\n isSortable\n isSelectable\n isLoading={isLoading}\n onSelect={(selectData: IMappingTyped[] | undefined) => {\n selectData && setSelectedMappings(selectData);\n }}\n paginatorRenderer={paginator}\n />\n <div className=\"gmw-import-action-panel\">\n <Button onClick={backFn}>Back</Button>\n <Button\n styleType=\"high-visibility\"\n onClick={() => {\n onSelect(selectedMappings);\n }}\n disabled={isLoading || selectedMappings.length === 0}\n >\n Next\n </Button>\n <Button onClick={onCancel}>Cancel</Button>\n </div>\n </div>\n );\n};\n\nexport default SelectMappings;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"MappingListItem.js","sourceRoot":"","sources":["../../../../src/components/Mappings/MappingListItem.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*--------------------------------------------------------------------------------------------*/\nimport type { Mapping } from \"@itwin/insights-client\";\nimport React, { useCallback, useEffect, useState } from \"react\";\nimport type { BeEvent } from \"@itwin/core-bentley\";\nimport { MappingViewActionGroup } from \"./MappingViewActionGroup\";\nimport { Anchor, ListItem } from \"@itwin/itwinui-react\";\nimport { ExtractionStates } from \"./Extraction/ExtractionStatus\";\nimport { ExtractionStatus } from \"./Extraction/ExtractionStatus\";\nimport { useExtractionStateJobContext } from \"../context/ExtractionStateJobContext\";\nimport { useFetchMappingExtractionStatus } from \"./hooks/useFetchMappingExtractionStatus\";\nimport \"./MappingListItem.scss\";\nimport { useGroupingMappingApiConfig } from \"../context/GroupingApiConfigContext\";\nimport { useQueryClient } from \"@tanstack/react-query\";\n\nexport interface MappingListItemProps {\n selected: boolean;\n mapping: Mapping;\n jobId: string;\n jobStartEvent: BeEvent<(mappingId: string) => void>;\n onSelectionChange?: (mapping: Mapping) => void;\n onClickMappingTitle?: (mapping: Mapping) => void;\n onClickMappingModify?: (mapping: Mapping) => void;\n onRefreshMappings: () => Promise<void>;\n onToggleExtraction: (mapping: Mapping) => Promise<void>;\n setShowDeleteModal: (mapping?: Mapping) => void;\n initialStateExtractionFlag?: boolean;\n setInitialExtractionStateFlag?: (initialStateExtractionFlag: boolean) => void;\n}\n\nexport const MappingListItem = ({\n selected,\n onSelectionChange,\n mapping,\n jobId,\n jobStartEvent,\n onClickMappingModify,\n onClickMappingTitle,\n onRefreshMappings,\n onToggleExtraction,\n setShowDeleteModal,\n}: MappingListItemProps) => {\n const [extractionState, setExtractionState] = useState<ExtractionStates | undefined>(ExtractionStates.None);\n const { mappingIdJobInfo, setMappingIdJobInfo } = useExtractionStateJobContext();\n const groupingMappingApiConfig = useGroupingMappingApiConfig();\n const [isJobStarted, setIsJobStarted] = useState<boolean>(false);\n const statusQuery = useFetchMappingExtractionStatus({ ...groupingMappingApiConfig, mapping, enabled: isJobStarted });\n const queryClient = useQueryClient();\n\n const onClickTile = useCallback(() => {\n onSelectionChange && onSelectionChange(mapping);\n }, [mapping, onSelectionChange]);\n\n // Check whether the job is still running when users refresh the mapping list\n // or modify any mappings\n useEffect(() => {\n if(mappingIdJobInfo.get(mapping.id)){\n setIsJobStarted(true);\n }\n }, [mappingIdJobInfo, mapping.id]);\n\n const resolveTerminalExtractionStatus = useCallback(async () => {\n const state = statusQuery.data!.finalExtractionStateValue;\n if (state === ExtractionStates.Failed || state === ExtractionStates.Succeeded) {\n setIsJobStarted(false);\n setMappingIdJobInfo((prevMap: Map<string, string>) => {\n const newMap = new Map(prevMap);\n newMap.delete(mapping.id);\n return newMap;\n });\n await queryClient.invalidateQueries({ queryKey: [\"iModelExtractionStatus\"] });\n }\n }, [mapping.id, queryClient, setMappingIdJobInfo, statusQuery.data]);\n\n useEffect(() => {\n const listener = (startedMappingId: string) => {\n if (startedMappingId === mapping.id) {\n setExtractionState(ExtractionStates.Starting);\n setIsJobStarted(true);\n }\n };\n jobStartEvent.addListener(listener);\n\n return () => {\n jobStartEvent.removeListener(listener);\n };\n }, [jobStartEvent, mapping.id, jobId]);\n\n useEffect(() => {\n const isStatusReady = statusQuery.data && statusQuery.isFetched;\n if (isStatusReady) {\n setExtractionState(statusQuery.data.finalExtractionStateValue);\n // No need to await. We don't need to wait for the status to be resolved in invalidation.\n void resolveTerminalExtractionStatus();\n }\n }, [resolveTerminalExtractionStatus, statusQuery]);\n\n return (\n <ListItem\n actionable={!!onSelectionChange}\n className=\"gmw-mapping-list-item\"\n active={selected}\n key={mapping.id}\n onClick={onClickTile}\n title={mapping.mappingName}>\n <ListItem.Content>\n {onClickMappingTitle ? <Anchor onClick={() => onClickMappingTitle(mapping)}>{mapping.mappingName}</Anchor> : mapping.mappingName}\n <ListItem.Description>\n {mapping.description}\n </ListItem.Description>\n </ListItem.Content>\n <ExtractionStatus\n state={extractionState}\n clearExtractionState={() => {\n setExtractionState(ExtractionStates.None);\n }}\n ></ExtractionStatus >\n <MappingViewActionGroup\n mapping={mapping}\n onToggleExtraction={onToggleExtraction}\n onRefresh={onRefreshMappings}\n onClickMappingModify={onClickMappingModify}\n setShowDeleteModal={setShowDeleteModal}\n />\n </ListItem>\n );\n};\n"]}
1
+ {"version":3,"file":"MappingListItem.js","sourceRoot":"","sources":["../../../../src/components/Mappings/MappingListItem.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 *--------------------------------------------------------------------------------------------*/\nimport type { Mapping } from \"@itwin/insights-client\";\nimport React, { useCallback, useEffect, useState } from \"react\";\nimport type { BeEvent } from \"@itwin/core-bentley\";\nimport { MappingViewActionGroup } from \"./MappingViewActionGroup\";\nimport { Anchor, ListItem } from \"@itwin/itwinui-react\";\nimport { ExtractionStates } from \"./Extraction/ExtractionStatus\";\nimport { ExtractionStatus } from \"./Extraction/ExtractionStatus\";\nimport { useExtractionStateJobContext } from \"../context/ExtractionStateJobContext\";\nimport { useFetchMappingExtractionStatus } from \"./hooks/useFetchMappingExtractionStatus\";\nimport \"./MappingListItem.scss\";\nimport { useGroupingMappingApiConfig } from \"../context/GroupingApiConfigContext\";\nimport { useQueryClient } from \"@tanstack/react-query\";\n\nexport interface MappingListItemProps {\n selected: boolean;\n mapping: Mapping;\n jobId: string;\n jobStartEvent: BeEvent<(mappingId: string) => void>;\n onSelectionChange?: (mapping: Mapping) => void;\n onClickMappingTitle?: (mapping: Mapping) => void;\n onClickMappingModify?: (mapping: Mapping) => void;\n onRefreshMappings: () => Promise<void>;\n onToggleExtraction: (mapping: Mapping) => Promise<void>;\n setShowDeleteModal: (mapping?: Mapping) => void;\n initialStateExtractionFlag?: boolean;\n setInitialExtractionStateFlag?: (initialStateExtractionFlag: boolean) => void;\n}\n\nexport const MappingListItem = ({\n selected,\n onSelectionChange,\n mapping,\n jobId,\n jobStartEvent,\n onClickMappingModify,\n onClickMappingTitle,\n onRefreshMappings,\n onToggleExtraction,\n setShowDeleteModal,\n}: MappingListItemProps) => {\n const [extractionState, setExtractionState] = useState<ExtractionStates | undefined>(ExtractionStates.None);\n const { mappingIdJobInfo, setMappingIdJobInfo } = useExtractionStateJobContext();\n const groupingMappingApiConfig = useGroupingMappingApiConfig();\n const [isJobStarted, setIsJobStarted] = useState<boolean>(false);\n const statusQuery = useFetchMappingExtractionStatus({ ...groupingMappingApiConfig, mapping, enabled: isJobStarted });\n const queryClient = useQueryClient();\n\n const onClickTile = useCallback(() => {\n onSelectionChange && onSelectionChange(mapping);\n }, [mapping, onSelectionChange]);\n\n // Check whether the job is still running when users refresh the mapping list\n // or modify any mappings\n useEffect(() => {\n if (mappingIdJobInfo.get(mapping.id)) {\n setIsJobStarted(true);\n }\n }, [mappingIdJobInfo, mapping.id]);\n\n const resolveTerminalExtractionStatus = useCallback(async () => {\n const state = statusQuery.data!.finalExtractionStateValue;\n if (state === ExtractionStates.Failed || state === ExtractionStates.Succeeded) {\n setIsJobStarted(false);\n setMappingIdJobInfo((prevMap: Map<string, string>) => {\n const newMap = new Map(prevMap);\n newMap.delete(mapping.id);\n return newMap;\n });\n await queryClient.invalidateQueries({ queryKey: [\"iModelExtractionStatus\"] });\n }\n }, [mapping.id, queryClient, setMappingIdJobInfo, statusQuery.data]);\n\n useEffect(() => {\n const listener = (startedMappingId: string) => {\n if (startedMappingId === mapping.id) {\n setExtractionState(ExtractionStates.Starting);\n setIsJobStarted(true);\n }\n };\n jobStartEvent.addListener(listener);\n\n return () => {\n jobStartEvent.removeListener(listener);\n };\n }, [jobStartEvent, mapping.id, jobId]);\n\n useEffect(() => {\n const isStatusReady = statusQuery.data && statusQuery.isFetched;\n if (isStatusReady) {\n setExtractionState(statusQuery.data.finalExtractionStateValue);\n // No need to await. We don't need to wait for the status to be resolved in invalidation.\n void resolveTerminalExtractionStatus();\n }\n }, [resolveTerminalExtractionStatus, statusQuery]);\n\n return (\n <ListItem\n actionable={!!onSelectionChange}\n className=\"gmw-mapping-list-item\"\n active={selected}\n key={mapping.id}\n onClick={onClickTile}\n title={mapping.mappingName}\n >\n <ListItem.Content>\n {onClickMappingTitle ? <Anchor onClick={() => onClickMappingTitle(mapping)}>{mapping.mappingName}</Anchor> : mapping.mappingName}\n <ListItem.Description>{mapping.description}</ListItem.Description>\n </ListItem.Content>\n <ExtractionStatus\n state={extractionState}\n clearExtractionState={() => {\n setExtractionState(ExtractionStates.None);\n }}\n ></ExtractionStatus>\n <MappingViewActionGroup\n mapping={mapping}\n onToggleExtraction={onToggleExtraction}\n onRefresh={onRefreshMappings}\n onClickMappingModify={onClickMappingModify}\n setShowDeleteModal={setShowDeleteModal}\n />\n </ListItem>\n );\n};\n"]}
@@ -7,6 +7,6 @@ interface MappingUIActionGroupProps {
7
7
  onClickMappingModify?: (mapping: Mapping) => void;
8
8
  setShowDeleteModal: (mapping?: Mapping) => void;
9
9
  }
10
- export declare const MappingViewActionGroup: ({ mapping, onToggleExtraction, onRefresh, onClickMappingModify, setShowDeleteModal, }: MappingUIActionGroupProps) => JSX.Element;
10
+ export declare const MappingViewActionGroup: ({ mapping, onToggleExtraction, onRefresh, onClickMappingModify, setShowDeleteModal }: MappingUIActionGroupProps) => JSX.Element;
11
11
  export {};
12
12
  //# sourceMappingURL=MappingViewActionGroup.d.ts.map
@@ -5,18 +5,18 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.MappingViewActionGroup = void 0;
7
7
  /*---------------------------------------------------------------------------------------------
8
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
9
- * See LICENSE.md in the project root for license terms and full copyright notice.
10
- *--------------------------------------------------------------------------------------------*/
8
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
9
+ * See LICENSE.md in the project root for license terms and full copyright notice.
10
+ *--------------------------------------------------------------------------------------------*/
11
11
  const react_1 = __importDefault(require("react"));
12
12
  const itwinui_react_1 = require("@itwin/itwinui-react");
13
13
  const itwinui_icons_react_1 = require("@itwin/itwinui-icons-react");
14
- const MappingViewActionGroup = ({ mapping, onToggleExtraction, onRefresh, onClickMappingModify, setShowDeleteModal, }) => {
14
+ const MappingViewActionGroup = ({ mapping, onToggleExtraction, onRefresh, onClickMappingModify, setShowDeleteModal }) => {
15
15
  return (react_1.default.createElement(itwinui_react_1.DropdownMenu, { menuItems: (close) => [
16
16
  onClickMappingModify ? (react_1.default.createElement(itwinui_react_1.MenuItem, { key: 0, onClick: () => {
17
17
  onClickMappingModify(mapping);
18
18
  close();
19
- }, icon: react_1.default.createElement(itwinui_icons_react_1.SvgEdit, null) }, "Modify")) : [],
19
+ }, icon: react_1.default.createElement(itwinui_icons_react_1.SvgEdit, null) }, "Modify")) : ([]),
20
20
  react_1.default.createElement(itwinui_react_1.MenuItem, { key: 1, onClick: async () => {
21
21
  close();
22
22
  await onToggleExtraction(mapping);
@@ -27,7 +27,7 @@ const MappingViewActionGroup = ({ mapping, onToggleExtraction, onRefresh, onClic
27
27
  close();
28
28
  }, icon: react_1.default.createElement(itwinui_icons_react_1.SvgDelete, null) }, "Remove"),
29
29
  ].flat() },
30
- react_1.default.createElement(itwinui_react_1.IconButton, { styleType: "borderless", title: 'Mapping Options' },
30
+ react_1.default.createElement(itwinui_react_1.IconButton, { styleType: "borderless", title: "Mapping Options" },
31
31
  react_1.default.createElement(itwinui_icons_react_1.SvgMore, null))));
32
32
  };
33
33
  exports.MappingViewActionGroup = MappingViewActionGroup;
@@ -1 +1 @@
1
- {"version":3,"file":"MappingViewActionGroup.js","sourceRoot":"","sources":["../../../../src/components/Mappings/MappingViewActionGroup.tsx"],"names":[],"mappings":";;;;;;AAAA;;;+FAG+F;AAC/F,kDAA0B;AAC1B,wDAI8B;AAC9B,oEAKoC;AAW7B,MAAM,sBAAsB,GAAG,CAAC,EACrC,OAAO,EACP,kBAAkB,EAClB,SAAS,EACT,oBAAoB,EACpB,kBAAkB,GACQ,EAAE,EAAE;IAC9B,OAAO,CACL,8BAAC,4BAAY,IACX,SAAS,EAAE,CAAC,KAAiB,EAAE,EAAE,CAAC;YAChC,oBAAoB,CAAC,CAAC,CAAC,CACrB,8BAAC,wBAAQ,IACP,GAAG,EAAE,CAAC,EACN,OAAO,EAAE,GAAG,EAAE;oBACZ,oBAAoB,CAAC,OAAO,CAAC,CAAC;oBAC9B,KAAK,EAAE,CAAC;gBACV,CAAC,EACD,IAAI,EAAE,8BAAC,6BAAO,OAAG,aAGR,CACZ,CAAC,CAAC,CAAC,EAAE;YACN,8BAAC,wBAAQ,IACP,GAAG,EAAE,CAAC,EACN,OAAO,EAAE,KAAK,IAAI,EAAE;oBAClB,KAAK,EAAE,CAAC;oBACR,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAC;oBAClC,MAAM,SAAS,EAAE,CAAC;gBACpB,CAAC,EACD,IAAI,EAAE,8BAAC,gCAAU,OAAG,IAEnB,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,mBAAmB,CAC9D;YACX,8BAAC,wBAAQ,IACP,GAAG,EAAE,CAAC,EACN,OAAO,EAAE,GAAG,EAAE;oBACZ,kBAAkB,CAAC,OAAO,CAAC,CAAC;oBAC5B,KAAK,EAAE,CAAC;gBACV,CAAC,EACD,IAAI,EAAE,8BAAC,+BAAS,OAAG,aAGV;SACZ,CAAC,IAAI,EAAE;QAER,8BAAC,0BAAU,IAAC,SAAS,EAAC,YAAY,EAAC,KAAK,EAAC,iBAAiB;YACxD,8BAAC,6BAAO,OACN,CACS,CACA,CAChB,CAAC;AACJ,CAAC,CAAC;AAnDW,QAAA,sBAAsB,0BAmDjC","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*--------------------------------------------------------------------------------------------*/\nimport React from \"react\";\nimport {\n DropdownMenu,\n IconButton,\n MenuItem,\n} from \"@itwin/itwinui-react\";\nimport {\n SvgDelete,\n SvgEdit,\n SvgMore,\n SvgProcess,\n} from \"@itwin/itwinui-icons-react\";\nimport type { Mapping } from \"@itwin/insights-client\";\n\ninterface MappingUIActionGroupProps {\n mapping: Mapping;\n onToggleExtraction: (mapping: Mapping) => Promise<void>;\n onRefresh: () => Promise<void>;\n onClickMappingModify?: (mapping: Mapping) => void;\n setShowDeleteModal: (mapping?: Mapping) => void;\n}\n\nexport const MappingViewActionGroup = ({\n mapping,\n onToggleExtraction,\n onRefresh,\n onClickMappingModify,\n setShowDeleteModal,\n}: MappingUIActionGroupProps) => {\n return (\n <DropdownMenu\n menuItems={(close: () => void) => [\n onClickMappingModify ? (\n <MenuItem\n key={0}\n onClick={() => {\n onClickMappingModify(mapping);\n close();\n }}\n icon={<SvgEdit />}\n >\n Modify\n </MenuItem>\n ) : [],\n <MenuItem\n key={1}\n onClick={async () => {\n close();\n await onToggleExtraction(mapping);\n await onRefresh();\n }}\n icon={<SvgProcess />}\n >\n {mapping.extractionEnabled ? \"Disable extraction\" : \"Enable extraction\"}\n </MenuItem>,\n <MenuItem\n key={2}\n onClick={() => {\n setShowDeleteModal(mapping);\n close();\n }}\n icon={<SvgDelete />}\n >\n Remove\n </MenuItem>,\n ].flat()}\n >\n <IconButton styleType=\"borderless\" title='Mapping Options'>\n <SvgMore\n />\n </IconButton>\n </DropdownMenu>\n );\n};\n"]}
1
+ {"version":3,"file":"MappingViewActionGroup.js","sourceRoot":"","sources":["../../../../src/components/Mappings/MappingViewActionGroup.tsx"],"names":[],"mappings":";;;;;;AAAA;;;gGAGgG;AAChG,kDAA0B;AAC1B,wDAA0E;AAC1E,oEAAqF;AAW9E,MAAM,sBAAsB,GAAG,CAAC,EAAE,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,oBAAoB,EAAE,kBAAkB,EAA6B,EAAE,EAAE;IACxJ,OAAO,CACL,8BAAC,4BAAY,IACX,SAAS,EAAE,CAAC,KAAiB,EAAE,EAAE,CAC/B;YACE,oBAAoB,CAAC,CAAC,CAAC,CACrB,8BAAC,wBAAQ,IACP,GAAG,EAAE,CAAC,EACN,OAAO,EAAE,GAAG,EAAE;oBACZ,oBAAoB,CAAC,OAAO,CAAC,CAAC;oBAC9B,KAAK,EAAE,CAAC;gBACV,CAAC,EACD,IAAI,EAAE,8BAAC,6BAAO,OAAG,aAGR,CACZ,CAAC,CAAC,CAAC,CACF,EAAE,CACH;YACD,8BAAC,wBAAQ,IACP,GAAG,EAAE,CAAC,EACN,OAAO,EAAE,KAAK,IAAI,EAAE;oBAClB,KAAK,EAAE,CAAC;oBACR,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAC;oBAClC,MAAM,SAAS,EAAE,CAAC;gBACpB,CAAC,EACD,IAAI,EAAE,8BAAC,gCAAU,OAAG,IAEnB,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,mBAAmB,CAC9D;YACX,8BAAC,wBAAQ,IACP,GAAG,EAAE,CAAC,EACN,OAAO,EAAE,GAAG,EAAE;oBACZ,kBAAkB,CAAC,OAAO,CAAC,CAAC;oBAC5B,KAAK,EAAE,CAAC;gBACV,CAAC,EACD,IAAI,EAAE,8BAAC,+BAAS,OAAG,aAGV;SACZ,CAAC,IAAI,EAAE;QAGV,8BAAC,0BAAU,IAAC,SAAS,EAAC,YAAY,EAAC,KAAK,EAAC,iBAAiB;YACxD,8BAAC,6BAAO,OAAG,CACA,CACA,CAChB,CAAC;AACJ,CAAC,CAAC;AAhDW,QAAA,sBAAsB,0BAgDjC","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 *--------------------------------------------------------------------------------------------*/\nimport React from \"react\";\nimport { DropdownMenu, IconButton, MenuItem } from \"@itwin/itwinui-react\";\nimport { SvgDelete, SvgEdit, SvgMore, SvgProcess } from \"@itwin/itwinui-icons-react\";\nimport type { Mapping } from \"@itwin/insights-client\";\n\ninterface MappingUIActionGroupProps {\n mapping: Mapping;\n onToggleExtraction: (mapping: Mapping) => Promise<void>;\n onRefresh: () => Promise<void>;\n onClickMappingModify?: (mapping: Mapping) => void;\n setShowDeleteModal: (mapping?: Mapping) => void;\n}\n\nexport const MappingViewActionGroup = ({ mapping, onToggleExtraction, onRefresh, onClickMappingModify, setShowDeleteModal }: MappingUIActionGroupProps) => {\n return (\n <DropdownMenu\n menuItems={(close: () => void) =>\n [\n onClickMappingModify ? (\n <MenuItem\n key={0}\n onClick={() => {\n onClickMappingModify(mapping);\n close();\n }}\n icon={<SvgEdit />}\n >\n Modify\n </MenuItem>\n ) : (\n []\n ),\n <MenuItem\n key={1}\n onClick={async () => {\n close();\n await onToggleExtraction(mapping);\n await onRefresh();\n }}\n icon={<SvgProcess />}\n >\n {mapping.extractionEnabled ? \"Disable extraction\" : \"Enable extraction\"}\n </MenuItem>,\n <MenuItem\n key={2}\n onClick={() => {\n setShowDeleteModal(mapping);\n close();\n }}\n icon={<SvgDelete />}\n >\n Remove\n </MenuItem>,\n ].flat()\n }\n >\n <IconButton styleType=\"borderless\" title=\"Mapping Options\">\n <SvgMore />\n </IconButton>\n </DropdownMenu>\n );\n};\n"]}
@@ -5,9 +5,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.Mappings = void 0;
7
7
  /*---------------------------------------------------------------------------------------------
8
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
9
- * See LICENSE.md in the project root for license terms and full copyright notice.
10
- *--------------------------------------------------------------------------------------------*/
8
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
9
+ * See LICENSE.md in the project root for license terms and full copyright notice.
10
+ *--------------------------------------------------------------------------------------------*/
11
11
  const react_1 = __importDefault(require("react"));
12
12
  const MappingClientContext_1 = require("../context/MappingClientContext");
13
13
  const GroupingApiConfigContext_1 = require("../context/GroupingApiConfigContext");
@@ -1 +1 @@
1
- {"version":3,"file":"Mappings.js","sourceRoot":"","sources":["../../../../src/components/Mappings/Mappings.tsx"],"names":[],"mappings":";;;;;;AAAA;;;+FAG+F;AAC/F,kDAA0B;AAC1B,0EAAmE;AAEnE,kFAAkF;AAGlF,iDAA8C;AAC9C,yEAAsE;AAetE;;;GAGG;AACI,MAAM,QAAQ,GAAG,CAAC,KAAoB,EAAE,EAAE;IAC/C,MAAM,wBAAwB,GAAG,IAAA,sDAA2B,GAAE,CAAC;IAC/D,MAAM,aAAa,GAAG,IAAA,uCAAgB,GAAE,CAAC;IACzC,MAAM,EACJ,QAAQ,EACR,SAAS,EACT,0BAA0B,EAC1B,gBAAgB,EAChB,6BAA6B,EAC7B,eAAe,EACf,uBAAuB,EACvB,gBAAgB,EAChB,QAAQ,EACR,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,oBAAoB,GACrB,GAAG,IAAA,6CAAqB,EAAC,EAAE,GAAG,wBAAwB,EAAE,aAAa,EAAE,CAAC,CAAC;IAE1E,OAAO,CACL,8BAAC,2BAAY,IACX,QAAQ,EAAE,QAAQ,IAAI,EAAE,EACxB,SAAS,EAAE,SAAS,EACpB,oBAAoB,EAAE,gBAAgB,CAAC,oBAAoB,EAC3D,0BAA0B,EAAE,0BAA0B,EACtD,qBAAqB,EAAE,gBAAgB,CAAC,qBAAqB,EAC7D,6BAA6B,EAAE,6BAA6B,EAC5D,iBAAiB,EAAE,eAAe,EAClC,yBAAyB,EAAE,uBAAuB,EAClD,kBAAkB,EAAE,gBAAgB,EACpC,QAAQ,EAAE,QAAQ,EAClB,eAAe,EAAE,eAAe,EAChC,kBAAkB,EAAE,kBAAkB,EACtC,eAAe,EAAE,eAAe,EAChC,kBAAkB,EAAE,kBAAkB,EACtC,oBAAoB,EAAE,oBAAoB,KACtC,KAAK,GACT,CACH,CAAC;AACJ,CAAC,CAAC;AAxCW,QAAA,QAAQ,YAwCnB","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*--------------------------------------------------------------------------------------------*/\nimport React from \"react\";\nimport { useMappingClient } from \"../context/MappingClientContext\";\nimport type { Mapping } from \"@itwin/insights-client\";\nimport { useGroupingMappingApiConfig } from \"../context/GroupingApiConfigContext\";\nimport type { CreateTypeFromInterface } from \"../../common/utils\";\nimport type { mappingViewDefaultDisplayStrings } from \"./MappingsView\";\nimport { MappingsView } from \"./MappingsView\";\nimport { useMappingsOperations } from \"./hooks/useMappingsOperations\";\n\nexport type IMappingTyped = CreateTypeFromInterface<Mapping>;\n\n/**\n * Props for the {@link Mappings} component.\n * @public\n */\nexport interface MappingsProps {\n onClickAddMapping?: () => void;\n onClickMappingTitle?: (mapping: Mapping) => void;\n onClickMappingModify?: (mapping: Mapping) => void;\n displayStrings?: Partial<typeof mappingViewDefaultDisplayStrings>;\n}\n\n/**\n * Component to list mappings and handle basic operations.\n * @public\n */\nexport const Mappings = (props: MappingsProps) => {\n const groupingMappingApiConfig = useGroupingMappingApiConfig();\n const mappingClient = useMappingClient();\n const {\n mappings,\n isLoading,\n showExtractionMessageModal,\n extractionStatus,\n setShowExtractionMessageModal,\n refreshMappings,\n refreshExtractionStatus,\n toggleExtraction,\n onDelete,\n setShowImportModal,\n showImportModal,\n setShowDeleteModal,\n showDeleteModal,\n isTogglingExtraction,\n } = useMappingsOperations({ ...groupingMappingApiConfig, mappingClient });\n\n return (\n <MappingsView\n mappings={mappings ?? []}\n isLoading={isLoading}\n extractionStatusData={extractionStatus.extractionStatusIcon}\n showExtractionMessageModal={showExtractionMessageModal}\n extractionMessageData={extractionStatus.extractionMessageData}\n setShowExtractionMessageModal={setShowExtractionMessageModal}\n onRefreshMappings={refreshMappings}\n onRefreshExtractionStatus={refreshExtractionStatus}\n onToggleExtraction={toggleExtraction}\n onDelete={onDelete}\n showImportModal={showImportModal}\n setShowImportModal={setShowImportModal}\n showDeleteModal={showDeleteModal}\n setShowDeleteModal={setShowDeleteModal}\n isTogglingExtraction={isTogglingExtraction}\n {...props}\n />\n );\n};\n"]}
1
+ {"version":3,"file":"Mappings.js","sourceRoot":"","sources":["../../../../src/components/Mappings/Mappings.tsx"],"names":[],"mappings":";;;;;;AAAA;;;gGAGgG;AAChG,kDAA0B;AAC1B,0EAAmE;AAEnE,kFAAkF;AAGlF,iDAA8C;AAC9C,yEAAsE;AAetE;;;GAGG;AACI,MAAM,QAAQ,GAAG,CAAC,KAAoB,EAAE,EAAE;IAC/C,MAAM,wBAAwB,GAAG,IAAA,sDAA2B,GAAE,CAAC;IAC/D,MAAM,aAAa,GAAG,IAAA,uCAAgB,GAAE,CAAC;IACzC,MAAM,EACJ,QAAQ,EACR,SAAS,EACT,0BAA0B,EAC1B,gBAAgB,EAChB,6BAA6B,EAC7B,eAAe,EACf,uBAAuB,EACvB,gBAAgB,EAChB,QAAQ,EACR,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,oBAAoB,GACrB,GAAG,IAAA,6CAAqB,EAAC,EAAE,GAAG,wBAAwB,EAAE,aAAa,EAAE,CAAC,CAAC;IAE1E,OAAO,CACL,8BAAC,2BAAY,IACX,QAAQ,EAAE,QAAQ,IAAI,EAAE,EACxB,SAAS,EAAE,SAAS,EACpB,oBAAoB,EAAE,gBAAgB,CAAC,oBAAoB,EAC3D,0BAA0B,EAAE,0BAA0B,EACtD,qBAAqB,EAAE,gBAAgB,CAAC,qBAAqB,EAC7D,6BAA6B,EAAE,6BAA6B,EAC5D,iBAAiB,EAAE,eAAe,EAClC,yBAAyB,EAAE,uBAAuB,EAClD,kBAAkB,EAAE,gBAAgB,EACpC,QAAQ,EAAE,QAAQ,EAClB,eAAe,EAAE,eAAe,EAChC,kBAAkB,EAAE,kBAAkB,EACtC,eAAe,EAAE,eAAe,EAChC,kBAAkB,EAAE,kBAAkB,EACtC,oBAAoB,EAAE,oBAAoB,KACtC,KAAK,GACT,CACH,CAAC;AACJ,CAAC,CAAC;AAxCW,QAAA,QAAQ,YAwCnB","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 *--------------------------------------------------------------------------------------------*/\nimport React from \"react\";\nimport { useMappingClient } from \"../context/MappingClientContext\";\nimport type { Mapping } from \"@itwin/insights-client\";\nimport { useGroupingMappingApiConfig } from \"../context/GroupingApiConfigContext\";\nimport type { CreateTypeFromInterface } from \"../../common/utils\";\nimport type { mappingViewDefaultDisplayStrings } from \"./MappingsView\";\nimport { MappingsView } from \"./MappingsView\";\nimport { useMappingsOperations } from \"./hooks/useMappingsOperations\";\n\nexport type IMappingTyped = CreateTypeFromInterface<Mapping>;\n\n/**\n * Props for the {@link Mappings} component.\n * @public\n */\nexport interface MappingsProps {\n onClickAddMapping?: () => void;\n onClickMappingTitle?: (mapping: Mapping) => void;\n onClickMappingModify?: (mapping: Mapping) => void;\n displayStrings?: Partial<typeof mappingViewDefaultDisplayStrings>;\n}\n\n/**\n * Component to list mappings and handle basic operations.\n * @public\n */\nexport const Mappings = (props: MappingsProps) => {\n const groupingMappingApiConfig = useGroupingMappingApiConfig();\n const mappingClient = useMappingClient();\n const {\n mappings,\n isLoading,\n showExtractionMessageModal,\n extractionStatus,\n setShowExtractionMessageModal,\n refreshMappings,\n refreshExtractionStatus,\n toggleExtraction,\n onDelete,\n setShowImportModal,\n showImportModal,\n setShowDeleteModal,\n showDeleteModal,\n isTogglingExtraction,\n } = useMappingsOperations({ ...groupingMappingApiConfig, mappingClient });\n\n return (\n <MappingsView\n mappings={mappings ?? []}\n isLoading={isLoading}\n extractionStatusData={extractionStatus.extractionStatusIcon}\n showExtractionMessageModal={showExtractionMessageModal}\n extractionMessageData={extractionStatus.extractionMessageData}\n setShowExtractionMessageModal={setShowExtractionMessageModal}\n onRefreshMappings={refreshMappings}\n onRefreshExtractionStatus={refreshExtractionStatus}\n onToggleExtraction={toggleExtraction}\n onDelete={onDelete}\n showImportModal={showImportModal}\n setShowImportModal={setShowImportModal}\n showDeleteModal={showDeleteModal}\n setShowDeleteModal={setShowDeleteModal}\n isTogglingExtraction={isTogglingExtraction}\n {...props}\n />\n );\n};\n"]}
@@ -28,9 +28,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
29
  exports.MappingsView = exports.mappingViewDefaultDisplayStrings = void 0;
30
30
  /*---------------------------------------------------------------------------------------------
31
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
32
- * See LICENSE.md in the project root for license terms and full copyright notice.
33
- *--------------------------------------------------------------------------------------------*/
31
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
32
+ * See LICENSE.md in the project root for license terms and full copyright notice.
33
+ *--------------------------------------------------------------------------------------------*/
34
34
  const react_1 = __importStar(require("react"));
35
35
  const itwinui_react_1 = require("@itwin/itwinui-react");
36
36
  const itwinui_icons_react_1 = require("@itwin/itwinui-icons-react");
@@ -90,10 +90,9 @@ const MappingsView = ({ mappings, isLoading, extractionStatusData, showExtractio
90
90
  react_1.default.createElement("div", { className: "gmw-mappings-view-container" },
91
91
  react_1.default.createElement("div", { className: "gmw-table-toolbar" },
92
92
  react_1.default.createElement("div", { className: "gmw-button-spacing" },
93
- onClickAddMapping &&
94
- react_1.default.createElement(itwinui_react_1.Button, { startIcon: react_1.default.createElement(itwinui_icons_react_1.SvgAdd, null), onClick: onClickAddMapping, styleType: "high-visibility", title: "New Mapping" }, "New"),
95
- showImportModal !== undefined && setShowImportModal && react_1.default.createElement(itwinui_react_1.IconButton, { title: `Import ${displayStrings.mappings}`, onClick: () => setShowImportModal(true) },
96
- react_1.default.createElement(itwinui_icons_react_1.SvgImport, null)),
93
+ onClickAddMapping && (react_1.default.createElement(itwinui_react_1.Button, { startIcon: react_1.default.createElement(itwinui_icons_react_1.SvgAdd, null), onClick: onClickAddMapping, styleType: "high-visibility", title: "New Mapping" }, "New")),
94
+ showImportModal !== undefined && setShowImportModal && (react_1.default.createElement(itwinui_react_1.IconButton, { title: `Import ${displayStrings.mappings}`, onClick: () => setShowImportModal(true) },
95
+ react_1.default.createElement(itwinui_icons_react_1.SvgImport, null))),
97
96
  react_1.default.createElement(itwinui_react_1.IconButton, { title: "Run extraction", onClick: onRunExtraction, disabled: selectedMappings.length === 0 },
98
97
  react_1.default.createElement(itwinui_icons_react_1.SvgPlay, null))),
99
98
  react_1.default.createElement("div", { className: "gmw-button-spacing" },
@@ -102,17 +101,16 @@ const MappingsView = ({ mappings, isLoading, extractionStatusData, showExtractio
102
101
  setShowExtractionMessageModal(true);
103
102
  }
104
103
  }, iconMessage: extractionStatusData.iconMessage }),
105
- react_1.default.createElement(itwinui_react_1.IconButton, { title: "Refresh", onClick: refreshAll, disabled: isLoading, styleType: 'borderless' },
104
+ react_1.default.createElement(itwinui_react_1.IconButton, { title: "Refresh", onClick: refreshAll, disabled: isLoading, styleType: "borderless" },
106
105
  react_1.default.createElement(itwinui_icons_react_1.SvgRefresh, null)))),
107
106
  alert,
108
- react_1.default.createElement("div", { className: 'gmw-mappings-border' }),
107
+ react_1.default.createElement("div", { className: "gmw-mappings-border" }),
109
108
  isLoading ? (react_1.default.createElement(LoadingOverlay_1.LoadingOverlay, null)) : mappings.length === 0 ? (react_1.default.createElement(EmptyMessage_1.EmptyMessage, { message: `No ${displayStrings.mappings} available.` })) : (react_1.default.createElement(itwinui_react_1.List, { className: "gmw-mappings-list" }, mappings.map((mapping) => (react_1.default.createElement(MappingListItem_1.MappingListItem, { key: mapping.id, mapping: mapping, jobId: mappingIdJobInfo?.get(mapping.id) ?? "", jobStartEvent: jobStartEvent, onClickMappingTitle: onClickMappingTitle, onSelectionChange: onSelectionChange, selected: selectedMappings.some((eachMapping) => mapping.id === eachMapping.id), onToggleExtraction: onToggleExtraction, onRefreshMappings: onRefreshMappings, onClickMappingModify: onClickMappingModify, setShowDeleteModal: setShowDeleteModal })))))),
110
- showExtractionMessageModal && react_1.default.createElement(ExtractionMessageModal_1.ExtractionMessageModal, { isOpen: showExtractionMessageModal, onClose: () => setShowExtractionMessageModal(false), extractionMessageData: extractionMessageData, timestamp: extractionMessageData.length === 0 ? "" : extractionMessageData[0].date }),
111
- showDeleteModal &&
112
- react_1.default.createElement(DeleteModal_1.default, { entityName: showDeleteModal?.mappingName, onClose: () => setShowDeleteModal(undefined), onDelete: async () => {
113
- await onDelete(showDeleteModal);
114
- } }),
115
- showImportModal && setShowImportModal && react_1.default.createElement(MappingImportWizardModal_1.MappingImportWizardModal, { show: showImportModal, setShow: setShowImportModal, onFinish: onRefreshMappings, displayStrings: displayStrings })));
109
+ showExtractionMessageModal && (react_1.default.createElement(ExtractionMessageModal_1.ExtractionMessageModal, { isOpen: showExtractionMessageModal, onClose: () => setShowExtractionMessageModal(false), extractionMessageData: extractionMessageData, timestamp: extractionMessageData.length === 0 ? "" : extractionMessageData[0].date })),
110
+ showDeleteModal && (react_1.default.createElement(DeleteModal_1.default, { entityName: showDeleteModal?.mappingName, onClose: () => setShowDeleteModal(undefined), onDelete: async () => {
111
+ await onDelete(showDeleteModal);
112
+ } })),
113
+ showImportModal && setShowImportModal && (react_1.default.createElement(MappingImportWizardModal_1.MappingImportWizardModal, { show: showImportModal, setShow: setShowImportModal, onFinish: onRefreshMappings, displayStrings: displayStrings }))));
116
114
  };
117
115
  exports.MappingsView = MappingsView;
118
116
  //# sourceMappingURL=MappingsView.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MappingsView.js","sourceRoot":"","sources":["../../../../src/components/Mappings/MappingsView.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*--------------------------------------------------------------------------------------------*/\nimport React, { useCallback, useMemo, useState } from \"react\";\nimport type {\n Alert,\n} from \"@itwin/itwinui-react\";\nimport {\n Button,\n IconButton,\n List,\n} from \"@itwin/itwinui-react\";\nimport {\n SvgAdd,\n SvgImport,\n SvgPlay,\n SvgRefresh,\n} from \"@itwin/itwinui-icons-react\";\nimport { EmptyMessage } from \"../SharedComponents/EmptyMessage\";\nimport { LoadingOverlay } from \"../SharedComponents/LoadingOverlay\";\nimport \"./MappingsView.scss\";\nimport DeleteModal from \"../SharedComponents/DeleteModal\";\nimport { MappingImportWizardModal } from \"./Import/MappingImportWizardModal\";\nimport type { Mapping } from \"@itwin/insights-client\";\nimport { BlockingOverlay } from \"./BlockingOverlay\";\nimport type { ExtractionStatusData } from \"./Extraction/ExtractionStatusIcon\";\nimport { ExtractionStatusIcon } from \"./Extraction/ExtractionStatusIcon\";\nimport { MappingListItem } from \"./MappingListItem\";\nimport type { ExtractionMessageData } from \"./Extraction/ExtractionMessageModal\";\nimport { ExtractionMessageModal } from \"./Extraction/ExtractionMessageModal\";\nimport { BeEvent } from \"@itwin/core-bentley\";\nimport { useExtractionStateJobContext } from \"../context/ExtractionStateJobContext\";\nimport { useGroupingMappingApiConfig } from \"../context/GroupingApiConfigContext\";\nimport { useRunExtraction } from \"./hooks/useRunExtraction\";\n\nexport const mappingViewDefaultDisplayStrings = {\n mappings: \"Mappings\",\n iTwins: \"iTwins\",\n iTwinNumber: \"Number\",\n iTwinName: \"Name\",\n iTwinStatus: \"Status\",\n iModels: \"iModels\",\n iModelName: \"Name\",\n iModelDescription: \"Description\",\n};\n\n/**\n * @internal\n */\nexport interface MappingsViewProps {\n mappings: Mapping[];\n isLoading: boolean;\n extractionStatusData: ExtractionStatusData;\n showExtractionMessageModal: boolean;\n extractionMessageData: ExtractionMessageData[];\n setShowExtractionMessageModal: (show: boolean) => void;\n isTogglingExtraction: boolean;\n onRefreshMappings: () => Promise<void>;\n onRefreshExtractionStatus: () => Promise<void>;\n onToggleExtraction: (mapping: Mapping) => Promise<void>;\n onDelete: (mapping: Mapping) => Promise<void>;\n showDeleteModal: Mapping | undefined;\n setShowDeleteModal: (mapping?: Mapping) => void;\n displayStrings?: Partial<typeof mappingViewDefaultDisplayStrings>;\n showImportModal?: boolean;\n setShowImportModal?: (show: boolean) => void;\n onClickAddMapping?: () => void;\n onClickMappingTitle?: (mapping: Mapping) => void;\n onClickMappingModify?: (mapping: Mapping) => void;\n alert?: React.ReactElement<typeof Alert>;\n initialStateExtractionFlag?: boolean;\n setInitialExtractionStateFlag?: (initialStateExtractionFlag: boolean) => void;\n}\n\n/**\n * UI Component to list mappings and handle extraction.\n * @internal\n */\nexport const MappingsView = ({\n mappings,\n isLoading,\n extractionStatusData,\n showExtractionMessageModal,\n extractionMessageData,\n setShowExtractionMessageModal,\n isTogglingExtraction,\n onRefreshMappings,\n onRefreshExtractionStatus,\n onToggleExtraction,\n onDelete,\n showDeleteModal,\n setShowDeleteModal,\n displayStrings: userDisplayStrings,\n showImportModal,\n setShowImportModal,\n onClickAddMapping,\n onClickMappingTitle,\n onClickMappingModify,\n alert,\n}: MappingsViewProps) => {\n const displayStrings = React.useMemo(\n () => ({ ...mappingViewDefaultDisplayStrings, ...userDisplayStrings }),\n [userDisplayStrings]\n );\n const [selectedMappings, setSelectedMappings] = useState<Mapping[]>([]);\n const groupingMappingApiConfig = useGroupingMappingApiConfig();\n const { mappingIdJobInfo } = useExtractionStateJobContext();\n const { runExtraction } = useRunExtraction(groupingMappingApiConfig);\n\n const jobStartEvent = useMemo(\n () => new BeEvent<(mappingId: string) => void>(),\n []\n );\n\n const refreshAll = useCallback(async () => {\n await Promise.all([onRefreshMappings(), onRefreshExtractionStatus()]);\n }, [onRefreshMappings, onRefreshExtractionStatus]);\n\n const onSelectionChange = (mapping: Mapping) => {\n setSelectedMappings((mappingIdList) => {\n return mappingIdList.some((eachId) => mapping.id === eachId.id)\n ? mappingIdList.filter((eachId) => mapping.id !== eachId.id)\n : [...mappingIdList, mapping];\n }\n );\n };\n\n const onRunExtraction = useCallback(async () => {\n await runExtraction(selectedMappings);\n selectedMappings.map((mapping) => {\n jobStartEvent.raiseEvent(mapping.id);\n });\n setSelectedMappings([]);\n }, [selectedMappings, jobStartEvent, runExtraction]);\n\n return (\n <>\n <BlockingOverlay isVisible={isTogglingExtraction} />\n <div className=\"gmw-mappings-view-container\">\n <div className=\"gmw-table-toolbar\">\n <div className=\"gmw-button-spacing\">\n {onClickAddMapping &&\n <Button\n startIcon={<SvgAdd />}\n onClick={onClickAddMapping}\n styleType=\"high-visibility\"\n title=\"New Mapping\"\n >\n New\n </Button>\n }\n {showImportModal !== undefined && setShowImportModal && <IconButton\n title={`Import ${displayStrings.mappings}`}\n onClick={() => setShowImportModal(true)}\n >\n <SvgImport />\n </IconButton>\n }\n <IconButton\n title=\"Run extraction\"\n onClick={onRunExtraction}\n disabled={selectedMappings.length === 0}\n >\n <SvgPlay />\n </IconButton>\n </div>\n <div className=\"gmw-button-spacing\">\n <ExtractionStatusIcon\n iconStatus={extractionStatusData.iconStatus}\n onClick={() => {\n if (extractionStatusData.iconStatus === \"negative\") {\n setShowExtractionMessageModal(true);\n }\n }}\n iconMessage={extractionStatusData.iconMessage}\n />\n <IconButton\n title=\"Refresh\"\n onClick={refreshAll}\n disabled={isLoading}\n styleType='borderless'\n >\n <SvgRefresh />\n </IconButton>\n </div>\n </div>\n {alert}\n <div className='gmw-mappings-border' />\n {isLoading ? (\n <LoadingOverlay />\n ) : mappings.length === 0 ? (\n <EmptyMessage message={`No ${displayStrings.mappings} available.`} />\n ) : (\n <List className=\"gmw-mappings-list\">\n {mappings.map((mapping) => (\n <MappingListItem\n key={mapping.id}\n mapping={mapping}\n jobId={mappingIdJobInfo?.get(mapping.id) ?? \"\"}\n jobStartEvent={jobStartEvent}\n onClickMappingTitle={onClickMappingTitle}\n onSelectionChange={onSelectionChange}\n selected={selectedMappings.some(\n (eachMapping) => mapping.id === eachMapping.id\n )}\n onToggleExtraction={onToggleExtraction}\n onRefreshMappings={onRefreshMappings}\n onClickMappingModify={onClickMappingModify}\n setShowDeleteModal={setShowDeleteModal}\n />\n ))}\n </List>\n )}\n </div>\n {showExtractionMessageModal && <ExtractionMessageModal\n isOpen={showExtractionMessageModal}\n onClose={() => setShowExtractionMessageModal(false)}\n extractionMessageData={extractionMessageData}\n timestamp={extractionMessageData.length === 0 ? \"\" : extractionMessageData[0].date}\n />}\n {showDeleteModal &&\n <DeleteModal\n entityName={showDeleteModal?.mappingName}\n onClose={() => setShowDeleteModal(undefined)}\n onDelete={async () => {\n await onDelete(showDeleteModal);\n }}\n />\n }\n {showImportModal && setShowImportModal && <MappingImportWizardModal\n show={showImportModal}\n setShow={setShowImportModal}\n onFinish={onRefreshMappings}\n displayStrings={displayStrings}\n />}\n </>\n );\n};\n"]}
1
+ {"version":3,"file":"MappingsView.js","sourceRoot":"","sources":["../../../../src/components/Mappings/MappingsView.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 *--------------------------------------------------------------------------------------------*/\nimport React, { useCallback, useMemo, useState } from \"react\";\nimport type { Alert } from \"@itwin/itwinui-react\";\nimport { Button, IconButton, List } from \"@itwin/itwinui-react\";\nimport { SvgAdd, SvgImport, SvgPlay, SvgRefresh } from \"@itwin/itwinui-icons-react\";\nimport { EmptyMessage } from \"../SharedComponents/EmptyMessage\";\nimport { LoadingOverlay } from \"../SharedComponents/LoadingOverlay\";\nimport \"./MappingsView.scss\";\nimport DeleteModal from \"../SharedComponents/DeleteModal\";\nimport { MappingImportWizardModal } from \"./Import/MappingImportWizardModal\";\nimport type { Mapping } from \"@itwin/insights-client\";\nimport { BlockingOverlay } from \"./BlockingOverlay\";\nimport type { ExtractionStatusData } from \"./Extraction/ExtractionStatusIcon\";\nimport { ExtractionStatusIcon } from \"./Extraction/ExtractionStatusIcon\";\nimport { MappingListItem } from \"./MappingListItem\";\nimport type { ExtractionMessageData } from \"./Extraction/ExtractionMessageModal\";\nimport { ExtractionMessageModal } from \"./Extraction/ExtractionMessageModal\";\nimport { BeEvent } from \"@itwin/core-bentley\";\nimport { useExtractionStateJobContext } from \"../context/ExtractionStateJobContext\";\nimport { useGroupingMappingApiConfig } from \"../context/GroupingApiConfigContext\";\nimport { useRunExtraction } from \"./hooks/useRunExtraction\";\n\nexport const mappingViewDefaultDisplayStrings = {\n mappings: \"Mappings\",\n iTwins: \"iTwins\",\n iTwinNumber: \"Number\",\n iTwinName: \"Name\",\n iTwinStatus: \"Status\",\n iModels: \"iModels\",\n iModelName: \"Name\",\n iModelDescription: \"Description\",\n};\n\n/**\n * @internal\n */\nexport interface MappingsViewProps {\n mappings: Mapping[];\n isLoading: boolean;\n extractionStatusData: ExtractionStatusData;\n showExtractionMessageModal: boolean;\n extractionMessageData: ExtractionMessageData[];\n setShowExtractionMessageModal: (show: boolean) => void;\n isTogglingExtraction: boolean;\n onRefreshMappings: () => Promise<void>;\n onRefreshExtractionStatus: () => Promise<void>;\n onToggleExtraction: (mapping: Mapping) => Promise<void>;\n onDelete: (mapping: Mapping) => Promise<void>;\n showDeleteModal: Mapping | undefined;\n setShowDeleteModal: (mapping?: Mapping) => void;\n displayStrings?: Partial<typeof mappingViewDefaultDisplayStrings>;\n showImportModal?: boolean;\n setShowImportModal?: (show: boolean) => void;\n onClickAddMapping?: () => void;\n onClickMappingTitle?: (mapping: Mapping) => void;\n onClickMappingModify?: (mapping: Mapping) => void;\n alert?: React.ReactElement<typeof Alert>;\n initialStateExtractionFlag?: boolean;\n setInitialExtractionStateFlag?: (initialStateExtractionFlag: boolean) => void;\n}\n\n/**\n * UI Component to list mappings and handle extraction.\n * @internal\n */\nexport const MappingsView = ({\n mappings,\n isLoading,\n extractionStatusData,\n showExtractionMessageModal,\n extractionMessageData,\n setShowExtractionMessageModal,\n isTogglingExtraction,\n onRefreshMappings,\n onRefreshExtractionStatus,\n onToggleExtraction,\n onDelete,\n showDeleteModal,\n setShowDeleteModal,\n displayStrings: userDisplayStrings,\n showImportModal,\n setShowImportModal,\n onClickAddMapping,\n onClickMappingTitle,\n onClickMappingModify,\n alert,\n}: MappingsViewProps) => {\n const displayStrings = React.useMemo(() => ({ ...mappingViewDefaultDisplayStrings, ...userDisplayStrings }), [userDisplayStrings]);\n const [selectedMappings, setSelectedMappings] = useState<Mapping[]>([]);\n const groupingMappingApiConfig = useGroupingMappingApiConfig();\n const { mappingIdJobInfo } = useExtractionStateJobContext();\n const { runExtraction } = useRunExtraction(groupingMappingApiConfig);\n\n const jobStartEvent = useMemo(() => new BeEvent<(mappingId: string) => void>(), []);\n\n const refreshAll = useCallback(async () => {\n await Promise.all([onRefreshMappings(), onRefreshExtractionStatus()]);\n }, [onRefreshMappings, onRefreshExtractionStatus]);\n\n const onSelectionChange = (mapping: Mapping) => {\n setSelectedMappings((mappingIdList) => {\n return mappingIdList.some((eachId) => mapping.id === eachId.id)\n ? mappingIdList.filter((eachId) => mapping.id !== eachId.id)\n : [...mappingIdList, mapping];\n });\n };\n\n const onRunExtraction = useCallback(async () => {\n await runExtraction(selectedMappings);\n selectedMappings.map((mapping) => {\n jobStartEvent.raiseEvent(mapping.id);\n });\n setSelectedMappings([]);\n }, [selectedMappings, jobStartEvent, runExtraction]);\n\n return (\n <>\n <BlockingOverlay isVisible={isTogglingExtraction} />\n <div className=\"gmw-mappings-view-container\">\n <div className=\"gmw-table-toolbar\">\n <div className=\"gmw-button-spacing\">\n {onClickAddMapping && (\n <Button startIcon={<SvgAdd />} onClick={onClickAddMapping} styleType=\"high-visibility\" title=\"New Mapping\">\n New\n </Button>\n )}\n {showImportModal !== undefined && setShowImportModal && (\n <IconButton title={`Import ${displayStrings.mappings}`} onClick={() => setShowImportModal(true)}>\n <SvgImport />\n </IconButton>\n )}\n <IconButton title=\"Run extraction\" onClick={onRunExtraction} disabled={selectedMappings.length === 0}>\n <SvgPlay />\n </IconButton>\n </div>\n <div className=\"gmw-button-spacing\">\n <ExtractionStatusIcon\n iconStatus={extractionStatusData.iconStatus}\n onClick={() => {\n if (extractionStatusData.iconStatus === \"negative\") {\n setShowExtractionMessageModal(true);\n }\n }}\n iconMessage={extractionStatusData.iconMessage}\n />\n <IconButton title=\"Refresh\" onClick={refreshAll} disabled={isLoading} styleType=\"borderless\">\n <SvgRefresh />\n </IconButton>\n </div>\n </div>\n {alert}\n <div className=\"gmw-mappings-border\" />\n {isLoading ? (\n <LoadingOverlay />\n ) : mappings.length === 0 ? (\n <EmptyMessage message={`No ${displayStrings.mappings} available.`} />\n ) : (\n <List className=\"gmw-mappings-list\">\n {mappings.map((mapping) => (\n <MappingListItem\n key={mapping.id}\n mapping={mapping}\n jobId={mappingIdJobInfo?.get(mapping.id) ?? \"\"}\n jobStartEvent={jobStartEvent}\n onClickMappingTitle={onClickMappingTitle}\n onSelectionChange={onSelectionChange}\n selected={selectedMappings.some((eachMapping) => mapping.id === eachMapping.id)}\n onToggleExtraction={onToggleExtraction}\n onRefreshMappings={onRefreshMappings}\n onClickMappingModify={onClickMappingModify}\n setShowDeleteModal={setShowDeleteModal}\n />\n ))}\n </List>\n )}\n </div>\n {showExtractionMessageModal && (\n <ExtractionMessageModal\n isOpen={showExtractionMessageModal}\n onClose={() => setShowExtractionMessageModal(false)}\n extractionMessageData={extractionMessageData}\n timestamp={extractionMessageData.length === 0 ? \"\" : extractionMessageData[0].date}\n />\n )}\n {showDeleteModal && (\n <DeleteModal\n entityName={showDeleteModal?.mappingName}\n onClose={() => setShowDeleteModal(undefined)}\n onDelete={async () => {\n await onDelete(showDeleteModal);\n }}\n />\n )}\n {showImportModal && setShowImportModal && (\n <MappingImportWizardModal show={showImportModal} setShow={setShowImportModal} onFinish={onRefreshMappings} displayStrings={displayStrings} />\n )}\n </>\n );\n};\n"]}
@@ -28,7 +28,9 @@ const useFetchExtractionStatus = ({ iModelId, getAccessToken, extractionClient,
28
28
  else {
29
29
  if (latestJobStatus?.state === insights_client_1.ExtractionState.PartiallySucceeded || latestJobStatus?.state === insights_client_1.ExtractionState.Failed) {
30
30
  const logs = await extractionClient.getExtractionLogs(accessToken, latestExtractionResultId);
31
- extractionMessageData = logs.logs.filter((log) => log.message !== null).map((log) => ({
31
+ extractionMessageData = logs.logs
32
+ .filter((log) => log.message !== null)
33
+ .map((log) => ({
32
34
  date: log.dateTime,
33
35
  category: log.category,
34
36
  level: log.level,
@@ -1 +1 @@
1
- {"version":3,"file":"useFetchExtractionStatus.js","sourceRoot":"","sources":["../../../../../src/components/Mappings/hooks/useFetchExtractionStatus.ts"],"names":[],"mappings":";;;AAKA,4DAAyD;AACzD,uDAAiD;AAK1C,MAAM,wBAAwB,GAAG,CAAC,EACvC,QAAQ,EACR,cAAc,EACd,gBAAgB,GAKjB,EAAE,EAAE;IACH,OAAO,IAAA,sBAAQ,EAAC;QACd,QAAQ,EAAE,CAAC,wBAAwB,EAAE,QAAQ,CAAC;QAC9C,SAAS,EAAE,QAAQ;QACnB,eAAe,EAAE,SAAS;QAC1B,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,MAAM,WAAW,GAAG,MAAM,cAAc,EAAE,CAAC;YAC3C,MAAM,UAAU,GAAG,gBAAgB,CAAC,4BAA4B,CAAC,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;YAC3F,MAAM,sBAAsB,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,CAAC;YAEvD,IAAI,oBAA0C,CAAC;YAC/C,IAAI,qBAAqB,GAA4B,EAAE,CAAC;YAExD,MAAM,wBAAwB,GAAG,sBAAsB,CAAC,KAAK,EAAE,EAAE,CAAC;YAClE,IAAI,eAA2C,CAAC;YAChD,IAAI,wBAAwB,EAAE;gBAC5B,eAAe,GAAG,sBAAsB,CAAC,KAAK,CAAC;aAChD;YAED,IAAI,sBAAsB,CAAC,IAAI,EAAE;gBAC/B,oBAAoB,GAAG;oBACrB,UAAU,EAAE,UAAU;oBACtB,WAAW,EAAE,sBAAsB;iBACpC,CAAC;aACH;iBAAM;gBACL,IAAI,eAAe,EAAE,KAAK,KAAK,iCAAe,CAAC,kBAAkB,IAAI,eAAe,EAAE,KAAK,KAAK,iCAAe,CAAC,MAAM,EAAE;oBACtH,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,iBAAiB,CAAC,WAAW,EAAE,wBAAwB,CAAC,CAAC;oBAC7F,qBAAqB,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;wBACpF,IAAI,EAAE,GAAG,CAAC,QAAQ;wBAClB,QAAQ,EAAE,GAAG,CAAC,QAAQ;wBACtB,KAAK,EAAE,GAAG,CAAC,KAAK;wBAChB,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,EAAE;qBAC3B,CAAC,CAAC,CAAC;oBACJ,oBAAoB,GAAG;wBACrB,UAAU,EAAE,UAAU;wBACtB,WAAW,EAAE,4DAA4D;qBAC1E,CAAC;iBACH;qBAAM;oBACL,oBAAoB,GAAG;wBACrB,UAAU,EAAE,UAAU;wBACtB,WAAW,EAAE,wBAAwB;qBACtC,CAAC;iBACH;aACF;YAED,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,sBAAsB,EAAC,CAAC;QAChF,CAAC;KACF,CAAC,CAAC;AACL,CAAC,CAAC;AAxDW,QAAA,wBAAwB,4BAwDnC","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*--------------------------------------------------------------------------------------------*/\nimport type { ExtractionStatus, IExtractionClient } from \"@itwin/insights-client\";\nimport { ExtractionState } from \"@itwin/insights-client\";\nimport { useQuery } from \"@tanstack/react-query\";\nimport type { GetAccessTokenFn } from \"../../context/GroupingApiConfigContext\";\nimport type { ExtractionMessageData } from \"../Extraction/ExtractionMessageModal\";\nimport type { ExtractionStatusData } from \"../Extraction/ExtractionStatusIcon\";\n\nexport const useFetchExtractionStatus = ({\n iModelId,\n getAccessToken,\n extractionClient,\n}: {\n iModelId: string;\n getAccessToken: GetAccessTokenFn;\n extractionClient: IExtractionClient;\n}) => {\n return useQuery({\n queryKey: [\"iModelExtractionStatus\", iModelId],\n staleTime: Infinity,\n placeholderData: undefined,\n queryFn: async () => {\n const accessToken = await getAccessToken();\n const extraction = extractionClient.getIModelExtractionsIterator(accessToken, iModelId, 1);\n const latestExtractionResult = await extraction.next();\n\n let extractionStatusIcon: ExtractionStatusData;\n let extractionMessageData: ExtractionMessageData[] = [];\n\n const latestExtractionResultId = latestExtractionResult.value?.id;\n let latestJobStatus: ExtractionStatus|undefined;\n if (latestExtractionResultId) {\n latestJobStatus = latestExtractionResult.value;\n }\n\n if (latestExtractionResult.done) {\n extractionStatusIcon = {\n iconStatus: \"negative\",\n iconMessage: \"No extraction found.\",\n };\n } else {\n if (latestJobStatus?.state === ExtractionState.PartiallySucceeded || latestJobStatus?.state === ExtractionState.Failed) {\n const logs = await extractionClient.getExtractionLogs(accessToken, latestExtractionResultId);\n extractionMessageData = logs.logs.filter((log) => log.message !== null).map((log) => ({\n date: log.dateTime,\n category: log.category,\n level: log.level,\n message: log.message ?? \"\",\n }));\n extractionStatusIcon = {\n iconStatus: \"negative\",\n iconMessage: \"Extraction contains issues. Click to view extraction logs.\",\n };\n } else {\n extractionStatusIcon = {\n iconStatus: \"positive\",\n iconMessage: \"Extraction successful.\",\n };\n }\n }\n\n return { extractionStatusIcon, extractionMessageData, latestExtractionResult};\n },\n });\n};\n"]}
1
+ {"version":3,"file":"useFetchExtractionStatus.js","sourceRoot":"","sources":["../../../../../src/components/Mappings/hooks/useFetchExtractionStatus.ts"],"names":[],"mappings":";;;AAKA,4DAAyD;AACzD,uDAAiD;AAK1C,MAAM,wBAAwB,GAAG,CAAC,EACvC,QAAQ,EACR,cAAc,EACd,gBAAgB,GAKjB,EAAE,EAAE;IACH,OAAO,IAAA,sBAAQ,EAAC;QACd,QAAQ,EAAE,CAAC,wBAAwB,EAAE,QAAQ,CAAC;QAC9C,SAAS,EAAE,QAAQ;QACnB,eAAe,EAAE,SAAS;QAC1B,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,MAAM,WAAW,GAAG,MAAM,cAAc,EAAE,CAAC;YAC3C,MAAM,UAAU,GAAG,gBAAgB,CAAC,4BAA4B,CAAC,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;YAC3F,MAAM,sBAAsB,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,CAAC;YAEvD,IAAI,oBAA0C,CAAC;YAC/C,IAAI,qBAAqB,GAA4B,EAAE,CAAC;YAExD,MAAM,wBAAwB,GAAG,sBAAsB,CAAC,KAAK,EAAE,EAAE,CAAC;YAClE,IAAI,eAA6C,CAAC;YAClD,IAAI,wBAAwB,EAAE;gBAC5B,eAAe,GAAG,sBAAsB,CAAC,KAAK,CAAC;aAChD;YAED,IAAI,sBAAsB,CAAC,IAAI,EAAE;gBAC/B,oBAAoB,GAAG;oBACrB,UAAU,EAAE,UAAU;oBACtB,WAAW,EAAE,sBAAsB;iBACpC,CAAC;aACH;iBAAM;gBACL,IAAI,eAAe,EAAE,KAAK,KAAK,iCAAe,CAAC,kBAAkB,IAAI,eAAe,EAAE,KAAK,KAAK,iCAAe,CAAC,MAAM,EAAE;oBACtH,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,iBAAiB,CAAC,WAAW,EAAE,wBAAwB,CAAC,CAAC;oBAC7F,qBAAqB,GAAG,IAAI,CAAC,IAAI;yBAC9B,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,KAAK,IAAI,CAAC;yBACrC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;wBACb,IAAI,EAAE,GAAG,CAAC,QAAQ;wBAClB,QAAQ,EAAE,GAAG,CAAC,QAAQ;wBACtB,KAAK,EAAE,GAAG,CAAC,KAAK;wBAChB,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,EAAE;qBAC3B,CAAC,CAAC,CAAC;oBACN,oBAAoB,GAAG;wBACrB,UAAU,EAAE,UAAU;wBACtB,WAAW,EAAE,4DAA4D;qBAC1E,CAAC;iBACH;qBAAM;oBACL,oBAAoB,GAAG;wBACrB,UAAU,EAAE,UAAU;wBACtB,WAAW,EAAE,wBAAwB;qBACtC,CAAC;iBACH;aACF;YAED,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,CAAC;QACjF,CAAC;KACF,CAAC,CAAC;AACL,CAAC,CAAC;AA1DW,QAAA,wBAAwB,4BA0DnC","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 *--------------------------------------------------------------------------------------------*/\nimport type { ExtractionStatus, IExtractionClient } from \"@itwin/insights-client\";\nimport { ExtractionState } from \"@itwin/insights-client\";\nimport { useQuery } from \"@tanstack/react-query\";\nimport type { GetAccessTokenFn } from \"../../context/GroupingApiConfigContext\";\nimport type { ExtractionMessageData } from \"../Extraction/ExtractionMessageModal\";\nimport type { ExtractionStatusData } from \"../Extraction/ExtractionStatusIcon\";\n\nexport const useFetchExtractionStatus = ({\n iModelId,\n getAccessToken,\n extractionClient,\n}: {\n iModelId: string;\n getAccessToken: GetAccessTokenFn;\n extractionClient: IExtractionClient;\n}) => {\n return useQuery({\n queryKey: [\"iModelExtractionStatus\", iModelId],\n staleTime: Infinity,\n placeholderData: undefined,\n queryFn: async () => {\n const accessToken = await getAccessToken();\n const extraction = extractionClient.getIModelExtractionsIterator(accessToken, iModelId, 1);\n const latestExtractionResult = await extraction.next();\n\n let extractionStatusIcon: ExtractionStatusData;\n let extractionMessageData: ExtractionMessageData[] = [];\n\n const latestExtractionResultId = latestExtractionResult.value?.id;\n let latestJobStatus: ExtractionStatus | undefined;\n if (latestExtractionResultId) {\n latestJobStatus = latestExtractionResult.value;\n }\n\n if (latestExtractionResult.done) {\n extractionStatusIcon = {\n iconStatus: \"negative\",\n iconMessage: \"No extraction found.\",\n };\n } else {\n if (latestJobStatus?.state === ExtractionState.PartiallySucceeded || latestJobStatus?.state === ExtractionState.Failed) {\n const logs = await extractionClient.getExtractionLogs(accessToken, latestExtractionResultId);\n extractionMessageData = logs.logs\n .filter((log) => log.message !== null)\n .map((log) => ({\n date: log.dateTime,\n category: log.category,\n level: log.level,\n message: log.message ?? \"\",\n }));\n extractionStatusIcon = {\n iconStatus: \"negative\",\n iconMessage: \"Extraction contains issues. Click to view extraction logs.\",\n };\n } else {\n extractionStatusIcon = {\n iconStatus: \"positive\",\n iconMessage: \"Extraction successful.\",\n };\n }\n }\n\n return { extractionStatusIcon, extractionMessageData, latestExtractionResult };\n },\n });\n};\n"]}
@@ -16,5 +16,5 @@ export declare const fetchMappingStatus: (mappingId: string, jobId: string, getA
16
16
  finalExtractionStateValue: ExtractionStates;
17
17
  }>;
18
18
  export declare const resetMappingExtractionStatus: (queryClient: QueryClient) => Promise<void>;
19
- export declare const useFetchMappingExtractionStatus: ({ getAccessToken, mapping, enabled, }: MappingExtractionStatusProps) => import("@tanstack/react-query").UseQueryResult<MappingQueryResult, unknown>;
19
+ export declare const useFetchMappingExtractionStatus: ({ getAccessToken, mapping, enabled }: MappingExtractionStatusProps) => import("@tanstack/react-query").UseQueryResult<MappingQueryResult, unknown>;
20
20
  //# sourceMappingURL=useFetchMappingExtractionStatus.d.ts.map
@@ -9,7 +9,7 @@ const ExtractionClientContext_1 = require("../../context/ExtractionClientContext
9
9
  const ExtractionStateJobContext_1 = require("../../context/ExtractionStateJobContext");
10
10
  const fetchMappingStatus = async (mappingId, jobId, getAccessToken, extractionClient) => {
11
11
  const accessToken = await getAccessToken();
12
- const getFinalExtractionStatus = ((extractionStatusResponse) => {
12
+ const getFinalExtractionStatus = (extractionStatusResponse) => {
13
13
  switch (extractionStatusResponse.state) {
14
14
  case undefined:
15
15
  return { mappingId, finalExtractionStateValue: ExtractionStatus_1.ExtractionStates.Starting };
@@ -25,7 +25,7 @@ const fetchMappingStatus = async (mappingId, jobId, getAccessToken, extractionCl
25
25
  default:
26
26
  return { mappingId, finalExtractionStateValue: ExtractionStatus_1.ExtractionStates.None };
27
27
  }
28
- });
28
+ };
29
29
  const extractionStatusResponse = await extractionClient.getExtractionStatus(accessToken, jobId);
30
30
  return getFinalExtractionStatus(extractionStatusResponse);
31
31
  };
@@ -34,7 +34,7 @@ const resetMappingExtractionStatus = async (queryClient) => {
34
34
  await queryClient.invalidateQueries({ queryKey: ["extractionState"] });
35
35
  };
36
36
  exports.resetMappingExtractionStatus = resetMappingExtractionStatus;
37
- const useFetchMappingExtractionStatus = ({ getAccessToken, mapping, enabled, }) => {
37
+ const useFetchMappingExtractionStatus = ({ getAccessToken, mapping, enabled }) => {
38
38
  const extractionClient = (0, ExtractionClientContext_1.useExtractionClient)();
39
39
  const { mappingIdJobInfo } = (0, ExtractionStateJobContext_1.useExtractionStateJobContext)();
40
40
  const jobId = mappingIdJobInfo.get(mapping.id);
@@ -1 +1 @@
1
- {"version":3,"file":"useFetchMappingExtractionStatus.js","sourceRoot":"","sources":["../../../../../src/components/Mappings/hooks/useFetchMappingExtractionStatus.ts"],"names":[],"mappings":";;;AAKA,uDAAiD;AAEjD,4DAAyD;AAEzD,+CAAwD;AACxD,qEAAkE;AAElE,mFAA4E;AAC5E,uFAAuF;AAYhF,MAAM,kBAAkB,GAAG,KAAK,EACrC,SAAiB,EACjB,KAAa,EACb,cAAgC,EAChC,gBAAmC,EACnC,EAAE;IACF,MAAM,WAAW,GAAG,MAAM,cAAc,EAAE,CAAC;IAE3C,MAAM,wBAAwB,GAAG,CAAC,CAAC,wBAA0C,EAAE,EAAE;QAC/E,QAAO,wBAAwB,CAAC,KAAK,EAAE;YACrC,KAAK,SAAS;gBACZ,OAAO,EAAE,SAAS,EAAE,yBAAyB,EAAE,mCAAgB,CAAC,QAAQ,EAAC,CAAC;YAC5E,KAAK,iCAAe,CAAC,OAAO;gBAC1B,OAAO,EAAE,SAAS,EAAE,yBAAyB,EAAE,mCAAgB,CAAC,OAAO,EAAC,CAAC;YAC3E,KAAK,iCAAe,CAAC,MAAM;gBACzB,OAAO,EAAE,SAAS,EAAE,yBAAyB,EAAE,mCAAgB,CAAC,MAAM,EAAC,CAAC;YAC1E,KAAK,iCAAe,CAAC,MAAM;gBACzB,OAAO,EAAE,SAAS,EAAE,yBAAyB,EAAE,mCAAgB,CAAC,MAAM,EAAC,CAAC;YAC1E,KAAK,iCAAe,CAAC,SAAS,CAAC;YAC/B,KAAK,iCAAe,CAAC,kBAAkB;gBACrC,OAAO,EAAE,SAAS,EAAE,yBAAyB,EAAE,mCAAgB,CAAC,SAAS,EAAC,CAAC;YAC7E;gBACE,OAAO,EAAE,SAAS,EAAE,yBAAyB,EAAE,mCAAgB,CAAC,IAAI,EAAC,CAAC;SACzE;IACH,CAAC,CAAC,CAAC;IACH,MAAM,wBAAwB,GAAG,MAAM,gBAAgB,CAAC,mBAAmB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAChG,OAAO,wBAAwB,CAAC,wBAAwB,CAAC,CAAC;AAC5D,CAAC,CAAC;AA3BW,QAAA,kBAAkB,sBA2B7B;AAEK,MAAM,4BAA4B,GAAG,KAAK,EAAE,WAAwB,EAAE,EAAE;IAC7E,MAAM,WAAW,CAAC,iBAAiB,CAAC,EAAC,QAAQ,EAAE,CAAC,iBAAiB,CAAC,EAAC,CAAC,CAAC;AACvE,CAAC,CAAC;AAFW,QAAA,4BAA4B,gCAEvC;AAEK,MAAM,+BAA+B,GAAG,CAAC,EAC9C,cAAc,EACd,OAAO,EACP,OAAO,GACsB,EAAE,EAAE;IACjC,MAAM,gBAAgB,GAAG,IAAA,6CAAmB,GAAE,CAAC;IAC/C,MAAM,EAAE,gBAAgB,EAAE,GAAG,IAAA,wDAA4B,GAAE,CAAC;IAC5D,MAAM,KAAK,GAAG,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAE/C,MAAM,WAAW,GAAG,IAAA,sBAAQ,EAAqB;QAC/C,QAAQ,EAAE,CAAC,iBAAiB,EAAE,KAAK,CAAC;QACpC,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,IAAI,KAAK,EAAE;gBACT,OAAO,IAAA,0BAAkB,EAAC,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,gBAAgB,CAAC,CAAC;aAChF;YACD,uEAAuE;YACvE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACzC,CAAC;QACD,OAAO,EAAE,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC;QAClC,eAAe,EAAE,iCAAqB;KACvC,CAAC,CAAC;IAEH,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC;AAvBW,QAAA,+BAA+B,mCAuB1C","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*--------------------------------------------------------------------------------------------*/\nimport type { QueryClient } from \"@tanstack/react-query\";\nimport { useQuery } from \"@tanstack/react-query\";\nimport type { ExtractionStatus, IExtractionClient } from \"@itwin/insights-client\";\nimport { ExtractionState } from \"@itwin/insights-client\";\nimport type { Mapping } from \"@itwin/insights-client\";\nimport { STATUS_CHECK_INTERVAL } from \"../../Constants\";\nimport { ExtractionStates } from \"../Extraction/ExtractionStatus\";\nimport type { GetAccessTokenFn, GroupingMappingApiConfig } from \"../../context/GroupingApiConfigContext\";\nimport { useExtractionClient } from \"../../context/ExtractionClientContext\";\nimport { useExtractionStateJobContext } from \"../../context/ExtractionStateJobContext\";\n\nexport interface MappingExtractionStatusProps extends GroupingMappingApiConfig {\n mapping: Mapping;\n enabled: boolean;\n}\n\nexport interface MappingQueryResult {\n mappingId: string;\n finalExtractionStateValue: ExtractionStates;\n}\n\nexport const fetchMappingStatus = async (\n mappingId: string,\n jobId: string,\n getAccessToken: GetAccessTokenFn,\n extractionClient: IExtractionClient,\n) => {\n const accessToken = await getAccessToken();\n\n const getFinalExtractionStatus = ((extractionStatusResponse: ExtractionStatus) => {\n switch(extractionStatusResponse.state) {\n case undefined:\n return { mappingId, finalExtractionStateValue: ExtractionStates.Starting};\n case ExtractionState.Running:\n return { mappingId, finalExtractionStateValue: ExtractionStates.Running};\n case ExtractionState.Failed:\n return { mappingId, finalExtractionStateValue: ExtractionStates.Failed};\n case ExtractionState.Queued:\n return { mappingId, finalExtractionStateValue: ExtractionStates.Queued};\n case ExtractionState.Succeeded:\n case ExtractionState.PartiallySucceeded:\n return { mappingId, finalExtractionStateValue: ExtractionStates.Succeeded};\n default:\n return { mappingId, finalExtractionStateValue: ExtractionStates.None};\n }\n });\n const extractionStatusResponse = await extractionClient.getExtractionStatus(accessToken, jobId);\n return getFinalExtractionStatus(extractionStatusResponse);\n};\n\nexport const resetMappingExtractionStatus = async (queryClient: QueryClient) => {\n await queryClient.invalidateQueries({queryKey: [\"extractionState\"]});\n};\n\nexport const useFetchMappingExtractionStatus = ({\n getAccessToken,\n mapping,\n enabled,\n}: MappingExtractionStatusProps) => {\n const extractionClient = useExtractionClient();\n const { mappingIdJobInfo } = useExtractionStateJobContext();\n const jobId = mappingIdJobInfo.get(mapping.id);\n\n const statusQuery = useQuery<MappingQueryResult>({\n queryKey: [\"extractionState\", jobId],\n queryFn: async () => {\n if (jobId) {\n return fetchMappingStatus(mapping.id, jobId, getAccessToken, extractionClient);\n }\n // This should not happen as jobId should be defined if enabled is true\n throw new Error(\"Job ID is undefined\");\n },\n enabled: enabled && Boolean(jobId), // Only enable the query if enabled is true and jobId is defined\n refetchInterval: STATUS_CHECK_INTERVAL,\n });\n\n return statusQuery;\n};\n"]}
1
+ {"version":3,"file":"useFetchMappingExtractionStatus.js","sourceRoot":"","sources":["../../../../../src/components/Mappings/hooks/useFetchMappingExtractionStatus.ts"],"names":[],"mappings":";;;AAKA,uDAAiD;AAEjD,4DAAyD;AAEzD,+CAAwD;AACxD,qEAAkE;AAElE,mFAA4E;AAC5E,uFAAuF;AAYhF,MAAM,kBAAkB,GAAG,KAAK,EAAE,SAAiB,EAAE,KAAa,EAAE,cAAgC,EAAE,gBAAmC,EAAE,EAAE;IAClJ,MAAM,WAAW,GAAG,MAAM,cAAc,EAAE,CAAC;IAE3C,MAAM,wBAAwB,GAAG,CAAC,wBAA0C,EAAE,EAAE;QAC9E,QAAQ,wBAAwB,CAAC,KAAK,EAAE;YACtC,KAAK,SAAS;gBACZ,OAAO,EAAE,SAAS,EAAE,yBAAyB,EAAE,mCAAgB,CAAC,QAAQ,EAAE,CAAC;YAC7E,KAAK,iCAAe,CAAC,OAAO;gBAC1B,OAAO,EAAE,SAAS,EAAE,yBAAyB,EAAE,mCAAgB,CAAC,OAAO,EAAE,CAAC;YAC5E,KAAK,iCAAe,CAAC,MAAM;gBACzB,OAAO,EAAE,SAAS,EAAE,yBAAyB,EAAE,mCAAgB,CAAC,MAAM,EAAE,CAAC;YAC3E,KAAK,iCAAe,CAAC,MAAM;gBACzB,OAAO,EAAE,SAAS,EAAE,yBAAyB,EAAE,mCAAgB,CAAC,MAAM,EAAE,CAAC;YAC3E,KAAK,iCAAe,CAAC,SAAS,CAAC;YAC/B,KAAK,iCAAe,CAAC,kBAAkB;gBACrC,OAAO,EAAE,SAAS,EAAE,yBAAyB,EAAE,mCAAgB,CAAC,SAAS,EAAE,CAAC;YAC9E;gBACE,OAAO,EAAE,SAAS,EAAE,yBAAyB,EAAE,mCAAgB,CAAC,IAAI,EAAE,CAAC;SAC1E;IACH,CAAC,CAAC;IACF,MAAM,wBAAwB,GAAG,MAAM,gBAAgB,CAAC,mBAAmB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAChG,OAAO,wBAAwB,CAAC,wBAAwB,CAAC,CAAC;AAC5D,CAAC,CAAC;AAtBW,QAAA,kBAAkB,sBAsB7B;AAEK,MAAM,4BAA4B,GAAG,KAAK,EAAE,WAAwB,EAAE,EAAE;IAC7E,MAAM,WAAW,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;AACzE,CAAC,CAAC;AAFW,QAAA,4BAA4B,gCAEvC;AAEK,MAAM,+BAA+B,GAAG,CAAC,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,EAAgC,EAAE,EAAE;IACpH,MAAM,gBAAgB,GAAG,IAAA,6CAAmB,GAAE,CAAC;IAC/C,MAAM,EAAE,gBAAgB,EAAE,GAAG,IAAA,wDAA4B,GAAE,CAAC;IAC5D,MAAM,KAAK,GAAG,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAE/C,MAAM,WAAW,GAAG,IAAA,sBAAQ,EAAqB;QAC/C,QAAQ,EAAE,CAAC,iBAAiB,EAAE,KAAK,CAAC;QACpC,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,IAAI,KAAK,EAAE;gBACT,OAAO,IAAA,0BAAkB,EAAC,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,gBAAgB,CAAC,CAAC;aAChF;YACD,uEAAuE;YACvE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACzC,CAAC;QACD,OAAO,EAAE,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC;QAClC,eAAe,EAAE,iCAAqB;KACvC,CAAC,CAAC;IAEH,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC;AAnBW,QAAA,+BAA+B,mCAmB1C","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 *--------------------------------------------------------------------------------------------*/\nimport type { QueryClient } from \"@tanstack/react-query\";\nimport { useQuery } from \"@tanstack/react-query\";\nimport type { ExtractionStatus, IExtractionClient } from \"@itwin/insights-client\";\nimport { ExtractionState } from \"@itwin/insights-client\";\nimport type { Mapping } from \"@itwin/insights-client\";\nimport { STATUS_CHECK_INTERVAL } from \"../../Constants\";\nimport { ExtractionStates } from \"../Extraction/ExtractionStatus\";\nimport type { GetAccessTokenFn, GroupingMappingApiConfig } from \"../../context/GroupingApiConfigContext\";\nimport { useExtractionClient } from \"../../context/ExtractionClientContext\";\nimport { useExtractionStateJobContext } from \"../../context/ExtractionStateJobContext\";\n\nexport interface MappingExtractionStatusProps extends GroupingMappingApiConfig {\n mapping: Mapping;\n enabled: boolean;\n}\n\nexport interface MappingQueryResult {\n mappingId: string;\n finalExtractionStateValue: ExtractionStates;\n}\n\nexport const fetchMappingStatus = async (mappingId: string, jobId: string, getAccessToken: GetAccessTokenFn, extractionClient: IExtractionClient) => {\n const accessToken = await getAccessToken();\n\n const getFinalExtractionStatus = (extractionStatusResponse: ExtractionStatus) => {\n switch (extractionStatusResponse.state) {\n case undefined:\n return { mappingId, finalExtractionStateValue: ExtractionStates.Starting };\n case ExtractionState.Running:\n return { mappingId, finalExtractionStateValue: ExtractionStates.Running };\n case ExtractionState.Failed:\n return { mappingId, finalExtractionStateValue: ExtractionStates.Failed };\n case ExtractionState.Queued:\n return { mappingId, finalExtractionStateValue: ExtractionStates.Queued };\n case ExtractionState.Succeeded:\n case ExtractionState.PartiallySucceeded:\n return { mappingId, finalExtractionStateValue: ExtractionStates.Succeeded };\n default:\n return { mappingId, finalExtractionStateValue: ExtractionStates.None };\n }\n };\n const extractionStatusResponse = await extractionClient.getExtractionStatus(accessToken, jobId);\n return getFinalExtractionStatus(extractionStatusResponse);\n};\n\nexport const resetMappingExtractionStatus = async (queryClient: QueryClient) => {\n await queryClient.invalidateQueries({ queryKey: [\"extractionState\"] });\n};\n\nexport const useFetchMappingExtractionStatus = ({ getAccessToken, mapping, enabled }: MappingExtractionStatusProps) => {\n const extractionClient = useExtractionClient();\n const { mappingIdJobInfo } = useExtractionStateJobContext();\n const jobId = mappingIdJobInfo.get(mapping.id);\n\n const statusQuery = useQuery<MappingQueryResult>({\n queryKey: [\"extractionState\", jobId],\n queryFn: async () => {\n if (jobId) {\n return fetchMappingStatus(mapping.id, jobId, getAccessToken, extractionClient);\n }\n // This should not happen as jobId should be defined if enabled is true\n throw new Error(\"Job ID is undefined\");\n },\n enabled: enabled && Boolean(jobId), // Only enable the query if enabled is true and jobId is defined\n refetchInterval: STATUS_CHECK_INTERVAL,\n });\n\n return statusQuery;\n};\n"]}
@@ -8,7 +8,7 @@ const useFetchMappings = (iModelId, getAccessToken, mappingsClient) => (0, react
8
8
  const accessToken = await getAccessToken();
9
9
  const mappings = await mappingsClient.getMappings(accessToken, iModelId);
10
10
  return mappings.mappings.sort((a, b) => a.mappingName.localeCompare(b.mappingName));
11
- }
11
+ },
12
12
  });
13
13
  exports.useFetchMappings = useFetchMappings;
14
14
  //# sourceMappingURL=useFetchMappings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useFetchMappings.js","sourceRoot":"","sources":["../../../../../src/components/Mappings/hooks/useFetchMappings.ts"],"names":[],"mappings":";;;AAKA,uDAAiD;AAG1C,MAAM,gBAAgB,GAAG,CAAC,QAAgB,EAAE,cAAgC,EAAE,cAA+B,EAAE,EAAE,CACtH,IAAA,sBAAQ,EAAC;IACP,QAAQ,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC;IAChC,OAAO,EAAE,KAAK,IAAI,EAAE;QAClB,MAAM,WAAW,GAAG,MAAM,cAAc,EAAE,CAAC;QAC3C,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,WAAW,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QACzE,OAAO,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;IACtF,CAAC;CAAC,CAAC,CAAC;AAPK,QAAA,gBAAgB,oBAOrB","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*--------------------------------------------------------------------------------------------*/\nimport type { IMappingsClient } from \"@itwin/insights-client\";\nimport { useQuery } from \"@tanstack/react-query\";\nimport type { GetAccessTokenFn } from \"../../context/GroupingApiConfigContext\";\n\nexport const useFetchMappings = (iModelId: string, getAccessToken: GetAccessTokenFn, mappingsClient: IMappingsClient) =>\n useQuery({\n queryKey: [\"mappings\", iModelId],\n queryFn: async () => {\n const accessToken = await getAccessToken();\n const mappings = await mappingsClient.getMappings(accessToken, iModelId);\n return mappings.mappings.sort((a, b) => a.mappingName.localeCompare(b.mappingName));\n }});\n"]}
1
+ {"version":3,"file":"useFetchMappings.js","sourceRoot":"","sources":["../../../../../src/components/Mappings/hooks/useFetchMappings.ts"],"names":[],"mappings":";;;AAKA,uDAAiD;AAG1C,MAAM,gBAAgB,GAAG,CAAC,QAAgB,EAAE,cAAgC,EAAE,cAA+B,EAAE,EAAE,CACtH,IAAA,sBAAQ,EAAC;IACP,QAAQ,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC;IAChC,OAAO,EAAE,KAAK,IAAI,EAAE;QAClB,MAAM,WAAW,GAAG,MAAM,cAAc,EAAE,CAAC;QAC3C,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,WAAW,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QACzE,OAAO,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;IACtF,CAAC;CACF,CAAC,CAAC;AARQ,QAAA,gBAAgB,oBAQxB","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 *--------------------------------------------------------------------------------------------*/\nimport type { IMappingsClient } from \"@itwin/insights-client\";\nimport { useQuery } from \"@tanstack/react-query\";\nimport type { GetAccessTokenFn } from \"../../context/GroupingApiConfigContext\";\n\nexport const useFetchMappings = (iModelId: string, getAccessToken: GetAccessTokenFn, mappingsClient: IMappingsClient) =>\n useQuery({\n queryKey: [\"mappings\", iModelId],\n queryFn: async () => {\n const accessToken = await getAccessToken();\n const mappings = await mappingsClient.getMappings(accessToken, iModelId);\n return mappings.mappings.sort((a, b) => a.mappingName.localeCompare(b.mappingName));\n },\n });\n"]}