@itwin/reports-config-widget-react 0.0.7 → 0.1.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 (174) hide show
  1. package/.rush/temp/package-deps_rebuild.json +24 -14
  2. package/.rush/temp/shrinkwrap-deps.json +17 -17
  3. package/CHANGELOG.json +24 -0
  4. package/CHANGELOG.md +15 -1
  5. package/coverage/clover.xml +354 -128
  6. package/coverage/coverage-final.json +17 -8
  7. package/coverage/lcov-report/index.html +36 -21
  8. package/coverage/lcov-report/src/ReportsConfigWidget.ts.html +2 -2
  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 +1 -1
  12. package/coverage/lcov-report/src/widget/ReportsConfigUiProvider.tsx.html +1 -1
  13. package/coverage/lcov-report/src/widget/components/ActionPanel.tsx.html +1 -1
  14. package/coverage/lcov-report/src/widget/components/AddMappingsModal.tsx.html +1 -1
  15. package/coverage/lcov-report/src/widget/components/BulkExtractor.ts.html +553 -0
  16. package/coverage/lcov-report/src/widget/components/Constants.ts.html +106 -0
  17. package/coverage/lcov-report/src/widget/components/DeleteModal.tsx.html +4 -4
  18. package/coverage/lcov-report/src/widget/components/Extraction.tsx.html +1 -1
  19. package/coverage/lcov-report/src/widget/components/ExtractionStates/FailedExtractionState.tsx.html +187 -0
  20. package/coverage/lcov-report/src/widget/components/ExtractionStates/QueuedExtractionState.tsx.html +145 -0
  21. package/coverage/lcov-report/src/widget/components/ExtractionStates/RunningExtractionState.tsx.html +139 -0
  22. package/coverage/lcov-report/src/widget/components/ExtractionStates/StartingExtractionState.tsx.html +151 -0
  23. package/coverage/lcov-report/src/widget/components/ExtractionStates/SucceededExtractionState.tsx.html +187 -0
  24. package/coverage/lcov-report/src/widget/components/ExtractionStates/index.html +176 -0
  25. package/coverage/lcov-report/src/widget/components/ExtractionStatus.tsx.html +295 -0
  26. package/coverage/lcov-report/src/widget/components/HorizontalTile.tsx.html +73 -40
  27. package/coverage/lcov-report/src/widget/components/LocalizedTablePaginator.tsx.html +1 -1
  28. package/coverage/lcov-report/src/widget/components/ReportAction.tsx.html +1 -1
  29. package/coverage/lcov-report/src/widget/components/ReportHorizontalTile.tsx.html +478 -0
  30. package/coverage/lcov-report/src/widget/components/ReportMappings.tsx.html +6 -24
  31. package/coverage/lcov-report/src/widget/components/Reports.tsx.html +129 -111
  32. package/coverage/lcov-report/src/widget/components/ReportsContainer.tsx.html +1 -1
  33. package/coverage/lcov-report/src/widget/components/SearchBar.tsx.html +5 -5
  34. package/coverage/lcov-report/src/widget/components/SelectIModel.tsx.html +1 -1
  35. package/coverage/lcov-report/src/widget/components/index.html +83 -23
  36. package/coverage/lcov-report/src/widget/components/utils.tsx.html +3 -3
  37. package/coverage/lcov-report/src/widget/context/ReportsApiConfigContext.tsx.html +4 -4
  38. package/coverage/lcov-report/src/widget/context/index.html +1 -1
  39. package/coverage/lcov-report/src/widget/hooks/index.html +1 -1
  40. package/coverage/lcov-report/src/widget/hooks/useValidator.ts.html +1 -1
  41. package/coverage/lcov-report/src/widget/index.html +1 -1
  42. package/coverage/lcov.info +699 -287
  43. package/jest.config.js +1 -0
  44. package/lib/cjs/tsconfig.tsbuildinfo +1 -1
  45. package/lib/cjs/widget/components/BulkExtractor.d.ts +28 -0
  46. package/lib/cjs/widget/components/BulkExtractor.d.ts.map +1 -0
  47. package/lib/cjs/widget/components/BulkExtractor.js +126 -0
  48. package/lib/cjs/widget/components/BulkExtractor.js.map +1 -0
  49. package/lib/cjs/widget/components/Constants.d.ts +4 -0
  50. package/lib/cjs/widget/components/Constants.d.ts.map +1 -0
  51. package/lib/cjs/widget/components/Constants.js +11 -0
  52. package/lib/cjs/widget/components/Constants.js.map +1 -0
  53. package/lib/cjs/widget/components/ExtractionStates/FailedExtractionState.d.ts +8 -0
  54. package/lib/cjs/widget/components/ExtractionStates/FailedExtractionState.d.ts.map +1 -0
  55. package/lib/cjs/widget/components/ExtractionStates/FailedExtractionState.js +23 -0
  56. package/lib/cjs/widget/components/ExtractionStates/FailedExtractionState.js.map +1 -0
  57. package/lib/cjs/widget/components/ExtractionStates/QueuedExtractionState.d.ts +3 -0
  58. package/lib/cjs/widget/components/ExtractionStates/QueuedExtractionState.d.ts.map +1 -0
  59. package/lib/cjs/widget/components/ExtractionStates/QueuedExtractionState.js +18 -0
  60. package/lib/cjs/widget/components/ExtractionStates/QueuedExtractionState.js.map +1 -0
  61. package/lib/cjs/widget/components/ExtractionStates/RunningExtractionState.d.ts +3 -0
  62. package/lib/cjs/widget/components/ExtractionStates/RunningExtractionState.d.ts.map +1 -0
  63. package/lib/cjs/widget/components/ExtractionStates/RunningExtractionState.js +17 -0
  64. package/lib/cjs/widget/components/ExtractionStates/RunningExtractionState.js.map +1 -0
  65. package/lib/cjs/widget/components/ExtractionStates/StartingExtractionState.d.ts +3 -0
  66. package/lib/cjs/widget/components/ExtractionStates/StartingExtractionState.d.ts.map +1 -0
  67. package/lib/cjs/widget/components/ExtractionStates/StartingExtractionState.js +18 -0
  68. package/lib/cjs/widget/components/ExtractionStates/StartingExtractionState.js.map +1 -0
  69. package/lib/cjs/widget/components/ExtractionStates/SucceededExtractionState.d.ts +8 -0
  70. package/lib/cjs/widget/components/ExtractionStates/SucceededExtractionState.d.ts.map +1 -0
  71. package/lib/cjs/widget/components/ExtractionStates/SucceededExtractionState.js +23 -0
  72. package/lib/cjs/widget/components/ExtractionStates/SucceededExtractionState.js.map +1 -0
  73. package/lib/cjs/widget/components/ExtractionStatus.d.ts +17 -0
  74. package/lib/cjs/widget/components/ExtractionStatus.d.ts.map +1 -0
  75. package/lib/cjs/widget/components/ExtractionStatus.js +76 -0
  76. package/lib/cjs/widget/components/ExtractionStatus.js.map +1 -0
  77. package/lib/cjs/widget/components/ExtractionStatus.scss +27 -0
  78. package/lib/cjs/widget/components/HorizontalTile.d.ts +8 -7
  79. package/lib/cjs/widget/components/HorizontalTile.d.ts.map +1 -1
  80. package/lib/cjs/widget/components/HorizontalTile.js +10 -6
  81. package/lib/cjs/widget/components/HorizontalTile.js.map +1 -1
  82. package/lib/cjs/widget/components/HorizontalTile.scss +42 -22
  83. package/lib/cjs/widget/components/ReportHorizontalTile.d.ts +16 -0
  84. package/lib/cjs/widget/components/ReportHorizontalTile.d.ts.map +1 -0
  85. package/lib/cjs/widget/components/ReportHorizontalTile.js +72 -0
  86. package/lib/cjs/widget/components/ReportHorizontalTile.js.map +1 -0
  87. package/lib/cjs/widget/components/ReportMappings.d.ts.map +1 -1
  88. package/lib/cjs/widget/components/ReportMappings.js +1 -1
  89. package/lib/cjs/widget/components/ReportMappings.js.map +1 -1
  90. package/lib/cjs/widget/components/Reports.d.ts.map +1 -1
  91. package/lib/cjs/widget/components/Reports.js +34 -26
  92. package/lib/cjs/widget/components/Reports.js.map +1 -1
  93. package/lib/cjs/widget/components/Reports.scss +7 -3
  94. package/lib/cjs/widget/components/ReportsContainer.scss +3 -0
  95. package/lib/cjs/widget/components/SearchBar.js +1 -1
  96. package/lib/cjs/widget/components/SearchBar.js.map +1 -1
  97. package/lib/cjs/widget/components/SearchBar.scss +6 -0
  98. package/lib/esm/tsconfig.tsbuildinfo +1 -1
  99. package/lib/esm/widget/components/BulkExtractor.d.ts +28 -0
  100. package/lib/esm/widget/components/BulkExtractor.d.ts.map +1 -0
  101. package/lib/esm/widget/components/BulkExtractor.js +123 -0
  102. package/lib/esm/widget/components/BulkExtractor.js.map +1 -0
  103. package/lib/esm/widget/components/Constants.d.ts +4 -0
  104. package/lib/esm/widget/components/Constants.d.ts.map +1 -0
  105. package/lib/esm/widget/components/Constants.js +8 -0
  106. package/lib/esm/widget/components/Constants.js.map +1 -0
  107. package/lib/esm/widget/components/ExtractionStates/FailedExtractionState.d.ts +8 -0
  108. package/lib/esm/widget/components/ExtractionStates/FailedExtractionState.d.ts.map +1 -0
  109. package/lib/esm/widget/components/ExtractionStates/FailedExtractionState.js +16 -0
  110. package/lib/esm/widget/components/ExtractionStates/FailedExtractionState.js.map +1 -0
  111. package/lib/esm/widget/components/ExtractionStates/QueuedExtractionState.d.ts +3 -0
  112. package/lib/esm/widget/components/ExtractionStates/QueuedExtractionState.d.ts.map +1 -0
  113. package/lib/esm/widget/components/ExtractionStates/QueuedExtractionState.js +11 -0
  114. package/lib/esm/widget/components/ExtractionStates/QueuedExtractionState.js.map +1 -0
  115. package/lib/esm/widget/components/ExtractionStates/RunningExtractionState.d.ts +3 -0
  116. package/lib/esm/widget/components/ExtractionStates/RunningExtractionState.d.ts.map +1 -0
  117. package/lib/esm/widget/components/ExtractionStates/RunningExtractionState.js +10 -0
  118. package/lib/esm/widget/components/ExtractionStates/RunningExtractionState.js.map +1 -0
  119. package/lib/esm/widget/components/ExtractionStates/StartingExtractionState.d.ts +3 -0
  120. package/lib/esm/widget/components/ExtractionStates/StartingExtractionState.d.ts.map +1 -0
  121. package/lib/esm/widget/components/ExtractionStates/StartingExtractionState.js +11 -0
  122. package/lib/esm/widget/components/ExtractionStates/StartingExtractionState.js.map +1 -0
  123. package/lib/esm/widget/components/ExtractionStates/SucceededExtractionState.d.ts +8 -0
  124. package/lib/esm/widget/components/ExtractionStates/SucceededExtractionState.d.ts.map +1 -0
  125. package/lib/esm/widget/components/ExtractionStates/SucceededExtractionState.js +16 -0
  126. package/lib/esm/widget/components/ExtractionStates/SucceededExtractionState.js.map +1 -0
  127. package/lib/esm/widget/components/ExtractionStatus.d.ts +17 -0
  128. package/lib/esm/widget/components/ExtractionStatus.d.ts.map +1 -0
  129. package/lib/esm/widget/components/ExtractionStatus.js +53 -0
  130. package/lib/esm/widget/components/ExtractionStatus.js.map +1 -0
  131. package/lib/esm/widget/components/ExtractionStatus.scss +27 -0
  132. package/lib/esm/widget/components/HorizontalTile.d.ts +8 -7
  133. package/lib/esm/widget/components/HorizontalTile.d.ts.map +1 -1
  134. package/lib/esm/widget/components/HorizontalTile.js +10 -6
  135. package/lib/esm/widget/components/HorizontalTile.js.map +1 -1
  136. package/lib/esm/widget/components/HorizontalTile.scss +42 -22
  137. package/lib/esm/widget/components/ReportHorizontalTile.d.ts +16 -0
  138. package/lib/esm/widget/components/ReportHorizontalTile.d.ts.map +1 -0
  139. package/lib/esm/widget/components/ReportHorizontalTile.js +65 -0
  140. package/lib/esm/widget/components/ReportHorizontalTile.js.map +1 -0
  141. package/lib/esm/widget/components/ReportMappings.d.ts.map +1 -1
  142. package/lib/esm/widget/components/ReportMappings.js +1 -1
  143. package/lib/esm/widget/components/ReportMappings.js.map +1 -1
  144. package/lib/esm/widget/components/Reports.d.ts.map +1 -1
  145. package/lib/esm/widget/components/Reports.js +36 -28
  146. package/lib/esm/widget/components/Reports.js.map +1 -1
  147. package/lib/esm/widget/components/Reports.scss +7 -3
  148. package/lib/esm/widget/components/ReportsContainer.scss +3 -0
  149. package/lib/esm/widget/components/SearchBar.js +1 -1
  150. package/lib/esm/widget/components/SearchBar.js.map +1 -1
  151. package/lib/esm/widget/components/SearchBar.scss +6 -0
  152. package/lib/public/locales/en/ReportsConfigWidget.json +2 -1
  153. package/package.json +5 -2
  154. package/public/locales/en/ReportsConfigWidget.json +2 -1
  155. package/reports-config-widget-react.build.error.log +4 -4
  156. package/reports-config-widget-react.build.log +44 -34
  157. package/src/widget/components/BulkExtractor.ts +156 -0
  158. package/src/widget/components/Constants.ts +7 -0
  159. package/src/widget/components/ExtractionStates/FailedExtractionState.tsx +34 -0
  160. package/src/widget/components/ExtractionStates/QueuedExtractionState.tsx +20 -0
  161. package/src/widget/components/ExtractionStates/RunningExtractionState.tsx +18 -0
  162. package/src/widget/components/ExtractionStates/StartingExtractionState.tsx +22 -0
  163. package/src/widget/components/ExtractionStates/SucceededExtractionState.tsx +34 -0
  164. package/src/widget/components/ExtractionStatus.scss +27 -0
  165. package/src/widget/components/ExtractionStatus.tsx +70 -0
  166. package/src/widget/components/HorizontalTile.scss +42 -22
  167. package/src/widget/components/HorizontalTile.tsx +45 -34
  168. package/src/widget/components/ReportHorizontalTile.tsx +131 -0
  169. package/src/widget/components/ReportMappings.tsx +4 -10
  170. package/src/widget/components/Reports.scss +7 -3
  171. package/src/widget/components/Reports.tsx +66 -60
  172. package/src/widget/components/ReportsContainer.scss +3 -0
  173. package/src/widget/components/SearchBar.scss +6 -0
  174. package/src/widget/components/SearchBar.tsx +1 -1
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">98.57% </span>
26
+ <span class="strong">92.04% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>69/70</span>
28
+ <span class='fraction'>81/88</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">78.94% </span>
33
+ <span class="strong">78.84% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>45/57</span>
35
+ <span class='fraction'>41/52</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">100% </span>
40
+ <span class="strong">83.33% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>16/16</span>
42
+ <span class='fraction'>20/24</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">100% </span>
47
+ <span class="strong">95.18% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>68/68</span>
49
+ <span class='fraction'>79/83</span>
50
50
  </div>
