@itwin/grouping-mapping-widget 0.21.1 → 0.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (259) hide show
  1. package/lib/cjs/WidgetShell/GroupingMapping.js +5 -1
  2. package/lib/cjs/WidgetShell/GroupingMapping.js.map +1 -1
  3. package/lib/cjs/WidgetShell/GroupingMappingContent.js +5 -1
  4. package/lib/cjs/WidgetShell/GroupingMappingContent.js.map +1 -1
  5. package/lib/cjs/common/hooks/useIsMounted.d.ts +2 -0
  6. package/lib/cjs/common/hooks/useIsMounted.js +20 -0
  7. package/lib/cjs/common/hooks/useIsMounted.js.map +1 -0
  8. package/lib/cjs/common/hooks/useMemoizedCollectionPick.d.ts +2 -0
  9. package/lib/cjs/common/hooks/useMemoizedCollectionPick.js +31 -0
  10. package/lib/cjs/common/hooks/useMemoizedCollectionPick.js.map +1 -0
  11. package/lib/cjs/common/utils.d.ts +1 -0
  12. package/lib/cjs/common/utils.js +13 -1
  13. package/lib/cjs/common/utils.js.map +1 -1
  14. package/lib/cjs/components/Constants.d.ts +4 -0
  15. package/lib/cjs/components/Constants.js +13 -0
  16. package/lib/cjs/components/Constants.js.map +1 -0
  17. package/lib/cjs/components/GroupingMappingContext.d.ts +5 -0
  18. package/lib/cjs/components/GroupingMappingContext.js +56 -26
  19. package/lib/cjs/components/GroupingMappingContext.js.map +1 -1
  20. package/lib/cjs/components/Groups/Editing/GroupAction.js +57 -57
  21. package/lib/cjs/components/Groups/Editing/GroupAction.js.map +1 -1
  22. package/lib/cjs/components/Groups/Editing/GroupDetailsActionPanel.d.ts +1 -1
  23. package/lib/cjs/components/Groups/Editing/GroupDetailsActionPanel.js.map +1 -1
  24. package/lib/cjs/components/Groups/GroupItem.js +1 -1
  25. package/lib/cjs/components/Groups/GroupItem.js.map +1 -1
  26. package/lib/cjs/components/Groups/GroupMenuActions.js +5 -1
  27. package/lib/cjs/components/Groups/GroupMenuActions.js.map +1 -1
  28. package/lib/cjs/components/Groups/Groups.d.ts +3 -2
  29. package/lib/cjs/components/Groups/Groups.js +8 -4
  30. package/lib/cjs/components/Groups/Groups.js.map +1 -1
  31. package/lib/cjs/components/Groups/GroupsShowHideButtons.d.ts +2 -2
  32. package/lib/cjs/components/Groups/GroupsShowHideButtons.js +8 -4
  33. package/lib/cjs/components/Groups/GroupsShowHideButtons.js.map +1 -1
  34. package/lib/cjs/components/Groups/GroupsView.js +1 -1
  35. package/lib/cjs/components/Groups/GroupsView.js.map +1 -1
  36. package/lib/cjs/components/Groups/GroupsVisualization.d.ts +1 -1
  37. package/lib/cjs/components/Groups/GroupsVisualization.js +103 -67
  38. package/lib/cjs/components/Groups/GroupsVisualization.js.map +1 -1
  39. package/lib/cjs/components/Groups/GroupsVisualizationActions.d.ts +6 -4
  40. package/lib/cjs/components/Groups/GroupsVisualizationActions.js +8 -6
  41. package/lib/cjs/components/Groups/GroupsVisualizationActions.js.map +1 -1
  42. package/lib/cjs/components/Groups/GroupsVisualizationActions.scss +1 -0
  43. package/lib/cjs/components/Groups/groupsHelpers.d.ts +19 -7
  44. package/lib/cjs/components/Groups/groupsHelpers.js +11 -70
  45. package/lib/cjs/components/Groups/groupsHelpers.js.map +1 -1
  46. package/lib/cjs/components/Groups/hooks/useFetchGroups.d.ts +5 -0
  47. package/lib/cjs/components/Groups/hooks/useFetchGroups.js +18 -0
  48. package/lib/cjs/components/Groups/hooks/useFetchGroups.js.map +1 -0
  49. package/lib/cjs/components/Groups/hooks/useGroupsOperations.d.ts +1 -5
  50. package/lib/cjs/components/Groups/hooks/useGroupsOperations.js +17 -31
  51. package/lib/cjs/components/Groups/hooks/useGroupsOperations.js.map +1 -1
  52. package/lib/cjs/components/Groups/hooks/useKeySetHiliteQueries.d.ts +32 -0
  53. package/lib/cjs/components/Groups/hooks/useKeySetHiliteQueries.js +31 -0
  54. package/lib/cjs/components/Groups/hooks/useKeySetHiliteQueries.js.map +1 -0
  55. package/lib/cjs/components/Groups/hooks/useVisualization.js +4 -4
  56. package/lib/cjs/components/Groups/hooks/useVisualization.js.map +1 -1
  57. package/lib/cjs/components/Mappings/Editing/MappingAction.js +26 -31
  58. package/lib/cjs/components/Mappings/Editing/MappingAction.js.map +1 -1
  59. package/lib/cjs/components/Mappings/Extraction/ExtractionLogCustomFilter.js +5 -1
  60. package/lib/cjs/components/Mappings/Extraction/ExtractionLogCustomFilter.js.map +1 -1
  61. package/lib/cjs/components/Mappings/Extraction/ExtractionMessageModal.d.ts +6 -1
  62. package/lib/cjs/components/Mappings/Extraction/ExtractionMessageModal.js +51 -40
  63. package/lib/cjs/components/Mappings/Extraction/ExtractionMessageModal.js.map +1 -1
  64. package/lib/cjs/components/Mappings/Extraction/ExtractionStatusIcon.d.ts +7 -1
  65. package/lib/cjs/components/Mappings/Extraction/ExtractionStatusIcon.js.map +1 -1
  66. package/lib/cjs/components/Mappings/{ConfirmMappingsImport.d.ts → Import/ConfirmMappingsImport.d.ts} +1 -1
  67. package/lib/cjs/components/Mappings/{ConfirmMappingsImport.js → Import/ConfirmMappingsImport.js} +32 -21
  68. package/lib/cjs/components/Mappings/Import/ConfirmMappingsImport.js.map +1 -0
  69. package/lib/cjs/components/Mappings/Import/MappingImportWizardModal.js +9 -8
  70. package/lib/cjs/components/Mappings/Import/MappingImportWizardModal.js.map +1 -1
  71. package/lib/cjs/components/Mappings/Import/SelectIModel.js +35 -50
  72. package/lib/cjs/components/Mappings/Import/SelectIModel.js.map +1 -1
  73. package/lib/cjs/components/Mappings/Import/SelectITwin.d.ts +6 -1
  74. package/lib/cjs/components/Mappings/Import/SelectITwin.js +44 -53
  75. package/lib/cjs/components/Mappings/Import/SelectITwin.js.map +1 -1
  76. package/lib/cjs/components/Mappings/Import/SelectMappings.js +18 -37
  77. package/lib/cjs/components/Mappings/Import/SelectMappings.js.map +1 -1
  78. package/lib/cjs/components/Mappings/Mappings.js +5 -27
  79. package/lib/cjs/components/Mappings/Mappings.js.map +1 -1
  80. package/lib/cjs/components/Mappings/MappingsView.d.ts +5 -4
  81. package/lib/cjs/components/Mappings/MappingsView.js +33 -7
  82. package/lib/cjs/components/Mappings/MappingsView.js.map +1 -1
  83. package/lib/cjs/components/Mappings/hooks/useFetchExtractionStatus.d.ts +13 -0
  84. package/lib/cjs/components/Mappings/hooks/useFetchExtractionStatus.js +50 -0
  85. package/lib/cjs/components/Mappings/hooks/useFetchExtractionStatus.js.map +1 -0
  86. package/lib/cjs/components/Mappings/hooks/useFetchMappings.d.ts +4 -0
  87. package/lib/cjs/components/Mappings/hooks/useFetchMappings.js +14 -0
  88. package/lib/cjs/components/Mappings/hooks/useFetchMappings.js.map +1 -0
  89. package/lib/cjs/components/Mappings/hooks/useMappingsOperations.d.ts +9 -10
  90. package/lib/cjs/components/Mappings/hooks/useMappingsOperations.js +35 -108
  91. package/lib/cjs/components/Mappings/hooks/useMappingsOperations.js.map +1 -1
  92. package/lib/cjs/components/Properties/CalculatedProperties/CalculatedPropertyAction.js +5 -1
  93. package/lib/cjs/components/Properties/CalculatedProperties/CalculatedPropertyAction.js.map +1 -1
  94. package/lib/cjs/components/Properties/CalculatedProperties/CalculatedPropertyActionWithVisuals.js +16 -21
  95. package/lib/cjs/components/Properties/CalculatedProperties/CalculatedPropertyActionWithVisuals.js.map +1 -1
  96. package/lib/cjs/components/Properties/CalculatedProperties/CalculatedPropertyTable.js +5 -1
  97. package/lib/cjs/components/Properties/CalculatedProperties/CalculatedPropertyTable.js.map +1 -1
  98. package/lib/cjs/components/Properties/CalculatedProperties/SharedCalculatedPropertyForms.js +5 -1
  99. package/lib/cjs/components/Properties/CalculatedProperties/SharedCalculatedPropertyForms.js.map +1 -1
  100. package/lib/cjs/components/Properties/CustomCalculations/CustomCalculationAction.js +5 -1
  101. package/lib/cjs/components/Properties/CustomCalculations/CustomCalculationAction.js.map +1 -1
  102. package/lib/cjs/components/Properties/CustomCalculations/CustomCalculationTable.js +5 -1
  103. package/lib/cjs/components/Properties/CustomCalculations/CustomCalculationTable.js.map +1 -1
  104. package/lib/cjs/components/Properties/GroupColorToggle.js +13 -10
  105. package/lib/cjs/components/Properties/GroupColorToggle.js.map +1 -1
  106. package/lib/cjs/components/Properties/GroupProperties/GroupPropertyAction.js +7 -3
  107. package/lib/cjs/components/Properties/GroupProperties/GroupPropertyAction.js.map +1 -1
  108. package/lib/cjs/components/Properties/GroupProperties/GroupPropertyTable.js +5 -1
  109. package/lib/cjs/components/Properties/GroupProperties/GroupPropertyTable.js.map +1 -1
  110. package/lib/cjs/components/Properties/GroupProperties/SortableHorizontalTile.js +5 -1
  111. package/lib/cjs/components/Properties/GroupProperties/SortableHorizontalTile.js.map +1 -1
  112. package/lib/cjs/components/Properties/PropertyAction.js +5 -1
  113. package/lib/cjs/components/Properties/PropertyAction.js.map +1 -1
  114. package/lib/cjs/components/Properties/PropertyMenu.js +5 -1
  115. package/lib/cjs/components/Properties/PropertyMenu.js.map +1 -1
  116. package/lib/cjs/components/Properties/PropertyMenuWithVisualization.js +5 -1
  117. package/lib/cjs/components/Properties/PropertyMenuWithVisualization.js.map +1 -1
  118. package/lib/cjs/components/Properties/PropertyTable.js +7 -2
  119. package/lib/cjs/components/Properties/PropertyTable.js.map +1 -1
  120. package/lib/cjs/components/SharedComponents/ActionPanel.js +5 -1
  121. package/lib/cjs/components/SharedComponents/ActionPanel.js.map +1 -1
  122. package/lib/cjs/components/SharedComponents/DeleteModal.d.ts +2 -2
  123. package/lib/cjs/components/SharedComponents/DeleteModal.js +20 -20
  124. package/lib/cjs/components/SharedComponents/DeleteModal.js.map +1 -1
  125. package/lib/cjs/components/context/GroupHilitedElementsContext.d.ts +9 -16
  126. package/lib/cjs/components/context/GroupHilitedElementsContext.js +13 -10
  127. package/lib/cjs/components/context/GroupHilitedElementsContext.js.map +1 -1
  128. package/lib/cjs/components/context/GroupingApiConfigContext.js +5 -1
  129. package/lib/cjs/components/context/GroupingApiConfigContext.js.map +1 -1
  130. package/lib/cjs/components/context/PropertiesContext.js +5 -1
  131. package/lib/cjs/components/context/PropertiesContext.js.map +1 -1
  132. package/lib/cjs/components/context/PropertyGridWrapperContext.js +5 -1
  133. package/lib/cjs/components/context/PropertyGridWrapperContext.js.map +1 -1
  134. package/lib/cjs/components/customUI/GroupQueryBuilderCustomUI.js +5 -1
  135. package/lib/cjs/components/customUI/GroupQueryBuilderCustomUI.js.map +1 -1
  136. package/lib/cjs/formula/FormulaFunctionProvider.js +10 -1
  137. package/lib/cjs/formula/FormulaFunctionProvider.js.map +1 -1
  138. package/lib/cjs/grouping-mapping-widget.js +5 -1
  139. package/lib/cjs/grouping-mapping-widget.js.map +1 -1
  140. package/lib/cjs/test/GroupingMappingCustomUI.test.js +5 -1
  141. package/lib/cjs/test/GroupingMappingCustomUI.test.js.map +1 -1
  142. package/lib/cjs/test/MockFactory.js +5 -1
  143. package/lib/cjs/test/MockFactory.js.map +1 -1
  144. package/lib/cjs/test/PropertyFieldsHelpers.d.ts +4 -20
  145. package/lib/cjs/test/test-utils.js +13 -1
  146. package/lib/cjs/test/test-utils.js.map +1 -1
  147. package/lib/esm/common/hooks/useIsMounted.d.ts +2 -0
  148. package/lib/esm/common/hooks/useIsMounted.js +16 -0
  149. package/lib/esm/common/hooks/useIsMounted.js.map +1 -0
  150. package/lib/esm/common/hooks/useMemoizedCollectionPick.d.ts +2 -0
  151. package/lib/esm/common/hooks/useMemoizedCollectionPick.js +27 -0
  152. package/lib/esm/common/hooks/useMemoizedCollectionPick.js.map +1 -0
  153. package/lib/esm/common/utils.d.ts +1 -0
  154. package/lib/esm/common/utils.js +11 -0
  155. package/lib/esm/common/utils.js.map +1 -1
  156. package/lib/esm/components/Constants.d.ts +4 -0
  157. package/lib/esm/components/Constants.js +10 -0
  158. package/lib/esm/components/Constants.js.map +1 -0
  159. package/lib/esm/components/GroupingMappingContext.d.ts +5 -0
  160. package/lib/esm/components/GroupingMappingContext.js +52 -26
  161. package/lib/esm/components/GroupingMappingContext.js.map +1 -1
  162. package/lib/esm/components/Groups/Editing/GroupAction.js +53 -57
  163. package/lib/esm/components/Groups/Editing/GroupAction.js.map +1 -1
  164. package/lib/esm/components/Groups/Editing/GroupDetailsActionPanel.d.ts +1 -1
  165. package/lib/esm/components/Groups/Editing/GroupDetailsActionPanel.js.map +1 -1
  166. package/lib/esm/components/Groups/GroupItem.js +1 -1
  167. package/lib/esm/components/Groups/GroupItem.js.map +1 -1
  168. package/lib/esm/components/Groups/Groups.d.ts +3 -2
  169. package/lib/esm/components/Groups/Groups.js +3 -3
  170. package/lib/esm/components/Groups/Groups.js.map +1 -1
  171. package/lib/esm/components/Groups/GroupsShowHideButtons.d.ts +2 -2
  172. package/lib/esm/components/Groups/GroupsShowHideButtons.js +3 -3
  173. package/lib/esm/components/Groups/GroupsShowHideButtons.js.map +1 -1
  174. package/lib/esm/components/Groups/GroupsView.js +1 -1
  175. package/lib/esm/components/Groups/GroupsView.js.map +1 -1
  176. package/lib/esm/components/Groups/GroupsVisualization.d.ts +1 -1
  177. package/lib/esm/components/Groups/GroupsVisualization.js +100 -68
  178. package/lib/esm/components/Groups/GroupsVisualization.js.map +1 -1
  179. package/lib/esm/components/Groups/GroupsVisualizationActions.d.ts +6 -4
  180. package/lib/esm/components/Groups/GroupsVisualizationActions.js +9 -7
  181. package/lib/esm/components/Groups/GroupsVisualizationActions.js.map +1 -1
  182. package/lib/esm/components/Groups/GroupsVisualizationActions.scss +1 -0
  183. package/lib/esm/components/Groups/groupsHelpers.d.ts +19 -7
  184. package/lib/esm/components/Groups/groupsHelpers.js +10 -67
  185. package/lib/esm/components/Groups/groupsHelpers.js.map +1 -1
  186. package/lib/esm/components/Groups/hooks/useFetchGroups.d.ts +5 -0
  187. package/lib/esm/components/Groups/hooks/useFetchGroups.js +13 -0
  188. package/lib/esm/components/Groups/hooks/useFetchGroups.js.map +1 -0
  189. package/lib/esm/components/Groups/hooks/useGroupsOperations.d.ts +1 -5
  190. package/lib/esm/components/Groups/hooks/useGroupsOperations.js +18 -32
  191. package/lib/esm/components/Groups/hooks/useGroupsOperations.js.map +1 -1
  192. package/lib/esm/components/Groups/hooks/useKeySetHiliteQueries.d.ts +32 -0
  193. package/lib/esm/components/Groups/hooks/useKeySetHiliteQueries.js +25 -0
  194. package/lib/esm/components/Groups/hooks/useKeySetHiliteQueries.js.map +1 -0
  195. package/lib/esm/components/Groups/hooks/useVisualization.js +4 -4
  196. package/lib/esm/components/Groups/hooks/useVisualization.js.map +1 -1
  197. package/lib/esm/components/Mappings/Editing/MappingAction.js +22 -31
  198. package/lib/esm/components/Mappings/Editing/MappingAction.js.map +1 -1
  199. package/lib/esm/components/Mappings/Extraction/ExtractionMessageModal.d.ts +6 -1
  200. package/lib/esm/components/Mappings/Extraction/ExtractionMessageModal.js +46 -39
  201. package/lib/esm/components/Mappings/Extraction/ExtractionMessageModal.js.map +1 -1
  202. package/lib/esm/components/Mappings/Extraction/ExtractionStatusIcon.d.ts +7 -1
  203. package/lib/esm/components/Mappings/Extraction/ExtractionStatusIcon.js.map +1 -1
  204. package/lib/esm/components/Mappings/{ConfirmMappingsImport.d.ts → Import/ConfirmMappingsImport.d.ts} +1 -1
  205. package/lib/esm/components/Mappings/{ConfirmMappingsImport.js → Import/ConfirmMappingsImport.js} +27 -20
  206. package/lib/esm/components/Mappings/Import/ConfirmMappingsImport.js.map +1 -0
  207. package/lib/esm/components/Mappings/Import/MappingImportWizardModal.js +4 -7
  208. package/lib/esm/components/Mappings/Import/MappingImportWizardModal.js.map +1 -1
  209. package/lib/esm/components/Mappings/Import/SelectIModel.js +31 -50
  210. package/lib/esm/components/Mappings/Import/SelectIModel.js.map +1 -1
  211. package/lib/esm/components/Mappings/Import/SelectITwin.d.ts +6 -1
  212. package/lib/esm/components/Mappings/Import/SelectITwin.js +39 -53
  213. package/lib/esm/components/Mappings/Import/SelectITwin.js.map +1 -1
  214. package/lib/esm/components/Mappings/Import/SelectMappings.js +14 -37
  215. package/lib/esm/components/Mappings/Import/SelectMappings.js.map +1 -1
  216. package/lib/esm/components/Mappings/Mappings.js +3 -9
  217. package/lib/esm/components/Mappings/Mappings.js.map +1 -1
  218. package/lib/esm/components/Mappings/MappingsView.d.ts +5 -4
  219. package/lib/esm/components/Mappings/MappingsView.js +10 -7
  220. package/lib/esm/components/Mappings/MappingsView.js.map +1 -1
  221. package/lib/esm/components/Mappings/hooks/useFetchExtractionStatus.d.ts +13 -0
  222. package/lib/esm/components/Mappings/hooks/useFetchExtractionStatus.js +46 -0
  223. package/lib/esm/components/Mappings/hooks/useFetchExtractionStatus.js.map +1 -0
  224. package/lib/esm/components/Mappings/hooks/useFetchMappings.d.ts +4 -0
  225. package/lib/esm/components/Mappings/hooks/useFetchMappings.js +10 -0
  226. package/lib/esm/components/Mappings/hooks/useFetchMappings.js.map +1 -0
  227. package/lib/esm/components/Mappings/hooks/useMappingsOperations.d.ts +9 -10
  228. package/lib/esm/components/Mappings/hooks/useMappingsOperations.js +36 -109
  229. package/lib/esm/components/Mappings/hooks/useMappingsOperations.js.map +1 -1
  230. package/lib/esm/components/Properties/CalculatedProperties/CalculatedPropertyActionWithVisuals.js +13 -22
  231. package/lib/esm/components/Properties/CalculatedProperties/CalculatedPropertyActionWithVisuals.js.map +1 -1
  232. package/lib/esm/components/Properties/GroupColorToggle.js +9 -10
  233. package/lib/esm/components/Properties/GroupColorToggle.js.map +1 -1
  234. package/lib/esm/components/Properties/GroupProperties/GroupPropertyAction.js +3 -3
  235. package/lib/esm/components/Properties/GroupProperties/GroupPropertyAction.js.map +1 -1
  236. package/lib/esm/components/Properties/PropertyTable.js +2 -1
  237. package/lib/esm/components/Properties/PropertyTable.js.map +1 -1
  238. package/lib/esm/components/SharedComponents/DeleteModal.d.ts +2 -2
  239. package/lib/esm/components/SharedComponents/DeleteModal.js +16 -20
  240. package/lib/esm/components/SharedComponents/DeleteModal.js.map +1 -1
  241. package/lib/esm/components/context/GroupHilitedElementsContext.d.ts +9 -16
  242. package/lib/esm/components/context/GroupHilitedElementsContext.js +8 -9
  243. package/lib/esm/components/context/GroupHilitedElementsContext.js.map +1 -1
  244. package/lib/esm/formula/FormulaFunctionProvider.js +10 -1
  245. package/lib/esm/formula/FormulaFunctionProvider.js.map +1 -1
  246. package/lib/esm/test/PropertyFieldsHelpers.d.ts +4 -20
  247. package/lib/esm/test/test-utils.js +8 -0
  248. package/lib/esm/test/test-utils.js.map +1 -1
  249. package/package.json +35 -31
  250. package/lib/cjs/components/Mappings/ConfirmMappingsImport.js.map +0 -1
  251. package/lib/cjs/components/context/ExtractionStatusDataContext.d.ts +0 -20
  252. package/lib/cjs/components/context/ExtractionStatusDataContext.js +0 -26
  253. package/lib/cjs/components/context/ExtractionStatusDataContext.js.map +0 -1
  254. package/lib/esm/components/Mappings/ConfirmMappingsImport.js.map +0 -1
  255. package/lib/esm/components/context/ExtractionStatusDataContext.d.ts +0 -20
  256. package/lib/esm/components/context/ExtractionStatusDataContext.js +0 -22
  257. package/lib/esm/components/context/ExtractionStatusDataContext.js.map +0 -1
  258. /package/lib/cjs/components/Mappings/{ConfirmMappingsImport.scss → Import/ConfirmMappingsImport.scss} +0 -0
  259. /package/lib/esm/components/Mappings/{ConfirmMappingsImport.scss → Import/ConfirmMappingsImport.scss} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"SelectIModel.js","sourceRoot":"","sources":["../../../../../src/components/Mappings/Import/SelectIModel.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\nimport type { EntityListIterator, IModel, IModelsClient } from \"@itwin/imodels-client-management\";\nimport type { TablePaginatorRendererProps } from \"@itwin/itwinui-react\";\nimport { Button, Table, tableFilters, TablePaginator } from \"@itwin/itwinui-react\";\nimport React, { useCallback, useEffect, useMemo, useState } from \"react\";\nimport type { CreateTypeFromInterface } from \"../../../common/utils\";\nimport \"./SelectIModel.scss\";\nimport type { GetAccessTokenFn } from \"../../context/GroupingApiConfigContext\";\nimport { useGroupingMappingApiConfig } from \"../../context/GroupingApiConfigContext\";\nimport { useIModelsClient } from \"../../context/IModelsClientContext\";\nimport { handleError } from \"../../../common/utils\";\n\ntype IIModelTyped = CreateTypeFromInterface<IModel>;\n\nconst defaultDisplayStrings = {\n iModels: \"iModels\",\n iModelName: \"Name\",\n iModelDescription: \"Description\",\n};\n\nconst fetchIModels = async (\n setIModels: (iModels: IModel[]) => void,\n setIsLoading: (isLoading: boolean) => void,\n getAccessToken: GetAccessTokenFn,\n iTwinId: string,\n iModelsClient: IModelsClient,\n) => {\n try {\n setIModels([]);\n setIsLoading(true);\n const iModelIterator: EntityListIterator<IModel> = iModelsClient.iModels.getRepresentationList({\n authorization: async () => {\n const token = await getAccessToken();\n const splitToken = token.split(\" \");\n return {\n scheme: splitToken[0],\n token: splitToken[1],\n };\n },\n urlParams: {\n iTwinId,\n },\n });\n const iModels: IModel[] = [];\n for await (const iModel of iModelIterator) {\n iModels.push(iModel);\n }\n setIModels(iModels);\n } catch (error: any) {\n handleError(error.status);\n } finally {\n setIsLoading(false);\n }\n};\n\ninterface SelectIModelProps {\n iTwinId: string;\n onSelect: (iModelId: string) => void;\n onCancel: () => void;\n backFn: () => void;\n displayStrings?: Partial<typeof defaultDisplayStrings>;\n}\nconst SelectIModel = ({\n iTwinId: iTwinId,\n onSelect,\n onCancel,\n backFn,\n displayStrings: userDisplayStrings,\n}: SelectIModelProps) => {\n const { getAccessToken } = useGroupingMappingApiConfig();\n const iModelsClient = useIModelsClient();\n const [isLoading, setIsLoading] = useState<boolean>(true);\n const [iModels, setIModels] = useState<IModel[]>([]);\n\n useEffect(() => {\n void fetchIModels(setIModels, setIsLoading, getAccessToken, iTwinId, iModelsClient);\n }, [getAccessToken, iModelsClient, setIsLoading, iTwinId]);\n\n const displayStrings = React.useMemo(\n () => ({ ...defaultDisplayStrings, ...userDisplayStrings }),\n [userDisplayStrings]\n );\n\n const iModelsColumns = useMemo(\n () => [\n {\n Header: \"Table\",\n columns: [\n {\n id: \"iModelName\",\n Header: `${displayStrings.iModelName}`,\n accessor: \"name\",\n Filter: tableFilters.TextFilter(),\n },\n {\n id: \"iModelDescription\",\n Header: `${displayStrings.iModelDescription}`,\n accessor: \"description\",\n Filter: tableFilters.TextFilter(),\n },\n ],\n },\n ],\n [displayStrings.iModelName, displayStrings.iModelDescription]\n );\n\n const pageSizeList = useMemo(() => [10, 25, 50], []);\n const paginator = useCallback(\n (props: TablePaginatorRendererProps) => (\n <TablePaginator {...props} pageSizeList={pageSizeList} />\n ),\n [pageSizeList]\n );\n\n return (\n <div className='gmw-select-imodel-table-container'>\n <Table<IIModelTyped>\n data={iModels}\n columns={iModelsColumns}\n className='gmw-select-imodel-table'\n emptyTableContent={`No ${displayStrings.iModels} available.`}\n isSortable\n isLoading={isLoading}\n onRowClick={(_, row) => {\n onSelect(row.original.id);\n }}\n paginatorRenderer={paginator}\n />\n <div className='gmw-import-action-panel'>\n <Button onClick={backFn}>Back</Button>\n <Button onClick={onCancel}>Cancel</Button>\n </div>\n </div>\n );\n};\n\nexport default SelectIModel;\n"]}
