@itwin/reports-config-widget-react 0.6.0 → 0.7.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 (134) hide show
  1. package/CHANGELOG.json +45 -1
  2. package/CHANGELOG.md +23 -2
  3. package/README.md +1 -5
  4. package/api/reports-config-widget-react.api.md +11 -15
  5. package/api/reports-config-widget-react.exports.csv +1 -1
  6. package/api/temp/reports-config-widget-react.api.md +11 -15
  7. package/coverage/clover.xml +187 -190
  8. package/coverage/coverage-final.json +11 -11
  9. package/coverage/lcov-report/index.html +19 -19
  10. package/coverage/lcov-report/src/ReportsConfigWidget.ts.html +2 -2
  11. package/coverage/lcov-report/src/index.html +1 -1
  12. package/coverage/lcov-report/src/test/index.html +1 -1
  13. package/coverage/lcov-report/src/test/test-utils.tsx.html +1 -1
  14. package/coverage/lcov-report/src/widget/ReportsConfigUiProvider.tsx.html +11 -26
  15. package/coverage/lcov-report/src/widget/components/ActionPanel.tsx.html +1 -1
  16. package/coverage/lcov-report/src/widget/components/AddMappingsModal.tsx.html +3 -3
  17. package/coverage/lcov-report/src/widget/components/BulkExtractor.ts.html +7 -10
  18. package/coverage/lcov-report/src/widget/components/Constants.ts.html +1 -1
  19. package/coverage/lcov-report/src/widget/components/DeleteModal.tsx.html +1 -1
  20. package/coverage/lcov-report/src/widget/components/ExtractionStates/FailedExtractionState.tsx.html +1 -1
  21. package/coverage/lcov-report/src/widget/components/ExtractionStates/QueuedExtractionState.tsx.html +1 -1
  22. package/coverage/lcov-report/src/widget/components/ExtractionStates/RunningExtractionState.tsx.html +1 -1
  23. package/coverage/lcov-report/src/widget/components/ExtractionStates/StartingExtractionState.tsx.html +1 -1
  24. package/coverage/lcov-report/src/widget/components/ExtractionStates/SucceededExtractionState.tsx.html +1 -1
  25. package/coverage/lcov-report/src/widget/components/ExtractionStates/index.html +1 -1
  26. package/coverage/lcov-report/src/widget/components/ExtractionStatus.tsx.html +1 -1
  27. package/coverage/lcov-report/src/widget/components/ExtractionToast.tsx.html +1 -1
  28. package/coverage/lcov-report/src/widget/components/HorizontalTile.tsx.html +3 -3
  29. package/coverage/lcov-report/src/widget/components/LocalizedTablePaginator.tsx.html +1 -1
  30. package/coverage/lcov-report/src/widget/components/ReportAction.tsx.html +1 -1
  31. package/coverage/lcov-report/src/widget/components/ReportHorizontalTile.tsx.html +15 -15
  32. package/coverage/lcov-report/src/widget/components/ReportMappingHorizontalTile.tsx.html +1 -1
  33. package/coverage/lcov-report/src/widget/components/ReportMappings.tsx.html +14 -23
  34. package/coverage/lcov-report/src/widget/components/Reports.tsx.html +6 -6
  35. package/coverage/lcov-report/src/widget/components/ReportsConfigContext.tsx.html +111 -12
  36. package/coverage/lcov-report/src/widget/components/ReportsContainer.tsx.html +8 -17
  37. package/coverage/lcov-report/src/widget/components/ReportsHeader.tsx.html +1 -1
  38. package/coverage/lcov-report/src/widget/components/ReportsRouter.tsx.html +1 -1
  39. package/coverage/lcov-report/src/widget/components/SearchBar.tsx.html +1 -1
  40. package/coverage/lcov-report/src/widget/components/SelectIModel.tsx.html +1 -1
  41. package/coverage/lcov-report/src/widget/components/index.html +11 -11
  42. package/coverage/lcov-report/src/widget/components/utils.tsx.html +2 -2
  43. package/coverage/lcov-report/src/widget/context/BulkExtractorContext.tsx.html +1 -1
  44. package/coverage/lcov-report/src/widget/context/ReportsConfigApiContext.tsx.html +7 -4
  45. package/coverage/lcov-report/src/widget/context/index.html +1 -1
  46. package/coverage/lcov-report/src/widget/hooks/index.html +1 -1
  47. package/coverage/lcov-report/src/widget/hooks/useValidator.ts.html +1 -1
  48. package/coverage/lcov-report/src/widget/index.html +13 -13
  49. package/coverage/lcov.info +336 -340
  50. package/lib/cjs/reports-config-widget-react.d.ts +1 -0
  51. package/lib/cjs/reports-config-widget-react.d.ts.map +1 -1
  52. package/lib/cjs/reports-config-widget-react.js +1 -0
  53. package/lib/cjs/reports-config-widget-react.js.map +1 -1
  54. package/lib/cjs/test/ReportAction.test.js +3 -0
  55. package/lib/cjs/test/ReportAction.test.js.map +1 -1
  56. package/lib/cjs/test/ReportMappings.test.js +4 -1
  57. package/lib/cjs/test/ReportMappings.test.js.map +1 -1
  58. package/lib/cjs/test/Reports.test.js +3 -0
  59. package/lib/cjs/test/Reports.test.js.map +1 -1
  60. package/lib/cjs/tsconfig.tsbuildinfo +1 -1
  61. package/lib/cjs/widget/ReportsConfigUiProvider.d.ts +3 -4
  62. package/lib/cjs/widget/ReportsConfigUiProvider.d.ts.map +1 -1
  63. package/lib/cjs/widget/ReportsConfigUiProvider.js +3 -4
  64. package/lib/cjs/widget/ReportsConfigUiProvider.js.map +1 -1
  65. package/lib/cjs/widget/components/AddMappingsModal.d.ts.map +1 -1
  66. package/lib/cjs/widget/components/AddMappingsModal.js.map +1 -1
  67. package/lib/cjs/widget/components/BulkExtractor.d.ts +2 -2
  68. package/lib/cjs/widget/components/BulkExtractor.d.ts.map +1 -1
  69. package/lib/cjs/widget/components/BulkExtractor.js.map +1 -1
  70. package/lib/cjs/widget/components/ReportMappings.d.ts.map +1 -1
  71. package/lib/cjs/widget/components/ReportMappings.js +4 -6
  72. package/lib/cjs/widget/components/ReportMappings.js.map +1 -1
  73. package/lib/cjs/widget/components/Reports.d.ts.map +1 -1
  74. package/lib/cjs/widget/components/Reports.js.map +1 -1
  75. package/lib/cjs/widget/components/ReportsConfigContext.d.ts +26 -4
  76. package/lib/cjs/widget/components/ReportsConfigContext.d.ts.map +1 -1
  77. package/lib/cjs/widget/components/ReportsConfigContext.js +14 -4
  78. package/lib/cjs/widget/components/ReportsConfigContext.js.map +1 -1
  79. package/lib/cjs/widget/components/ReportsContainer.d.ts +3 -6
  80. package/lib/cjs/widget/components/ReportsContainer.d.ts.map +1 -1
  81. package/lib/cjs/widget/components/ReportsContainer.js +6 -2
  82. package/lib/cjs/widget/components/ReportsContainer.js.map +1 -1
  83. package/lib/cjs/widget/context/ReportsConfigApiContext.d.ts +3 -3
  84. package/lib/cjs/widget/context/ReportsConfigApiContext.d.ts.map +1 -1
  85. package/lib/cjs/widget/context/ReportsConfigApiContext.js.map +1 -1
  86. package/lib/esm/reports-config-widget-react.d.ts +1 -0
  87. package/lib/esm/reports-config-widget-react.d.ts.map +1 -1
  88. package/lib/esm/reports-config-widget-react.js +1 -0
  89. package/lib/esm/reports-config-widget-react.js.map +1 -1
  90. package/lib/esm/test/ReportAction.test.js +3 -0
  91. package/lib/esm/test/ReportAction.test.js.map +1 -1
  92. package/lib/esm/test/ReportMappings.test.js +4 -1
  93. package/lib/esm/test/ReportMappings.test.js.map +1 -1
  94. package/lib/esm/test/Reports.test.js +3 -0
  95. package/lib/esm/test/Reports.test.js.map +1 -1
  96. package/lib/esm/tsconfig.tsbuildinfo +1 -1
  97. package/lib/esm/widget/ReportsConfigUiProvider.d.ts +3 -4
  98. package/lib/esm/widget/ReportsConfigUiProvider.d.ts.map +1 -1
  99. package/lib/esm/widget/ReportsConfigUiProvider.js +3 -4
  100. package/lib/esm/widget/ReportsConfigUiProvider.js.map +1 -1
  101. package/lib/esm/widget/components/AddMappingsModal.d.ts.map +1 -1
  102. package/lib/esm/widget/components/AddMappingsModal.js.map +1 -1
  103. package/lib/esm/widget/components/BulkExtractor.d.ts +2 -2
  104. package/lib/esm/widget/components/BulkExtractor.d.ts.map +1 -1
  105. package/lib/esm/widget/components/BulkExtractor.js.map +1 -1
  106. package/lib/esm/widget/components/ReportMappings.d.ts.map +1 -1
  107. package/lib/esm/widget/components/ReportMappings.js +5 -7
  108. package/lib/esm/widget/components/ReportMappings.js.map +1 -1
  109. package/lib/esm/widget/components/Reports.d.ts.map +1 -1
  110. package/lib/esm/widget/components/Reports.js.map +1 -1
  111. package/lib/esm/widget/components/ReportsConfigContext.d.ts +26 -4
  112. package/lib/esm/widget/components/ReportsConfigContext.d.ts.map +1 -1
  113. package/lib/esm/widget/components/ReportsConfigContext.js +14 -4
  114. package/lib/esm/widget/components/ReportsConfigContext.js.map +1 -1
  115. package/lib/esm/widget/components/ReportsContainer.d.ts +3 -6
  116. package/lib/esm/widget/components/ReportsContainer.d.ts.map +1 -1
  117. package/lib/esm/widget/components/ReportsContainer.js +6 -2
  118. package/lib/esm/widget/components/ReportsContainer.js.map +1 -1
  119. package/lib/esm/widget/context/ReportsConfigApiContext.d.ts +3 -3
  120. package/lib/esm/widget/context/ReportsConfigApiContext.d.ts.map +1 -1
  121. package/lib/esm/widget/context/ReportsConfigApiContext.js.map +1 -1
  122. package/package.json +2 -2
  123. package/src/reports-config-widget-react.ts +1 -0
  124. package/src/test/ReportAction.test.tsx +3 -0
  125. package/src/test/ReportMappings.test.tsx +4 -1
  126. package/src/test/Reports.test.tsx +3 -0
  127. package/src/widget/ReportsConfigUiProvider.tsx +3 -8
  128. package/src/widget/components/AddMappingsModal.tsx +2 -2
  129. package/src/widget/components/BulkExtractor.ts +5 -6
  130. package/src/widget/components/ReportMappings.tsx +8 -11
  131. package/src/widget/components/Reports.tsx +2 -2
  132. package/src/widget/components/ReportsConfigContext.tsx +41 -8
  133. package/src/widget/components/ReportsContainer.tsx +5 -8
  134. package/src/widget/context/ReportsConfigApiContext.tsx +3 -2
