@itwin/reports-config-widget-react 0.2.1 → 0.4.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 (343) hide show
  1. package/.rush/temp/operation/rebuild/all.log +9 -0
  2. package/.rush/temp/operation/rebuild/state.json +3 -0
  3. package/.rush/temp/package-deps_rebuild.json +48 -44
  4. package/.rush/temp/shrinkwrap-deps.json +228 -207
  5. package/CHANGELOG.json +44 -0
  6. package/CHANGELOG.md +24 -1
  7. package/coverage/clover.xml +562 -542
  8. package/coverage/coverage-final.json +24 -20
  9. package/coverage/lcov-report/index.html +51 -51
  10. package/coverage/lcov-report/src/ReportsConfigWidget.ts.html +22 -22
  11. package/coverage/lcov-report/src/index.html +21 -21
  12. package/coverage/lcov-report/src/test/index.html +11 -11
  13. package/coverage/lcov-report/src/test/test-utils.tsx.html +20 -140
  14. package/coverage/lcov-report/src/widget/ReportsConfigUiProvider.tsx.html +14 -35
  15. package/coverage/lcov-report/src/widget/components/ActionPanel.tsx.html +26 -20
  16. package/coverage/lcov-report/src/widget/components/AddMappingsModal.tsx.html +94 -109
  17. package/coverage/lcov-report/src/widget/components/BulkExtractor.ts.html +55 -52
  18. package/coverage/lcov-report/src/widget/components/Constants.ts.html +1 -1
  19. package/coverage/lcov-report/src/widget/components/DeleteModal.tsx.html +28 -46
  20. package/coverage/lcov-report/src/widget/components/ExtractionStates/FailedExtractionState.tsx.html +1 -1
  21. package/coverage/lcov-report/src/widget/components/ExtractionStates/QueuedExtractionState.tsx.html +1 -1
  22. package/coverage/lcov-report/src/widget/components/ExtractionStates/RunningExtractionState.tsx.html +1 -1
  23. package/coverage/lcov-report/src/widget/components/ExtractionStates/StartingExtractionState.tsx.html +1 -1
  24. package/coverage/lcov-report/src/widget/components/ExtractionStates/SucceededExtractionState.tsx.html +1 -1
  25. package/coverage/lcov-report/src/widget/components/ExtractionStates/index.html +1 -1
  26. package/coverage/lcov-report/src/widget/components/ExtractionStatus.tsx.html +1 -1
  27. package/coverage/lcov-report/src/widget/components/ExtractionToast.tsx.html +1 -1
  28. package/coverage/lcov-report/src/widget/components/HorizontalTile.tsx.html +3 -3
  29. package/coverage/lcov-report/src/widget/components/LocalizedTablePaginator.tsx.html +8 -8
  30. package/coverage/lcov-report/src/widget/components/ReportAction.tsx.html +36 -81
  31. package/coverage/lcov-report/src/widget/components/ReportHorizontalTile.tsx.html +38 -41
  32. package/coverage/lcov-report/src/widget/components/ReportMappingHorizontalTile.tsx.html +46 -46
  33. package/coverage/lcov-report/src/widget/components/ReportMappings.tsx.html +127 -142
  34. package/coverage/lcov-report/src/widget/components/Reports.tsx.html +189 -312
  35. package/coverage/lcov-report/src/widget/components/ReportsConfigContext.tsx.html +370 -0
  36. package/coverage/lcov-report/src/widget/components/ReportsContainer.tsx.html +111 -33
  37. package/coverage/lcov-report/src/widget/components/ReportsHeader.tsx.html +166 -0
  38. package/coverage/lcov-report/src/widget/components/ReportsRouter.tsx.html +274 -0
  39. package/coverage/lcov-report/src/widget/components/SearchBar.tsx.html +22 -7
  40. package/coverage/lcov-report/src/widget/components/SelectIModel.tsx.html +40 -94
  41. package/coverage/lcov-report/src/widget/components/index.html +142 -97
  42. package/coverage/lcov-report/src/widget/components/utils.tsx.html +22 -19
  43. package/coverage/lcov-report/src/widget/context/{ReportsApiConfigContext.tsx.html → BulkExtractorContext.tsx.html} +23 -26
  44. package/coverage/lcov-report/src/widget/context/ReportsConfigApiContext.tsx.html +202 -0
  45. package/coverage/lcov-report/src/widget/context/index.html +30 -15
  46. package/coverage/lcov-report/src/widget/hooks/index.html +1 -1
  47. package/coverage/lcov-report/src/widget/hooks/useValidator.ts.html +11 -11
  48. package/coverage/lcov-report/src/widget/index.html +13 -13
  49. package/coverage/lcov.info +1036 -1034
  50. package/jest.config.js +1 -0
  51. package/lib/cjs/ReportsConfigWidget.js +1 -1
  52. package/lib/cjs/ReportsConfigWidget.js.map +1 -1
  53. package/lib/cjs/reports-config-widget-react.d.ts +5 -0
  54. package/lib/cjs/reports-config-widget-react.d.ts.map +1 -1
  55. package/lib/cjs/reports-config-widget-react.js +11 -0
  56. package/lib/cjs/reports-config-widget-react.js.map +1 -1
  57. package/lib/cjs/test/AddMappingModal.test.js +20 -34
  58. package/lib/cjs/test/AddMappingModal.test.js.map +1 -1
  59. package/lib/cjs/test/BulkExtractor.test.js +13 -19
  60. package/lib/cjs/test/BulkExtractor.test.js.map +1 -1
  61. package/lib/cjs/test/DeleteModal.test.d.ts.map +1 -1
  62. package/lib/cjs/test/DeleteModal.test.js +4 -62
  63. package/lib/cjs/test/DeleteModal.test.js.map +1 -1
  64. package/lib/cjs/test/ReportAction.test.js +14 -79
  65. package/lib/cjs/test/ReportAction.test.js.map +1 -1
  66. package/lib/cjs/test/ReportMappingHorizontalTile.test.js +20 -54
  67. package/lib/cjs/test/ReportMappingHorizontalTile.test.js.map +1 -1
  68. package/lib/cjs/test/ReportMappings.test.d.ts.map +1 -1
  69. package/lib/cjs/test/ReportMappings.test.js +51 -106
  70. package/lib/cjs/test/ReportMappings.test.js.map +1 -1
  71. package/lib/cjs/test/Reports.test.js +41 -96
  72. package/lib/cjs/test/Reports.test.js.map +1 -1
  73. package/lib/cjs/test/WidgetHeader.test.js +9 -3
  74. package/lib/cjs/test/WidgetHeader.test.js.map +1 -1
  75. package/lib/cjs/test/test-utils.d.ts +3 -8
  76. package/lib/cjs/test/test-utils.d.ts.map +1 -1
  77. package/lib/cjs/test/test-utils.js +6 -34
  78. package/lib/cjs/test/test-utils.js.map +1 -1
  79. package/lib/cjs/tsconfig.tsbuildinfo +1 -1
  80. package/lib/cjs/widget/ReportsConfigUiProvider.d.ts +3 -3
  81. package/lib/cjs/widget/ReportsConfigUiProvider.d.ts.map +1 -1
  82. package/lib/cjs/widget/ReportsConfigUiProvider.js +5 -7
  83. package/lib/cjs/widget/ReportsConfigUiProvider.js.map +1 -1
  84. package/lib/cjs/widget/components/ActionPanel.d.ts +3 -3
  85. package/lib/cjs/widget/components/ActionPanel.d.ts.map +1 -1
  86. package/lib/cjs/widget/components/ActionPanel.js +4 -4
  87. package/lib/cjs/widget/components/ActionPanel.js.map +1 -1
  88. package/lib/cjs/widget/components/ActionPanel.scss +2 -3
  89. package/lib/cjs/widget/components/AddMappingsModal.d.ts +4 -4
  90. package/lib/cjs/widget/components/AddMappingsModal.d.ts.map +1 -1
  91. package/lib/cjs/widget/components/AddMappingsModal.js +39 -43
  92. package/lib/cjs/widget/components/AddMappingsModal.js.map +1 -1
  93. package/lib/cjs/widget/components/AddMappingsModal.scss +1 -2
  94. package/lib/cjs/widget/components/BulkExtractor.d.ts +4 -4
  95. package/lib/cjs/widget/components/BulkExtractor.d.ts.map +1 -1
  96. package/lib/cjs/widget/components/BulkExtractor.js +8 -8
  97. package/lib/cjs/widget/components/BulkExtractor.js.map +1 -1
  98. package/lib/cjs/widget/components/DeleteModal.d.ts +4 -5
  99. package/lib/cjs/widget/components/DeleteModal.d.ts.map +1 -1
  100. package/lib/cjs/widget/components/DeleteModal.js +11 -15
  101. package/lib/cjs/widget/components/DeleteModal.js.map +1 -1
  102. package/lib/cjs/widget/components/DeleteModal.scss +2 -3
  103. package/lib/cjs/widget/components/ExtractionStatus.js +2 -2
  104. package/lib/cjs/widget/components/ExtractionStatus.js.map +1 -1
  105. package/lib/cjs/widget/components/ExtractionStatus.scss +6 -7
  106. package/lib/cjs/widget/components/HorizontalTile.js +2 -2
  107. package/lib/cjs/widget/components/HorizontalTile.js.map +1 -1
  108. package/lib/cjs/widget/components/HorizontalTile.scss +11 -14
  109. package/lib/cjs/widget/components/LocalizedTablePaginator.js +2 -2
  110. package/lib/cjs/widget/components/LocalizedTablePaginator.js.map +1 -1
  111. package/lib/cjs/widget/components/ReportAction.d.ts +4 -5
  112. package/lib/cjs/widget/components/ReportAction.d.ts.map +1 -1
  113. package/lib/cjs/widget/components/ReportAction.js +24 -26
  114. package/lib/cjs/widget/components/ReportAction.js.map +1 -1
  115. package/lib/cjs/widget/components/ReportAction.scss +1 -2
  116. package/lib/cjs/widget/components/ReportHorizontalTile.d.ts +4 -4
  117. package/lib/cjs/widget/components/ReportHorizontalTile.d.ts.map +1 -1
  118. package/lib/cjs/widget/components/ReportHorizontalTile.js +33 -20
  119. package/lib/cjs/widget/components/ReportHorizontalTile.js.map +1 -1
  120. package/lib/cjs/widget/components/ReportMappingHorizontalTile.d.ts +1 -1
  121. package/lib/cjs/widget/components/ReportMappingHorizontalTile.d.ts.map +1 -1
  122. package/lib/cjs/widget/components/ReportMappingHorizontalTile.js +36 -21
  123. package/lib/cjs/widget/components/ReportMappingHorizontalTile.js.map +1 -1
  124. package/lib/cjs/widget/components/ReportMappings.d.ts +4 -6
  125. package/lib/cjs/widget/components/ReportMappings.d.ts.map +1 -1
  126. package/lib/cjs/widget/components/ReportMappings.js +50 -63
  127. package/lib/cjs/widget/components/ReportMappings.js.map +1 -1
  128. package/lib/cjs/widget/components/ReportMappings.scss +10 -11
  129. package/lib/cjs/widget/components/Reports.d.ts +6 -1
  130. package/lib/cjs/widget/components/Reports.d.ts.map +1 -1
  131. package/lib/cjs/widget/components/Reports.js +53 -94
  132. package/lib/cjs/widget/components/Reports.js.map +1 -1
  133. package/lib/cjs/widget/components/Reports.scss +15 -15
  134. package/lib/cjs/widget/components/ReportsConfigContext.d.ts +18 -0
  135. package/lib/cjs/widget/components/ReportsConfigContext.d.ts.map +1 -0
  136. package/lib/cjs/widget/components/ReportsConfigContext.js +79 -0
  137. package/lib/cjs/widget/components/ReportsConfigContext.js.map +1 -0
  138. package/lib/cjs/widget/components/ReportsContainer.d.ts +14 -0
  139. package/lib/cjs/widget/components/ReportsContainer.d.ts.map +1 -1
  140. package/lib/cjs/widget/components/ReportsContainer.js +27 -16
  141. package/lib/cjs/widget/components/ReportsContainer.js.map +1 -1
  142. package/lib/cjs/widget/components/ReportsContainer.scss +1 -3
  143. package/lib/cjs/widget/components/ReportsHeader.d.ts +7 -0
  144. package/lib/cjs/widget/components/ReportsHeader.d.ts.map +1 -0
  145. package/lib/cjs/widget/components/ReportsHeader.js +20 -0
  146. package/lib/cjs/widget/components/ReportsHeader.js.map +1 -0
  147. package/lib/cjs/widget/components/ReportsRouter.d.ts +8 -0
  148. package/lib/cjs/widget/components/ReportsRouter.d.ts.map +1 -0
  149. package/lib/cjs/widget/components/ReportsRouter.js +51 -0
  150. package/lib/cjs/widget/components/ReportsRouter.js.map +1 -0
  151. package/lib/cjs/widget/components/SearchBar.d.ts.map +1 -1
  152. package/lib/cjs/widget/components/SearchBar.js +4 -5
  153. package/lib/cjs/widget/components/SearchBar.js.map +1 -1
  154. package/lib/cjs/widget/components/SearchBar.scss +1 -2
  155. package/lib/cjs/widget/components/SelectIModel.d.ts +3 -3
  156. package/lib/cjs/widget/components/SelectIModel.d.ts.map +1 -1
  157. package/lib/cjs/widget/components/SelectIModel.js +10 -30
  158. package/lib/cjs/widget/components/SelectIModel.js.map +1 -1
  159. package/lib/cjs/widget/components/SelectIModel.scss +2 -3
  160. package/lib/cjs/widget/components/utils.d.ts +1 -1
  161. package/lib/cjs/widget/components/utils.d.ts.map +1 -1
  162. package/lib/cjs/widget/components/utils.js +1 -1
  163. package/lib/cjs/widget/components/utils.js.map +1 -1
  164. package/lib/cjs/widget/components/utils.scss +16 -8
  165. package/lib/cjs/widget/context/BulkExtractorContext.d.ts +10 -0
  166. package/lib/cjs/widget/context/BulkExtractorContext.d.ts.map +1 -0
  167. package/lib/cjs/widget/context/{ReportsApiConfigContext.js → BulkExtractorContext.js} +7 -10
  168. package/lib/cjs/widget/context/BulkExtractorContext.js.map +1 -0
  169. package/lib/cjs/widget/context/ReportsConfigApiContext.d.ts +16 -0
  170. package/lib/cjs/widget/context/ReportsConfigApiContext.d.ts.map +1 -0
  171. package/lib/cjs/widget/context/ReportsConfigApiContext.js +43 -0
  172. package/lib/cjs/widget/context/ReportsConfigApiContext.js.map +1 -0
  173. package/lib/cjs/widget/hooks/useValidator.js +1 -1
  174. package/lib/cjs/widget/hooks/useValidator.js.map +1 -1
  175. package/lib/esm/ReportsConfigWidget.js +1 -1
  176. package/lib/esm/ReportsConfigWidget.js.map +1 -1
  177. package/lib/esm/reports-config-widget-react.d.ts +5 -0
  178. package/lib/esm/reports-config-widget-react.d.ts.map +1 -1
  179. package/lib/esm/reports-config-widget-react.js +5 -0
  180. package/lib/esm/reports-config-widget-react.js.map +1 -1
  181. package/lib/esm/test/AddMappingModal.test.js +17 -31
  182. package/lib/esm/test/AddMappingModal.test.js.map +1 -1
  183. package/lib/esm/test/BulkExtractor.test.js +14 -17
  184. package/lib/esm/test/BulkExtractor.test.js.map +1 -1
  185. package/lib/esm/test/DeleteModal.test.d.ts.map +1 -1
  186. package/lib/esm/test/DeleteModal.test.js +5 -44
  187. package/lib/esm/test/DeleteModal.test.js.map +1 -1
  188. package/lib/esm/test/ReportAction.test.js +14 -60
  189. package/lib/esm/test/ReportAction.test.js.map +1 -1
  190. package/lib/esm/test/ReportMappingHorizontalTile.test.js +4 -38
  191. package/lib/esm/test/ReportMappingHorizontalTile.test.js.map +1 -1
  192. package/lib/esm/test/ReportMappings.test.d.ts.map +1 -1
  193. package/lib/esm/test/ReportMappings.test.js +43 -98
  194. package/lib/esm/test/ReportMappings.test.js.map +1 -1
  195. package/lib/esm/test/Reports.test.js +24 -60
  196. package/lib/esm/test/Reports.test.js.map +1 -1
  197. package/lib/esm/test/WidgetHeader.test.js +8 -2
  198. package/lib/esm/test/WidgetHeader.test.js.map +1 -1
  199. package/lib/esm/test/test-utils.d.ts +3 -8
  200. package/lib/esm/test/test-utils.d.ts.map +1 -1
  201. package/lib/esm/test/test-utils.js +4 -31
  202. package/lib/esm/test/test-utils.js.map +1 -1
  203. package/lib/esm/tsconfig.tsbuildinfo +1 -1
  204. package/lib/esm/widget/ReportsConfigUiProvider.d.ts +3 -3
  205. package/lib/esm/widget/ReportsConfigUiProvider.d.ts.map +1 -1
  206. package/lib/esm/widget/ReportsConfigUiProvider.js +2 -4
  207. package/lib/esm/widget/ReportsConfigUiProvider.js.map +1 -1
  208. package/lib/esm/widget/components/ActionPanel.d.ts +3 -3
  209. package/lib/esm/widget/components/ActionPanel.d.ts.map +1 -1
  210. package/lib/esm/widget/components/ActionPanel.js +4 -4
  211. package/lib/esm/widget/components/ActionPanel.js.map +1 -1
  212. package/lib/esm/widget/components/ActionPanel.scss +2 -3
  213. package/lib/esm/widget/components/AddMappingsModal.d.ts +4 -4
  214. package/lib/esm/widget/components/AddMappingsModal.d.ts.map +1 -1
  215. package/lib/esm/widget/components/AddMappingsModal.js +35 -39
  216. package/lib/esm/widget/components/AddMappingsModal.js.map +1 -1
  217. package/lib/esm/widget/components/AddMappingsModal.scss +1 -2
  218. package/lib/esm/widget/components/BulkExtractor.d.ts +4 -4
  219. package/lib/esm/widget/components/BulkExtractor.d.ts.map +1 -1
  220. package/lib/esm/widget/components/BulkExtractor.js +7 -8
  221. package/lib/esm/widget/components/BulkExtractor.js.map +1 -1
  222. package/lib/esm/widget/components/DeleteModal.d.ts +4 -5
  223. package/lib/esm/widget/components/DeleteModal.d.ts.map +1 -1
  224. package/lib/esm/widget/components/DeleteModal.js +11 -15
  225. package/lib/esm/widget/components/DeleteModal.js.map +1 -1
  226. package/lib/esm/widget/components/DeleteModal.scss +2 -3
  227. package/lib/esm/widget/components/ExtractionStatus.scss +6 -7
  228. package/lib/esm/widget/components/HorizontalTile.scss +11 -14
  229. package/lib/esm/widget/components/ReportAction.d.ts +4 -5
  230. package/lib/esm/widget/components/ReportAction.d.ts.map +1 -1
  231. package/lib/esm/widget/components/ReportAction.js +17 -21
  232. package/lib/esm/widget/components/ReportAction.js.map +1 -1
  233. package/lib/esm/widget/components/ReportAction.scss +1 -2
  234. package/lib/esm/widget/components/ReportHorizontalTile.d.ts +4 -4
  235. package/lib/esm/widget/components/ReportHorizontalTile.d.ts.map +1 -1
  236. package/lib/esm/widget/components/ReportHorizontalTile.js +6 -9
  237. package/lib/esm/widget/components/ReportHorizontalTile.js.map +1 -1
  238. package/lib/esm/widget/components/ReportMappingHorizontalTile.d.ts +1 -1
  239. package/lib/esm/widget/components/ReportMappingHorizontalTile.d.ts.map +1 -1
  240. package/lib/esm/widget/components/ReportMappingHorizontalTile.js +12 -13
  241. package/lib/esm/widget/components/ReportMappingHorizontalTile.js.map +1 -1
  242. package/lib/esm/widget/components/ReportMappings.d.ts +4 -6
  243. package/lib/esm/widget/components/ReportMappings.d.ts.map +1 -1
  244. package/lib/esm/widget/components/ReportMappings.js +43 -56
  245. package/lib/esm/widget/components/ReportMappings.js.map +1 -1
  246. package/lib/esm/widget/components/ReportMappings.scss +10 -11
  247. package/lib/esm/widget/components/Reports.d.ts +6 -1
  248. package/lib/esm/widget/components/Reports.d.ts.map +1 -1
  249. package/lib/esm/widget/components/Reports.js +46 -87
  250. package/lib/esm/widget/components/Reports.js.map +1 -1
  251. package/lib/esm/widget/components/Reports.scss +15 -15
  252. package/lib/esm/widget/components/ReportsConfigContext.d.ts +18 -0
  253. package/lib/esm/widget/components/ReportsConfigContext.d.ts.map +1 -0
  254. package/lib/esm/widget/components/ReportsConfigContext.js +56 -0
  255. package/lib/esm/widget/components/ReportsConfigContext.js.map +1 -0
  256. package/lib/esm/widget/components/ReportsContainer.d.ts +14 -0
  257. package/lib/esm/widget/components/ReportsContainer.d.ts.map +1 -1
  258. package/lib/esm/widget/components/ReportsContainer.js +27 -17
  259. package/lib/esm/widget/components/ReportsContainer.js.map +1 -1
  260. package/lib/esm/widget/components/ReportsContainer.scss +1 -3
  261. package/lib/esm/widget/components/ReportsHeader.d.ts +7 -0
  262. package/lib/esm/widget/components/ReportsHeader.d.ts.map +1 -0
  263. package/lib/esm/widget/components/ReportsHeader.js +13 -0
  264. package/lib/esm/widget/components/ReportsHeader.js.map +1 -0
  265. package/lib/esm/widget/components/ReportsRouter.d.ts +8 -0
  266. package/lib/esm/widget/components/ReportsRouter.d.ts.map +1 -0
  267. package/lib/esm/widget/components/ReportsRouter.js +44 -0
  268. package/lib/esm/widget/components/ReportsRouter.js.map +1 -0
  269. package/lib/esm/widget/components/SearchBar.d.ts.map +1 -1
  270. package/lib/esm/widget/components/SearchBar.js +2 -3
  271. package/lib/esm/widget/components/SearchBar.js.map +1 -1
  272. package/lib/esm/widget/components/SearchBar.scss +1 -2
  273. package/lib/esm/widget/components/SelectIModel.d.ts +3 -3
  274. package/lib/esm/widget/components/SelectIModel.d.ts.map +1 -1
  275. package/lib/esm/widget/components/SelectIModel.js +7 -27
  276. package/lib/esm/widget/components/SelectIModel.js.map +1 -1
  277. package/lib/esm/widget/components/SelectIModel.scss +2 -3
  278. package/lib/esm/widget/components/utils.d.ts +1 -1
  279. package/lib/esm/widget/components/utils.d.ts.map +1 -1
  280. package/lib/esm/widget/components/utils.js +2 -2
  281. package/lib/esm/widget/components/utils.js.map +1 -1
  282. package/lib/esm/widget/components/utils.scss +16 -8
  283. package/lib/esm/widget/context/BulkExtractorContext.d.ts +10 -0
  284. package/lib/esm/widget/context/BulkExtractorContext.d.ts.map +1 -0
  285. package/lib/esm/widget/context/BulkExtractorContext.js +11 -0
  286. package/lib/esm/widget/context/BulkExtractorContext.js.map +1 -0
  287. package/lib/esm/widget/context/ReportsConfigApiContext.d.ts +16 -0
  288. package/lib/esm/widget/context/ReportsConfigApiContext.d.ts.map +1 -0
  289. package/lib/esm/widget/context/ReportsConfigApiContext.js +20 -0
  290. package/lib/esm/widget/context/ReportsConfigApiContext.js.map +1 -0
  291. package/lib/public/locales/en/ReportsConfigWidget.json +6 -1
  292. package/package.json +29 -29
  293. package/public/locales/en/ReportsConfigWidget.json +6 -1
  294. package/reports-config-widget-react.build.error.log +6 -6
  295. package/reports-config-widget-react.build.log +52 -49
  296. package/src/reports-config-widget-react.ts +6 -0
  297. package/src/test/AddMappingModal.test.tsx +20 -37
  298. package/src/test/BulkExtractor.test.ts +15 -17
  299. package/src/test/DeleteModal.test.tsx +4 -73
  300. package/src/test/ReportAction.test.tsx +17 -90
  301. package/src/test/ReportMappingHorizontalTile.test.tsx +3 -54
  302. package/src/test/ReportMappings.test.tsx +50 -135
  303. package/src/test/Reports.test.tsx +21 -80
  304. package/src/test/WidgetHeader.test.tsx +9 -2
  305. package/src/test/test-utils.tsx +9 -49
  306. package/src/widget/ReportsConfigUiProvider.tsx +7 -14
  307. package/src/widget/components/ActionPanel.scss +2 -3
  308. package/src/widget/components/ActionPanel.tsx +17 -15
  309. package/src/widget/components/AddMappingsModal.scss +1 -2
  310. package/src/widget/components/AddMappingsModal.tsx +55 -60
  311. package/src/widget/components/BulkExtractor.ts +11 -10
  312. package/src/widget/components/DeleteModal.scss +2 -3
  313. package/src/widget/components/DeleteModal.tsx +17 -23
  314. package/src/widget/components/ExtractionStatus.scss +6 -7
  315. package/src/widget/components/HorizontalTile.scss +11 -14
  316. package/src/widget/components/ReportAction.scss +1 -2
  317. package/src/widget/components/ReportAction.tsx +18 -33
  318. package/src/widget/components/ReportHorizontalTile.tsx +11 -12
  319. package/src/widget/components/ReportMappingHorizontalTile.tsx +30 -30
  320. package/src/widget/components/ReportMappings.scss +10 -11
  321. package/src/widget/components/ReportMappings.tsx +67 -72
  322. package/src/widget/components/Reports.scss +15 -15
  323. package/src/widget/components/Reports.tsx +140 -181
  324. package/src/widget/components/ReportsConfigContext.tsx +95 -0
  325. package/src/widget/components/ReportsContainer.scss +1 -3
  326. package/src/widget/components/ReportsContainer.tsx +47 -21
  327. package/src/widget/components/ReportsHeader.tsx +27 -0
  328. package/src/widget/components/ReportsRouter.tsx +63 -0
  329. package/src/widget/components/SearchBar.scss +1 -2
  330. package/src/widget/components/SearchBar.tsx +7 -2
  331. package/src/widget/components/SelectIModel.scss +2 -3
  332. package/src/widget/components/SelectIModel.tsx +11 -29
  333. package/src/widget/components/utils.scss +16 -8
  334. package/src/widget/components/utils.tsx +8 -7
  335. package/src/widget/context/{ReportsApiConfigContext.tsx → BulkExtractorContext.tsx} +9 -10
  336. package/src/widget/context/ReportsConfigApiContext.tsx +39 -0
  337. package/lib/cjs/widget/context/ReportsApiConfigContext.d.ts +0 -9
  338. package/lib/cjs/widget/context/ReportsApiConfigContext.d.ts.map +0 -1
  339. package/lib/cjs/widget/context/ReportsApiConfigContext.js.map +0 -1
  340. package/lib/esm/widget/context/ReportsApiConfigContext.d.ts +0 -9
  341. package/lib/esm/widget/context/ReportsApiConfigContext.d.ts.map +0 -1
  342. package/lib/esm/widget/context/ReportsApiConfigContext.js +0 -14
  343. package/lib/esm/widget/context/ReportsApiConfigContext.js.map +0 -1