51
51
 
52
52
 
@@ -311,7 +311,13 @@
311
311
  <a name='L246'></a><a href='#L246'>246</a>
312
312
  <a name='L247'></a><a href='#L247'>247</a>
313
313
  <a name='L248'></a><a href='#L248'>248</a>
314
- <a name='L249'></a><a href='#L249'>249</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
314
+ <a name='L249'></a><a href='#L249'>249</a>
315
+ <a name='L250'></a><a href='#L250'>250</a>
316
+ <a name='L251'></a><a href='#L251'>251</a>
317
+ <a name='L252'></a><a href='#L252'>252</a>
318
+ <a name='L253'></a><a href='#L253'>253</a>
319
+ <a name='L254'></a><a href='#L254'>254</a>
320
+ <a name='L255'></a><a href='#L255'>255</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
315
321
  <span class="cline-any cline-neutral">&nbsp;</span>
316
322
  <span class="cline-any cline-neutral">&nbsp;</span>
317
323
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -319,15 +325,11 @@
319
325
  <span class="cline-any cline-neutral">&nbsp;</span>
320
326
  <span class="cline-any cline-neutral">&nbsp;</span>
321
327
  <span class="cline-any cline-neutral">&nbsp;</span>
322
- <span class="cline-any cline-neutral">&nbsp;</span>
323
- <span class="cline-any cline-neutral">&nbsp;</span>
324
328
  <span class="cline-any cline-yes">4x</span>