@@ -23,9 +23,9 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">92.13% </span>
26
+ <span class="strong">91.95% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>82/89</span>
28
+ <span class='fraction'>80/87</span>
29
29
  </div>
30
30
 
31
31
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">93.97% </span>
47
+ <span class="strong">93.82% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>78/83</span>
49
+ <span class='fraction'>76/81</span>
50
50
  </div>
51
51
 
52
52
 
@@ -315,10 +315,7 @@
315
315
  <a name='L250'></a><a href='#L250'>250</a>
316
316
  <a name='L251'></a><a href='#L251'>251</a>
317
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>
321
- <a name='L256'></a><a href='#L256'>256</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
318
+ <a name='L253'></a><a href='#L253'>253</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
322
319
  <span class="cline-any cline-neutral">&nbsp;</span>
323
320
  <span class="cline-any cline-neutral">&nbsp;</span>
324
321
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -331,7 +328,6 @@
331
328
  <span class="cline-any cline-yes">7x</span>
332
329
  <span class="cline-any cline-neutral">&nbsp;</span>
333
330
  <span class="cline-any cline-yes">7x</span>
334
- <span class="cline-any cline-yes">7x</span>
335
331
  <span class="cline-any cline-neutral">&nbsp;</span>
336
332
  <span class="cline-any cline-yes">7x</span>