@@ -23,16 +23,16 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">92.13% </span>
26
+ <span class="strong">91.76% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>82/89</span>
28
+ <span class='fraction'>78/85</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">56.75% </span>
33
+ <span class="strong">61.9% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>21/37</span>
35
+ <span class='fraction'>13/21</span>
36
36
  </div>
37
37
 
38
38
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">91.86% </span>
47
+ <span class="strong">93.58% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>79/86</span>
49
+ <span class='fraction'>73/78</span>
50
50
  </div>
51
51
 
52
52
 
@@ -389,56 +389,48 @@
389
389
  <a name='L324'></a><a href='#L324'>324</a>
390
390
  <a name='L325'></a><a href='#L325'>325</a>
391
391
  <a name='L326'></a><a href='#L326'>326</a>
392
- <a name='L327'></a><a href='#L327'>327</a>
393
- <a name='L328'></a><a href='#L328'>328</a>
394
- <a name='L329'></a><a href='#L329'>329</a>
395
- <a name='L330'></a><a href='#L330'>330</a>
396
- <a name='L331'></a><a href='#L331'>331</a>
397
- <a name='L332'></a><a href='#L332'>332</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
392
+ <a name='L327'></a><a href='#L327'>327</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
398
393
  <span class="cline-any cline-neutral">&nbsp;</span>
