@itwin/reports-config-widget-react 0.5.0 → 0.6.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 (380) hide show
  1. package/CHANGELOG.json +47 -1
  2. package/CHANGELOG.md +14 -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 +130 -0
  7. package/api/reports-config-widget-react.exports.csv +14 -0
  8. package/api/temp/reports-config-widget-react.api.md +130 -0
  9. package/coverage/clover.xml +505 -504
  10. package/coverage/coverage-final.json +32 -32
  11. package/coverage/lcov-report/index.html +24 -24
  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 +22 -64
  17. package/coverage/lcov-report/src/widget/components/ActionPanel.tsx.html +5 -38
  18. package/coverage/lcov-report/src/widget/components/AddMappingsModal.tsx.html +23 -119
  19. package/coverage/lcov-report/src/widget/components/BulkExtractor.ts.html +117 -90
  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 +86 -299
  36. package/coverage/lcov-report/src/widget/components/Reports.tsx.html +40 -202
  37. package/coverage/lcov-report/src/widget/components/ReportsConfigContext.tsx.html +59 -44
  38. package/coverage/lcov-report/src/widget/components/ReportsContainer.tsx.html +10 -49
  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 +6 -12
  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 +1 -1
  51. package/coverage/lcov.info +917 -893
  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.js +3 -3
  58. package/lib/cjs/reports-config-widget-react.js.map +1 -1
  59. package/lib/cjs/test/AddMappingModal.test.js +11 -10
  60. package/lib/cjs/test/AddMappingModal.test.js.map +1 -1
  61. package/lib/cjs/test/BulkExtractor.test.js +68 -43
  62. package/lib/cjs/test/BulkExtractor.test.js.map +1 -1
  63. package/lib/cjs/test/DeleteModal.test.js +3 -3
  64. package/lib/cjs/test/DeleteModal.test.js.map +1 -1
  65. package/lib/cjs/test/ReportAction.test.js +6 -4
  66. package/lib/cjs/test/ReportAction.test.js.map +1 -1
  67. package/lib/cjs/test/ReportMappingHorizontalTile.test.js +64 -25
  68. package/lib/cjs/test/ReportMappingHorizontalTile.test.js.map +1 -1
  69. package/lib/cjs/test/ReportMappings.test.js +39 -18
  70. package/lib/cjs/test/ReportMappings.test.js.map +1 -1
  71. package/lib/cjs/test/Reports.test.js +3 -3
  72. package/lib/cjs/test/Reports.test.js.map +1 -1
  73. package/lib/cjs/test/WidgetHeader.test.js +3 -3
  74. package/lib/cjs/test/WidgetHeader.test.js.map +1 -1
  75. package/lib/cjs/test/test-utils.d.ts +8 -0
  76. package/lib/cjs/test/test-utils.d.ts.map +1 -1
  77. package/lib/cjs/test/test-utils.js +16 -4
  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 +7 -0
  81. package/lib/cjs/widget/ReportsConfigUiProvider.d.ts.map +1 -1
  82. package/lib/cjs/widget/ReportsConfigUiProvider.js +8 -3
  83. package/lib/cjs/widget/ReportsConfigUiProvider.js.map +1 -1
  84. package/lib/cjs/widget/components/ActionPanel.d.ts.map +1 -1
  85. package/lib/cjs/widget/components/ActionPanel.js.map +1 -1
  86. package/lib/cjs/widget/components/AddMappingsModal.d.ts +1 -1
  87. package/lib/cjs/widget/components/AddMappingsModal.d.ts.map +1 -1
  88. package/lib/cjs/widget/components/AddMappingsModal.js +7 -7
  89. package/lib/cjs/widget/components/AddMappingsModal.js.map +1 -1
  90. package/lib/cjs/widget/components/AddMappingsModal.scss +1 -1
  91. package/lib/cjs/widget/components/BulkExtractor.d.ts +7 -4
  92. package/lib/cjs/widget/components/BulkExtractor.d.ts.map +1 -1
  93. package/lib/cjs/widget/components/BulkExtractor.js +52 -35
  94. package/lib/cjs/widget/components/BulkExtractor.js.map +1 -1
  95. package/lib/cjs/widget/components/Constants.d.ts.map +1 -1
  96. package/lib/cjs/widget/components/Constants.js +3 -3
  97. package/lib/cjs/widget/components/Constants.js.map +1 -1
  98. package/lib/cjs/widget/components/DeleteModal.d.ts +1 -1
  99. package/lib/cjs/widget/components/DeleteModal.d.ts.map +1 -1
  100. package/lib/cjs/widget/components/DeleteModal.js +5 -5
  101. package/lib/cjs/widget/components/DeleteModal.js.map +1 -1
  102. package/lib/cjs/widget/components/DeleteModal.scss +2 -2
  103. package/lib/cjs/widget/components/ExtractionStates/FailedExtractionState.d.ts.map +1 -1
  104. package/lib/cjs/widget/components/ExtractionStates/FailedExtractionState.js +3 -3
  105. package/lib/cjs/widget/components/ExtractionStates/FailedExtractionState.js.map +1 -1
  106. package/lib/cjs/widget/components/ExtractionStates/QueuedExtractionState.d.ts.map +1 -1
  107. package/lib/cjs/widget/components/ExtractionStates/QueuedExtractionState.js +3 -3
  108. package/lib/cjs/widget/components/ExtractionStates/QueuedExtractionState.js.map +1 -1
  109. package/lib/cjs/widget/components/ExtractionStates/RunningExtractionState.d.ts.map +1 -1
  110. package/lib/cjs/widget/components/ExtractionStates/RunningExtractionState.js +3 -3
  111. package/lib/cjs/widget/components/ExtractionStates/RunningExtractionState.js.map +1 -1
  112. package/lib/cjs/widget/components/ExtractionStates/StartingExtractionState.d.ts.map +1 -1
  113. package/lib/cjs/widget/components/ExtractionStates/StartingExtractionState.js +3 -3
  114. package/lib/cjs/widget/components/ExtractionStates/StartingExtractionState.js.map +1 -1
  115. package/lib/cjs/widget/components/ExtractionStates/SucceededExtractionState.d.ts.map +1 -1
  116. package/lib/cjs/widget/components/ExtractionStates/SucceededExtractionState.js +3 -3
  117. package/lib/cjs/widget/components/ExtractionStates/SucceededExtractionState.js.map +1 -1
  118. package/lib/cjs/widget/components/ExtractionStatus.d.ts +1 -1
  119. package/lib/cjs/widget/components/ExtractionStatus.d.ts.map +1 -1
  120. package/lib/cjs/widget/components/ExtractionStatus.js +9 -9
  121. package/lib/cjs/widget/components/ExtractionStatus.js.map +1 -1
  122. package/lib/cjs/widget/components/ExtractionStatus.scss +1 -1
  123. package/lib/cjs/widget/components/ExtractionToast.d.ts.map +1 -1
  124. package/lib/cjs/widget/components/ExtractionToast.js +3 -3
  125. package/lib/cjs/widget/components/ExtractionToast.js.map +1 -1
  126. package/lib/cjs/widget/components/HorizontalTile.d.ts.map +1 -1
  127. package/lib/cjs/widget/components/HorizontalTile.js +1 -2
  128. package/lib/cjs/widget/components/HorizontalTile.js.map +1 -1
  129. package/lib/cjs/widget/components/HorizontalTile.scss +1 -4
  130. package/lib/cjs/widget/components/LocalizedTablePaginator.d.ts.map +1 -1
  131. package/lib/cjs/widget/components/LocalizedTablePaginator.js +1 -1
  132. package/lib/cjs/widget/components/LocalizedTablePaginator.js.map +1 -1
  133. package/lib/cjs/widget/components/ReportAction.d.ts +8 -0
  134. package/lib/cjs/widget/components/ReportAction.d.ts.map +1 -1
  135. package/lib/cjs/widget/components/ReportAction.js +9 -7
  136. package/lib/cjs/widget/components/ReportAction.js.map +1 -1
  137. package/lib/cjs/widget/components/ReportAction.scss +1 -1
  138. package/lib/cjs/widget/components/ReportHorizontalTile.d.ts.map +1 -1
  139. package/lib/cjs/widget/components/ReportHorizontalTile.js +4 -4
  140. package/lib/cjs/widget/components/ReportHorizontalTile.js.map +1 -1
  141. package/lib/cjs/widget/components/ReportMappingHorizontalTile.d.ts.map +1 -1
  142. package/lib/cjs/widget/components/ReportMappingHorizontalTile.js +46 -45
  143. package/lib/cjs/widget/components/ReportMappingHorizontalTile.js.map +1 -1
  144. package/lib/cjs/widget/components/ReportMappings.d.ts +8 -0
  145. package/lib/cjs/widget/components/ReportMappings.d.ts.map +1 -1
  146. package/lib/cjs/widget/components/ReportMappings.js +25 -11
  147. package/lib/cjs/widget/components/ReportMappings.js.map +1 -1
  148. package/lib/cjs/widget/components/Reports.d.ts +9 -1
  149. package/lib/cjs/widget/components/Reports.d.ts.map +1 -1
  150. package/lib/cjs/widget/components/Reports.js +7 -8
  151. package/lib/cjs/widget/components/Reports.js.map +1 -1
  152. package/lib/cjs/widget/components/Reports.scss +0 -1
  153. package/lib/cjs/widget/components/ReportsConfigContext.d.ts +8 -0
  154. package/lib/cjs/widget/components/ReportsConfigContext.d.ts.map +1 -1
  155. package/lib/cjs/widget/components/ReportsConfigContext.js +13 -5
  156. package/lib/cjs/widget/components/ReportsConfigContext.js.map +1 -1
  157. package/lib/cjs/widget/components/ReportsContainer.d.ts +1 -1
  158. package/lib/cjs/widget/components/ReportsContainer.d.ts.map +1 -1
  159. package/lib/cjs/widget/components/ReportsContainer.js +2 -4
  160. package/lib/cjs/widget/components/ReportsContainer.js.map +1 -1
  161. package/lib/cjs/widget/components/ReportsContainer.scss +1 -1
  162. package/lib/cjs/widget/components/ReportsHeader.d.ts +1 -1
  163. package/lib/cjs/widget/components/ReportsHeader.d.ts.map +1 -1
  164. package/lib/cjs/widget/components/ReportsHeader.js +6 -7
  165. package/lib/cjs/widget/components/ReportsHeader.js.map +1 -1
  166. package/lib/cjs/widget/components/ReportsRouter.d.ts.map +1 -1
  167. package/lib/cjs/widget/components/ReportsRouter.js +3 -3
  168. package/lib/cjs/widget/components/ReportsRouter.js.map +1 -1
  169. package/lib/cjs/widget/components/SearchBar.d.ts +1 -1
  170. package/lib/cjs/widget/components/SearchBar.d.ts.map +1 -1
  171. package/lib/cjs/widget/components/SearchBar.js +4 -4
  172. package/lib/cjs/widget/components/SearchBar.js.map +1 -1
  173. package/lib/cjs/widget/components/SelectIModel.d.ts +1 -1
  174. package/lib/cjs/widget/components/SelectIModel.d.ts.map +1 -1
  175. package/lib/cjs/widget/components/SelectIModel.js +1 -1
  176. package/lib/cjs/widget/components/SelectIModel.js.map +1 -1
  177. package/lib/cjs/widget/components/SelectIModel.scss +1 -1
  178. package/lib/cjs/widget/components/utils.d.ts +1 -1
  179. package/lib/cjs/widget/components/utils.d.ts.map +1 -1
  180. package/lib/cjs/widget/components/utils.js +5 -5
  181. package/lib/cjs/widget/components/utils.js.map +1 -1
  182. package/lib/cjs/widget/components/utils.scss +1 -1
  183. package/lib/cjs/widget/context/BulkExtractorContext.d.ts.map +1 -1
  184. package/lib/cjs/widget/context/BulkExtractorContext.js.map +1 -1
  185. package/lib/cjs/widget/context/ReportsConfigApiContext.d.ts.map +1 -1
  186. package/lib/cjs/widget/context/ReportsConfigApiContext.js.map +1 -1
  187. package/lib/cjs/widget/hooks/useValidator.d.ts +1 -4
  188. package/lib/cjs/widget/hooks/useValidator.d.ts.map +1 -1
  189. package/lib/cjs/widget/hooks/useValidator.js +3 -3
  190. package/lib/cjs/widget/hooks/useValidator.js.map +1 -1
  191. package/lib/esm/ReportsConfigWidget.d.ts +4 -0
  192. package/lib/esm/ReportsConfigWidget.d.ts.map +1 -1
  193. package/lib/esm/ReportsConfigWidget.js +4 -0
  194. package/lib/esm/ReportsConfigWidget.js.map +1 -1
  195. package/lib/esm/reports-config-widget-react.js +3 -3
  196. package/lib/esm/reports-config-widget-react.js.map +1 -1
  197. package/lib/esm/test/AddMappingModal.test.js +12 -11
  198. package/lib/esm/test/AddMappingModal.test.js.map +1 -1
  199. package/lib/esm/test/BulkExtractor.test.js +69 -44
  200. package/lib/esm/test/BulkExtractor.test.js.map +1 -1
  201. package/lib/esm/test/DeleteModal.test.js +4 -4
  202. package/lib/esm/test/DeleteModal.test.js.map +1 -1
  203. package/lib/esm/test/ReportAction.test.js +7 -5
  204. package/lib/esm/test/ReportAction.test.js.map +1 -1
  205. package/lib/esm/test/ReportMappingHorizontalTile.test.js +65 -26
  206. package/lib/esm/test/ReportMappingHorizontalTile.test.js.map +1 -1
  207. package/lib/esm/test/ReportMappings.test.js +41 -20
  208. package/lib/esm/test/ReportMappings.test.js.map +1 -1
  209. package/lib/esm/test/Reports.test.js +4 -4
  210. package/lib/esm/test/Reports.test.js.map +1 -1
  211. package/lib/esm/test/WidgetHeader.test.js +3 -3
  212. package/lib/esm/test/WidgetHeader.test.js.map +1 -1
  213. package/lib/esm/test/test-utils.d.ts +8 -0
  214. package/lib/esm/test/test-utils.d.ts.map +1 -1
  215. package/lib/esm/test/test-utils.js +15 -3
  216. package/lib/esm/test/test-utils.js.map +1 -1
  217. package/lib/esm/tsconfig.tsbuildinfo +1 -1
  218. package/lib/esm/widget/ReportsConfigUiProvider.d.ts +7 -0
  219. package/lib/esm/widget/ReportsConfigUiProvider.d.ts.map +1 -1
  220. package/lib/esm/widget/ReportsConfigUiProvider.js +9 -4
  221. package/lib/esm/widget/ReportsConfigUiProvider.js.map +1 -1
  222. package/lib/esm/widget/components/ActionPanel.d.ts.map +1 -1
  223. package/lib/esm/widget/components/ActionPanel.js.map +1 -1
  224. package/lib/esm/widget/components/AddMappingsModal.d.ts +1 -1
  225. package/lib/esm/widget/components/AddMappingsModal.d.ts.map +1 -1
  226. package/lib/esm/widget/components/AddMappingsModal.js +7 -7
  227. package/lib/esm/widget/components/AddMappingsModal.js.map +1 -1
  228. package/lib/esm/widget/components/AddMappingsModal.scss +1 -1
  229. package/lib/esm/widget/components/BulkExtractor.d.ts +7 -4
  230. package/lib/esm/widget/components/BulkExtractor.d.ts.map +1 -1
  231. package/lib/esm/widget/components/BulkExtractor.js +53 -36
  232. package/lib/esm/widget/components/BulkExtractor.js.map +1 -1
  233. package/lib/esm/widget/components/Constants.d.ts.map +1 -1
  234. package/lib/esm/widget/components/Constants.js +3 -3
  235. package/lib/esm/widget/components/Constants.js.map +1 -1
  236. package/lib/esm/widget/components/DeleteModal.d.ts +1 -1
  237. package/lib/esm/widget/components/DeleteModal.d.ts.map +1 -1
  238. package/lib/esm/widget/components/DeleteModal.js +6 -6
  239. package/lib/esm/widget/components/DeleteModal.js.map +1 -1
  240. package/lib/esm/widget/components/DeleteModal.scss +2 -2
  241. package/lib/esm/widget/components/ExtractionStates/FailedExtractionState.d.ts.map +1 -1
  242. package/lib/esm/widget/components/ExtractionStates/FailedExtractionState.js +3 -3
  243. package/lib/esm/widget/components/ExtractionStates/FailedExtractionState.js.map +1 -1
  244. package/lib/esm/widget/components/ExtractionStates/QueuedExtractionState.d.ts.map +1 -1
  245. package/lib/esm/widget/components/ExtractionStates/QueuedExtractionState.js +3 -3
  246. package/lib/esm/widget/components/ExtractionStates/QueuedExtractionState.js.map +1 -1
  247. package/lib/esm/widget/components/ExtractionStates/RunningExtractionState.d.ts.map +1 -1
  248. package/lib/esm/widget/components/ExtractionStates/RunningExtractionState.js +3 -3
  249. package/lib/esm/widget/components/ExtractionStates/RunningExtractionState.js.map +1 -1
  250. package/lib/esm/widget/components/ExtractionStates/StartingExtractionState.d.ts.map +1 -1
  251. package/lib/esm/widget/components/ExtractionStates/StartingExtractionState.js +3 -3
  252. package/lib/esm/widget/components/ExtractionStates/StartingExtractionState.js.map +1 -1
  253. package/lib/esm/widget/components/ExtractionStates/SucceededExtractionState.d.ts.map +1 -1
  254. package/lib/esm/widget/components/ExtractionStates/SucceededExtractionState.js +3 -3
  255. package/lib/esm/widget/components/ExtractionStates/SucceededExtractionState.js.map +1 -1
  256. package/lib/esm/widget/components/ExtractionStatus.d.ts +1 -1
  257. package/lib/esm/widget/components/ExtractionStatus.d.ts.map +1 -1
  258. package/lib/esm/widget/components/ExtractionStatus.js +9 -9
  259. package/lib/esm/widget/components/ExtractionStatus.js.map +1 -1
  260. package/lib/esm/widget/components/ExtractionStatus.scss +1 -1
  261. package/lib/esm/widget/components/ExtractionToast.d.ts.map +1 -1
  262. package/lib/esm/widget/components/ExtractionToast.js +3 -3
  263. package/lib/esm/widget/components/ExtractionToast.js.map +1 -1
  264. package/lib/esm/widget/components/HorizontalTile.d.ts.map +1 -1
  265. package/lib/esm/widget/components/HorizontalTile.js +1 -2
  266. package/lib/esm/widget/components/HorizontalTile.js.map +1 -1
  267. package/lib/esm/widget/components/HorizontalTile.scss +1 -4
  268. package/lib/esm/widget/components/LocalizedTablePaginator.d.ts.map +1 -1
  269. package/lib/esm/widget/components/LocalizedTablePaginator.js +1 -1
  270. package/lib/esm/widget/components/LocalizedTablePaginator.js.map +1 -1
  271. package/lib/esm/widget/components/ReportAction.d.ts +8 -0
  272. package/lib/esm/widget/components/ReportAction.d.ts.map +1 -1
  273. package/lib/esm/widget/components/ReportAction.js +10 -8
  274. package/lib/esm/widget/components/ReportAction.js.map +1 -1
  275. package/lib/esm/widget/components/ReportAction.scss +1 -1
  276. package/lib/esm/widget/components/ReportHorizontalTile.d.ts.map +1 -1
  277. package/lib/esm/widget/components/ReportHorizontalTile.js +6 -6
  278. package/lib/esm/widget/components/ReportHorizontalTile.js.map +1 -1
  279. package/lib/esm/widget/components/ReportMappingHorizontalTile.d.ts.map +1 -1
  280. package/lib/esm/widget/components/ReportMappingHorizontalTile.js +47 -46
  281. package/lib/esm/widget/components/ReportMappingHorizontalTile.js.map +1 -1
  282. package/lib/esm/widget/components/ReportMappings.d.ts +8 -0
  283. package/lib/esm/widget/components/ReportMappings.d.ts.map +1 -1
  284. package/lib/esm/widget/components/ReportMappings.js +28 -14
  285. package/lib/esm/widget/components/ReportMappings.js.map +1 -1
  286. package/lib/esm/widget/components/Reports.d.ts +9 -1
  287. package/lib/esm/widget/components/Reports.d.ts.map +1 -1
  288. package/lib/esm/widget/components/Reports.js +8 -9
  289. package/lib/esm/widget/components/Reports.js.map +1 -1
  290. package/lib/esm/widget/components/Reports.scss +0 -1
  291. package/lib/esm/widget/components/ReportsConfigContext.d.ts +8 -0
  292. package/lib/esm/widget/components/ReportsConfigContext.d.ts.map +1 -1
  293. package/lib/esm/widget/components/ReportsConfigContext.js +14 -6
  294. package/lib/esm/widget/components/ReportsConfigContext.js.map +1 -1
  295. package/lib/esm/widget/components/ReportsContainer.d.ts +1 -1
  296. package/lib/esm/widget/components/ReportsContainer.d.ts.map +1 -1
  297. package/lib/esm/widget/components/ReportsContainer.js +2 -4
  298. package/lib/esm/widget/components/ReportsContainer.js.map +1 -1
  299. package/lib/esm/widget/components/ReportsContainer.scss +1 -1
  300. package/lib/esm/widget/components/ReportsHeader.d.ts +1 -1
  301. package/lib/esm/widget/components/ReportsHeader.d.ts.map +1 -1
  302. package/lib/esm/widget/components/ReportsHeader.js +6 -7
  303. package/lib/esm/widget/components/ReportsHeader.js.map +1 -1
  304. package/lib/esm/widget/components/ReportsRouter.d.ts.map +1 -1
  305. package/lib/esm/widget/components/ReportsRouter.js +3 -3
  306. package/lib/esm/widget/components/ReportsRouter.js.map +1 -1
  307. package/lib/esm/widget/components/SearchBar.d.ts +1 -1
  308. package/lib/esm/widget/components/SearchBar.d.ts.map +1 -1
  309. package/lib/esm/widget/components/SearchBar.js +4 -4
  310. package/lib/esm/widget/components/SearchBar.js.map +1 -1
  311. package/lib/esm/widget/components/SelectIModel.d.ts +1 -1
  312. package/lib/esm/widget/components/SelectIModel.d.ts.map +1 -1
  313. package/lib/esm/widget/components/SelectIModel.js +2 -2
  314. package/lib/esm/widget/components/SelectIModel.js.map +1 -1
  315. package/lib/esm/widget/components/SelectIModel.scss +1 -1
  316. package/lib/esm/widget/components/utils.d.ts +1 -1
  317. package/lib/esm/widget/components/utils.d.ts.map +1 -1
  318. package/lib/esm/widget/components/utils.js +6 -6
  319. package/lib/esm/widget/components/utils.js.map +1 -1
  320. package/lib/esm/widget/components/utils.scss +1 -1
  321. package/lib/esm/widget/context/BulkExtractorContext.d.ts.map +1 -1
  322. package/lib/esm/widget/context/BulkExtractorContext.js.map +1 -1
  323. package/lib/esm/widget/context/ReportsConfigApiContext.d.ts.map +1 -1
  324. package/lib/esm/widget/context/ReportsConfigApiContext.js.map +1 -1
  325. package/lib/esm/widget/hooks/useValidator.d.ts +1 -4
  326. package/lib/esm/widget/hooks/useValidator.d.ts.map +1 -1
  327. package/lib/esm/widget/hooks/useValidator.js +3 -3
  328. package/lib/esm/widget/hooks/useValidator.js.map +1 -1
  329. package/package.json +9 -4
  330. package/src/ReportsConfigWidget.ts +9 -9
  331. package/src/reports-config-widget-react.ts +3 -3
  332. package/src/test/AddMappingModal.test.tsx +45 -70
  333. package/src/test/BulkExtractor.test.ts +73 -118
  334. package/src/test/DeleteModal.test.tsx +6 -23
  335. package/src/test/ReportAction.test.tsx +20 -38
  336. package/src/test/ReportMappingHorizontalTile.test.tsx +137 -106
  337. package/src/test/ReportMappings.test.tsx +73 -88
  338. package/src/test/Reports.test.tsx +30 -64
  339. package/src/test/WidgetHeader.test.tsx +3 -3
  340. package/src/test/test-utils.tsx +18 -8
  341. package/src/widget/ReportsConfigUiProvider.tsx +16 -30
  342. package/src/widget/components/ActionPanel.tsx +3 -14
  343. package/src/widget/components/AddMappingsModal.scss +1 -1
  344. package/src/widget/components/AddMappingsModal.tsx +19 -51
  345. package/src/widget/components/BulkExtractor.ts +63 -54
  346. package/src/widget/components/Constants.ts +4 -4
  347. package/src/widget/components/DeleteModal.scss +2 -2
  348. package/src/widget/components/DeleteModal.tsx +11 -41
  349. package/src/widget/components/ExtractionStates/FailedExtractionState.tsx +4 -9
  350. package/src/widget/components/ExtractionStates/QueuedExtractionState.tsx +4 -9
  351. package/src/widget/components/ExtractionStates/RunningExtractionState.tsx +4 -9
  352. package/src/widget/components/ExtractionStates/StartingExtractionState.tsx +4 -11
  353. package/src/widget/components/ExtractionStates/SucceededExtractionState.tsx +4 -9
  354. package/src/widget/components/ExtractionStatus.scss +1 -1
  355. package/src/widget/components/ExtractionStatus.tsx +9 -18
  356. package/src/widget/components/ExtractionToast.tsx +12 -9
  357. package/src/widget/components/HorizontalTile.scss +1 -4
  358. package/src/widget/components/HorizontalTile.tsx +12 -33
  359. package/src/widget/components/LocalizedTablePaginator.tsx +13 -44
  360. package/src/widget/components/ReportAction.scss +1 -1
  361. package/src/widget/components/ReportAction.tsx +26 -39
  362. package/src/widget/components/ReportHorizontalTile.tsx +45 -55
  363. package/src/widget/components/ReportMappingHorizontalTile.tsx +70 -78
  364. package/src/widget/components/ReportMappings.tsx +59 -130
  365. package/src/widget/components/Reports.scss +0 -1
  366. package/src/widget/components/Reports.tsx +28 -82
  367. package/src/widget/components/ReportsConfigContext.tsx +30 -25
  368. package/src/widget/components/ReportsContainer.scss +1 -1
  369. package/src/widget/components/ReportsContainer.tsx +8 -21
  370. package/src/widget/components/ReportsHeader.tsx +6 -19
  371. package/src/widget/components/ReportsRouter.tsx +4 -6
  372. package/src/widget/components/SearchBar.tsx +9 -13
  373. package/src/widget/components/SelectIModel.scss +1 -1
  374. package/src/widget/components/SelectIModel.tsx +9 -24
  375. package/src/widget/components/utils.scss +1 -1
  376. package/src/widget/components/utils.tsx +21 -69
  377. package/src/widget/context/BulkExtractorContext.tsx +4 -6
  378. package/src/widget/context/ReportsConfigApiContext.tsx +4 -6
  379. package/src/widget/hooks/useValidator.ts +10 -24
  380. package/tsconfig.json +11 -11
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">89.28% </span>
47
+ <span class="strong">90.38% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>50/56</span>
49
+ <span class='fraction'>47/52</span>
50
50
  </div>