325
329
  <span class="cline-any cline-neutral">&nbsp;</span>
326
330
  <span class="cline-any cline-neutral">&nbsp;</span>
327
331
  <span class="cline-any cline-neutral">&nbsp;</span>
328
332
  <span class="cline-any cline-neutral">&nbsp;</span>
329
- <span class="cline-any cline-neutral">&nbsp;</span>
330
- <span class="cline-any cline-neutral">&nbsp;</span>
331
333
  <span class="cline-any cline-yes">4x</span>
332
334
  <span class="cline-any cline-neutral">&nbsp;</span>
333
335
  <span class="cline-any cline-yes">4x</span>
@@ -349,6 +351,8 @@
349
351
  <span class="cline-any cline-yes">4x</span>
350
352
  <span class="cline-any cline-yes">4x</span>
351
353
  <span class="cline-any cline-yes">4x</span>
354
+ <span class="cline-any cline-yes">4x</span>
355
+ <span class="cline-any cline-yes">4x</span>
352
356
  <span class="cline-any cline-neutral">&nbsp;</span>
353
357
  <span class="cline-any cline-neutral">&nbsp;</span>
354
358
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -382,66 +386,79 @@
382
386
  <span class="cline-any cline-neutral">&nbsp;</span>
383
387
  <span class="cline-any cline-neutral">&nbsp;</span>