1
+ {"version":3,"file":"SelectIModel.js","sourceRoot":"","sources":["../../../../../src/components/Mappings/Import/SelectIModel.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\nimport type { IModel, IModelsClient } from \"@itwin/imodels-client-management\";\nimport type { TablePaginatorRendererProps } from \"@itwin/itwinui-react\";\nimport { Button, Table, tableFilters, TablePaginator } from \"@itwin/itwinui-react\";\nimport React, { useCallback, useMemo } from \"react\";\nimport type { CreateTypeFromInterface } from \"../../../common/utils\";\nimport \"./SelectIModel.scss\";\nimport type { GetAccessTokenFn } from \"../../context/GroupingApiConfigContext\";\nimport { useGroupingMappingApiConfig } from \"../../context/GroupingApiConfigContext\";\nimport { useIModelsClient } from \"../../context/IModelsClientContext\";\nimport { useQuery } from \"@tanstack/react-query\";\nimport type { Column } from \"react-table\";\nimport { AccessTokenAdapter } from \"@itwin/imodels-access-frontend\";\n\ntype IIModelTyped = CreateTypeFromInterface<IModel>;\n\nconst defaultDisplayStrings = {\n iModels: \"iModels\",\n iModelName: \"Name\",\n iModelDescription: \"Description\",\n};\n\nconst fetchIModels = async (\n getAccessToken: GetAccessTokenFn,\n iTwinId: string,\n iModelsClient: IModelsClient,\n) => {\n const accessToken = await getAccessToken();\n const authorization = AccessTokenAdapter.toAuthorizationCallback(accessToken);\n const iModelIterator = iModelsClient.iModels.getRepresentationList({\n authorization,\n urlParams: {\n iTwinId,\n },\n });\n\n const iModels = [];\n for await (const iModel of iModelIterator) {\n iModels.push(iModel);\n }\n return iModels;\n};\n\ninterface SelectIModelProps {\n iTwinId: string;\n onSelect: (iModelId: string) => void;\n onCancel: () => void;\n backFn: () => void;\n displayStrings?: Partial<typeof defaultDisplayStrings>;\n}\nconst SelectIModel = ({\n iTwinId: iTwinId,\n onSelect,\n onCancel,\n backFn,\n displayStrings: userDisplayStrings,\n}: SelectIModelProps) => {\n const { getAccessToken } = useGroupingMappingApiConfig();\n const iModelsClient = useIModelsClient();\n\n const { data: iModels, isFetching: isLoading } = useQuery({\n queryKey: [\"iModels\", iTwinId],\n queryFn: async () => fetchIModels(getAccessToken, iTwinId, iModelsClient),\n initialData: [],\n });\n\n const displayStrings = React.useMemo(\n () => ({ ...defaultDisplayStrings, ...userDisplayStrings }),\n [userDisplayStrings]\n );\n\n const iModelsColumns = useMemo<Column<IIModelTyped>[]>(\n () => [\n {\n id: \"iModelName\",\n Header: `${displayStrings.iModelName}`,\n accessor: \"name\",\n Filter: tableFilters.TextFilter(),\n },\n {\n id: \"iModelDescription\",\n Header: `${displayStrings.iModelDescription}`,\n accessor: \"description\",\n Filter: tableFilters.TextFilter(),\n },\n ],\n [displayStrings.iModelName, displayStrings.iModelDescription]\n );\n\n const pageSizeList = useMemo(() => [10, 25, 50], []);\n const paginator = useCallback(\n (props: TablePaginatorRendererProps) => (\n <TablePaginator {...props} pageSizeList={pageSizeList} />\n ),\n [pageSizeList]\n );\n\n return (\n <div className='gmw-select-imodel-table-container'>\n <Table<IIModelTyped>\n data={iModels}\n columns={iModelsColumns}\n className='gmw-select-imodel-table'\n emptyTableContent={`No ${displayStrings.iModels} available.`}\n isSortable\n isLoading={isLoading}\n onRowClick={(_, row) => {\n onSelect(row.original.id);\n }}\n paginatorRenderer={paginator}\n />\n <div className='gmw-import-action-panel'>\n <Button onClick={backFn}>Back</Button>\n <Button onClick={onCancel}>Cancel</Button>\n </div>\n </div>\n );\n};\n\nexport default SelectIModel;\n"]}
@@ -6,12 +6,17 @@ declare const defaultDisplayStrings: {
6
6
  iTwinName: string;
7
7
  iTwinStatus: string;
8
8
  };