51
51
 
52
52
 
@@ -232,61 +232,7 @@
232
232
  <a name='L167'></a><a href='#L167'>167</a>
233
233
  <a name='L168'></a><a href='#L168'>168</a>
234
234
  <a name='L169'></a><a href='#L169'>169</a>
235
- <a name='L170'></a><a href='#L170'>170</a>
236
- <a name='L171'></a><a href='#L171'>171</a>
237
- <a name='L172'></a><a href='#L172'>172</a>
238
- <a name='L173'></a><a href='#L173'>173</a>
239
- <a name='L174'></a><a href='#L174'>174</a>
240
- <a name='L175'></a><a href='#L175'>175</a>
241
- <a name='L176'></a><a href='#L176'>176</a>
242
- <a name='L177'></a><a href='#L177'>177</a>
243
- <a name='L178'></a><a href='#L178'>178</a>
244
- <a name='L179'></a><a href='#L179'>179</a>
245
- <a name='L180'></a><a href='#L180'>180</a>
246
- <a name='L181'></a><a href='#L181'>181</a>
247
- <a name='L182'></a><a href='#L182'>182</a>
248
- <a name='L183'></a><a href='#L183'>183</a>
249
- <a name='L184'></a><a href='#L184'>184</a>
250
- <a name='L185'></a><a href='#L185'>185</a>
251
- <a name='L186'></a><a href='#L186'>186</a>
252
- <a name='L187'></a><a href='#L187'>187</a>
253
- <a name='L188'></a><a href='#L188'>188</a>
254
- <a name='L189'></a><a href='#L189'>189</a>
255
- <a name='L190'></a><a href='#L190'>190</a>
256
- <a name='L191'></a><a href='#L191'>191</a>
257
- <a name='L192'></a><a href='#L192'>192</a>
258
- <a name='L193'></a><a href='#L193'>193</a>
259
- <a name='L194'></a><a href='#L194'>194</a>
260
- <a name='L195'></a><a href='#L195'>195</a>
261
- <a name='L196'></a><a href='#L196'>196</a>
262
- <a name='L197'></a><a href='#L197'>197</a>
263
- <a name='L198'></a><a href='#L198'>198</a>
264
- <a name='L199'></a><a href='#L199'>199</a>
265
- <a name='L200'></a><a href='#L200'>200</a>
266
- <a name='L201'></a><a href='#L201'>201</a>
267
- <a name='L202'></a><a href='#L202'>202</a>
268
- <a name='L203'></a><a href='#L203'>203</a>
269
- <a name='L204'></a><a href='#L204'>204</a>
270
- <a name='L205'></a><a href='#L205'>205</a>
271
- <a name='L206'></a><a href='#L206'>206</a>
272
- <a name='L207'></a><a href='#L207'>207</a>
273
- <a name='L208'></a><a href='#L208'>208</a>
274
- <a name='L209'></a><a href='#L209'>209</a>
275
- <a name='L210'></a><a href='#L210'>210</a>
276
- <a name='L211'></a><a href='#L211'>211</a>
277
- <a name='L212'></a><a href='#L212'>212</a>
278
- <a name='L213'></a><a href='#L213'>213</a>
279
- <a name='L214'></a><a href='#L214'>214</a>
280
- <a name='L215'></a><a href='#L215'>215</a>
281
- <a name='L216'></a><a href='#L216'>216</a>
282
- <a name='L217'></a><a href='#L217'>217</a>
283
- <a name='L218'></a><a href='#L218'>218</a>
284
- <a name='L219'></a><a href='#L219'>219</a>
285
- <a name='L220'></a><a href='#L220'>220</a>
286
- <a name='L221'></a><a href='#L221'>221</a>
287
- <a name='L222'></a><a href='#L222'>222</a>
288
- <a name='L223'></a><a href='#L223'>223</a>
289
- <a name='L224'></a><a href='#L224'>224</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
235
+ <a name='L170'></a><a href='#L170'>170</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
290
236
  <span class="cline-any cline-neutral">&nbsp;</span>
