@itwin/reports-config-widget-react 0.1.0 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (250) hide show
  1. package/.rush/temp/package-deps_rebuild.json +38 -34
  2. package/.rush/temp/shrinkwrap-deps.json +14 -6
  3. package/CHANGELOG.json +30 -0
  4. package/CHANGELOG.md +17 -1
  5. package/coverage/clover.xml +605 -610
  6. package/coverage/coverage-final.json +28 -27
  7. package/coverage/lcov-report/index.html +31 -31
  8. package/coverage/lcov-report/src/ReportsConfigWidget.ts.html +10 -10
  9. package/coverage/lcov-report/src/index.html +1 -1
  10. package/coverage/lcov-report/src/test/index.html +1 -1
  11. package/coverage/lcov-report/src/test/test-utils.tsx.html +22 -22
  12. package/coverage/lcov-report/src/widget/ReportsConfigUiProvider.tsx.html +7 -7
  13. package/coverage/lcov-report/src/widget/components/ActionPanel.tsx.html +29 -41
  14. package/coverage/lcov-report/src/widget/components/AddMappingsModal.tsx.html +31 -37
  15. package/coverage/lcov-report/src/widget/components/BulkExtractor.ts.html +270 -162
  16. package/coverage/lcov-report/src/widget/components/Constants.ts.html +4 -4
  17. package/coverage/lcov-report/src/widget/components/DeleteModal.tsx.html +21 -21
  18. package/coverage/lcov-report/src/widget/components/ExtractionStates/FailedExtractionState.tsx.html +6 -6
  19. package/coverage/lcov-report/src/widget/components/ExtractionStates/QueuedExtractionState.tsx.html +14 -14
  20. package/coverage/lcov-report/src/widget/components/ExtractionStates/RunningExtractionState.tsx.html +15 -15
  21. package/coverage/lcov-report/src/widget/components/ExtractionStates/StartingExtractionState.tsx.html +14 -14
  22. package/coverage/lcov-report/src/widget/components/ExtractionStates/SucceededExtractionState.tsx.html +22 -19
  23. package/coverage/lcov-report/src/widget/components/ExtractionStates/index.html +43 -43
  24. package/coverage/lcov-report/src/widget/components/ExtractionStatus.tsx.html +57 -57
  25. package/coverage/lcov-report/src/widget/components/ExtractionToast.tsx.html +208 -0
  26. package/coverage/lcov-report/src/widget/components/HorizontalTile.tsx.html +8 -8
  27. package/coverage/lcov-report/src/widget/components/LocalizedTablePaginator.tsx.html +8 -8
  28. package/coverage/lcov-report/src/widget/components/ReportAction.tsx.html +14 -20
  29. package/coverage/lcov-report/src/widget/components/ReportHorizontalTile.tsx.html +30 -33
  30. package/coverage/lcov-report/src/widget/components/ReportMappingHorizontalTile.tsx.html +469 -0
  31. package/coverage/lcov-report/src/widget/components/ReportMappings.tsx.html +183 -231
  32. package/coverage/lcov-report/src/widget/components/Reports.tsx.html +73 -43
  33. package/coverage/lcov-report/src/widget/components/ReportsContainer.tsx.html +10 -10
  34. package/coverage/lcov-report/src/widget/components/SearchBar.tsx.html +10 -10
  35. package/coverage/lcov-report/src/widget/components/SelectIModel.tsx.html +31 -31
  36. package/coverage/lcov-report/src/widget/components/index.html +100 -85
  37. package/coverage/lcov-report/src/widget/components/utils.tsx.html +32 -32
  38. package/coverage/lcov-report/src/widget/context/ReportsApiConfigContext.tsx.html +8 -8
  39. package/coverage/lcov-report/src/widget/context/index.html +1 -1
  40. package/coverage/lcov-report/src/widget/hooks/index.html +1 -1
  41. package/coverage/lcov-report/src/widget/hooks/useValidator.ts.html +7 -7
  42. package/coverage/lcov-report/src/widget/index.html +1 -1
  43. package/coverage/lcov.info +990 -1003
  44. package/jest.config.js +6 -0
  45. package/lib/cjs/test/AddMappingModal.test.d.ts +2 -0
  46. package/lib/cjs/test/AddMappingModal.test.d.ts.map +1 -0
  47. package/lib/cjs/test/AddMappingModal.test.js +277 -0
  48. package/lib/cjs/test/AddMappingModal.test.js.map +1 -0
  49. package/lib/cjs/test/BulkExtractor.test.d.ts +2 -0
  50. package/lib/cjs/test/BulkExtractor.test.d.ts.map +1 -0
  51. package/lib/cjs/test/BulkExtractor.test.js +182 -0
  52. package/lib/cjs/test/BulkExtractor.test.js.map +1 -0
  53. package/lib/cjs/test/DeleteModal.test.d.ts +2 -0
  54. package/lib/cjs/test/DeleteModal.test.d.ts.map +1 -0
  55. package/lib/cjs/test/DeleteModal.test.js +93 -0
  56. package/lib/cjs/test/DeleteModal.test.js.map +1 -0
  57. package/lib/cjs/test/ReportAction.test.js +2 -3
  58. package/lib/cjs/test/ReportAction.test.js.map +1 -1
  59. package/lib/cjs/test/ReportMappingHorizontalTile.test.d.ts +2 -0
  60. package/lib/cjs/test/ReportMappingHorizontalTile.test.d.ts.map +1 -0
  61. package/lib/cjs/test/ReportMappingHorizontalTile.test.js +340 -0
  62. package/lib/cjs/test/ReportMappingHorizontalTile.test.js.map +1 -0
  63. package/lib/cjs/test/ReportMappings.test.js +115 -267
  64. package/lib/cjs/test/ReportMappings.test.js.map +1 -1
  65. package/lib/cjs/test/Reports.test.js +1 -1
  66. package/lib/cjs/test/Reports.test.js.map +1 -1
  67. package/lib/cjs/tsconfig.tsbuildinfo +1 -1
  68. package/lib/cjs/widget/components/ActionPanel.d.ts.map +1 -1
  69. package/lib/cjs/widget/components/ActionPanel.js +4 -5
  70. package/lib/cjs/widget/components/ActionPanel.js.map +1 -1
  71. package/lib/cjs/widget/components/AddMappingsModal.d.ts +2 -2
  72. package/lib/cjs/widget/components/AddMappingsModal.d.ts.map +1 -1
  73. package/lib/cjs/widget/components/AddMappingsModal.js +5 -4
  74. package/lib/cjs/widget/components/AddMappingsModal.js.map +1 -1
  75. package/lib/cjs/widget/components/AddMappingsModal.scss +4 -3
  76. package/lib/cjs/widget/components/BulkExtractor.d.ts +18 -9
  77. package/lib/cjs/widget/components/BulkExtractor.d.ts.map +1 -1
  78. package/lib/cjs/widget/components/BulkExtractor.js +86 -57
  79. package/lib/cjs/widget/components/BulkExtractor.js.map +1 -1
  80. package/lib/cjs/widget/components/DeleteModal.js +1 -1
  81. package/lib/cjs/widget/components/DeleteModal.js.map +1 -1
  82. package/lib/cjs/widget/components/DeleteModal.scss +4 -3
  83. package/lib/cjs/widget/components/ExtractionStates/RunningExtractionState.js +1 -1
  84. package/lib/cjs/widget/components/ExtractionStates/RunningExtractionState.js.map +1 -1
  85. package/lib/cjs/widget/components/ExtractionStates/SucceededExtractionState.d.ts.map +1 -1
  86. package/lib/cjs/widget/components/ExtractionStates/SucceededExtractionState.js +1 -1
  87. package/lib/cjs/widget/components/ExtractionStates/SucceededExtractionState.js.map +1 -1
  88. package/lib/cjs/widget/components/ExtractionStatus.scss +15 -1
  89. package/lib/cjs/widget/components/ExtractionToast.d.ts +11 -0
  90. package/lib/cjs/widget/components/ExtractionToast.d.ts.map +1 -0
  91. package/lib/cjs/widget/components/ExtractionToast.js +33 -0
  92. package/lib/cjs/widget/components/ExtractionToast.js.map +1 -0
  93. package/lib/cjs/widget/components/HorizontalTile.scss +1 -1
  94. package/lib/cjs/widget/components/ReportAction.d.ts.map +1 -1
  95. package/lib/cjs/widget/components/ReportAction.js +3 -3
  96. package/lib/cjs/widget/components/ReportAction.js.map +1 -1
  97. package/lib/cjs/widget/components/ReportAction.scss +2 -2
  98. package/lib/cjs/widget/components/ReportHorizontalTile.d.ts.map +1 -1
  99. package/lib/cjs/widget/components/ReportHorizontalTile.js +1 -2
  100. package/lib/cjs/widget/components/ReportHorizontalTile.js.map +1 -1
  101. package/lib/cjs/widget/components/ReportMappingHorizontalTile.d.ts +13 -0
  102. package/lib/cjs/widget/components/ReportMappingHorizontalTile.d.ts.map +1 -0
  103. package/lib/cjs/widget/components/ReportMappingHorizontalTile.js +82 -0
  104. package/lib/cjs/widget/components/ReportMappingHorizontalTile.js.map +1 -0
  105. package/lib/cjs/widget/components/ReportMappings.d.ts +3 -1
  106. package/lib/cjs/widget/components/ReportMappings.d.ts.map +1 -1
  107. package/lib/cjs/widget/components/ReportMappings.js +39 -40
  108. package/lib/cjs/widget/components/ReportMappings.js.map +1 -1
  109. package/lib/cjs/widget/components/ReportMappings.scss +7 -7
  110. package/lib/cjs/widget/components/Reports.d.ts.map +1 -1
  111. package/lib/cjs/widget/components/Reports.js +13 -6
  112. package/lib/cjs/widget/components/Reports.js.map +1 -1
  113. package/lib/cjs/widget/components/Reports.scss +1 -1
  114. package/lib/cjs/widget/components/ReportsContainer.js +1 -1
  115. package/lib/cjs/widget/components/ReportsContainer.js.map +1 -1
  116. package/lib/cjs/widget/components/ReportsContainer.scss +2 -2
  117. package/lib/cjs/widget/components/SelectIModel.js +2 -2
  118. package/lib/cjs/widget/components/SelectIModel.js.map +1 -1
  119. package/lib/cjs/widget/components/SelectIModel.scss +4 -3
  120. package/lib/cjs/widget/components/utils.js +1 -1
  121. package/lib/cjs/widget/components/utils.js.map +1 -1
  122. package/lib/cjs/widget/components/utils.scss +2 -2
  123. package/lib/esm/test/AddMappingModal.test.d.ts +2 -0
  124. package/lib/esm/test/AddMappingModal.test.d.ts.map +1 -0
  125. package/lib/esm/test/AddMappingModal.test.js +253 -0
  126. package/lib/esm/test/AddMappingModal.test.js.map +1 -0
  127. package/lib/esm/test/BulkExtractor.test.d.ts +2 -0
  128. package/lib/esm/test/BulkExtractor.test.d.ts.map +1 -0
  129. package/lib/esm/test/BulkExtractor.test.js +158 -0
  130. package/lib/esm/test/BulkExtractor.test.js.map +1 -0
  131. package/lib/esm/test/DeleteModal.test.d.ts +2 -0
  132. package/lib/esm/test/DeleteModal.test.d.ts.map +1 -0
  133. package/lib/esm/test/DeleteModal.test.js +69 -0
  134. package/lib/esm/test/DeleteModal.test.js.map +1 -0
  135. package/lib/esm/test/ReportAction.test.js +2 -3
  136. package/lib/esm/test/ReportAction.test.js.map +1 -1
  137. package/lib/esm/test/ReportMappingHorizontalTile.test.d.ts +2 -0
  138. package/lib/esm/test/ReportMappingHorizontalTile.test.d.ts.map +1 -0
  139. package/lib/esm/test/ReportMappingHorizontalTile.test.js +316 -0
  140. package/lib/esm/test/ReportMappingHorizontalTile.test.js.map +1 -0
  141. package/lib/esm/test/ReportMappings.test.js +117 -269
  142. package/lib/esm/test/ReportMappings.test.js.map +1 -1
  143. package/lib/esm/test/Reports.test.js +1 -1
  144. package/lib/esm/test/Reports.test.js.map +1 -1
  145. package/lib/esm/tsconfig.tsbuildinfo +1 -1
  146. package/lib/esm/widget/components/ActionPanel.d.ts.map +1 -1
  147. package/lib/esm/widget/components/ActionPanel.js +4 -5
  148. package/lib/esm/widget/components/ActionPanel.js.map +1 -1
  149. package/lib/esm/widget/components/AddMappingsModal.d.ts +2 -2
  150. package/lib/esm/widget/components/AddMappingsModal.d.ts.map +1 -1
  151. package/lib/esm/widget/components/AddMappingsModal.js +4 -5
  152. package/lib/esm/widget/components/AddMappingsModal.js.map +1 -1
  153. package/lib/esm/widget/components/AddMappingsModal.scss +4 -3
  154. package/lib/esm/widget/components/BulkExtractor.d.ts +18 -9
  155. package/lib/esm/widget/components/BulkExtractor.d.ts.map +1 -1
  156. package/lib/esm/widget/components/BulkExtractor.js +86 -57
  157. package/lib/esm/widget/components/BulkExtractor.js.map +1 -1
  158. package/lib/esm/widget/components/DeleteModal.js +1 -1
  159. package/lib/esm/widget/components/DeleteModal.js.map +1 -1
  160. package/lib/esm/widget/components/DeleteModal.scss +4 -3
  161. package/lib/esm/widget/components/ExtractionStates/RunningExtractionState.js +1 -1
  162. package/lib/esm/widget/components/ExtractionStates/RunningExtractionState.js.map +1 -1
  163. package/lib/esm/widget/components/ExtractionStates/SucceededExtractionState.d.ts.map +1 -1
  164. package/lib/esm/widget/components/ExtractionStates/SucceededExtractionState.js +1 -1
  165. package/lib/esm/widget/components/ExtractionStates/SucceededExtractionState.js.map +1 -1
  166. package/lib/esm/widget/components/ExtractionStatus.scss +15 -1
  167. package/lib/esm/widget/components/ExtractionToast.d.ts +11 -0
  168. package/lib/esm/widget/components/ExtractionToast.d.ts.map +1 -0
  169. package/lib/esm/widget/components/ExtractionToast.js +25 -0
  170. package/lib/esm/widget/components/ExtractionToast.js.map +1 -0
  171. package/lib/esm/widget/components/HorizontalTile.scss +1 -1
  172. package/lib/esm/widget/components/ReportAction.d.ts.map +1 -1
  173. package/lib/esm/widget/components/ReportAction.js +3 -3
  174. package/lib/esm/widget/components/ReportAction.js.map +1 -1
  175. package/lib/esm/widget/components/ReportAction.scss +2 -2
  176. package/lib/esm/widget/components/ReportHorizontalTile.d.ts.map +1 -1
  177. package/lib/esm/widget/components/ReportHorizontalTile.js +1 -2
  178. package/lib/esm/widget/components/ReportHorizontalTile.js.map +1 -1
  179. package/lib/esm/widget/components/ReportMappingHorizontalTile.d.ts +13 -0
  180. package/lib/esm/widget/components/ReportMappingHorizontalTile.d.ts.map +1 -0
  181. package/lib/esm/widget/components/ReportMappingHorizontalTile.js +75 -0
  182. package/lib/esm/widget/components/ReportMappingHorizontalTile.js.map +1 -0
  183. package/lib/esm/widget/components/ReportMappings.d.ts +3 -1
  184. package/lib/esm/widget/components/ReportMappings.d.ts.map +1 -1
  185. package/lib/esm/widget/components/ReportMappings.js +40 -41
  186. package/lib/esm/widget/components/ReportMappings.js.map +1 -1
  187. package/lib/esm/widget/components/ReportMappings.scss +7 -7
  188. package/lib/esm/widget/components/Reports.d.ts.map +1 -1
  189. package/lib/esm/widget/components/Reports.js +15 -8
  190. package/lib/esm/widget/components/Reports.js.map +1 -1
  191. package/lib/esm/widget/components/Reports.scss +1 -1
  192. package/lib/esm/widget/components/ReportsContainer.js +1 -1
  193. package/lib/esm/widget/components/ReportsContainer.js.map +1 -1
  194. package/lib/esm/widget/components/ReportsContainer.scss +2 -2
  195. package/lib/esm/widget/components/SelectIModel.js +2 -2
  196. package/lib/esm/widget/components/SelectIModel.js.map +1 -1
  197. package/lib/esm/widget/components/SelectIModel.scss +4 -3
  198. package/lib/esm/widget/components/utils.js +1 -1
  199. package/lib/esm/widget/components/utils.js.map +1 -1
  200. package/lib/esm/widget/components/utils.scss +2 -2
  201. package/lib/public/locales/en/ReportsConfigWidget.json +5 -0
  202. package/package.json +7 -4
  203. package/public/locales/en/ReportsConfigWidget.json +5 -0
  204. package/reports-config-widget-react.build.error.log +10 -6
  205. package/reports-config-widget-react.build.log +51 -46
  206. package/src/test/AddMappingModal.test.tsx +315 -0
  207. package/src/test/BulkExtractor.test.ts +301 -0
  208. package/src/test/DeleteModal.test.tsx +118 -0
  209. package/src/test/ReportAction.test.tsx +2 -4
  210. package/src/test/ReportMappingHorizontalTile.test.tsx +451 -0
  211. package/src/test/ReportMappings.test.tsx +154 -549
  212. package/src/test/Reports.test.tsx +1 -1
  213. package/src/widget/components/ActionPanel.tsx +19 -23
  214. package/src/widget/components/AddMappingsModal.scss +4 -3
  215. package/src/widget/components/AddMappingsModal.tsx +4 -6
  216. package/src/widget/components/BulkExtractor.ts +97 -61
  217. package/src/widget/components/DeleteModal.scss +4 -3
  218. package/src/widget/components/DeleteModal.tsx +1 -1
  219. package/src/widget/components/ExtractionStates/RunningExtractionState.tsx +1 -1
  220. package/src/widget/components/ExtractionStates/SucceededExtractionState.tsx +1 -0
  221. package/src/widget/components/ExtractionStatus.scss +15 -1
  222. package/src/widget/components/ExtractionToast.tsx +41 -0
  223. package/src/widget/components/HorizontalTile.scss +1 -1
  224. package/src/widget/components/ReportAction.scss +2 -2
  225. package/src/widget/components/ReportAction.tsx +1 -3
  226. package/src/widget/components/ReportHorizontalTile.tsx +1 -2
  227. package/src/widget/components/ReportMappingHorizontalTile.tsx +128 -0
  228. package/src/widget/components/ReportMappings.scss +7 -7
  229. package/src/widget/components/ReportMappings.tsx +89 -105
  230. package/src/widget/components/Reports.scss +1 -1
  231. package/src/widget/components/Reports.tsx +18 -8
  232. package/src/widget/components/ReportsContainer.scss +2 -2
  233. package/src/widget/components/ReportsContainer.tsx +1 -1
  234. package/src/widget/components/SelectIModel.scss +4 -3
  235. package/src/widget/components/SelectIModel.tsx +2 -2
  236. package/src/widget/components/utils.scss +2 -2
  237. package/src/widget/components/utils.tsx +1 -1
  238. package/coverage/lcov-report/src/widget/components/Extraction.tsx.html +0 -1030
  239. package/lib/cjs/widget/components/Extraction.d.ts +0 -28
  240. package/lib/cjs/widget/components/Extraction.d.ts.map +0 -1
  241. package/lib/cjs/widget/components/Extraction.js +0 -190
  242. package/lib/cjs/widget/components/Extraction.js.map +0 -1
  243. package/lib/cjs/widget/components/Extraction.scss +0 -39
  244. package/lib/esm/widget/components/Extraction.d.ts +0 -28
  245. package/lib/esm/widget/components/Extraction.d.ts.map +0 -1
  246. package/lib/esm/widget/components/Extraction.js +0 -166
  247. package/lib/esm/widget/components/Extraction.js.map +0 -1
  248. package/lib/esm/widget/components/Extraction.scss +0 -39
  249. package/src/widget/components/Extraction.scss +0 -39
  250. package/src/widget/components/Extraction.tsx +0 -315
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">96.34% </span>
26
+ <span class="strong">92.13% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>79/82</span>
28
+ <span class='fraction'>82/89</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">73.68% </span>
33
+ <span class="strong">56.75% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>28/38</span>
35
+ <span class='fraction'>21/37</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">94.44% </span>
40
+ <span class="strong">85% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>17/18</span>
42
+ <span class='fraction'>17/20</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">96.29% </span>
47
+ <span class="strong">91.86% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>78/81</span>
49
+ <span class='fraction'>79/86</span>
50
50
  </div>
