@itwin/reports-config-widget-react 0.5.0 → 0.7.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 (386) hide show
  1. package/CHANGELOG.json +76 -1
  2. package/CHANGELOG.md +27 -2
  3. package/LICENSE.md +9 -9
  4. package/README.md +38 -38
  5. package/__mocks__/fileMock.js +4 -4
  6. package/api/reports-config-widget-react.api.md +126 -0
  7. package/api/reports-config-widget-react.exports.csv +14 -0
  8. package/api/temp/reports-config-widget-react.api.md +126 -0
  9. package/coverage/clover.xml +521 -521
  10. package/coverage/coverage-final.json +32 -32
  11. package/coverage/lcov-report/index.html +31 -31
  12. package/coverage/lcov-report/src/ReportsConfigWidget.ts.html +15 -15
  13. package/coverage/lcov-report/src/index.html +1 -1
  14. package/coverage/lcov-report/src/test/index.html +11 -11
  15. package/coverage/lcov-report/src/test/test-utils.tsx.html +46 -16
  16. package/coverage/lcov-report/src/widget/ReportsConfigUiProvider.tsx.html +29 -86
  17. package/coverage/lcov-report/src/widget/components/ActionPanel.tsx.html +5 -38
  18. package/coverage/lcov-report/src/widget/components/AddMappingsModal.tsx.html +25 -121
  19. package/coverage/lcov-report/src/widget/components/BulkExtractor.ts.html +120 -96
  20. package/coverage/lcov-report/src/widget/components/Constants.ts.html +5 -5
  21. package/coverage/lcov-report/src/widget/components/DeleteModal.tsx.html +13 -103
  22. package/coverage/lcov-report/src/widget/components/ExtractionStates/FailedExtractionState.tsx.html +6 -21
  23. package/coverage/lcov-report/src/widget/components/ExtractionStates/QueuedExtractionState.tsx.html +6 -21
  24. package/coverage/lcov-report/src/widget/components/ExtractionStates/RunningExtractionState.tsx.html +7 -22
  25. package/coverage/lcov-report/src/widget/components/ExtractionStates/StartingExtractionState.tsx.html +7 -28
  26. package/coverage/lcov-report/src/widget/components/ExtractionStates/SucceededExtractionState.tsx.html +6 -21
  27. package/coverage/lcov-report/src/widget/components/ExtractionStates/index.html +1 -1
  28. package/coverage/lcov-report/src/widget/components/ExtractionStatus.tsx.html +20 -47
  29. package/coverage/lcov-report/src/widget/components/ExtractionToast.tsx.html +20 -11
  30. package/coverage/lcov-report/src/widget/components/HorizontalTile.tsx.html +16 -79
  31. package/coverage/lcov-report/src/widget/components/LocalizedTablePaginator.tsx.html +15 -108
  32. package/coverage/lcov-report/src/widget/components/ReportAction.tsx.html +36 -75
  33. package/coverage/lcov-report/src/widget/components/ReportHorizontalTile.tsx.html +62 -92
  34. package/coverage/lcov-report/src/widget/components/ReportMappingHorizontalTile.tsx.html +104 -128
  35. package/coverage/lcov-report/src/widget/components/ReportMappings.tsx.html +88 -301
  36. package/coverage/lcov-report/src/widget/components/Reports.tsx.html +42 -204
  37. package/coverage/lcov-report/src/widget/components/ReportsConfigContext.tsx.html +164 -50
  38. package/coverage/lcov-report/src/widget/components/ReportsContainer.tsx.html +15 -63
  39. package/coverage/lcov-report/src/widget/components/ReportsHeader.tsx.html +8 -47
  40. package/coverage/lcov-report/src/widget/components/ReportsRouter.tsx.html +6 -12
  41. package/coverage/lcov-report/src/widget/components/SearchBar.tsx.html +13 -25
  42. package/coverage/lcov-report/src/widget/components/SelectIModel.tsx.html +11 -56
  43. package/coverage/lcov-report/src/widget/components/index.html +50 -50
  44. package/coverage/lcov-report/src/widget/components/utils.tsx.html +25 -169
  45. package/coverage/lcov-report/src/widget/context/BulkExtractorContext.tsx.html +6 -12
  46. package/coverage/lcov-report/src/widget/context/ReportsConfigApiContext.tsx.html +10 -13
  47. package/coverage/lcov-report/src/widget/context/index.html +1 -1
  48. package/coverage/lcov-report/src/widget/hooks/index.html +1 -1
  49. package/coverage/lcov-report/src/widget/hooks/useValidator.ts.html +12 -54
  50. package/coverage/lcov-report/src/widget/index.html +13 -13
  51. package/coverage/lcov.info +941 -919
  52. package/jest.config.js +14 -17
  53. package/lib/cjs/ReportsConfigWidget.d.ts +4 -0
  54. package/lib/cjs/ReportsConfigWidget.d.ts.map +1 -1
  55. package/lib/cjs/ReportsConfigWidget.js +4 -0
  56. package/lib/cjs/ReportsConfigWidget.js.map +1 -1
  57. package/lib/cjs/reports-config-widget-react.d.ts +1 -0
  58. package/lib/cjs/reports-config-widget-react.d.ts.map +1 -1
  59. package/lib/cjs/reports-config-widget-react.js +4 -3
  60. package/lib/cjs/reports-config-widget-react.js.map +1 -1
  61. package/lib/cjs/test/AddMappingModal.test.js +11 -10
  62. package/lib/cjs/test/AddMappingModal.test.js.map +1 -1
  63. package/lib/cjs/test/BulkExtractor.test.js +68 -43
  64. package/lib/cjs/test/BulkExtractor.test.js.map +1 -1
  65. package/lib/cjs/test/DeleteModal.test.js +3 -3
  66. package/lib/cjs/test/DeleteModal.test.js.map +1 -1
  67. package/lib/cjs/test/ReportAction.test.js +6 -4
  68. package/lib/cjs/test/ReportAction.test.js.map +1 -1
  69. package/lib/cjs/test/ReportMappingHorizontalTile.test.js +64 -25
  70. package/lib/cjs/test/ReportMappingHorizontalTile.test.js.map +1 -1
  71. package/lib/cjs/test/ReportMappings.test.js +39 -18
  72. package/lib/cjs/test/ReportMappings.test.js.map +1 -1
  73. package/lib/cjs/test/Reports.test.js +3 -3
  74. package/lib/cjs/test/Reports.test.js.map +1 -1
  75. package/lib/cjs/test/WidgetHeader.test.js +3 -3
  76. package/lib/cjs/test/WidgetHeader.test.js.map +1 -1
  77. package/lib/cjs/test/test-utils.d.ts +8 -0
  78. package/lib/cjs/test/test-utils.d.ts.map +1 -1
  79. package/lib/cjs/test/test-utils.js +16 -4
  80. package/lib/cjs/test/test-utils.js.map +1 -1
  81. package/lib/cjs/tsconfig.tsbuildinfo +1 -1
  82. package/lib/cjs/widget/ReportsConfigUiProvider.d.ts +10 -4
  83. package/lib/cjs/widget/ReportsConfigUiProvider.d.ts.map +1 -1
  84. package/lib/cjs/widget/ReportsConfigUiProvider.js +11 -7
  85. package/lib/cjs/widget/ReportsConfigUiProvider.js.map +1 -1
  86. package/lib/cjs/widget/components/ActionPanel.d.ts.map +1 -1
  87. package/lib/cjs/widget/components/ActionPanel.js.map +1 -1
  88. package/lib/cjs/widget/components/AddMappingsModal.d.ts +1 -1
  89. package/lib/cjs/widget/components/AddMappingsModal.d.ts.map +1 -1
  90. package/lib/cjs/widget/components/AddMappingsModal.js +7 -7
  91. package/lib/cjs/widget/components/AddMappingsModal.js.map +1 -1
  92. package/lib/cjs/widget/components/AddMappingsModal.scss +1 -1
  93. package/lib/cjs/widget/components/BulkExtractor.d.ts +8 -5
  94. package/lib/cjs/widget/components/BulkExtractor.d.ts.map +1 -1
  95. package/lib/cjs/widget/components/BulkExtractor.js +52 -35
  96. package/lib/cjs/widget/components/BulkExtractor.js.map +1 -1
  97. package/lib/cjs/widget/components/Constants.d.ts.map +1 -1
  98. package/lib/cjs/widget/components/Constants.js +3 -3
  99. package/lib/cjs/widget/components/Constants.js.map +1 -1
  100. package/lib/cjs/widget/components/DeleteModal.d.ts +1 -1
  101. package/lib/cjs/widget/components/DeleteModal.d.ts.map +1 -1
  102. package/lib/cjs/widget/components/DeleteModal.js +5 -5
  103. package/lib/cjs/widget/components/DeleteModal.js.map +1 -1
  104. package/lib/cjs/widget/components/DeleteModal.scss +2 -2
  105. package/lib/cjs/widget/components/ExtractionStates/FailedExtractionState.d.ts.map +1 -1
  106. package/lib/cjs/widget/components/ExtractionStates/FailedExtractionState.js +3 -3
  107. package/lib/cjs/widget/components/ExtractionStates/FailedExtractionState.js.map +1 -1
  108. package/lib/cjs/widget/components/ExtractionStates/QueuedExtractionState.d.ts.map +1 -1
  109. package/lib/cjs/widget/components/ExtractionStates/QueuedExtractionState.js +3 -3
  110. package/lib/cjs/widget/components/ExtractionStates/QueuedExtractionState.js.map +1 -1
  111. package/lib/cjs/widget/components/ExtractionStates/RunningExtractionState.d.ts.map +1 -1
  112. package/lib/cjs/widget/components/ExtractionStates/RunningExtractionState.js +3 -3
  113. package/lib/cjs/widget/components/ExtractionStates/RunningExtractionState.js.map +1 -1
  114. package/lib/cjs/widget/components/ExtractionStates/StartingExtractionState.d.ts.map +1 -1
  115. package/lib/cjs/widget/components/ExtractionStates/StartingExtractionState.js +3 -3
  116. package/lib/cjs/widget/components/ExtractionStates/StartingExtractionState.js.map +1 -1
  117. package/lib/cjs/widget/components/ExtractionStates/SucceededExtractionState.d.ts.map +1 -1
  118. package/lib/cjs/widget/components/ExtractionStates/SucceededExtractionState.js +3 -3
  119. package/lib/cjs/widget/components/ExtractionStates/SucceededExtractionState.js.map +1 -1
  120. package/lib/cjs/widget/components/ExtractionStatus.d.ts +1 -1
  121. package/lib/cjs/widget/components/ExtractionStatus.d.ts.map +1 -1
  122. package/lib/cjs/widget/components/ExtractionStatus.js +9 -9
  123. package/lib/cjs/widget/components/ExtractionStatus.js.map +1 -1
  124. package/lib/cjs/widget/components/ExtractionStatus.scss +1 -1
  125. package/lib/cjs/widget/components/ExtractionToast.d.ts.map +1 -1
  126. package/lib/cjs/widget/components/ExtractionToast.js +3 -3
  127. package/lib/cjs/widget/components/ExtractionToast.js.map +1 -1
  128. package/lib/cjs/widget/components/HorizontalTile.d.ts.map +1 -1
  129. package/lib/cjs/widget/components/HorizontalTile.js +1 -2
  130. package/lib/cjs/widget/components/HorizontalTile.js.map +1 -1
  131. package/lib/cjs/widget/components/HorizontalTile.scss +1 -4
  132. package/lib/cjs/widget/components/LocalizedTablePaginator.d.ts.map +1 -1
  133. package/lib/cjs/widget/components/LocalizedTablePaginator.js +1 -1
  134. package/lib/cjs/widget/components/LocalizedTablePaginator.js.map +1 -1
  135. package/lib/cjs/widget/components/ReportAction.d.ts +8 -0
  136. package/lib/cjs/widget/components/ReportAction.d.ts.map +1 -1
  137. package/lib/cjs/widget/components/ReportAction.js +9 -7
  138. package/lib/cjs/widget/components/ReportAction.js.map +1 -1
  139. package/lib/cjs/widget/components/ReportAction.scss +1 -1
  140. package/lib/cjs/widget/components/ReportHorizontalTile.d.ts.map +1 -1
  141. package/lib/cjs/widget/components/ReportHorizontalTile.js +4 -4
  142. package/lib/cjs/widget/components/ReportHorizontalTile.js.map +1 -1
  143. package/lib/cjs/widget/components/ReportMappingHorizontalTile.d.ts.map +1 -1
  144. package/lib/cjs/widget/components/ReportMappingHorizontalTile.js +46 -45
  145. package/lib/cjs/widget/components/ReportMappingHorizontalTile.js.map +1 -1
  146. package/lib/cjs/widget/components/ReportMappings.d.ts +8 -0
  147. package/lib/cjs/widget/components/ReportMappings.d.ts.map +1 -1
  148. package/lib/cjs/widget/components/ReportMappings.js +25 -11
  149. package/lib/cjs/widget/components/ReportMappings.js.map +1 -1
  150. package/lib/cjs/widget/components/Reports.d.ts +9 -1
  151. package/lib/cjs/widget/components/Reports.d.ts.map +1 -1
  152. package/lib/cjs/widget/components/Reports.js +7 -8
  153. package/lib/cjs/widget/components/Reports.js.map +1 -1
  154. package/lib/cjs/widget/components/Reports.scss +0 -1
  155. package/lib/cjs/widget/components/ReportsConfigContext.d.ts +34 -4
  156. package/lib/cjs/widget/components/ReportsConfigContext.d.ts.map +1 -1
  157. package/lib/cjs/widget/components/ReportsConfigContext.js +27 -9
  158. package/lib/cjs/widget/components/ReportsConfigContext.js.map +1 -1
  159. package/lib/cjs/widget/components/ReportsContainer.d.ts +3 -6
  160. package/lib/cjs/widget/components/ReportsContainer.d.ts.map +1 -1
  161. package/lib/cjs/widget/components/ReportsContainer.js +7 -5
  162. package/lib/cjs/widget/components/ReportsContainer.js.map +1 -1
  163. package/lib/cjs/widget/components/ReportsContainer.scss +1 -1
  164. package/lib/cjs/widget/components/ReportsHeader.d.ts +1 -1
  165. package/lib/cjs/widget/components/ReportsHeader.d.ts.map +1 -1
  166. package/lib/cjs/widget/components/ReportsHeader.js +6 -7
  167. package/lib/cjs/widget/components/ReportsHeader.js.map +1 -1
  168. package/lib/cjs/widget/components/ReportsRouter.d.ts.map +1 -1
  169. package/lib/cjs/widget/components/ReportsRouter.js +3 -3
  170. package/lib/cjs/widget/components/ReportsRouter.js.map +1 -1
  171. package/lib/cjs/widget/components/SearchBar.d.ts +1 -1
  172. package/lib/cjs/widget/components/SearchBar.d.ts.map +1 -1
  173. package/lib/cjs/widget/components/SearchBar.js +4 -4
  174. package/lib/cjs/widget/components/SearchBar.js.map +1 -1
  175. package/lib/cjs/widget/components/SelectIModel.d.ts +1 -1
  176. package/lib/cjs/widget/components/SelectIModel.d.ts.map +1 -1
  177. package/lib/cjs/widget/components/SelectIModel.js +1 -1
  178. package/lib/cjs/widget/components/SelectIModel.js.map +1 -1
  179. package/lib/cjs/widget/components/SelectIModel.scss +1 -1
  180. package/lib/cjs/widget/components/utils.d.ts +1 -1
  181. package/lib/cjs/widget/components/utils.d.ts.map +1 -1
  182. package/lib/cjs/widget/components/utils.js +5 -5
  183. package/lib/cjs/widget/components/utils.js.map +1 -1
  184. package/lib/cjs/widget/components/utils.scss +1 -1
  185. package/lib/cjs/widget/context/BulkExtractorContext.d.ts.map +1 -1
  186. package/lib/cjs/widget/context/BulkExtractorContext.js.map +1 -1
  187. package/lib/cjs/widget/context/ReportsConfigApiContext.d.ts +3 -3
  188. package/lib/cjs/widget/context/ReportsConfigApiContext.d.ts.map +1 -1
  189. package/lib/cjs/widget/context/ReportsConfigApiContext.js.map +1 -1
  190. package/lib/cjs/widget/hooks/useValidator.d.ts +1 -4
  191. package/lib/cjs/widget/hooks/useValidator.d.ts.map +1 -1
  192. package/lib/cjs/widget/hooks/useValidator.js +3 -3
  193. package/lib/cjs/widget/hooks/useValidator.js.map +1 -1
  194. package/lib/esm/ReportsConfigWidget.d.ts +4 -0
  195. package/lib/esm/ReportsConfigWidget.d.ts.map +1 -1
  196. package/lib/esm/ReportsConfigWidget.js +4 -0
  197. package/lib/esm/ReportsConfigWidget.js.map +1 -1
  198. package/lib/esm/reports-config-widget-react.d.ts +1 -0
  199. package/lib/esm/reports-config-widget-react.d.ts.map +1 -1
  200. package/lib/esm/reports-config-widget-react.js +4 -3
  201. package/lib/esm/reports-config-widget-react.js.map +1 -1
  202. package/lib/esm/test/AddMappingModal.test.js +12 -11
  203. package/lib/esm/test/AddMappingModal.test.js.map +1 -1
  204. package/lib/esm/test/BulkExtractor.test.js +69 -44
  205. package/lib/esm/test/BulkExtractor.test.js.map +1 -1
  206. package/lib/esm/test/DeleteModal.test.js +4 -4
  207. package/lib/esm/test/DeleteModal.test.js.map +1 -1
  208. package/lib/esm/test/ReportAction.test.js +7 -5
  209. package/lib/esm/test/ReportAction.test.js.map +1 -1
  210. package/lib/esm/test/ReportMappingHorizontalTile.test.js +65 -26
  211. package/lib/esm/test/ReportMappingHorizontalTile.test.js.map +1 -1
  212. package/lib/esm/test/ReportMappings.test.js +41 -20
  213. package/lib/esm/test/ReportMappings.test.js.map +1 -1
  214. package/lib/esm/test/Reports.test.js +4 -4
  215. package/lib/esm/test/Reports.test.js.map +1 -1
  216. package/lib/esm/test/WidgetHeader.test.js +3 -3
  217. package/lib/esm/test/WidgetHeader.test.js.map +1 -1
  218. package/lib/esm/test/test-utils.d.ts +8 -0
  219. package/lib/esm/test/test-utils.d.ts.map +1 -1
  220. package/lib/esm/test/test-utils.js +15 -3
  221. package/lib/esm/test/test-utils.js.map +1 -1
  222. package/lib/esm/tsconfig.tsbuildinfo +1 -1
  223. package/lib/esm/widget/ReportsConfigUiProvider.d.ts +10 -4
  224. package/lib/esm/widget/ReportsConfigUiProvider.d.ts.map +1 -1
  225. package/lib/esm/widget/ReportsConfigUiProvider.js +12 -8
  226. package/lib/esm/widget/ReportsConfigUiProvider.js.map +1 -1
  227. package/lib/esm/widget/components/ActionPanel.d.ts.map +1 -1
  228. package/lib/esm/widget/components/ActionPanel.js.map +1 -1
  229. package/lib/esm/widget/components/AddMappingsModal.d.ts +1 -1
  230. package/lib/esm/widget/components/AddMappingsModal.d.ts.map +1 -1
  231. package/lib/esm/widget/components/AddMappingsModal.js +7 -7
  232. package/lib/esm/widget/components/AddMappingsModal.js.map +1 -1
  233. package/lib/esm/widget/components/AddMappingsModal.scss +1 -1
  234. package/lib/esm/widget/components/BulkExtractor.d.ts +8 -5
  235. package/lib/esm/widget/components/BulkExtractor.d.ts.map +1 -1
  236. package/lib/esm/widget/components/BulkExtractor.js +53 -36
  237. package/lib/esm/widget/components/BulkExtractor.js.map +1 -1
  238. package/lib/esm/widget/components/Constants.d.ts.map +1 -1
  239. package/lib/esm/widget/components/Constants.js +3 -3
  240. package/lib/esm/widget/components/Constants.js.map +1 -1
  241. package/lib/esm/widget/components/DeleteModal.d.ts +1 -1
  242. package/lib/esm/widget/components/DeleteModal.d.ts.map +1 -1
  243. package/lib/esm/widget/components/DeleteModal.js +6 -6
  244. package/lib/esm/widget/components/DeleteModal.js.map +1 -1
  245. package/lib/esm/widget/components/DeleteModal.scss +2 -2
  246. package/lib/esm/widget/components/ExtractionStates/FailedExtractionState.d.ts.map +1 -1
  247. package/lib/esm/widget/components/ExtractionStates/FailedExtractionState.js +3 -3
  248. package/lib/esm/widget/components/ExtractionStates/FailedExtractionState.js.map +1 -1
  249. package/lib/esm/widget/components/ExtractionStates/QueuedExtractionState.d.ts.map +1 -1
  250. package/lib/esm/widget/components/ExtractionStates/QueuedExtractionState.js +3 -3
  251. package/lib/esm/widget/components/ExtractionStates/QueuedExtractionState.js.map +1 -1
  252. package/lib/esm/widget/components/ExtractionStates/RunningExtractionState.d.ts.map +1 -1
  253. package/lib/esm/widget/components/ExtractionStates/RunningExtractionState.js +3 -3
  254. package/lib/esm/widget/components/ExtractionStates/RunningExtractionState.js.map +1 -1
  255. package/lib/esm/widget/components/ExtractionStates/StartingExtractionState.d.ts.map +1 -1
  256. package/lib/esm/widget/components/ExtractionStates/StartingExtractionState.js +3 -3
  257. package/lib/esm/widget/components/ExtractionStates/StartingExtractionState.js.map +1 -1
  258. package/lib/esm/widget/components/ExtractionStates/SucceededExtractionState.d.ts.map +1 -1
  259. package/lib/esm/widget/components/ExtractionStates/SucceededExtractionState.js +3 -3
  260. package/lib/esm/widget/components/ExtractionStates/SucceededExtractionState.js.map +1 -1
  261. package/lib/esm/widget/components/ExtractionStatus.d.ts +1 -1
  262. package/lib/esm/widget/components/ExtractionStatus.d.ts.map +1 -1
  263. package/lib/esm/widget/components/ExtractionStatus.js +9 -9
  264. package/lib/esm/widget/components/ExtractionStatus.js.map +1 -1
  265. package/lib/esm/widget/components/ExtractionStatus.scss +1 -1
  266. package/lib/esm/widget/components/ExtractionToast.d.ts.map +1 -1
  267. package/lib/esm/widget/components/ExtractionToast.js +3 -3
  268. package/lib/esm/widget/components/ExtractionToast.js.map +1 -1
  269. package/lib/esm/widget/components/HorizontalTile.d.ts.map +1 -1
  270. package/lib/esm/widget/components/HorizontalTile.js +1 -2
  271. package/lib/esm/widget/components/HorizontalTile.js.map +1 -1
  272. package/lib/esm/widget/components/HorizontalTile.scss +1 -4
  273. package/lib/esm/widget/components/LocalizedTablePaginator.d.ts.map +1 -1
  274. package/lib/esm/widget/components/LocalizedTablePaginator.js +1 -1
  275. package/lib/esm/widget/components/LocalizedTablePaginator.js.map +1 -1
  276. package/lib/esm/widget/components/ReportAction.d.ts +8 -0
  277. package/lib/esm/widget/components/ReportAction.d.ts.map +1 -1
  278. package/lib/esm/widget/components/ReportAction.js +10 -8
  279. package/lib/esm/widget/components/ReportAction.js.map +1 -1
  280. package/lib/esm/widget/components/ReportAction.scss +1 -1
  281. package/lib/esm/widget/components/ReportHorizontalTile.d.ts.map +1 -1
  282. package/lib/esm/widget/components/ReportHorizontalTile.js +6 -6
  283. package/lib/esm/widget/components/ReportHorizontalTile.js.map +1 -1
  284. package/lib/esm/widget/components/ReportMappingHorizontalTile.d.ts.map +1 -1
  285. package/lib/esm/widget/components/ReportMappingHorizontalTile.js +47 -46
  286. package/lib/esm/widget/components/ReportMappingHorizontalTile.js.map +1 -1
  287. package/lib/esm/widget/components/ReportMappings.d.ts +8 -0
  288. package/lib/esm/widget/components/ReportMappings.d.ts.map +1 -1
  289. package/lib/esm/widget/components/ReportMappings.js +28 -14
  290. package/lib/esm/widget/components/ReportMappings.js.map +1 -1
  291. package/lib/esm/widget/components/Reports.d.ts +9 -1
  292. package/lib/esm/widget/components/Reports.d.ts.map +1 -1
  293. package/lib/esm/widget/components/Reports.js +8 -9
  294. package/lib/esm/widget/components/Reports.js.map +1 -1
  295. package/lib/esm/widget/components/Reports.scss +0 -1
  296. package/lib/esm/widget/components/ReportsConfigContext.d.ts +34 -4
  297. package/lib/esm/widget/components/ReportsConfigContext.d.ts.map +1 -1
  298. package/lib/esm/widget/components/ReportsConfigContext.js +28 -10
  299. package/lib/esm/widget/components/ReportsConfigContext.js.map +1 -1
  300. package/lib/esm/widget/components/ReportsContainer.d.ts +3 -6
  301. package/lib/esm/widget/components/ReportsContainer.d.ts.map +1 -1
  302. package/lib/esm/widget/components/ReportsContainer.js +7 -5
  303. package/lib/esm/widget/components/ReportsContainer.js.map +1 -1
  304. package/lib/esm/widget/components/ReportsContainer.scss +1 -1
  305. package/lib/esm/widget/components/ReportsHeader.d.ts +1 -1
  306. package/lib/esm/widget/components/ReportsHeader.d.ts.map +1 -1
  307. package/lib/esm/widget/components/ReportsHeader.js +6 -7
  308. package/lib/esm/widget/components/ReportsHeader.js.map +1 -1
  309. package/lib/esm/widget/components/ReportsRouter.d.ts.map +1 -1
  310. package/lib/esm/widget/components/ReportsRouter.js +3 -3
  311. package/lib/esm/widget/components/ReportsRouter.js.map +1 -1
  312. package/lib/esm/widget/components/SearchBar.d.ts +1 -1
  313. package/lib/esm/widget/components/SearchBar.d.ts.map +1 -1
  314. package/lib/esm/widget/components/SearchBar.js +4 -4
  315. package/lib/esm/widget/components/SearchBar.js.map +1 -1
  316. package/lib/esm/widget/components/SelectIModel.d.ts +1 -1
  317. package/lib/esm/widget/components/SelectIModel.d.ts.map +1 -1
  318. package/lib/esm/widget/components/SelectIModel.js +2 -2
  319. package/lib/esm/widget/components/SelectIModel.js.map +1 -1
  320. package/lib/esm/widget/components/SelectIModel.scss +1 -1
  321. package/lib/esm/widget/components/utils.d.ts +1 -1
  322. package/lib/esm/widget/components/utils.d.ts.map +1 -1
  323. package/lib/esm/widget/components/utils.js +6 -6
  324. package/lib/esm/widget/components/utils.js.map +1 -1
  325. package/lib/esm/widget/components/utils.scss +1 -1
  326. package/lib/esm/widget/context/BulkExtractorContext.d.ts.map +1 -1
  327. package/lib/esm/widget/context/BulkExtractorContext.js.map +1 -1
  328. package/lib/esm/widget/context/ReportsConfigApiContext.d.ts +3 -3
  329. package/lib/esm/widget/context/ReportsConfigApiContext.d.ts.map +1 -1
  330. package/lib/esm/widget/context/ReportsConfigApiContext.js.map +1 -1
  331. package/lib/esm/widget/hooks/useValidator.d.ts +1 -4
  332. package/lib/esm/widget/hooks/useValidator.d.ts.map +1 -1
  333. package/lib/esm/widget/hooks/useValidator.js +3 -3
  334. package/lib/esm/widget/hooks/useValidator.js.map +1 -1
  335. package/package.json +9 -4
  336. package/src/ReportsConfigWidget.ts +9 -9
  337. package/src/reports-config-widget-react.ts +4 -3
  338. package/src/test/AddMappingModal.test.tsx +45 -70
  339. package/src/test/BulkExtractor.test.ts +73 -118
  340. package/src/test/DeleteModal.test.tsx +6 -23
  341. package/src/test/ReportAction.test.tsx +20 -38
  342. package/src/test/ReportMappingHorizontalTile.test.tsx +137 -106
  343. package/src/test/ReportMappings.test.tsx +73 -88
  344. package/src/test/Reports.test.tsx +30 -64
  345. package/src/test/WidgetHeader.test.tsx +3 -3
  346. package/src/test/test-utils.tsx +18 -8
  347. package/src/widget/ReportsConfigUiProvider.tsx +18 -37
  348. package/src/widget/components/ActionPanel.tsx +3 -14
  349. package/src/widget/components/AddMappingsModal.scss +1 -1
  350. package/src/widget/components/AddMappingsModal.tsx +21 -53
  351. package/src/widget/components/BulkExtractor.ts +67 -59
  352. package/src/widget/components/Constants.ts +4 -4
  353. package/src/widget/components/DeleteModal.scss +2 -2
  354. package/src/widget/components/DeleteModal.tsx +11 -41
  355. package/src/widget/components/ExtractionStates/FailedExtractionState.tsx +4 -9
  356. package/src/widget/components/ExtractionStates/QueuedExtractionState.tsx +4 -9
  357. package/src/widget/components/ExtractionStates/RunningExtractionState.tsx +4 -9
  358. package/src/widget/components/ExtractionStates/StartingExtractionState.tsx +4 -11
  359. package/src/widget/components/ExtractionStates/SucceededExtractionState.tsx +4 -9
  360. package/src/widget/components/ExtractionStatus.scss +1 -1
  361. package/src/widget/components/ExtractionStatus.tsx +9 -18
  362. package/src/widget/components/ExtractionToast.tsx +12 -9
  363. package/src/widget/components/HorizontalTile.scss +1 -4
  364. package/src/widget/components/HorizontalTile.tsx +12 -33
  365. package/src/widget/components/LocalizedTablePaginator.tsx +13 -44
  366. package/src/widget/components/ReportAction.scss +1 -1
  367. package/src/widget/components/ReportAction.tsx +26 -39
  368. package/src/widget/components/ReportHorizontalTile.tsx +45 -55
  369. package/src/widget/components/ReportMappingHorizontalTile.tsx +70 -78
  370. package/src/widget/components/ReportMappings.tsx +61 -132
  371. package/src/widget/components/Reports.scss +0 -1
  372. package/src/widget/components/Reports.tsx +30 -84
  373. package/src/widget/components/ReportsConfigContext.tsx +70 -32
  374. package/src/widget/components/ReportsContainer.scss +1 -1
  375. package/src/widget/components/ReportsContainer.tsx +12 -28
  376. package/src/widget/components/ReportsHeader.tsx +6 -19
  377. package/src/widget/components/ReportsRouter.tsx +4 -6
  378. package/src/widget/components/SearchBar.tsx +9 -13
  379. package/src/widget/components/SelectIModel.scss +1 -1
  380. package/src/widget/components/SelectIModel.tsx +9 -24
  381. package/src/widget/components/utils.scss +1 -1
  382. package/src/widget/components/utils.tsx +21 -69
  383. package/src/widget/context/BulkExtractorContext.tsx +4 -6
  384. package/src/widget/context/ReportsConfigApiContext.tsx +7 -8
  385. package/src/widget/hooks/useValidator.ts +10 -24
  386. package/tsconfig.json +11 -11
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">91.42% </span>
26
+ <span class="strong">91.89% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>32/35</span>
28
+ <span class='fraction'>34/37</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">87.09% </span>
33
+ <span class="strong">87.87% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>27/31</span>
35
+ <span class='fraction'>29/33</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">70% </span>
40
+ <span class="strong">72.72% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>7/10</span>
42
+ <span class='fraction'>8/11</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">90.32% </span>
47
+ <span class="strong">93.75% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>28/31</span>
49
+ <span class='fraction'>30/32</span>
50
50
  </div>