384
388
  <span class="cline-any cline-yes">4x</span>
385
- <span class="cline-any cline-yes">67x</span>
386
- <span class="cline-any cline-yes">67x</span>
387
- <span class="cline-any cline-yes">67x</span>
388
- <span class="cline-any cline-yes">67x</span>
389
+ <span class="cline-any cline-yes">70x</span>
390
+ <span class="cline-any cline-yes">70x</span>
391
+ <span class="cline-any cline-yes">70x</span>
392
+ <span class="cline-any cline-yes">70x</span>
393
+ <span class="cline-any cline-yes">70x</span>
389
394
  <span class="cline-any cline-neutral">&nbsp;</span>
390
395
  <span class="cline-any cline-neutral">&nbsp;</span>
391
- <span class="cline-any cline-yes">67x</span>
396
+ <span class="cline-any cline-yes">70x</span>
392
397
  <span class="cline-any cline-neutral">&nbsp;</span>
393
398
  <span class="cline-any cline-neutral">&nbsp;</span>
394
- <span class="cline-any cline-yes">67x</span>
395
- <span class="cline-any cline-yes">67x</span>
396
- <span class="cline-any cline-yes">67x</span>
399
+ <span class="cline-any cline-yes">70x</span>
400
+ <span class="cline-any cline-yes">70x</span>
401
+ <span class="cline-any cline-yes">70x</span>
402
+ <span class="cline-any cline-yes">70x</span>
403
+ <span class="cline-any cline-yes">25x</span>
397
404
  <span class="cline-any cline-neutral">&nbsp;</span>
398
- <span class="cline-any cline-yes">67x</span>
405
+ <span class="cline-any cline-neutral">&nbsp;</span>
406
+ <span class="cline-any cline-yes">70x</span>
399
407
  <span class="cline-any cline-yes">8x</span>
400
408
  <span class="cline-any cline-neutral">&nbsp;</span>
401
409
  <span class="cline-any cline-neutral">&nbsp;</span>
402
- <span class="cline-any cline-yes">67x</span>
410
+ <span class="cline-any cline-neutral">&nbsp;</span>
411
+ <span class="cline-any cline-yes">70x</span>
412
+ <span class="cline-any cline-yes">8x</span>
413
+ <span class="cline-any cline-neutral">&nbsp;</span>
414
+ <span class="cline-any cline-neutral">&nbsp;</span>
415
+ <span class="cline-any cline-yes">70x</span>
403
416
  <span class="cline-any cline-yes">1x</span>
404
417
  <span class="cline-any cline-yes">1x</span>
405
418
  <span class="cline-any cline-yes">1x</span>
406
419
  <span class="cline-any cline-neutral">&nbsp;</span>
407
420
  <span class="cline-any cline-neutral">&nbsp;</span>
408
- <span class="cline-any cline-yes">67x</span>
421
+ <span class="cline-any cline-yes">70x</span>
409
422
  <span class="cline-any cline-yes">2x</span>
410
423
  <span class="cline-any cline-neutral">&nbsp;</span>
411
424
  <span class="cline-any cline-neutral">&nbsp;</span>
412
- <span class="cline-any cline-yes">67x</span>
425
+ <span class="cline-any cline-yes">70x</span>
413
426
  <span class="cline-any cline-neutral">&nbsp;</span>
414
427
  <span class="cline-any cline-yes">49x</span>
415
- <span class="cline-any cline-yes">161x</span>
416
- <span class="cline-any cline-neutral">&nbsp;</span>
428
+ <span class="cline-any cline-yes">195x</span>
417
429
  <span class="cline-any cline-neutral">&nbsp;</span>