337
333
  <span class="cline-any cline-yes">7x</span>
@@ -440,8 +436,6 @@
440
436
  <span class="cline-any cline-neutral">&nbsp;</span>
441
437
  <span class="cline-any cline-neutral">&nbsp;</span>
442
438
  <span class="cline-any cline-yes">87x</span>
443
- <span class="cline-any cline-neutral">&nbsp;</span>
444
- <span class="cline-any cline-yes">87x</span>
445
439
  <span class="cline-any cline-yes">1x</span>
446
440
  <span class="cline-any cline-neutral">&nbsp;</span>
447
441
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -581,11 +575,10 @@ import { SvgAdd, SvgCopy, SvgRefresh } from "@itwin/itwinui-icons-react";
581
575
  import { Button, IconButton, LabeledInput, Text, toaster } from "@itwin/itwinui-react";
582
576
  import React, { useCallback, useEffect, useMemo, useState } from "react";
583
577
  import type { CreateTypeFromInterface } from "./utils";
584
- import { EmptyMessage, generateUrl, handleError, LoadingOverlay, LoadingSpinner } from "./utils";
578
+ import { EmptyMessage, handleError, LoadingOverlay, LoadingSpinner } from "./utils";
585
579
  import "./ReportMappings.scss";
586
580
  import DeleteModal from "./DeleteModal";
587
- import type { ExtractionRequestDetails, MappingsClient, Report, ReportMapping, ReportsClient } from "@itwin/insights-client";
588
- import { REPORTING_BASE_PATH } from "@itwin/insights-client";
581
+ import type { ExtractionRequestDetails, IMappingsClient, IReportsClient, Report, ReportMapping } from "@itwin/insights-client";
589
582
  import { AddMappingsModal } from "./AddMappingsModal";
590
583
  import type { GetSingleIModelParams, IModelsClient } from "@itwin/imodels-client-management";
591
584
  import { AccessTokenAdapter } from "@itwin/imodels-access-frontend";