399
394
  <span class="cline-any cline-neutral">&nbsp;</span>
400
395
  <span class="cline-any cline-neutral">&nbsp;</span>
401
- <span class="cline-any cline-yes">5x</span>
396
+ <span class="cline-any cline-yes">7x</span>
402
397
  <span class="cline-any cline-neutral">&nbsp;</span>
403
398
  <span class="cline-any cline-neutral">&nbsp;</span>
404
399
  <span class="cline-any cline-neutral">&nbsp;</span>
405
- <span class="cline-any cline-yes">5x</span>
406
400
  <span class="cline-any cline-neutral">&nbsp;</span>
401
+ <span class="cline-any cline-yes">7x</span>
407
402
  <span class="cline-any cline-neutral">&nbsp;</span>
408
403
  <span class="cline-any cline-neutral">&nbsp;</span>
409
404
  <span class="cline-any cline-neutral">&nbsp;</span>
410
405
  <span class="cline-any cline-neutral">&nbsp;</span>
411
406
  <span class="cline-any cline-neutral">&nbsp;</span>
412
407
  <span class="cline-any cline-neutral">&nbsp;</span>
413
- <span class="cline-any cline-yes">5x</span>
414
- <span class="cline-any cline-neutral">&nbsp;</span>
415
- <span class="cline-any cline-yes">5x</span>
408
+ <span class="cline-any cline-yes">7x</span>
416
409
  <span class="cline-any cline-neutral">&nbsp;</span>