51
51
 
52
52
 
@@ -159,21 +159,57 @@
159
159
  <a name='L94'></a><a href='#L94'>94</a>
160
160
  <a name='L95'></a><a href='#L95'>95</a>
161
161
  <a name='L96'></a><a href='#L96'>96</a>
162
- <a name='L97'></a><a href='#L97'>97</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
162
+ <a name='L97'></a><a href='#L97'>97</a>
163
+ <a name='L98'></a><a href='#L98'>98</a>
164
+ <a name='L99'></a><a href='#L99'>99</a>
165
+ <a name='L100'></a><a href='#L100'>100</a>
166
+ <a name='L101'></a><a href='#L101'>101</a>
167
+ <a name='L102'></a><a href='#L102'>102</a>
168
+ <a name='L103'></a><a href='#L103'>103</a>
169
+ <a name='L104'></a><a href='#L104'>104</a>
170
+ <a name='L105'></a><a href='#L105'>105</a>
171
+ <a name='L106'></a><a href='#L106'>106</a>
172
+ <a name='L107'></a><a href='#L107'>107</a>
173
+ <a name='L108'></a><a href='#L108'>108</a>
174
+ <a name='L109'></a><a href='#L109'>109</a>
175
+ <a name='L110'></a><a href='#L110'>110</a>
176
+ <a name='L111'></a><a href='#L111'>111</a>
177
+ <a name='L112'></a><a href='#L112'>112</a>
178
+ <a name='L113'></a><a href='#L113'>113</a>
179
+ <a name='L114'></a><a href='#L114'>114</a>
180
+ <a name='L115'></a><a href='#L115'>115</a>
181
+ <a name='L116'></a><a href='#L116'>116</a>
182
+ <a name='L117'></a><a href='#L117'>117</a>
183
+ <a name='L118'></a><a href='#L118'>118</a>
184
+ <a name='L119'></a><a href='#L119'>119</a>
185
+ <a name='L120'></a><a href='#L120'>120</a>
186
+ <a name='L121'></a><a href='#L121'>121</a>
187
+ <a name='L122'></a><a href='#L122'>122</a>
188
+ <a name='L123'></a><a href='#L123'>123</a>
189
+ <a name='L124'></a><a href='#L124'>124</a>
190
+ <a name='L125'></a><a href='#L125'>125</a>
191
+ <a name='L126'></a><a href='#L126'>126</a>
192
+ <a name='L127'></a><a href='#L127'>127</a>
193
+ <a name='L128'></a><a href='#L128'>128</a>
194
+ <a name='L129'></a><a href='#L129'>129</a>
195
+ <a name='L130'></a><a href='#L130'>130</a>
196
+ <a name='L131'></a><a href='#L131'>131</a>
197
+ <a name='L132'></a><a href='#L132'>132</a>
198
+ <a name='L133'></a><a href='#L133'>133</a>
199
+ <a name='L134'></a><a href='#L134'>134</a>
200
+ <a name='L135'></a><a href='#L135'>135</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
163
201
  <span class="cline-any cline-neutral">&nbsp;</span>