9
+ export declare enum ITwinType {
10
+ Favorite = 0,
11
+ Recent = 1,
12
+ All = 2
13
+ }
9
14
  interface SelectITwinProps {
10
15
  onSelect: (iTwinId: string) => void;
11
16
  onCancel: () => void;
12
17
  onChangeITwinType: (iTwinType: number) => void;
13
18
  displayStrings?: Partial<typeof defaultDisplayStrings>;
14
- defaultITwinType?: number;
19
+ defaultITwinType?: ITwinType;
15
20
  }
16
21
  declare const SelectITwin: ({ onSelect, onCancel, onChangeITwinType, displayStrings: userDisplayStrings, defaultITwinType, }: SelectITwinProps) => JSX.Element;
17
22
  export default SelectITwin;
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -19,6 +23,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
19
23
  return result;
20
24
  };
21
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.ITwinType = void 0;
22
27
  const itwins_client_1 = require("@itwin/itwins-client");
23
28
  const itwinui_icons_react_1 = require("@itwin/itwinui-icons-react");
24
29
  const itwinui_react_1 = require("@itwin/itwinui-react");
@@ -26,76 +31,62 @@ const react_1 = __importStar(require("react"));
26
31
  require("./SelectITwin.scss");
27
32
  const GroupingApiConfigContext_1 = require("../../context/GroupingApiConfigContext");
28
33
  const ITwinsClientContext_1 = require("../../context/ITwinsClientContext");
29
- const utils_1 = require("../../../common/utils");
34
+ const react_query_1 = require("@tanstack/react-query");
30
35
  const defaultDisplayStrings = {
31
36
  iTwins: "iTwins",
32
37
  iTwinNumber: "Number",
33
38
  iTwinName: "Name",
34
39
  iTwinStatus: "Status",
35
40
  };
41
+ var ITwinType;
42
+ (function (ITwinType) {
43
+ ITwinType[ITwinType["Favorite"] = 0] = "Favorite";
44
+ ITwinType[ITwinType["Recent"] = 1] = "Recent";
45
+ ITwinType[ITwinType["All"] = 2] = "All";
46
+ })(ITwinType = exports.ITwinType || (exports.ITwinType = {}));
36
47
  const tabsWithIcons = [
37
48
  react_1.default.createElement(itwinui_react_1.Tab, { key: "favorite", label: "Favorite iTwins", startIcon: react_1.default.createElement(itwinui_icons_react_1.SvgStarHollow, null) }),
38
49
  react_1.default.createElement(itwinui_react_1.Tab, { key: "recents", label: "Recent iTwins", startIcon: react_1.default.createElement(itwinui_icons_react_1.SvgCalendar, null) }),
39
50
  react_1.default.createElement(itwinui_react_1.Tab, { key: "all", label: "My iTwins", startIcon: react_1.default.createElement(itwinui_icons_react_1.SvgList, null) }),
40
51
  ];