291
237
  <span class="cline-any cline-neutral">&nbsp;</span>
292
238
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -295,10 +241,6 @@
295
241
  <span class="cline-any cline-yes">7x</span>
296
242
  <span class="cline-any cline-neutral">&nbsp;</span>
297
243
  <span class="cline-any cline-yes">7x</span>
298
- <span class="cline-any cline-neutral">&nbsp;</span>
299
- <span class="cline-any cline-neutral">&nbsp;</span>
300
- <span class="cline-any cline-neutral">&nbsp;</span>
301
- <span class="cline-any cline-neutral">&nbsp;</span>
302
244
  <span class="cline-any cline-yes">7x</span>
303
245
  <span class="cline-any cline-yes">7x</span>
304
246
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -338,53 +280,34 @@
338
280
  <span class="cline-any cline-neutral">&nbsp;</span>
339
281
  <span class="cline-any cline-neutral">&nbsp;</span>
340
282
  <span class="cline-any cline-neutral">&nbsp;</span>
341
- <span class="cline-any cline-yes">7x</span>
342
283
  <span class="cline-any cline-neutral">&nbsp;</span>
343
284
  <span class="cline-any cline-neutral">&nbsp;</span>
344
285
  <span class="cline-any cline-neutral">&nbsp;</span>
345
286
  <span class="cline-any cline-neutral">&nbsp;</span>