418
430
  <span class="cline-any cline-neutral">&nbsp;</span>
419
431
  <span class="cline-any cline-neutral">&nbsp;</span>
420
432
  <span class="cline-any cline-neutral">&nbsp;</span>
421
433
  <span class="cline-any cline-neutral">&nbsp;</span>
422
434
  <span class="cline-any cline-neutral">&nbsp;</span>
423
- <span class="cline-any cline-yes">67x</span>
424
- <span class="cline-any cline-neutral">&nbsp;</span>
425
- <span class="cline-any cline-yes">2x</span>
426
- <span class="cline-any cline-neutral">&nbsp;</span>
427
435
  <span class="cline-any cline-neutral">&nbsp;</span>
436
+ <span class="cline-any cline-yes">70x</span>
437
+ <span class="cline-any cline-yes">4x</span>
438
+ <span class="cline-any cline-yes">4x</span>
428
439
  <span class="cline-any cline-neutral">&nbsp;</span>
429
- <span class="cline-any cline-yes">2x</span>
430
- <span class="cline-any cline-neutral">&nbsp;</span>
440
+ <span class="cline-any cline-yes">4x</span>
441
+ <span class="cline-any cline-yes">4x</span>
431
442
  <span class="cline-any cline-neutral">&nbsp;</span>
443
+ <span class="cline-any cline-no">&nbsp;</span>
432
444
  <span class="cline-any cline-neutral">&nbsp;</span>
433
445
  <span class="cline-any cline-neutral">&nbsp;</span>
434
446
  <span class="cline-any cline-neutral">&nbsp;</span>
435
447
  <span class="cline-any cline-neutral">&nbsp;</span>
436
448
  <span class="cline-any cline-neutral">&nbsp;</span>
437
- <span class="cline-any cline-yes">1x</span>
449
+ <span class="cline-any cline-yes">70x</span>
450
+ <span class="cline-any cline-no">&nbsp;</span>
451
+ <span class="cline-any cline-no">&nbsp;</span>
452
+ <span class="cline-any cline-no">&nbsp;</span>
438
453
  <span class="cline-any cline-neutral">&nbsp;</span>
439
454
  <span class="cline-any cline-neutral">&nbsp;</span>
455
+ <span class="cline-any cline-yes">70x</span>
440
456
  <span class="cline-any cline-neutral">&nbsp;</span>
441
- <span class="cline-any cline-yes">62x</span>
457
+ <span class="cline-any cline-yes">2x</span>
442
458
  <span class="cline-any cline-neutral">&nbsp;</span>
443
459
  <span class="cline-any cline-neutral">&nbsp;</span>
444
460
  <span class="cline-any cline-neutral">&nbsp;</span>
461
+ <span class="cline-any cline-yes">2x</span>
445
462
  <span class="cline-any cline-neutral">&nbsp;</span>
446
463
  <span class="cline-any cline-neutral">&nbsp;</span>
447
464
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -453,6 +470,7 @@
453
470
  <span class="cline-any cline-neutral">&nbsp;</span>
454
471
  <span class="cline-any cline-neutral">&nbsp;</span>
455
472
  <span class="cline-any cline-neutral">&nbsp;</span>
473
+ <span class="cline-any cline-yes">65x</span>
456
474
  <span class="cline-any cline-neutral">&nbsp;</span>
457
475
  <span class="cline-any cline-neutral">&nbsp;</span>
458
476
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -463,6 +481,7 @@
463
481
  <span class="cline-any cline-neutral">&nbsp;</span>
464
482
  <span class="cline-any cline-neutral">&nbsp;</span>
465
483
  <span class="cline-any cline-neutral">&nbsp;</span>
484
+ <span class="cline-any cline-yes">1x</span>
466
485
  <span class="cline-any cline-neutral">&nbsp;</span>
467
486
  <span class="cline-any cline-neutral">&nbsp;</span>
468
487
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -473,17 +492,10 @@
473
492
  <span class="cline-any cline-neutral">&nbsp;</span>
474
493
  <span class="cline-any cline-neutral">&nbsp;</span>
475
494
  <span class="cline-any cline-neutral">&nbsp;</span>
476
- <span class="cline-any cline-yes">1x</span>
477
- <span class="cline-any cline-neutral">&nbsp;</span>
478
- <span class="cline-any cline-neutral">&nbsp;</span>
479
- <span class="cline-any cline-neutral">&nbsp;</span>
480
- <span class="cline-any cline-neutral">&nbsp;</span>
481
- <span class="cline-any cline-neutral">&nbsp;</span>
482
495
  <span class="cline-any cline-neutral">&nbsp;</span>
483
496
  <span class="cline-any cline-neutral">&nbsp;</span>
484
497
  <span class="cline-any cline-neutral">&nbsp;</span>
485
498
  <span class="cline-any cline-neutral">&nbsp;</span>
486
- <span class="cline-any cline-yes">167x</span>
487
499
  <span class="cline-any cline-neutral">&nbsp;</span>
488
500
  <span class="cline-any cline-neutral">&nbsp;</span>
489
501
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -491,17 +503,12 @@
491
503
  <span class="cline-any cline-neutral">&nbsp;</span>
492
504
  <span class="cline-any cline-neutral">&nbsp;</span>
493
505
  <span class="cline-any cline-neutral">&nbsp;</span>
494
- <span class="cline-any cline-yes">1x</span>
495
- <span class="cline-any cline-yes">1x</span>
496
506
  <span class="cline-any cline-neutral">&nbsp;</span>
497
507
  <span class="cline-any cline-neutral">&nbsp;</span>