51
51
 
52
52
 
@@ -394,68 +394,52 @@
394
394
  <a name='L329'></a><a href='#L329'>329</a>
395
395
  <a name='L330'></a><a href='#L330'>330</a>
396
396
  <a name='L331'></a><a href='#L331'>331</a>
397
- <a name='L332'></a><a href='#L332'>332</a>
398
- <a name='L333'></a><a href='#L333'>333</a>
399
- <a name='L334'></a><a href='#L334'>334</a>
400
- <a name='L335'></a><a href='#L335'>335</a>
401
- <a name='L336'></a><a href='#L336'>336</a>
402
- <a name='L337'></a><a href='#L337'>337</a>
403
- <a name='L338'></a><a href='#L338'>338</a>
404
- <a name='L339'></a><a href='#L339'>339</a>
405
- <a name='L340'></a><a href='#L340'>340</a>
406
- <a name='L341'></a><a href='#L341'>341</a>
407
- <a name='L342'></a><a href='#L342'>342</a>
408
- <a name='L343'></a><a href='#L343'>343</a>
409
- <a name='L344'></a><a href='#L344'>344</a>
410
- <a name='L345'></a><a href='#L345'>345</a>
411
- <a name='L346'></a><a href='#L346'>346</a>
412
- <a name='L347'></a><a href='#L347'>347</a>
413
- <a name='L348'></a><a href='#L348'>348</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
397
+ <a name='L332'></a><a href='#L332'>332</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
414
398
  <span class="cline-any cline-neutral">&nbsp;</span>