287
+ <span class="cline-any cline-neutral">&nbsp;</span>
288
+ <span class="cline-any cline-neutral">&nbsp;</span>
289
+ <span class="cline-any cline-neutral">&nbsp;</span>
290
+ <span class="cline-any cline-neutral">&nbsp;</span>
291
+ <span class="cline-any cline-yes">7x</span>
346
292
  <span class="cline-any cline-yes">75x</span>
347
293
  <span class="cline-any cline-yes">75x</span>
348
294
  <span class="cline-any cline-yes">75x</span>
349
- <span class="cline-any cline-neutral">&nbsp;</span>
350
- <span class="cline-any cline-neutral">&nbsp;</span>
351
295
  <span class="cline-any cline-yes">75x</span>
352
296
  <span class="cline-any cline-yes">75x</span>
353
297
  <span class="cline-any cline-yes">75x</span>
354
298
  <span class="cline-any cline-yes">75x</span>
355
299
  <span class="cline-any cline-yes">75x</span>
356
- <span class="cline-any cline-yes">8x</span>
357
- <span class="cline-any cline-neutral">&nbsp;</span>
358
- <span class="cline-any cline-neutral">&nbsp;</span>
359
300
  <span class="cline-any cline-neutral">&nbsp;</span>
360
301
  <span class="cline-any cline-yes">75x</span>