164
202
  <span class="cline-any cline-neutral">&nbsp;</span>
165
203
  <span class="cline-any cline-neutral">&nbsp;</span>
166
204
  <span class="cline-any cline-yes">7x</span>
167
205
  <span class="cline-any cline-neutral">&nbsp;</span>
168
206
  <span class="cline-any cline-yes">7x</span>
207
+ <span class="cline-any cline-neutral">&nbsp;</span>
169
208
  <span class="cline-any cline-yes">7x</span>
170
209
  <span class="cline-any cline-yes">7x</span>
171
210
  <span class="cline-any cline-yes">7x</span>
172
211
  <span class="cline-any cline-yes">7x</span>
173
212
  <span class="cline-any cline-neutral">&nbsp;</span>
174
- <span class="cline-any cline-neutral">&nbsp;</span>
175
- <span class="cline-any cline-neutral">&nbsp;</span>
176
- <span class="cline-any cline-neutral">&nbsp;</span>
177
213
  <span class="cline-any cline-yes">7x</span>
178
214
  <span class="cline-any cline-yes">7x</span>
179
215
  <span class="cline-any cline-yes">7x</span>
@@ -193,20 +229,48 @@
193
229
  <span class="cline-any cline-neutral">&nbsp;</span>
194
230
  <span class="cline-any cline-neutral">&nbsp;</span>