410
+ <span class="cline-any cline-yes">7x</span>
417
411
  <span class="cline-any cline-neutral">&nbsp;</span>
418
412
  <span class="cline-any cline-neutral">&nbsp;</span>
419
413
  <span class="cline-any cline-neutral">&nbsp;</span>
420
414
  <span class="cline-any cline-neutral">&nbsp;</span>
421
415
  <span class="cline-any cline-neutral">&nbsp;</span>
422
- <span class="cline-any cline-yes">5x</span>
423
- <span class="cline-any cline-yes">5x</span>
424
- <span class="cline-any cline-neutral">&nbsp;</span>
425
- <span class="cline-any cline-yes">5x</span>
426
- <span class="cline-any cline-yes">5x</span>
427
416
  <span class="cline-any cline-neutral">&nbsp;</span>
417
+ <span class="cline-any cline-yes">7x</span>
418
+ <span class="cline-any cline-yes">7x</span>
428
419
  <span class="cline-any cline-neutral">&nbsp;</span>
420
+ <span class="cline-any cline-yes">7x</span>
421
+ <span class="cline-any cline-yes">7x</span>
429
422
  <span class="cline-any cline-neutral">&nbsp;</span>
430
423
  <span class="cline-any cline-neutral">&nbsp;</span>
431
- <span class="cline-any cline-yes">5x</span>
432
- <span class="cline-any cline-yes">5x</span>
433
- <span class="cline-any cline-yes">5x</span>
434
424
  <span class="cline-any cline-neutral">&nbsp;</span>
