@itwin/grouping-mapping-widget 0.25.2 → 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 (689) hide show
  1. package/LICENSE.md +9 -9
  2. package/README.md +115 -115
  3. package/lib/cjs/WidgetShell/GroupingMapping.d.ts +5 -5
  4. package/lib/cjs/WidgetShell/GroupingMapping.js +2 -4
  5. package/lib/cjs/WidgetShell/GroupingMapping.js.map +1 -1
  6. package/lib/cjs/WidgetShell/GroupingMappingContent.js +4 -4
  7. package/lib/cjs/WidgetShell/GroupingMappingContent.js.map +1 -1
  8. package/lib/cjs/WidgetShell/GroupingMappingHeader.d.ts +1 -1
  9. package/lib/cjs/WidgetShell/GroupingMappingHeader.js +5 -5
  10. package/lib/cjs/WidgetShell/GroupingMappingHeader.js.map +1 -1
  11. package/lib/cjs/WidgetShell/GroupingMappingWidget.d.ts +4 -0
  12. package/lib/cjs/WidgetShell/GroupingMappingWidget.js +5 -3
  13. package/lib/cjs/WidgetShell/GroupingMappingWidget.js.map +1 -1
  14. package/lib/cjs/WidgetShell/Router/GroupingMappingRouter.js +28 -8
  15. package/lib/cjs/WidgetShell/Router/GroupingMappingRouter.js.map +1 -1
  16. package/lib/cjs/WidgetShell/WidgetHeader/WidgetHeader.d.ts +1 -1
  17. package/lib/cjs/WidgetShell/WidgetHeader/WidgetHeader.js +7 -7
  18. package/lib/cjs/WidgetShell/WidgetHeader/WidgetHeader.js.map +1 -1
  19. package/lib/cjs/common/hooks/useIsMounted.js +3 -3
  20. package/lib/cjs/common/hooks/useIsMounted.js.map +1 -1
  21. package/lib/cjs/common/hooks/useMemoizedCollectionPick.js +3 -3
  22. package/lib/cjs/common/hooks/useMemoizedCollectionPick.js.map +1 -1
  23. package/lib/cjs/common/utils.js +3 -3
  24. package/lib/cjs/common/utils.js.map +1 -1
  25. package/lib/cjs/common/viewerUtils.js +2 -2
  26. package/lib/cjs/common/viewerUtils.js.map +1 -1
  27. package/lib/cjs/components/Constants.js +4 -4
  28. package/lib/cjs/components/Constants.js.map +1 -1
  29. package/lib/cjs/components/GroupingMappingContext.d.ts +19 -3
  30. package/lib/cjs/components/GroupingMappingContext.js +40 -13
  31. package/lib/cjs/components/GroupingMappingContext.js.map +1 -1
  32. package/lib/cjs/components/Groups/Editing/GroupAction.d.ts +10 -2
  33. package/lib/cjs/components/Groups/Editing/GroupAction.js +16 -14
  34. package/lib/cjs/components/Groups/Editing/GroupAction.js.map +1 -1
  35. package/lib/cjs/components/Groups/Editing/GroupDetails.d.ts +1 -1
  36. package/lib/cjs/components/Groups/Editing/GroupDetails.js +5 -7
  37. package/lib/cjs/components/Groups/Editing/GroupDetails.js.map +1 -1
  38. package/lib/cjs/components/Groups/Editing/GroupDetailsActionPanel.d.ts +1 -1
  39. package/lib/cjs/components/Groups/Editing/GroupDetailsActionPanel.js +4 -4
  40. package/lib/cjs/components/Groups/Editing/GroupDetailsActionPanel.js.map +1 -1
  41. package/lib/cjs/components/Groups/Editing/GroupDetailsStep.js +4 -4
  42. package/lib/cjs/components/Groups/Editing/GroupDetailsStep.js.map +1 -1
  43. package/lib/cjs/components/Groups/GroupColorLegend.d.ts +3 -3
  44. package/lib/cjs/components/Groups/GroupColorLegend.js +3 -3
  45. package/lib/cjs/components/Groups/GroupColorLegend.js.map +1 -1
  46. package/lib/cjs/components/Groups/GroupListItem.d.ts +4 -4
  47. package/lib/cjs/components/Groups/GroupListItem.js +6 -4
  48. package/lib/cjs/components/Groups/GroupListItem.js.map +1 -1
  49. package/lib/cjs/components/Groups/GroupListItem.scss +14 -0
  50. package/lib/cjs/components/Groups/GroupMenuActions.d.ts +4 -4
  51. package/lib/cjs/components/Groups/GroupMenuActions.js +17 -6
  52. package/lib/cjs/components/Groups/GroupMenuActions.js.map +1 -1
  53. package/lib/cjs/components/Groups/GroupMenuActions.scss +2 -0
  54. package/lib/cjs/components/Groups/GroupOverlapProgressBar.d.ts +2 -2
  55. package/lib/cjs/components/Groups/GroupOverlapProgressBar.js.map +1 -1
  56. package/lib/cjs/components/Groups/Groups.d.ts +12 -4
  57. package/lib/cjs/components/Groups/Groups.js +7 -3
  58. package/lib/cjs/components/Groups/Groups.js.map +1 -1
  59. package/lib/cjs/components/Groups/GroupsAddButton.d.ts +1 -1
  60. package/lib/cjs/components/Groups/GroupsAddButton.js +4 -4
  61. package/lib/cjs/components/Groups/GroupsAddButton.js.map +1 -1
  62. package/lib/cjs/components/Groups/GroupsAddButton.scss +1 -1
  63. package/lib/cjs/components/Groups/GroupsShowHideButtons.d.ts +5 -5
  64. package/lib/cjs/components/Groups/GroupsShowHideButtons.js +2 -2
  65. package/lib/cjs/components/Groups/GroupsShowHideButtons.js.map +1 -1
  66. package/lib/cjs/components/Groups/GroupsView.d.ts +19 -11
  67. package/lib/cjs/components/Groups/GroupsView.js +12 -10
  68. package/lib/cjs/components/Groups/GroupsView.js.map +1 -1
  69. package/lib/cjs/components/Groups/GroupsView.scss +1 -1
  70. package/lib/cjs/components/Groups/GroupsVisualization.d.ts +8 -0
  71. package/lib/cjs/components/Groups/GroupsVisualization.js +27 -24
  72. package/lib/cjs/components/Groups/GroupsVisualization.js.map +1 -1
  73. package/lib/cjs/components/Groups/GroupsVisualizationActions.js +4 -4
  74. package/lib/cjs/components/Groups/GroupsVisualizationActions.js.map +1 -1
  75. package/lib/cjs/components/Groups/OverlappedElementsInformationPanel.d.ts +4 -4
  76. package/lib/cjs/components/Groups/OverlappedElementsInformationPanel.js +4 -4
  77. package/lib/cjs/components/Groups/OverlappedElementsInformationPanel.js.map +1 -1
  78. package/lib/cjs/components/Groups/OverlappedElementsInformationPanel.scss +7 -7
  79. package/lib/cjs/components/Groups/QueryBuilder/QueryBuilder.js +13 -35
  80. package/lib/cjs/components/Groups/QueryBuilder/QueryBuilder.js.map +1 -1
  81. package/lib/cjs/components/Groups/QueryBuilder/QueryBuilderActionPanel.js +4 -4
  82. package/lib/cjs/components/Groups/QueryBuilder/QueryBuilderActionPanel.js.map +1 -1
  83. package/lib/cjs/components/Groups/QueryBuilder/QueryBuilderCustomUI.d.ts +3 -3
  84. package/lib/cjs/components/Groups/QueryBuilder/QueryBuilderCustomUI.js +4 -4
  85. package/lib/cjs/components/Groups/QueryBuilder/QueryBuilderCustomUI.js.map +1 -1
  86. package/lib/cjs/components/Groups/QueryBuilder/QueryBuilderStep.js +4 -4
  87. package/lib/cjs/components/Groups/QueryBuilder/QueryBuilderStep.js.map +1 -1
  88. package/lib/cjs/components/Groups/ToggleGroupVisibility.js +3 -3
  89. package/lib/cjs/components/Groups/ToggleGroupVisibility.js.map +1 -1
  90. package/lib/cjs/components/Groups/groupsHelpers.d.ts +2 -2
  91. package/lib/cjs/components/Groups/groupsHelpers.js +8 -4
  92. package/lib/cjs/components/Groups/groupsHelpers.js.map +1 -1
  93. package/lib/cjs/components/Groups/hooks/useFetchGroups.d.ts +3 -3
  94. package/lib/cjs/components/Groups/hooks/useFetchGroups.js +6 -5
  95. package/lib/cjs/components/Groups/hooks/useFetchGroups.js.map +1 -1
  96. package/lib/cjs/components/Groups/hooks/useGroupsOperations.d.ts +16 -8
  97. package/lib/cjs/components/Groups/hooks/useGroupsOperations.js +14 -10
  98. package/lib/cjs/components/Groups/hooks/useGroupsOperations.js.map +1 -1
  99. package/lib/cjs/components/Groups/hooks/useKeySetHiliteQueries.d.ts +4 -4
  100. package/lib/cjs/components/Groups/hooks/useKeySetHiliteQueries.js.map +1 -1
  101. package/lib/cjs/components/Groups/hooks/useVisualization.js +2 -4
  102. package/lib/cjs/components/Groups/hooks/useVisualization.js.map +1 -1
  103. package/lib/cjs/components/Mappings/BlockingOverlay.js +3 -3
  104. package/lib/cjs/components/Mappings/BlockingOverlay.js.map +1 -1
  105. package/lib/cjs/components/Mappings/Editing/MappingAction.d.ts +8 -0
  106. package/lib/cjs/components/Mappings/Editing/MappingAction.js +16 -15
  107. package/lib/cjs/components/Mappings/Editing/MappingAction.js.map +1 -1
  108. package/lib/cjs/components/Mappings/Extraction/ExtractionLogCustomFilter.d.ts +1 -1
  109. package/lib/cjs/components/Mappings/Extraction/ExtractionLogCustomFilter.js +1 -1
  110. package/lib/cjs/components/Mappings/Extraction/ExtractionLogCustomFilter.js.map +1 -1
  111. package/lib/cjs/components/Mappings/Extraction/ExtractionMessageModal.js +12 -7
  112. package/lib/cjs/components/Mappings/Extraction/ExtractionMessageModal.js.map +1 -1
  113. package/lib/cjs/components/Mappings/Extraction/ExtractionStates/QueuedExtractionState.js +3 -3
  114. package/lib/cjs/components/Mappings/Extraction/ExtractionStates/QueuedExtractionState.js.map +1 -1
  115. package/lib/cjs/components/Mappings/Extraction/ExtractionStates/RunningExtractionState.js +3 -3
  116. package/lib/cjs/components/Mappings/Extraction/ExtractionStates/RunningExtractionState.js.map +1 -1
  117. package/lib/cjs/components/Mappings/Extraction/ExtractionStates/StartingExtractionState.js +3 -3
  118. package/lib/cjs/components/Mappings/Extraction/ExtractionStates/StartingExtractionState.js.map +1 -1
  119. package/lib/cjs/components/Mappings/Extraction/ExtractionStates/TerminalExtractionState.js +3 -3
  120. package/lib/cjs/components/Mappings/Extraction/ExtractionStates/TerminalExtractionState.js.map +1 -1
  121. package/lib/cjs/components/Mappings/Extraction/ExtractionStatus.d.ts +1 -1
  122. package/lib/cjs/components/Mappings/Extraction/ExtractionStatus.js +9 -9
  123. package/lib/cjs/components/Mappings/Extraction/ExtractionStatus.js.map +1 -1
  124. package/lib/cjs/components/Mappings/Extraction/ExtractionStatusIcon.js +4 -4
  125. package/lib/cjs/components/Mappings/Extraction/ExtractionStatusIcon.js.map +1 -1
  126. package/lib/cjs/components/Mappings/Import/ConfirmMappingsImport.d.ts +1 -2
  127. package/lib/cjs/components/Mappings/Import/ConfirmMappingsImport.js +30 -33
  128. package/lib/cjs/components/Mappings/Import/ConfirmMappingsImport.js.map +1 -1
  129. package/lib/cjs/components/Mappings/Import/MappingImportWizardModal.d.ts +1 -1
  130. package/lib/cjs/components/Mappings/Import/MappingImportWizardModal.js +4 -4
  131. package/lib/cjs/components/Mappings/Import/MappingImportWizardModal.js.map +1 -1
  132. package/lib/cjs/components/Mappings/Import/SelectIModel.d.ts +1 -1
  133. package/lib/cjs/components/Mappings/Import/SelectIModel.js +5 -5
  134. package/lib/cjs/components/Mappings/Import/SelectIModel.js.map +1 -1
  135. package/lib/cjs/components/Mappings/Import/SelectITwin.js +2 -2
  136. package/lib/cjs/components/Mappings/Import/SelectITwin.js.map +1 -1
  137. package/lib/cjs/components/Mappings/Import/SelectITwin.scss +1 -1
  138. package/lib/cjs/components/Mappings/Import/SelectMappings.d.ts +1 -1
  139. package/lib/cjs/components/Mappings/Import/SelectMappings.js +7 -7
  140. package/lib/cjs/components/Mappings/Import/SelectMappings.js.map +1 -1
  141. package/lib/cjs/components/Mappings/MappingListItem.js.map +1 -1
  142. package/lib/cjs/components/Mappings/MappingViewActionGroup.d.ts +1 -1
  143. package/lib/cjs/components/Mappings/MappingViewActionGroup.js +6 -6
  144. package/lib/cjs/components/Mappings/MappingViewActionGroup.js.map +1 -1
  145. package/lib/cjs/components/Mappings/Mappings.d.ts +8 -0
  146. package/lib/cjs/components/Mappings/Mappings.js +7 -3
  147. package/lib/cjs/components/Mappings/Mappings.js.map +1 -1
  148. package/lib/cjs/components/Mappings/MappingsView.d.ts +7 -0
  149. package/lib/cjs/components/Mappings/MappingsView.js +17 -15
  150. package/lib/cjs/components/Mappings/MappingsView.js.map +1 -1
  151. package/lib/cjs/components/Mappings/hooks/useFetchExtractionStatus.d.ts +1 -2
  152. package/lib/cjs/components/Mappings/hooks/useFetchExtractionStatus.js +11 -8
  153. package/lib/cjs/components/Mappings/hooks/useFetchExtractionStatus.js.map +1 -1
  154. package/lib/cjs/components/Mappings/hooks/useFetchMappingExtractionStatus.d.ts +1 -1
  155. package/lib/cjs/components/Mappings/hooks/useFetchMappingExtractionStatus.js +8 -7
  156. package/lib/cjs/components/Mappings/hooks/useFetchMappingExtractionStatus.js.map +1 -1
  157. package/lib/cjs/components/Mappings/hooks/useFetchMappings.js +2 -2
  158. package/lib/cjs/components/Mappings/hooks/useFetchMappings.js.map +1 -1
  159. package/lib/cjs/components/Mappings/hooks/useMappingsOperations.d.ts +9 -2
  160. package/lib/cjs/components/Mappings/hooks/useMappingsOperations.js +44 -22
  161. package/lib/cjs/components/Mappings/hooks/useMappingsOperations.js.map +1 -1
  162. package/lib/cjs/components/Mappings/hooks/useRunExtraction.d.ts +2 -2
  163. package/lib/cjs/components/Mappings/hooks/useRunExtraction.js +27 -19
  164. package/lib/cjs/components/Mappings/hooks/useRunExtraction.js.map +1 -1
  165. package/lib/cjs/components/Properties/CalculatedProperties/CalculatedPropertyAction.d.ts +11 -3
  166. package/lib/cjs/components/Properties/CalculatedProperties/CalculatedPropertyAction.js +28 -15
  167. package/lib/cjs/components/Properties/CalculatedProperties/CalculatedPropertyAction.js.map +1 -1
  168. package/lib/cjs/components/Properties/CalculatedProperties/CalculatedPropertyActionWithVisuals.d.ts +11 -3
  169. package/lib/cjs/components/Properties/CalculatedProperties/CalculatedPropertyActionWithVisuals.js +30 -20
  170. package/lib/cjs/components/Properties/CalculatedProperties/CalculatedPropertyActionWithVisuals.js.map +1 -1
  171. package/lib/cjs/components/Properties/CalculatedProperties/CalculatedPropertyTable.d.ts +3 -3
  172. package/lib/cjs/components/Properties/CalculatedProperties/CalculatedPropertyTable.js +7 -5
  173. package/lib/cjs/components/Properties/CalculatedProperties/CalculatedPropertyTable.js.map +1 -1
  174. package/lib/cjs/components/Properties/CalculatedProperties/SharedCalculatedPropertyForms.js +4 -6
  175. package/lib/cjs/components/Properties/CalculatedProperties/SharedCalculatedPropertyForms.js.map +1 -1
  176. package/lib/cjs/components/Properties/CustomCalculations/CustomCalculationAction.d.ts +11 -3
  177. package/lib/cjs/components/Properties/CustomCalculations/CustomCalculationAction.js +74 -50
  178. package/lib/cjs/components/Properties/CustomCalculations/CustomCalculationAction.js.map +1 -1
  179. package/lib/cjs/components/Properties/CustomCalculations/CustomCalculationAction.scss +1 -1
  180. package/lib/cjs/components/Properties/CustomCalculations/CustomCalculationTable.d.ts +3 -3
  181. package/lib/cjs/components/Properties/CustomCalculations/CustomCalculationTable.js +21 -15
  182. package/lib/cjs/components/Properties/CustomCalculations/CustomCalculationTable.js.map +1 -1
  183. package/lib/cjs/components/Properties/GroupColorToggle.d.ts +2 -2
  184. package/lib/cjs/components/Properties/GroupColorToggle.js +4 -4
  185. package/lib/cjs/components/Properties/GroupColorToggle.js.map +1 -1
  186. package/lib/cjs/components/Properties/GroupInformationPanel.js +3 -3
  187. package/lib/cjs/components/Properties/GroupInformationPanel.js.map +1 -1
  188. package/lib/cjs/components/Properties/GroupProperties/GroupPropertyAction.d.ts +13 -5
  189. package/lib/cjs/components/Properties/GroupProperties/GroupPropertyAction.js +41 -42
  190. package/lib/cjs/components/Properties/GroupProperties/GroupPropertyAction.js.map +1 -1
  191. package/lib/cjs/components/Properties/GroupProperties/GroupPropertyListItem.d.ts +1 -1
  192. package/lib/cjs/components/Properties/GroupProperties/GroupPropertyListItem.js +5 -5
  193. package/lib/cjs/components/Properties/GroupProperties/GroupPropertyListItem.js.map +1 -1
  194. package/lib/cjs/components/Properties/GroupProperties/GroupPropertyTable.d.ts +4 -4
  195. package/lib/cjs/components/Properties/GroupProperties/GroupPropertyTable.js +20 -16
  196. package/lib/cjs/components/Properties/GroupProperties/GroupPropertyTable.js.map +1 -1
  197. package/lib/cjs/components/Properties/GroupProperties/GroupPropertyUtils.d.ts +3 -5
  198. package/lib/cjs/components/Properties/GroupProperties/GroupPropertyUtils.js +20 -65
  199. package/lib/cjs/components/Properties/GroupProperties/GroupPropertyUtils.js.map +1 -1
  200. package/lib/cjs/components/Properties/GroupProperties/GroupsPropertiesSelectionModal.js +20 -29
  201. package/lib/cjs/components/Properties/GroupProperties/GroupsPropertiesSelectionModal.js.map +1 -1
  202. package/lib/cjs/components/Properties/GroupProperties/SaveModal.d.ts +1 -1
  203. package/lib/cjs/components/Properties/GroupProperties/SaveModal.js +7 -7
  204. package/lib/cjs/components/Properties/GroupProperties/SaveModal.js.map +1 -1
  205. package/lib/cjs/components/Properties/GroupProperties/SortableHorizontalTile.js +4 -4
  206. package/lib/cjs/components/Properties/GroupProperties/SortableHorizontalTile.js.map +1 -1
  207. package/lib/cjs/components/Properties/PropertyAction.js +9 -21
  208. package/lib/cjs/components/Properties/PropertyAction.js.map +1 -1
  209. package/lib/cjs/components/Properties/PropertyMenu.d.ts +13 -5
  210. package/lib/cjs/components/Properties/PropertyMenu.js +16 -18
  211. package/lib/cjs/components/Properties/PropertyMenu.js.map +1 -1
  212. package/lib/cjs/components/Properties/PropertyMenuWithVisualization.d.ts +8 -0
  213. package/lib/cjs/components/Properties/PropertyMenuWithVisualization.js +9 -5
  214. package/lib/cjs/components/Properties/PropertyMenuWithVisualization.js.map +1 -1
  215. package/lib/cjs/components/Properties/PropertyNameCell.d.ts +1 -1
  216. package/lib/cjs/components/Properties/PropertyNameCell.js +4 -4
  217. package/lib/cjs/components/Properties/PropertyNameCell.js.map +1 -1
  218. package/lib/cjs/components/Properties/PropertyTable.js +5 -6
  219. package/lib/cjs/components/Properties/PropertyTable.js.map +1 -1
  220. package/lib/cjs/components/Properties/PropertyTableToolbar.d.ts +1 -1
  221. package/lib/cjs/components/Properties/PropertyTableToolbar.js +4 -4
  222. package/lib/cjs/components/Properties/PropertyTableToolbar.js.map +1 -1
  223. package/lib/cjs/components/Properties/hooks/useFormulaValidation.d.ts +2 -1
  224. package/lib/cjs/components/Properties/hooks/useFormulaValidation.js +11 -7
  225. package/lib/cjs/components/Properties/hooks/useFormulaValidation.js.map +1 -1
  226. package/lib/cjs/components/Properties/hooks/usePropertiesQuery.d.ts +4 -0
  227. package/lib/cjs/components/Properties/hooks/usePropertiesQuery.js +12 -0
  228. package/lib/cjs/components/Properties/hooks/usePropertiesQuery.js.map +1 -0
  229. package/lib/cjs/components/Properties/hooks/useValidator.js +4 -4
  230. package/lib/cjs/components/Properties/hooks/useValidator.js.map +1 -1
  231. package/lib/cjs/components/SharedComponents/ActionPanel.d.ts +1 -1
  232. package/lib/cjs/components/SharedComponents/ActionPanel.js +9 -10
  233. package/lib/cjs/components/SharedComponents/ActionPanel.js.map +1 -1
  234. package/lib/cjs/components/SharedComponents/DeleteModal.d.ts +1 -1
  235. package/lib/cjs/components/SharedComponents/DeleteModal.js +9 -10
  236. package/lib/cjs/components/SharedComponents/DeleteModal.js.map +1 -1
  237. package/lib/cjs/components/SharedComponents/EmptyMessage.js +4 -4
  238. package/lib/cjs/components/SharedComponents/EmptyMessage.js.map +1 -1
  239. package/lib/cjs/components/SharedComponents/LoadingOverlay.js +4 -4
  240. package/lib/cjs/components/SharedComponents/LoadingOverlay.js.map +1 -1
  241. package/lib/cjs/components/SharedComponents/LoadingSpinner.js +3 -3
  242. package/lib/cjs/components/SharedComponents/LoadingSpinner.js.map +1 -1
  243. package/lib/cjs/components/SharedComponents/StatusIcon.js +3 -3
  244. package/lib/cjs/components/SharedComponents/StatusIcon.js.map +1 -1
  245. package/lib/cjs/components/context/ExtractionClientContext.js +3 -3
  246. package/lib/cjs/components/context/ExtractionClientContext.js.map +1 -1
  247. package/lib/cjs/components/context/ExtractionStateJobContext.js +3 -3
  248. package/lib/cjs/components/context/ExtractionStateJobContext.js.map +1 -1
  249. package/lib/cjs/components/context/GroupHilitedElementsContext.js +3 -3
  250. package/lib/cjs/components/context/GroupHilitedElementsContext.js.map +1 -1
  251. package/lib/cjs/components/context/GroupingApiConfigContext.d.ts +16 -0
  252. package/lib/cjs/components/context/GroupingApiConfigContext.js +7 -0
  253. package/lib/cjs/components/context/GroupingApiConfigContext.js.map +1 -1
  254. package/lib/cjs/components/context/GroupingMappingCustomUIContext.js +3 -3
  255. package/lib/cjs/components/context/GroupingMappingCustomUIContext.js.map +1 -1
  256. package/lib/cjs/components/context/GroupsClientContext.d.ts +20 -0
  257. package/lib/cjs/components/context/GroupsClientContext.js +45 -0
  258. package/lib/cjs/components/context/GroupsClientContext.js.map +1 -0
  259. package/lib/cjs/components/context/IModelsClientContext.js.map +1 -1
  260. package/lib/cjs/components/context/ITwinsClientContext.js +3 -3
  261. package/lib/cjs/components/context/ITwinsClientContext.js.map +1 -1
  262. package/lib/cjs/components/context/MappingClientContext.d.ts +12 -0
  263. package/lib/cjs/components/context/MappingClientContext.js +14 -2
  264. package/lib/cjs/components/context/MappingClientContext.js.map +1 -1
  265. package/lib/cjs/components/context/PropertiesClientContext.d.ts +20 -0
  266. package/lib/cjs/components/context/PropertiesClientContext.js +45 -0
  267. package/lib/cjs/components/context/PropertiesClientContext.js.map +1 -0
  268. package/lib/cjs/components/context/PropertiesGroupColorContext.js +3 -3
  269. package/lib/cjs/components/context/PropertiesGroupColorContext.js.map +1 -1
  270. package/lib/cjs/components/context/PropertyGridWrapperContext.js +3 -3
  271. package/lib/cjs/components/context/PropertyGridWrapperContext.js.map +1 -1
  272. package/lib/cjs/components/customUI/DefaultGroupingUI.js +3 -3
  273. package/lib/cjs/components/customUI/DefaultGroupingUI.js.map +1 -1
  274. package/lib/cjs/components/customUI/GroupQueryBuilderCustomUI.d.ts +5 -1
  275. package/lib/cjs/components/customUI/GroupQueryBuilderCustomUI.js +17 -18
  276. package/lib/cjs/components/customUI/GroupQueryBuilderCustomUI.js.map +1 -1
  277. package/lib/cjs/components/customUI/GroupingMappingCustomUI.d.ts +15 -3
  278. package/lib/cjs/components/customUI/GroupingMappingCustomUI.js +3 -0
  279. package/lib/cjs/components/customUI/GroupingMappingCustomUI.js.map +1 -1
  280. package/lib/cjs/components/customUI/ManualGroupingCustomUI.d.ts +5 -1
  281. package/lib/cjs/components/customUI/ManualGroupingCustomUI.js +12 -8
  282. package/lib/cjs/components/customUI/ManualGroupingCustomUI.js.map +1 -1
  283. package/lib/cjs/components/customUI/SearchGroupingCustomUI.d.ts +5 -1
  284. package/lib/cjs/components/customUI/SearchGroupingCustomUI.js +20 -45
  285. package/lib/cjs/components/customUI/SearchGroupingCustomUI.js.map +1 -1
  286. package/lib/cjs/decorators/BboxDimensionsDecorator.js +3 -10
  287. package/lib/cjs/decorators/BboxDimensionsDecorator.js.map +1 -1
  288. package/lib/cjs/formula/FormulaDataTypeResolver.d.ts +1 -0
  289. package/lib/cjs/formula/FormulaDataTypeResolver.js +4 -3
  290. package/lib/cjs/formula/FormulaDataTypeResolver.js.map +1 -1
  291. package/lib/cjs/formula/FormulaFunctionProvider.js +146 -65
  292. package/lib/cjs/formula/FormulaFunctionProvider.js.map +1 -1
  293. package/lib/cjs/formula/FormulaOperatorsProvider.js +139 -45
  294. package/lib/cjs/formula/FormulaOperatorsProvider.js.map +1 -1
  295. package/lib/cjs/formula/FormulaSplitter.js +63 -13
  296. package/lib/cjs/formula/FormulaSplitter.js.map +1 -1
  297. package/lib/cjs/formula/FormulaTokensDataTypeResolver.js +9 -16
  298. package/lib/cjs/formula/FormulaTokensDataTypeResolver.js.map +1 -1
  299. package/lib/cjs/formula/IResult.d.ts +3 -0
  300. package/lib/cjs/formula/IResult.js.map +1 -1
  301. package/lib/cjs/formula/InfixToPostfixConverter.js +4 -4
  302. package/lib/cjs/formula/InfixToPostfixConverter.js.map +1 -1
  303. package/lib/cjs/formula/InputStream.js +3 -3
  304. package/lib/cjs/formula/InputStream.js.map +1 -1
  305. package/lib/cjs/formula/ParenthesisValidator.js +3 -3
  306. package/lib/cjs/formula/ParenthesisValidator.js.map +1 -1
  307. package/lib/cjs/formula/Queue.js +3 -3
  308. package/lib/cjs/formula/Queue.js.map +1 -1
  309. package/lib/cjs/formula/Stack.js +3 -3
  310. package/lib/cjs/formula/Stack.js.map +1 -1
  311. package/lib/cjs/formula/StringBuilder.js +3 -3
  312. package/lib/cjs/formula/StringBuilder.js.map +1 -1
  313. package/lib/cjs/formula/Types.d.ts +16 -1
  314. package/lib/cjs/formula/Types.js.map +1 -1
  315. package/lib/cjs/formula/Utils.js +4 -4
  316. package/lib/cjs/formula/Utils.js.map +1 -1
  317. package/lib/cjs/grouping-mapping-widget.d.ts +5 -3
  318. package/lib/cjs/grouping-mapping-widget.js +14 -4
  319. package/lib/cjs/grouping-mapping-widget.js.map +1 -1
  320. package/lib/cjs/test/GroupPropertyUtils.test.js +27 -65
  321. package/lib/cjs/test/GroupPropertyUtils.test.js.map +1 -1
  322. package/lib/cjs/test/GroupingMappingCustomUI.test.js +21 -12
  323. package/lib/cjs/test/GroupingMappingCustomUI.test.js.map +1 -1
  324. package/lib/cjs/test/MockFactory.js +3 -3
  325. package/lib/cjs/test/MockFactory.js.map +1 -1
  326. package/lib/cjs/test/PropertyFieldsHelpers.js +3 -3
  327. package/lib/cjs/test/PropertyFieldsHelpers.js.map +1 -1
  328. package/lib/cjs/test/QueryBuilder.test.js +3 -3
  329. package/lib/cjs/test/QueryBuilder.test.js.map +1 -1
  330. package/lib/cjs/test/QueryBuilder.testdata.js +3 -3
  331. package/lib/cjs/test/QueryBuilder.testdata.js.map +1 -1
  332. package/lib/cjs/test/QueryBuilderTestData.js.map +1 -1
  333. package/lib/cjs/test/WidgetHeader.test.js +3 -3
  334. package/lib/cjs/test/WidgetHeader.test.js.map +1 -1
  335. package/lib/cjs/test/test-utils.js +4 -4
  336. package/lib/cjs/test/test-utils.js.map +1 -1
  337. package/lib/esm/WidgetShell/GroupingMapping.d.ts +5 -5
  338. package/lib/esm/WidgetShell/GroupingMapping.js +3 -5
  339. package/lib/esm/WidgetShell/GroupingMapping.js.map +1 -1
  340. package/lib/esm/WidgetShell/GroupingMappingContent.js +4 -4
  341. package/lib/esm/WidgetShell/GroupingMappingContent.js.map +1 -1
  342. package/lib/esm/WidgetShell/GroupingMappingHeader.d.ts +1 -1
  343. package/lib/esm/WidgetShell/GroupingMappingHeader.js +5 -5
  344. package/lib/esm/WidgetShell/GroupingMappingHeader.js.map +1 -1
  345. package/lib/esm/WidgetShell/GroupingMappingWidget.d.ts +4 -0
  346. package/lib/esm/WidgetShell/GroupingMappingWidget.js +6 -4
  347. package/lib/esm/WidgetShell/GroupingMappingWidget.js.map +1 -1
  348. package/lib/esm/WidgetShell/Router/GroupingMappingRouter.js +28 -8
  349. package/lib/esm/WidgetShell/Router/GroupingMappingRouter.js.map +1 -1
  350. package/lib/esm/WidgetShell/WidgetHeader/WidgetHeader.d.ts +1 -1
  351. package/lib/esm/WidgetShell/WidgetHeader/WidgetHeader.js +7 -7
  352. package/lib/esm/WidgetShell/WidgetHeader/WidgetHeader.js.map +1 -1
  353. package/lib/esm/common/hooks/useIsMounted.js +3 -3
  354. package/lib/esm/common/hooks/useIsMounted.js.map +1 -1
  355. package/lib/esm/common/hooks/useMemoizedCollectionPick.js +3 -3
  356. package/lib/esm/common/hooks/useMemoizedCollectionPick.js.map +1 -1
  357. package/lib/esm/common/utils.js +3 -3
  358. package/lib/esm/common/utils.js.map +1 -1
  359. package/lib/esm/common/viewerUtils.js +2 -2
  360. package/lib/esm/common/viewerUtils.js.map +1 -1
  361. package/lib/esm/components/Constants.js +4 -4
  362. package/lib/esm/components/Constants.js.map +1 -1
  363. package/lib/esm/components/GroupingMappingContext.d.ts +19 -3
  364. package/lib/esm/components/GroupingMappingContext.js +41 -14
  365. package/lib/esm/components/GroupingMappingContext.js.map +1 -1
  366. package/lib/esm/components/Groups/Editing/GroupAction.d.ts +10 -2
  367. package/lib/esm/components/Groups/Editing/GroupAction.js +17 -15
  368. package/lib/esm/components/Groups/Editing/GroupAction.js.map +1 -1
  369. package/lib/esm/components/Groups/Editing/GroupDetails.d.ts +1 -1
  370. package/lib/esm/components/Groups/Editing/GroupDetails.js +5 -7
  371. package/lib/esm/components/Groups/Editing/GroupDetails.js.map +1 -1
  372. package/lib/esm/components/Groups/Editing/GroupDetailsActionPanel.d.ts +1 -1
  373. package/lib/esm/components/Groups/Editing/GroupDetailsActionPanel.js +4 -4
  374. package/lib/esm/components/Groups/Editing/GroupDetailsActionPanel.js.map +1 -1
  375. package/lib/esm/components/Groups/Editing/GroupDetailsStep.js +4 -4
  376. package/lib/esm/components/Groups/Editing/GroupDetailsStep.js.map +1 -1
  377. package/lib/esm/components/Groups/GroupColorLegend.d.ts +3 -3
  378. package/lib/esm/components/Groups/GroupColorLegend.js +3 -3
  379. package/lib/esm/components/Groups/GroupColorLegend.js.map +1 -1
  380. package/lib/esm/components/Groups/GroupListItem.d.ts +4 -4
  381. package/lib/esm/components/Groups/GroupListItem.js +6 -4
  382. package/lib/esm/components/Groups/GroupListItem.js.map +1 -1
  383. package/lib/esm/components/Groups/GroupListItem.scss +14 -0
  384. package/lib/esm/components/Groups/GroupMenuActions.d.ts +4 -4
  385. package/lib/esm/components/Groups/GroupMenuActions.js +17 -6
  386. package/lib/esm/components/Groups/GroupMenuActions.js.map +1 -1
  387. package/lib/esm/components/Groups/GroupMenuActions.scss +2 -0
  388. package/lib/esm/components/Groups/GroupOverlapProgressBar.d.ts +2 -2
  389. package/lib/esm/components/Groups/GroupOverlapProgressBar.js.map +1 -1
  390. package/lib/esm/components/Groups/Groups.d.ts +12 -4
  391. package/lib/esm/components/Groups/Groups.js +7 -3
  392. package/lib/esm/components/Groups/Groups.js.map +1 -1
  393. package/lib/esm/components/Groups/GroupsAddButton.d.ts +1 -1
  394. package/lib/esm/components/Groups/GroupsAddButton.js +4 -4
  395. package/lib/esm/components/Groups/GroupsAddButton.js.map +1 -1
  396. package/lib/esm/components/Groups/GroupsAddButton.scss +1 -1
  397. package/lib/esm/components/Groups/GroupsShowHideButtons.d.ts +5 -5
  398. package/lib/esm/components/Groups/GroupsShowHideButtons.js +2 -2
  399. package/lib/esm/components/Groups/GroupsShowHideButtons.js.map +1 -1
  400. package/lib/esm/components/Groups/GroupsView.d.ts +19 -11
  401. package/lib/esm/components/Groups/GroupsView.js +14 -12
  402. package/lib/esm/components/Groups/GroupsView.js.map +1 -1
  403. package/lib/esm/components/Groups/GroupsView.scss +1 -1
  404. package/lib/esm/components/Groups/GroupsVisualization.d.ts +8 -0
  405. package/lib/esm/components/Groups/GroupsVisualization.js +29 -26
  406. package/lib/esm/components/Groups/GroupsVisualization.js.map +1 -1
  407. package/lib/esm/components/Groups/GroupsVisualizationActions.js +4 -4
  408. package/lib/esm/components/Groups/GroupsVisualizationActions.js.map +1 -1
  409. package/lib/esm/components/Groups/OverlappedElementsInformationPanel.d.ts +4 -4
  410. package/lib/esm/components/Groups/OverlappedElementsInformationPanel.js +5 -5
  411. package/lib/esm/components/Groups/OverlappedElementsInformationPanel.js.map +1 -1
  412. package/lib/esm/components/Groups/OverlappedElementsInformationPanel.scss +7 -7
  413. package/lib/esm/components/Groups/QueryBuilder/QueryBuilder.js +13 -35
  414. package/lib/esm/components/Groups/QueryBuilder/QueryBuilder.js.map +1 -1
  415. package/lib/esm/components/Groups/QueryBuilder/QueryBuilderActionPanel.js +4 -4
  416. package/lib/esm/components/Groups/QueryBuilder/QueryBuilderActionPanel.js.map +1 -1
  417. package/lib/esm/components/Groups/QueryBuilder/QueryBuilderCustomUI.d.ts +3 -3
  418. package/lib/esm/components/Groups/QueryBuilder/QueryBuilderCustomUI.js +4 -4
  419. package/lib/esm/components/Groups/QueryBuilder/QueryBuilderCustomUI.js.map +1 -1
  420. package/lib/esm/components/Groups/QueryBuilder/QueryBuilderStep.js +4 -4
  421. package/lib/esm/components/Groups/QueryBuilder/QueryBuilderStep.js.map +1 -1
  422. package/lib/esm/components/Groups/ToggleGroupVisibility.js +3 -3
  423. package/lib/esm/components/Groups/ToggleGroupVisibility.js.map +1 -1
  424. package/lib/esm/components/Groups/groupsHelpers.d.ts +2 -2
  425. package/lib/esm/components/Groups/groupsHelpers.js +9 -5
  426. package/lib/esm/components/Groups/groupsHelpers.js.map +1 -1
  427. package/lib/esm/components/Groups/hooks/useFetchGroups.d.ts +3 -3
  428. package/lib/esm/components/Groups/hooks/useFetchGroups.js +6 -5
  429. package/lib/esm/components/Groups/hooks/useFetchGroups.js.map +1 -1
  430. package/lib/esm/components/Groups/hooks/useGroupsOperations.d.ts +16 -8
  431. package/lib/esm/components/Groups/hooks/useGroupsOperations.js +14 -10
  432. package/lib/esm/components/Groups/hooks/useGroupsOperations.js.map +1 -1
  433. package/lib/esm/components/Groups/hooks/useKeySetHiliteQueries.d.ts +4 -4
  434. package/lib/esm/components/Groups/hooks/useKeySetHiliteQueries.js.map +1 -1
  435. package/lib/esm/components/Groups/hooks/useVisualization.js +3 -5
  436. package/lib/esm/components/Groups/hooks/useVisualization.js.map +1 -1
  437. package/lib/esm/components/Mappings/BlockingOverlay.js +3 -3
  438. package/lib/esm/components/Mappings/BlockingOverlay.js.map +1 -1
  439. package/lib/esm/components/Mappings/Editing/MappingAction.d.ts +8 -0
  440. package/lib/esm/components/Mappings/Editing/MappingAction.js +16 -15
  441. package/lib/esm/components/Mappings/Editing/MappingAction.js.map +1 -1
  442. package/lib/esm/components/Mappings/Extraction/ExtractionLogCustomFilter.d.ts +1 -1
  443. package/lib/esm/components/Mappings/Extraction/ExtractionLogCustomFilter.js +1 -1
  444. package/lib/esm/components/Mappings/Extraction/ExtractionLogCustomFilter.js.map +1 -1
  445. package/lib/esm/components/Mappings/Extraction/ExtractionMessageModal.js +12 -7
  446. package/lib/esm/components/Mappings/Extraction/ExtractionMessageModal.js.map +1 -1
  447. package/lib/esm/components/Mappings/Extraction/ExtractionStates/QueuedExtractionState.js +3 -3
  448. package/lib/esm/components/Mappings/Extraction/ExtractionStates/QueuedExtractionState.js.map +1 -1
  449. package/lib/esm/components/Mappings/Extraction/ExtractionStates/RunningExtractionState.js +3 -3
  450. package/lib/esm/components/Mappings/Extraction/ExtractionStates/RunningExtractionState.js.map +1 -1
  451. package/lib/esm/components/Mappings/Extraction/ExtractionStates/StartingExtractionState.js +3 -3
  452. package/lib/esm/components/Mappings/Extraction/ExtractionStates/StartingExtractionState.js.map +1 -1
  453. package/lib/esm/components/Mappings/Extraction/ExtractionStates/TerminalExtractionState.js +3 -3
  454. package/lib/esm/components/Mappings/Extraction/ExtractionStates/TerminalExtractionState.js.map +1 -1
  455. package/lib/esm/components/Mappings/Extraction/ExtractionStatus.d.ts +1 -1
  456. package/lib/esm/components/Mappings/Extraction/ExtractionStatus.js +9 -9
  457. package/lib/esm/components/Mappings/Extraction/ExtractionStatus.js.map +1 -1
  458. package/lib/esm/components/Mappings/Extraction/ExtractionStatusIcon.js +4 -4
  459. package/lib/esm/components/Mappings/Extraction/ExtractionStatusIcon.js.map +1 -1
  460. package/lib/esm/components/Mappings/Import/ConfirmMappingsImport.d.ts +1 -2
  461. package/lib/esm/components/Mappings/Import/ConfirmMappingsImport.js +31 -34
  462. package/lib/esm/components/Mappings/Import/ConfirmMappingsImport.js.map +1 -1
  463. package/lib/esm/components/Mappings/Import/MappingImportWizardModal.d.ts +1 -1
  464. package/lib/esm/components/Mappings/Import/MappingImportWizardModal.js +4 -4
  465. package/lib/esm/components/Mappings/Import/MappingImportWizardModal.js.map +1 -1
  466. package/lib/esm/components/Mappings/Import/SelectIModel.d.ts +1 -1
  467. package/lib/esm/components/Mappings/Import/SelectIModel.js +5 -5
  468. package/lib/esm/components/Mappings/Import/SelectIModel.js.map +1 -1
  469. package/lib/esm/components/Mappings/Import/SelectITwin.js +2 -2
  470. package/lib/esm/components/Mappings/Import/SelectITwin.js.map +1 -1
  471. package/lib/esm/components/Mappings/Import/SelectITwin.scss +1 -1
  472. package/lib/esm/components/Mappings/Import/SelectMappings.d.ts +1 -1
  473. package/lib/esm/components/Mappings/Import/SelectMappings.js +8 -8
  474. package/lib/esm/components/Mappings/Import/SelectMappings.js.map +1 -1
  475. package/lib/esm/components/Mappings/MappingListItem.js.map +1 -1
  476. package/lib/esm/components/Mappings/MappingViewActionGroup.d.ts +1 -1
  477. package/lib/esm/components/Mappings/MappingViewActionGroup.js +8 -8
  478. package/lib/esm/components/Mappings/MappingViewActionGroup.js.map +1 -1
  479. package/lib/esm/components/Mappings/Mappings.d.ts +8 -0
  480. package/lib/esm/components/Mappings/Mappings.js +7 -3
  481. package/lib/esm/components/Mappings/Mappings.js.map +1 -1
  482. package/lib/esm/components/Mappings/MappingsView.d.ts +7 -0
  483. package/lib/esm/components/Mappings/MappingsView.js +19 -17
  484. package/lib/esm/components/Mappings/MappingsView.js.map +1 -1
  485. package/lib/esm/components/Mappings/hooks/useFetchExtractionStatus.d.ts +1 -2
  486. package/lib/esm/components/Mappings/hooks/useFetchExtractionStatus.js +11 -8
  487. package/lib/esm/components/Mappings/hooks/useFetchExtractionStatus.js.map +1 -1
  488. package/lib/esm/components/Mappings/hooks/useFetchMappingExtractionStatus.d.ts +1 -1
  489. package/lib/esm/components/Mappings/hooks/useFetchMappingExtractionStatus.js +9 -8
  490. package/lib/esm/components/Mappings/hooks/useFetchMappingExtractionStatus.js.map +1 -1
  491. package/lib/esm/components/Mappings/hooks/useFetchMappings.js +2 -2
  492. package/lib/esm/components/Mappings/hooks/useFetchMappings.js.map +1 -1
  493. package/lib/esm/components/Mappings/hooks/useMappingsOperations.d.ts +9 -2
  494. package/lib/esm/components/Mappings/hooks/useMappingsOperations.js +45 -23
  495. package/lib/esm/components/Mappings/hooks/useMappingsOperations.js.map +1 -1
  496. package/lib/esm/components/Mappings/hooks/useRunExtraction.d.ts +2 -2
  497. package/lib/esm/components/Mappings/hooks/useRunExtraction.js +27 -19
  498. package/lib/esm/components/Mappings/hooks/useRunExtraction.js.map +1 -1
  499. package/lib/esm/components/Properties/CalculatedProperties/CalculatedPropertyAction.d.ts +11 -3
  500. package/lib/esm/components/Properties/CalculatedProperties/CalculatedPropertyAction.js +30 -17
  501. package/lib/esm/components/Properties/CalculatedProperties/CalculatedPropertyAction.js.map +1 -1
  502. package/lib/esm/components/Properties/CalculatedProperties/CalculatedPropertyActionWithVisuals.d.ts +11 -3
  503. package/lib/esm/components/Properties/CalculatedProperties/CalculatedPropertyActionWithVisuals.js +33 -23
  504. package/lib/esm/components/Properties/CalculatedProperties/CalculatedPropertyActionWithVisuals.js.map +1 -1
  505. package/lib/esm/components/Properties/CalculatedProperties/CalculatedPropertyTable.d.ts +3 -3
  506. package/lib/esm/components/Properties/CalculatedProperties/CalculatedPropertyTable.js +8 -6
  507. package/lib/esm/components/Properties/CalculatedProperties/CalculatedPropertyTable.js.map +1 -1
  508. package/lib/esm/components/Properties/CalculatedProperties/SharedCalculatedPropertyForms.js +5 -7
  509. package/lib/esm/components/Properties/CalculatedProperties/SharedCalculatedPropertyForms.js.map +1 -1
  510. package/lib/esm/components/Properties/CustomCalculations/CustomCalculationAction.d.ts +11 -3
  511. package/lib/esm/components/Properties/CustomCalculations/CustomCalculationAction.js +76 -52
  512. package/lib/esm/components/Properties/CustomCalculations/CustomCalculationAction.js.map +1 -1
  513. package/lib/esm/components/Properties/CustomCalculations/CustomCalculationAction.scss +1 -1
  514. package/lib/esm/components/Properties/CustomCalculations/CustomCalculationTable.d.ts +3 -3
  515. package/lib/esm/components/Properties/CustomCalculations/CustomCalculationTable.js +23 -17
  516. package/lib/esm/components/Properties/CustomCalculations/CustomCalculationTable.js.map +1 -1
  517. package/lib/esm/components/Properties/GroupColorToggle.d.ts +2 -2
  518. package/lib/esm/components/Properties/GroupColorToggle.js +4 -4
  519. package/lib/esm/components/Properties/GroupColorToggle.js.map +1 -1
  520. package/lib/esm/components/Properties/GroupInformationPanel.js +3 -3
  521. package/lib/esm/components/Properties/GroupInformationPanel.js.map +1 -1
  522. package/lib/esm/components/Properties/GroupProperties/GroupPropertyAction.d.ts +13 -5
  523. package/lib/esm/components/Properties/GroupProperties/GroupPropertyAction.js +43 -44
  524. package/lib/esm/components/Properties/GroupProperties/GroupPropertyAction.js.map +1 -1
  525. package/lib/esm/components/Properties/GroupProperties/GroupPropertyListItem.d.ts +1 -1
  526. package/lib/esm/components/Properties/GroupProperties/GroupPropertyListItem.js +5 -5
  527. package/lib/esm/components/Properties/GroupProperties/GroupPropertyListItem.js.map +1 -1
  528. package/lib/esm/components/Properties/GroupProperties/GroupPropertyTable.d.ts +4 -4
  529. package/lib/esm/components/Properties/GroupProperties/GroupPropertyTable.js +22 -18
  530. package/lib/esm/components/Properties/GroupProperties/GroupPropertyTable.js.map +1 -1
  531. package/lib/esm/components/Properties/GroupProperties/GroupPropertyUtils.d.ts +3 -5
  532. package/lib/esm/components/Properties/GroupProperties/GroupPropertyUtils.js +21 -66
  533. package/lib/esm/components/Properties/GroupProperties/GroupPropertyUtils.js.map +1 -1
  534. package/lib/esm/components/Properties/GroupProperties/GroupsPropertiesSelectionModal.js +26 -35
  535. package/lib/esm/components/Properties/GroupProperties/GroupsPropertiesSelectionModal.js.map +1 -1
  536. package/lib/esm/components/Properties/GroupProperties/SaveModal.d.ts +1 -1
  537. package/lib/esm/components/Properties/GroupProperties/SaveModal.js +8 -8
  538. package/lib/esm/components/Properties/GroupProperties/SaveModal.js.map +1 -1
  539. package/lib/esm/components/Properties/GroupProperties/SortableHorizontalTile.js +4 -4
  540. package/lib/esm/components/Properties/GroupProperties/SortableHorizontalTile.js.map +1 -1
  541. package/lib/esm/components/Properties/PropertyAction.js +9 -21
  542. package/lib/esm/components/Properties/PropertyAction.js.map +1 -1
  543. package/lib/esm/components/Properties/PropertyMenu.d.ts +13 -5
  544. package/lib/esm/components/Properties/PropertyMenu.js +16 -18
  545. package/lib/esm/components/Properties/PropertyMenu.js.map +1 -1
  546. package/lib/esm/components/Properties/PropertyMenuWithVisualization.d.ts +8 -0
  547. package/lib/esm/components/Properties/PropertyMenuWithVisualization.js +9 -5
  548. package/lib/esm/components/Properties/PropertyMenuWithVisualization.js.map +1 -1
  549. package/lib/esm/components/Properties/PropertyNameCell.d.ts +1 -1
  550. package/lib/esm/components/Properties/PropertyNameCell.js +4 -4
  551. package/lib/esm/components/Properties/PropertyNameCell.js.map +1 -1
  552. package/lib/esm/components/Properties/PropertyTable.js +5 -6
  553. package/lib/esm/components/Properties/PropertyTable.js.map +1 -1
  554. package/lib/esm/components/Properties/PropertyTableToolbar.d.ts +1 -1
  555. package/lib/esm/components/Properties/PropertyTableToolbar.js +4 -4
  556. package/lib/esm/components/Properties/PropertyTableToolbar.js.map +1 -1
  557. package/lib/esm/components/Properties/hooks/useFormulaValidation.d.ts +2 -1
  558. package/lib/esm/components/Properties/hooks/useFormulaValidation.js +11 -7
  559. package/lib/esm/components/Properties/hooks/useFormulaValidation.js.map +1 -1
  560. package/lib/esm/components/Properties/hooks/usePropertiesQuery.d.ts +4 -0
  561. package/lib/esm/components/Properties/hooks/usePropertiesQuery.js +8 -0
  562. package/lib/esm/components/Properties/hooks/usePropertiesQuery.js.map +1 -0
  563. package/lib/esm/components/Properties/hooks/useValidator.js +4 -4
  564. package/lib/esm/components/Properties/hooks/useValidator.js.map +1 -1
  565. package/lib/esm/components/SharedComponents/ActionPanel.d.ts +1 -1
  566. package/lib/esm/components/SharedComponents/ActionPanel.js +9 -10
  567. package/lib/esm/components/SharedComponents/ActionPanel.js.map +1 -1
  568. package/lib/esm/components/SharedComponents/DeleteModal.d.ts +1 -1
  569. package/lib/esm/components/SharedComponents/DeleteModal.js +10 -11
  570. package/lib/esm/components/SharedComponents/DeleteModal.js.map +1 -1
  571. package/lib/esm/components/SharedComponents/EmptyMessage.js +4 -4
  572. package/lib/esm/components/SharedComponents/EmptyMessage.js.map +1 -1
  573. package/lib/esm/components/SharedComponents/LoadingOverlay.js +4 -4
  574. package/lib/esm/components/SharedComponents/LoadingOverlay.js.map +1 -1
  575. package/lib/esm/components/SharedComponents/LoadingSpinner.js +3 -3
  576. package/lib/esm/components/SharedComponents/LoadingSpinner.js.map +1 -1
  577. package/lib/esm/components/SharedComponents/StatusIcon.js +3 -3
  578. package/lib/esm/components/SharedComponents/StatusIcon.js.map +1 -1
  579. package/lib/esm/components/context/ExtractionClientContext.js +3 -3
  580. package/lib/esm/components/context/ExtractionClientContext.js.map +1 -1
  581. package/lib/esm/components/context/ExtractionStateJobContext.js +3 -3
  582. package/lib/esm/components/context/ExtractionStateJobContext.js.map +1 -1
  583. package/lib/esm/components/context/GroupHilitedElementsContext.js +3 -3
  584. package/lib/esm/components/context/GroupHilitedElementsContext.js.map +1 -1
  585. package/lib/esm/components/context/GroupingApiConfigContext.d.ts +16 -0
  586. package/lib/esm/components/context/GroupingApiConfigContext.js +7 -0
  587. package/lib/esm/components/context/GroupingApiConfigContext.js.map +1 -1
  588. package/lib/esm/components/context/GroupingMappingCustomUIContext.js +3 -3
  589. package/lib/esm/components/context/GroupingMappingCustomUIContext.js.map +1 -1
  590. package/lib/esm/components/context/GroupsClientContext.d.ts +20 -0
  591. package/lib/esm/components/context/GroupsClientContext.js +39 -0
  592. package/lib/esm/components/context/GroupsClientContext.js.map +1 -0
  593. package/lib/esm/components/context/IModelsClientContext.js.map +1 -1
  594. package/lib/esm/components/context/ITwinsClientContext.js +3 -3
  595. package/lib/esm/components/context/ITwinsClientContext.js.map +1 -1
  596. package/lib/esm/components/context/MappingClientContext.d.ts +12 -0
  597. package/lib/esm/components/context/MappingClientContext.js +15 -3
  598. package/lib/esm/components/context/MappingClientContext.js.map +1 -1
  599. package/lib/esm/components/context/PropertiesClientContext.d.ts +20 -0
  600. package/lib/esm/components/context/PropertiesClientContext.js +39 -0
  601. package/lib/esm/components/context/PropertiesClientContext.js.map +1 -0
  602. package/lib/esm/components/context/PropertiesGroupColorContext.js +3 -3
  603. package/lib/esm/components/context/PropertiesGroupColorContext.js.map +1 -1
  604. package/lib/esm/components/context/PropertyGridWrapperContext.js +3 -3
  605. package/lib/esm/components/context/PropertyGridWrapperContext.js.map +1 -1
  606. package/lib/esm/components/customUI/DefaultGroupingUI.js +3 -3
  607. package/lib/esm/components/customUI/DefaultGroupingUI.js.map +1 -1
  608. package/lib/esm/components/customUI/GroupQueryBuilderCustomUI.d.ts +5 -1
  609. package/lib/esm/components/customUI/GroupQueryBuilderCustomUI.js +18 -19
  610. package/lib/esm/components/customUI/GroupQueryBuilderCustomUI.js.map +1 -1
  611. package/lib/esm/components/customUI/GroupingMappingCustomUI.d.ts +15 -3
  612. package/lib/esm/components/customUI/GroupingMappingCustomUI.js +3 -0
  613. package/lib/esm/components/customUI/GroupingMappingCustomUI.js.map +1 -1
  614. package/lib/esm/components/customUI/ManualGroupingCustomUI.d.ts +5 -1
  615. package/lib/esm/components/customUI/ManualGroupingCustomUI.js +12 -8
  616. package/lib/esm/components/customUI/ManualGroupingCustomUI.js.map +1 -1
  617. package/lib/esm/components/customUI/SearchGroupingCustomUI.d.ts +5 -1
  618. package/lib/esm/components/customUI/SearchGroupingCustomUI.js +20 -45
  619. package/lib/esm/components/customUI/SearchGroupingCustomUI.js.map +1 -1
  620. package/lib/esm/decorators/BboxDimensionsDecorator.js +5 -12
  621. package/lib/esm/decorators/BboxDimensionsDecorator.js.map +1 -1
  622. package/lib/esm/formula/FormulaDataTypeResolver.d.ts +1 -0
  623. package/lib/esm/formula/FormulaDataTypeResolver.js +4 -3
  624. package/lib/esm/formula/FormulaDataTypeResolver.js.map +1 -1
  625. package/lib/esm/formula/FormulaFunctionProvider.js +146 -65
  626. package/lib/esm/formula/FormulaFunctionProvider.js.map +1 -1
  627. package/lib/esm/formula/FormulaOperatorsProvider.js +139 -45
  628. package/lib/esm/formula/FormulaOperatorsProvider.js.map +1 -1
  629. package/lib/esm/formula/FormulaSplitter.js +63 -13
  630. package/lib/esm/formula/FormulaSplitter.js.map +1 -1
  631. package/lib/esm/formula/FormulaTokensDataTypeResolver.js +9 -16
  632. package/lib/esm/formula/FormulaTokensDataTypeResolver.js.map +1 -1
  633. package/lib/esm/formula/IResult.d.ts +3 -0
  634. package/lib/esm/formula/IResult.js.map +1 -1
  635. package/lib/esm/formula/InfixToPostfixConverter.js +5 -5
  636. package/lib/esm/formula/InfixToPostfixConverter.js.map +1 -1
  637. package/lib/esm/formula/InputStream.js +3 -3
  638. package/lib/esm/formula/InputStream.js.map +1 -1
  639. package/lib/esm/formula/ParenthesisValidator.js +3 -3
  640. package/lib/esm/formula/ParenthesisValidator.js.map +1 -1
  641. package/lib/esm/formula/Queue.js +3 -3
  642. package/lib/esm/formula/Queue.js.map +1 -1
  643. package/lib/esm/formula/Stack.js +3 -3
  644. package/lib/esm/formula/Stack.js.map +1 -1
  645. package/lib/esm/formula/StringBuilder.js +3 -3
  646. package/lib/esm/formula/StringBuilder.js.map +1 -1
  647. package/lib/esm/formula/Types.d.ts +16 -1
  648. package/lib/esm/formula/Types.js.map +1 -1
  649. package/lib/esm/formula/Utils.js +4 -4
  650. package/lib/esm/formula/Utils.js.map +1 -1
  651. package/lib/esm/grouping-mapping-widget.d.ts +5 -3
  652. package/lib/esm/grouping-mapping-widget.js +8 -6
  653. package/lib/esm/grouping-mapping-widget.js.map +1 -1
  654. package/lib/esm/test/GroupPropertyUtils.test.js +28 -66
  655. package/lib/esm/test/GroupPropertyUtils.test.js.map +1 -1
  656. package/lib/esm/test/GroupingMappingCustomUI.test.js +21 -12
  657. package/lib/esm/test/GroupingMappingCustomUI.test.js.map +1 -1
  658. package/lib/esm/test/MockFactory.js +3 -3
  659. package/lib/esm/test/MockFactory.js.map +1 -1
  660. package/lib/esm/test/PropertyFieldsHelpers.js +3 -3
  661. package/lib/esm/test/PropertyFieldsHelpers.js.map +1 -1
  662. package/lib/esm/test/QueryBuilder.test.js +3 -3
  663. package/lib/esm/test/QueryBuilder.test.js.map +1 -1
  664. package/lib/esm/test/QueryBuilder.testdata.js +3 -3
  665. package/lib/esm/test/QueryBuilder.testdata.js.map +1 -1
  666. package/lib/esm/test/QueryBuilderTestData.js.map +1 -1
  667. package/lib/esm/test/WidgetHeader.test.js +3 -3
  668. package/lib/esm/test/WidgetHeader.test.js.map +1 -1
  669. package/lib/esm/test/test-utils.js +4 -4
  670. package/lib/esm/test/test-utils.js.map +1 -1
  671. package/package.json +10 -5
  672. package/lib/cjs/components/Properties/hooks/useCalculatedPropertiesQuery.d.ts +0 -4
  673. package/lib/cjs/components/Properties/hooks/useCalculatedPropertiesQuery.js +0 -12
  674. package/lib/cjs/components/Properties/hooks/useCalculatedPropertiesQuery.js.map +0 -1
  675. package/lib/cjs/components/Properties/hooks/useCustomCalculationsQuery.d.ts +0 -4
  676. package/lib/cjs/components/Properties/hooks/useCustomCalculationsQuery.js +0 -12
  677. package/lib/cjs/components/Properties/hooks/useCustomCalculationsQuery.js.map +0 -1
  678. package/lib/cjs/components/Properties/hooks/useGroupPropertiesQuery.d.ts +0 -4
  679. package/lib/cjs/components/Properties/hooks/useGroupPropertiesQuery.js +0 -12
  680. package/lib/cjs/components/Properties/hooks/useGroupPropertiesQuery.js.map +0 -1
  681. package/lib/esm/components/Properties/hooks/useCalculatedPropertiesQuery.d.ts +0 -4
  682. package/lib/esm/components/Properties/hooks/useCalculatedPropertiesQuery.js +0 -8
  683. package/lib/esm/components/Properties/hooks/useCalculatedPropertiesQuery.js.map +0 -1
  684. package/lib/esm/components/Properties/hooks/useCustomCalculationsQuery.d.ts +0 -4
  685. package/lib/esm/components/Properties/hooks/useCustomCalculationsQuery.js +0 -8
  686. package/lib/esm/components/Properties/hooks/useCustomCalculationsQuery.js.map +0 -1
  687. package/lib/esm/components/Properties/hooks/useGroupPropertiesQuery.d.ts +0 -4
  688. package/lib/esm/components/Properties/hooks/useGroupPropertiesQuery.js +0 -8
  689. package/lib/esm/components/Properties/hooks/useGroupPropertiesQuery.js.map +0 -1