195
231
  <span class="cline-any cline-neutral">&nbsp;</span>
196
- <span class="cline-any cline-yes">7x</span>
197
- <span class="cline-any cline-no">&nbsp;</span>
232
+ <span class="cline-any cline-neutral">&nbsp;</span>
233
+ <span class="cline-any cline-neutral">&nbsp;</span>
234
+ <span class="cline-any cline-neutral">&nbsp;</span>
235
+ <span class="cline-any cline-neutral">&nbsp;</span>
236
+ <span class="cline-any cline-neutral">&nbsp;</span>
237
+ <span class="cline-any cline-neutral">&nbsp;</span>
238
+ <span class="cline-any cline-neutral">&nbsp;</span>
239
+ <span class="cline-any cline-neutral">&nbsp;</span>
240
+ <span class="cline-any cline-neutral">&nbsp;</span>
241
+ <span class="cline-any cline-neutral">&nbsp;</span>
242
+ <span class="cline-any cline-neutral">&nbsp;</span>
243
+ <span class="cline-any cline-neutral">&nbsp;</span>
244
+ <span class="cline-any cline-neutral">&nbsp;</span>
245
+ <span class="cline-any cline-neutral">&nbsp;</span>
246
+ <span class="cline-any cline-neutral">&nbsp;</span>
247
+ <span class="cline-any cline-neutral">&nbsp;</span>
248
+ <span class="cline-any cline-neutral">&nbsp;</span>
249
+ <span class="cline-any cline-neutral">&nbsp;</span>
250
+ <span class="cline-any cline-neutral">&nbsp;</span>
251
+ <span class="cline-any cline-neutral">&nbsp;</span>
252
+ <span class="cline-any cline-neutral">&nbsp;</span>
253
+ <span class="cline-any cline-neutral">&nbsp;</span>
254
+ <span class="cline-any cline-neutral">&nbsp;</span>
255
+ <span class="cline-any cline-neutral">&nbsp;</span>
256
+ <span class="cline-any cline-neutral">&nbsp;</span>
198
257
  <span class="cline-any cline-neutral">&nbsp;</span>