435
- <span class="cline-any cline-yes">5x</span>
436
- <span class="cline-any cline-yes">5x</span>
437
- <span class="cline-any cline-yes">5x</span>
438
425
  <span class="cline-any cline-neutral">&nbsp;</span>
439
- <span class="cline-any cline-yes">5x</span>
440
- <span class="cline-any cline-yes">5x</span>
426
+ <span class="cline-any cline-yes">7x</span>
427
+ <span class="cline-any cline-yes">7x</span>
428
+ <span class="cline-any cline-yes">7x</span>
429
+ <span class="cline-any cline-yes">7x</span>
430
+ <span class="cline-any cline-yes">7x</span>
441
431
  <span class="cline-any cline-neutral">&nbsp;</span>
432
+ <span class="cline-any cline-yes">7x</span>
433
+ <span class="cline-any cline-yes">7x</span>
442
434
  <span class="cline-any cline-neutral">&nbsp;</span>
443
435
  <span class="cline-any cline-neutral">&nbsp;</span>
444
436
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -447,35 +439,23 @@
447
439
  <span class="cline-any cline-neutral">&nbsp;</span>
448
440
  <span class="cline-any cline-neutral">&nbsp;</span>
449
441
  <span class="cline-any cline-neutral">&nbsp;</span>
450
- <span class="cline-any cline-yes">5x</span>
451
- <span class="cline-any cline-yes">5x</span>
452
- <span class="cline-any cline-yes">5x</span>
453
442
  <span class="cline-any cline-neutral">&nbsp;</span>
443
+ <span class="cline-any cline-yes">7x</span>
454
444
  <span class="cline-any cline-neutral">&nbsp;</span>
455
- <span class="cline-any cline-yes">5x</span>
456
445
  <span class="cline-any cline-neutral">&nbsp;</span>
457
446
  <span class="cline-any cline-neutral">&nbsp;</span>
458
447
  <span class="cline-any cline-neutral">&nbsp;</span>
459
448
  <span class="cline-any cline-neutral">&nbsp;</span>
460
449
  <span class="cline-any cline-neutral">&nbsp;</span>
461
- <span class="cline-any cline-yes">6x</span>
462
- <span class="cline-any cline-yes">6x</span>
463
- <span class="cline-any cline-yes">6x</span>
464
450
  <span class="cline-any cline-neutral">&nbsp;</span>
465
451
  <span class="cline-any cline-neutral">&nbsp;</span>
466
452
  <span class="cline-any cline-yes">6x</span>
467
- <span class="cline-any cline-neutral">&nbsp;</span>
468
- <span class="cline-any cline-neutral">&nbsp;</span>
469
453
  <span class="cline-any cline-yes">6x</span>
470
454
  <span class="cline-any cline-yes">6x</span>
471
- <span class="cline-any cline-neutral">&nbsp;</span>
472
- <span class="cline-any cline-neutral">&nbsp;</span>
473
- <span class="cline-any cline-neutral">&nbsp;</span>
474
455
  <span class="cline-any cline-yes">6x</span>
475
456
  <span class="cline-any cline-neutral">&nbsp;</span>
476
457
  <span class="cline-any cline-neutral">&nbsp;</span>
477
458
  <span class="cline-any cline-neutral">&nbsp;</span>
478
- <span class="cline-any cline-yes">6x</span>
479
459
  <span class="cline-any cline-neutral">&nbsp;</span>
480
460
  <span class="cline-any cline-yes">6x</span>
481
461
  <span class="cline-any cline-yes">6x</span>
@@ -523,24 +503,25 @@
523
503
  <span class="cline-any cline-neutral">&nbsp;</span>
524
504
  <span class="cline-any cline-neutral">&nbsp;</span>
525
505
  <span class="cline-any cline-neutral">&nbsp;</span>
506
+ <span class="cline-any cline-yes">7x</span>
507
+ <span class="cline-any cline-yes">87x</span>
508
+ <span class="cline-any cline-yes">87x</span>
509
+ <span class="cline-any cline-yes">87x</span>
510
+ <span class="cline-any cline-yes">87x</span>
511
+ <span class="cline-any cline-yes">87x</span>
512
+ <span class="cline-any cline-yes">87x</span>
513
+ <span class="cline-any cline-yes">87x</span>
514
+ <span class="cline-any cline-yes">87x</span>
515
+ <span class="cline-any cline-yes">87x</span>
526
516
  <span class="cline-any cline-yes">5x</span>
527
- <span class="cline-any cline-yes">77x</span>
528
517
  <span class="cline-any cline-neutral">&nbsp;</span>
529
- <span class="cline-any cline-yes">77x</span>
530
- <span class="cline-any cline-yes">77x</span>
531
- <span class="cline-any cline-yes">77x</span>
532
- <span class="cline-any cline-yes">77x</span>
533
- <span class="cline-any cline-yes">77x</span>
534
- <span class="cline-any cline-yes">77x</span>
535
- <span class="cline-any cline-yes">77x</span>
536
518
  <span class="cline-any cline-neutral">&nbsp;</span>
537
- <span class="cline-any cline-yes">77x</span>
519
+ <span class="cline-any cline-neutral">&nbsp;</span>
520
+ <span class="cline-any cline-yes">87x</span>
538
521
  <span class="cline-any cline-yes">5x</span>
539
522
  <span class="cline-any cline-neutral">&nbsp;</span>
540
523
  <span class="cline-any cline-neutral">&nbsp;</span>
541
524
  <span class="cline-any cline-neutral">&nbsp;</span>
542
- <span class="cline-any cline-yes">77x</span>
543
- <span class="cline-any cline-yes">5x</span>
544
525
  <span class="cline-any cline-neutral">&nbsp;</span>
545
526
  <span class="cline-any cline-neutral">&nbsp;</span>
546
527
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -548,12 +529,12 @@
548
529
  <span class="cline-any cline-neutral">&nbsp;</span>
549
530
  <span class="cline-any cline-neutral">&nbsp;</span>
550
531
  <span class="cline-any cline-neutral">&nbsp;</span>
551
- <span class="cline-any cline-yes">77x</span>
552
- <span class="cline-any cline-yes">9x</span>
532
+ <span class="cline-any cline-yes">87x</span>
533
+ <span class="cline-any cline-yes">13x</span>
534
+ <span class="cline-any cline-yes">13x</span>
553
535
  <span class="cline-any cline-neutral">&nbsp;</span>
554
536
  <span class="cline-any cline-neutral">&nbsp;</span>
555
- <span class="cline-any cline-yes">77x</span>
556
- <span class="cline-any cline-yes">1x</span>
537
+ <span class="cline-any cline-yes">87x</span>
557
538
  <span class="cline-any cline-yes">1x</span>
558
539
  <span class="cline-any cline-neutral">&nbsp;</span>