41
- const fetchITwins = async (setITwins, setIsLoading, getAccessToken, iTwinsClient, iTwinType) => {
42
- try {
43
- setITwins([]);
44
- setIsLoading(true);
45
- const accessToken = await getAccessToken();
46
- let iTwinsResponse;
47
- switch (iTwinType) {
48
- case 0:
49
- iTwinsResponse = await iTwinsClient.queryFavoritesAsync(accessToken, itwins_client_1.ITwinSubClass.Project);
50
- break;
51
- case 1:
52
- iTwinsResponse = await iTwinsClient.queryRecentsAsync(accessToken, itwins_client_1.ITwinSubClass.Project);
53
- break;
54
- default:
55
- iTwinsResponse = await iTwinsClient.queryAsync(accessToken, itwins_client_1.ITwinSubClass.Project);
56
- }
57
- setITwins(iTwinsResponse.data);
58
- }
59
- catch (error) {
60
- (0, utils_1.handleError)(error.status);
61
- }
62
- finally {
63
- setIsLoading(false);
52
+ const fetchITwins = async (getAccessToken, iTwinsClient, iTwinType) => {
53
+ const accessToken = await getAccessToken();
54
+ switch (iTwinType) {
55
+ case ITwinType.Favorite:
56
+ return iTwinsClient.queryFavoritesAsync(accessToken, itwins_client_1.ITwinSubClass.Project);
57
+ case ITwinType.Recent:
58
+ return iTwinsClient.queryRecentsAsync(accessToken, itwins_client_1.ITwinSubClass.Project);
59
+ default:
60
+ return iTwinsClient.queryAsync(accessToken, itwins_client_1.ITwinSubClass.Project);
64
61
  }
65
62
  };
66
- const SelectITwin = ({ onSelect, onCancel, onChangeITwinType, displayStrings: userDisplayStrings, defaultITwinType = 0, }) => {
63
+ const SelectITwin = ({ onSelect, onCancel, onChangeITwinType, displayStrings: userDisplayStrings, defaultITwinType = ITwinType.Favorite, }) => {
67
64
  const { getAccessToken } = (0, GroupingApiConfigContext_1.useGroupingMappingApiConfig)();
68
65
  const iTwinsClient = (0, ITwinsClientContext_1.useITwinsClient)();
69
- const [isLoading, setIsLoading] = (0, react_1.useState)(true);
70
- const [iTwins, setITwins] = (0, react_1.useState)([]);
71
66
  const [iTwinType, setITwinType] = (0, react_1.useState)(defaultITwinType);
72
- (0, react_1.useEffect)(() => {
73
- void fetchITwins(setITwins, setIsLoading, getAccessToken, iTwinsClient, iTwinType);
74
- }, [getAccessToken, iTwinsClient, setIsLoading, iTwinType]);
67
+ const { data: iTwins, isFetching: isLoading } = (0, react_query_1.useQuery)({
68
+ queryKey: ["iTwinsByType", iTwinType],
69
+ queryFn: async () => (await fetchITwins(getAccessToken, iTwinsClient, iTwinType)).data,
70
+ });
75
71
  const displayStrings = react_1.default.useMemo(() => ({ ...defaultDisplayStrings, ...userDisplayStrings }), [userDisplayStrings]);
76
72
  const iTwinsColumns = (0, react_1.useMemo)(() => [
77
73
  {
78
- Header: "Table",
79
- columns: [
80
- {
81
- id: "iTwinNumber",
82
- Header: `${displayStrings.iTwinNumber}`,
83
- accessor: "number",
84
- Filter: itwinui_react_1.tableFilters.TextFilter(),
85
- },
86
- {
87
- id: "iTwinName",
88
- Header: `${displayStrings.iTwinName}`,
89
- accessor: "displayName",
90
- Filter: itwinui_react_1.tableFilters.TextFilter(),
91
- },
92
- {
93
- id: "iTwinStatus",
94
- Header: `${displayStrings.iTwinStatus}`,
95
- accessor: "status",
96
- Filter: itwinui_react_1.tableFilters.TextFilter(),
97
- },
98
- ],
74
+ id: "iTwinNumber",
75
+ Header: `${displayStrings.iTwinNumber}`,
76
+ accessor: "number",
77
+ Filter: itwinui_react_1.tableFilters.TextFilter(),
78
+ },
79
+ {
80
+ id: "iTwinName",
81
+ Header: `${displayStrings.iTwinName}`,
82
+ accessor: "displayName",
83
+ Filter: itwinui_react_1.tableFilters.TextFilter(),
84
+ },
85
+ {
86
+ id: "iTwinStatus",
87
+ Header: `${displayStrings.iTwinStatus}`,
88
+ accessor: "status",
89
+ Filter: itwinui_react_1.tableFilters.TextFilter(),
99
90
  },
100
91
  ], [displayStrings.iTwinNumber, displayStrings.iTwinName, displayStrings.iTwinStatus]);
101
92
  const pageSizeList = (0, react_1.useMemo)(() => [10, 25, 50], []);
@@ -105,7 +96,7 @@ const SelectITwin = ({ onSelect, onCancel, onChangeITwinType, displayStrings: us
105
96
  onChangeITwinType(type);
106
97
  setITwinType(type);
107
98
  }, activeIndex: iTwinType, type: "borderless", contentClassName: "gmw-table-holding-tab" }),
108
- react_1.default.createElement(itwinui_react_1.Table, { data: iTwins, columns: iTwinsColumns, className: 'gmw-select-itwin-table', emptyTableContent: `No ${displayStrings.iTwins} available.`, isSortable: true, isLoading: isLoading, onRowClick: (_, row) => {
99
+ react_1.default.createElement(itwinui_react_1.Table, { data: iTwins ?? [], columns: iTwinsColumns, className: 'gmw-select-itwin-table', emptyTableContent: `No ${displayStrings.iTwins} available.`, isSortable: true, isLoading: isLoading, onRowClick: (_, row) => {
109
100
  onSelect(row.original.id);
110
101
  }, paginatorRenderer: paginator }),
111
102
  react_1.default.createElement("div", { className: "gmw-import-action-panel" },
@@ -1 +1 @@
1
- {"version":3,"file":"SelectITwin.js","sourceRoot":"","sources":["../../../../../src/components/Mappings/Import/SelectITwin.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\nimport type { ITwin, ITwinsAccessClient, ITwinsAPIResponse } from \"@itwin/itwins-client\";\nimport { ITwinSubClass } from \"@itwin/itwins-client\";\nimport { SvgCalendar, SvgList, SvgStarHollow } from \"@itwin/itwinui-icons-react\";\nimport type { TablePaginatorRendererProps } from \"@itwin/itwinui-react\";\nimport { Button, Tab, Table, tableFilters, TablePaginator, Tabs } from \"@itwin/itwinui-react\";\nimport React, { useCallback, useEffect, useMemo, useState } from \"react\";\nimport type { CreateTypeFromInterface } from \"../../../common/utils\";\nimport \"./SelectITwin.scss\";\nimport type { GetAccessTokenFn } from \"../../context/GroupingApiConfigContext\";\nimport { useGroupingMappingApiConfig } from \"../../context/GroupingApiConfigContext\";\nimport { useITwinsClient } from \"../../context/ITwinsClientContext\";\nimport { handleError } from \"../../../common/utils\";\n\ntype IITwinTyped = CreateTypeFromInterface<ITwin>;\n\nconst defaultDisplayStrings = {\n iTwins: \"iTwins\",\n iTwinNumber: \"Number\",\n iTwinName: \"Name\",\n iTwinStatus: \"Status\",\n};\n\nconst tabsWithIcons = [\n <Tab key=\"favorite\" label=\"Favorite iTwins\" startIcon={<SvgStarHollow />} />,\n <Tab key=\"recents\" label=\"Recent iTwins\" startIcon={<SvgCalendar />} />,\n <Tab key=\"all\" label=\"My iTwins\" startIcon={<SvgList />} />,\n];\n\nconst fetchITwins = async (\n setITwins: (iTwins: ITwin[]) => void,\n setIsLoading: (isLoading: boolean) => void,\n getAccessToken: GetAccessTokenFn,\n iTwinsClient: ITwinsAccessClient,\n iTwinType: number,\n) => {\n try {\n setITwins([]);\n setIsLoading(true);\n const accessToken = await getAccessToken();\n let iTwinsResponse: ITwinsAPIResponse<ITwin[]>;\n switch (iTwinType) {\n case 0:\n iTwinsResponse = await iTwinsClient.queryFavoritesAsync(accessToken, ITwinSubClass.Project);\n break;\n case 1:\n iTwinsResponse = await iTwinsClient.queryRecentsAsync(accessToken, ITwinSubClass.Project);\n break;\n default:\n iTwinsResponse = await iTwinsClient.queryAsync(accessToken, ITwinSubClass.Project);\n }\n setITwins(iTwinsResponse.data!);\n } catch (error: any) {\n handleError(error.status);\n } finally {\n setIsLoading(false);\n }\n};\n\ninterface SelectITwinProps {\n onSelect: (iTwinId: string) => void;\n onCancel: () => void;\n onChangeITwinType: (iTwinType: number) => void;\n displayStrings?: Partial<typeof defaultDisplayStrings>;\n defaultITwinType?: number;\n}\nconst SelectITwin = ({\n onSelect,\n onCancel,\n onChangeITwinType,\n displayStrings: userDisplayStrings,\n defaultITwinType = 0,\n}: SelectITwinProps) => {\n const { getAccessToken } = useGroupingMappingApiConfig();\n const iTwinsClient = useITwinsClient();\n const [isLoading, setIsLoading] = useState<boolean>(true);\n const [iTwins, setITwins] = useState<ITwin[]>([]);\n const [iTwinType, setITwinType] = useState<number>(defaultITwinType);\n\n useEffect(() => {\n void fetchITwins(setITwins, setIsLoading, getAccessToken, iTwinsClient, iTwinType);\n }, [getAccessToken, iTwinsClient, setIsLoading, iTwinType]);\n\n const displayStrings = React.useMemo(\n () => ({ ...defaultDisplayStrings, ...userDisplayStrings }),\n [userDisplayStrings]\n );\n\n const iTwinsColumns = useMemo(\n () => [\n {\n Header: \"Table\",\n columns: [\n {\n id: \"iTwinNumber\",\n Header: `${displayStrings.iTwinNumber}`,\n accessor: \"number\",\n Filter: tableFilters.TextFilter(),\n },\n {\n id: \"iTwinName\",\n Header: `${displayStrings.iTwinName}`,\n accessor: \"displayName\",\n Filter: tableFilters.TextFilter(),\n },\n {\n id: \"iTwinStatus\",\n Header: `${displayStrings.iTwinStatus}`,\n accessor: \"status\",\n Filter: tableFilters.TextFilter(),\n },\n ],\n },\n ],\n [displayStrings.iTwinNumber, displayStrings.iTwinName, displayStrings.iTwinStatus]\n );\n\n const pageSizeList = useMemo(() => [10, 25, 50], []);\n const paginator = useCallback(\n (props: TablePaginatorRendererProps) => (\n <TablePaginator {...props} pageSizeList={pageSizeList} />\n ),\n [pageSizeList]\n );\n\n return (\n <div className=\"gmw-select-itwin-table-container\">\n <Tabs\n orientation=\"horizontal\"\n labels={tabsWithIcons}\n onTabSelected={(type) => {\n onChangeITwinType(type);\n setITwinType(type);\n }}\n activeIndex={iTwinType}\n type={\"borderless\"}\n contentClassName=\"gmw-table-holding-tab\">\n </Tabs>\n <Table<IITwinTyped>\n data={iTwins}\n columns={iTwinsColumns}\n className='gmw-select-itwin-table'\n emptyTableContent={`No ${displayStrings.iTwins} available.`}\n isSortable\n isLoading={isLoading}\n onRowClick={(_, row) => {\n onSelect(row.original.id!);\n }}\n paginatorRenderer={paginator}\n />\n <div className=\"gmw-import-action-panel\">\n <Button onClick={onCancel}>Cancel</Button>\n </div>\n </div>\n );\n};\n\nexport default SelectITwin;\n"]}
1
+ {"version":3,"file":"SelectITwin.js","sourceRoot":"","sources":["../../../../../src/components/Mappings/Import/SelectITwin.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,wDAAqD;AACrD,oEAAiF;AAEjF,wDAA8F;AAC9F,+CAA8D;AAE9D,8BAA4B;AAE5B,qFAAqF;AACrF,2EAAoE;AACpE,uDAAiD;AAKjD,MAAM,qBAAqB,GAAG;IAC5B,MAAM,EAAE,QAAQ;IAChB,WAAW,EAAE,QAAQ;IACrB,SAAS,EAAE,MAAM;IACjB,WAAW,EAAE,QAAQ;CACtB,CAAC;AAEF,IAAY,SAIX;AAJD,WAAY,SAAS;IACnB,iDAAY,CAAA;IACZ,6CAAU,CAAA;IACV,uCAAO,CAAA;AACT,CAAC,EAJW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAIpB;AAED,MAAM,aAAa,GAAG;IACpB,8BAAC,mBAAG,IAAC,GAAG,EAAC,UAAU,EAAC,KAAK,EAAC,iBAAiB,EAAC,SAAS,EAAE,8BAAC,mCAAa,OAAG,GAAI;IAC5E,8BAAC,mBAAG,IAAC,GAAG,EAAC,SAAS,EAAC,KAAK,EAAC,eAAe,EAAC,SAAS,EAAE,8BAAC,iCAAW,OAAG,GAAI;IACvE,8BAAC,mBAAG,IAAC,GAAG,EAAC,KAAK,EAAC,KAAK,EAAC,WAAW,EAAC,SAAS,EAAE,8BAAC,6BAAO,OAAG,GAAI;CAC5D,CAAC;AAEF,MAAM,WAAW,GAAG,KAAK,EACvB,cAAgC,EAChC,YAAgC,EAChC,SAAoB,EACpB,EAAE;IACF,MAAM,WAAW,GAAG,MAAM,cAAc,EAAE,CAAC;IAC3C,QAAQ,SAAS,EAAE;QACjB,KAAK,SAAS,CAAC,QAAQ;YACrB,OAAO,YAAY,CAAC,mBAAmB,CAAC,WAAW,EAAE,6BAAa,CAAC,OAAO,CAAC,CAAC;QAC9E,KAAK,SAAS,CAAC,MAAM;YACnB,OAAO,YAAY,CAAC,iBAAiB,CAAC,WAAW,EAAE,6BAAa,CAAC,OAAO,CAAC,CAAC;QAC5E;YACE,OAAO,YAAY,CAAC,UAAU,CAAC,WAAW,EAAE,6BAAa,CAAC,OAAO,CAAC,CAAC;KACtE;AACH,CAAC,CAAC;AAUF,MAAM,WAAW,GAAG,CAAC,EACnB,QAAQ,EACR,QAAQ,EACR,iBAAiB,EACjB,cAAc,EAAE,kBAAkB,EAClC,gBAAgB,GAAG,SAAS,CAAC,QAAQ,GACpB,EAAE,EAAE;IACrB,MAAM,EAAE,cAAc,EAAE,GAAG,IAAA,sDAA2B,GAAE,CAAC;IACzD,MAAM,YAAY,GAAG,IAAA,qCAAe,GAAE,CAAC;IACvC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,IAAA,gBAAQ,EAAS,gBAAgB,CAAC,CAAC;IAErE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,IAAA,sBAAQ,EAAC;QACvD,QAAQ,EAAE,CAAC,cAAc,EAAE,SAAS,CAAC;QACrC,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,WAAW,CAAC,cAAc,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC,IAAK;KACxF,CAAC,CAAC;IAEH,MAAM,cAAc,GAAG,eAAK,CAAC,OAAO,CAClC,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,qBAAqB,EAAE,GAAG,kBAAkB,EAAE,CAAC,EAC3D,CAAC,kBAAkB,CAAC,CACrB,CAAC;IAEF,MAAM,aAAa,GAAG,IAAA,eAAO,EAC3B,GAAG,EAAE,CAAC;QACJ;YACE,EAAE,EAAE,aAAa;YACjB,MAAM,EAAE,GAAG,cAAc,CAAC,WAAW,EAAE;YACvC,QAAQ,EAAE,QAAQ;YAClB,MAAM,EAAE,4BAAY,CAAC,UAAU,EAAE;SAClC;QACD;YACE,EAAE,EAAE,WAAW;YACf,MAAM,EAAE,GAAG,cAAc,CAAC,SAAS,EAAE;YACrC,QAAQ,EAAE,aAAa;YACvB,MAAM,EAAE,4BAAY,CAAC,UAAU,EAAE;SAClC;QACD;YACE,EAAE,EAAE,aAAa;YACjB,MAAM,EAAE,GAAG,cAAc,CAAC,WAAW,EAAE;YACvC,QAAQ,EAAE,QAAQ;YAClB,MAAM,EAAE,4BAAY,CAAC,UAAU,EAAE;SAClC;KACF,EACD,CAAC,cAAc,CAAC,WAAW,EAAE,cAAc,CAAC,SAAS,EAAE,cAAc,CAAC,WAAW,CAAC,CACnF,CAAC;IAEF,MAAM,YAAY,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IACrD,MAAM,SAAS,GAAG,IAAA,mBAAW,EAC3B,CAAC,KAAkC,EAAE,EAAE,CAAC,CACtC,8BAAC,8BAAc,OAAK,KAAK,EAAE,YAAY,EAAE,YAAY,GAAI,CAC1D,EACD,CAAC,YAAY,CAAC,CACf,CAAC;IAEF,OAAO,CACL,uCAAK,SAAS,EAAC,kCAAkC;QAC/C,8BAAC,oBAAI,IACH,WAAW,EAAC,YAAY,EACxB,MAAM,EAAE,aAAa,EACrB,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE;gBACtB,iBAAiB,CAAC,IAAI,CAAC,CAAC;gBACxB,YAAY,CAAC,IAAI,CAAC,CAAC;YACrB,CAAC,EACD,WAAW,EAAE,SAAS,EACtB,IAAI,EAAE,YAAY,EAClB,gBAAgB,EAAC,uBAAuB,GACnC;QACP,8BAAC,qBAAK,IACJ,IAAI,EAAE,MAAM,IAAI,EAAE,EAClB,OAAO,EAAE,aAAa,EACtB,SAAS,EAAC,wBAAwB,EAClC,iBAAiB,EAAE,MAAM,cAAc,CAAC,MAAM,aAAa,EAC3D,UAAU,QACV,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE;gBACrB,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAG,CAAC,CAAC;YAC7B,CAAC,EACD,iBAAiB,EAAE,SAAS,GAC5B;QACF,uCAAK,SAAS,EAAC,yBAAyB;YACtC,8BAAC,sBAAM,IAAC,OAAO,EAAE,QAAQ,aAAiB,CACtC,CACF,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,WAAW,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\nimport type { ITwin, ITwinsAccessClient } from \"@itwin/itwins-client\";\nimport { ITwinSubClass } from \"@itwin/itwins-client\";\nimport { SvgCalendar, SvgList, SvgStarHollow } from \"@itwin/itwinui-icons-react\";\nimport type { TablePaginatorRendererProps } from \"@itwin/itwinui-react\";\nimport { Button, Tab, Table, tableFilters, TablePaginator, Tabs } from \"@itwin/itwinui-react\";\nimport React, { useCallback, useMemo, useState } from \"react\";\nimport type { CreateTypeFromInterface } from \"../../../common/utils\";\nimport \"./SelectITwin.scss\";\nimport type { GetAccessTokenFn } from \"../../context/GroupingApiConfigContext\";\nimport { useGroupingMappingApiConfig } from \"../../context/GroupingApiConfigContext\";\nimport { useITwinsClient } from \"../../context/ITwinsClientContext\";\nimport { useQuery } from \"@tanstack/react-query\";\nimport type { Column } from \"react-table\";\n\ntype IITwinTyped = CreateTypeFromInterface<ITwin>;\n\nconst defaultDisplayStrings = {\n iTwins: \"iTwins\",\n iTwinNumber: \"Number\",\n iTwinName: \"Name\",\n iTwinStatus: \"Status\",\n};\n\nexport enum ITwinType {\n Favorite = 0,\n Recent = 1,\n All = 2,\n}\n\nconst tabsWithIcons = [\n <Tab key=\"favorite\" label=\"Favorite iTwins\" startIcon={<SvgStarHollow />} />,\n <Tab key=\"recents\" label=\"Recent iTwins\" startIcon={<SvgCalendar />} />,\n <Tab key=\"all\" label=\"My iTwins\" startIcon={<SvgList />} />,\n];\n\nconst fetchITwins = async (\n getAccessToken: GetAccessTokenFn,\n iTwinsClient: ITwinsAccessClient,\n iTwinType: ITwinType,\n) => {\n const accessToken = await getAccessToken();\n switch (iTwinType) {\n case ITwinType.Favorite:\n return iTwinsClient.queryFavoritesAsync(accessToken, ITwinSubClass.Project);\n case ITwinType.Recent:\n return iTwinsClient.queryRecentsAsync(accessToken, ITwinSubClass.Project);\n default:\n return iTwinsClient.queryAsync(accessToken, ITwinSubClass.Project);\n }\n};\n\ninterface SelectITwinProps {\n onSelect: (iTwinId: string) => void;\n onCancel: () => void;\n onChangeITwinType: (iTwinType: number) => void;\n displayStrings?: Partial<typeof defaultDisplayStrings>;\n defaultITwinType?: ITwinType;\n}\n\nconst SelectITwin = ({\n onSelect,\n onCancel,\n onChangeITwinType,\n displayStrings: userDisplayStrings,\n defaultITwinType = ITwinType.Favorite,\n}: SelectITwinProps) => {\n const { getAccessToken } = useGroupingMappingApiConfig();\n const iTwinsClient = useITwinsClient();\n const [iTwinType, setITwinType] = useState<number>(defaultITwinType);\n\n const { data: iTwins, isFetching: isLoading } = useQuery({\n queryKey: [\"iTwinsByType\", iTwinType],\n queryFn: async () => (await fetchITwins(getAccessToken, iTwinsClient, iTwinType)).data!,\n });\n\n const displayStrings = React.useMemo(\n () => ({ ...defaultDisplayStrings, ...userDisplayStrings }),\n [userDisplayStrings]\n );\n\n const iTwinsColumns = useMemo<Column<IITwinTyped>[]>(\n () => [\n {\n id: \"iTwinNumber\",\n Header: `${displayStrings.iTwinNumber}`,\n accessor: \"number\",\n Filter: tableFilters.TextFilter(),\n },\n {\n id: \"iTwinName\",\n Header: `${displayStrings.iTwinName}`,\n accessor: \"displayName\",\n Filter: tableFilters.TextFilter(),\n },\n {\n id: \"iTwinStatus\",\n Header: `${displayStrings.iTwinStatus}`,\n accessor: \"status\",\n Filter: tableFilters.TextFilter(),\n },\n ],\n [displayStrings.iTwinNumber, displayStrings.iTwinName, displayStrings.iTwinStatus]\n );\n\n const pageSizeList = useMemo(() => [10, 25, 50], []);\n const paginator = useCallback(\n (props: TablePaginatorRendererProps) => (\n <TablePaginator {...props} pageSizeList={pageSizeList} />\n ),\n [pageSizeList]\n );\n\n return (\n <div className=\"gmw-select-itwin-table-container\">\n <Tabs\n orientation=\"horizontal\"\n labels={tabsWithIcons}\n onTabSelected={(type) => {\n onChangeITwinType(type);\n setITwinType(type);\n }}\n activeIndex={iTwinType}\n type={\"borderless\"}\n contentClassName=\"gmw-table-holding-tab\">\n </Tabs>\n <Table<IITwinTyped>\n data={iTwins ?? []}\n columns={iTwinsColumns}\n className='gmw-select-itwin-table'\n emptyTableContent={`No ${displayStrings.iTwins} available.`}\n isSortable\n isLoading={isLoading}\n onRowClick={(_, row) => {\n onSelect(row.original.id!);\n }}\n paginatorRenderer={paginator}\n />\n <div className=\"gmw-import-action-panel\">\n <Button onClick={onCancel}>Cancel</Button>\n </div>\n </div>\n );\n};\n\nexport default SelectITwin;\n"]}
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -23,58 +27,35 @@ const itwinui_react_1 = require("@itwin/itwinui-react");
23
27
  const react_1 = __importStar(require("react"));
24
28
  const MappingClientContext_1 = require("../../context/MappingClientContext");
25
29
  require("./SelectMapping.scss");
26
- const utils_1 = require("../../../common/utils");
27
30
  const GroupingApiConfigContext_1 = require("../../context/GroupingApiConfigContext");
31
+ const useFetchMappings_1 = require("../hooks/useFetchMappings");
28
32
  const defaultDisplayStrings = {
29
33
  mappings: "Mappings",
30
34
  };
31
- const fetchMappings = async (setMappings, iModelId, setIsLoading, getAccessToken, mappingsClient) => {
32
- try {
33
- setIsLoading(true);
34
- const accessToken = await getAccessToken();
35
- const mappings = await mappingsClient.getMappings(accessToken, iModelId);
36
- setMappings(mappings);
37
- }
38
- catch (error) {
39
- (0, utils_1.handleError)(error.status);
40
- }
41
- finally {
42
- setIsLoading(false);
43
- }
44
- };
45
35
  const SelectMappings = ({ iModelId, onSelect, onCancel, backFn, displayStrings: userDisplayStrings, }) => {
46
36
  const { getAccessToken } = (0, GroupingApiConfigContext_1.useGroupingMappingApiConfig)();
47
37
  const mappingClient = (0, MappingClientContext_1.useMappingClient)();
48
- const [isLoading, setIsLoading] = (0, react_1.useState)(true);
49
38
  const [selectedMappings, setSelectedMappings] = (0, react_1.useState)([]);
50
- const [mappings, setMappings] = (0, react_1.useState)([]);
51
- (0, react_1.useEffect)(() => {
52
- void fetchMappings(setMappings, iModelId, setIsLoading, getAccessToken, mappingClient);
53
- }, [getAccessToken, mappingClient, iModelId, setIsLoading]);
39
+ const { data: mappings, isFetching: isLoading, } = (0, useFetchMappings_1.useFetchMappings)(iModelId, getAccessToken, mappingClient);
54
40
  const displayStrings = react_1.default.useMemo(() => ({ ...defaultDisplayStrings, ...userDisplayStrings }), [userDisplayStrings]);
55
41
  const mappingsColumns = (0, react_1.useMemo)(() => [
56
42
  {
57
- Header: "Table",
58
- columns: [
59
- {
60
- id: "mappingName",
61
- Header: `${displayStrings.mappings}`,
62
- accessor: "mappingName",
63
- Filter: itwinui_react_1.tableFilters.TextFilter(),
64
- },
65
- {
66
- id: "description",
67
- Header: "Description",
68
- accessor: "description",
69
- Filter: itwinui_react_1.tableFilters.TextFilter(),
70
- },
71
- ],
43
+ id: "mappingName",
44
+ Header: `${displayStrings.mappings}`,
45
+ accessor: "mappingName",
46
+ Filter: itwinui_react_1.tableFilters.TextFilter(),
47
+ },
48
+ {
49
+ id: "description",
50
+ Header: "Description",
51
+ accessor: "description",
52
+ Filter: itwinui_react_1.tableFilters.TextFilter(),
72
53
  },
73
54
  ], [displayStrings.mappings]);
74
55
  const pageSizeList = (0, react_1.useMemo)(() => [10, 25, 50], []);
75
56
  const paginator = (0, react_1.useCallback)((props) => (react_1.default.createElement(itwinui_react_1.TablePaginator, { ...props, pageSizeList: pageSizeList })), [pageSizeList]);
76
57
  return (react_1.default.createElement("div", { className: 'gmw-select-mapping-container' },
77
- react_1.default.createElement(itwinui_react_1.Table, { data: mappings, columns: mappingsColumns, className: 'gmw-select-mapping-table', emptyTableContent: `No ${displayStrings.mappings} available.`, isSortable: true, isSelectable: true, isLoading: isLoading, onSelect: (selectData) => {
58
+ react_1.default.createElement(itwinui_react_1.Table, { data: mappings ?? [], columns: mappingsColumns, className: 'gmw-select-mapping-table', emptyTableContent: `No ${displayStrings.mappings} available.`, isSortable: true, isSelectable: true, isLoading: isLoading, onSelect: (selectData) => {
78
59
  selectData && setSelectedMappings(selectData);
79
60
  }, paginatorRenderer: paginator }),
80
61
  react_1.default.createElement("div", { className: 'gmw-import-action-panel' },
@@ -1 +1 @@
1
- {"version":3,"file":"SelectMappings.js","sourceRoot":"","sources":["../../../../../src/components/Mappings/Import/SelectMappings.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\nimport type {\n TablePaginatorRendererProps,\n} from \"@itwin/itwinui-react\";\nimport {\n Button,\n Table,\n tableFilters,\n TablePaginator,\n} from \"@itwin/itwinui-react\";\nimport React, { useCallback, useEffect, useMemo, useState } from \"react\";\nimport type { IMappingsClient, Mapping } from \"@itwin/insights-client\";\nimport { useMappingClient } from \"../../context/MappingClientContext\";\nimport type { IMappingTyped } from \"../Mappings\";\nimport \"./SelectMapping.scss\";\nimport { handleError } from \"../../../common/utils\";\nimport type { GetAccessTokenFn } from \"../../context/GroupingApiConfigContext\";\nimport { useGroupingMappingApiConfig } from \"../../context/GroupingApiConfigContext\";\n\nconst defaultDisplayStrings = {\n mappings: \"Mappings\",\n};\n\nconst fetchMappings = async (\n setMappings: React.Dispatch<React.SetStateAction<Mapping[]>>,\n iModelId: string,\n setIsLoading: React.Dispatch<React.SetStateAction<boolean>>,\n getAccessToken: GetAccessTokenFn,\n mappingsClient: IMappingsClient\n) => {\n try {\n setIsLoading(true);\n const accessToken = await getAccessToken();\n const mappings = await mappingsClient.getMappings(accessToken, iModelId);\n setMappings(mappings);\n } catch (error: any) {\n handleError(error.status);\n } finally {\n setIsLoading(false);\n }\n};\n\ninterface SelectMappingsProps {\n iModelId: string;\n onSelect: (selectedMappings: IMappingTyped[]) => void;\n onCancel: () => void;\n backFn: () => void;\n displayStrings?: Partial<typeof defaultDisplayStrings>;\n}\n\nconst SelectMappings = ({\n iModelId,\n onSelect,\n onCancel,\n backFn,\n displayStrings: userDisplayStrings,\n}: SelectMappingsProps) => {\n const { getAccessToken } = useGroupingMappingApiConfig();\n const mappingClient = useMappingClient();\n const [isLoading, setIsLoading] = useState<boolean>(true);\n const [selectedMappings, setSelectedMappings] = useState<IMappingTyped[]>([]);\n const [mappings, setMappings] = useState<Mapping[]>([]);\n\n useEffect(() => {\n void fetchMappings(setMappings, iModelId, setIsLoading, getAccessToken, mappingClient);\n }, [getAccessToken, mappingClient, iModelId, setIsLoading]);\n\n const displayStrings = React.useMemo(\n () => ({ ...defaultDisplayStrings, ...userDisplayStrings }),\n [userDisplayStrings]\n );\n\n const mappingsColumns = useMemo(\n () => [\n {\n Header: \"Table\",\n columns: [\n {\n id: \"mappingName\",\n Header: `${displayStrings.mappings}`,\n accessor: \"mappingName\",\n Filter: tableFilters.TextFilter(),\n },\n {\n id: \"description\",\n Header: \"Description\",\n accessor: \"description\",\n Filter: tableFilters.TextFilter(),\n },\n ],\n },\n ],\n [displayStrings.mappings]\n );\n\n const pageSizeList = useMemo(() => [10, 25, 50], []);\n const paginator = useCallback(\n (props: TablePaginatorRendererProps) => (\n <TablePaginator {...props} pageSizeList={pageSizeList} />\n ),\n [pageSizeList]\n );\n\n return (\n <div className='gmw-select-mapping-container'>\n <Table<IMappingTyped>\n data={mappings}\n columns={mappingsColumns}\n className='gmw-select-mapping-table'\n emptyTableContent={`No ${displayStrings.mappings} available.`}\n isSortable\n isSelectable\n isLoading={isLoading}\n onSelect={(selectData: IMappingTyped[] | undefined) => {\n selectData && setSelectedMappings(selectData);\n }}\n paginatorRenderer={paginator}\n />\n <div className='gmw-import-action-panel'>\n <Button onClick={backFn}>Back</Button>\n <Button\n styleType='high-visibility'\n onClick={() => {\n onSelect(selectedMappings);\n }}\n disabled={isLoading || selectedMappings.length === 0}\n >\n Next\n </Button>\n <Button onClick={onCancel}>Cancel</Button>\n </div>\n </div>\n );\n};\n\nexport default SelectMappings;\n"]}
1
+ {"version":3,"file":"SelectMappings.js","sourceRoot":"","sources":["../../../../../src/components/Mappings/Import/SelectMappings.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAOA,wDAK8B;AAC9B,+CAA8D;AAC9D,6EAAsE;AAEtE,gCAA8B;AAC9B,qFAAqF;AACrF,gEAA6D;AAG7D,MAAM,qBAAqB,GAAG;IAC5B,QAAQ,EAAE,UAAU;CACrB,CAAC;AAUF,MAAM,cAAc,GAAG,CAAC,EACtB,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,cAAc,EAAE,kBAAkB,GACd,EAAE,EAAE;IACxB,MAAM,EAAE,cAAc,EAAE,GAAG,IAAA,sDAA2B,GAAE,CAAC;IACzD,MAAM,aAAa,GAAG,IAAA,uCAAgB,GAAE,CAAC;IACzC,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,IAAA,gBAAQ,EAAkB,EAAE,CAAC,CAAC;IAE9E,MAAM,EACJ,IAAI,EAAE,QAAQ,EACd,UAAU,EAAE,SAAS,GACtB,GAAG,IAAA,mCAAgB,EAAC,QAAQ,EAAE,cAAc,EAAE,aAAa,CAAC,CAAC;IAE9D,MAAM,cAAc,GAAG,eAAK,CAAC,OAAO,CAClC,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,qBAAqB,EAAE,GAAG,kBAAkB,EAAE,CAAC,EAC3D,CAAC,kBAAkB,CAAC,CACrB,CAAC;IAEF,MAAM,eAAe,GAAG,IAAA,eAAO,EAC7B,GAAG,EAAE,CAAC;QACJ;YACE,EAAE,EAAE,aAAa;YACjB,MAAM,EAAE,GAAG,cAAc,CAAC,QAAQ,EAAE;YACpC,QAAQ,EAAE,aAAa;YACvB,MAAM,EAAE,4BAAY,CAAC,UAAU,EAAE;SAClC;QACD;YACE,EAAE,EAAE,aAAa;YACjB,MAAM,EAAE,aAAa;YACrB,QAAQ,EAAE,aAAa;YACvB,MAAM,EAAE,4BAAY,CAAC,UAAU,EAAE;SAClC;KACF,EACD,CAAC,cAAc,CAAC,QAAQ,CAAC,CAC1B,CAAC;IAEF,MAAM,YAAY,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IACrD,MAAM,SAAS,GAAG,IAAA,mBAAW,EAC3B,CAAC,KAAkC,EAAE,EAAE,CAAC,CACtC,8BAAC,8BAAc,OAAK,KAAK,EAAE,YAAY,EAAE,YAAY,GAAI,CAC1D,EACD,CAAC,YAAY,CAAC,CACf,CAAC;IAEF,OAAO,CACL,uCAAK,SAAS,EAAC,8BAA8B;QAC3C,8BAAC,qBAAK,IACJ,IAAI,EAAE,QAAQ,IAAI,EAAE,EACpB,OAAO,EAAE,eAAe,EACxB,SAAS,EAAC,0BAA0B,EACpC,iBAAiB,EAAE,MAAM,cAAc,CAAC,QAAQ,aAAa,EAC7D,UAAU,QACV,YAAY,QACZ,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,CAAC,UAAuC,EAAE,EAAE;gBACpD,UAAU,IAAI,mBAAmB,CAAC,UAAU,CAAC,CAAC;YAChD,CAAC,EACD,iBAAiB,EAAE,SAAS,GAC5B;QACF,uCAAK,SAAS,EAAC,yBAAyB;YACtC,8BAAC,sBAAM,IAAC,OAAO,EAAE,MAAM,WAAe;YACtC,8BAAC,sBAAM,IACL,SAAS,EAAC,iBAAiB,EAC3B,OAAO,EAAE,GAAG,EAAE;oBACZ,QAAQ,CAAC,gBAAgB,CAAC,CAAC;gBAC7B,CAAC,EACD,QAAQ,EAAE,SAAS,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,WAG7C;YACT,8BAAC,sBAAM,IAAC,OAAO,EAAE,QAAQ,aAAiB,CACtC,CACF,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,cAAc,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\nimport type {\n TablePaginatorRendererProps,\n} from \"@itwin/itwinui-react\";\nimport {\n Button,\n Table,\n tableFilters,\n TablePaginator,\n} from \"@itwin/itwinui-react\";\nimport React, { useCallback, useMemo, useState } from \"react\";\nimport { useMappingClient } from \"../../context/MappingClientContext\";\nimport type { IMappingTyped } from \"../Mappings\";\nimport \"./SelectMapping.scss\";\nimport { useGroupingMappingApiConfig } from \"../../context/GroupingApiConfigContext\";\nimport { useFetchMappings } from \"../hooks/useFetchMappings\";\nimport type { Column } from \"react-table\";\n\nconst defaultDisplayStrings = {\n mappings: \"Mappings\",\n};\n\ninterface SelectMappingsProps {\n iModelId: string;\n onSelect: (selectedMappings: IMappingTyped[]) => void;\n onCancel: () => void;\n backFn: () => void;\n displayStrings?: Partial<typeof defaultDisplayStrings>;\n}\n\nconst SelectMappings = ({\n iModelId,\n onSelect,\n onCancel,\n backFn,\n displayStrings: userDisplayStrings,\n}: SelectMappingsProps) => {\n const { getAccessToken } = useGroupingMappingApiConfig();\n const mappingClient = useMappingClient();\n const [selectedMappings, setSelectedMappings] = useState<IMappingTyped[]>([]);\n\n const {\n data: mappings,\n isFetching: isLoading,\n } = useFetchMappings(iModelId, getAccessToken, mappingClient);\n\n const displayStrings = React.useMemo(\n () => ({ ...defaultDisplayStrings, ...userDisplayStrings }),\n [userDisplayStrings]\n );\n\n const mappingsColumns = useMemo<Column<IMappingTyped>[]>(\n () => [\n {\n id: \"mappingName\",\n Header: `${displayStrings.mappings}`,\n accessor: \"mappingName\",\n Filter: tableFilters.TextFilter(),\n },\n {\n id: \"description\",\n Header: \"Description\",\n accessor: \"description\",\n Filter: tableFilters.TextFilter(),\n },\n ],\n [displayStrings.mappings]\n );\n\n const pageSizeList = useMemo(() => [10, 25, 50], []);\n const paginator = useCallback(\n (props: TablePaginatorRendererProps) => (\n <TablePaginator {...props} pageSizeList={pageSizeList} />\n ),\n [pageSizeList]\n );\n\n return (\n <div className='gmw-select-mapping-container'>\n <Table<IMappingTyped>\n data={mappings ?? []}\n columns={mappingsColumns}\n className='gmw-select-mapping-table'\n emptyTableContent={`No ${displayStrings.mappings} available.`}\n isSortable\n isSelectable\n isLoading={isLoading}\n onSelect={(selectData: IMappingTyped[] | undefined) => {\n selectData && setSelectedMappings(selectData);\n }}\n paginatorRenderer={paginator}\n />\n <div className='gmw-import-action-panel'>\n <Button onClick={backFn}>Back</Button>\n <Button\n styleType='high-visibility'\n onClick={() => {\n onSelect(selectedMappings);\n }}\n disabled={isLoading || selectedMappings.length === 0}\n >\n Next\n </Button>\n <Button onClick={onCancel}>Cancel</Button>\n </div>\n </div>\n );\n};\n\nexport default SelectMappings;\n"]}
@@ -1,22 +1,6 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
- Object.defineProperty(o, "default", { enumerable: true, value: v });
11
- }) : function(o, v) {
12
- o["default"] = v;
13
- });
14
- var __importStar = (this && this.__importStar) || function (mod) {
15
- if (mod && mod.__esModule) return mod;
16
- var result = {};
17
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
- __setModuleDefault(result, mod);
19
- return result;
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
20
4
  };
21
5
  Object.defineProperty(exports, "__esModule", { value: true });
22
6
  exports.Mappings = void 0;
@@ -24,22 +8,16 @@ exports.Mappings = void 0;
24
8
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
25
9
  * See LICENSE.md in the project root for license terms and full copyright notice.
26
10
  *--------------------------------------------------------------------------------------------*/
27
- const react_1 = __importStar(require("react"));
11
+ const react_1 = __importDefault(require("react"));
28
12
  const MappingClientContext_1 = require("../context/MappingClientContext");
29
13
  const GroupingApiConfigContext_1 = require("../context/GroupingApiConfigContext");
30
14
  const MappingsView_1 = require("./MappingsView");
31
15
  const useMappingsOperations_1 = require("./hooks/useMappingsOperations");
32
- const itwinui_react_1 = require("@itwin/itwinui-react");
33
16
  const Mappings = (props) => {
34
17
  const groupingMappingApiConfig = (0, GroupingApiConfigContext_1.useGroupingMappingApiConfig)();
35
18
  const mappingClient = (0, MappingClientContext_1.useMappingClient)();
36
- const { mappings, isLoading, extractionStatusIcon, showExtractionMessageModal, extractionMessageData, setShowExtractionMessageModal, refresh, toggleExtraction, onDelete, setShowImportModal, showImportModal, setShowDeleteModal, showDeleteModal, isTogglingExtraction, errorMessage, setErrorMessage, } = (0, useMappingsOperations_1.useMappingsOperations)({ ...groupingMappingApiConfig, mappingClient });
37
- const renderAlert = (0, react_1.useCallback)(() => {
38
- if (!errorMessage)
39
- return;
40
- return (react_1.default.createElement(itwinui_react_1.Alert, { type: "negative", onClose: () => setErrorMessage(undefined) }, errorMessage));
41
- }, [errorMessage, setErrorMessage]);
42
- return (react_1.default.createElement(MappingsView_1.MappingsView, { mappings: mappings, isLoading: isLoading, extractionStatusData: extractionStatusIcon, showExtractionMessageModal: showExtractionMessageModal, extractionMessageData: extractionMessageData, setShowExtractionMessageModal: setShowExtractionMessageModal, onRefresh: refresh, onToggleExtraction: toggleExtraction, onDelete: onDelete, showImportModal: showImportModal, setShowImportModal: setShowImportModal, showDeleteModal: showDeleteModal, setShowDeleteModal: setShowDeleteModal, isTogglingExtraction: isTogglingExtraction, alert: renderAlert(), ...props }));
19
+ const { mappings, isLoading, showExtractionMessageModal, extractionStatus, setShowExtractionMessageModal, refreshMappings, refreshExtractionStatus, toggleExtraction, onDelete, setShowImportModal, showImportModal, setShowDeleteModal, showDeleteModal, isTogglingExtraction, } = (0, useMappingsOperations_1.useMappingsOperations)({ ...groupingMappingApiConfig, mappingClient });
20
+ return (react_1.default.createElement(MappingsView_1.MappingsView, { mappings: mappings ?? [], isLoading: isLoading, extractionStatusData: extractionStatus.extractionStatusIcon, showExtractionMessageModal: showExtractionMessageModal, extractionMessageData: extractionStatus.extractionMessageData, setShowExtractionMessageModal: setShowExtractionMessageModal, onRefreshMappings: refreshMappings, onRefreshExtractionStatus: refreshExtractionStatus, onToggleExtraction: toggleExtraction, onDelete: onDelete, showImportModal: showImportModal, setShowImportModal: setShowImportModal, showDeleteModal: showDeleteModal, setShowDeleteModal: setShowDeleteModal, isTogglingExtraction: isTogglingExtraction, ...props }));
43
21
  };
44
22
  exports.Mappings = Mappings;
45
23
  //# sourceMappingURL=Mappings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Mappings.js","sourceRoot":"","sources":["../../../../src/components/Mappings/Mappings.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA;;;+FAG+F;AAC/F,+CAA2C;AAC3C,0EAAmE;AAEnE,kFAAkF;AAGlF,iDAA8C;AAC9C,yEAAsE;AACtE,wDAA6C;AAWtC,MAAM,QAAQ,GAAG,CAAC,KAAoB,EAAE,EAAE;IAC/C,MAAM,wBAAwB,GAAG,IAAA,sDAA2B,GAAE,CAAC;IAC/D,MAAM,aAAa,GAAG,IAAA,uCAAgB,GAAE,CAAC;IACzC,MAAM,EACJ,QAAQ,EACR,SAAS,EACT,oBAAoB,EACpB,0BAA0B,EAC1B,qBAAqB,EACrB,6BAA6B,EAC7B,OAAO,EACP,gBAAgB,EAChB,QAAQ,EACR,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,oBAAoB,EACpB,YAAY,EACZ,eAAe,GAChB,GAAG,IAAA,6CAAqB,EAAC,EAAE,GAAG,wBAAwB,EAAE,aAAa,EAAE,CAAC,CAAC;IAE1E,MAAM,WAAW,GAAG,IAAA,mBAAW,EAAC,GAAG,EAAE;QACnC,IAAI,CAAC,YAAY;YAAE,OAAO;QAC1B,OAAO,CACL,8BAAC,qBAAK,IAAC,IAAI,EAAC,UAAU,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,SAAS,CAAC,IAC7D,YAAY,CACP,CACT,CAAC;IACJ,CAAC,EAAE,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC,CAAC;IAEpC,OAAO,CACL,8BAAC,2BAAY,IACX,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS,EACpB,oBAAoB,EAAE,oBAAoB,EAC1C,0BAA0B,EAAE,0BAA0B,EACtD,qBAAqB,EAAE,qBAAqB,EAC5C,6BAA6B,EAAE,6BAA6B,EAC5D,SAAS,EAAE,OAAO,EAClB,kBAAkB,EAAE,gBAAgB,EACpC,QAAQ,EAAE,QAAQ,EAClB,eAAe,EAAE,eAAe,EAChC,kBAAkB,EAAE,kBAAkB,EACtC,eAAe,EAAE,eAAe,EAChC,kBAAkB,EAAE,kBAAkB,EACtC,oBAAoB,EAAE,oBAAoB,EAC1C,KAAK,EAAE,WAAW,EAAE,KAChB,KAAK,GACT,CACH,CAAC;AACJ,CAAC,CAAC;AAnDW,QAAA,QAAQ,YAmDnB","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 } from \"react\";\nimport { useMappingClient } from \"../context/MappingClientContext\";\nimport type { Mapping } from \"@itwin/insights-client\";\nimport { useGroupingMappingApiConfig } from \"../context/GroupingApiConfigContext\";\nimport type { CreateTypeFromInterface } from \"../../common/utils\";\nimport type { mappingViewDefaultDisplayStrings } from \"./MappingsView\";\nimport { MappingsView } from \"./MappingsView\";\nimport { useMappingsOperations } from \"./hooks/useMappingsOperations\";\nimport { Alert } from \"@itwin/itwinui-react\";\n\nexport type IMappingTyped = CreateTypeFromInterface<Mapping>;\n\nexport interface MappingsProps {\n onClickAddMapping?: () => void;\n onClickMappingTitle?: (mapping: Mapping) => void;\n onClickMappingModify?: (mapping: Mapping) => void;\n displayStrings?: Partial<typeof mappingViewDefaultDisplayStrings>;\n}\n\nexport const Mappings = (props: MappingsProps) => {\n const groupingMappingApiConfig = useGroupingMappingApiConfig();\n const mappingClient = useMappingClient();\n const {\n mappings,\n isLoading,\n extractionStatusIcon,\n showExtractionMessageModal,\n extractionMessageData,\n setShowExtractionMessageModal,\n refresh,\n toggleExtraction,\n onDelete,\n setShowImportModal,\n showImportModal,\n setShowDeleteModal,\n showDeleteModal,\n isTogglingExtraction,\n errorMessage,\n setErrorMessage,\n } = useMappingsOperations({ ...groupingMappingApiConfig, mappingClient });\n\n const renderAlert = useCallback(() => {\n if (!errorMessage) return;\n return (\n <Alert type=\"negative\" onClose={() => setErrorMessage(undefined)}>\n {errorMessage}\n </Alert>\n );\n }, [errorMessage, setErrorMessage]);\n\n return (\n <MappingsView\n mappings={mappings}\n isLoading={isLoading}\n extractionStatusData={extractionStatusIcon}\n showExtractionMessageModal={showExtractionMessageModal}\n extractionMessageData={extractionMessageData}\n setShowExtractionMessageModal={setShowExtractionMessageModal}\n onRefresh={refresh}\n onToggleExtraction={toggleExtraction}\n onDelete={onDelete}\n showImportModal={showImportModal}\n setShowImportModal={setShowImportModal}\n showDeleteModal={showDeleteModal}\n setShowDeleteModal={setShowDeleteModal}\n isTogglingExtraction={isTogglingExtraction}\n alert={renderAlert()}\n {...props}\n />\n );\n};\n"]}
1
+ {"version":3,"file":"Mappings.js","sourceRoot":"","sources":["../../../../src/components/Mappings/Mappings.tsx"],"names":[],"mappings":";;;;;;AAAA;;;+FAG+F;AAC/F,kDAA0B;AAC1B,0EAAmE;AAEnE,kFAAkF;AAGlF,iDAA8C;AAC9C,yEAAsE;AAW/D,MAAM,QAAQ,GAAG,CAAC,KAAoB,EAAE,EAAE;IAC/C,MAAM,wBAAwB,GAAG,IAAA,sDAA2B,GAAE,CAAC;IAC/D,MAAM,aAAa,GAAG,IAAA,uCAAgB,GAAE,CAAC;IACzC,MAAM,EACJ,QAAQ,EACR,SAAS,EACT,0BAA0B,EAC1B,gBAAgB,EAChB,6BAA6B,EAC7B,eAAe,EACf,uBAAuB,EACvB,gBAAgB,EAChB,QAAQ,EACR,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,oBAAoB,GACrB,GAAG,IAAA,6CAAqB,EAAC,EAAE,GAAG,wBAAwB,EAAE,aAAa,EAAE,CAAC,CAAC;IAE1E,OAAO,CACL,8BAAC,2BAAY,IACX,QAAQ,EAAE,QAAQ,IAAI,EAAE,EACxB,SAAS,EAAE,SAAS,EACpB,oBAAoB,EAAE,gBAAgB,CAAC,oBAAoB,EAC3D,0BAA0B,EAAE,0BAA0B,EACtD,qBAAqB,EAAE,gBAAgB,CAAC,qBAAqB,EAC7D,6BAA6B,EAAE,6BAA6B,EAC5D,iBAAiB,EAAE,eAAe,EAClC,yBAAyB,EAAE,uBAAuB,EAClD,kBAAkB,EAAE,gBAAgB,EACpC,QAAQ,EAAE,QAAQ,EAClB,eAAe,EAAE,eAAe,EAChC,kBAAkB,EAAE,kBAAkB,EACtC,eAAe,EAAE,eAAe,EAChC,kBAAkB,EAAE,kBAAkB,EACtC,oBAAoB,EAAE,oBAAoB,KACtC,KAAK,GACT,CACH,CAAC;AACJ,CAAC,CAAC;AAxCW,QAAA,QAAQ,YAwCnB","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\nimport React from \"react\";\nimport { useMappingClient } from \"../context/MappingClientContext\";\nimport type { Mapping } from \"@itwin/insights-client\";\nimport { useGroupingMappingApiConfig } from \"../context/GroupingApiConfigContext\";\nimport type { CreateTypeFromInterface } from \"../../common/utils\";\nimport type { mappingViewDefaultDisplayStrings } from \"./MappingsView\";\nimport { MappingsView } from \"./MappingsView\";\nimport { useMappingsOperations } from \"./hooks/useMappingsOperations\";\n\nexport type IMappingTyped = CreateTypeFromInterface<Mapping>;\n\nexport interface MappingsProps {\n onClickAddMapping?: () => void;\n onClickMappingTitle?: (mapping: Mapping) => void;\n onClickMappingModify?: (mapping: Mapping) => void;\n displayStrings?: Partial<typeof mappingViewDefaultDisplayStrings>;\n}\n\nexport const Mappings = (props: MappingsProps) => {\n const groupingMappingApiConfig = useGroupingMappingApiConfig();\n const mappingClient = useMappingClient();\n const {\n mappings,\n isLoading,\n showExtractionMessageModal,\n extractionStatus,\n setShowExtractionMessageModal,\n refreshMappings,\n refreshExtractionStatus,\n toggleExtraction,\n onDelete,\n setShowImportModal,\n showImportModal,\n setShowDeleteModal,\n showDeleteModal,\n isTogglingExtraction,\n } = useMappingsOperations({ ...groupingMappingApiConfig, mappingClient });\n\n return (\n <MappingsView\n mappings={mappings ?? []}\n isLoading={isLoading}\n extractionStatusData={extractionStatus.extractionStatusIcon}\n showExtractionMessageModal={showExtractionMessageModal}\n extractionMessageData={extractionStatus.extractionMessageData}\n setShowExtractionMessageModal={setShowExtractionMessageModal}\n onRefreshMappings={refreshMappings}\n onRefreshExtractionStatus={refreshExtractionStatus}\n onToggleExtraction={toggleExtraction}\n onDelete={onDelete}\n showImportModal={showImportModal}\n setShowImportModal={setShowImportModal}\n showDeleteModal={showDeleteModal}\n setShowDeleteModal={setShowDeleteModal}\n isTogglingExtraction={isTogglingExtraction}\n {...props}\n />\n );\n};\n"]}
@@ -2,8 +2,8 @@ import React from "react";
2
2
  import type { Alert } from "@itwin/itwinui-react";
3
3
  import "./MappingsView.scss";
4
4
  import type { Mapping } from "@itwin/insights-client";
5
- import type { ExtractionMessageData } from "../context/ExtractionStatusDataContext";
6
- import type { ExtractionStatusData } from "../context/ExtractionStatusDataContext";
5
+ import type { ExtractionStatusData } from "./Extraction/ExtractionStatusIcon";
6
+ import type { ExtractionMessageData } from "./Extraction/ExtractionMessageModal";
7
7
  export declare const mappingViewDefaultDisplayStrings: {
8
8
  mappings: string;
9
9
  iTwins: string;
@@ -22,7 +22,8 @@ export interface MappingsViewProps {
22
22
  extractionMessageData: ExtractionMessageData[];
23
23
  setShowExtractionMessageModal: (show: boolean) => void;
24
24
  isTogglingExtraction: boolean;
25
- onRefresh: () => Promise<void>;
25
+ onRefreshMappings: () => Promise<void>;
26
+ onRefreshExtractionStatus: () => Promise<void>;
26
27
  onToggleExtraction: (mapping: Mapping) => Promise<void>;
27
28
  onDelete: (mapping: Mapping) => Promise<void>;
28
29
  showDeleteModal: Mapping | undefined;
@@ -35,5 +36,5 @@ export interface MappingsViewProps {
35
36
  onClickMappingModify?: (mapping: Mapping) => void;
36
37
  alert?: React.ReactElement<typeof Alert>;
37
38
  }
38
- export declare const MappingsView: ({ mappings, isLoading, extractionStatusData, showExtractionMessageModal, extractionMessageData, setShowExtractionMessageModal, isTogglingExtraction, onRefresh, onToggleExtraction, onDelete, showDeleteModal, setShowDeleteModal, displayStrings: userDisplayStrings, showImportModal, setShowImportModal, onClickAddMapping, onClickMappingTitle, onClickMappingModify, alert, }: MappingsViewProps) => JSX.Element;
39
+ export declare const MappingsView: ({ mappings, isLoading, extractionStatusData, showExtractionMessageModal, extractionMessageData, setShowExtractionMessageModal, isTogglingExtraction, onRefreshMappings, onRefreshExtractionStatus, onToggleExtraction, onDelete, showDeleteModal, setShowDeleteModal, displayStrings: userDisplayStrings, showImportModal, setShowImportModal, onClickAddMapping, onClickMappingTitle, onClickMappingModify, alert, }: MappingsViewProps) => JSX.Element;
39
40
  //# sourceMappingURL=MappingsView.d.ts.map
@@ -1,4 +1,27 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
2
25
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
27
  };
@@ -8,7 +31,7 @@ exports.MappingsView = exports.mappingViewDefaultDisplayStrings = void 0;
8
31
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
9
32
  * See LICENSE.md in the project root for license terms and full copyright notice.
10
33
  *--------------------------------------------------------------------------------------------*/
11
- const react_1 = __importDefault(require("react"));
34
+ const react_1 = __importStar(require("react"));
12
35
  const itwinui_react_1 = require("@itwin/itwinui-react");
13
36
  const itwinui_icons_react_1 = require("@itwin/itwinui-icons-react");
14
37
  const EmptyMessage_1 = require("../SharedComponents/EmptyMessage");
@@ -31,8 +54,11 @@ exports.mappingViewDefaultDisplayStrings = {
31
54
  iModelName: "Name",
32
55
  iModelDescription: "Description",
33
56
  };
34
- const MappingsView = ({ mappings, isLoading, extractionStatusData, showExtractionMessageModal, extractionMessageData, setShowExtractionMessageModal, isTogglingExtraction, onRefresh, onToggleExtraction, onDelete, showDeleteModal, setShowDeleteModal, displayStrings: userDisplayStrings, showImportModal, setShowImportModal, onClickAddMapping, onClickMappingTitle, onClickMappingModify, alert, }) => {
57
+ const MappingsView = ({ mappings, isLoading, extractionStatusData, showExtractionMessageModal, extractionMessageData, setShowExtractionMessageModal, isTogglingExtraction, onRefreshMappings, onRefreshExtractionStatus, onToggleExtraction, onDelete, showDeleteModal, setShowDeleteModal, displayStrings: userDisplayStrings, showImportModal, setShowImportModal, onClickAddMapping, onClickMappingTitle, onClickMappingModify, alert, }) => {
35
58
  const displayStrings = react_1.default.useMemo(() => ({ ...exports.mappingViewDefaultDisplayStrings, ...userDisplayStrings }), [userDisplayStrings]);
59
+ const refreshAll = (0, react_1.useCallback)(async () => {
60
+ await Promise.all([onRefreshMappings(), onRefreshExtractionStatus()]);
61
+ }, [onRefreshMappings, onRefreshExtractionStatus]);
36
62
  return (react_1.default.createElement(react_1.default.Fragment, null,
37
63
  react_1.default.createElement(BlockingOverlay_1.BlockingOverlay, { isVisible: isTogglingExtraction }),
38
64
  react_1.default.createElement("div", { className: "gmw-mappings-view-container" },
@@ -48,17 +74,17 @@ const MappingsView = ({ mappings, isLoading, extractionStatusData, showExtractio
48
74
  setShowExtractionMessageModal(true);
49
75
  }
50
76
  }, iconMessage: extractionStatusData.iconMessage }),
51
- react_1.default.createElement(itwinui_react_1.IconButton, { title: "Refresh", onClick: onRefresh, disabled: isLoading, styleType: 'borderless' },
77
+ react_1.default.createElement(itwinui_react_1.IconButton, { title: "Refresh", onClick: refreshAll, disabled: isLoading, styleType: 'borderless' },
52
78
  react_1.default.createElement(itwinui_icons_react_1.SvgRefresh, null)))),
53
79
  alert,
54
80
  react_1.default.createElement("div", { className: 'gmw-mappings-border' }),
55
- isLoading ? (react_1.default.createElement(LoadingOverlay_1.LoadingOverlay, null)) : mappings.length === 0 ? (react_1.default.createElement(EmptyMessage_1.EmptyMessage, { message: `No ${displayStrings.mappings} available.` })) : (react_1.default.createElement("div", { className: "gmw-mappings-list" }, mappings.map((mapping) => (react_1.default.createElement(HorizontalTile_1.HorizontalTile, { key: mapping.id, title: mapping.mappingName ? mapping.mappingName : "Untitled", subText: mapping.description ?? "", subtextToolTip: mapping.description ?? "", titleTooltip: mapping.mappingName, onClickTitle: onClickMappingTitle ? () => onClickMappingTitle(mapping) : undefined, actionGroup: react_1.default.createElement(MappingViewActionGroup_1.MappingUIActionGroup, { mapping: mapping, onToggleExtraction: onToggleExtraction, onRefresh: onRefresh, onClickMappingModify: onClickMappingModify, setShowDeleteModal: setShowDeleteModal }) })))))),
56
- react_1.default.createElement(ExtractionMessageModal_1.ExtractionMessageModal, { isOpen: showExtractionMessageModal, onClose: () => setShowExtractionMessageModal(false), extractionMessageData: extractionMessageData, timestamp: extractionMessageData.length === 0 ? "" : extractionMessageData[0].date }),
81
+ isLoading ? (react_1.default.createElement(LoadingOverlay_1.LoadingOverlay, null)) : mappings.length === 0 ? (react_1.default.createElement(EmptyMessage_1.EmptyMessage, { message: `No ${displayStrings.mappings} available.` })) : (react_1.default.createElement("div", { className: "gmw-mappings-list" }, mappings.map((mapping) => (react_1.default.createElement(HorizontalTile_1.HorizontalTile, { key: mapping.id, title: mapping.mappingName ? mapping.mappingName : "Untitled", subText: mapping.description ?? "", subtextToolTip: mapping.description ?? "", titleTooltip: mapping.mappingName, onClickTitle: onClickMappingTitle ? () => onClickMappingTitle(mapping) : undefined, actionGroup: react_1.default.createElement(MappingViewActionGroup_1.MappingUIActionGroup, { mapping: mapping, onToggleExtraction: onToggleExtraction, onRefresh: onRefreshMappings, onClickMappingModify: onClickMappingModify, setShowDeleteModal: setShowDeleteModal }) })))))),
82
+ showExtractionMessageModal && react_1.default.createElement(ExtractionMessageModal_1.ExtractionMessageModal, { isOpen: showExtractionMessageModal, onClose: () => setShowExtractionMessageModal(false), extractionMessageData: extractionMessageData, timestamp: extractionMessageData.length === 0 ? "" : extractionMessageData[0].date }),
57
83
  showDeleteModal &&
58
84
  react_1.default.createElement(DeleteModal_1.default, { entityName: showDeleteModal?.mappingName, onClose: () => setShowDeleteModal(undefined), onDelete: async () => {
59
85
  await onDelete(showDeleteModal);
60
- }, refresh: onRefresh }),
61
- showImportModal && setShowImportModal && react_1.default.createElement(MappingImportWizardModal_1.MappingImportWizardModal, { show: showImportModal, setShow: setShowImportModal, onFinish: onRefresh, displayStrings: displayStrings })));
86
+ } }),
87
+ showImportModal && setShowImportModal && react_1.default.createElement(MappingImportWizardModal_1.MappingImportWizardModal, { show: showImportModal, setShow: setShowImportModal, onFinish: onRefreshMappings, displayStrings: displayStrings })));
62
88
  };
63
89
  exports.MappingsView = MappingsView;
64
90
  //# sourceMappingURL=MappingsView.js.map