199
258
  <span class="cline-any cline-yes">7x</span>
200
- <span class="cline-any cline-yes">256x</span>
201
259
  <span class="cline-any cline-neutral">&nbsp;</span>
202
260
  <span class="cline-any cline-neutral">&nbsp;</span>
203
261
  <span class="cline-any cline-neutral">&nbsp;</span>
204
- <span class="cline-any cline-yes">58x</span>
205
262
  <span class="cline-any cline-neutral">&nbsp;</span>
206
263
  <span class="cline-any cline-neutral">&nbsp;</span>
264
+ <span class="cline-any cline-yes">7x</span>
265
+ <span class="cline-any cline-yes">158x</span>
266
+ <span class="cline-any cline-yes">98x</span>
207
267
  <span class="cline-any cline-yes">58x</span>
268
+ <span class="cline-any cline-yes">29x</span>
269
+ <span class="cline-any cline-neutral">&nbsp;</span>
270
+ <span class="cline-any cline-neutral">&nbsp;</span>
208
271
  <span class="cline-any cline-neutral">&nbsp;</span>
209
272
  <span class="cline-any cline-neutral">&nbsp;</span>
273
+ <span class="cline-any cline-yes">58x</span>
210
274
  <span class="cline-any cline-neutral">&nbsp;</span>
211
275
  <span class="cline-any cline-yes">58x</span>
212
276
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -236,6 +300,10 @@
236
300
  <span class="cline-any cline-neutral">&nbsp;</span>
237
301
  <span class="cline-any cline-neutral">&nbsp;</span>
238
302
  <span class="cline-any cline-neutral">&nbsp;</span>
303
+ <span class="cline-any cline-neutral">&nbsp;</span>
304
+ <span class="cline-any cline-neutral">&nbsp;</span>
305
+ <span class="cline-any cline-neutral">&nbsp;</span>
306
+ <span class="cline-any cline-neutral">&nbsp;</span>
239
307
  <span class="cline-any cline-yes">58x</span>
240
308
  <span class="cline-any cline-yes">29x</span>
241
309
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -247,7 +315,6 @@
247
315
  <span class="cline-any cline-neutral">&nbsp;</span>
248
316
  <span class="cline-any cline-neutral">&nbsp;</span>
249
317
  <span class="cline-any cline-neutral">&nbsp;</span>
250
- <span class="cline-any cline-yes">58x</span>
251
318
  <span class="cline-any cline-neutral">&nbsp;</span>
252
319
  <span class="cline-any cline-neutral">&nbsp;</span>
253
320
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -255,21 +322,28 @@
255
322
  <span class="cline-any cline-neutral">&nbsp;</span>
256
323
  <span class="cline-any cline-neutral">&nbsp;</span>
257
324
  <span class="cline-any cline-neutral">&nbsp;</span>