361
302
  <span class="cline-any cline-yes">8x</span>
362
303
  <span class="cline-any cline-neutral">&nbsp;</span>
363
304
  <span class="cline-any cline-neutral">&nbsp;</span>
364
- <span class="cline-any cline-neutral">&nbsp;</span>
365
- <span class="cline-any cline-neutral">&nbsp;</span>
366
- <span class="cline-any cline-neutral">&nbsp;</span>
367
- <span class="cline-any cline-neutral">&nbsp;</span>
368
- <span class="cline-any cline-neutral">&nbsp;</span>
369
- <span class="cline-any cline-neutral">&nbsp;</span>
370
305
  <span class="cline-any cline-yes">75x</span>
371
306
  <span class="cline-any cline-yes">1x</span>
372
307
  <span class="cline-any cline-neutral">&nbsp;</span>
373
308
  <span class="cline-any cline-neutral">&nbsp;</span>
374
- <span class="cline-any cline-neutral">&nbsp;</span>
375
- <span class="cline-any cline-neutral">&nbsp;</span>
376
- <span class="cline-any cline-neutral">&nbsp;</span>
377
- <span class="cline-any cline-neutral">&nbsp;</span>
378
- <span class="cline-any cline-neutral">&nbsp;</span>
379
- <span class="cline-any cline-neutral">&nbsp;</span>
380
309
  <span class="cline-any cline-yes">75x</span>
381
- <span class="cline-any cline-neutral">&nbsp;</span>
382
- <span class="cline-any cline-yes">50x</span>
383
- <span class="cline-any cline-yes">122x</span>
384
- <span class="cline-any cline-neutral">&nbsp;</span>
385
- <span class="cline-any cline-neutral">&nbsp;</span>
386
- <span class="cline-any cline-neutral">&nbsp;</span>
387
- <span class="cline-any cline-neutral">&nbsp;</span>
310
+ <span class="cline-any cline-yes">124x</span>
388
311
  <span class="cline-any cline-neutral">&nbsp;</span>
389
312
  <span class="cline-any cline-neutral">&nbsp;</span>
390
313
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -392,10 +315,6 @@
392
315
  <span class="cline-any cline-yes">4x</span>
393
316
  <span class="cline-any cline-neutral">&nbsp;</span>
394
317
  <span class="cline-any cline-yes">4x</span>
395
- <span class="cline-any cline-yes">4x</span>
396
- <span class="cline-any cline-no">&nbsp;</span>
397
- <span class="cline-any cline-neutral">&nbsp;</span>
398
- <span class="cline-any cline-neutral">&nbsp;</span>
399
318
  <span class="cline-any cline-neutral">&nbsp;</span>
400
319
  <span class="cline-any cline-neutral">&nbsp;</span>
401
320
  <span class="cline-any cline-yes">75x</span>
@@ -453,29 +372,7 @@
453
372
  <span class="cline-any cline-neutral">&nbsp;</span>
454
373
  <span class="cline-any cline-neutral">&nbsp;</span>
455
374
  <span class="cline-any cline-neutral">&nbsp;</span>