559
540
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -562,16 +543,19 @@
562
543
  <span class="cline-any cline-neutral">&nbsp;</span>
563
544
  <span class="cline-any cline-neutral">&nbsp;</span>
564
545
  <span class="cline-any cline-neutral">&nbsp;</span>
565
- <span class="cline-any cline-yes">77x</span>
566
- <span class="cline-any cline-yes">1x</span>
567
546
  <span class="cline-any cline-neutral">&nbsp;</span>
568
547
  <span class="cline-any cline-neutral">&nbsp;</span>
569
- <span class="cline-any cline-yes">77x</span>
548
+ <span class="cline-any cline-neutral">&nbsp;</span>
549
+ <span class="cline-any cline-yes">87x</span>
570
550
  <span class="cline-any cline-neutral">&nbsp;</span>
571
551
  <span class="cline-any cline-neutral">&nbsp;</span>
572
552
  <span class="cline-any cline-neutral">&nbsp;</span>
573
553
  <span class="cline-any cline-neutral">&nbsp;</span>
574
- <span class="cline-any cline-yes">77x</span>
554
+ <span class="cline-any cline-yes">87x</span>
555
+ <span class="cline-any cline-yes">1x</span>
556
+ <span class="cline-any cline-neutral">&nbsp;</span>
557
+ <span class="cline-any cline-neutral">&nbsp;</span>
558
+ <span class="cline-any cline-yes">87x</span>
575
559
  <span class="cline-any cline-neutral">&nbsp;</span>
576
560
  <span class="cline-any cline-yes">68x</span>
577
561
  <span class="cline-any cline-yes">126x</span>
@@ -582,9 +566,11 @@
582
566
  <span class="cline-any cline-neutral">&nbsp;</span>
583
567
  <span class="cline-any cline-neutral">&nbsp;</span>
584
568
  <span class="cline-any cline-neutral">&nbsp;</span>
585
- <span class="cline-any cline-yes">77x</span>
569
+ <span class="cline-any cline-yes">87x</span>
586
570
  <span class="cline-any cline-neutral">&nbsp;</span>
571
+ <span class="cline-any cline-yes">87x</span>
587
572
  <span class="cline-any cline-neutral">&nbsp;</span>
573
+ <span class="cline-any cline-yes">87x</span>
588
574
  <span class="cline-any cline-neutral">&nbsp;</span>
589
575
  <span class="cline-any cline-neutral">&nbsp;</span>
590
576
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -616,9 +602,10 @@
616
602
  <span class="cline-any cline-neutral">&nbsp;</span>
617
603
  <span class="cline-any cline-neutral">&nbsp;</span>
618
604
  <span class="cline-any cline-neutral">&nbsp;</span>
605
+ <span class="cline-any cline-yes">1x</span>
606
+ <span class="cline-any cline-neutral">&nbsp;</span>
619
607
  <span class="cline-any cline-neutral">&nbsp;</span>
620
608
  <span class="cline-any cline-neutral">&nbsp;</span>
621
- <span class="cline-any cline-yes">1x</span>
622
609
  <span class="cline-any cline-neutral">&nbsp;</span>
623
610
  <span class="cline-any cline-neutral">&nbsp;</span>
624
611
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -644,7 +631,6 @@
644
631
  <span class="cline-any cline-neutral">&nbsp;</span>
645
632
  <span class="cline-any cline-neutral">&nbsp;</span>
646
633
  <span class="cline-any cline-neutral">&nbsp;</span>
647
- <span class="cline-any cline-no">&nbsp;</span>
648
634
  <span class="cline-any cline-neutral">&nbsp;</span>
649
635
  <span class="cline-any cline-neutral">&nbsp;</span>
650
636
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -655,17 +641,21 @@
655
641
  <span class="cline-any cline-neutral">&nbsp;</span>
656
642
  <span class="cline-any cline-neutral">&nbsp;</span>
657
643
  <span class="cline-any cline-neutral">&nbsp;</span>
658
- <span class="cline-any cline-yes">129x</span>
659
644
  <span class="cline-any cline-neutral">&nbsp;</span>
660
645
  <span class="cline-any cline-neutral">&nbsp;</span>
661
646
  <span class="cline-any cline-neutral">&nbsp;</span>
662
647
  <span class="cline-any cline-neutral">&nbsp;</span>
663
- <span class="cline-any cline-no">&nbsp;</span>
664
- <span class="cline-any cline-no">&nbsp;</span>
665
648
  <span class="cline-any cline-neutral">&nbsp;</span>
666
649
  <span class="cline-any cline-neutral">&nbsp;</span>
667
650
  <span class="cline-any cline-neutral">&nbsp;</span>
668
651
  <span class="cline-any cline-neutral">&nbsp;</span>
652
+ <span class="cline-any cline-yes">131x</span>
653
+ <span class="cline-any cline-neutral">&nbsp;</span>
654
+ <span class="cline-any cline-neutral">&nbsp;</span>
655
+ <span class="cline-any cline-neutral">&nbsp;</span>
656
+ <span class="cline-any cline-neutral">&nbsp;</span>
657
+ <span class="cline-any cline-no">&nbsp;</span>
658
+ <span class="cline-any cline-neutral">&nbsp;</span>
669
659
  <span class="cline-any cline-neutral">&nbsp;</span>
670
660
  <span class="cline-any cline-neutral">&nbsp;</span>
671
661
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -681,7 +671,6 @@
681
671
  <span class="cline-any cline-neutral">&nbsp;</span>
682
672
  <span class="cline-any cline-neutral">&nbsp;</span>
683
673
  <span class="cline-any cline-neutral">&nbsp;</span>
684
- <span class="cline-any cline-no">&nbsp;</span>
685
674
  <span class="cline-any cline-neutral">&nbsp;</span>
686
675
  <span class="cline-any cline-neutral">&nbsp;</span>
687
676
  <span class="cline-any cline-no">&nbsp;</span>
@@ -692,6 +681,7 @@
692
681
  <span class="cline-any cline-neutral">&nbsp;</span>
693
682
  <span class="cline-any cline-neutral">&nbsp;</span>
694
683
  <span class="cline-any cline-neutral">&nbsp;</span>
684
+ <span class="cline-any cline-no">&nbsp;</span>
695
685
  <span class="cline-any cline-neutral">&nbsp;</span>
696
686
  <span class="cline-any cline-neutral">&nbsp;</span>
697
687
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -732,12 +722,12 @@
732
722
  import {
733
723
  SvgAdd,
734
724
  SvgCopy,
725
+ SvgRefresh,
735
726
  } from "@itwin/itwinui-icons-react";
736
727
  import {
737
728
  Button,
738
729
  IconButton,
739
730
  LabeledInput,
740
- Surface,
741
731
  Text,
742
732
  toaster,
743
733
  } from "@itwin/itwinui-react";
@@ -748,27 +738,25 @@ import {
748
738
  generateUrl,
749
739
  handleError,
750
740
  LoadingOverlay,
751
- WidgetHeader,
741
+ LoadingSpinner,
752
742
  } from "./utils";
753
743
  import "./ReportMappings.scss";
754
744
  import DeleteModal from "./DeleteModal";
755
- import type { Report, ReportMapping } from "@itwin/insights-client";
756
- import { MappingsClient, REPORTING_BASE_PATH, ReportsClient } from "@itwin/insights-client";
745
+ import type { MappingsClient, Report, ReportMapping, ReportsClient } from "@itwin/insights-client";
746
+ import { REPORTING_BASE_PATH } from "@itwin/insights-client";
757
747
  import { AddMappingsModal } from "./AddMappingsModal";
758
748
  import type {
759
749
  GetSingleIModelParams,
760
- IModelsClientOptions,
750
+ IModelsClient,
761
751
  } from "@itwin/imodels-client-management";
762
- import { Constants, IModelsClient } from "@itwin/imodels-client-management";
763
752
  import { AccessTokenAdapter } from "@itwin/imodels-access-frontend";