415
399
  <span class="cline-any cline-neutral">&nbsp;</span>
416
400
  <span class="cline-any cline-neutral">&nbsp;</span>
417
- <span class="cline-any cline-yes">2x</span>
401
+ <span class="cline-any cline-yes">5x</span>
418
402
  <span class="cline-any cline-neutral">&nbsp;</span>
419
403
  <span class="cline-any cline-neutral">&nbsp;</span>
420
404
  <span class="cline-any cline-neutral">&nbsp;</span>
405
+ <span class="cline-any cline-yes">5x</span>
421
406
  <span class="cline-any cline-neutral">&nbsp;</span>
422
407
  <span class="cline-any cline-neutral">&nbsp;</span>
423
- <span class="cline-any cline-yes">2x</span>
424
408
  <span class="cline-any cline-neutral">&nbsp;</span>
425
409
  <span class="cline-any cline-neutral">&nbsp;</span>
426
410
  <span class="cline-any cline-neutral">&nbsp;</span>
427
411
  <span class="cline-any cline-neutral">&nbsp;</span>
428
412
  <span class="cline-any cline-neutral">&nbsp;</span>
413
+ <span class="cline-any cline-yes">5x</span>
429
414
  <span class="cline-any cline-neutral">&nbsp;</span>
415
+ <span class="cline-any cline-yes">5x</span>
430
416
  <span class="cline-any cline-neutral">&nbsp;</span>