456
- <span class="cline-any cline-neutral">&nbsp;</span>
457
- <span class="cline-any cline-neutral">&nbsp;</span>
458
- <span class="cline-any cline-neutral">&nbsp;</span>
459
- <span class="cline-any cline-neutral">&nbsp;</span>
460
- <span class="cline-any cline-neutral">&nbsp;</span>
461
- <span class="cline-any cline-neutral">&nbsp;</span>
462
- <span class="cline-any cline-neutral">&nbsp;</span>
463
- <span class="cline-any cline-neutral">&nbsp;</span>
464
- <span class="cline-any cline-neutral">&nbsp;</span>
465
- <span class="cline-any cline-neutral">&nbsp;</span>
466
- <span class="cline-any cline-neutral">&nbsp;</span>
467
- <span class="cline-any cline-neutral">&nbsp;</span>
468
- <span class="cline-any cline-neutral">&nbsp;</span>
469
- <span class="cline-any cline-neutral">&nbsp;</span>
470
- <span class="cline-any cline-neutral">&nbsp;</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
- <span class="cline-any cline-neutral">&nbsp;</span>
475
- <span class="cline-any cline-neutral">&nbsp;</span>
476
- <span class="cline-any cline-neutral">&nbsp;</span>
477
- <span class="cline-any cline-neutral">&nbsp;</span>
478
- <span class="cline-any cline-yes">144x</span>
375
+ <span class="cline-any cline-yes">143x</span>
479
376
  <span class="cline-any cline-neutral">&nbsp;</span>
480
377
  <span class="cline-any cline-neutral">&nbsp;</span>
481
378
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -486,9 +383,7 @@
486
383
  <span class="cline-any cline-neutral">&nbsp;</span>
487
384
  <span class="cline-any cline-neutral">&nbsp;</span>
488
385
  <span class="cline-any cline-neutral">&nbsp;</span>
489
- <span class="cline-any cline-neutral">&nbsp;</span>
490
- <span class="cline-any cline-yes">26x</span>
491
- <span class="cline-any cline-neutral">&nbsp;</span>
386
+ <span class="cline-any cline-yes">23x</span>
492
387
  <span class="cline-any cline-neutral">&nbsp;</span>
493
388
  <span class="cline-any cline-neutral">&nbsp;</span>
494
389
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -506,9 +401,6 @@
506
401
  <span class="cline-any cline-neutral">&nbsp;</span>
507
402
  <span class="cline-any cline-neutral">&nbsp;</span>
508
403
  <span class="cline-any cline-neutral">&nbsp;</span>
509
- <span class="cline-any cline-neutral">&nbsp;</span>
510
- <span class="cline-any cline-neutral">&nbsp;</span>
511
- <span class="cline-any cline-neutral">&nbsp;</span>
512
404
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">/*---------------------------------------------------------------------------------------------
513
405
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
514
406
  * See LICENSE.md in the project root for license terms and full copyright notice.
@@ -517,11 +409,7 @@ import { SvgAdd, SvgPlay, SvgRefresh } from "@itwin/itwinui-icons-react";
517
409
  import { Button, IconButton } from "@itwin/itwinui-react";
518
410
  import React, { useCallback, useEffect, useMemo, useState } from "react";
519
411
  import type { CreateTypeFromInterface } from "./utils";
520
- import {
521
- EmptyMessage,
522
- handleError,
523
- LoadingOverlay,
524
- } from "./utils";
412
+ import { EmptyMessage, handleError, LoadingOverlay } from "./utils";
525
413
  import "./Reports.scss";
526
414
  import DeleteModal from "./DeleteModal";
527
415
  import type { Report, ReportsClient } from "@itwin/insights-client";