@@ -608,8 +601,8 @@ const fetchReportMappings = async (
608
601
  setReportMappings: (mappings: ReportMappingAndMapping[]) =&gt; void,
609
602
  reportId: string,
610
603
  setIsLoading: (isLoading: boolean) =&gt; void,
611
- reportsClient: ReportsClient,
612
- mappingsClient: MappingsClient,
604
+ reportsClient: IReportsClient,
605
+ mappingsClient: IMappingsClient,
613
606
  iModelsClient: IModelsClient,
614
607
  getAccessToken: () =&gt; Promise&lt;AccessToken&gt;,
615
608
  ) =&gt; {
@@ -668,7 +661,7 @@ export interface ReportMappingsProps {
668
661
  * @public
669
662
  */
670
663
  export const ReportMappings = ({ report, onClickClose, defaultIModelId }: ReportMappingsProps) =&gt; {
671
- const { getAccessToken, reportsClient, iModelsClient, mappingsClient, baseUrl } = useReportsConfigApi();
664
+ const { getAccessToken, reportsClient, iModelsClient, mappingsClient } = useReportsConfigApi();
672
665
  const [showDeleteModal, setShowDeleteModal] = useState&lt;ReportMappingAndMapping | undefined&gt;(undefined);
673
666
  const [showAddMapping, setShowAddMapping] = useState&lt;boolean&gt;(false);
674
667
  const { bulkExtractor } = useBulkExtractor();
@@ -693,8 +686,6 @@ export const ReportMappings = ({ report, onClickClose, defaultIModelId }: Report
693
686
  const refresh = useCallback(async () =&gt; {
694
687
  await fetchReportMappings(setReportMappings, report.id, setIsLoading, reportsClient, mappingsClient, iModelsClient, getAccessToken);
695
688
  }, [getAccessToken, iModelsClient, mappingsClient, report.id, reportsClient]);
696
- &nbsp;
697
- const odataFeedUrl = `${generateUrl(REPORTING_BASE_PATH, baseUrl)}/odata/${report.id}`;
698
689
  &nbsp;
699
690
  const addMapping = useCallback(() =&gt; {
700
691
  setShowAddMapping(true);
@@ -719,12 +710,12 @@ export const ReportMappings = ({ report, onClickClose, defaultIModelId }: Report
719
710
  label={ReportsConfigWidget.localization.getLocalizedString("ReportsConfigWidget:ODataFeedURL")}
720
711
  className="rcw-odata-url-input"
721
712
  readOnly={true}
722
- value={odataFeedUrl}
713
+ value={report._links.odata.href}
723
714
  svgIcon={
724
715
  &lt;IconButton
725
716
  title={ReportsConfigWidget.localization.getLocalizedString("ReportsConfigWidget:Copy")}
726
717
  onClick={async (_) =&gt; {
727
- await navigator.clipboard.writeText(odataFeedUrl);
718
+ await navigator.clipboard.writeText(report._links.odata.href);
728
719
  toaster.positive(ReportsConfigWidget.localization.getLocalizedString("ReportsConfigWidget:CopiedToClipboard"));
729
720
  }}
730
721
  &gt;
@@ -772,7 +763,7 @@ export const ReportMappings = ({ report, onClickClose, defaultIModelId }: Report
772
763
  onClickDelete={<span class="fstat-no" title="function not covered" >() =</span>&gt; {
773
764
  <span class="cstat-no" title="statement not covered" > setShowDeleteModal(mapping);</span>
774
765
  }}
775
- odataFeedUrl={odataFeedUrl}
766
+ odataFeedUrl={report._links.odata.href}
776
767
  jobStartEvent={jobStartEvent}
777
768
  /&gt;
778
769
  ))}
@@ -835,7 +826,7 @@ export const ReportMappings = ({ report, onClickClose, defaultIModelId }: Report
835
826
  <div class='footer quiet pad2 space-top1 center small'>
836
827
  Code coverage generated by
837
828
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
838
- at 2024-06-10T17:38:17.498Z
829
+ at 2024-09-12T12:15:28.324Z
839
830
  </div>
840
831
  <script src="../../../prettify.js"></script>
841
832
  <script>
@@ -307,7 +307,7 @@
307
307
  <span class="cline-any cline-neutral">&nbsp;</span>
308
308
  <span class="cline-any cline-neutral">&nbsp;</span>
309
309
  <span class="cline-any cline-yes">75x</span>
310
- <span class="cline-any cline-yes">124x</span>
310
+ <span class="cline-any cline-yes">161x</span>
311
311
  <span class="cline-any cline-neutral">&nbsp;</span>
312
312
  <span class="cline-any cline-neutral">&nbsp;</span>
313
313
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -372,7 +372,7 @@
372
372
  <span class="cline-any cline-neutral">&nbsp;</span>
373
373
  <span class="cline-any cline-neutral">&nbsp;</span>
374
374
  <span class="cline-any cline-neutral">&nbsp;</span>
375
- <span class="cline-any cline-yes">143x</span>
375
+ <span class="cline-any cline-yes">183x</span>
376
376
  <span class="cline-any cline-neutral">&nbsp;</span>
377
377
  <span class="cline-any cline-neutral">&nbsp;</span>
378
378
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -383,7 +383,7 @@
383
383
  <span class="cline-any cline-neutral">&nbsp;</span>
384
384
  <span class="cline-any cline-neutral">&nbsp;</span>
385
385
  <span class="cline-any cline-neutral">&nbsp;</span>
386
- <span class="cline-any cline-yes">23x</span>
386
+ <span class="cline-any cline-yes">28x</span>
387
387
  <span class="cline-any cline-neutral">&nbsp;</span>
388
388
  <span class="cline-any cline-neutral">&nbsp;</span>
389
389
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -412,7 +412,7 @@ import type { CreateTypeFromInterface } from "./utils";
412
412
  import { EmptyMessage, handleError, LoadingOverlay } from "./utils";
413
413
  import "./Reports.scss";
414
414
  import DeleteModal from "./DeleteModal";
415
- import type { Report, ReportsClient } from "@itwin/insights-client";
415
+ import type { IReportsClient, Report } from "@itwin/insights-client";
416
416
  import { ReportHorizontalTile } from "./ReportHorizontalTile";
417
417
  import { SearchBar } from "./SearchBar";
418
418
  import { useReportsConfigApi } from "../context/ReportsConfigApiContext";
@@ -427,7 +427,7 @@ const fetchReports = async (
427
427
  setReports: (reports: Report[]) =&gt; void,
428
428
  iTwinId: string | undefined,
429
429
  setIsLoading: (isLoading: boolean) =&gt; void,
430
- reportsClient: ReportsClient,
430
+ reportsClient: IReportsClient,
431
431
  getAccessToken: () =&gt; Promise&lt;AccessToken&gt;,
432
432
  ) =&gt; {
433
433
  try {
@@ -577,7 +577,7 @@ export const Reports = ({ onClickAddReport, onClickReportModify, onClickReportTi
577
577
  <div class='footer quiet pad2 space-top1 center small'>
578
578
  Code coverage generated by
579
579
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
580
- at 2024-06-10T17:38:17.498Z
580
+ at 2024-09-12T12:15:28.324Z
581
581
  </div>
582
582
  <script src="../../../prettify.js"></script>
583
583
  <script>
@@ -164,13 +164,47 @@
164
164
  <a name='L99'></a><a href='#L99'>99</a>
165
165
  <a name='L100'></a><a href='#L100'>100</a>
166
166
  <a name='L101'></a><a href='#L101'>101</a>
167
- <a name='L102'></a><a href='#L102'>102</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
167
+ <a name='L102'></a><a href='#L102'>102</a>
168
+ <a name='L103'></a><a href='#L103'>103</a>
169
+ <a name='L104'></a><a href='#L104'>104</a>
170
+ <a name='L105'></a><a href='#L105'>105</a>
171
+ <a name='L106'></a><a href='#L106'>106</a>
172
+ <a name='L107'></a><a href='#L107'>107</a>
173
+ <a name='L108'></a><a href='#L108'>108</a>
174
+ <a name='L109'></a><a href='#L109'>109</a>
175
+ <a name='L110'></a><a href='#L110'>110</a>
176
+ <a name='L111'></a><a href='#L111'>111</a>
177
+ <a name='L112'></a><a href='#L112'>112</a>
178
+ <a name='L113'></a><a href='#L113'>113</a>
179
+ <a name='L114'></a><a href='#L114'>114</a>
180
+ <a name='L115'></a><a href='#L115'>115</a>
181
+ <a name='L116'></a><a href='#L116'>116</a>
182
+ <a name='L117'></a><a href='#L117'>117</a>
183
+ <a name='L118'></a><a href='#L118'>118</a>
184
+ <a name='L119'></a><a href='#L119'>119</a>
185
+ <a name='L120'></a><a href='#L120'>120</a>
186
+ <a name='L121'></a><a href='#L121'>121</a>
187
+ <a name='L122'></a><a href='#L122'>122</a>
188
+ <a name='L123'></a><a href='#L123'>123</a>
189
+ <a name='L124'></a><a href='#L124'>124</a>
190
+ <a name='L125'></a><a href='#L125'>125</a>
191
+ <a name='L126'></a><a href='#L126'>126</a>
192
+ <a name='L127'></a><a href='#L127'>127</a>
193
+ <a name='L128'></a><a href='#L128'>128</a>
194
+ <a name='L129'></a><a href='#L129'>129</a>
195
+ <a name='L130'></a><a href='#L130'>130</a>
196
+ <a name='L131'></a><a href='#L131'>131</a>
197
+ <a name='L132'></a><a href='#L132'>132</a>
198
+ <a name='L133'></a><a href='#L133'>133</a>
199
+ <a name='L134'></a><a href='#L134'>134</a>
200
+ <a name='L135'></a><a href='#L135'>135</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
168
201
  <span class="cline-any cline-neutral">&nbsp;</span>
169
202
  <span class="cline-any cline-neutral">&nbsp;</span>
170
203
  <span class="cline-any cline-neutral">&nbsp;</span>
171
204
  <span class="cline-any cline-yes">7x</span>
172
205
  <span class="cline-any cline-neutral">&nbsp;</span>
173
206
  <span class="cline-any cline-yes">7x</span>
207
+ <span class="cline-any cline-neutral">&nbsp;</span>
174
208
  <span class="cline-any cline-yes">7x</span>
175
209
  <span class="cline-any cline-yes">7x</span>
176
210
  <span class="cline-any cline-yes">7x</span>
@@ -199,6 +233,28 @@
199
233
  <span class="cline-any cline-neutral">&nbsp;</span>
200
234
  <span class="cline-any cline-neutral">&nbsp;</span>
201
235
  <span class="cline-any cline-neutral">&nbsp;</span>
236
+ <span class="cline-any cline-neutral">&nbsp;</span>
237
+ <span class="cline-any cline-neutral">&nbsp;</span>
238
+ <span class="cline-any cline-neutral">&nbsp;</span>
239
+ <span class="cline-any cline-neutral">&nbsp;</span>
240
+ <span class="cline-any cline-neutral">&nbsp;</span>
241
+ <span class="cline-any cline-neutral">&nbsp;</span>
242
+ <span class="cline-any cline-neutral">&nbsp;</span>
243
+ <span class="cline-any cline-neutral">&nbsp;</span>
244
+ <span class="cline-any cline-neutral">&nbsp;</span>
245
+ <span class="cline-any cline-neutral">&nbsp;</span>
246
+ <span class="cline-any cline-neutral">&nbsp;</span>
247
+ <span class="cline-any cline-neutral">&nbsp;</span>
248
+ <span class="cline-any cline-neutral">&nbsp;</span>
249
+ <span class="cline-any cline-neutral">&nbsp;</span>
250
+ <span class="cline-any cline-neutral">&nbsp;</span>
251
+ <span class="cline-any cline-neutral">&nbsp;</span>
252
+ <span class="cline-any cline-neutral">&nbsp;</span>
253
+ <span class="cline-any cline-neutral">&nbsp;</span>
254
+ <span class="cline-any cline-neutral">&nbsp;</span>
255
+ <span class="cline-any cline-neutral">&nbsp;</span>
256
+ <span class="cline-any cline-neutral">&nbsp;</span>
257
+ <span class="cline-any cline-neutral">&nbsp;</span>
202
258
  <span class="cline-any cline-yes">7x</span>
203
259
  <span class="cline-any cline-neutral">&nbsp;</span>
204
260
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -206,8 +262,8 @@
206
262
  <span class="cline-any cline-neutral">&nbsp;</span>
207
263
  <span class="cline-any cline-neutral">&nbsp;</span>
208
264
  <span class="cline-any cline-yes">7x</span>
209
- <span class="cline-any cline-yes">210x</span>
210
- <span class="cline-any cline-yes">58x</span>
265
+ <span class="cline-any cline-yes">158x</span>
266
+ <span class="cline-any cline-yes">98x</span>
211
267
  <span class="cline-any cline-yes">58x</span>
212
268
  <span class="cline-any cline-yes">29x</span>
213
269
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -259,6 +315,16 @@
259
315
  <span class="cline-any cline-neutral">&nbsp;</span>
260
316
  <span class="cline-any cline-neutral">&nbsp;</span>
261
317
  <span class="cline-any cline-neutral">&nbsp;</span>
318
+ <span class="cline-any cline-neutral">&nbsp;</span>
319
+ <span class="cline-any cline-neutral">&nbsp;</span>
320
+ <span class="cline-any cline-neutral">&nbsp;</span>
321
+ <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
+ <span class="cline-any cline-neutral">&nbsp;</span>
325
+ <span class="cline-any cline-neutral">&nbsp;</span>
326
+ <span class="cline-any cline-neutral">&nbsp;</span>
327
+ <span class="cline-any cline-neutral">&nbsp;</span>
262
328
  <span class="cline-any cline-yes">58x</span>
263
329
  <span class="cline-any cline-neutral">&nbsp;</span>
264
330
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -272,6 +338,7 @@
272
338
  import { IModelApp } from "@itwin/core-frontend";
273
339
  import type { IModelsClientOptions } from "@itwin/imodels-client-management";
274
340
  import { IModelsClient } from "@itwin/imodels-client-management";
341
+ import type { IExtractionClient, IMappingsClient, IReportsClient } from "@itwin/insights-client";
275
342
  import { ExtractionClient, GROUPING_AND_MAPPING_BASE_PATH, MappingsClient, REPORTING_BASE_PATH, ReportsClient } from "@itwin/insights-client";
276
343
  import { toaster } from "@itwin/itwinui-react";
277
344
  import React, { useCallback, useEffect, useMemo, useState } from "react";
@@ -289,13 +356,35 @@ import { generateUrl } from "./utils";
289
356
  * @public
290
357
  */
291
358
  export interface ReportsConfigContextProps {
359
+ /**
360
+ * A callback function that returns an access token for authenticating API requests.
361
+ * If not specified, it defaults to the authorizationClient of the IModelApp.
362
+ */
292
363
  getAccessToken?: GetAccessTokenFn;
364
+ /**
365
+ * The base URL for the API requests. Defaults to https://api.bentley.com.
366
+ */
293
367
  baseUrl?: string;
294
368
  iTwinId: string;
369
+ /**
370
+ * The bulk extractor instance to use for extracting data. Internal use only.
371
+ */
295
372
  bulkExtractor?: BulkExtractor;
296
- reportsClient?: ReportsClient;
297
- mappingsClient?: MappingsClient;
298
- extractionClient?: ExtractionClient;
373
+ /**
374
+ * A custom implementation of ReportsClient. If provided, baseUrl is ignored.
375
+ */
376
+ reportsClient?: IReportsClient;
377
+ /**
378
+ * A custom implementation of MappingsClient. If provided, baseUrl is ignored.
379
+ */
380
+ mappingsClient?: IMappingsClient;
381
+ /**
382
+ * A custom implementation of ExtractionClient. If provided, baseUrl is ignored.
383
+ */
384
+ extractionClient?: IExtractionClient;
385
+ /**
386
+ * A custom implementation of IModelsClient. If provided, baseUrl is ignored.
387
+ */
299
388
  iModelsClient?: IModelsClient;
300
389
  children?: React.ReactNode;
301
390
  }
@@ -315,7 +404,7 @@ export const ReportsConfigContext = (props: ReportsConfigContextProps) =&gt; {
315
404
  }),
316
405
  [props.baseUrl],
317
406
  );
318
- const [extractionClient, setExtractionClient] = useState&lt;ExtractionClient&gt;(props.extractionClient ?? new ExtractionClient(reportsBaseUrl()));
407
+ const [extractionClient, setExtractionClient] = useState&lt;IExtractionClient&gt;(props.extractionClient ?? new ExtractionClient(reportsBaseUrl()));
319
408
  &nbsp;
320
409
  const [apiConfig, setApiConfig] = useState&lt;ReportsConfigApiProps&gt;({
321
410
  getAccessToken: props.getAccessToken ?? <span class="branch-1 cbranch-no" title="branch not covered" >authorizationClientGetAccessToken,</span>
@@ -328,9 +417,9 @@ export const ReportsConfigContext = (props: ReportsConfigContextProps) =&gt; {
328
417
  &nbsp;
329
418
  useEffect(() =&gt; {
330
419
  if (!props.extractionClient) {
331
- setExtractionClient(props.extractionClient ?? new ExtractionClient(reportsBaseUrl()));
420
+ setExtractionClient(props.extractionClient ?? new ExtractionClient(groupingMappingBaseUrl()));
332
421
  }
333
- }, [props.extractionClient, reportsBaseUrl]);
422
+ }, [groupingMappingBaseUrl, props.extractionClient]);
334
423
  &nbsp;
335
424
  const successfulExtractionToast = <span class="fstat-no" title="function not covered" >(i</span>ModelName: string, odataFeedUrl: string) =&gt; {
336
425
  <span class="cstat-no" title="statement not covered" > toaster.positive(&lt;SuccessfulExtractionToast iModelName={iModelName} odataFeedUrl={odataFeedUrl} /&gt;);</span>
@@ -355,10 +444,20 @@ export const ReportsConfigContext = (props: ReportsConfigContextProps) =&gt; {
355
444
  baseUrl: props.baseUrl || REPORTS_CONFIG_BASE_URL,
356
445
  iTwinId: props.iTwinId,
357
446
  reportsClient: props.reportsClient ?? new ReportsClient(reportsBaseUrl()),
358
- mappingsClient: props.mappingsClient ?? new MappingsClient(reportsBaseUrl()),
447
+ mappingsClient: props.mappingsClient ?? new MappingsClient(groupingMappingBaseUrl()),
359
448
  iModelsClient: props.iModelsClient ?? new IModelsClient(iModelClientOptions),
360
449
  }));
361
- }, [props.getAccessToken, props.baseUrl, props.iTwinId, props.reportsClient, props.mappingsClient, props.iModelsClient, reportsBaseUrl, iModelClientOptions]);
450
+ }, [
451
+ props.getAccessToken,
452
+ props.baseUrl,
453
+ props.iTwinId,
454
+ props.reportsClient,
455
+ props.mappingsClient,
456
+ props.iModelsClient,
457
+ reportsBaseUrl,
458
+ iModelClientOptions,
459
+ groupingMappingBaseUrl,
460
+ ]);
362
461
  &nbsp;
363
462
  return (
364
463
  &lt;ReportsConfigApiContext.Provider value={apiConfig}&gt;
@@ -373,7 +472,7 @@ export const ReportsConfigContext = (props: ReportsConfigContextProps) =&gt; {
373
472
  <div class='footer quiet pad2 space-top1 center small'>
374
473
  Code coverage generated by
375
474
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
376
- at 2024-06-10T17:38:17.498Z
475
+ at 2024-09-12T12:15:28.324Z
377
476
  </div>
378
477
  <script src="../../../prettify.js"></script>
379
478
  <script>
@@ -119,11 +119,7 @@
119
119
  <a name='L54'></a><a href='#L54'>54</a>
120
120
  <a name='L55'></a><a href='#L55'>55</a>
121
121
  <a name='L56'></a><a href='#L56'>56</a>
122
- <a name='L57'></a><a href='#L57'>57</a>
123
- <a name='L58'></a><a href='#L58'>58</a>
124
- <a name='L59'></a><a href='#L59'>59</a>
125
- <a name='L60'></a><a href='#L60'>60</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
126
- <span class="cline-any cline-neutral">&nbsp;</span>
122
+ <a name='L57'></a><a href='#L57'>57</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
127
123
  <span class="cline-any cline-neutral">&nbsp;</span>
128
124
  <span class="cline-any cline-neutral">&nbsp;</span>
129
125
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -133,10 +129,8 @@
133
129
  <span class="cline-any cline-yes">7x</span>
134
130
  <span class="cline-any cline-yes">7x</span>
135
131
  <span class="cline-any cline-yes">7x</span>
136
- <span class="cline-any cline-yes">7x</span>
137
- <span class="cline-any cline-neutral">&nbsp;</span>
138
- <span class="cline-any cline-neutral">&nbsp;</span>
139
132
  <span class="cline-any cline-neutral">&nbsp;</span>
133
+ <span class="cline-any cline-yes">7x</span>
140
134
  <span class="cline-any cline-neutral">&nbsp;</span>
141
135
  <span class="cline-any cline-neutral">&nbsp;</span>
142
136
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -185,19 +179,16 @@
185
179
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
186
180
  * See LICENSE.md in the project root for license terms and full copyright notice.
187
181
  *--------------------------------------------------------------------------------------------*/
188
- import type { AccessToken } from "@itwin/core-bentley";
189
182
  import React, { useCallback, useState } from "react";
190
183
  import "./ReportsContainer.scss";
191
184
  import type { Report } from "@itwin/insights-client";
192
185
  import { useActiveIModelConnection } from "@itwin/appui-react";
193
186
  import { ReportsHeader } from "./ReportsHeader";
194
187
  import { ReportsRouter } from "./ReportsRouter";
195
- import { ReportsConfigContext } from "./ReportsConfigContext";
188
+ import type { ReportsConfigContextProps } from "./ReportsConfigContext";
189
+ import { ReportsConfigContext } from "./ReportsConfigContext"
196
190
  &nbsp;
197
- interface ReportsContainerProps {
198
- getAccessToken?: () =&gt; Promise&lt;AccessToken&gt;;
199
- baseUrl: string;
200
- }
191
+ export type ReportsContainerProps = Omit&lt;ReportsConfigContextProps, "iTwinId" | "children"&gt;;
201
192
  &nbsp;
202
193
  export enum RouteStep {
203
194
  ReportsList,
@@ -215,7 +206,7 @@ export interface Route {
215
206
  reportsRoutingFields: ReportsRouteFields;
216
207
  }
217
208
  &nbsp;
218
- const ReportsContainer = <span class="fstat-no" title="function not covered" >({</span> getAccessToken, baseUrl }: ReportsContainerProps) =&gt; {
209
+ const ReportsContainer = <span class="fstat-no" title="function not covered" >(p</span>rops: ReportsContainerProps) =&gt; {
219
210
  const [routingHistory, setRoutingHistory] = <span class="cstat-no" title="statement not covered" >useState&lt;Route[]&gt;([{ step: RouteStep.ReportsList, title: "iTwin Reports", reportsRoutingFields: {} }]);</span>
220
211
  const currentRoute = <span class="cstat-no" title="statement not covered" >routingHistory[routingHistory.length - 1];</span>
221
212
  const iTwinId = <span class="cstat-no" title="statement not covered" >useActiveIModelConnection()?.iTwinId ?? "";</span>
@@ -230,7 +221,7 @@ const ReportsContainer = <span class="fstat-no" title="function not covered" >({
230
221
  }, [routingHistory]);
231
222
  &nbsp;
232
223
  <span class="cstat-no" title="statement not covered" > return (</span>
233
- &lt;ReportsConfigContext getAccessToken={getAccessToken} baseUrl={baseUrl} iTwinId={iTwinId}&gt;
224
+ &lt;ReportsConfigContext {...props} iTwinId={iTwinId}&gt;
234
225
  &lt;div className="rcw-reports-container"&gt;
235
226
  &lt;ReportsHeader goBack={goBack} currentRoute={currentRoute} /&gt;
236
227
  &lt;ReportsRouter currentRoute={currentRoute} navigateTo={navigateTo} goBack={goBack} /&gt;
@@ -247,7 +238,7 @@ export default ReportsContainer;
247
238
  <div class='footer quiet pad2 space-top1 center small'>
248
239
  Code coverage generated by
249
240
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
250
- at 2024-06-10T17:38:17.498Z
241
+ at 2024-09-12T12:15:28.324Z
251
242
  </div>
252
243
  <script src="../../../prettify.js"></script>
253
244
  <script>
@@ -112,7 +112,7 @@ export const ReportsHeader = <span class="fstat-no" title="function not covered"
112
112
  <div class='footer quiet pad2 space-top1 center small'>
113
113
  Code coverage generated by
114
114
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
115
- at 2024-06-10T17:38:17.498Z
115
+ at 2024-09-12T12:15:28.324Z
116
116
  </div>
117
117
  <script src="../../../prettify.js"></script>
118
118
  <script>
@@ -253,7 +253,7 @@ export const ReportsRouter = <span class="fstat-no" title="function not covered"
253
253
  <div class='footer quiet pad2 space-top1 center small'>
254
254
  Code coverage generated by
255
255
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
256
- at 2024-06-10T17:38:17.498Z
256
+ at 2024-09-12T12:15:28.324Z
257
257
  </div>
258
258
  <script src="../../../prettify.js"></script>
259
259
  <script>
@@ -259,7 +259,7 @@ export const SearchBar = ({ searchValue, setSearchValue, disabled }: SearchBarPr
259
259
  <div class='footer quiet pad2 space-top1 center small'>
260
260
  Code coverage generated by
261
261
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
262
- at 2024-06-10T17:38:17.498Z
262
+ at 2024-09-12T12:15:28.324Z
263
263
  </div>
264
264
  <script src="../../../prettify.js"></script>
265
265
  <script>
@@ -277,7 +277,7 @@ export const SelectIModel = ({ selectedIModelId, setSelectedIModelId }: Selected
277
277
  <div class='footer quiet pad2 space-top1 center small'>
278
278
  Code coverage generated by
279
279
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
280
- at 2024-06-10T17:38:17.498Z
280
+ at 2024-09-12T12:15:28.324Z
281
281
  </div>
282
282
  <script src="../../../prettify.js"></script>
283
283
  <script>
@@ -23,9 +23,9 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">84.78% </span>
26
+ <span class="strong">84.74% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>602/710</span>
28
+ <span class='fraction'>600/708</span>
29
29
  </div>
30
30
 
31
31
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">85.89% </span>
47
+ <span class="strong">85.84% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>548/638</span>
49
+ <span class='fraction'>546/636</span>
50
50
  </div>
51
51
 
52
52
 
@@ -260,17 +260,17 @@
260
260
 
261
261
  <tr>
262
262
  <td class="file high" data-value="ReportMappings.tsx"><a href="ReportMappings.tsx.html">ReportMappings.tsx</a></td>
263
- <td data-value="92.13" class="pic high">
264
- <div class="chart"><div class="cover-fill" style="width: 92%"></div><div class="cover-empty" style="width: 8%"></div></div>
263
+ <td data-value="91.95" class="pic high">
264
+ <div class="chart"><div class="cover-fill" style="width: 91%"></div><div class="cover-empty" style="width: 9%"></div></div>
265
265
  </td>
266
- <td data-value="92.13" class="pct high">92.13%</td>
267
- <td data-value="89" class="abs high">82/89</td>
266
+ <td data-value="91.95" class="pct high">91.95%</td>
267
+ <td data-value="87" class="abs high">80/87</td>
268
268
  <td data-value="61.9" class="pct medium">61.9%</td>
269
269
  <td data-value="21" class="abs medium">13/21</td>
270
270
  <td data-value="86.95" class="pct high">86.95%</td>
271
271
  <td data-value="23" class="abs high">20/23</td>
272
- <td data-value="93.97" class="pct high">93.97%</td>
273
- <td data-value="83" class="abs high">78/83</td>
272
+ <td data-value="93.82" class="pct high">93.82%</td>
273
+ <td data-value="81" class="abs high">76/81</td>
274
274
  </tr>
275
275
 
276
276
  <tr>
@@ -401,7 +401,7 @@
401
401
  <div class='footer quiet pad2 space-top1 center small'>
402
402
  Code coverage generated by
403
403
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
404
- at 2024-06-10T17:38:17.498Z
404
+ at 2024-09-12T12:15:28.324Z
405
405
  </div>
406
406
  <script src="../../../prettify.js"></script>
407
407
  <script>
@@ -281,7 +281,7 @@
281
281
  <span class="cline-any cline-yes">8x</span>
282
282
  <span class="cline-any cline-neutral">&nbsp;</span>
283
283
  <span class="cline-any cline-yes">8x</span>
284
- <span class="cline-any cline-yes">372x</span>
284
+ <span class="cline-any cline-yes">285x</span>
285
285
  <span class="cline-any cline-neutral">&nbsp;</span>
286
286
  <span class="cline-any cline-neutral">&nbsp;</span>
287
287
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -406,7 +406,7 @@ export type CreateTypeFromInterface&lt;Interface&gt; = {
406
406
  <div class='footer quiet pad2 space-top1 center small'>
407
407
  Code coverage generated by
408
408
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
409
- at 2024-06-10T17:38:17.498Z
409
+ at 2024-09-12T12:15:28.324Z
410
410
  </div>
411
411
  <script src="../../../prettify.js"></script>
412
412
  <script>
@@ -142,7 +142,7 @@ export const useBulkExtractor = () =&gt; {
142
142
  <div class='footer quiet pad2 space-top1 center small'>
143
143
  Code coverage generated by
144
144
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
145
- at 2024-06-10T17:38:17.498Z
145
+ at 2024-09-12T12:15:28.324Z
146
146
  </div>
147
147
  <script src="../../../prettify.js"></script>
148
148
  <script>
@@ -100,12 +100,14 @@
100
100
  <a name='L35'></a><a href='#L35'>35</a>
101
101
  <a name='L36'></a><a href='#L36'>36</a>
102
102
  <a name='L37'></a><a href='#L37'>37</a>
103
- <a name='L38'></a><a href='#L38'>38</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
103
+ <a name='L38'></a><a href='#L38'>38</a>
104
+ <a name='L39'></a><a href='#L39'>39</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
104
105
  <span class="cline-any cline-neutral">&nbsp;</span>
105
106
  <span class="cline-any cline-neutral">&nbsp;</span>
106
107
  <span class="cline-any cline-neutral">&nbsp;</span>
107
108
  <span class="cline-any cline-neutral">&nbsp;</span>
108
109
  <span class="cline-any cline-yes">7x</span>
110
+ <span class="cline-any cline-neutral">&nbsp;</span>
109
111
  <span class="cline-any cline-yes">7x</span>
110
112
  <span class="cline-any cline-yes">7x</span>
111
113
  <span class="cline-any cline-yes">7x</span>
@@ -143,6 +145,7 @@
143
145
  *--------------------------------------------------------------------------------------------*/
144
146
  import type { AccessToken } from "@itwin/core-bentley";
145
147
  import { IModelsClient } from "@itwin/imodels-client-management";
148
+ import type { IMappingsClient, IReportsClient } from "@itwin/insights-client";
146
149
  import { MappingsClient, ReportsClient } from "@itwin/insights-client";
147
150
  import * as React from "react";
148
151
  import { createContext } from "react";
@@ -153,8 +156,8 @@ export interface ReportsConfigApiProps {
153
156
  getAccessToken: GetAccessTokenFn;
154
157
  iTwinId: string;
155
158
  baseUrl: string;
156
- reportsClient: ReportsClient;
157
- mappingsClient: MappingsClient;
159
+ reportsClient: IReportsClient;
160
+ mappingsClient: IMappingsClient;
158
161
  iModelsClient: IModelsClient;
159
162
  }
160
163
  &nbsp;
@@ -181,7 +184,7 @@ export const useReportsConfigApi = () =&gt; {
181
184
  <div class='footer quiet pad2 space-top1 center small'>
182
185
  Code coverage generated by
183
186
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
184
- at 2024-06-10T17:38:17.498Z
187
+ at 2024-09-12T12:15:28.324Z
185
188
  </div>
186
189
  <script src="../../../prettify.js"></script>
187
190
  <script>