325
+ <span class="cline-any cline-neutral">&nbsp;</span>
326
+ <span class="cline-any cline-neutral">&nbsp;</span>
327
+ <span class="cline-any cline-neutral">&nbsp;</span>
328
+ <span class="cline-any cline-yes">58x</span>
329
+ <span class="cline-any cline-neutral">&nbsp;</span>
330
+ <span class="cline-any cline-neutral">&nbsp;</span>
331
+ <span class="cline-any cline-neutral">&nbsp;</span>
332
+ <span class="cline-any cline-neutral">&nbsp;</span>
333
+ <span class="cline-any cline-neutral">&nbsp;</span>
258
334
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">/*---------------------------------------------------------------------------------------------
259
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
260
- * See LICENSE.md in the project root for license terms and full copyright notice.
261
- *--------------------------------------------------------------------------------------------*/
335
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
336
+ * See LICENSE.md in the project root for license terms and full copyright notice.
337
+ *--------------------------------------------------------------------------------------------*/
262
338
  import { IModelApp } from "@itwin/core-frontend";
263
339
  import type { IModelsClientOptions } from "@itwin/imodels-client-management";
264
340
  import { IModelsClient } from "@itwin/imodels-client-management";
265
- import { ExtractionClient, MappingsClient, REPORTING_BASE_PATH, ReportsClient } from "@itwin/insights-client";
341
+ import type { IExtractionClient, IMappingsClient, IReportsClient } from "@itwin/insights-client";
342
+ import { ExtractionClient, GROUPING_AND_MAPPING_BASE_PATH, MappingsClient, REPORTING_BASE_PATH, ReportsClient } from "@itwin/insights-client";
266
343
  import { toaster } from "@itwin/itwinui-react";
267
344
  import React, { useCallback, useEffect, useMemo, useState } from "react";
268
345
  import { BulkExtractorContext } from "../context/BulkExtractorContext";
269
- import type {
270
- GetAccessTokenFn,
271
- ReportsConfigApiProps,
272
- } from "../context/ReportsConfigApiContext";
346
+ import type { GetAccessTokenFn, ReportsConfigApiProps } from "../context/ReportsConfigApiContext";
273
347
  import { ReportsConfigApiContext } from "../context/ReportsConfigApiContext";
274
348
  import { REPORTS_CONFIG_BASE_URL } from "../ReportsConfigUiProvider";
275
349
  import { BulkExtractor } from "./BulkExtractor";
@@ -277,47 +351,75 @@ import { IMODELS_BASE_URL } from "./Constants";
277
351
  import { FailedExtractionToast, SuccessfulExtractionToast } from "./ExtractionToast";
278
352
  import { generateUrl } from "./utils";
279
353
  &nbsp;
354
+ /**
355
+ * Props for the {@link ReportsConfigContext} component.
356
+ * @public
357
+ */
280
358
  export interface ReportsConfigContextProps {
359
+ /**
360
+ * A callback function that returns an access token for authenticating API requests.
361
+ * If not specified, it defaults to the authorizationClient of the IModelApp.
362
+ */
281
363
  getAccessToken?: GetAccessTokenFn;
364
+ /**
365
+ * The base URL for the API requests. Defaults to https://api.bentley.com.
366
+ */
282
367
  baseUrl?: string;
283
368
  iTwinId: string;
369
+ /**
370
+ * The bulk extractor instance to use for extracting data. Internal use only.
371
+ */
284
372
  bulkExtractor?: BulkExtractor;
285
- reportsClient?: ReportsClient;
286
- mappingsClient?: MappingsClient;
287
- extractionClient?: ExtractionClient;
373
+ /**
374
+ * A custom implementation of ReportsClient. If provided, baseUrl is ignored.
375
+ */
376
+ reportsClient?: IReportsClient;
377
+ /**
378
+ * A custom implementation of MappingsClient. If provided, baseUrl is ignored.
379
+ */
380
+ mappingsClient?: IMappingsClient;
381
+ /**
382
+ * A custom implementation of ExtractionClient. If provided, baseUrl is ignored.
383
+ */
384
+ extractionClient?: IExtractionClient;
385
+ /**
386
+ * A custom implementation of IModelsClient. If provided, baseUrl is ignored.
387
+ */
288
388
  iModelsClient?: IModelsClient;
289
389
  children?: React.ReactNode;
290
390
  }
291
391
  &nbsp;
292
- const authorizationClientGetAccessToken = <span class="fstat-no" title="function not covered" >async </span>() =&gt;
293
- <span class="cstat-no" title="statement not covered" > (await IModelApp.authorizationClient?.getAccessToken()) ?? "";</span>
392
+ const authorizationClientGetAccessToken = <span class="fstat-no" title="function not covered" >async </span>() =&gt; <span class="cstat-no" title="statement not covered" >(await IModelApp.authorizationClient?.getAccessToken()) ?? "";</span>
294
393
  &nbsp;
394
+ /**
395
+ * Reports Config context providers required for all components.
396
+ * @public
397
+ */
295
398
  export const ReportsConfigContext = (props: ReportsConfigContextProps) =&gt; {
296
- const reportsBaseUrl = useCallback(() =&gt; generateUrl(
297
- REPORTING_BASE_PATH,
298
- props.baseUrl || REPORTS_CONFIG_BASE_URL
299
- ), [props.baseUrl]);
300
- const iModelClientOptions: IModelsClientOptions = useMemo(() =&gt; ({
301
- api: { baseUrl: generateUrl(IMODELS_BASE_URL, props.baseUrl ?? REPORTS_CONFIG_BASE_URL) },
302
- }), [props.baseUrl]);
303
- const [extractionClient, setExtractionClient] = useState&lt;ExtractionClient&gt;(
304
- props.extractionClient ?? new ExtractionClient(reportsBaseUrl())
399
+ const reportsBaseUrl = useCallback(() =&gt; generateUrl(REPORTING_BASE_PATH, props.baseUrl || REPORTS_CONFIG_BASE_URL), [props.baseUrl]);
400
+ const groupingMappingBaseUrl = useCallback(() =&gt; generateUrl(GROUPING_AND_MAPPING_BASE_PATH, props.baseUrl || REPORTS_CONFIG_BASE_URL), [props.baseUrl]);
401
+ const iModelClientOptions: IModelsClientOptions = useMemo(
402
+ () =&gt; ({
403
+ api: { baseUrl: generateUrl(IMODELS_BASE_URL, props.baseUrl ?? REPORTS_CONFIG_BASE_URL) },
404
+ }),
405
+ [props.baseUrl],
305
406
  );
407
+ const [extractionClient, setExtractionClient] = useState&lt;IExtractionClient&gt;(props.extractionClient ?? new ExtractionClient(reportsBaseUrl()));
306
408
  &nbsp;
307
409
  const [apiConfig, setApiConfig] = useState&lt;ReportsConfigApiProps&gt;({
308
410
  getAccessToken: props.getAccessToken ?? <span class="branch-1 cbranch-no" title="branch not covered" >authorizationClientGetAccessToken,</span>
309
411
  baseUrl: reportsBaseUrl(),
310
412
  iTwinId: props.iTwinId,
311
413
  reportsClient: props.reportsClient ?? new ReportsClient(reportsBaseUrl()),
312
- mappingsClient: props.mappingsClient ?? new MappingsClient(reportsBaseUrl()),
414
+ mappingsClient: props.mappingsClient ?? new MappingsClient(undefined, groupingMappingBaseUrl()),
313
415
  iModelsClient: props.iModelsClient ?? new IModelsClient(iModelClientOptions),
314
416
  });
315
417
  &nbsp;
316
418
  useEffect(() =&gt; {
317
419
  if (!props.extractionClient) {
318
- setExtractionClient(props.extractionClient ?? new ExtractionClient(reportsBaseUrl()));
420
+ setExtractionClient(props.extractionClient ?? new ExtractionClient(undefined, groupingMappingBaseUrl()));
319
421
  }
320
- }, [props.extractionClient, reportsBaseUrl]);
422
+ }, [groupingMappingBaseUrl, props.extractionClient]);
321
423
  &nbsp;