@@ -540,7 +428,7 @@ const fetchReports = async (
540
428
  iTwinId: string | undefined,
541
429
  setIsLoading: (isLoading: boolean) =&gt; void,
542
430
  reportsClient: ReportsClient,
543
- getAccessToken: () =&gt; Promise&lt;AccessToken&gt;
431
+ getAccessToken: () =&gt; Promise&lt;AccessToken&gt;,
544
432
  ) =&gt; {
545
433
  try {
546
434
  <span class="missing-if-branch" title="if path not taken" >I</span>if (!iTwinId) <span class="cstat-no" title="statement not covered" >return;</span>
@@ -555,70 +443,47 @@ const fetchReports = async (
555
443
  }
556
444
  };
557
445
  &nbsp;
446
+ /**
447
+ * Props for {@link Reports} component.
448
+ * @public
449
+ */
558
450
  export interface ReportsProps {
559
451
  onClickAddReport?: () =&gt; void;
560
452
  onClickReportTitle?: (report: Report) =&gt; void;
561
453
  onClickReportModify?: (report: Report) =&gt; void;
562
454
  }
563
455
  &nbsp;
564
- export const Reports = ({
565
- onClickAddReport,
566
- onClickReportModify,
567
- onClickReportTitle,
568
- }: ReportsProps) =&gt; {
456
+ /**
457
+ * Component to manage and list reports for an iTwin.
458
+ * @public
459
+ */
460
+ export const Reports = ({ onClickAddReport, onClickReportModify, onClickReportTitle }: ReportsProps) =&gt; {
569
461
  const { iTwinId, getAccessToken, reportsClient } = useReportsConfigApi();
570
462
  const { bulkExtractor } = useBulkExtractor();
571
- const [showDeleteModal, setShowDeleteModal] = useState&lt;Report | undefined&gt;(
572
- undefined
573
- );
463
+ const [showDeleteModal, setShowDeleteModal] = useState&lt;Report | undefined&gt;(undefined);
574
464
  const [selectedReportIds, setSelectedReportIds] = useState&lt;string[]&gt;([]);
575
465
  const [isLoading, setIsLoading] = useState&lt;boolean&gt;(true);
576
466
  const [searchValue, setSearchValue] = useState&lt;string&gt;("");
577
467
  const [reports, setReports] = useState&lt;Report[]&gt;([]);
578
- const jobStartEvent = useMemo(
579
- () =&gt; new BeEvent&lt;(reportId: string) =&gt; void&gt;(),
580
- []
581
- );
468
+ const jobStartEvent = useMemo(() =&gt; new BeEvent&lt;(reportId: string) =&gt; void&gt;(), []);
582
469
  &nbsp;
583
470
  useEffect(() =&gt; {
584
- void fetchReports(
585
- setReports,
586
- iTwinId,
587
- setIsLoading,
588
- reportsClient,
589
- getAccessToken
590
- );
471
+ void fetchReports(setReports, iTwinId, setIsLoading, reportsClient, getAccessToken);
591
472
  }, [getAccessToken, iTwinId, reportsClient, setIsLoading]);
592
473
  &nbsp;
593
474
  const refresh = useCallback(async () =&gt; {
594
- await fetchReports(
595
- setReports,
596
- iTwinId,
597
- setIsLoading,
598
- reportsClient,
599
- getAccessToken
600
- );
475
+ await fetchReports(setReports, iTwinId, setIsLoading, reportsClient, getAccessToken);
601
476
  }, [getAccessToken, iTwinId, reportsClient]);
602
477
  &nbsp;
603
478
  const filteredReports = useMemo(
604
- () =&gt;
605
- reports.filter((x) =&gt;
606
- [x.displayName, x.description]
607
- .join(" ")
608
- .toLowerCase()
609
- .includes(searchValue.toLowerCase())
610
- ),
611
- [reports, searchValue]
479
+ () =&gt; reports.filter((x) =&gt; [x.displayName, x.description].join(" ").toLowerCase().includes(searchValue.toLowerCase())),
480
+ [reports, searchValue],
612
481
  );
613
482
  &nbsp;
614
483
  const onSelectionChange = (reportId: string, control: boolean) =&gt; {
615
484
  if (!control) setSelectedReportIds([]);
616
485
  &nbsp;
617
- setSelectedReportIds((sr) =&gt;
618
- sr.some(<span class="fstat-no" title="function not covered" >(r</span>) =&gt; <span class="cstat-no" title="statement not covered" >reportId === r)</span>
619
- ? <span class="branch-0 cbranch-no" title="branch not covered" >sr.filter(<span class="fstat-no" title="function not covered" >(r</span>) =&gt; <span class="cstat-no" title="statement not covered" >reportId !== r)</span></span>
620
- : [...sr, reportId]
621
- );
486
+ setSelectedReportIds((sr) =&gt; (sr.some(<span class="fstat-no" title="function not covered" >(r</span>) =&gt; <span class="cstat-no" title="statement not covered" >reportId === r)</span> ? <span class="branch-0 cbranch-no" title="branch not covered" >sr.filter(<span class="fstat-no" title="function not covered" >(r</span>) =&gt; <span class="cstat-no" title="statement not covered" >reportId !== r)</span> </span>: [...sr, reportId]));
622
487
  };
623
488
  &nbsp;
624
489
  const updateDatasets = useCallback(<span class="fstat-no" title="function not covered" >async </span>() =&gt; {
@@ -636,46 +501,28 @@ export const Reports = ({
636
501
  &lt;div className="rcw-toolbar"&gt;
637
502
  &lt;div className="rcw-button-spacing"&gt;
638
503
  {onClickAddReport &amp;&amp; (
639
- &lt;Button
640
- startIcon={&lt;SvgAdd /&gt;}
641
- onClick={onClickAddReport}
642
- styleType="high-visibility"
643
- title="New Report"
644
- &gt;
645
- {ReportsConfigWidget.localization.getLocalizedString(
646
- "ReportsConfigWidget:New"
647
- )}
504
+ &lt;Button startIcon={&lt;SvgAdd /&gt;} onClick={onClickAddReport} styleType="high-visibility" title="New Report"&gt;
505
+ {ReportsConfigWidget.localization.getLocalizedString("ReportsConfigWidget:New")}
648
506
  &lt;/Button&gt;
649
507
  )}
650
508
  &lt;IconButton
651
- title={ReportsConfigWidget.localization.getLocalizedString(
652
- "ReportsConfigWidget:UpdateDatasets"
653
- )}
509
+ title={ReportsConfigWidget.localization.getLocalizedString("ReportsConfigWidget:UpdateDatasets")}
654
510
  onClick={updateDatasets}
655
511
  disabled={selectedReportIds.length === 0}
656
512
  &gt;
657
513
  &lt;SvgPlay /&gt;
658
514
  &lt;/IconButton&gt;
659
515
  &lt;/div&gt;
660
- &lt;div
661
- className="rcw-search-bar-container"
662
- data-testid="rcw-search-bar"
663
- &gt;
516
+ &lt;div className="rcw-search-bar-container" data-testid="rcw-search-bar"&gt;
664
517
  &lt;IconButton
665
- title={ReportsConfigWidget.localization.getLocalizedString(
666
- "ReportsConfigWidget:Refresh"
667
- )}
518
+ title={ReportsConfigWidget.localization.getLocalizedString("ReportsConfigWidget:Refresh")}
668
519
  onClick={refresh}
669
520
  disabled={isLoading}
670
521
  styleType="borderless"
671
522
  &gt;
672
523
  &lt;SvgRefresh /&gt;
673
524
  &lt;/IconButton&gt;
674
- &lt;SearchBar
675
- searchValue={searchValue}
676
- setSearchValue={setSearchValue}
677
- disabled={isLoading}
678
- /&gt;
525
+ &lt;SearchBar searchValue={searchValue} setSearchValue={setSearchValue} disabled={isLoading} /&gt;
679
526
  &lt;/div&gt;
680
527
  &lt;/div&gt;
681
528
  {isLoading ? (
@@ -683,14 +530,10 @@ export const Reports = ({
683
530
  ) : reports.length === 0 &amp;&amp; onClickAddReport ? (
684
531
  &lt;EmptyMessage&gt;
685
532
  &lt;&gt;
686
- {ReportsConfigWidget.localization.getLocalizedString(
687
- "ReportsConfigWidget:NoReports"
688
- )}
533
+ {ReportsConfigWidget.localization.getLocalizedString("ReportsConfigWidget:NoReports")}
689
534
  &lt;div&gt;
690
535
  &lt;Button onClick={onClickAddReport} styleType="cta"&gt;
691
- {ReportsConfigWidget.localization.getLocalizedString(
692
- "ReportsConfigWidget:CreateOneReportCTA"
693
- )}
536
+ {ReportsConfigWidget.localization.getLocalizedString("ReportsConfigWidget:CreateOneReportCTA")}
694
537
  &lt;/Button&gt;
695
538
  &lt;/div&gt;
696
539
  &lt;/&gt;
@@ -709,9 +552,7 @@ export const Reports = ({
709
552
  }}
710
553
  onClickModify={onClickReportModify}
711
554
  onSelectionChange={onSelectionChange}
712
- selected={selectedReportIds.some(
713
- (reportId) =&gt; report.id === reportId
714
- )}
555
+ selected={selectedReportIds.some((reportId) =&gt; report.id === reportId)}
715
556
  /&gt;
716
557
  ))}
717
558
  &lt;/div&gt;
@@ -722,10 +563,7 @@ export const Reports = ({
722
563
  onClose={() =&gt; setShowDeleteModal(undefined)}
723
564
  onDelete={async () =&gt; {
724
565
  const accessToken = await getAccessToken();
725
- await reportsClient.deleteReport(
726
- accessToken,
727
- showDeleteModal?.id ?? <span class="branch-1 cbranch-no" title="branch not covered" >""</span>
728
- );
566
+ await reportsClient.deleteReport(accessToken, showDeleteModal?.id ?? <span class="branch-1 cbranch-no" title="branch not covered" >"")</span>;
729
567
  }}
730
568
  refresh={refresh}
731
569
  /&gt;
@@ -739,7 +577,7 @@ export const Reports = ({
739
577
  <div class='footer quiet pad2 space-top1 center small'>
740
578
  Code coverage generated by
741
579
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
742
- at 2024-01-29T21:35:13.448Z
580
+ at 2024-06-10T17:38:17.498Z
743
581
  </div>
744
582
  <script src="../../../prettify.js"></script>
745
583
  <script>
@@ -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,7 +159,12 @@
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></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
163
168
  <span class="cline-any cline-neutral">&nbsp;</span>
164
169
  <span class="cline-any cline-neutral">&nbsp;</span>
165
170
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -171,9 +176,6 @@
171
176
  <span class="cline-any cline-yes">7x</span>
172
177
  <span class="cline-any cline-yes">7x</span>
173
178
  <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
179
  <span class="cline-any cline-yes">7x</span>
178
180
  <span class="cline-any cline-yes">7x</span>
179
181
  <span class="cline-any cline-yes">7x</span>
@@ -193,23 +195,29 @@
193
195
  <span class="cline-any cline-neutral">&nbsp;</span>
194
196
  <span class="cline-any cline-neutral">&nbsp;</span>
195
197
  <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>
198
+ <span class="cline-any cline-neutral">&nbsp;</span>
199
+ <span class="cline-any cline-neutral">&nbsp;</span>
200
+ <span class="cline-any cline-neutral">&nbsp;</span>
198
201
  <span class="cline-any cline-neutral">&nbsp;</span>
199
202
  <span class="cline-any cline-yes">7x</span>
200
- <span class="cline-any cline-yes">256x</span>
201
203
  <span class="cline-any cline-neutral">&nbsp;</span>
202
204
  <span class="cline-any cline-neutral">&nbsp;</span>
203
205
  <span class="cline-any cline-neutral">&nbsp;</span>
204
- <span class="cline-any cline-yes">58x</span>
205
206
  <span class="cline-any cline-neutral">&nbsp;</span>
206
207
  <span class="cline-any cline-neutral">&nbsp;</span>
208
+ <span class="cline-any cline-yes">7x</span>
209
+ <span class="cline-any cline-yes">210x</span>
210
+ <span class="cline-any cline-yes">58x</span>
207
211
  <span class="cline-any cline-yes">58x</span>
212
+ <span class="cline-any cline-yes">29x</span>
213
+ <span class="cline-any cline-neutral">&nbsp;</span>
208
214
  <span class="cline-any cline-neutral">&nbsp;</span>
209
215
  <span class="cline-any cline-neutral">&nbsp;</span>
210
216
  <span class="cline-any cline-neutral">&nbsp;</span>
211
217
  <span class="cline-any cline-yes">58x</span>
212
218
  <span class="cline-any cline-neutral">&nbsp;</span>
219
+ <span class="cline-any cline-yes">58x</span>
220
+ <span class="cline-any cline-neutral">&nbsp;</span>
213
221
  <span class="cline-any cline-neutral">&nbsp;</span>
214
222
  <span class="cline-any cline-neutral">&nbsp;</span>
215
223
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -236,6 +244,10 @@
236
244
  <span class="cline-any cline-neutral">&nbsp;</span>
237
245
  <span class="cline-any cline-neutral">&nbsp;</span>
238
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>
239
251
  <span class="cline-any cline-yes">58x</span>
240
252
  <span class="cline-any cline-yes">29x</span>
241
253
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -253,23 +265,18 @@
253
265
  <span class="cline-any cline-neutral">&nbsp;</span>
254
266
  <span class="cline-any cline-neutral">&nbsp;</span>
255
267
  <span class="cline-any cline-neutral">&nbsp;</span>
256
- <span class="cline-any cline-neutral">&nbsp;</span>
257
- <span class="cline-any cline-neutral">&nbsp;</span>
258
268
  <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
- *--------------------------------------------------------------------------------------------*/
269
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
270
+ * See LICENSE.md in the project root for license terms and full copyright notice.
271
+ *--------------------------------------------------------------------------------------------*/
262
272
  import { IModelApp } from "@itwin/core-frontend";
263
273
  import type { IModelsClientOptions } from "@itwin/imodels-client-management";
264
274
  import { IModelsClient } from "@itwin/imodels-client-management";
265
- import { ExtractionClient, MappingsClient, REPORTING_BASE_PATH, ReportsClient } from "@itwin/insights-client";
275
+ import { ExtractionClient, GROUPING_AND_MAPPING_BASE_PATH, MappingsClient, REPORTING_BASE_PATH, ReportsClient } from "@itwin/insights-client";
266
276
  import { toaster } from "@itwin/itwinui-react";
267
277
  import React, { useCallback, useEffect, useMemo, useState } from "react";
268
278
  import { BulkExtractorContext } from "../context/BulkExtractorContext";
269
- import type {
270
- GetAccessTokenFn,
271
- ReportsConfigApiProps,
272
- } from "../context/ReportsConfigApiContext";
279
+ import type { GetAccessTokenFn, ReportsConfigApiProps } from "../context/ReportsConfigApiContext";
273
280
  import { ReportsConfigApiContext } from "../context/ReportsConfigApiContext";
274
281
  import { REPORTS_CONFIG_BASE_URL } from "../ReportsConfigUiProvider";
275
282
  import { BulkExtractor } from "./BulkExtractor";
@@ -277,6 +284,10 @@ import { IMODELS_BASE_URL } from "./Constants";
277
284
  import { FailedExtractionToast, SuccessfulExtractionToast } from "./ExtractionToast";
278
285
  import { generateUrl } from "./utils";
279
286
  &nbsp;
287
+ /**
288
+ * Props for the {@link ReportsConfigContext} component.
289
+ * @public
290
+ */
280
291
  export interface ReportsConfigContextProps {
281
292
  getAccessToken?: GetAccessTokenFn;
282
293
  baseUrl?: string;
@@ -289,27 +300,29 @@ export interface ReportsConfigContextProps {
289
300
  children?: React.ReactNode;
290
301
  }
291
302
  &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>
303
+ 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
304
  &nbsp;
305
+ /**
306
+ * Reports Config context providers required for all components.
307
+ * @public
308
+ */
295
309
  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())
310
+ const reportsBaseUrl = useCallback(() =&gt; generateUrl(REPORTING_BASE_PATH, props.baseUrl || REPORTS_CONFIG_BASE_URL), [props.baseUrl]);
311
+ const groupingMappingBaseUrl = useCallback(() =&gt; generateUrl(GROUPING_AND_MAPPING_BASE_PATH, props.baseUrl || REPORTS_CONFIG_BASE_URL), [props.baseUrl]);
312
+ const iModelClientOptions: IModelsClientOptions = useMemo(
313
+ () =&gt; ({
314
+ api: { baseUrl: generateUrl(IMODELS_BASE_URL, props.baseUrl ?? REPORTS_CONFIG_BASE_URL) },
315
+ }),
316
+ [props.baseUrl],
305
317
  );
318
+ const [extractionClient, setExtractionClient] = useState&lt;ExtractionClient&gt;(props.extractionClient ?? new ExtractionClient(reportsBaseUrl()));
306
319
  &nbsp;
307
320
  const [apiConfig, setApiConfig] = useState&lt;ReportsConfigApiProps&gt;({
308
321
  getAccessToken: props.getAccessToken ?? <span class="branch-1 cbranch-no" title="branch not covered" >authorizationClientGetAccessToken,</span>
309
322
  baseUrl: reportsBaseUrl(),
310
323
  iTwinId: props.iTwinId,
311
324
  reportsClient: props.reportsClient ?? new ReportsClient(reportsBaseUrl()),
312
- mappingsClient: props.mappingsClient ?? new MappingsClient(reportsBaseUrl()),
325
+ mappingsClient: props.mappingsClient ?? new MappingsClient(groupingMappingBaseUrl()),
313
326
  iModelsClient: props.iModelsClient ?? new IModelsClient(iModelClientOptions),
314
327
  });
315
328
  &nbsp;
@@ -328,8 +341,12 @@ export const ReportsConfigContext = (props: ReportsConfigContextProps) =&gt; {
328
341
  };
329
342
  &nbsp;
330
343
  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]
344
+ () =&gt; ({
345
+ bulkExtractor:
346
+ props.bulkExtractor ??
347
+ new BulkExtractor(apiConfig.reportsClient, extractionClient, apiConfig.getAccessToken, successfulExtractionToast, failedExtractionToast),
348
+ }),
349
+ [apiConfig.getAccessToken, apiConfig.reportsClient, extractionClient, props.bulkExtractor],
333
350
  );
334
351
  &nbsp;
335
352
  useEffect(() =&gt; {
@@ -345,9 +362,7 @@ export const ReportsConfigContext = (props: ReportsConfigContextProps) =&gt; {
345
362
  &nbsp;
346
363
  return (
347
364
  &lt;ReportsConfigApiContext.Provider value={apiConfig}&gt;
348
- &lt;BulkExtractorContext.Provider value={bulkExtractor}&gt;
349
- {props.children}
350
- &lt;/BulkExtractorContext.Provider&gt;
365
+ &lt;BulkExtractorContext.Provider value={bulkExtractor}&gt;{props.children}&lt;/BulkExtractorContext.Provider&gt;
351
366
  &lt;/ReportsConfigApiContext.Provider&gt;
352
367
  );
353
368
  };
@@ -358,7 +373,7 @@ export const ReportsConfigContext = (props: ReportsConfigContextProps) =&gt; {
358
373
  <div class='footer quiet pad2 space-top1 center small'>
359
374
  Code coverage generated by
360
375
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
361
- at 2024-01-29T21:35:13.448Z
376
+ at 2024-06-10T17:38:17.498Z
362
377
  </div>
363
378
  <script src="../../../prettify.js"></script>
364
379
  <script>