431
417
  <span class="cline-any cline-neutral">&nbsp;</span>
432
418
  <span class="cline-any cline-neutral">&nbsp;</span>
433
- <span class="cline-any cline-yes">2x</span>
434
419
  <span class="cline-any cline-neutral">&nbsp;</span>
435
- <span class="cline-any cline-yes">2x</span>
436
420
  <span class="cline-any cline-neutral">&nbsp;</span>
437
421
  <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>
438
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>
439
427
  <span class="cline-any cline-neutral">&nbsp;</span>
440
428
  <span class="cline-any cline-neutral">&nbsp;</span>
441
429
  <span class="cline-any cline-neutral">&nbsp;</span>
442
- <span class="cline-any cline-yes">2x</span>
443
- <span class="cline-any cline-yes">2x</span>
444
- <span class="cline-any cline-neutral">&nbsp;</span>
445
- <span class="cline-any cline-yes">2x</span>
446
- <span class="cline-any cline-yes">2x</span>
447
430
  <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>
448
434
  <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>
449
438
  <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>
450
441
  <span class="cline-any cline-neutral">&nbsp;</span>
451
- <span class="cline-any cline-yes">2x</span>
452
- <span class="cline-any cline-yes">2x</span>
453
- <span class="cline-any cline-yes">2x</span>
454
- <span class="cline-any cline-yes">2x</span>
455
- <span class="cline-any cline-yes">2x</span>
456
442
  <span class="cline-any cline-neutral">&nbsp;</span>
457
- <span class="cline-any cline-yes">2x</span>
458
- <span class="cline-any cline-yes">2x</span>
459
443
  <span class="cline-any cline-neutral">&nbsp;</span>
460
444
  <span class="cline-any cline-neutral">&nbsp;</span>
461
445
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -463,141 +447,134 @@
463
447
  <span class="cline-any cline-neutral">&nbsp;</span>
464
448
  <span class="cline-any cline-neutral">&nbsp;</span>
465
449
  <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>
466
453
  <span class="cline-any cline-neutral">&nbsp;</span>
467
454
  <span class="cline-any cline-neutral">&nbsp;</span>
468
- <span class="cline-any cline-yes">2x</span>
469
- <span class="cline-any cline-yes">2x</span>
470
- <span class="cline-any cline-yes">2x</span>
455
+ <span class="cline-any cline-yes">5x</span>
471
456
  <span class="cline-any cline-neutral">&nbsp;</span>
472
457
  <span class="cline-any cline-neutral">&nbsp;</span>
473
- <span class="cline-any cline-yes">2x</span>
474
458
  <span class="cline-any cline-neutral">&nbsp;</span>
475
459
  <span class="cline-any cline-neutral">&nbsp;</span>
476
460
  <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>
477
464
  <span class="cline-any cline-neutral">&nbsp;</span>
478
465
  <span class="cline-any cline-neutral">&nbsp;</span>
479
- <span class="cline-any cline-yes">8x</span>
480
- <span class="cline-any cline-yes">8x</span>
481
- <span class="cline-any cline-yes">8x</span>
466
+ <span class="cline-any cline-yes">6x</span>
482
467
  <span class="cline-any cline-neutral">&nbsp;</span>
483
468
  <span class="cline-any cline-neutral">&nbsp;</span>
484
- <span class="cline-any cline-yes">8x</span>
469
+ <span class="cline-any cline-yes">6x</span>
470
+ <span class="cline-any cline-yes">6x</span>
485
471
  <span class="cline-any cline-neutral">&nbsp;</span>
486
472
  <span class="cline-any cline-neutral">&nbsp;</span>
487
- <span class="cline-any cline-yes">8x</span>
488
- <span class="cline-any cline-yes">8x</span>
489
- <span class="cline-any cline-neutral">&nbsp;</span>
490
473
  <span class="cline-any cline-neutral">&nbsp;</span>
474
+ <span class="cline-any cline-yes">6x</span>
491
475
  <span class="cline-any cline-neutral">&nbsp;</span>
492
- <span class="cline-any cline-yes">8x</span>
493
476
  <span class="cline-any cline-neutral">&nbsp;</span>
494
477
  <span class="cline-any cline-neutral">&nbsp;</span>
478
+ <span class="cline-any cline-yes">6x</span>
495
479
  <span class="cline-any cline-neutral">&nbsp;</span>
496
- <span class="cline-any cline-yes">8x</span>
480
+ <span class="cline-any cline-yes">6x</span>
481
+ <span class="cline-any cline-yes">6x</span>
497
482
  <span class="cline-any cline-neutral">&nbsp;</span>
483
+ <span class="cline-any cline-yes">6x</span>
484
+ <span class="cline-any cline-yes">6x</span>
498
485
  <span class="cline-any cline-yes">8x</span>
499
486
  <span class="cline-any cline-yes">8x</span>
500
487
  <span class="cline-any cline-yes">8x</span>
501
488
  <span class="cline-any cline-neutral">&nbsp;</span>
502
- <span class="cline-any cline-yes">15x</span>
503
- <span class="cline-any cline-yes">15x</span>
504
- <span class="cline-any cline-yes">15x</span>
505
- <span class="cline-any cline-neutral">&nbsp;</span>
506
489
  <span class="cline-any cline-neutral">&nbsp;</span>
507
490
  <span class="cline-any cline-neutral">&nbsp;</span>
508
491
  <span class="cline-any cline-neutral">&nbsp;</span>
509
- <span class="cline-any cline-yes">15x</span>
492
+ <span class="cline-any cline-yes">8x</span>
510
493
  <span class="cline-any cline-no">&nbsp;</span>
511
494
  <span class="cline-any cline-neutral">&nbsp;</span>