322
424
  const successfulExtractionToast = <span class="fstat-no" title="function not covered" >(i</span>ModelName: string, odataFeedUrl: string) =&gt; {
323
425
  <span class="cstat-no" title="statement not covered" > toaster.positive(&lt;SuccessfulExtractionToast iModelName={iModelName} odataFeedUrl={odataFeedUrl} /&gt;);</span>
@@ -328,8 +430,12 @@ export const ReportsConfigContext = (props: ReportsConfigContextProps) =&gt; {
328
430
  };
329
431
  &nbsp;
330
432
  const bulkExtractor = useMemo(
331
- () =&gt; ({ bulkExtractor: props.bulkExtractor ?? new BulkExtractor(apiConfig.reportsClient, extractionClient, apiConfig.getAccessToken, successfulExtractionToast, failedExtractionToast) }),
332
- [apiConfig.getAccessToken, apiConfig.reportsClient, extractionClient, props.bulkExtractor]
433
+ () =&gt; ({
434
+ bulkExtractor:
435
+ props.bulkExtractor ??
436
+ new BulkExtractor(apiConfig.reportsClient, extractionClient, apiConfig.getAccessToken, successfulExtractionToast, failedExtractionToast),
437
+ }),
438
+ [apiConfig.getAccessToken, apiConfig.reportsClient, extractionClient, props.bulkExtractor],
333
439
  );
334
440
  &nbsp;
335
441
  useEffect(() =&gt; {
@@ -338,16 +444,24 @@ export const ReportsConfigContext = (props: ReportsConfigContextProps) =&gt; {
338
444
  baseUrl: props.baseUrl || REPORTS_CONFIG_BASE_URL,
339
445
  iTwinId: props.iTwinId,
340
446
  reportsClient: props.reportsClient ?? new ReportsClient(reportsBaseUrl()),
341
- mappingsClient: props.mappingsClient ?? new MappingsClient(reportsBaseUrl()),
447
+ mappingsClient: props.mappingsClient ?? new MappingsClient(undefined, groupingMappingBaseUrl()),
342
448
  iModelsClient: props.iModelsClient ?? new IModelsClient(iModelClientOptions),
343
449
  }));
344
- }, [props.getAccessToken, props.baseUrl, props.iTwinId, props.reportsClient, props.mappingsClient, props.iModelsClient, reportsBaseUrl, iModelClientOptions]);
450
+ }, [
451
+ props.getAccessToken,
452
+ props.baseUrl,
453
+ props.iTwinId,
454
+ props.reportsClient,
455
+ props.mappingsClient,
456
+ props.iModelsClient,
457
+ reportsBaseUrl,
458
+ iModelClientOptions,
459
+ groupingMappingBaseUrl,
460
+ ]);
345
461
  &nbsp;
346
462
  return (
347
463
  &lt;ReportsConfigApiContext.Provider value={apiConfig}&gt;
348
- &lt;BulkExtractorContext.Provider value={bulkExtractor}&gt;
349
- {props.children}
350
- &lt;/BulkExtractorContext.Provider&gt;
464
+ &lt;BulkExtractorContext.Provider value={bulkExtractor}&gt;{props.children}&lt;/BulkExtractorContext.Provider&gt;
351
465
  &lt;/ReportsConfigApiContext.Provider&gt;
352
466
  );
353
467
  };