498
508
  <span class="cline-any cline-neutral">&nbsp;</span>
499
- <span class="cline-any cline-yes">167x</span>
500
509
  <span class="cline-any cline-neutral">&nbsp;</span>
501
510
  <span class="cline-any cline-neutral">&nbsp;</span>
502
511
  <span class="cline-any cline-neutral">&nbsp;</span>
503
- <span class="cline-any cline-yes">2x</span>
504
- <span class="cline-any cline-yes">2x</span>
505
512
  <span class="cline-any cline-neutral">&nbsp;</span>
506
513
  <span class="cline-any cline-neutral">&nbsp;</span>
507
514
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -512,9 +519,6 @@
512
519
  <span class="cline-any cline-neutral">&nbsp;</span>
513
520
  <span class="cline-any cline-neutral">&nbsp;</span>
514
521
  <span class="cline-any cline-neutral">&nbsp;</span>
515
- <span class="cline-any cline-yes">1x</span>
516
- <span class="cline-any cline-yes">1x</span>
517
- <span class="cline-any cline-yes">1x</span>
518
522
  <span class="cline-any cline-neutral">&nbsp;</span>
519
523
  <span class="cline-any cline-neutral">&nbsp;</span>
520
524
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -523,17 +527,25 @@
523
527
  <span class="cline-any cline-neutral">&nbsp;</span>
524
528
  <span class="cline-any cline-neutral">&nbsp;</span>
525
529
  <span class="cline-any cline-neutral">&nbsp;</span>
530
+ <span class="cline-any cline-yes">209x</span>
526
531
  <span class="cline-any cline-neutral">&nbsp;</span>
527
532
  <span class="cline-any cline-neutral">&nbsp;</span>
528
533
  <span class="cline-any cline-neutral">&nbsp;</span>
534
+ <span class="cline-any cline-yes">1x</span>
535
+ <span class="cline-any cline-yes">1x</span>
529
536
  <span class="cline-any cline-neutral">&nbsp;</span>
530
537
  <span class="cline-any cline-neutral">&nbsp;</span>
531
538
  <span class="cline-any cline-neutral">&nbsp;</span>
532
539
  <span class="cline-any cline-neutral">&nbsp;</span>
540
+ <span class="cline-any cline-yes">1x</span>
541
+ <span class="cline-any cline-yes">1x</span>
533
542
  <span class="cline-any cline-neutral">&nbsp;</span>
534
543
  <span class="cline-any cline-neutral">&nbsp;</span>
544
+ <span class="cline-any cline-yes">2x</span>
545
+ <span class="cline-any cline-yes">2x</span>
535
546
  <span class="cline-any cline-neutral">&nbsp;</span>
536
547
  <span class="cline-any cline-neutral">&nbsp;</span>
548
+ <span class="cline-any cline-yes">25x</span>
537
549
  <span class="cline-any cline-neutral">&nbsp;</span>
538
550
  <span class="cline-any cline-neutral">&nbsp;</span>
539
551
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -565,15 +577,11 @@
565
577
  *--------------------------------------------------------------------------------------------*/
566
578
  import {
567
579
  SvgAdd,
568
- SvgDelete,
569
- SvgEdit,
570
- SvgMore,
580
+ SvgRefresh,
571
581
  } from "@itwin/itwinui-icons-react";
572
582
  import {
573
583
  Button,
574
- DropdownMenu,
575
584
  IconButton,
576
- MenuItem,
577
585
  Surface,
578
586
  } from "@itwin/itwinui-react";
579
587
  import React, { useCallback, useEffect, useMemo, useState } from "react";
@@ -591,12 +599,14 @@ import type { Report } from "@itwin/insights-client";
591
599
  import { REPORTING_BASE_PATH, ReportsClient } from "@itwin/insights-client";
592
600
  import ReportAction from "./ReportAction";
593
601
  import { ReportMappings } from "./ReportMappings";
594
- import { HorizontalTile } from "./HorizontalTile";
602
+ import { ReportHorizontalTile } from "./ReportHorizontalTile";
595
603
  import { SearchBar } from "./SearchBar";
596
604
  import type { ReportsApiConfig } from "../context/ReportsApiConfigContext";
597
605
  import { useReportsApiConfig } from "../context/ReportsApiConfigContext";
598
606
  import { ReportsConfigWidget } from "../../ReportsConfigWidget";
599
607
  import { useActiveIModelConnection } from "@itwin/appui-react";
608
+ import BulkExtractor from "./BulkExtractor";
609
+ import { BeEvent } from "@itwin/core-bentley";
600
610
  &nbsp;
601
611
  export type ReportType = CreateTypeFromInterface&lt;Report&gt;;
602
612
  &nbsp;