512
- <span class="cline-any cline-yes">15x</span>
513
- <span class="cline-any cline-neutral">&nbsp;</span>
514
- <span class="cline-any cline-neutral">&nbsp;</span>
515
- <span class="cline-any cline-neutral">&nbsp;</span>
516
- <span class="cline-any cline-yes">15x</span>
517
- <span class="cline-any cline-yes">15x</span>
518
- <span class="cline-any cline-yes">15x</span>
519
- <span class="cline-any cline-neutral">&nbsp;</span>
520
- <span class="cline-any cline-yes">15x</span>
521
- <span class="cline-any cline-neutral">&nbsp;</span>
495
+ <span class="cline-any cline-yes">8x</span>
522
496
  <span class="cline-any cline-neutral">&nbsp;</span>
523
497
  <span class="cline-any cline-neutral">&nbsp;</span>
524
498
  <span class="cline-any cline-neutral">&nbsp;</span>
499
+ <span class="cline-any cline-yes">8x</span>
500
+ <span class="cline-any cline-yes">8x</span>
501
+ <span class="cline-any cline-yes">8x</span>
525
502
  <span class="cline-any cline-neutral">&nbsp;</span>
526
- <span class="cline-any cline-yes">15x</span>
503
+ <span class="cline-any cline-yes">8x</span>
527
504
  <span class="cline-any cline-neutral">&nbsp;</span>
528
505
  <span class="cline-any cline-neutral">&nbsp;</span>
529
506
  <span class="cline-any cline-neutral">&nbsp;</span>
530
- <span class="cline-any cline-yes">8x</span>
531
507
  <span class="cline-any cline-neutral">&nbsp;</span>
532
- <span class="cline-any cline-no">&nbsp;</span>
533
508
  <span class="cline-any cline-neutral">&nbsp;</span>
534
509
  <span class="cline-any cline-yes">8x</span>
535
510
  <span class="cline-any cline-neutral">&nbsp;</span>
536
511
  <span class="cline-any cline-neutral">&nbsp;</span>
512
+ <span class="cline-any cline-yes">4x</span>
537
513
  <span class="cline-any cline-neutral">&nbsp;</span>
514
+ <span class="cline-any cline-yes">2x</span>
538
515
  <span class="cline-any cline-neutral">&nbsp;</span>
516
+ <span class="cline-any cline-yes">6x</span>
539
517
  <span class="cline-any cline-neutral">&nbsp;</span>
540
518
  <span class="cline-any cline-neutral">&nbsp;</span>
541
519
  <span class="cline-any cline-neutral">&nbsp;</span>
542
520
  <span class="cline-any cline-neutral">&nbsp;</span>
543
- <span class="cline-any cline-yes">2x</span>
544
- <span class="cline-any cline-yes">92x</span>
545
521
  <span class="cline-any cline-neutral">&nbsp;</span>
546
- <span class="cline-any cline-yes">92x</span>
547
- <span class="cline-any cline-yes">92x</span>
548
- <span class="cline-any cline-yes">92x</span>
549
- <span class="cline-any cline-yes">92x</span>
550
522
  <span class="cline-any cline-neutral">&nbsp;</span>
551
- <span class="cline-any cline-yes">92x</span>
552
523
  <span class="cline-any cline-neutral">&nbsp;</span>
553
524
  <span class="cline-any cline-neutral">&nbsp;</span>
554
- <span class="cline-any cline-yes">92x</span>
555
- <span class="cline-any cline-yes">92x</span>
556
- <span class="cline-any cline-yes">92x</span>
557
525
  <span class="cline-any cline-neutral">&nbsp;</span>
558
- <span class="cline-any cline-yes">92x</span>
559
- <span class="cline-any cline-yes">6x</span>
526
+ <span class="cline-any cline-yes">5x</span>
527
+ <span class="cline-any cline-yes">77x</span>
560
528
  <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>
561
536
  <span class="cline-any cline-neutral">&nbsp;</span>
537
+ <span class="cline-any cline-yes">77x</span>
538
+ <span class="cline-any cline-yes">5x</span>
562
539
  <span class="cline-any cline-neutral">&nbsp;</span>
563
540
  <span class="cline-any cline-neutral">&nbsp;</span>
564
541
  <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>
565
544
  <span class="cline-any cline-neutral">&nbsp;</span>
566
545
  <span class="cline-any cline-neutral">&nbsp;</span>
567
- <span class="cline-any cline-yes">92x</span>
568
- <span class="cline-any cline-yes">2x</span>
569
- <span class="cline-any cline-yes">2x</span>
570
546
  <span class="cline-any cline-neutral">&nbsp;</span>
571
547
  <span class="cline-any cline-neutral">&nbsp;</span>
572
548
  <span class="cline-any cline-neutral">&nbsp;</span>
573
549
  <span class="cline-any cline-neutral">&nbsp;</span>
574
550
  <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>
575
553
  <span class="cline-any cline-neutral">&nbsp;</span>
576
554
  <span class="cline-any cline-neutral">&nbsp;</span>
577
- <span class="cline-any cline-yes">92x</span>
555
+ <span class="cline-any cline-yes">77x</span>
556
+ <span class="cline-any cline-yes">1x</span>
578
557
  <span class="cline-any cline-yes">1x</span>
579
558
  <span class="cline-any cline-neutral">&nbsp;</span>
580
559
  <span class="cline-any cline-neutral">&nbsp;</span>
581
- <span class="cline-any cline-yes">92x</span>
582
- <span class="cline-any cline-neutral">&nbsp;</span>
583
- <span class="cline-any cline-yes">14x</span>
584
- <span class="cline-any cline-yes">15x</span>
585
560
  <span class="cline-any cline-neutral">&nbsp;</span>
586
561
  <span class="cline-any cline-neutral">&nbsp;</span>
587
562
  <span class="cline-any cline-neutral">&nbsp;</span>
588
563
  <span class="cline-any cline-neutral">&nbsp;</span>
589
564
  <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>
590
567
  <span class="cline-any cline-neutral">&nbsp;</span>
591
568
  <span class="cline-any cline-neutral">&nbsp;</span>
592
- <span class="cline-any cline-yes">92x</span>
569
+ <span class="cline-any cline-yes">77x</span>
593
570
  <span class="cline-any cline-neutral">&nbsp;</span>
594
571
  <span class="cline-any cline-neutral">&nbsp;</span>
595
572
  <span class="cline-any cline-neutral">&nbsp;</span>
596
573
  <span class="cline-any cline-neutral">&nbsp;</span>
597
- <span class="cline-any cline-yes">92x</span>
574
+ <span class="cline-any cline-yes">77x</span>
598
575
  <span class="cline-any cline-neutral">&nbsp;</span>
599
- <span class="cline-any cline-yes">73x</span>
600
- <span class="cline-any cline-yes">133x</span>
576
+ <span class="cline-any cline-yes">68x</span>
577
+ <span class="cline-any cline-yes">126x</span>
601
578
  <span class="cline-any cline-neutral">&nbsp;</span>
602
579
  <span class="cline-any cline-neutral">&nbsp;</span>
603
580
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -605,7 +582,7 @@
605
582
  <span class="cline-any cline-neutral">&nbsp;</span>
606
583
  <span class="cline-any cline-neutral">&nbsp;</span>
607
584
  <span class="cline-any cline-neutral">&nbsp;</span>
608
- <span class="cline-any cline-yes">92x</span>
585
+ <span class="cline-any cline-yes">77x</span>
609
586
  <span class="cline-any cline-neutral">&nbsp;</span>
610
587
  <span class="cline-any cline-neutral">&nbsp;</span>