764
753
  import { SearchBar } from "./SearchBar";
765
- import type { ReportsApiConfig } from "../context/ReportsApiConfigContext";
766
- import { useReportsApiConfig } from "../context/ReportsApiConfigContext";
754
+ import { useReportsConfigApi } from "../context/ReportsConfigApiContext";
767
755
  import { ReportsConfigWidget } from "../../ReportsConfigWidget";
768
756
  import { ReportMappingHorizontalTile } from "./ReportMappingHorizontalTile";
769
- import type BulkExtractor from "./BulkExtractor";
757
+ import type { AccessToken } from "@itwin/core-bentley";
770
758
  import { BeEvent } from "@itwin/core-bentley";
771
- import { LoadingSpinner } from "./utils";
759
+ import { useBulkExtractor } from "../context/BulkExtractorContext";
772
760
  &nbsp;
773
761
  export type ReportMappingType = CreateTypeFromInterface&lt;ReportMapping&gt;;
774
762
  &nbsp;
@@ -778,35 +766,22 @@ export type ReportMappingAndMapping = ReportMappingType &amp; {
778
766
  iModelName: string;
779
767
  };
780
768
  &nbsp;
781
- enum ReportMappingsView {
782
- REPORTMAPPINGS = "reportmappings",
783
- ADDING = "adding",
784
- }
785
- &nbsp;
786
769
  const fetchReportMappings = async (
787
770
  setReportMappings: (mappings: ReportMappingAndMapping[]) =&gt; void,
788
771
  reportId: string,
789
- setIsLoading: React.Dispatch&lt;React.SetStateAction&lt;boolean&gt;&gt;,
790
- apiContext: ReportsApiConfig
772
+ setIsLoading: (isLoading: boolean) =&gt; void,
773
+ reportsClient: ReportsClient,
774
+ mappingsClient: MappingsClient,
775
+ iModelsClient: IModelsClient,
776
+ getAccessToken: () =&gt; Promise&lt;AccessToken&gt;
791
777
  ) =&gt; {
792
778
  try {
793
779
  setIsLoading(true);
794
- const reportsClientApi = new ReportsClient(
795
- generateUrl(REPORTING_BASE_PATH, apiContext.baseUrl)
796
- );
797
- const mappingsClientApi = new MappingsClient(
798
- generateUrl(REPORTING_BASE_PATH, apiContext.baseUrl)
799
- );
800
- const accessToken = await apiContext.getAccessToken();
801
- const reportMappings = await reportsClientApi.getReportMappings(
780
+ const accessToken = await getAccessToken();
781
+ const reportMappings = await reportsClient.getReportMappings(
802
782
  accessToken,
803
783
  reportId
804
784
  );
805
- const iModelClientOptions: IModelsClientOptions = {
806
- api: { baseUrl: generateUrl(Constants.api.baseUrl, apiContext.baseUrl) },
807
- };
808
- &nbsp;
809
- const iModelsClient: IModelsClient = new IModelsClient(iModelClientOptions);
810
785
  const authorization =
811
786
  AccessTokenAdapter.toAuthorizationCallback(accessToken);
812
787
  const iModelNames = new Map&lt;string, string&gt;();
@@ -815,7 +790,7 @@ const fetchReportMappings = async (
815
790
  for (const reportMapping of reportMappings) {
816
791
  const iModelId = reportMapping.imodelId;
817
792
  let iModelName = "";
818
- const mapping = await mappingsClientApi.getMapping(
793
+ const mapping = await mappingsClient.getMapping(
819
794
  accessToken,
820
795
  iModelId,
821
796
  reportMapping.mappingId
@@ -848,23 +823,21 @@ const fetchReportMappings = async (
848
823
  }
849
824
  };
850
825
  &nbsp;
851
- interface ReportMappingsProps {
826
+ export interface ReportMappingsProps {
852
827
  report: Report;
853
- bulkExtractor: BulkExtractor;
854
- goBack: () =&gt; Promise&lt;void&gt;;
828
+ onClickClose: () =&gt; void;
829
+ defaultIModelId?: string;
855
830
  }
856
831
  &nbsp;
857
- export const ReportMappings = ({ report, bulkExtractor, goBack }: ReportMappingsProps) =&gt; {
858
- const apiConfig = useReportsApiConfig();
859
- const [reportMappingsView, setReportMappingsView] =
860
- useState&lt;ReportMappingsView&gt;(ReportMappingsView.REPORTMAPPINGS);
861
- const [selectedReportMapping, setSelectedReportMapping] = useState&lt;ReportMappingAndMapping | undefined&gt;(undefined);
862
- const [showDeleteModal, setShowDeleteModal] = useState&lt;boolean&gt;(false);
832
+ export const ReportMappings = ({ report, onClickClose, defaultIModelId }: ReportMappingsProps) =&gt; {
833
+ const { getAccessToken, reportsClient, iModelsClient, mappingsClient, baseUrl } = useReportsConfigApi();
834
+ const [showDeleteModal, setShowDeleteModal] = useState&lt;ReportMappingAndMapping | undefined&gt;(undefined);
835
+ const [showAddMapping, setShowAddMapping] = useState&lt;boolean&gt;(false);
836
+ const { bulkExtractor } = useBulkExtractor();
863
837
  const [isLoading, setIsLoading] = useState&lt;boolean&gt;(true);
864
838
  const [searchValue, setSearchValue] = useState&lt;string&gt;("");
865
839
  const [reportMappings, setReportMappings] = useState&lt;ReportMappingAndMapping[]&gt;([]);
866
840
  const [jobRunning, setJobRunning] = useState&lt;boolean&gt;(false);
867
- &nbsp;
868
841
  const jobStartEvent = useMemo(
869
842
  () =&gt; new BeEvent&lt;(iModelId: string) =&gt; void&gt;(),
870
843
  []
@@ -875,32 +848,38 @@ export const ReportMappings = ({ report, bulkExtractor, goBack }: ReportMappings
875
848
  setReportMappings,
876
849
  report.id,
877
850
  setIsLoading,
878
- apiConfig
851
+ reportsClient,
852
+ mappingsClient,
853
+ iModelsClient,
854
+ getAccessToken
879
855
  );
880
- }, [apiConfig, report.id, setIsLoading]);
856
+ }, [getAccessToken, iModelsClient, mappingsClient, report.id, reportsClient, setIsLoading]);
881
857
  &nbsp;
882
858
  useEffect(() =&gt; {
859
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (!bulkExtractor) <span class="cstat-no" title="statement not covered" >return;</span>
883
860
  bulkExtractor.setHook(setJobRunning, reportMappings.map((x) =&gt; x.imodelId));
884
861
  }, [bulkExtractor, reportMappings]);
885
862
  &nbsp;
886
863
  const refresh = useCallback(async () =&gt; {
887
- setReportMappingsView(ReportMappingsView.REPORTMAPPINGS);
888
864
  await fetchReportMappings(
889
865
  setReportMappings,
890
866
  report.id,
891
867
  setIsLoading,
892
- apiConfig
868
+ reportsClient,
869
+ mappingsClient,
870
+ iModelsClient,
871
+ getAccessToken
893
872
  );
894
- }, [apiConfig, report.id, setReportMappings]);
895
- &nbsp;
896
- const addMapping = () =&gt; {
897
- setReportMappingsView(ReportMappingsView.ADDING);
898
- };
873
+ }, [getAccessToken, iModelsClient, mappingsClient, report.id, reportsClient]);
899
874
  &nbsp;
900
875
  const odataFeedUrl = `${generateUrl(
901
876
  REPORTING_BASE_PATH,
902
- apiConfig.baseUrl
877
+ baseUrl
903
878
  )}/odata/${report.id}`;
879
+ &nbsp;
880
+ const addMapping = useCallback(() =&gt; {
881
+ setShowAddMapping(true);
882
+ }, []);
904
883
  &nbsp;
905
884
  const filteredReportMappings = useMemo(
906
885
  () =&gt;
@@ -912,11 +891,14 @@ export const ReportMappings = ({ report, bulkExtractor, goBack }: ReportMappings
912
891
  ),
913
892
  [reportMappings, searchValue]
914
893
  );
894
+ &nbsp;
895
+ const onAddMappingsModalClose = useCallback(async () =&gt; { await refresh(); setShowAddMapping(false); }, [refresh]);
896
+ &nbsp;
897
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (!bulkExtractor) <span class="cstat-no" title="statement not covered" >return null;</span>
915
898
  &nbsp;
916
899
  return (
917
900
  &lt;&gt;
918
- &lt;WidgetHeader title={report.displayName} returnFn={goBack} /&gt;
919
- &lt;div className="rcw-report-mapping-misc"&gt;
901
+ &lt;div className="rcw-report-mappings-container"&gt;
920
902
  &lt;LabeledInput
921
903
  label={ReportsConfigWidget.localization.getLocalizedString(
922
904
  "ReportsConfigWidget:ODataFeedURL"
@@ -929,7 +911,6 @@ export const ReportMappings = ({ report, bulkExtractor, goBack }: ReportMappings
929
911
  title={ReportsConfigWidget.localization.getLocalizedString(
930
912
  "ReportsConfigWidget:Copy"
931
913
  )}
932
- styleType="borderless"
933
914
  onClick={async (_) =&gt; {
934
915
  await navigator.clipboard.writeText(odataFeedUrl);
935
916
  toaster.positive(
@@ -944,8 +925,6 @@ export const ReportMappings = ({ report, bulkExtractor, goBack }: ReportMappings
944
925
  }
945
926
  iconDisplayStyle="inline"
946
927
  /&gt;
947
- &lt;/div&gt;
948
- &lt;Surface className="rcw-report-mappings-container"&gt;
949
928
  &lt;div className="rcw-toolbar"&gt;
950
929
  &lt;Button
951
930
  startIcon={&lt;SvgAdd /&gt;}
@@ -957,6 +936,16 @@ export const ReportMappings = ({ report, bulkExtractor, goBack }: ReportMappings
957
936
  )}
958
937
  &lt;/Button&gt;
959
938
  &lt;div className="rcw-search-bar-container" data-testid="rcw-search-bar"&gt;
939
+ &lt;IconButton
940
+ title={ReportsConfigWidget.localization.getLocalizedString(
941
+ "ReportsConfigWidget:Refresh"
942
+ )}
943
+ onClick={refresh}
944
+ disabled={isLoading}
945
+ styleType='borderless'
946
+ &gt;
947
+ &lt;SvgRefresh /&gt;
948
+ &lt;/IconButton&gt;
960
949
  &lt;SearchBar
961
950
  searchValue={searchValue}
962
951
  setSearchValue={setSearchValue}
@@ -975,7 +964,7 @@ export const ReportMappings = ({ report, bulkExtractor, goBack }: ReportMappings
975
964
  )}
976
965
  &lt;/Text&gt;
977
966
  &lt;div&gt;
978
- &lt;Button onClick={<span class="fstat-no" title="function not covered" >() =</span>&gt; <span class="cstat-no" title="statement not covered" >addMapping()}</span> styleType="cta"&gt;
967
+ &lt;Button onClick={addMapping} styleType="cta"&gt;
979
968
  {ReportsConfigWidget.localization.getLocalizedString(
980
969
  "ReportsConfigWidget:LetsAddSomeMappingsCTA"
981
970
  )}
@@ -991,8 +980,7 @@ export const ReportMappings = ({ report, bulkExtractor, goBack }: ReportMappings
991
980
  bulkExtractor={bulkExtractor}
992
981
  mapping={mapping}
993
982
  onClickDelete={<span class="fstat-no" title="function not covered" >() =</span>&gt; {
994
- <span class="cstat-no" title="statement not covered" > setSelectedReportMapping(mapping);</span>
995
- <span class="cstat-no" title="statement not covered" > setShowDeleteModal(true);</span>
983
+ <span class="cstat-no" title="statement not covered" > setShowDeleteModal(mapping);</span>
996
984
  }}
997
985
  odataFeedUrl={odataFeedUrl}
998
986
  jobStartEvent={jobStartEvent}
@@ -1000,29 +988,26 @@ export const ReportMappings = ({ report, bulkExtractor, goBack }: ReportMappings
1000
988
  ))}
1001
989
  &lt;/div&gt;
1002
990
  )}
1003
- &lt;/Surface&gt;
991
+ &lt;/div&gt;
1004
992
  &lt;AddMappingsModal
1005
- show={reportMappingsView === ReportMappingsView.ADDING}
993
+ show={showAddMapping}
1006
994
  reportId={report.id}
1007
995
  existingMappings={reportMappings}
1008
- returnFn={refresh}
996
+ onClose={onAddMappingsModalClose}
997
+ defaultIModelId={defaultIModelId}
1009
998
  /&gt;
1010
999
  &lt;DeleteModal
1011
- entityName={<span class="branch-1 cbranch-no" title="branch not covered" >selectedReportMapping?.mappingName<span class="branch-0 cbranch-no" title="branch not covered" > </span>?? "</span>"}
1012
- show={showDeleteModal}
1013
- setShow={setShowDeleteModal}
1000
+ entityName={showDeleteModal?.mappingName ?? ""}
1014
1001
  onDelete={<span class="fstat-no" title="function not covered" >async </span>() =&gt; {
1015
- const reportsClientApi = <span class="cstat-no" title="statement not covered" >new ReportsClient(</span>
1016
- generateUrl(REPORTING_BASE_PATH, apiConfig.baseUrl)
1017
- );
1018
- const accessToken = <span class="cstat-no" title="statement not covered" >await apiConfig.getAccessToken();</span>
1019
- <span class="cstat-no" title="statement not covered" > await reportsClientApi.deleteReportMapping(</span>
1002
+ const accessToken = <span class="cstat-no" title="statement not covered" >await getAccessToken();</span>
1003
+ <span class="cstat-no" title="statement not covered" > await reportsClient.deleteReportMapping(</span>
1020
1004
  accessToken,
1021
1005
  report.id,
1022
- selectedReportMapping?.mappingId ?? ""
1006
+ showDeleteModal?.mappingId ?? ""
1023
1007
  );
1024
1008
  }}
1025
1009
  refresh={refresh}
1010
+ onClose={<span class="fstat-no" title="function not covered" >() =</span>&gt; <span class="cstat-no" title="statement not covered" >setShowDeleteModal(undefined)}</span>
1026
1011
  /&gt;
1027
1012
  &lt;div className="rcw-action-panel"&gt;
1028
1013
  {isLoading &amp;&amp; &lt;LoadingSpinner /&gt;}
@@ -1045,7 +1030,7 @@ export const ReportMappings = ({ report, bulkExtractor, goBack }: ReportMappings
1045
1030
  &lt;Button
1046
1031
  styleType="default"
1047
1032
  type="button"
1048
- onClick={goBack}
1033
+ onClick={onClickClose}
1049
1034
  disabled={isLoading}
1050
1035
  &gt;
1051
1036
  {ReportsConfigWidget.localization.getLocalizedString(
@@ -1063,7 +1048,7 @@ export const ReportMappings = ({ report, bulkExtractor, goBack }: ReportMappings
1063
1048
  <div class='footer quiet pad2 space-top1 center small'>
1064
1049
  Code coverage generated by
1065
1050
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1066
- at Tue Mar 07 2023 15:47:40 GMT+0000 (Coordinated Universal Time)
1051
+ at Thu Aug 17 2023 14:40:52 GMT+0000 (Coordinated Universal Time)
1067
1052
  </div>
1068
1053
  <script src="../../../prettify.js"></script>
1069
1054
  <script>