@@ -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\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\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"]}
@@ -9,7 +9,6 @@ export declare const useFetchExtractionStatus: ({ iModelId, getAccessToken, extr
9
9
  }) => import("@tanstack/react-query").UseQueryResult<{
10
10
  extractionStatusIcon: ExtractionStatusData;
11
11
  extractionMessageData: ExtractionMessageData[];
12
- latestExtractionResult: IteratorResult<import("@itwin/insights-client").Extraction, any>;
13
- latestJobStatus: ExtractionStatus | undefined;
12
+ latestExtractionResult: IteratorResult<ExtractionStatus, any>;
14
13
  }, unknown>;
15
14
  //# sourceMappingURL=useFetchExtractionStatus.d.ts.map
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.useFetchExtractionStatus = void 0;
4
+ const insights_client_1 = require("@itwin/insights-client");
4
5
  const react_query_1 = require("@tanstack/react-query");
5
6
  const useFetchExtractionStatus = ({ iModelId, getAccessToken, extractionClient, }) => {
6
7
  return (0, react_query_1.useQuery)({
@@ -9,14 +10,14 @@ const useFetchExtractionStatus = ({ iModelId, getAccessToken, extractionClient,
9
10
  placeholderData: undefined,
10
11
  queryFn: async () => {
11
12
  const accessToken = await getAccessToken();
12
- const extraction = extractionClient.getExtractionHistoryIterator(accessToken, iModelId, 1);
13
+ const extraction = extractionClient.getIModelExtractionsIterator(accessToken, iModelId, 1);
13
14
  const latestExtractionResult = await extraction.next();
14
15
  let extractionStatusIcon;
15
16
  let extractionMessageData = [];
16
- const jobId = latestExtractionResult.value?.jobId;
17
+ const latestExtractionResultId = latestExtractionResult.value?.id;
17
18
  let latestJobStatus;
18
- if (jobId) {
19
- latestJobStatus = await extractionClient.getExtractionStatus(accessToken, jobId);
19
+ if (latestExtractionResultId) {
20
+ latestJobStatus = latestExtractionResult.value;
20
21
  }
21
22
  if (latestExtractionResult.done) {
22
23
  extractionStatusIcon = {
@@ -25,9 +26,11 @@ const useFetchExtractionStatus = ({ iModelId, getAccessToken, extractionClient,
25
26
  };
26
27
  }
27
28
  else {
28
- if (latestJobStatus?.containsIssues) {
29
- const logs = await extractionClient.getExtractionLogs(accessToken, jobId);
30
- extractionMessageData = logs.filter((log) => log.message !== null).map((log) => ({
29
+ if (latestJobStatus?.state === insights_client_1.ExtractionState.PartiallySucceeded || latestJobStatus?.state === insights_client_1.ExtractionState.Failed) {
30
+ const logs = await extractionClient.getExtractionLogs(accessToken, latestExtractionResultId);
31
+ extractionMessageData = logs.logs
32
+ .filter((log) => log.message !== null)
33
+ .map((log) => ({
31
34
  date: log.dateTime,
32
35
  category: log.category,
33
36
  level: log.level,
@@ -45,7 +48,7 @@ const useFetchExtractionStatus = ({ iModelId, getAccessToken, extractionClient,
45
48
  };
46
49
  }
47
50
  }
48
- return { extractionStatusIcon, extractionMessageData, latestExtractionResult, latestJobStatus };
51
+ return { extractionStatusIcon, extractionMessageData, latestExtractionResult };
49
52
  },
50
53
  });
51
54
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useFetchExtractionStatus.js","sourceRoot":"","sources":["../../../../../src/components/Mappings/hooks/useFetchExtractionStatus.ts"],"names":[],"mappings":";;;AAKA,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,KAAK,GAAG,sBAAsB,CAAC,KAAK,EAAE,KAAK,CAAC;YAClD,IAAI,eAA2C,CAAC;YAChD,IAAI,KAAK,EAAE;gBACT,eAAe,GAAG,MAAM,gBAAgB,CAAC,mBAAmB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;aAClF;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,cAAc,EAAE;oBACnC,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,iBAAiB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;oBAC1E,qBAAqB,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;wBAC/E,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,EAAE,eAAe,EAAE,CAAC;QAClG,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 { 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.getExtractionHistoryIterator(accessToken, iModelId, 1);\n const latestExtractionResult = await extraction.next();\n\n let extractionStatusIcon: ExtractionStatusData;\n let extractionMessageData: ExtractionMessageData[] = [];\n\n const jobId = latestExtractionResult.value?.jobId;\n let latestJobStatus: ExtractionStatus|undefined;\n if (jobId) {\n latestJobStatus = await extractionClient.getExtractionStatus(accessToken, jobId);\n }\n\n if (latestExtractionResult.done) {\n extractionStatusIcon = {\n iconStatus: \"negative\",\n iconMessage: \"No extraction found.\",\n };\n } else {\n if (latestJobStatus?.containsIssues) {\n const logs = await extractionClient.getExtractionLogs(accessToken, jobId);\n extractionMessageData = 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, latestJobStatus };\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,22 +9,23 @@ 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 };
16
- case insights_client_1.ExtractorState.Running:
16
+ case insights_client_1.ExtractionState.Running:
17
17
  return { mappingId, finalExtractionStateValue: ExtractionStatus_1.ExtractionStates.Running };
18
- case insights_client_1.ExtractorState.Failed:
18
+ case insights_client_1.ExtractionState.Failed:
19
19
  return { mappingId, finalExtractionStateValue: ExtractionStatus_1.ExtractionStates.Failed };
20
- case insights_client_1.ExtractorState.Queued:
20
+ case insights_client_1.ExtractionState.Queued:
21
21
  return { mappingId, finalExtractionStateValue: ExtractionStatus_1.ExtractionStates.Queued };
22
- case insights_client_1.ExtractorState.Succeeded:
22
+ case insights_client_1.ExtractionState.Succeeded:
23
+ case insights_client_1.ExtractionState.PartiallySucceeded:
23
24
  return { mappingId, finalExtractionStateValue: ExtractionStatus_1.ExtractionStates.Succeeded };
24
25
  default:
25
26
  return { mappingId, finalExtractionStateValue: ExtractionStatus_1.ExtractionStates.None };
26
27
  }
27
- });
28
+ };
28
29
  const extractionStatusResponse = await extractionClient.getExtractionStatus(accessToken, jobId);
29
30
  return getFinalExtractionStatus(extractionStatusResponse);
30
31
  };
@@ -33,7 +34,7 @@ const resetMappingExtractionStatus = async (queryClient) => {
33
34
  await queryClient.invalidateQueries({ queryKey: ["extractionState"] });
34
35
  };
35
36
  exports.resetMappingExtractionStatus = resetMappingExtractionStatus;
36
- const useFetchMappingExtractionStatus = ({ getAccessToken, mapping, enabled, }) => {
37
+ const useFetchMappingExtractionStatus = ({ getAccessToken, mapping, enabled }) => {
37
38
  const extractionClient = (0, ExtractionClientContext_1.useExtractionClient)();
38
39
  const { mappingIdJobInfo } = (0, ExtractionStateJobContext_1.useExtractionStateJobContext)();
39
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,4DAAwD;AAExD,+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,gCAAc,CAAC,OAAO;gBACzB,OAAO,EAAE,SAAS,EAAE,yBAAyB,EAAE,mCAAgB,CAAC,OAAO,EAAC,CAAC;YAC3E,KAAK,gCAAc,CAAC,MAAM;gBACxB,OAAO,EAAE,SAAS,EAAE,yBAAyB,EAAE,mCAAgB,CAAC,MAAM,EAAC,CAAC;YAC1E,KAAK,gCAAc,CAAC,MAAM;gBACxB,OAAO,EAAE,SAAS,EAAE,yBAAyB,EAAE,mCAAgB,CAAC,MAAM,EAAC,CAAC;YAC1E,KAAK,gCAAc,CAAC,SAAS;gBAC3B,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;AA1BW,QAAA,kBAAkB,sBA0B7B;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 { ExtractorState } 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 ExtractorState.Running:\n return { mappingId, finalExtractionStateValue: ExtractionStates.Running};\n case ExtractorState.Failed:\n return { mappingId, finalExtractionStateValue: ExtractionStates.Failed};\n case ExtractorState.Queued:\n return { mappingId, finalExtractionStateValue: ExtractionStates.Queued};\n case ExtractorState.Succeeded:\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"]}
@@ -7,8 +7,8 @@ const useFetchMappings = (iModelId, getAccessToken, mappingsClient) => (0, react
7
7
  queryFn: async () => {
8
8
  const accessToken = await getAccessToken();
9
9
  const mappings = await mappingsClient.getMappings(accessToken, iModelId);
10
- return mappings.sort((a, b) => a.mappingName.localeCompare(b.mappingName));
11
- }
10
+ return mappings.mappings.sort((a, b) => a.mappingName.localeCompare(b.mappingName));
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,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;IAC7E,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.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"]}
@@ -1,9 +1,17 @@
1
1
  /// <reference types="react" />
2
2
  import type { IMappingsClient, Mapping } from "@itwin/insights-client";
3
3
  import type { GroupingMappingApiConfig } from "../../context/GroupingApiConfigContext";
4
+ /**
5
+ * Props for the {@link useMappingsOperations} hook.
6
+ * @internal
7
+ */
4
8
  export interface MappingsOperationsProps extends GroupingMappingApiConfig {
5
9
  mappingClient: IMappingsClient;
6
10
  }
11
+ /**
12
+ * Custom hook to handle mapping operations.
13
+ * @internal
14
+ */
7
15
  export declare const useMappingsOperations: ({ iModelId, getAccessToken, mappingClient }: MappingsOperationsProps) => {
8
16
  mappings: Mapping[] | undefined;
9
17
  isLoading: boolean;
@@ -11,8 +19,7 @@ export declare const useMappingsOperations: ({ iModelId, getAccessToken, mapping
11
19
  extractionStatus: {
12
20
  extractionStatusIcon: import("../Extraction/ExtractionStatusIcon").ExtractionStatusData;
13
21
  extractionMessageData: import("../Extraction/ExtractionMessageModal").ExtractionMessageData[];
14
- latestExtractionResult: IteratorResult<import("@itwin/insights-client").Extraction, any>;
15
- latestJobStatus: import("@itwin/insights-client").ExtractionStatus | undefined;
22
+ latestExtractionResult: IteratorResult<import("@itwin/insights-client").ExtractionStatus, any>;
16
23
  } | {
17
24
  extractionStatusIcon: {
18
25
  iconStatus: undefined;
@@ -2,9 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.useMappingsOperations = void 0;
4
4
  /*---------------------------------------------------------------------------------------------
5
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
6
- * See LICENSE.md in the project root for license terms and full copyright notice.
7
- *--------------------------------------------------------------------------------------------*/
5
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
6
+ * See LICENSE.md in the project root for license terms and full copyright notice.
7
+ *--------------------------------------------------------------------------------------------*/
8
8
  const react_1 = require("react");
9
9
  const insights_client_1 = require("@itwin/insights-client");
10
10
  const ExtractionClientContext_1 = require("../../context/ExtractionClientContext");
@@ -12,6 +12,10 @@ const react_query_1 = require("@tanstack/react-query");
12
12
  const useFetchMappings_1 = require("./useFetchMappings");
13
13
  const useFetchExtractionStatus_1 = require("./useFetchExtractionStatus");
14
14
  const ExtractionStateJobContext_1 = require("../../context/ExtractionStateJobContext");
15
+ /**
16
+ * Custom hook to handle mapping operations.
17
+ * @internal
18
+ */
15
19
  const useMappingsOperations = ({ iModelId, getAccessToken, mappingClient }) => {
16
20
  const [showImportModal, setShowImportModal] = (0, react_1.useState)(false);
17
21
  const [showDeleteModal, setShowDeleteModal] = (0, react_1.useState)(undefined);
@@ -20,7 +24,7 @@ const useMappingsOperations = ({ iModelId, getAccessToken, mappingClient }) => {
20
24
  const queryClient = (0, react_query_1.useQueryClient)();
21
25
  const [initialStateExtractionFlag, setInitialExtractionStateFlag] = (0, react_1.useState)(true);
22
26
  const { mappingIdJobInfo, setMappingIdJobInfo } = (0, ExtractionStateJobContext_1.useExtractionStateJobContext)();
23
- const { data: mappings, isFetched: isMappingsFetched, isFetching: isLoadingMappings, } = (0, useFetchMappings_1.useFetchMappings)(iModelId, getAccessToken, mappingClient);
27
+ const { data: mappings, isFetched: isMappingsFetched, isFetching: isLoadingMappings } = (0, useFetchMappings_1.useFetchMappings)(iModelId, getAccessToken, mappingClient);
24
28
  const { data: extractionStatus, isFetched: isExtractionStatusFetched, isFetching: isLoadingExtractionStatus, } = (0, useFetchExtractionStatus_1.useFetchExtractionStatus)({ iModelId, getAccessToken, extractionClient });
25
29
  const refreshExtractionStatus = (0, react_1.useCallback)(async () => {
26
30
  await queryClient.invalidateQueries({ queryKey: ["iModelExtractionStatus"] });
@@ -29,15 +33,16 @@ const useMappingsOperations = ({ iModelId, getAccessToken, mappingClient }) => {
29
33
  (0, react_1.useEffect)(() => {
30
34
  if (initialStateExtractionFlag && isMappingsFetched && isExtractionStatusFetched && mappings && extractionStatus && !mappingIdJobInfo.size) {
31
35
  const newMappingIdJobInfo = new Map();
32
- const jobId = extractionStatus.latestExtractionResult.value?.jobId;
33
- const state = extractionStatus.latestJobStatus?.state;
34
- if ((state === insights_client_1.ExtractorState.Failed || state === insights_client_1.ExtractorState.Succeeded))
36
+ const latestExtractionResultId = extractionStatus.latestExtractionResult.value?.id;
37
+ const state = extractionStatus.latestExtractionResult.value?.state;
38
+ if (state === insights_client_1.ExtractionState.Failed || state === insights_client_1.ExtractionState.Succeeded || state === insights_client_1.ExtractionState.PartiallySucceeded)
35
39
  return;
36
- !!jobId && mappings.forEach((mapping) => {
37
- const mappingId = mapping.id;
38
- const jobId = extractionStatus.latestExtractionResult.value.jobId;
39
- newMappingIdJobInfo.set(mappingId, jobId);
40
- });
40
+ !!latestExtractionResultId &&
41
+ mappings.forEach((mapping) => {
42
+ const mappingId = mapping.id;
43
+ const latestExtractionResultId = extractionStatus.latestExtractionResult.value.id;
44
+ newMappingIdJobInfo.set(mappingId, latestExtractionResultId);
45
+ });
41
46
  setMappingIdJobInfo(newMappingIdJobInfo);
42
47
  setInitialExtractionStateFlag(false);
43
48
  }
@@ -49,7 +54,7 @@ const useMappingsOperations = ({ iModelId, getAccessToken, mappingClient }) => {
49
54
  mutationFn: async (mapping) => {
50
55
  const accessToken = await getAccessToken();
51
56
  const newState = !mapping.extractionEnabled;
52
- await mappingClient.updateMapping(accessToken, iModelId, mapping.id, { extractionEnabled: newState });
57
+ await mappingClient.updateMapping(accessToken, mapping.id, { extractionEnabled: newState });
53
58
  },
54
59
  onSuccess: async () => {
55
60
  await refreshMappings();
@@ -58,21 +63,38 @@ const useMappingsOperations = ({ iModelId, getAccessToken, mappingClient }) => {
58
63
  const { mutateAsync: onDelete, isLoading: isDeletingMapping } = (0, react_query_1.useMutation)({
59
64
  mutationFn: async (mapping) => {
60
65
  const accessToken = await getAccessToken();
61
- await mappingClient.deleteMapping(accessToken, iModelId, mapping.id);
66
+ await mappingClient.deleteMapping(accessToken, mapping.id);
62
67
  },
63
68
  onSuccess: async () => {
64
69
  await refreshMappings();
65
70
  },
66
71
  });
67
72
  const isLoading = isLoadingMappings || isTogglingExtraction || isDeletingMapping;
68
- const extractionStatusGated = (!extractionStatus || isLoadingExtractionStatus) ? {
69
- extractionStatusIcon: {
70
- iconStatus: undefined,
71
- iconMessage: "Loading...",
72
- },
73
- extractionMessageData: [],
74
- } : extractionStatus;
75
- return { mappings, isLoading, showExtractionMessageModal, extractionStatus: extractionStatusGated, setShowExtractionMessageModal, refreshMappings, refreshExtractionStatus, toggleExtraction, onDelete, setShowImportModal, showImportModal, setShowDeleteModal, showDeleteModal, isTogglingExtraction };
73
+ const extractionStatusGated = !extractionStatus || isLoadingExtractionStatus
74
+ ? {
75
+ extractionStatusIcon: {
76
+ iconStatus: undefined,
77
+ iconMessage: "Loading...",
78
+ },
79
+ extractionMessageData: [],
80
+ }
81
+ : extractionStatus;
82
+ return {
83
+ mappings,
84
+ isLoading,
85
+ showExtractionMessageModal,
86
+ extractionStatus: extractionStatusGated,
87
+ setShowExtractionMessageModal,
88
+ refreshMappings,
89
+ refreshExtractionStatus,
90
+ toggleExtraction,
91
+ onDelete,
92
+ setShowImportModal,
93
+ showImportModal,
94
+ setShowDeleteModal,
95
+ showDeleteModal,
96
+ isTogglingExtraction,
97
+ };
76
98
  };
77
99
  exports.useMappingsOperations = useMappingsOperations;
78
100
  //# sourceMappingURL=useMappingsOperations.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useMappingsOperations.js","sourceRoot":"","sources":["../../../../../src/components/Mappings/hooks/useMappingsOperations.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\nimport { useCallback, useEffect, useState } from \"react\";\nimport { ExtractorState } from \"@itwin/insights-client\";\nimport type { IMappingsClient, Mapping } from \"@itwin/insights-client\";\nimport type { GroupingMappingApiConfig } from \"../../context/GroupingApiConfigContext\";\nimport { useExtractionClient } from \"../../context/ExtractionClientContext\";\nimport { useMutation, useQueryClient } from \"@tanstack/react-query\";\nimport { useFetchMappings } from \"./useFetchMappings\";\nimport { useFetchExtractionStatus } from \"./useFetchExtractionStatus\";\nimport { useExtractionStateJobContext } from \"../../context/ExtractionStateJobContext\";\n\nexport interface MappingsOperationsProps extends GroupingMappingApiConfig {\n mappingClient: IMappingsClient;\n}\n\nexport const useMappingsOperations = ({ iModelId, getAccessToken, mappingClient }: MappingsOperationsProps) => {\n const [showImportModal, setShowImportModal] = useState<boolean | undefined>(false);\n const [showDeleteModal, setShowDeleteModal] = useState<Mapping | undefined>(undefined);\n const extractionClient = useExtractionClient();\n const [showExtractionMessageModal, setShowExtractionMessageModal] = useState<boolean>(false);\n const queryClient = useQueryClient();\n const [initialStateExtractionFlag, setInitialExtractionStateFlag] = useState<boolean>(true);\n const { mappingIdJobInfo, setMappingIdJobInfo } = useExtractionStateJobContext();\n\n const {\n data: mappings,\n isFetched: isMappingsFetched,\n isFetching: isLoadingMappings,\n } = useFetchMappings(iModelId, getAccessToken, mappingClient);\n\n const {\n data: extractionStatus,\n isFetched: isExtractionStatusFetched,\n isFetching: isLoadingExtractionStatus,\n } = useFetchExtractionStatus({ iModelId, getAccessToken, extractionClient });\n\n const refreshExtractionStatus = useCallback(async () => {\n await queryClient.invalidateQueries({queryKey: [\"iModelExtractionStatus\"]});\n setInitialExtractionStateFlag(false);\n }, [queryClient]);\n\n useEffect(() => {\n if(initialStateExtractionFlag && isMappingsFetched && isExtractionStatusFetched && mappings && extractionStatus && !mappingIdJobInfo.size){\n const newMappingIdJobInfo = new Map<string, string>();\n const jobId = extractionStatus.latestExtractionResult.value?.jobId;\n const state = extractionStatus.latestJobStatus?.state;\n if((state === ExtractorState.Failed || state === ExtractorState.Succeeded)) return;\n !!jobId && mappings.forEach((mapping) => {\n const mappingId = mapping.id;\n const jobId = extractionStatus.latestExtractionResult.value.jobId;\n newMappingIdJobInfo.set(mappingId, jobId);\n });\n setMappingIdJobInfo(newMappingIdJobInfo);\n setInitialExtractionStateFlag(false);\n }\n }, [extractionStatus, initialStateExtractionFlag, isExtractionStatusFetched, isMappingsFetched, mappingIdJobInfo.size, mappings, setMappingIdJobInfo]);\n\n const refreshMappings = useCallback(async () => {\n await queryClient.invalidateQueries({queryKey: [\"mappings\"]});\n }, [queryClient]);\n\n const { mutateAsync: toggleExtraction, isLoading: isTogglingExtraction } = useMutation({\n mutationFn: async (mapping: Mapping) => {\n const accessToken = await getAccessToken();\n const newState = !mapping.extractionEnabled;\n await mappingClient.updateMapping(accessToken, iModelId, mapping.id, { extractionEnabled: newState });\n },\n onSuccess: async () => {\n await refreshMappings();\n },\n });\n\n const { mutateAsync: onDelete, isLoading: isDeletingMapping} = useMutation({\n mutationFn: async (mapping: Mapping) => {\n const accessToken = await getAccessToken();\n await mappingClient.deleteMapping(accessToken, iModelId, mapping.id);\n },\n onSuccess: async () => {\n await refreshMappings();\n },\n });\n\n const isLoading = isLoadingMappings || isTogglingExtraction || isDeletingMapping;\n const extractionStatusGated = (!extractionStatus || isLoadingExtractionStatus) ? {\n extractionStatusIcon: {\n iconStatus: undefined,\n iconMessage: \"Loading...\",\n },\n extractionMessageData: [],\n } : extractionStatus;\n\n return { mappings, isLoading, showExtractionMessageModal, extractionStatus: extractionStatusGated, setShowExtractionMessageModal, refreshMappings, refreshExtractionStatus, toggleExtraction, onDelete, setShowImportModal, showImportModal, setShowDeleteModal, showDeleteModal, isTogglingExtraction};\n};\n"]}
1
+ {"version":3,"file":"useMappingsOperations.js","sourceRoot":"","sources":["../../../../../src/components/Mappings/hooks/useMappingsOperations.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\nimport { useCallback, useEffect, useState } from \"react\";\nimport { ExtractionState } from \"@itwin/insights-client\";\nimport type { IMappingsClient, Mapping } from \"@itwin/insights-client\";\nimport type { GroupingMappingApiConfig } from \"../../context/GroupingApiConfigContext\";\nimport { useExtractionClient } from \"../../context/ExtractionClientContext\";\nimport { useMutation, useQueryClient } from \"@tanstack/react-query\";\nimport { useFetchMappings } from \"./useFetchMappings\";\nimport { useFetchExtractionStatus } from \"./useFetchExtractionStatus\";\nimport { useExtractionStateJobContext } from \"../../context/ExtractionStateJobContext\";\n\n/**\n * Props for the {@link useMappingsOperations} hook.\n * @internal\n */\nexport interface MappingsOperationsProps extends GroupingMappingApiConfig {\n mappingClient: IMappingsClient;\n}\n\n/**\n * Custom hook to handle mapping operations.\n * @internal\n */\nexport const useMappingsOperations = ({ iModelId, getAccessToken, mappingClient }: MappingsOperationsProps) => {\n const [showImportModal, setShowImportModal] = useState<boolean | undefined>(false);\n const [showDeleteModal, setShowDeleteModal] = useState<Mapping | undefined>(undefined);\n const extractionClient = useExtractionClient();\n const [showExtractionMessageModal, setShowExtractionMessageModal] = useState<boolean>(false);\n const queryClient = useQueryClient();\n const [initialStateExtractionFlag, setInitialExtractionStateFlag] = useState<boolean>(true);\n const { mappingIdJobInfo, setMappingIdJobInfo } = useExtractionStateJobContext();\n\n const { data: mappings, isFetched: isMappingsFetched, isFetching: isLoadingMappings } = useFetchMappings(iModelId, getAccessToken, mappingClient);\n\n const {\n data: extractionStatus,\n isFetched: isExtractionStatusFetched,\n isFetching: isLoadingExtractionStatus,\n } = useFetchExtractionStatus({ iModelId, getAccessToken, extractionClient });\n\n const refreshExtractionStatus = useCallback(async () => {\n await queryClient.invalidateQueries({ queryKey: [\"iModelExtractionStatus\"] });\n setInitialExtractionStateFlag(false);\n }, [queryClient]);\n\n useEffect(() => {\n if (initialStateExtractionFlag && isMappingsFetched && isExtractionStatusFetched && mappings && extractionStatus && !mappingIdJobInfo.size) {\n const newMappingIdJobInfo = new Map<string, string>();\n const latestExtractionResultId = extractionStatus.latestExtractionResult.value?.id;\n const state = extractionStatus.latestExtractionResult.value?.state;\n if (state === ExtractionState.Failed || state === ExtractionState.Succeeded || state === ExtractionState.PartiallySucceeded) return;\n !!latestExtractionResultId &&\n mappings.forEach((mapping) => {\n const mappingId = mapping.id;\n const latestExtractionResultId = extractionStatus.latestExtractionResult.value.id;\n newMappingIdJobInfo.set(mappingId, latestExtractionResultId);\n });\n setMappingIdJobInfo(newMappingIdJobInfo);\n setInitialExtractionStateFlag(false);\n }\n }, [extractionStatus, initialStateExtractionFlag, isExtractionStatusFetched, isMappingsFetched, mappingIdJobInfo.size, mappings, setMappingIdJobInfo]);\n\n const refreshMappings = useCallback(async () => {\n await queryClient.invalidateQueries({ queryKey: [\"mappings\"] });\n }, [queryClient]);\n\n const { mutateAsync: toggleExtraction, isLoading: isTogglingExtraction } = useMutation({\n mutationFn: async (mapping: Mapping) => {\n const accessToken = await getAccessToken();\n const newState = !mapping.extractionEnabled;\n await mappingClient.updateMapping(accessToken, mapping.id, { extractionEnabled: newState });\n },\n onSuccess: async () => {\n await refreshMappings();\n },\n });\n\n const { mutateAsync: onDelete, isLoading: isDeletingMapping } = useMutation({\n mutationFn: async (mapping: Mapping) => {\n const accessToken = await getAccessToken();\n await mappingClient.deleteMapping(accessToken, mapping.id);\n },\n onSuccess: async () => {\n await refreshMappings();\n },\n });\n\n const isLoading = isLoadingMappings || isTogglingExtraction || isDeletingMapping;\n const extractionStatusGated =\n !extractionStatus || isLoadingExtractionStatus\n ? {\n extractionStatusIcon: {\n iconStatus: undefined,\n iconMessage: \"Loading...\",\n },\n extractionMessageData: [],\n }\n : extractionStatus;\n\n return {\n mappings,\n isLoading,\n showExtractionMessageModal,\n extractionStatus: extractionStatusGated,\n setShowExtractionMessageModal,\n refreshMappings,\n refreshExtractionStatus,\n toggleExtraction,\n onDelete,\n setShowImportModal,\n showImportModal,\n setShowDeleteModal,\n showDeleteModal,\n isTogglingExtraction,\n };\n};\n"]}
@@ -4,11 +4,11 @@ import type { Mapping } from "@itwin/insights-client";
4
4
  export interface FetchExtractionStatesProps extends GroupingMappingApiConfig {
5
5
  jobId?: string;
6
6
  }
7
- export declare const useRunExtraction: ({ iModelId, getAccessToken, }: FetchExtractionStatesProps) => {
7
+ export declare const useRunExtraction: ({ iModelId, getAccessToken }: FetchExtractionStatesProps) => {
8
8
  isRunExtractionLoading: boolean;
9
9
  isRunExtractionSuccess: boolean;
10
10
  isJobStarted: boolean;
11
11
  setIsJobStarted: import("react").Dispatch<import("react").SetStateAction<boolean>>;
12
- runExtraction: import("@tanstack/react-query").UseMutateAsyncFunction<import("@itwin/insights-client").ExtractionRun, unknown, Mapping[], unknown>;
12
+ runExtraction: import("@tanstack/react-query").UseMutateAsyncFunction<import("@itwin/insights-client").ExtractionStatus | undefined, unknown, Mapping[], unknown>;
13
13
  };
14
14
  //# sourceMappingURL=useRunExtraction.d.ts.map
@@ -2,36 +2,44 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.useRunExtraction = void 0;
4
4
  /*---------------------------------------------------------------------------------------------
5
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
6
- * See LICENSE.md in the project root for license terms and full copyright notice.
7
- *--------------------------------------------------------------------------------------------*/
5
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
6
+ * See LICENSE.md in the project root for license terms and full copyright notice.
7
+ *--------------------------------------------------------------------------------------------*/
8
8
  const ExtractionClientContext_1 = require("../../context/ExtractionClientContext");
9
9
  const react_query_1 = require("@tanstack/react-query");
10
10
  const react_1 = require("react");
11
11
  const ExtractionStateJobContext_1 = require("../../context/ExtractionStateJobContext");
12
- const useRunExtraction = ({ iModelId, getAccessToken, }) => {
12
+ const useRunExtraction = ({ iModelId, getAccessToken }) => {
13
13
  const extractionClient = (0, ExtractionClientContext_1.useExtractionClient)();
14
14
  const [isJobStarted, setIsJobStarted] = (0, react_1.useState)(false);
15
15
  const { mappingIdJobInfo, setMappingIdJobInfo } = (0, ExtractionStateJobContext_1.useExtractionStateJobContext)();
16
- const { mutateAsync: runExtraction, isLoading: isRunExtractionLoading, isSuccess: isRunExtractionSuccess } = (0, react_query_1.useMutation)({
16
+ const { mutateAsync: runExtraction, isLoading: isRunExtractionLoading, isSuccess: isRunExtractionSuccess, } = (0, react_query_1.useMutation)({
17
17
  mutationKey: ["runExtraction"],
18
18
  mutationFn: async (mappings) => {
19
- const accessToken = await getAccessToken();
20
- const mappingIds = mappings.length > 0 ? mappings.map((mapping) => { return { id: mapping.id }; }) : [];
21
- const extractionRequest = {
22
- mappings: mappingIds,
23
- };
24
- const runExtractionResponse = await extractionClient.runExtraction(accessToken, iModelId, extractionRequest);
25
- return runExtractionResponse;
19
+ if (mappings.length > 0) {
20
+ const accessToken = await getAccessToken();
21
+ const mappingIds = mappings.map((mapping) => {
22
+ return { id: mapping.id };
23
+ });
24
+ const extractionRequest = {
25
+ mappings: mappingIds,
26
+ iModelId,
27
+ };
28
+ const runExtractionResponse = await extractionClient.runExtraction(accessToken, extractionRequest);
29
+ return runExtractionResponse;
30
+ }
31
+ return;
26
32
  },
27
33
  onSuccess: async (runExtractionResponse, mappings) => {
28
- for (const mapping of mappings) {
29
- if (mappingIdJobInfo?.get(mapping.id) === undefined) {
30
- setMappingIdJobInfo((prevMap) => {
31
- const newMap = new Map(prevMap);
32
- newMap.set(mapping.id, runExtractionResponse.id);
33
- return newMap;
34
- });
34
+ if (runExtractionResponse) {
35
+ for (const mapping of mappings) {
36
+ if (mappingIdJobInfo?.get(mapping.id) === undefined) {
37
+ setMappingIdJobInfo((prevMap) => {
38
+ const newMap = new Map(prevMap);
39
+ newMap.set(mapping.id, runExtractionResponse.id);
40
+ return newMap;
41
+ });
42
+ }
35
43
  }
36
44
  }
37
45
  },
@@ -1 +1 @@
1
- {"version":3,"file":"useRunExtraction.js","sourceRoot":"","sources":["../../../../../src/components/Mappings/hooks/useRunExtraction.ts"],"names":[],"mappings":";;;AAAA;;;+FAG+F;AAC/F,mFAA4E;AAC5E,uDAAoD;AAGpD,iCAAiC;AACjC,uFAAuF;AAMhF,MAAM,gBAAgB,GAAG,CAAC,EAC/B,QAAQ,EACR,cAAc,GACa,EAAE,EAAE;IAC/B,MAAM,gBAAgB,GAAG,IAAA,6CAAmB,GAAE,CAAC;IAC/C,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,IAAA,gBAAQ,EAAU,KAAK,CAAC,CAAC;IACjE,MAAM,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,GAAG,IAAA,wDAA4B,GAAE,CAAC;IAEjF,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,SAAS,EAAE,sBAAsB,EAAE,SAAS,EAAE,sBAAsB,EAAE,GAAG,IAAA,yBAAW,EAAC;QACvH,WAAW,EAAE,CAAC,eAAe,CAAC;QAC9B,UAAU,EAAE,KAAK,EAAE,QAAmB,EAAE,EAAE;YACxC,MAAM,WAAW,GAAG,MAAM,cAAc,EAAE,CAAC;YAC3C,MAAM,UAAU,GAA+B,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACpI,MAAM,iBAAiB,GAAyB;gBAC9C,QAAQ,EAAE,UAAU;aACrB,CAAC;YAEF,MAAM,qBAAqB,GAAG,MAAM,gBAAgB,CAAC,aAAa,CAAC,WAAW,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAC;YAC7G,OAAO,qBAAqB,CAAC;QAC/B,CAAC;QACD,SAAS,EAAE,KAAK,EAAE,qBAAqB,EAAE,QAAQ,EAAE,EAAE;YACnD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAC;gBAC7B,IAAG,gBAAgB,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,SAAS,EAAC;oBACjD,mBAAmB,CAAC,CAAC,OAA4B,EAAE,EAAE;wBACnD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;wBAChC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,qBAAqB,CAAC,EAAE,CAAC,CAAC;wBACjD,OAAO,MAAM,CAAC;oBAChB,CAAC,CAAC,CAAC;iBACJ;aACF;QACH,CAAC;KACF,CAAC,CAAC;IAEH,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,CAAC;AAC1G,CAAC,CAAC;AAlCW,QAAA,gBAAgB,oBAkC3B","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 { useExtractionClient } from \"../../context/ExtractionClientContext\";\nimport { useMutation } from \"@tanstack/react-query\";\nimport type { GroupingMappingApiConfig } from \"../../context/GroupingApiConfigContext\";\nimport type { ExtractionRequestMapping, ExtractionRunRequest, Mapping } from \"@itwin/insights-client\";\nimport { useState } from \"react\";\nimport { useExtractionStateJobContext } from \"../../context/ExtractionStateJobContext\";\n\nexport interface FetchExtractionStatesProps extends GroupingMappingApiConfig {\n jobId?: string;\n}\n\nexport const useRunExtraction = ({\n iModelId,\n getAccessToken,\n}: FetchExtractionStatesProps) => {\n const extractionClient = useExtractionClient();\n const [isJobStarted, setIsJobStarted] = useState<boolean>(false);\n const { mappingIdJobInfo, setMappingIdJobInfo } = useExtractionStateJobContext();\n\n const { mutateAsync: runExtraction, isLoading: isRunExtractionLoading, isSuccess: isRunExtractionSuccess } = useMutation({\n mutationKey: [\"runExtraction\"],\n mutationFn: async (mappings: Mapping[]) => {\n const accessToken = await getAccessToken();\n const mappingIds: ExtractionRequestMapping[] = mappings.length > 0 ? mappings.map((mapping) => { return { id: mapping.id }; }) : [];\n const extractionRequest: ExtractionRunRequest = {\n mappings: mappingIds,\n };\n\n const runExtractionResponse = await extractionClient.runExtraction(accessToken, iModelId, extractionRequest);\n return runExtractionResponse;\n },\n onSuccess: async (runExtractionResponse, mappings) => {\n for (const mapping of mappings){\n if(mappingIdJobInfo?.get(mapping.id) === undefined){\n setMappingIdJobInfo((prevMap: Map<string, string>) => {\n const newMap = new Map(prevMap);\n newMap.set(mapping.id, runExtractionResponse.id);\n return newMap;\n });\n }\n }\n },\n });\n\n return { isRunExtractionLoading, isRunExtractionSuccess, isJobStarted, setIsJobStarted, runExtraction };\n};\n"]}
1
+ {"version":3,"file":"useRunExtraction.js","sourceRoot":"","sources":["../../../../../src/components/Mappings/hooks/useRunExtraction.ts"],"names":[],"mappings":";;;AAAA;;;gGAGgG;AAChG,mFAA4E;AAC5E,uDAAoD;AAGpD,iCAAiC;AACjC,uFAAuF;AAMhF,MAAM,gBAAgB,GAAG,CAAC,EAAE,QAAQ,EAAE,cAAc,EAA8B,EAAE,EAAE;IAC3F,MAAM,gBAAgB,GAAG,IAAA,6CAAmB,GAAE,CAAC;IAC/C,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,IAAA,gBAAQ,EAAU,KAAK,CAAC,CAAC;IACjE,MAAM,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,GAAG,IAAA,wDAA4B,GAAE,CAAC;IAEjF,MAAM,EACJ,WAAW,EAAE,aAAa,EAC1B,SAAS,EAAE,sBAAsB,EACjC,SAAS,EAAE,sBAAsB,GAClC,GAAG,IAAA,yBAAW,EAAC;QACd,WAAW,EAAE,CAAC,eAAe,CAAC;QAC9B,UAAU,EAAE,KAAK,EAAE,QAAmB,EAAE,EAAE;YACxC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;gBACvB,MAAM,WAAW,GAAG,MAAM,cAAc,EAAE,CAAC;gBAC3C,MAAM,UAAU,GAAwB,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;oBAC/D,OAAO,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC;gBAC5B,CAAC,CAAC,CAAC;gBACH,MAAM,iBAAiB,GAA6B;oBAClD,QAAQ,EAAE,UAAU;oBACpB,QAAQ;iBACT,CAAC;gBAEF,MAAM,qBAAqB,GAAG,MAAM,gBAAgB,CAAC,aAAa,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;gBACnG,OAAO,qBAAqB,CAAC;aAC9B;YACD,OAAO;QACT,CAAC;QACD,SAAS,EAAE,KAAK,EAAE,qBAAqB,EAAE,QAAQ,EAAE,EAAE;YACnD,IAAI,qBAAqB,EAAE;gBACzB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;oBAC9B,IAAI,gBAAgB,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,SAAS,EAAE;wBACnD,mBAAmB,CAAC,CAAC,OAA4B,EAAE,EAAE;4BACnD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;4BAChC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,qBAAqB,CAAC,EAAE,CAAC,CAAC;4BACjD,OAAO,MAAM,CAAC;wBAChB,CAAC,CAAC,CAAC;qBACJ;iBACF;aACF;QACH,CAAC;KACF,CAAC,CAAC;IAEH,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,CAAC;AAC1G,CAAC,CAAC;AA3CW,QAAA,gBAAgB,oBA2C3B","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 { useExtractionClient } from \"../../context/ExtractionClientContext\";\nimport { useMutation } from \"@tanstack/react-query\";\nimport type { GroupingMappingApiConfig } from \"../../context/GroupingApiConfigContext\";\nimport type { ExtractionMapping, ExtractionRequestDetails, Mapping } from \"@itwin/insights-client\";\nimport { useState } from \"react\";\nimport { useExtractionStateJobContext } from \"../../context/ExtractionStateJobContext\";\n\nexport interface FetchExtractionStatesProps extends GroupingMappingApiConfig {\n jobId?: string;\n}\n\nexport const useRunExtraction = ({ iModelId, getAccessToken }: FetchExtractionStatesProps) => {\n const extractionClient = useExtractionClient();\n const [isJobStarted, setIsJobStarted] = useState<boolean>(false);\n const { mappingIdJobInfo, setMappingIdJobInfo } = useExtractionStateJobContext();\n\n const {\n mutateAsync: runExtraction,\n isLoading: isRunExtractionLoading,\n isSuccess: isRunExtractionSuccess,\n } = useMutation({\n mutationKey: [\"runExtraction\"],\n mutationFn: async (mappings: Mapping[]) => {\n if (mappings.length > 0) {\n const accessToken = await getAccessToken();\n const mappingIds: ExtractionMapping[] = mappings.map((mapping) => {\n return { id: mapping.id };\n });\n const extractionRequest: ExtractionRequestDetails = {\n mappings: mappingIds,\n iModelId,\n };\n\n const runExtractionResponse = await extractionClient.runExtraction(accessToken, extractionRequest);\n return runExtractionResponse;\n }\n return;\n },\n onSuccess: async (runExtractionResponse, mappings) => {\n if (runExtractionResponse) {\n for (const mapping of mappings) {\n if (mappingIdJobInfo?.get(mapping.id) === undefined) {\n setMappingIdJobInfo((prevMap: Map<string, string>) => {\n const newMap = new Map(prevMap);\n newMap.set(mapping.id, runExtractionResponse.id);\n return newMap;\n });\n }\n }\n }\n },\n });\n\n return { isRunExtractionLoading, isRunExtractionSuccess, isJobStarted, setIsJobStarted, runExtraction };\n};\n"]}
@@ -1,12 +1,20 @@
1
1
  /// <reference types="react" />
2
2
  import "./CalculatedPropertyAction.scss";
3
- import type { CalculatedProperty, Group } from "@itwin/insights-client";
3
+ import type { Group, Property } from "@itwin/insights-client";
4
+ /**
5
+ * Props for the {@link CalculatedPropertyAction} component.
6
+ * @public
7
+ */
4
8
  export interface CalculatedPropertyActionProps {
5
9
  mappingId: string;
6
10
  group: Group;
7
- calculatedProperty?: CalculatedProperty;
11
+ calculatedProperty?: Property;
8
12
  onSaveSuccess: () => void;
9
13
  onClickCancel?: () => void;
10
14
  }
11
- export declare const CalculatedPropertyAction: ({ mappingId, group, calculatedProperty, onSaveSuccess, onClickCancel, }: CalculatedPropertyActionProps) => JSX.Element;
15
+ /**
16
+ * Component to create or update a calculated property.
17
+ * @public
18
+ */
19
+ export declare const CalculatedPropertyAction: ({ mappingId, group, calculatedProperty, onSaveSuccess, onClickCancel }: CalculatedPropertyActionProps) => JSX.Element;
12
20
  //# sourceMappingURL=CalculatedPropertyAction.d.ts.map