611
588
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -641,13 +618,6 @@
641
618
  <span class="cline-any cline-neutral">&nbsp;</span>
642
619
  <span class="cline-any cline-neutral">&nbsp;</span>
643
620
  <span class="cline-any cline-neutral">&nbsp;</span>
644
- <span class="cline-any cline-neutral">&nbsp;</span>
645
- <span class="cline-any cline-neutral">&nbsp;</span>
646
- <span class="cline-any cline-neutral">&nbsp;</span>
647
- <span class="cline-any cline-neutral">&nbsp;</span>
648
- <span class="cline-any cline-neutral">&nbsp;</span>
649
- <span class="cline-any cline-neutral">&nbsp;</span>
650
- <span class="cline-any cline-neutral">&nbsp;</span>
651
621
  <span class="cline-any cline-yes">1x</span>
652
622
  <span class="cline-any cline-neutral">&nbsp;</span>
653
623
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -685,27 +655,20 @@
685
655
  <span class="cline-any cline-neutral">&nbsp;</span>
686
656
  <span class="cline-any cline-neutral">&nbsp;</span>
687
657
  <span class="cline-any cline-neutral">&nbsp;</span>
688
- <span class="cline-any cline-yes">148x</span>
689
- <span class="cline-any cline-neutral">&nbsp;</span>
690
- <span class="cline-any cline-neutral">&nbsp;</span>
691
- <span class="cline-any cline-neutral">&nbsp;</span>
692
- <span class="cline-any cline-neutral">&nbsp;</span>
693
- <span class="cline-any cline-neutral">&nbsp;</span>
658
+ <span class="cline-any cline-yes">129x</span>
694
659
  <span class="cline-any cline-neutral">&nbsp;</span>
695
660
  <span class="cline-any cline-neutral">&nbsp;</span>
696
661
  <span class="cline-any cline-neutral">&nbsp;</span>
697
662
  <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>
698
665
  <span class="cline-any cline-neutral">&nbsp;</span>
699
666
  <span class="cline-any cline-neutral">&nbsp;</span>
700
667
  <span class="cline-any cline-neutral">&nbsp;</span>
701
668
  <span class="cline-any cline-neutral">&nbsp;</span>
702
- <span class="cline-any cline-yes">143x</span>
703
669
  <span class="cline-any cline-neutral">&nbsp;</span>
704
670
  <span class="cline-any cline-neutral">&nbsp;</span>
705
671
  <span class="cline-any cline-neutral">&nbsp;</span>
706
- <span class="cline-any cline-yes">1x</span>
707
- <span class="cline-any cline-yes">1x</span>
708
- <span class="cline-any cline-yes">1x</span>
709
672
  <span class="cline-any cline-neutral">&nbsp;</span>
710
673
  <span class="cline-any cline-neutral">&nbsp;</span>
711
674
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -718,8 +681,11 @@
718
681
  <span class="cline-any cline-neutral">&nbsp;</span>
719
682
  <span class="cline-any cline-neutral">&nbsp;</span>
720
683
  <span class="cline-any cline-neutral">&nbsp;</span>
684
+ <span class="cline-any cline-no">&nbsp;</span>
721
685
  <span class="cline-any cline-neutral">&nbsp;</span>
722
686
  <span class="cline-any cline-neutral">&nbsp;</span>
687
+ <span class="cline-any cline-no">&nbsp;</span>
688
+ <span class="cline-any cline-no">&nbsp;</span>
723
689
  <span class="cline-any cline-neutral">&nbsp;</span>
724
690
  <span class="cline-any cline-neutral">&nbsp;</span>
725
691
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -733,6 +699,11 @@
733
699
  <span class="cline-any cline-neutral">&nbsp;</span>
734
700
  <span class="cline-any cline-neutral">&nbsp;</span>
735
701
  <span class="cline-any cline-neutral">&nbsp;</span>
702
+ <span class="cline-any cline-yes">1x</span>
703
+ <span class="cline-any cline-yes">2x</span>
704
+ <span class="cline-any cline-yes">1x</span>
705
+ <span class="cline-any cline-yes">1x</span>
706
+ <span class="cline-any cline-yes">2x</span>
736
707
  <span class="cline-any cline-neutral">&nbsp;</span>
737
708
  <span class="cline-any cline-neutral">&nbsp;</span>
738
709
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -742,11 +713,8 @@
742
713
  <span class="cline-any cline-neutral">&nbsp;</span>
743
714
  <span class="cline-any cline-neutral">&nbsp;</span>
744
715
  <span class="cline-any cline-neutral">&nbsp;</span>
745
- <span class="cline-any cline-yes">1x</span>
746
716
  <span class="cline-any cline-neutral">&nbsp;</span>
747
717
  <span class="cline-any cline-neutral">&nbsp;</span>
748
- <span class="cline-any cline-yes">1x</span>
749
- <span class="cline-any cline-yes">1x</span>
750
718
  <span class="cline-any cline-neutral">&nbsp;</span>
751
719
  <span class="cline-any cline-neutral">&nbsp;</span>
752
720
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -764,15 +732,11 @@
764
732
  import {
765
733
  SvgAdd,
766
734
  SvgCopy,
767
- SvgDelete,
768
- SvgMore,
769
735
  } from "@itwin/itwinui-icons-react";