@@ -632,6 +642,7 @@ const fetchReports = async (
632
642
  export const Reports = () =&gt; {
633
643
  const iTwinId = useActiveIModelConnection()<span class="branch-0 cbranch-no" title="branch not covered" >?.i</span>TwinId ?? <span class="branch-1 cbranch-no" title="branch not covered" >"";</span>
634
644
  const apiConfig = useReportsApiConfig();
645
+ const [selectedReportIds, setSelectedReportIds] = useState&lt;string[]&gt;([]);
635
646
  const [showDeleteModal, setShowDeleteModal] = useState&lt;boolean&gt;(false);
636
647
  const [reportsView, setReportsView] = useState&lt;ReportsView&gt;(
637
648
  ReportsView.REPORTS
@@ -642,6 +653,14 @@ export const Reports = () =&gt; {
642
653
  const [isLoading, setIsLoading] = useState&lt;boolean&gt;(true);
643
654
  const [searchValue, setSearchValue] = useState&lt;string&gt;("");
644
655
  const [reports, setReports] = useState&lt;Report[]&gt;([]);
656
+ const bulkExtractor = useMemo(
657
+ () =&gt; new BulkExtractor(apiConfig, reports.map((r) =&gt; r.id)),
658
+ [apiConfig, reports]
659
+ );
660
+ const jobStartEvent = useMemo(
661
+ () =&gt; new BeEvent&lt;(reportId: string) =&gt; void&gt;(),
662
+ []
663
+ );
645
664
  &nbsp;
646
665
  useEffect(() =&gt; {
647
666
  void fetchReports(setReports, iTwinId, setIsLoading, apiConfig);
@@ -667,6 +686,25 @@ export const Reports = () =&gt; {
667
686
  ),
668
687
  [reports, searchValue]
669
688
  );
689
+ &nbsp;
690
+ const onSelectionChange = (reportId: string, control: boolean) =&gt; {
691
+ if (!control)
692
+ setSelectedReportIds([]);
693
+ &nbsp;
694
+ setSelectedReportIds((sr) =&gt;
695
+ sr.some(<span class="fstat-no" title="function not covered" >(r</span>) =&gt; <span class="cstat-no" title="statement not covered" >reportId === r)</span>
696
+ ? <span class="branch-0 cbranch-no" title="branch not covered" >sr.filter(</span>
697
+ <span class="fstat-no" title="function not covered" > (r</span>) =&gt; <span class="cstat-no" title="statement not covered" >reportId !== r</span>
698
+ )
699
+ : [...sr, reportId]
700
+ );
701
+ };
702
+ &nbsp;
703
+ const updateDatasets = useCallback(<span class="fstat-no" title="function not covered" >async </span>() =&gt; {
704
+ <span class="cstat-no" title="statement not covered" > selectedReportIds.map(<span class="fstat-no" title="function not covered" >(r</span>eportId) =&gt; <span class="cstat-no" title="statement not covered" >jobStartEvent.raiseEvent(reportId))</span>;</span>
705
+ <span class="cstat-no" title="statement not covered" > setSelectedReportIds([]);</span>
706
+ <span class="cstat-no" title="statement not covered" > await bulkExtractor.startJobs(selectedReportIds);</span>
707
+ }, [selectedReportIds, jobStartEvent, bulkExtractor]);
670
708
  &nbsp;
671
709
  switch (reportsView) {
672
710
  case ReportsView.ADDING:
@@ -694,7 +732,7 @@ export const Reports = () =&gt; {
694
732
  )}
695
733
  /&gt;
696
734
  &lt;Surface className="reports-list-container"&gt;
697
- &lt;div className="toolbar"&gt;
735
+ &lt;div className="rcw-toolbar"&gt;
698
736
  &lt;Button
699
737
  startIcon={&lt;SvgAdd /&gt;}
700
738
  onClick={() =&gt; addReport()}
@@ -704,12 +742,23 @@ export const Reports = () =&gt; {
704
742
  "ReportsConfigWidget:New"
705
743
  )}
706
744
  &lt;/Button&gt;
707
- &lt;div className="search-bar-container" data-testid="search-bar"&gt;
708
- &lt;SearchBar
709
- searchValue={searchValue}
710
- setSearchValue={setSearchValue}
711
- disabled={isLoading}
712
- /&gt;
745
+ &lt;IconButton
746
+ title={ReportsConfigWidget.localization.getLocalizedString(
747
+ "ReportsConfigWidget:UpdateDatasets"
748
+ )}
749
+ onClick={updateDatasets}
750
+ disabled={selectedReportIds.length === 0}
751
+ &gt;
752
+ &lt;SvgRefresh /&gt;
753
+ &lt;/IconButton&gt;
754
+ &lt;div className="rcw-search-bar-container" data-testid="search-bar"&gt;
755
+ &lt;div className="rcw-search-button"&gt;
756
+ &lt;SearchBar
757
+ searchValue={searchValue}
758
+ setSearchValue={setSearchValue}
759
+ disabled={isLoading}
760
+ /&gt;
761
+ &lt;/div&gt;
713
762
  &lt;/div&gt;
714
763
  &lt;/div&gt;
715
764
  {isLoading ? (
@@ -721,7 +770,7 @@ export const Reports = () =&gt; {
721
770
  "ReportsConfigWidget:NoReports"
722
771
  )}
723
772
  &lt;div&gt;
724
- &lt;Button onClick={() =&gt; addReport()} styleType="cta"&gt;
773
+ &lt;Button onClick={addReport} styleType="cta"&gt;
725
774
  {ReportsConfigWidget.localization.getLocalizedString(
726
775
  "ReportsConfigWidget:CreateOneReportCTA"
727
776
  )}
@@ -730,58 +779,27 @@ export const Reports = () =&gt; {
730
779
  &lt;/&gt;
731
780
  &lt;/EmptyMessage&gt;
732
781
  ) : (
733
- &lt;div className="reports-list"&gt;
782
+ &lt;div className="rcw-reports-list"&gt;
734
783
  {filteredReports.map((report) =&gt; (
735
- &lt;HorizontalTile
784
+ &lt;ReportHorizontalTile
736
785
  key={report.id}
737
- title={report.displayName}
738
- subText={report.description ?? <span class="branch-1 cbranch-no" title="branch not covered" >""}</span>
739
- subtextToolTip={report.description ?? <span class="branch-1 cbranch-no" title="branch not covered" >""}</span>
740
- titleTooltip={report.displayName}
786
+ report={report}
741
787
  onClickTitle={() =&gt; {
742
788
  setSelectedReport(report);
743
789
  setReportsView(ReportsView.REPORTSMAPPING);
744
790
  }}
745
- button={
746
- &lt;DropdownMenu
747
- menuItems={(close: () =&gt; void) =&gt; [
748
- &lt;MenuItem
749
- key={0}
750
- onClick={() =&gt; {
751
- setSelectedReport(report);
752
- setReportsView(ReportsView.MODIFYING);
753
- }}
754
- icon={&lt;SvgEdit /&gt;}
755
- &gt;
756
- {ReportsConfigWidget.localization.getLocalizedString(
757
- "ReportsConfigWidget:Modify"
758
- )}
759
- &lt;/MenuItem&gt;,
760
- &lt;MenuItem
761
- key={1}
762
- onClick={() =&gt; {
763
- setSelectedReport(report);
764
- setShowDeleteModal(true);
765
- close();
766
- }}
767
- icon={&lt;SvgDelete /&gt;}
768
- &gt;
769
- {ReportsConfigWidget.localization.getLocalizedString(
770
- "ReportsConfigWidget:Remove"
771
- )}
772
- &lt;/MenuItem&gt;,
773
- ]}
774
- &gt;
775
- &lt;IconButton styleType="borderless"&gt;
776
- &lt;SvgMore
777
- style={{
778
- width: "16px",
779
- height: "16px",
780
- }}
781
- /&gt;
782
- &lt;/IconButton&gt;
783
- &lt;/DropdownMenu&gt;
784
- }
791
+ jobStartEvent={jobStartEvent}
792
+ bulkExtractor={bulkExtractor}
793
+ onClickDelete={() =&gt; {
794
+ setSelectedReport(report);
795
+ setShowDeleteModal(true);
796
+ }}
797
+ onClickModify={() =&gt; {
798
+ setSelectedReport(report);
799
+ setReportsView(ReportsView.MODIFYING);
800
+ }}
801
+ onSelectionChange={onSelectionChange}
802
+ selected={selectedReportIds.some((reportId) =&gt; report.id === reportId)}
785
803
  /&gt;
786
804
  ))}
787
805
  &lt;/div&gt;
@@ -814,7 +832,7 @@ export const Reports = () =&gt; {
814
832
  <div class='footer quiet pad2 space-top1 center small'>
815
833
  Code coverage generated by
816
834
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
817
- at Mon Sep 12 2022 19:50:35 GMT+0000 (Coordinated Universal Time)
835
+ at Mon Oct 31 2022 19:03:26 GMT+0000 (Coordinated Universal Time)
818
836
  </div>
819
837
  <script src="../../../prettify.js"></script>
820
838
  <script>
@@ -208,7 +208,7 @@ export default ReportsContainer;
208
208
  <div class='footer quiet pad2 space-top1 center small'>
209
209
  Code coverage generated by
210
210
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
211
- at Mon Sep 12 2022 19:50:35 GMT+0000 (Coordinated Universal Time)
211
+ at Mon Oct 31 2022 19:03:26 GMT+0000 (Coordinated Universal Time)
212
212
  </div>
213
213
  <script src="../../../prettify.js"></script>
214
214
  <script>
@@ -146,10 +146,10 @@
146
146
  <span class="cline-any cline-neutral">&nbsp;</span>
147
147
  <span class="cline-any cline-neutral">&nbsp;</span>
148
148
  <span class="cline-any cline-neutral">&nbsp;</span>
149
- <span class="cline-any cline-yes">156x</span>
150
- <span class="cline-any cline-yes">156x</span>
149
+ <span class="cline-any cline-yes">159x</span>
150
+ <span class="cline-any cline-yes">159x</span>
151
151
  <span class="cline-any cline-neutral">&nbsp;</span>
152
- <span class="cline-any cline-yes">156x</span>
152
+ <span class="cline-any cline-yes">159x</span>
153
153
  <span class="cline-any cline-neutral">&nbsp;</span>
154
154
  <span class="cline-any cline-neutral">&nbsp;</span>
155
155
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -212,7 +212,7 @@ export const SearchBar = ({
212
212
  const [searchBarClosing, setSearchBarClosing] = useState&lt;boolean&gt;(false);
213
213
  &nbsp;
214
214
  return searchBarOpen || searchValue ? (
215
- &lt;div
215
+ &lt;div className="rcw-search-button"
216
216
  style={{
217
217
  animation: searchBarClosing ? <span class="branch-0 cbranch-no" title="branch not covered" >"rcw-shrink .5s" </span>: "rcw-expand .5s",
218
218
  }}
@@ -256,7 +256,7 @@ export const SearchBar = ({
256
256
  <div class='footer quiet pad2 space-top1 center small'>
257
257
  Code coverage generated by
258
258
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
259
- at Mon Sep 12 2022 19:50:35 GMT+0000 (Coordinated Universal Time)
259
+ at Mon Oct 31 2022 19:03:26 GMT+0000 (Coordinated Universal Time)
260
260
  </div>
261
261
  <script src="../../../prettify.js"></script>
262
262
  <script>
@@ -376,7 +376,7 @@ export const SelectIModel = ({
376
376
  <div class='footer quiet pad2 space-top1 center small'>
377
377
  Code coverage generated by
378
378
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
379
- at Mon Sep 12 2022 19:50:35 GMT+0000 (Coordinated Universal Time)
379
+ at Mon Oct 31 2022 19:03:26 GMT+0000 (Coordinated Universal Time)
380
380
  </div>
381
381
  <script src="../../../prettify.js"></script>
382
382
  <script>