@@ -358,7 +472,7 @@ export const ReportsConfigContext = (props: ReportsConfigContextProps) =&gt; {
358
472
  <div class='footer quiet pad2 space-top1 center small'>
359
473
  Code coverage generated by
360
474
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
361
- at 2024-01-29T21:35:13.448Z
475
+ at 2024-06-11T15:49:29.425Z
362
476
  </div>
363
477
  <script src="../../../prettify.js"></script>
364
478
  <script>
@@ -119,24 +119,7 @@
119
119
  <a name='L54'></a><a href='#L54'>54</a>
120
120
  <a name='L55'></a><a href='#L55'>55</a>
121
121
  <a name='L56'></a><a href='#L56'>56</a>
122
- <a name='L57'></a><a href='#L57'>57</a>
123
- <a name='L58'></a><a href='#L58'>58</a>
124
- <a name='L59'></a><a href='#L59'>59</a>
125
- <a name='L60'></a><a href='#L60'>60</a>
126
- <a name='L61'></a><a href='#L61'>61</a>
127
- <a name='L62'></a><a href='#L62'>62</a>
128
- <a name='L63'></a><a href='#L63'>63</a>
129
- <a name='L64'></a><a href='#L64'>64</a>
130
- <a name='L65'></a><a href='#L65'>65</a>
131
- <a name='L66'></a><a href='#L66'>66</a>
132
- <a name='L67'></a><a href='#L67'>67</a>
133
- <a name='L68'></a><a href='#L68'>68</a>
134
- <a name='L69'></a><a href='#L69'>69</a>
135
- <a name='L70'></a><a href='#L70'>70</a>
136
- <a name='L71'></a><a href='#L71'>71</a>
137
- <a name='L72'></a><a href='#L72'>72</a>
138
- <a name='L73'></a><a href='#L73'>73</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
139
- <span class="cline-any cline-neutral">&nbsp;</span>
122
+ <a name='L57'></a><a href='#L57'>57</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
140
123
  <span class="cline-any cline-neutral">&nbsp;</span>
141
124
  <span class="cline-any cline-neutral">&nbsp;</span>
142
125
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -146,10 +129,8 @@
146
129
  <span class="cline-any cline-yes">7x</span>
147
130
  <span class="cline-any cline-yes">7x</span>
148
131
  <span class="cline-any cline-yes">7x</span>
149
- <span class="cline-any cline-yes">7x</span>
150
- <span class="cline-any cline-neutral">&nbsp;</span>
151
- <span class="cline-any cline-neutral">&nbsp;</span>
152
132
  <span class="cline-any cline-neutral">&nbsp;</span>
133
+ <span class="cline-any cline-yes">7x</span>
153
134
  <span class="cline-any cline-neutral">&nbsp;</span>
154
135
  <span class="cline-any cline-neutral">&nbsp;</span>
155
136
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -170,13 +151,7 @@
170
151
  <span class="cline-any cline-neutral">&nbsp;</span>
171
152
  <span class="cline-any cline-neutral">&nbsp;</span>
172
153
  <span class="cline-any cline-yes">7x</span>
173
- <span class="cline-any cline-neutral">&nbsp;</span>
174
- <span class="cline-any cline-neutral">&nbsp;</span>
175
- <span class="cline-any cline-neutral">&nbsp;</span>
176
- <span class="cline-any cline-neutral">&nbsp;</span>
177
154
  <span class="cline-any cline-no">&nbsp;</span>
178
- <span class="cline-any cline-neutral">&nbsp;</span>
179
- <span class="cline-any cline-neutral">&nbsp;</span>
180
155
  <span class="cline-any cline-no">&nbsp;</span>
181
156
  <span class="cline-any cline-no">&nbsp;</span>
182
157
  <span class="cline-any cline-no">&nbsp;</span>
@@ -199,36 +174,26 @@
199
174
  <span class="cline-any cline-neutral">&nbsp;</span>
200
175
  <span class="cline-any cline-neutral">&nbsp;</span>
201
176
  <span class="cline-any cline-neutral">&nbsp;</span>
202
- <span class="cline-any cline-neutral">&nbsp;</span>
203
- <span class="cline-any cline-neutral">&nbsp;</span>
204
- <span class="cline-any cline-neutral">&nbsp;</span>
205
- <span class="cline-any cline-neutral">&nbsp;</span>
206
- <span class="cline-any cline-neutral">&nbsp;</span>
207
- <span class="cline-any cline-neutral">&nbsp;</span>
208
- <span class="cline-any cline-neutral">&nbsp;</span>
209
177
  <span class="cline-any cline-yes">7x</span>
210
178
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">/*---------------------------------------------------------------------------------------------
211
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
212
- * See LICENSE.md in the project root for license terms and full copyright notice.
213
- *--------------------------------------------------------------------------------------------*/
214
- import type { AccessToken } from "@itwin/core-bentley";
179
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
180
+ * See LICENSE.md in the project root for license terms and full copyright notice.
181
+ *--------------------------------------------------------------------------------------------*/
215
182
  import React, { useCallback, useState } from "react";
216
183
  import "./ReportsContainer.scss";
217
184
  import type { Report } from "@itwin/insights-client";
218
185
  import { useActiveIModelConnection } from "@itwin/appui-react";
219
186
  import { ReportsHeader } from "./ReportsHeader";
220
187
  import { ReportsRouter } from "./ReportsRouter";
221
- import { ReportsConfigContext } from "./ReportsConfigContext";
188
+ import type { ReportsConfigContextProps } from "./ReportsConfigContext";
189
+ import { ReportsConfigContext } from "./ReportsConfigContext"
222
190
  &nbsp;
223
- interface ReportsContainerProps {
224
- getAccessToken?: () =&gt; Promise&lt;AccessToken&gt;;
225
- baseUrl: string;
226
- }
191
+ export type ReportsContainerProps = Omit&lt;ReportsConfigContextProps, "iTwinId" | "children"&gt;;
227
192
  &nbsp;
228
193
  export enum RouteStep {
229
194
  ReportsList,
230
195
  ReportAction,
231
- ReportMappings
196
+ ReportMappings,
232
197
  }
233
198
  &nbsp;
234
199
  export interface ReportsRouteFields {
@@ -241,14 +206,8 @@ export interface Route {
241
206
  reportsRoutingFields: ReportsRouteFields;
242
207
  }
243
208
  &nbsp;
244
- const ReportsContainer = <span class="fstat-no" title="function not covered" >({</span>
245
- getAccessToken,
246
- baseUrl,
247
- }: ReportsContainerProps) =&gt; {
248
- &nbsp;
249
- const [routingHistory, setRoutingHistory] = <span class="cstat-no" title="statement not covered" >useState&lt;Route[]&gt;([</span>
250
- { step: RouteStep.ReportsList, title: "iTwin Reports", reportsRoutingFields: {} },
251
- ]);
209
+ const ReportsContainer = <span class="fstat-no" title="function not covered" >(p</span>rops: ReportsContainerProps) =&gt; {
210
+ const [routingHistory, setRoutingHistory] = <span class="cstat-no" title="statement not covered" >useState&lt;Route[]&gt;([{ step: RouteStep.ReportsList, title: "iTwin Reports", reportsRoutingFields: {} }]);</span>
252
211
  const currentRoute = <span class="cstat-no" title="statement not covered" >routingHistory[routingHistory.length - 1];</span>
253
212
  const iTwinId = <span class="cstat-no" title="statement not covered" >useActiveIModelConnection()?.iTwinId ?? "";</span>
254
213
  const navigateTo = <span class="cstat-no" title="statement not covered" >useCallback(<span class="fstat-no" title="function not covered" >(t</span>oRoute: (prev: Route | undefined) =&gt; Route) =&gt; {</span>
@@ -262,17 +221,10 @@ const ReportsContainer = <span class="fstat-no" title="function not covered" >({
262
221
  }, [routingHistory]);
263
222
  &nbsp;
264
223
  <span class="cstat-no" title="statement not covered" > return (</span>
265
- &lt;ReportsConfigContext getAccessToken={getAccessToken} baseUrl={baseUrl} iTwinId={iTwinId}&gt;
224
+ &lt;ReportsConfigContext {...props} iTwinId={iTwinId}&gt;
266
225
  &lt;div className="rcw-reports-container"&gt;
267
- &lt;ReportsHeader
268
- goBack={goBack}
269
- currentRoute={currentRoute}
270
- /&gt;
271
- &lt;ReportsRouter
272
- currentRoute={currentRoute}
273
- navigateTo={navigateTo}
274
- goBack={goBack}
275
- /&gt;
226
+ &lt;ReportsHeader goBack={goBack} currentRoute={currentRoute} /&gt;
227
+ &lt;ReportsRouter currentRoute={currentRoute} navigateTo={navigateTo} goBack={goBack} /&gt;
276
228
  &lt;/div&gt;
277
229
  &lt;/ReportsConfigContext&gt;
278
230
  );
@@ -286,7 +238,7 @@ export default ReportsContainer;
286
238
  <div class='footer quiet pad2 space-top1 center small'>
287
239
  Code coverage generated by
288
240
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
289
- at 2024-01-29T21:35:13.448Z
241
+ at 2024-06-11T15:49:29.425Z
290
242
  </div>
291
243
  <script src="../../../prettify.js"></script>
292
244
  <script>
@@ -77,20 +77,7 @@
77
77
  <a name='L12'></a><a href='#L12'>12</a>
78
78
  <a name='L13'></a><a href='#L13'>13</a>
79
79
  <a name='L14'></a><a href='#L14'>14</a>
80
- <a name='L15'></a><a href='#L15'>15</a>
81
- <a name='L16'></a><a href='#L16'>16</a>
82
- <a name='L17'></a><a href='#L17'>17</a>
83
- <a name='L18'></a><a href='#L18'>18</a>
84
- <a name='L19'></a><a href='#L19'>19</a>
85
- <a name='L20'></a><a href='#L20'>20</a>
86
- <a name='L21'></a><a href='#L21'>21</a>
87
- <a name='L22'></a><a href='#L22'>22</a>
88
- <a name='L23'></a><a href='#L23'>23</a>
89
- <a name='L24'></a><a href='#L24'>24</a>
90
- <a name='L25'></a><a href='#L25'>25</a>
91
- <a name='L26'></a><a href='#L26'>26</a>
92
- <a name='L27'></a><a href='#L27'>27</a>
93
- <a name='L28'></a><a href='#L28'>28</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
80
+ <a name='L15'></a><a href='#L15'>15</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
94
81
  <span class="cline-any cline-neutral">&nbsp;</span>
95
82
  <span class="cline-any cline-neutral">&nbsp;</span>
96
83
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -100,49 +87,23 @@
100
87
  <span class="cline-any cline-yes">7x</span>
101
88
  <span class="cline-any cline-neutral">&nbsp;</span>
102
89
  <span class="cline-any cline-yes">7x</span>
103
- <span class="cline-any cline-neutral">&nbsp;</span>
104
- <span class="cline-any cline-neutral">&nbsp;</span>
105
- <span class="cline-any cline-neutral">&nbsp;</span>
106
- <span class="cline-any cline-neutral">&nbsp;</span>
107
- <span class="cline-any cline-neutral">&nbsp;</span>
108
- <span class="cline-any cline-neutral">&nbsp;</span>
109
- <span class="cline-any cline-neutral">&nbsp;</span>
110
90
  <span class="cline-any cline-no">&nbsp;</span>
111
91
  <span class="cline-any cline-neutral">&nbsp;</span>
112
- <span class="cline-any cline-neutral">&nbsp;</span>
113
92
  <span class="cline-any cline-no">&nbsp;</span>
114
93
  <span class="cline-any cline-neutral">&nbsp;</span>
115
- <span class="cline-any cline-neutral">&nbsp;</span>
116
- <span class="cline-any cline-neutral">&nbsp;</span>
117
- <span class="cline-any cline-neutral">&nbsp;</span>
118
- <span class="cline-any cline-neutral">&nbsp;</span>
119
- <span class="cline-any cline-neutral">&nbsp;</span>
120
94
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">/*---------------------------------------------------------------------------------------------
121
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
122
- * See LICENSE.md in the project root for license terms and full copyright notice.
123
- *--------------------------------------------------------------------------------------------*/
95
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
96
+ * See LICENSE.md in the project root for license terms and full copyright notice.
97
+ *--------------------------------------------------------------------------------------------*/
124
98
  import React from "react";
125
99
  import type { Route } from "./ReportsContainer";
126
100
  import { RouteStep } from "./ReportsContainer";
127
101
  import { WidgetHeader } from "./utils";
128
102
  &nbsp;
129
- export const ReportsHeader = <span class="fstat-no" title="function not covered" >({</span>
130
- goBack,
131
- currentRoute,
132
- }: {
133
- goBack: () =&gt; void;
134
- currentRoute: Route;
135
- }) =&gt; {
136
- const shouldDisableReturnFn =
137
- <span class="cstat-no" title="statement not covered" > currentRoute.step === RouteStep.ReportsList ||</span>
138
- currentRoute.step === RouteStep.ReportAction;
103
+ export const ReportsHeader = <span class="fstat-no" title="function not covered" >({</span> goBack, currentRoute }: { goBack: () =&gt; void; currentRoute: Route }) =&gt; {
104
+ const shouldDisableReturnFn = <span class="cstat-no" title="statement not covered" >currentRoute.step === RouteStep.ReportsList || currentRoute.step === RouteStep.ReportAction;</span>
139
105
  &nbsp;
140
- <span class="cstat-no" title="statement not covered" > return (</span>
141
- &lt;WidgetHeader
142
- returnFn={shouldDisableReturnFn ? undefined : goBack}
143
- title={currentRoute.title}
144
- /&gt;
145
- );
106
+ <span class="cstat-no" title="statement not covered" > return &lt;WidgetHeader returnFn={shouldDisableReturnFn ? undefined : goBack} title={currentRoute.title} /&gt;;</span>
146
107
  };
147
108
  &nbsp;</pre></td></tr></table></pre>
148
109
 
@@ -151,7 +112,7 @@ export const ReportsHeader = <span class="fstat-no" title="function not covered"
151
112
  <div class='footer quiet pad2 space-top1 center small'>
152
113
  Code coverage generated by
153
114
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
154
- at 2024-01-29T21:35:13.448Z
115
+ at 2024-06-11T15:49:29.425Z
155
116
  </div>
156
117
  <script src="../../../prettify.js"></script>
157
118
  <script>