770
736
  import {
771
737
  Button,
772
- DropdownMenu,
773
738
  IconButton,
774
739
  LabeledInput,
775
- MenuItem,
776
740
  Surface,
777
741
  Text,
778
742
  toaster,
@@ -790,19 +754,21 @@ import "./ReportMappings.scss";
790
754
  import DeleteModal from "./DeleteModal";
791
755
  import type { Report, ReportMapping } from "@itwin/insights-client";
792
756
  import { MappingsClient, REPORTING_BASE_PATH, ReportsClient } from "@itwin/insights-client";
793
- import AddMappingsModal from "./AddMappingsModal";
757
+ import { AddMappingsModal } from "./AddMappingsModal";
794
758
  import type {
795
759
  GetSingleIModelParams,
796
760
  IModelsClientOptions,
797
761
  } from "@itwin/imodels-client-management";
798
762
  import { Constants, IModelsClient } from "@itwin/imodels-client-management";
799
763
  import { AccessTokenAdapter } from "@itwin/imodels-access-frontend";
800
- import { HorizontalTile } from "./HorizontalTile";
801
- import { Extraction, ExtractionStates, ExtractionStatus } from "./Extraction";
802
764
  import { SearchBar } from "./SearchBar";
803
765
  import type { ReportsApiConfig } from "../context/ReportsApiConfigContext";
804
766
  import { useReportsApiConfig } from "../context/ReportsApiConfigContext";
805
767
  import { ReportsConfigWidget } from "../../ReportsConfigWidget";
768
+ import { ReportMappingHorizontalTile } from "./ReportMappingHorizontalTile";
769
+ import type BulkExtractor from "./BulkExtractor";
770
+ import { BeEvent } from "@itwin/core-bentley";
771
+ import { LoadingSpinner } from "./utils";
806
772
  &nbsp;
807
773
  export type ReportMappingType = CreateTypeFromInterface&lt;ReportMapping&gt;;
808
774
  &nbsp;
@@ -844,39 +810,39 @@ const fetchReportMappings = async (
844
810
  const authorization =
845
811
  AccessTokenAdapter.toAuthorizationCallback(accessToken);
846
812
  const iModelNames = new Map&lt;string, string&gt;();
847
- const reportMappingsAndMapping = await Promise.all(
848
- reportMappings.map(async (reportMapping) =&gt; {
849
- const iModelId = reportMapping.imodelId;
850
- let iModelName = "";
851
- const mapping = await mappingsClientApi.getMapping(
852
- accessToken,
813
+ &nbsp;
814
+ const reportMappingsAndMappings = [];
815
+ for (const reportMapping of reportMappings) {
816
+ const iModelId = reportMapping.imodelId;
817
+ let iModelName = "";
818
+ const mapping = await mappingsClientApi.getMapping(
819
+ accessToken,
820
+ iModelId,
821
+ reportMapping.mappingId
822
+ );
823
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (iModelNames.has(iModelId)) {
824
+ <span class="cstat-no" title="statement not covered" > iModelName = iModelNames.get(iModelId) ?? "";</span>
825
+ } else {
826
+ const getSingleParams: GetSingleIModelParams = {
827
+ authorization,
853
828
  iModelId,
854
- reportMapping.mappingId
855
- );
856
- <span class="missing-if-branch" title="if path not taken" >I</span>if (iModelNames.has(iModelId)) {
857
- <span class="cstat-no" title="statement not covered" > iModelName = iModelNames.get(iModelId) ?? "";</span>
858
- } else {
859
- const getSingleParams: GetSingleIModelParams = {
860
- authorization,
861
- iModelId,
862
- };
863
- const iModel = await iModelsClient.iModels.getSingle(getSingleParams);
864
- iModelName = iModel.displayName;
865
- iModelNames.set(iModelId, iModelName);
866
- }
867
- const reportMappingAndMapping: ReportMappingAndMapping = {
868
- ...reportMapping,
869
- iModelName,
870
- mappingName: mapping.mappingName,
871
- mappingDescription: mapping.description ?? <span class="branch-1 cbranch-no" title="branch not covered" >"",</span>
872
829
  };
873
- return reportMappingAndMapping;
874
- }) ?? <span class="branch-1 cbranch-no" title="branch not covered" >[]</span>
875
- );
830
+ const iModel = await iModelsClient.iModels.getSingle(getSingleParams);
831
+ iModelName = iModel.displayName;
832
+ iModelNames.set(iModelId, iModelName);
833
+ }
834
+ const reportMappingAndMapping: ReportMappingAndMapping = {
835
+ ...reportMapping,
836
+ iModelName,
837
+ mappingName: mapping.mappingName,
838
+ mappingDescription: mapping.description ?? <span class="branch-1 cbranch-no" title="branch not covered" >"",</span>
839
+ };
840
+ reportMappingsAndMappings.push(reportMappingAndMapping);
841
+ }
876
842
  &nbsp;
877
- setReportMappings(reportMappingsAndMapping);
843
+ setReportMappings(reportMappingsAndMappings);
878
844
  } catch (error: any) {
879
- <span class="cstat-no" title="statement not covered" > handleError(error.status);</span>
845
+ handleError(error.status);
880
846
  } finally {
881
847
  setIsLoading(false);
882
848
  }
@@ -884,23 +850,25 @@ const fetchReportMappings = async (
884
850
  &nbsp;
885
851
  interface ReportMappingsProps {
886
852
  report: Report;
853
+ bulkExtractor: BulkExtractor;
887
854
  goBack: () =&gt; Promise&lt;void&gt;;
888
855
  }
889
856
  &nbsp;
890
- export const ReportMappings = ({ report, goBack }: ReportMappingsProps) =&gt; {
857
+ export const ReportMappings = ({ report, bulkExtractor, goBack }: ReportMappingsProps) =&gt; {
891
858
  const apiConfig = useReportsApiConfig();
892
859
  const [reportMappingsView, setReportMappingsView] =
893
860
  useState&lt;ReportMappingsView&gt;(ReportMappingsView.REPORTMAPPINGS);
894
861
  const [selectedReportMapping, setSelectedReportMapping] = useState&lt;ReportMappingAndMapping | undefined&gt;(undefined);
895
862
  const [showDeleteModal, setShowDeleteModal] = useState&lt;boolean&gt;(false);
896
863
  const [isLoading, setIsLoading] = useState&lt;boolean&gt;(true);
897
- &nbsp;
898
- const [extractionState, setExtractionState] = useState&lt;ExtractionStates&gt;(
899
- ExtractionStates.None
900
- );
901
- const [runningIModelId, setRunningIModelId] = useState&lt;string&gt;("");
902
864
  const [searchValue, setSearchValue] = useState&lt;string&gt;("");
903
865
  const [reportMappings, setReportMappings] = useState&lt;ReportMappingAndMapping[]&gt;([]);
866
+ const [jobRunning, setJobRunning] = useState&lt;boolean&gt;(false);
867
+ &nbsp;
868
+ const jobStartEvent = useMemo(
869
+ () =&gt; new BeEvent&lt;(iModelId: string) =&gt; void&gt;(),
870
+ []
871
+ );
904
872
  &nbsp;
905
873
  useEffect(() =&gt; {
906
874
  void fetchReportMappings(
@@ -910,6 +878,10 @@ export const ReportMappings = ({ report, goBack }: ReportMappingsProps) =&gt; {
910
878
  apiConfig
911
879
  );
912
880
  }, [apiConfig, report.id, setIsLoading]);
881
+ &nbsp;
882
+ useEffect(() =&gt; {
883
+ bulkExtractor.setHook(setJobRunning, reportMappings.map((x) =&gt; x.imodelId));
884
+ }, [bulkExtractor, reportMappings]);
913
885
  &nbsp;
914
886
  const refresh = useCallback(async () =&gt; {
915
887
  setReportMappingsView(ReportMappingsView.REPORTMAPPINGS);
@@ -924,17 +896,6 @@ export const ReportMappings = ({ report, goBack }: ReportMappingsProps) =&gt; {
924
896
  const addMapping = () =&gt; {
925
897
  setReportMappingsView(ReportMappingsView.ADDING);
926
898
  };
927
- &nbsp;
928
- const uniqueIModels = useMemo(
929
- () =&gt;
930
- new Map(
931
- reportMappings.map((mapping) =&gt; [
932
- mapping.imodelId,
933
- mapping.iModelName,
934
- ])
935
- ),
936
- [reportMappings]
937
- );
938
899
  &nbsp;
939
900
  const odataFeedUrl = `${generateUrl(
940
901
  REPORTING_BASE_PATH,
@@ -955,12 +916,12 @@ export const ReportMappings = ({ report, goBack }: ReportMappingsProps) =&gt; {
955
916
  return (
956
917
  &lt;&gt;
957
918
  &lt;WidgetHeader title={report.displayName} returnFn={goBack} /&gt;
958
- &lt;div className="report-mapping-misc"&gt;
919
+ &lt;div className="rcw-report-mapping-misc"&gt;
959
920
  &lt;LabeledInput
960
921
  label={ReportsConfigWidget.localization.getLocalizedString(
961
922
  "ReportsConfigWidget:ODataFeedURL"
962
923
  )}
963
- className="odata-url-input"
924
+ className="rcw-odata-url-input"
964
925
  readOnly={true}
965
926
  value={odataFeedUrl}
966
927
  svgIcon={
@@ -983,16 +944,9 @@ export const ReportMappings = ({ report, goBack }: ReportMappingsProps) =&gt; {
983
944
  }
984
945
  iconDisplayStyle="inline"
985
946
  /&gt;
986
- &lt;Extraction
987
- iModels={uniqueIModels}
988
- extractionState={extractionState}
989
- setExtractionState={setExtractionState}
990
- setExtractingIModelId={setRunningIModelId}
991
- isLoading={isLoading}
992
- /&gt;
993
947
  &lt;/div&gt;
994
- &lt;Surface className="report-mappings-container"&gt;
995
- &lt;div className="toolbar"&gt;
948
+ &lt;Surface className="rcw-report-mappings-container"&gt;
949
+ &lt;div className="rcw-toolbar"&gt;
996
950
  &lt;Button
997
951
  startIcon={&lt;SvgAdd /&gt;}
998
952
  onClick={() =&gt; addMapping()}
@@ -1002,7 +956,7 @@ export const ReportMappings = ({ report, goBack }: ReportMappingsProps) =&gt; {
1002
956
  "ReportsConfigWidget:AddMapping"
1003
957
  )}
1004
958
  &lt;/Button&gt;
1005
- &lt;div className="search-bar-container" data-testid="search-bar"&gt;
959
+ &lt;div className="rcw-search-bar-container" data-testid="rcw-search-bar"&gt;
1006
960
  &lt;SearchBar
1007
961
  searchValue={searchValue}
1008
962
  setSearchValue={setSearchValue}
@@ -1013,7 +967,7 @@ export const ReportMappings = ({ report, goBack }: ReportMappingsProps) =&gt; {
1013
967
  {isLoading ? (
1014
968
  &lt;LoadingOverlay /&gt;
1015
969
  ) : reportMappings.length === 0 ? (
1016
- <span class="branch-0 cbranch-no" title="branch not covered" > &lt;EmptyMessage&gt;</span>
970
+ &lt;EmptyMessage&gt;
1017
971
  &lt;&gt;
1018
972
  &lt;Text&gt;
1019
973
  {ReportsConfigWidget.localization.getLocalizedString(
@@ -1030,49 +984,18 @@ export const ReportMappings = ({ report, goBack }: ReportMappingsProps) =&gt; {
1030
984
  &lt;/&gt;
1031
985
  &lt;/EmptyMessage&gt;
1032
986
  ) : (
1033
- &lt;div className="mapping-list"&gt;
987
+ &lt;div className="rcw-mapping-list"&gt;
1034
988
  {filteredReportMappings.map((mapping) =&gt; (
1035
- &lt;HorizontalTile
989
+ &lt;ReportMappingHorizontalTile
1036
990
  key={mapping.mappingId}
1037
- title={mapping.mappingName}
1038
- subText={mapping.iModelName}
1039
- titleTooltip={mapping.mappingDescription}
1040
- actionGroup={
1041
- &lt;ExtractionStatus
1042
- state={
1043
- mapping.imodelId === runningIModelId
1044
- ? extractionState
1045
- : ExtractionStates.None
1046
- }
1047
- &gt;
1048
- &lt;DropdownMenu
1049
- menuItems={(close: () =&gt; void) =&gt; [
1050
- &lt;MenuItem
1051
- key={0}
1052
- onClick={() =&gt; {
1053
- setSelectedReportMapping(mapping);
1054
- setShowDeleteModal(true);
1055
- close();
1056
- }}
1057
- icon={&lt;SvgDelete /&gt;}
1058
- &gt;
1059
- {ReportsConfigWidget.localization.getLocalizedString(
1060
- "ReportsConfigWidget:Remove"
1061
- )}
1062
- &lt;/MenuItem&gt;,
1063
- ]}
1064
- &gt;
1065
- &lt;IconButton styleType="borderless"&gt;
1066
- &lt;SvgMore
1067
- style={{
1068
- width: "16px",
1069
- height: "16px",
1070
- }}
1071
- /&gt;
1072
- &lt;/IconButton&gt;
1073
- &lt;/DropdownMenu&gt;
1074
- &lt;/ExtractionStatus&gt;
1075
- }
991
+ bulkExtractor={bulkExtractor}
992
+ mapping={mapping}
993
+ 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>
996
+ }}
997
+ odataFeedUrl={odataFeedUrl}
998
+ jobStartEvent={jobStartEvent}
1076
999
  /&gt;
1077
1000
  ))}
1078
1001
  &lt;/div&gt;
@@ -1085,22 +1008,51 @@ export const ReportMappings = ({ report, goBack }: ReportMappingsProps) =&gt; {
1085
1008
  returnFn={refresh}
1086
1009
  /&gt;
1087
1010
  &lt;DeleteModal
1088
- entityName={selectedReportMapping?.mappingName ?? ""}
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>"}
1089
1012
  show={showDeleteModal}
1090
1013
  setShow={setShowDeleteModal}
1091
- onDelete={async () =&gt; {
1092
- const reportsClientApi = new ReportsClient(
1014
+ 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>
1093
1016
  generateUrl(REPORTING_BASE_PATH, apiConfig.baseUrl)
1094
1017
  );
1095
- const accessToken = await apiConfig.getAccessToken();
1096
- await reportsClientApi.deleteReportMapping(
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>
1097
1020
  accessToken,
1098
1021
  report.id,
1099
- selectedReportMapping<span class="branch-0 cbranch-no" title="branch not covered" >?.m</span>appingId ?? <span class="branch-1 cbranch-no" title="branch not covered" >""</span>
1022
+ selectedReportMapping?.mappingId ?? ""
1100
1023
  );
1101
1024
  }}
1102
1025
  refresh={refresh}
1103
1026
  /&gt;
1027
+ &lt;div className="rcw-action-panel"&gt;
1028
+ {isLoading &amp;&amp; &lt;LoadingSpinner /&gt;}
1029
+ &lt;Button
1030
+ disabled={isLoading || jobRunning || reportMappings.length === 0}
1031
+ styleType="high-visibility"
1032
+ onClick={async () =&gt; {
1033
+ setJobRunning(true);
1034
+ const uniqueIModels = Array.from(new Set(reportMappings.map((x) =&gt; x.imodelId)));
1035
+ await bulkExtractor.runIModelExtractions(uniqueIModels);
1036
+ reportMappings.forEach((reportMapping) =&gt; {
1037
+ jobStartEvent.raiseEvent(reportMapping.imodelId);
1038
+ });
1039
+ }}
1040
+ &gt;
1041
+ {ReportsConfigWidget.localization.getLocalizedString(
1042
+ "ReportsConfigWidget:UpdateAllDatasets"
1043
+ )}
1044
+ &lt;/Button&gt;
1045
+ &lt;Button
1046
+ styleType="default"
1047
+ type="button"
1048
+ onClick={goBack}
1049
+ disabled={isLoading}
1050
+ &gt;
1051
+ {ReportsConfigWidget.localization.getLocalizedString(
1052
+ "ReportsConfigWidget:Close"
1053
+ )}
1054
+ &lt;/Button&gt;
1055
+ &lt;/div&gt;
1104
1056
  &lt;/&gt;
1105
1057
  );
1106
1058
  };
@@ -1111,7 +1063,7 @@ export const ReportMappings = ({ report, goBack }: ReportMappingsProps) =&gt; {
1111
1063
  <div class='footer quiet pad2 space-top1 center small'>
1112
1064
  Code coverage generated by
1113
1065
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1114
- at Mon Oct 31 2022 19:03:26 GMT+0000 (Coordinated Universal Time)
1066
+ at Tue Mar 07 2023 15:47:40 GMT+0000 (Coordinated Universal Time)
1115
1067
  </div>
1116
1068
  <script src="../../../prettify.js"></script>
1117
1069
  <script>