@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.
- package/.rush/temp/package-deps_rebuild.json +38 -34
- package/.rush/temp/shrinkwrap-deps.json +14 -6
- package/CHANGELOG.json +30 -0
- package/CHANGELOG.md +17 -1
- package/coverage/clover.xml +605 -610
- package/coverage/coverage-final.json +28 -27
- package/coverage/lcov-report/index.html +31 -31
- package/coverage/lcov-report/src/ReportsConfigWidget.ts.html +10 -10
- package/coverage/lcov-report/src/index.html +1 -1
- package/coverage/lcov-report/src/test/index.html +1 -1
- package/coverage/lcov-report/src/test/test-utils.tsx.html +22 -22
- package/coverage/lcov-report/src/widget/ReportsConfigUiProvider.tsx.html +7 -7
- package/coverage/lcov-report/src/widget/components/ActionPanel.tsx.html +29 -41
- package/coverage/lcov-report/src/widget/components/AddMappingsModal.tsx.html +31 -37
- package/coverage/lcov-report/src/widget/components/BulkExtractor.ts.html +270 -162
- package/coverage/lcov-report/src/widget/components/Constants.ts.html +4 -4
- package/coverage/lcov-report/src/widget/components/DeleteModal.tsx.html +21 -21
- package/coverage/lcov-report/src/widget/components/ExtractionStates/FailedExtractionState.tsx.html +6 -6
- package/coverage/lcov-report/src/widget/components/ExtractionStates/QueuedExtractionState.tsx.html +14 -14
- package/coverage/lcov-report/src/widget/components/ExtractionStates/RunningExtractionState.tsx.html +15 -15
- package/coverage/lcov-report/src/widget/components/ExtractionStates/StartingExtractionState.tsx.html +14 -14
- package/coverage/lcov-report/src/widget/components/ExtractionStates/SucceededExtractionState.tsx.html +22 -19
- package/coverage/lcov-report/src/widget/components/ExtractionStates/index.html +43 -43
- package/coverage/lcov-report/src/widget/components/ExtractionStatus.tsx.html +57 -57
- package/coverage/lcov-report/src/widget/components/ExtractionToast.tsx.html +208 -0
- package/coverage/lcov-report/src/widget/components/HorizontalTile.tsx.html +8 -8
- package/coverage/lcov-report/src/widget/components/LocalizedTablePaginator.tsx.html +8 -8
- package/coverage/lcov-report/src/widget/components/ReportAction.tsx.html +14 -20
- package/coverage/lcov-report/src/widget/components/ReportHorizontalTile.tsx.html +30 -33
- package/coverage/lcov-report/src/widget/components/ReportMappingHorizontalTile.tsx.html +469 -0
- package/coverage/lcov-report/src/widget/components/ReportMappings.tsx.html +183 -231
- package/coverage/lcov-report/src/widget/components/Reports.tsx.html +73 -43
- package/coverage/lcov-report/src/widget/components/ReportsContainer.tsx.html +10 -10
- package/coverage/lcov-report/src/widget/components/SearchBar.tsx.html +10 -10
- package/coverage/lcov-report/src/widget/components/SelectIModel.tsx.html +31 -31
- package/coverage/lcov-report/src/widget/components/index.html +100 -85
- package/coverage/lcov-report/src/widget/components/utils.tsx.html +32 -32
- package/coverage/lcov-report/src/widget/context/ReportsApiConfigContext.tsx.html +8 -8
- package/coverage/lcov-report/src/widget/context/index.html +1 -1
- package/coverage/lcov-report/src/widget/hooks/index.html +1 -1
- package/coverage/lcov-report/src/widget/hooks/useValidator.ts.html +7 -7
- package/coverage/lcov-report/src/widget/index.html +1 -1
- package/coverage/lcov.info +990 -1003
- package/jest.config.js +6 -0
- package/lib/cjs/test/AddMappingModal.test.d.ts +2 -0
- package/lib/cjs/test/AddMappingModal.test.d.ts.map +1 -0
- package/lib/cjs/test/AddMappingModal.test.js +277 -0
- package/lib/cjs/test/AddMappingModal.test.js.map +1 -0
- package/lib/cjs/test/BulkExtractor.test.d.ts +2 -0
- package/lib/cjs/test/BulkExtractor.test.d.ts.map +1 -0
- package/lib/cjs/test/BulkExtractor.test.js +182 -0
- package/lib/cjs/test/BulkExtractor.test.js.map +1 -0
- package/lib/cjs/test/DeleteModal.test.d.ts +2 -0
- package/lib/cjs/test/DeleteModal.test.d.ts.map +1 -0
- package/lib/cjs/test/DeleteModal.test.js +93 -0
- package/lib/cjs/test/DeleteModal.test.js.map +1 -0
- package/lib/cjs/test/ReportAction.test.js +2 -3
- package/lib/cjs/test/ReportAction.test.js.map +1 -1
- package/lib/cjs/test/ReportMappingHorizontalTile.test.d.ts +2 -0
- package/lib/cjs/test/ReportMappingHorizontalTile.test.d.ts.map +1 -0
- package/lib/cjs/test/ReportMappingHorizontalTile.test.js +340 -0
- package/lib/cjs/test/ReportMappingHorizontalTile.test.js.map +1 -0
- package/lib/cjs/test/ReportMappings.test.js +115 -267
- package/lib/cjs/test/ReportMappings.test.js.map +1 -1
- package/lib/cjs/test/Reports.test.js +1 -1
- package/lib/cjs/test/Reports.test.js.map +1 -1
- package/lib/cjs/tsconfig.tsbuildinfo +1 -1
- package/lib/cjs/widget/components/ActionPanel.d.ts.map +1 -1
- package/lib/cjs/widget/components/ActionPanel.js +4 -5
- package/lib/cjs/widget/components/ActionPanel.js.map +1 -1
- package/lib/cjs/widget/components/AddMappingsModal.d.ts +2 -2
- package/lib/cjs/widget/components/AddMappingsModal.d.ts.map +1 -1
- package/lib/cjs/widget/components/AddMappingsModal.js +5 -4
- package/lib/cjs/widget/components/AddMappingsModal.js.map +1 -1
- package/lib/cjs/widget/components/AddMappingsModal.scss +4 -3
- package/lib/cjs/widget/components/BulkExtractor.d.ts +18 -9
- package/lib/cjs/widget/components/BulkExtractor.d.ts.map +1 -1
- package/lib/cjs/widget/components/BulkExtractor.js +86 -57
- package/lib/cjs/widget/components/BulkExtractor.js.map +1 -1
- package/lib/cjs/widget/components/DeleteModal.js +1 -1
- package/lib/cjs/widget/components/DeleteModal.js.map +1 -1
- package/lib/cjs/widget/components/DeleteModal.scss +4 -3
- package/lib/cjs/widget/components/ExtractionStates/RunningExtractionState.js +1 -1
- package/lib/cjs/widget/components/ExtractionStates/RunningExtractionState.js.map +1 -1
- package/lib/cjs/widget/components/ExtractionStates/SucceededExtractionState.d.ts.map +1 -1
- package/lib/cjs/widget/components/ExtractionStates/SucceededExtractionState.js +1 -1
- package/lib/cjs/widget/components/ExtractionStates/SucceededExtractionState.js.map +1 -1
- package/lib/cjs/widget/components/ExtractionStatus.scss +15 -1
- package/lib/cjs/widget/components/ExtractionToast.d.ts +11 -0
- package/lib/cjs/widget/components/ExtractionToast.d.ts.map +1 -0
- package/lib/cjs/widget/components/ExtractionToast.js +33 -0
- package/lib/cjs/widget/components/ExtractionToast.js.map +1 -0
- package/lib/cjs/widget/components/HorizontalTile.scss +1 -1
- package/lib/cjs/widget/components/ReportAction.d.ts.map +1 -1
- package/lib/cjs/widget/components/ReportAction.js +3 -3
- package/lib/cjs/widget/components/ReportAction.js.map +1 -1
- package/lib/cjs/widget/components/ReportAction.scss +2 -2
- package/lib/cjs/widget/components/ReportHorizontalTile.d.ts.map +1 -1
- package/lib/cjs/widget/components/ReportHorizontalTile.js +1 -2
- package/lib/cjs/widget/components/ReportHorizontalTile.js.map +1 -1
- package/lib/cjs/widget/components/ReportMappingHorizontalTile.d.ts +13 -0
- package/lib/cjs/widget/components/ReportMappingHorizontalTile.d.ts.map +1 -0
- package/lib/cjs/widget/components/ReportMappingHorizontalTile.js +82 -0
- package/lib/cjs/widget/components/ReportMappingHorizontalTile.js.map +1 -0
- package/lib/cjs/widget/components/ReportMappings.d.ts +3 -1
- package/lib/cjs/widget/components/ReportMappings.d.ts.map +1 -1
- package/lib/cjs/widget/components/ReportMappings.js +39 -40
- package/lib/cjs/widget/components/ReportMappings.js.map +1 -1
- package/lib/cjs/widget/components/ReportMappings.scss +7 -7
- package/lib/cjs/widget/components/Reports.d.ts.map +1 -1
- package/lib/cjs/widget/components/Reports.js +13 -6
- package/lib/cjs/widget/components/Reports.js.map +1 -1
- package/lib/cjs/widget/components/Reports.scss +1 -1
- package/lib/cjs/widget/components/ReportsContainer.js +1 -1
- package/lib/cjs/widget/components/ReportsContainer.js.map +1 -1
- package/lib/cjs/widget/components/ReportsContainer.scss +2 -2
- package/lib/cjs/widget/components/SelectIModel.js +2 -2
- package/lib/cjs/widget/components/SelectIModel.js.map +1 -1
- package/lib/cjs/widget/components/SelectIModel.scss +4 -3
- package/lib/cjs/widget/components/utils.js +1 -1
- package/lib/cjs/widget/components/utils.js.map +1 -1
- package/lib/cjs/widget/components/utils.scss +2 -2
- package/lib/esm/test/AddMappingModal.test.d.ts +2 -0
- package/lib/esm/test/AddMappingModal.test.d.ts.map +1 -0
- package/lib/esm/test/AddMappingModal.test.js +253 -0
- package/lib/esm/test/AddMappingModal.test.js.map +1 -0
- package/lib/esm/test/BulkExtractor.test.d.ts +2 -0
- package/lib/esm/test/BulkExtractor.test.d.ts.map +1 -0
- package/lib/esm/test/BulkExtractor.test.js +158 -0
- package/lib/esm/test/BulkExtractor.test.js.map +1 -0
- package/lib/esm/test/DeleteModal.test.d.ts +2 -0
- package/lib/esm/test/DeleteModal.test.d.ts.map +1 -0
- package/lib/esm/test/DeleteModal.test.js +69 -0
- package/lib/esm/test/DeleteModal.test.js.map +1 -0
- package/lib/esm/test/ReportAction.test.js +2 -3
- package/lib/esm/test/ReportAction.test.js.map +1 -1
- package/lib/esm/test/ReportMappingHorizontalTile.test.d.ts +2 -0
- package/lib/esm/test/ReportMappingHorizontalTile.test.d.ts.map +1 -0
- package/lib/esm/test/ReportMappingHorizontalTile.test.js +316 -0
- package/lib/esm/test/ReportMappingHorizontalTile.test.js.map +1 -0
- package/lib/esm/test/ReportMappings.test.js +117 -269
- package/lib/esm/test/ReportMappings.test.js.map +1 -1
- package/lib/esm/test/Reports.test.js +1 -1
- package/lib/esm/test/Reports.test.js.map +1 -1
- package/lib/esm/tsconfig.tsbuildinfo +1 -1
- package/lib/esm/widget/components/ActionPanel.d.ts.map +1 -1
- package/lib/esm/widget/components/ActionPanel.js +4 -5
- package/lib/esm/widget/components/ActionPanel.js.map +1 -1
- package/lib/esm/widget/components/AddMappingsModal.d.ts +2 -2
- package/lib/esm/widget/components/AddMappingsModal.d.ts.map +1 -1
- package/lib/esm/widget/components/AddMappingsModal.js +4 -5
- package/lib/esm/widget/components/AddMappingsModal.js.map +1 -1
- package/lib/esm/widget/components/AddMappingsModal.scss +4 -3
- package/lib/esm/widget/components/BulkExtractor.d.ts +18 -9
- package/lib/esm/widget/components/BulkExtractor.d.ts.map +1 -1
- package/lib/esm/widget/components/BulkExtractor.js +86 -57
- package/lib/esm/widget/components/BulkExtractor.js.map +1 -1
- package/lib/esm/widget/components/DeleteModal.js +1 -1
- package/lib/esm/widget/components/DeleteModal.js.map +1 -1
- package/lib/esm/widget/components/DeleteModal.scss +4 -3
- package/lib/esm/widget/components/ExtractionStates/RunningExtractionState.js +1 -1
- package/lib/esm/widget/components/ExtractionStates/RunningExtractionState.js.map +1 -1
- package/lib/esm/widget/components/ExtractionStates/SucceededExtractionState.d.ts.map +1 -1
- package/lib/esm/widget/components/ExtractionStates/SucceededExtractionState.js +1 -1
- package/lib/esm/widget/components/ExtractionStates/SucceededExtractionState.js.map +1 -1
- package/lib/esm/widget/components/ExtractionStatus.scss +15 -1
- package/lib/esm/widget/components/ExtractionToast.d.ts +11 -0
- package/lib/esm/widget/components/ExtractionToast.d.ts.map +1 -0
- package/lib/esm/widget/components/ExtractionToast.js +25 -0
- package/lib/esm/widget/components/ExtractionToast.js.map +1 -0
- package/lib/esm/widget/components/HorizontalTile.scss +1 -1
- package/lib/esm/widget/components/ReportAction.d.ts.map +1 -1
- package/lib/esm/widget/components/ReportAction.js +3 -3
- package/lib/esm/widget/components/ReportAction.js.map +1 -1
- package/lib/esm/widget/components/ReportAction.scss +2 -2
- package/lib/esm/widget/components/ReportHorizontalTile.d.ts.map +1 -1
- package/lib/esm/widget/components/ReportHorizontalTile.js +1 -2
- package/lib/esm/widget/components/ReportHorizontalTile.js.map +1 -1
- package/lib/esm/widget/components/ReportMappingHorizontalTile.d.ts +13 -0
- package/lib/esm/widget/components/ReportMappingHorizontalTile.d.ts.map +1 -0
- package/lib/esm/widget/components/ReportMappingHorizontalTile.js +75 -0
- package/lib/esm/widget/components/ReportMappingHorizontalTile.js.map +1 -0
- package/lib/esm/widget/components/ReportMappings.d.ts +3 -1
- package/lib/esm/widget/components/ReportMappings.d.ts.map +1 -1
- package/lib/esm/widget/components/ReportMappings.js +40 -41
- package/lib/esm/widget/components/ReportMappings.js.map +1 -1
- package/lib/esm/widget/components/ReportMappings.scss +7 -7
- package/lib/esm/widget/components/Reports.d.ts.map +1 -1
- package/lib/esm/widget/components/Reports.js +15 -8
- package/lib/esm/widget/components/Reports.js.map +1 -1
- package/lib/esm/widget/components/Reports.scss +1 -1
- package/lib/esm/widget/components/ReportsContainer.js +1 -1
- package/lib/esm/widget/components/ReportsContainer.js.map +1 -1
- package/lib/esm/widget/components/ReportsContainer.scss +2 -2
- package/lib/esm/widget/components/SelectIModel.js +2 -2
- package/lib/esm/widget/components/SelectIModel.js.map +1 -1
- package/lib/esm/widget/components/SelectIModel.scss +4 -3
- package/lib/esm/widget/components/utils.js +1 -1
- package/lib/esm/widget/components/utils.js.map +1 -1
- package/lib/esm/widget/components/utils.scss +2 -2
- package/lib/public/locales/en/ReportsConfigWidget.json +5 -0
- package/package.json +7 -4
- package/public/locales/en/ReportsConfigWidget.json +5 -0
- package/reports-config-widget-react.build.error.log +10 -6
- package/reports-config-widget-react.build.log +51 -46
- package/src/test/AddMappingModal.test.tsx +315 -0
- package/src/test/BulkExtractor.test.ts +301 -0
- package/src/test/DeleteModal.test.tsx +118 -0
- package/src/test/ReportAction.test.tsx +2 -4
- package/src/test/ReportMappingHorizontalTile.test.tsx +451 -0
- package/src/test/ReportMappings.test.tsx +154 -549
- package/src/test/Reports.test.tsx +1 -1
- package/src/widget/components/ActionPanel.tsx +19 -23
- package/src/widget/components/AddMappingsModal.scss +4 -3
- package/src/widget/components/AddMappingsModal.tsx +4 -6
- package/src/widget/components/BulkExtractor.ts +97 -61
- package/src/widget/components/DeleteModal.scss +4 -3
- package/src/widget/components/DeleteModal.tsx +1 -1
- package/src/widget/components/ExtractionStates/RunningExtractionState.tsx +1 -1
- package/src/widget/components/ExtractionStates/SucceededExtractionState.tsx +1 -0
- package/src/widget/components/ExtractionStatus.scss +15 -1
- package/src/widget/components/ExtractionToast.tsx +41 -0
- package/src/widget/components/HorizontalTile.scss +1 -1
- package/src/widget/components/ReportAction.scss +2 -2
- package/src/widget/components/ReportAction.tsx +1 -3
- package/src/widget/components/ReportHorizontalTile.tsx +1 -2
- package/src/widget/components/ReportMappingHorizontalTile.tsx +128 -0
- package/src/widget/components/ReportMappings.scss +7 -7
- package/src/widget/components/ReportMappings.tsx +89 -105
- package/src/widget/components/Reports.scss +1 -1
- package/src/widget/components/Reports.tsx +18 -8
- package/src/widget/components/ReportsContainer.scss +2 -2
- package/src/widget/components/ReportsContainer.tsx +1 -1
- package/src/widget/components/SelectIModel.scss +4 -3
- package/src/widget/components/SelectIModel.tsx +2 -2
- package/src/widget/components/utils.scss +2 -2
- package/src/widget/components/utils.tsx +1 -1
- package/coverage/lcov-report/src/widget/components/Extraction.tsx.html +0 -1030
- package/lib/cjs/widget/components/Extraction.d.ts +0 -28
- package/lib/cjs/widget/components/Extraction.d.ts.map +0 -1
- package/lib/cjs/widget/components/Extraction.js +0 -190
- package/lib/cjs/widget/components/Extraction.js.map +0 -1
- package/lib/cjs/widget/components/Extraction.scss +0 -39
- package/lib/esm/widget/components/Extraction.d.ts +0 -28
- package/lib/esm/widget/components/Extraction.d.ts.map +0 -1
- package/lib/esm/widget/components/Extraction.js +0 -166
- package/lib/esm/widget/components/Extraction.js.map +0 -1
- package/lib/esm/widget/components/Extraction.scss +0 -39
- package/src/widget/components/Extraction.scss +0 -39
- 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">
|
|
26
|
+
<span class="strong">85% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>85/100</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">76.19% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>16/21</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">86.66% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>13/15</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">85.41% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>82/96</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
</div>
|
|
62
62
|
</template>
|
|
63
63
|
</div>
|
|
64
|
-
<div class='status-line
|
|
64
|
+
<div class='status-line high'></div>
|
|
65
65
|
<pre><table class="coverage">
|
|
66
66
|
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
|
|
67
67
|
<a name='L2'></a><a href='#L2'>2</a>
|
|
@@ -219,16 +219,52 @@
|
|
|
219
219
|
<a name='L154'></a><a href='#L154'>154</a>
|
|
220
220
|
<a name='L155'></a><a href='#L155'>155</a>
|
|
221
221
|
<a name='L156'></a><a href='#L156'>156</a>
|
|
222
|
-
<a name='L157'></a><a href='#L157'>157</a
|
|
222
|
+
<a name='L157'></a><a href='#L157'>157</a>
|
|
223
|
+
<a name='L158'></a><a href='#L158'>158</a>
|
|
224
|
+
<a name='L159'></a><a href='#L159'>159</a>
|
|
225
|
+
<a name='L160'></a><a href='#L160'>160</a>
|
|
226
|
+
<a name='L161'></a><a href='#L161'>161</a>
|
|
227
|
+
<a name='L162'></a><a href='#L162'>162</a>
|
|
228
|
+
<a name='L163'></a><a href='#L163'>163</a>
|
|
229
|
+
<a name='L164'></a><a href='#L164'>164</a>
|
|
230
|
+
<a name='L165'></a><a href='#L165'>165</a>
|
|
231
|
+
<a name='L166'></a><a href='#L166'>166</a>
|
|
232
|
+
<a name='L167'></a><a href='#L167'>167</a>
|
|
233
|
+
<a name='L168'></a><a href='#L168'>168</a>
|
|
234
|
+
<a name='L169'></a><a href='#L169'>169</a>
|
|
235
|
+
<a name='L170'></a><a href='#L170'>170</a>
|
|
236
|
+
<a name='L171'></a><a href='#L171'>171</a>
|
|
237
|
+
<a name='L172'></a><a href='#L172'>172</a>
|
|
238
|
+
<a name='L173'></a><a href='#L173'>173</a>
|
|
239
|
+
<a name='L174'></a><a href='#L174'>174</a>
|
|
240
|
+
<a name='L175'></a><a href='#L175'>175</a>
|
|
241
|
+
<a name='L176'></a><a href='#L176'>176</a>
|
|
242
|
+
<a name='L177'></a><a href='#L177'>177</a>
|
|
243
|
+
<a name='L178'></a><a href='#L178'>178</a>
|
|
244
|
+
<a name='L179'></a><a href='#L179'>179</a>
|
|
245
|
+
<a name='L180'></a><a href='#L180'>180</a>
|
|
246
|
+
<a name='L181'></a><a href='#L181'>181</a>
|
|
247
|
+
<a name='L182'></a><a href='#L182'>182</a>
|
|
248
|
+
<a name='L183'></a><a href='#L183'>183</a>
|
|
249
|
+
<a name='L184'></a><a href='#L184'>184</a>
|
|
250
|
+
<a name='L185'></a><a href='#L185'>185</a>
|
|
251
|
+
<a name='L186'></a><a href='#L186'>186</a>
|
|
252
|
+
<a name='L187'></a><a href='#L187'>187</a>
|
|
253
|
+
<a name='L188'></a><a href='#L188'>188</a>
|
|
254
|
+
<a name='L189'></a><a href='#L189'>189</a>
|
|
255
|
+
<a name='L190'></a><a href='#L190'>190</a>
|
|
256
|
+
<a name='L191'></a><a href='#L191'>191</a>
|
|
257
|
+
<a name='L192'></a><a href='#L192'>192</a>
|
|
258
|
+
<a name='L193'></a><a href='#L193'>193</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
223
259
|
<span class="cline-any cline-neutral"> </span>
|
|
224
260
|
<span class="cline-any cline-neutral"> </span>
|
|
225
261
|
<span class="cline-any cline-neutral"> </span>
|
|
226
|
-
<span class="cline-any cline-yes">
|
|
262
|
+
<span class="cline-any cline-yes">8x</span>
|
|
227
263
|
<span class="cline-any cline-neutral"> </span>
|
|
228
|
-
<span class="cline-any cline-yes">
|
|
264
|
+
<span class="cline-any cline-yes">8x</span>
|
|
229
265
|
<span class="cline-any cline-neutral"> </span>
|
|
230
|
-
<span class="cline-any cline-yes">
|
|
231
|
-
<span class="cline-any cline-yes">
|
|
266
|
+
<span class="cline-any cline-yes">8x</span>
|
|
267
|
+
<span class="cline-any cline-yes">8x</span>
|
|
232
268
|
<span class="cline-any cline-neutral"> </span>
|
|
233
269
|
<span class="cline-any cline-neutral"> </span>
|
|
234
270
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -236,90 +272,104 @@
|
|
|
236
272
|
<span class="cline-any cline-neutral"> </span>
|
|
237
273
|
<span class="cline-any cline-neutral"> </span>
|
|
238
274
|
<span class="cline-any cline-neutral"> </span>
|
|
239
|
-
<span class="cline-any cline-yes">
|
|
240
|
-
<span class="cline-any cline-yes">15x</span>
|
|
275
|
+
<span class="cline-any cline-yes">8x</span>
|
|
241
276
|
<span class="cline-any cline-neutral"> </span>
|
|
242
277
|
<span class="cline-any cline-neutral"> </span>
|
|
243
278
|
<span class="cline-any cline-neutral"> </span>
|
|
244
|
-
<span class="cline-any cline-yes">15x</span>
|
|
245
|
-
<span class="cline-any cline-yes">15x</span>
|
|
246
279
|
<span class="cline-any cline-neutral"> </span>
|
|
280
|
+
<span class="cline-any cline-yes">19x</span>
|
|
281
|
+
<span class="cline-any cline-yes">19x</span>
|
|
282
|
+
<span class="cline-any cline-yes">19x</span>
|
|
283
|
+
<span class="cline-any cline-yes">19x</span>
|
|
284
|
+
<span class="cline-any cline-yes">19x</span>
|
|
247
285
|
<span class="cline-any cline-neutral"> </span>
|
|
248
286
|
<span class="cline-any cline-neutral"> </span>
|
|
249
|
-
<span class="cline-any cline-yes">15x</span>
|
|
250
|
-
<span class="cline-any cline-yes">15x</span>
|
|
251
|
-
<span class="cline-any cline-yes">15x</span>
|
|
252
|
-
<span class="cline-any cline-yes">15x</span>
|
|
253
|
-
<span class="cline-any cline-yes">15x</span>
|
|
254
287
|
<span class="cline-any cline-neutral"> </span>
|
|
288
|
+
<span class="cline-any cline-yes">19x</span>
|
|
255
289
|
<span class="cline-any cline-neutral"> </span>
|
|
256
290
|
<span class="cline-any cline-neutral"> </span>
|
|
257
|
-
<span class="cline-any cline-no"> </span>
|
|
258
|
-
<span class="cline-any cline-no"> </span>
|
|
259
291
|
<span class="cline-any cline-neutral"> </span>
|
|
260
|
-
<span class="cline-any cline-no"> </span>
|
|
261
|
-
<span class="cline-any cline-no"> </span>
|
|
262
|
-
<span class="cline-any cline-no"> </span>
|
|
263
|
-
<span class="cline-any cline-no"> </span>
|
|
264
|
-
<span class="cline-any cline-no"> </span>
|
|
265
292
|
<span class="cline-any cline-neutral"> </span>
|
|
266
293
|
<span class="cline-any cline-neutral"> </span>
|
|
267
|
-
<span class="cline-any cline-no"> </span>
|
|
268
|
-
<span class="cline-any cline-no"> </span>
|
|
269
|
-
<span class="cline-any cline-no"> </span>
|
|
270
|
-
<span class="cline-any cline-no"> </span>
|
|
271
|
-
<span class="cline-any cline-no"> </span>
|
|
272
294
|
<span class="cline-any cline-neutral"> </span>
|
|
273
|
-
<span class="cline-any cline-
|
|
274
|
-
<span class="cline-any cline-
|
|
275
|
-
<span class="cline-any cline-
|
|
295
|
+
<span class="cline-any cline-yes">19x</span>
|
|
296
|
+
<span class="cline-any cline-yes">19x</span>
|
|
297
|
+
<span class="cline-any cline-yes">19x</span>
|
|
298
|
+
<span class="cline-any cline-yes">19x</span>
|
|
299
|
+
<span class="cline-any cline-yes">19x</span>
|
|
300
|
+
<span class="cline-any cline-yes">19x</span>
|
|
276
301
|
<span class="cline-any cline-neutral"> </span>
|
|
277
302
|
<span class="cline-any cline-neutral"> </span>
|
|
278
|
-
<span class="cline-any cline-no"> </span>
|
|
279
|
-
<span class="cline-any cline-no"> </span>
|
|
280
303
|
<span class="cline-any cline-neutral"> </span>
|
|
281
|
-
<span class="cline-any cline-
|
|
304
|
+
<span class="cline-any cline-yes">17x</span>
|
|
305
|
+
<span class="cline-any cline-yes">20x</span>
|
|
306
|
+
<span class="cline-any cline-yes">20x</span>
|
|
307
|
+
<span class="cline-any cline-yes">4x</span>
|
|
282
308
|
<span class="cline-any cline-neutral"> </span>
|
|
309
|
+
<span class="cline-any cline-yes">20x</span>
|
|
283
310
|
<span class="cline-any cline-neutral"> </span>
|
|
284
311
|
<span class="cline-any cline-neutral"> </span>
|
|
285
|
-
<span class="cline-any cline-no"> </span>
|
|
286
312
|
<span class="cline-any cline-neutral"> </span>
|
|
287
313
|
<span class="cline-any cline-neutral"> </span>
|
|
314
|
+
<span class="cline-any cline-yes">7x</span>
|
|
315
|
+
<span class="cline-any cline-yes">7x</span>
|
|
316
|
+
<span class="cline-any cline-yes">7x</span>
|
|
288
317
|
<span class="cline-any cline-neutral"> </span>
|
|
289
|
-
<span class="cline-any cline-no"> </span>
|
|
290
|
-
<span class="cline-any cline-no"> </span>
|
|
291
|
-
<span class="cline-any cline-no"> </span>
|
|
292
318
|
<span class="cline-any cline-neutral"> </span>
|
|
293
|
-
<span class="cline-any cline-
|
|
319
|
+
<span class="cline-any cline-yes">7x</span>
|
|
320
|
+
<span class="cline-any cline-yes">7x</span>
|
|
321
|
+
<span class="cline-any cline-yes">6x</span>
|
|
322
|
+
<span class="cline-any cline-yes">6x</span>
|
|
323
|
+
<span class="cline-any cline-yes">8x</span>
|
|
324
|
+
<span class="cline-any cline-yes">8x</span>
|
|
325
|
+
<span class="cline-any cline-yes">8x</span>
|
|
294
326
|
<span class="cline-any cline-neutral"> </span>
|
|
327
|
+
<span class="cline-any cline-yes">6x</span>
|
|
295
328
|
<span class="cline-any cline-neutral"> </span>
|
|
296
|
-
<span class="cline-any cline-no"> </span>
|
|
297
329
|
<span class="cline-any cline-neutral"> </span>
|
|
298
330
|
<span class="cline-any cline-neutral"> </span>
|
|
331
|
+
<span class="cline-any cline-yes">10x</span>
|
|
332
|
+
<span class="cline-any cline-yes">10x</span>
|
|
333
|
+
<span class="cline-any cline-yes">10x</span>
|
|
299
334
|
<span class="cline-any cline-neutral"> </span>
|
|
300
|
-
<span class="cline-any cline-no"> </span>
|
|
301
335
|
<span class="cline-any cline-neutral"> </span>
|
|
336
|
+
<span class="cline-any cline-yes">10x</span>
|
|
337
|
+
<span class="cline-any cline-yes">10x</span>
|
|
338
|
+
<span class="cline-any cline-yes">9x</span>
|
|
339
|
+
<span class="cline-any cline-yes">9x</span>
|
|
340
|
+
<span class="cline-any cline-yes">1x</span>
|
|
341
|
+
<span class="cline-any cline-yes">1x</span>
|
|
342
|
+
<span class="cline-any cline-yes">1x</span>
|
|
343
|
+
<span class="cline-any cline-yes">8x</span>
|
|
344
|
+
<span class="cline-any cline-yes">1x</span>
|
|
345
|
+
<span class="cline-any cline-yes">1x</span>
|
|
346
|
+
<span class="cline-any cline-yes">1x</span>
|
|
302
347
|
<span class="cline-any cline-neutral"> </span>
|
|
303
348
|
<span class="cline-any cline-neutral"> </span>
|
|
304
|
-
<span class="cline-any cline-
|
|
305
|
-
<span class="cline-any cline-no"> </span>
|
|
349
|
+
<span class="cline-any cline-yes">9x</span>
|
|
306
350
|
<span class="cline-any cline-neutral"> </span>
|
|
307
|
-
<span class="cline-any cline-no"> </span>
|
|
308
|
-
<span class="cline-any cline-no"> </span>
|
|
309
351
|
<span class="cline-any cline-neutral"> </span>
|
|
310
|
-
<span class="cline-any cline-no"> </span>
|
|
311
|
-
<span class="cline-any cline-no"> </span>
|
|
312
352
|
<span class="cline-any cline-neutral"> </span>
|
|
313
|
-
<span class="cline-any cline-
|
|
314
|
-
<span class="cline-any cline-
|
|
353
|
+
<span class="cline-any cline-yes">15x</span>
|
|
354
|
+
<span class="cline-any cline-yes">2x</span>
|
|
315
355
|
<span class="cline-any cline-neutral"> </span>
|
|
316
|
-
<span class="cline-any cline-
|
|
356
|
+
<span class="cline-any cline-yes">13x</span>
|
|
357
|
+
<span class="cline-any cline-yes">5x</span>
|
|
317
358
|
<span class="cline-any cline-neutral"> </span>
|
|
359
|
+
<span class="cline-any cline-yes">8x</span>
|
|
360
|
+
<span class="cline-any cline-yes">6x</span>
|
|
318
361
|
<span class="cline-any cline-neutral"> </span>
|
|
362
|
+
<span class="cline-any cline-yes">2x</span>
|
|
363
|
+
<span class="cline-any cline-yes">2x</span>
|
|
319
364
|
<span class="cline-any cline-neutral"> </span>
|
|
320
365
|
<span class="cline-any cline-no"> </span>
|
|
321
|
-
<span class="cline-any cline-
|
|
322
|
-
<span class="cline-any cline-
|
|
366
|
+
<span class="cline-any cline-neutral"> </span>
|
|
367
|
+
<span class="cline-any cline-neutral"> </span>
|
|
368
|
+
<span class="cline-any cline-neutral"> </span>
|
|
369
|
+
<span class="cline-any cline-yes">20x</span>
|
|
370
|
+
<span class="cline-any cline-yes">20x</span>
|
|
371
|
+
<span class="cline-any cline-yes">20x</span>
|
|
372
|
+
<span class="cline-any cline-yes">20x</span>
|
|
323
373
|
<span class="cline-any cline-neutral"> </span>
|
|
324
374
|
<span class="cline-any cline-no"> </span>
|
|
325
375
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -327,52 +377,74 @@
|
|
|
327
377
|
<span class="cline-any cline-neutral"> </span>
|
|
328
378
|
<span class="cline-any cline-neutral"> </span>
|
|
329
379
|
<span class="cline-any cline-neutral"> </span>
|
|
380
|
+
<span class="cline-any cline-yes">14x</span>
|
|
330
381
|
<span class="cline-any cline-no"> </span>
|
|
331
382
|
<span class="cline-any cline-no"> </span>
|
|
332
383
|
<span class="cline-any cline-no"> </span>
|
|
333
384
|
<span class="cline-any cline-no"> </span>
|
|
334
385
|
<span class="cline-any cline-no"> </span>
|
|
335
386
|
<span class="cline-any cline-neutral"> </span>
|
|
336
|
-
<span class="cline-any cline-no"> </span>
|
|
337
387
|
<span class="cline-any cline-neutral"> </span>
|
|
338
|
-
<span class="cline-any cline-
|
|
339
|
-
<span class="cline-any cline-no"> </span>
|
|
388
|
+
<span class="cline-any cline-neutral"> </span>
|
|
340
389
|
<span class="cline-any cline-no"> </span>
|
|
341
390
|
<span class="cline-any cline-neutral"> </span>
|
|
342
391
|
<span class="cline-any cline-neutral"> </span>
|
|
343
|
-
<span class="cline-any cline-
|
|
344
|
-
<span class="cline-any cline-
|
|
345
|
-
<span class="cline-any cline-
|
|
346
|
-
<span class="cline-any cline-
|
|
347
|
-
<span class="cline-any cline-
|
|
348
|
-
<span class="cline-any cline-
|
|
349
|
-
<span class="cline-any cline-
|
|
350
|
-
<span class="cline-any cline-
|
|
392
|
+
<span class="cline-any cline-neutral"> </span>
|
|
393
|
+
<span class="cline-any cline-neutral"> </span>
|
|
394
|
+
<span class="cline-any cline-yes">5x</span>
|
|
395
|
+
<span class="cline-any cline-yes">5x</span>
|
|
396
|
+
<span class="cline-any cline-yes">5x</span>
|
|
397
|
+
<span class="cline-any cline-yes">5x</span>
|
|
398
|
+
<span class="cline-any cline-yes">5x</span>
|
|
399
|
+
<span class="cline-any cline-neutral"> </span>
|
|
400
|
+
<span class="cline-any cline-yes">5x</span>
|
|
401
|
+
<span class="cline-any cline-neutral"> </span>
|
|
402
|
+
<span class="cline-any cline-yes">5x</span>
|
|
403
|
+
<span class="cline-any cline-yes">7x</span>
|
|
404
|
+
<span class="cline-any cline-neutral"> </span>
|
|
405
|
+
<span class="cline-any cline-neutral"> </span>
|
|
406
|
+
<span class="cline-any cline-neutral"> </span>
|
|
407
|
+
<span class="cline-any cline-neutral"> </span>
|
|
408
|
+
<span class="cline-any cline-yes">12x</span>
|
|
409
|
+
<span class="cline-any cline-yes">12x</span>
|
|
410
|
+
<span class="cline-any cline-neutral"> </span>
|
|
411
|
+
<span class="cline-any cline-neutral"> </span>
|
|
412
|
+
<span class="cline-any cline-neutral"> </span>
|
|
413
|
+
<span class="cline-any cline-yes">12x</span>
|
|
414
|
+
<span class="cline-any cline-yes">12x</span>
|
|
415
|
+
<span class="cline-any cline-neutral"> </span>
|
|
351
416
|
<span class="cline-any cline-no"> </span>
|
|
352
417
|
<span class="cline-any cline-neutral"> </span>
|
|
353
418
|
<span class="cline-any cline-no"> </span>
|
|
354
419
|
<span class="cline-any cline-neutral"> </span>
|
|
355
420
|
<span class="cline-any cline-neutral"> </span>
|
|
356
421
|
<span class="cline-any cline-neutral"> </span>
|
|
422
|
+
<span class="cline-any cline-yes">3x</span>
|
|
423
|
+
<span class="cline-any cline-neutral"> </span>
|
|
424
|
+
<span class="cline-any cline-neutral"> </span>
|
|
357
425
|
<span class="cline-any cline-neutral"> </span>
|
|
358
426
|
<span class="cline-any cline-no"> </span>
|
|
359
427
|
<span class="cline-any cline-no"> </span>
|
|
428
|
+
<span class="cline-any cline-no"> </span>
|
|
360
429
|
<span class="cline-any cline-neutral"> </span>
|
|
361
430
|
<span class="cline-any cline-neutral"> </span>
|
|
362
431
|
<span class="cline-any cline-neutral"> </span>
|
|
363
|
-
<span class="cline-any cline-
|
|
432
|
+
<span class="cline-any cline-yes">11x</span>
|
|
433
|
+
<span class="cline-any cline-yes">12x</span>
|
|
434
|
+
<span class="cline-any cline-yes">12x</span>
|
|
435
|
+
<span class="cline-any cline-yes">12x</span>
|
|
436
|
+
<span class="cline-any cline-yes">12x</span>
|
|
364
437
|
<span class="cline-any cline-neutral"> </span>
|
|
365
|
-
<span class="cline-any cline-
|
|
438
|
+
<span class="cline-any cline-yes">12x</span>
|
|
366
439
|
<span class="cline-any cline-neutral"> </span>
|
|
367
|
-
<span class="cline-any cline-no"> </span>
|
|
368
440
|
<span class="cline-any cline-neutral"> </span>
|
|
369
441
|
<span class="cline-any cline-neutral"> </span>
|
|
370
442
|
<span class="cline-any cline-neutral"> </span>
|
|
371
|
-
<span class="cline-any cline-
|
|
443
|
+
<span class="cline-any cline-yes">5x</span>
|
|
372
444
|
<span class="cline-any cline-neutral"> </span>
|
|
373
445
|
<span class="cline-any cline-neutral"> </span>
|
|
374
446
|
<span class="cline-any cline-neutral"> </span>
|
|
375
|
-
<span class="cline-any cline-
|
|
447
|
+
<span class="cline-any cline-yes">8x</span>
|
|
376
448
|
<span class="cline-any cline-neutral"> </span>
|
|
377
449
|
<span class="cline-any cline-neutral"> </span>
|
|
378
450
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">/*---------------------------------------------------------------------------------------------
|
|
@@ -393,142 +465,178 @@ export type ReportMappingAndMapping = ReportMapping & {
|
|
|
393
465
|
};
|
|
394
466
|
|
|
395
467
|
export default class BulkExtractor {
|
|
396
|
-
private _reportRunIds = new Map<string, string[]>();
|
|
397
468
|
private _reportsClientApi: ReportsClient;
|
|
398
469
|
private _extractionClientApi: ExtractionClient;
|
|
399
470
|
private _accessToken: () => Promise<string>;
|
|
400
|
-
|
|
471
|
+
|
|
472
|
+
private _reportIModels = new Map<string, string[]>(); // key: reportId, value: iModels
|
|
473
|
+
private _iModelStates = new Map<string, ExtractorState>(); // key: iModelId, value: state
|
|
401
474
|
private _timeFetched = new Date();
|
|
402
|
-
private
|
|
475
|
+
private _iModelRun = new Map<string, string>(); // key: iModelId, value: runId
|
|
476
|
+
private _iModelToast = new Set<string>();
|
|
477
|
+
private _successfulExtractionToast: (iModelName: string, odataFeedUrl: string) => void;
|
|
478
|
+
private _failedExtractionToast: (iModelName: string) => void;
|
|
479
|
+
private _setJobRunning: React.Dispatch<React.SetStateAction<boolean>> | undefined;
|
|
480
|
+
private _iModels: string[] = [];
|
|
403
481
|
|
|
404
|
-
constructor(
|
|
482
|
+
constructor(
|
|
483
|
+
apiConfig: ReportsApiConfig,
|
|
484
|
+
successfulExtractionToast: (iModelName: string, odataFeedUrl: string) => void,
|
|
485
|
+
failedExtractionToast: (iModelName: string) => void,
|
|
486
|
+
) {
|
|
405
487
|
const url = generateUrl(REPORTING_BASE_PATH, apiConfig.baseUrl);
|
|
406
488
|
this._reportsClientApi = new ReportsClient(url);
|
|
407
489
|
this._extractionClientApi = new ExtractionClient(url);
|
|
408
490
|
this._accessToken = apiConfig.getAccessToken;
|
|
409
|
-
this.
|
|
491
|
+
this._successfulExtractionToast = successfulExtractionToast;
|
|
492
|
+
this._failedExtractionToast = failedExtractionToast;
|
|
410
493
|
}
|
|
411
494
|
|
|
412
|
-
private
|
|
413
|
-
const
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
const runs = <span class="cstat-no" title="statement not covered" >this._reportRunIds.get(reportId);</span>
|
|
418
|
-
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!runs) {</span>
|
|
419
|
-
<span class="cstat-no" title="statement not covered" > stateByReportId.set(reportId, ExtractionStates.None);</span>
|
|
420
|
-
<span class="cstat-no" title="statement not covered" > continue;</span>
|
|
421
|
-
}
|
|
422
|
-
|
|
423
|
-
const states: ExtractorState[] = <span class="cstat-no" title="statement not covered" >[];</span>
|
|
424
|
-
<span class="cstat-no" title="statement not covered" > for (const runId of runs) {</span>
|
|
425
|
-
const state = <span class="cstat-no" title="statement not covered" >stateByRunId.get(runId);</span>
|
|
426
|
-
<span class="cstat-no" title="statement not covered" > if (state) {</span>
|
|
427
|
-
<span class="cstat-no" title="statement not covered" > states.push(state);</span>
|
|
428
|
-
} else {
|
|
429
|
-
const runState = <span class="cstat-no" title="statement not covered" >await this.getSingleState(runId, await this._accessToken());</span>
|
|
430
|
-
<span class="cstat-no" title="statement not covered" > states.push(runState);</span>
|
|
431
|
-
<span class="cstat-no" title="statement not covered" > stateByRunId.set(runId, runState);</span>
|
|
432
|
-
}
|
|
495
|
+
private async fetchStates(): Promise<void> {
|
|
496
|
+
for (const [iModelId, runId] of this._iModelRun) {
|
|
497
|
+
const state = await this.getState(runId);
|
|
498
|
+
if (state === ExtractorState.Succeeded || state === ExtractorState.Failed) {
|
|
499
|
+
this._iModelRun.delete(iModelId);
|
|
433
500
|
}
|
|
434
|
-
|
|
435
|
-
<span class="cstat-no" title="statement not covered" > stateByReportId.set(reportId, finalState);</span>
|
|
501
|
+
this._iModelStates.set(iModelId, state);
|
|
436
502
|
}
|
|
437
|
-
<span class="cstat-no" title="statement not covered" > return stateByReportId;</span>
|
|
438
503
|
}
|
|
439
504
|
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
505
|
+
public async getReportState(reportId: string): Promise<ExtractionStates> {
|
|
506
|
+
if ((new Date().getTime() - this._timeFetched.getTime()) > STATUS_CHECK_INTERVAL) {
|
|
507
|
+
this._timeFetched = new Date();
|
|
508
|
+
await this.fetchStates();
|
|
509
|
+
}
|
|
443
510
|
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
<span class="cstat-no" title="statement not covered" >
|
|
450
|
-
);
|
|
511
|
+
const iModels = this._reportIModels.get(reportId);
|
|
512
|
+
if (!iModels) return ExtractionStates.None;
|
|
513
|
+
const states: ExtractorState[] = [];
|
|
514
|
+
for (const iModelId of iModels) {
|
|
515
|
+
const state = this._iModelStates.get(iModelId);
|
|
516
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (!state) <span class="cstat-no" title="statement not covered" >continue;</span>
|
|
517
|
+
states.push(state);
|
|
451
518
|
}
|
|
452
|
-
|
|
519
|
+
return BulkExtractor.getFinalState(states);
|
|
453
520
|
}
|
|
454
521
|
|
|
455
|
-
public
|
|
456
|
-
|
|
522
|
+
public async getIModelState(iModelId: string, iModelName: string, odataFeedUrl: string): Promise<ExtractionStates> {
|
|
523
|
+
if ((new Date().getTime() - this._timeFetched.getTime()) > STATUS_CHECK_INTERVAL) {
|
|
524
|
+
this._timeFetched = new Date();
|
|
525
|
+
await this.fetchStates();
|
|
526
|
+
}
|
|
527
|
+
|
|
528
|
+
const state = this._iModelStates.get(iModelId);
|
|
529
|
+
if (!state) return ExtractionStates.None;
|
|
530
|
+
if (!this._iModelToast.has(iModelId)) {
|
|
531
|
+
if (state === ExtractorState.Succeeded) {
|
|
532
|
+
this._successfulExtractionToast(iModelName, odataFeedUrl);
|
|
533
|
+
this._iModelToast.add(iModelId);
|
|
534
|
+
this.checkRunning();
|
|
535
|
+
} else if (state === ExtractorState.Failed) {
|
|
536
|
+
this._failedExtractionToast(iModelName);
|
|
537
|
+
this._iModelToast.add(iModelId);
|
|
538
|
+
this.checkRunning();
|
|
539
|
+
}
|
|
540
|
+
}
|
|
541
|
+
return BulkExtractor.getFinalState([state]);
|
|
457
542
|
}
|
|
458
543
|
|
|
459
|
-
private
|
|
460
|
-
|
|
461
|
-
|
|
544
|
+
private static getFinalState(states: ExtractorState[]): ExtractionStates {
|
|
545
|
+
if (states.includes(ExtractorState.Failed))
|
|
546
|
+
return ExtractionStates.Failed;
|
|
462
547
|
|
|
463
|
-
|
|
464
|
-
|
|
548
|
+
if (states.includes(ExtractorState.Queued))
|
|
549
|
+
return ExtractionStates.Queued;
|
|
465
550
|
|
|
466
|
-
|
|
467
|
-
|
|
551
|
+
if (states.includes(ExtractorState.Running))
|
|
552
|
+
return ExtractionStates.Running;
|
|
468
553
|
|
|
469
|
-
|
|
470
|
-
|
|
554
|
+
if (states.includes(ExtractorState.Succeeded))
|
|
555
|
+
return ExtractionStates.Succeeded;
|
|
471
556
|
|
|
472
557
|
<span class="cstat-no" title="statement not covered" > return ExtractionStates.Failed;</span>
|
|
473
558
|
}
|
|
474
559
|
|
|
475
|
-
private
|
|
476
|
-
|
|
477
|
-
const
|
|
478
|
-
|
|
560
|
+
private async getState(runId: string): Promise<ExtractorState> {
|
|
561
|
+
try {
|
|
562
|
+
const accessToken = await this._accessToken();
|
|
563
|
+
const response = await this._extractionClientApi.getExtractionStatus(accessToken, runId);
|
|
564
|
+
return response.state;
|
|
479
565
|
} catch (error: any) {
|
|
480
566
|
<span class="cstat-no" title="statement not covered" > handleError(error.status);</span>
|
|
481
567
|
}
|
|
482
568
|
<span class="cstat-no" title="statement not covered" > return ExtractorState.Failed;</span>
|
|
483
569
|
}
|
|
484
570
|
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
<span class="cstat-no" title="statement not covered" >
|
|
488
|
-
|
|
489
|
-
<span class="cstat-no" title="statement not covered" >
|
|
490
|
-
<span class="cstat-no" title="statement not covered" >
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
const extractionMapPromise =
|
|
494
|
-
<span class="cstat-no" title="statement not covered" > Array.from(iModels).map(<span class="fstat-no" title="function not covered" >async </span>(iModel): Promise<[string, string | undefined]> => {</span>
|
|
495
|
-
const run = <span class="cstat-no" title="statement not covered" >await this.runExtraction(iModel);</span>
|
|
496
|
-
<span class="cstat-no" title="statement not covered" > return [iModel, run];</span>
|
|
571
|
+
private checkRunning(): void {
|
|
572
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (this._setJobRunning) {
|
|
573
|
+
let allFinished = <span class="cstat-no" title="statement not covered" >true;</span>
|
|
574
|
+
<span class="cstat-no" title="statement not covered" > this._iModels.forEach(<span class="fstat-no" title="function not covered" >(i</span>ModelId) => {</span>
|
|
575
|
+
const state = <span class="cstat-no" title="statement not covered" >this._iModelStates.get(iModelId);</span>
|
|
576
|
+
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (state === ExtractorState.Queued || state === ExtractorState.Running) {</span>
|
|
577
|
+
<span class="cstat-no" title="statement not covered" > allFinished = false;</span>
|
|
578
|
+
}
|
|
497
579
|
});
|
|
498
580
|
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
<span class="cstat-no" title="statement not covered" > reportIds.forEach(<span class="fstat-no" title="function not covered" >(r</span>eportId) => {</span>
|
|
502
|
-
const reportIModels = <span class="cstat-no" title="statement not covered" >reportIModelIds.get(reportId)!;</span>
|
|
503
|
-
const runs: string[] = <span class="cstat-no" title="statement not covered" >[];</span>
|
|
504
|
-
<span class="cstat-no" title="statement not covered" > reportIModels.forEach(<span class="fstat-no" title="function not covered" >(i</span>ModelId) => {</span>
|
|
505
|
-
const runId = <span class="cstat-no" title="statement not covered" >extractionByIModel.get(iModelId);</span>
|
|
506
|
-
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (runId)</span>
|
|
507
|
-
<span class="cstat-no" title="statement not covered" > runs.push(runId);</span>
|
|
508
|
-
});
|
|
509
|
-
<span class="cstat-no" title="statement not covered" > this._reportRunIds.set(reportId, runs);</span>
|
|
510
|
-
});
|
|
581
|
+
<span class="cstat-no" title="statement not covered" > this._setJobRunning(!allFinished);</span>
|
|
582
|
+
}
|
|
511
583
|
}
|
|
512
584
|
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
585
|
+
public async runReportExtractions(reportIds: string[]): Promise<void> {
|
|
586
|
+
const reportIModelIds = new Map<string, string[]>();
|
|
587
|
+
for (const reportId of reportIds) {
|
|
588
|
+
const reportIModels = await this.fetchReportIModels(reportId);
|
|
589
|
+
reportIModelIds.set(reportId, reportIModels);
|
|
590
|
+
this._reportIModels.set(reportId, reportIModels);
|
|
591
|
+
}
|
|
592
|
+
const iModels = new Set(Array.from(reportIModelIds.values()).flat());
|
|
593
|
+
|
|
594
|
+
for (const iModel of iModels) {
|
|
595
|
+
await this.runIModelExtractions([iModel]);
|
|
596
|
+
}
|
|
597
|
+
}
|
|
598
|
+
|
|
599
|
+
private async runExtraction(iModelId: string): Promise<string | undefined> {
|
|
600
|
+
try {
|
|
601
|
+
const response = await this._extractionClientApi.runExtraction(
|
|
516
602
|
await this._accessToken(),
|
|
517
603
|
iModelId
|
|
518
604
|
);
|
|
519
|
-
|
|
605
|
+
this._iModelToast.delete(iModelId);
|
|
606
|
+
return response.id;
|
|
520
607
|
} catch (error: any) {
|
|
521
608
|
<span class="cstat-no" title="statement not covered" > handleError(error.status);</span>
|
|
522
609
|
}
|
|
523
610
|
<span class="cstat-no" title="statement not covered" > return undefined;</span>
|
|
524
611
|
}
|
|
525
612
|
|
|
526
|
-
|
|
527
|
-
|
|
613
|
+
public async runIModelExtraction(iModelId: string): Promise<void> {
|
|
614
|
+
return this.runIModelExtractions([iModelId]);
|
|
615
|
+
}
|
|
616
|
+
|
|
617
|
+
public <span class="fstat-no" title="function not covered" >setHook(</span>setJobRunning: React.Dispatch<React.SetStateAction<boolean>>, iModels: string[]): void {
|
|
618
|
+
<span class="cstat-no" title="statement not covered" > this._setJobRunning = setJobRunning;</span>
|
|
619
|
+
<span class="cstat-no" title="statement not covered" > this._iModels = iModels;</span>
|
|
620
|
+
<span class="cstat-no" title="statement not covered" > this.checkRunning();</span>
|
|
621
|
+
}
|
|
622
|
+
|
|
623
|
+
public async runIModelExtractions(iModels: string[]): Promise<void> {
|
|
624
|
+
for (const iModelId of iModels) {
|
|
625
|
+
const run = await this.runExtraction(iModelId);
|
|
626
|
+
if (run) {
|
|
627
|
+
this._iModelStates.set(iModelId, ExtractorState.Queued);
|
|
628
|
+
this._iModelRun.set(iModelId, run);
|
|
629
|
+
}
|
|
630
|
+
this.checkRunning();
|
|
631
|
+
}
|
|
632
|
+
}
|
|
633
|
+
|
|
634
|
+
private async fetchReportIModels(reportId: string): Promise<string[]> {
|
|
635
|
+
const reportMappings = await this._reportsClientApi.getReportMappings(
|
|
528
636
|
await this._accessToken(),
|
|
529
637
|
reportId
|
|
530
638
|
);
|
|
531
|
-
|
|
639
|
+
return reportMappings.map((x) => x.imodelId);
|
|
532
640
|
}
|
|
533
641
|
}
|
|
534
642
|
</pre></td></tr></table></pre>
|
|
@@ -538,7 +646,7 @@ export default class BulkExtractor {
|
|
|
538
646
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
539
647
|
Code coverage generated by
|
|
540
648
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
541
|
-
at
|
|
649
|
+
at Tue Mar 07 2023 15:47:40 GMT+0000 (Coordinated Universal Time)
|
|
542
650
|
</div>
|
|
543
651
|
<script src="../../../prettify.js"></script>
|
|
544
652
|
<script>
|