@itwin/reports-config-widget-react 0.8.2 → 0.9.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 (294) hide show
  1. package/CHANGELOG.json +16 -1
  2. package/CHANGELOG.md +10 -2
  3. package/api/reports-config-widget-react.api.md +5 -7
  4. package/api/reports-config-widget-react.exports.csv +13 -13
  5. package/api/temp/reports-config-widget-react.api.md +5 -7
  6. package/coverage/{lcov-report/block-navigation.js → block-navigation.js} +1 -1
  7. package/coverage/clover.xml +1422 -442
  8. package/coverage/coverage-final.json +34 -32
  9. package/coverage/{lcov-report/index.html → index.html} +79 -79
  10. package/coverage/{lcov-report/sorter.js → sorter.js} +21 -7
  11. package/coverage/{lcov-report/src → src}/ReportsConfigWidget.ts.html +30 -30
  12. package/coverage/{lcov-report/src → src}/index.html +35 -20
  13. package/coverage/src/reports-config-widget-react.ts.html +127 -0
  14. package/coverage/{lcov-report/src → src}/test/index.html +34 -19
  15. package/coverage/src/test/setup.ts.html +100 -0
  16. package/coverage/{lcov-report/src → src}/test/test-utils.tsx.html +109 -109
  17. package/coverage/{lcov-report/src → src}/widget/ReportsConfigUiProvider.tsx.html +40 -40
  18. package/coverage/{lcov-report/src → src}/widget/components/ActionPanel.tsx.html +37 -37
  19. package/coverage/{lcov-report/src → src}/widget/components/AddMappingsModal.tsx.html +90 -90
  20. package/coverage/{lcov-report/src → src}/widget/components/BulkExtractor.ts.html +96 -96
  21. package/coverage/{lcov-report/src → src}/widget/components/Constants.ts.html +15 -15
  22. package/coverage/{lcov-report/src → src}/widget/components/DeleteModal.tsx.html +49 -49
  23. package/coverage/{lcov-report/src → src}/widget/components/ExtractionStates/FailedExtractionState.tsx.html +40 -40
  24. package/coverage/{lcov-report/src → src}/widget/components/ExtractionStates/QueuedExtractionState.tsx.html +19 -19
  25. package/coverage/{lcov-report/src → src}/widget/components/ExtractionStates/RunningExtractionState.tsx.html +17 -17
  26. package/coverage/{lcov-report/src → src}/widget/components/ExtractionStates/StartingExtractionState.tsx.html +19 -19
  27. package/coverage/{lcov-report/src → src}/widget/components/ExtractionStates/SucceededExtractionState.tsx.html +28 -28
  28. package/coverage/{lcov-report/src → src}/widget/components/ExtractionStates/index.html +54 -54
  29. package/coverage/{lcov-report/src → src}/widget/components/ExtractionStatus.tsx.html +52 -52
  30. package/coverage/{lcov-report/src → src}/widget/components/ExtractionToast.tsx.html +53 -53
  31. package/coverage/{lcov-report/src → src}/widget/components/HorizontalTile.tsx.html +38 -38
  32. package/coverage/{lcov-report/src → src}/widget/components/LocalizedTablePaginator.tsx.html +29 -29
  33. package/coverage/{lcov-report/src → src}/widget/components/ReportAction.tsx.html +90 -90
  34. package/coverage/{lcov-report/src → src}/widget/components/ReportHorizontalTile.tsx.html +105 -105
  35. package/coverage/{lcov-report/src → src}/widget/components/ReportMappingHorizontalTile.tsx.html +87 -87
  36. package/coverage/{lcov-report/src → src}/widget/components/ReportMappings.tsx.html +166 -166
  37. package/coverage/{lcov-report/src → src}/widget/components/Reports.tsx.html +117 -117
  38. package/coverage/{lcov-report/src → src}/widget/components/ReportsConfigContext.tsx.html +78 -78
  39. package/coverage/{lcov-report/src → src}/widget/components/ReportsContainer.tsx.html +51 -51
  40. package/coverage/{lcov-report/src → src}/widget/components/ReportsHeader.tsx.html +19 -19
  41. package/coverage/{lcov-report/src → src}/widget/components/ReportsRouter.tsx.html +85 -85
  42. package/coverage/{lcov-report/src → src}/widget/components/SearchBar.tsx.html +60 -60
  43. package/coverage/{lcov-report/src → src}/widget/components/SelectIModel.tsx.html +53 -53
  44. package/coverage/src/widget/components/index.html +416 -0
  45. package/coverage/{lcov-report/src → src}/widget/components/utils.tsx.html +76 -76
  46. package/coverage/{lcov-report/src → src}/widget/context/BulkExtractorContext.tsx.html +20 -20
  47. package/coverage/{lcov-report/src → src}/widget/context/ReportsConfigApiContext.tsx.html +30 -30
  48. package/coverage/{lcov-report/src → src}/widget/context/index.html +29 -29
  49. package/coverage/{lcov-report/src → src}/widget/hooks/index.html +18 -18
  50. package/coverage/{lcov-report/src → src}/widget/hooks/useValidator.ts.html +45 -45
  51. package/coverage/{lcov-report/src → src}/widget/index.html +20 -20
  52. package/eslint.config.cjs +40 -0
  53. package/lib/cjs/ReportsConfigWidget.js +2 -0
  54. package/lib/cjs/ReportsConfigWidget.js.map +1 -1
  55. package/lib/cjs/test/AddMappingModal.test.d.ts +1 -1
  56. package/lib/cjs/test/AddMappingModal.test.d.ts.map +1 -1
  57. package/lib/cjs/test/AddMappingModal.test.js +7 -7
  58. package/lib/cjs/test/AddMappingModal.test.js.map +1 -1
  59. package/lib/cjs/test/BulkExtractor.test.js +10 -9
  60. package/lib/cjs/test/BulkExtractor.test.js.map +1 -1
  61. package/lib/cjs/test/DeleteModal.test.d.ts +1 -1
  62. package/lib/cjs/test/DeleteModal.test.d.ts.map +1 -1
  63. package/lib/cjs/test/DeleteModal.test.js +4 -4
  64. package/lib/cjs/test/DeleteModal.test.js.map +1 -1
  65. package/lib/cjs/test/ReportAction.test.d.ts +1 -1
  66. package/lib/cjs/test/ReportAction.test.d.ts.map +1 -1
  67. package/lib/cjs/test/ReportAction.test.js +14 -14
  68. package/lib/cjs/test/ReportAction.test.js.map +1 -1
  69. package/lib/cjs/test/ReportMappingHorizontalTile.test.d.ts +1 -1
  70. package/lib/cjs/test/ReportMappingHorizontalTile.test.d.ts.map +1 -1
  71. package/lib/cjs/test/ReportMappingHorizontalTile.test.js +5 -5
  72. package/lib/cjs/test/ReportMappingHorizontalTile.test.js.map +1 -1
  73. package/lib/cjs/test/ReportMappings.test.d.ts +1 -1
  74. package/lib/cjs/test/ReportMappings.test.d.ts.map +1 -1
  75. package/lib/cjs/test/ReportMappings.test.js +19 -19
  76. package/lib/cjs/test/ReportMappings.test.js.map +1 -1
  77. package/lib/cjs/test/Reports.test.d.ts +1 -1
  78. package/lib/cjs/test/Reports.test.d.ts.map +1 -1
  79. package/lib/cjs/test/Reports.test.js +8 -8
  80. package/lib/cjs/test/Reports.test.js.map +1 -1
  81. package/lib/cjs/test/WidgetHeader.test.d.ts +1 -1
  82. package/lib/cjs/test/WidgetHeader.test.d.ts.map +1 -1
  83. package/lib/cjs/test/WidgetHeader.test.js +2 -2
  84. package/lib/cjs/test/WidgetHeader.test.js.map +1 -1
  85. package/lib/cjs/test/setup.d.ts +2 -0
  86. package/lib/cjs/test/setup.d.ts.map +1 -0
  87. package/lib/cjs/test/setup.js +8 -0
  88. package/lib/cjs/test/setup.js.map +1 -0
  89. package/lib/cjs/test/test-utils.d.ts +3 -3
  90. package/lib/cjs/test/test-utils.d.ts.map +1 -1
  91. package/lib/cjs/test/test-utils.js +11 -6
  92. package/lib/cjs/test/test-utils.js.map +1 -1
  93. package/lib/cjs/tsconfig.tsbuildinfo +1 -1
  94. package/lib/cjs/widget/ReportsConfigUiProvider.d.ts.map +1 -1
  95. package/lib/cjs/widget/ReportsConfigUiProvider.js +2 -1
  96. package/lib/cjs/widget/ReportsConfigUiProvider.js.map +1 -1
  97. package/lib/cjs/widget/components/ActionPanel.d.ts.map +1 -1
  98. package/lib/cjs/widget/components/AddMappingsModal.d.ts +1 -2
  99. package/lib/cjs/widget/components/AddMappingsModal.d.ts.map +1 -1
  100. package/lib/cjs/widget/components/AddMappingsModal.js.map +1 -1
  101. package/lib/cjs/widget/components/BulkExtractor.d.ts +1 -2
  102. package/lib/cjs/widget/components/BulkExtractor.d.ts.map +1 -1
  103. package/lib/cjs/widget/components/BulkExtractor.js +12 -6
  104. package/lib/cjs/widget/components/BulkExtractor.js.map +1 -1
  105. package/lib/cjs/widget/components/DeleteModal.d.ts +0 -1
  106. package/lib/cjs/widget/components/DeleteModal.d.ts.map +1 -1
  107. package/lib/cjs/widget/components/DeleteModal.js.map +1 -1
  108. package/lib/cjs/widget/components/ExtractionStates/FailedExtractionState.d.ts +0 -1
  109. package/lib/cjs/widget/components/ExtractionStates/FailedExtractionState.d.ts.map +1 -1
  110. package/lib/cjs/widget/components/ExtractionStates/QueuedExtractionState.d.ts +0 -1
  111. package/lib/cjs/widget/components/ExtractionStates/QueuedExtractionState.d.ts.map +1 -1
  112. package/lib/cjs/widget/components/ExtractionStates/RunningExtractionState.d.ts +0 -1
  113. package/lib/cjs/widget/components/ExtractionStates/RunningExtractionState.d.ts.map +1 -1
  114. package/lib/cjs/widget/components/ExtractionStates/StartingExtractionState.d.ts +0 -1
  115. package/lib/cjs/widget/components/ExtractionStates/StartingExtractionState.d.ts.map +1 -1
  116. package/lib/cjs/widget/components/ExtractionStates/SucceededExtractionState.d.ts +0 -1
  117. package/lib/cjs/widget/components/ExtractionStates/SucceededExtractionState.d.ts.map +1 -1
  118. package/lib/cjs/widget/components/ExtractionStatus.d.ts +0 -1
  119. package/lib/cjs/widget/components/ExtractionStatus.d.ts.map +1 -1
  120. package/lib/cjs/widget/components/ExtractionStatus.js +1 -1
  121. package/lib/cjs/widget/components/ExtractionStatus.js.map +1 -1
  122. package/lib/cjs/widget/components/ExtractionToast.d.ts +0 -1
  123. package/lib/cjs/widget/components/ExtractionToast.d.ts.map +1 -1
  124. package/lib/cjs/widget/components/LocalizedTablePaginator.d.ts +0 -1
  125. package/lib/cjs/widget/components/LocalizedTablePaginator.d.ts.map +1 -1
  126. package/lib/cjs/widget/components/ReportAction.d.ts +0 -1
  127. package/lib/cjs/widget/components/ReportAction.d.ts.map +1 -1
  128. package/lib/cjs/widget/components/ReportAction.js.map +1 -1
  129. package/lib/cjs/widget/components/ReportHorizontalTile.d.ts +0 -1
  130. package/lib/cjs/widget/components/ReportHorizontalTile.d.ts.map +1 -1
  131. package/lib/cjs/widget/components/ReportHorizontalTile.js.map +1 -1
  132. package/lib/cjs/widget/components/ReportMappingHorizontalTile.d.ts +0 -1
  133. package/lib/cjs/widget/components/ReportMappingHorizontalTile.d.ts.map +1 -1
  134. package/lib/cjs/widget/components/ReportMappingHorizontalTile.js.map +1 -1
  135. package/lib/cjs/widget/components/ReportMappings.d.ts +2 -3
  136. package/lib/cjs/widget/components/ReportMappings.d.ts.map +1 -1
  137. package/lib/cjs/widget/components/ReportMappings.js.map +1 -1
  138. package/lib/cjs/widget/components/Reports.d.ts +1 -2
  139. package/lib/cjs/widget/components/Reports.d.ts.map +1 -1
  140. package/lib/cjs/widget/components/Reports.js.map +1 -1
  141. package/lib/cjs/widget/components/ReportsConfigContext.js.map +1 -1
  142. package/lib/cjs/widget/components/ReportsContainer.d.ts +1 -2
  143. package/lib/cjs/widget/components/ReportsContainer.d.ts.map +1 -1
  144. package/lib/cjs/widget/components/ReportsContainer.js +1 -1
  145. package/lib/cjs/widget/components/ReportsContainer.js.map +1 -1
  146. package/lib/cjs/widget/components/ReportsHeader.d.ts +0 -1
  147. package/lib/cjs/widget/components/ReportsHeader.d.ts.map +1 -1
  148. package/lib/cjs/widget/components/ReportsRouter.d.ts +0 -1
  149. package/lib/cjs/widget/components/ReportsRouter.d.ts.map +1 -1
  150. package/lib/cjs/widget/components/ReportsRouter.js.map +1 -1
  151. package/lib/cjs/widget/components/SearchBar.js.map +1 -1
  152. package/lib/cjs/widget/components/SelectIModel.d.ts +0 -1
  153. package/lib/cjs/widget/components/SelectIModel.d.ts.map +1 -1
  154. package/lib/cjs/widget/components/utils.d.ts +1 -1
  155. package/lib/cjs/widget/components/utils.d.ts.map +1 -1
  156. package/lib/cjs/widget/components/utils.js.map +1 -1
  157. package/lib/cjs/widget/context/BulkExtractorContext.d.ts +1 -1
  158. package/lib/cjs/widget/context/BulkExtractorContext.d.ts.map +1 -1
  159. package/lib/cjs/widget/context/BulkExtractorContext.js.map +1 -1
  160. package/lib/cjs/widget/context/ReportsConfigApiContext.d.ts +1 -1
  161. package/lib/cjs/widget/context/ReportsConfigApiContext.d.ts.map +1 -1
  162. package/lib/cjs/widget/context/ReportsConfigApiContext.js.map +1 -1
  163. package/lib/cjs/widget/hooks/useValidator.d.ts.map +1 -1
  164. package/lib/cjs/widget/hooks/useValidator.js.map +1 -1
  165. package/lib/esm/ReportsConfigWidget.js +2 -0
  166. package/lib/esm/ReportsConfigWidget.js.map +1 -1
  167. package/lib/esm/test/AddMappingModal.test.d.ts +1 -1
  168. package/lib/esm/test/AddMappingModal.test.d.ts.map +1 -1
  169. package/lib/esm/test/AddMappingModal.test.js +7 -7
  170. package/lib/esm/test/AddMappingModal.test.js.map +1 -1
  171. package/lib/esm/test/BulkExtractor.test.js +10 -9
  172. package/lib/esm/test/BulkExtractor.test.js.map +1 -1
  173. package/lib/esm/test/DeleteModal.test.d.ts +1 -1
  174. package/lib/esm/test/DeleteModal.test.d.ts.map +1 -1
  175. package/lib/esm/test/DeleteModal.test.js +4 -4
  176. package/lib/esm/test/DeleteModal.test.js.map +1 -1
  177. package/lib/esm/test/ReportAction.test.d.ts +1 -1
  178. package/lib/esm/test/ReportAction.test.d.ts.map +1 -1
  179. package/lib/esm/test/ReportAction.test.js +14 -14
  180. package/lib/esm/test/ReportAction.test.js.map +1 -1
  181. package/lib/esm/test/ReportMappingHorizontalTile.test.d.ts +1 -1
  182. package/lib/esm/test/ReportMappingHorizontalTile.test.d.ts.map +1 -1
  183. package/lib/esm/test/ReportMappingHorizontalTile.test.js +5 -5
  184. package/lib/esm/test/ReportMappingHorizontalTile.test.js.map +1 -1
  185. package/lib/esm/test/ReportMappings.test.d.ts +1 -1
  186. package/lib/esm/test/ReportMappings.test.d.ts.map +1 -1
  187. package/lib/esm/test/ReportMappings.test.js +19 -19
  188. package/lib/esm/test/ReportMappings.test.js.map +1 -1
  189. package/lib/esm/test/Reports.test.d.ts +1 -1
  190. package/lib/esm/test/Reports.test.d.ts.map +1 -1
  191. package/lib/esm/test/Reports.test.js +8 -8
  192. package/lib/esm/test/Reports.test.js.map +1 -1
  193. package/lib/esm/test/WidgetHeader.test.d.ts +1 -1
  194. package/lib/esm/test/WidgetHeader.test.d.ts.map +1 -1
  195. package/lib/esm/test/WidgetHeader.test.js +2 -2
  196. package/lib/esm/test/WidgetHeader.test.js.map +1 -1
  197. package/lib/esm/test/setup.d.ts +2 -0
  198. package/lib/esm/test/setup.d.ts.map +1 -0
  199. package/lib/esm/test/setup.js +6 -0
  200. package/lib/esm/test/setup.js.map +1 -0
  201. package/lib/esm/test/test-utils.d.ts +3 -3
  202. package/lib/esm/test/test-utils.d.ts.map +1 -1
  203. package/lib/esm/test/test-utils.js +2 -2
  204. package/lib/esm/test/test-utils.js.map +1 -1
  205. package/lib/esm/tsconfig.tsbuildinfo +1 -1
  206. package/lib/esm/widget/ReportsConfigUiProvider.d.ts.map +1 -1
  207. package/lib/esm/widget/ReportsConfigUiProvider.js +2 -1
  208. package/lib/esm/widget/ReportsConfigUiProvider.js.map +1 -1
  209. package/lib/esm/widget/components/ActionPanel.d.ts.map +1 -1
  210. package/lib/esm/widget/components/AddMappingsModal.d.ts +1 -2
  211. package/lib/esm/widget/components/AddMappingsModal.d.ts.map +1 -1
  212. package/lib/esm/widget/components/AddMappingsModal.js.map +1 -1
  213. package/lib/esm/widget/components/BulkExtractor.d.ts +1 -2
  214. package/lib/esm/widget/components/BulkExtractor.d.ts.map +1 -1
  215. package/lib/esm/widget/components/BulkExtractor.js +12 -6
  216. package/lib/esm/widget/components/BulkExtractor.js.map +1 -1
  217. package/lib/esm/widget/components/DeleteModal.d.ts +0 -1
  218. package/lib/esm/widget/components/DeleteModal.d.ts.map +1 -1
  219. package/lib/esm/widget/components/DeleteModal.js.map +1 -1
  220. package/lib/esm/widget/components/ExtractionStates/FailedExtractionState.d.ts +0 -1
  221. package/lib/esm/widget/components/ExtractionStates/FailedExtractionState.d.ts.map +1 -1
  222. package/lib/esm/widget/components/ExtractionStates/QueuedExtractionState.d.ts +0 -1
  223. package/lib/esm/widget/components/ExtractionStates/QueuedExtractionState.d.ts.map +1 -1
  224. package/lib/esm/widget/components/ExtractionStates/RunningExtractionState.d.ts +0 -1
  225. package/lib/esm/widget/components/ExtractionStates/RunningExtractionState.d.ts.map +1 -1
  226. package/lib/esm/widget/components/ExtractionStates/StartingExtractionState.d.ts +0 -1
  227. package/lib/esm/widget/components/ExtractionStates/StartingExtractionState.d.ts.map +1 -1
  228. package/lib/esm/widget/components/ExtractionStates/SucceededExtractionState.d.ts +0 -1
  229. package/lib/esm/widget/components/ExtractionStates/SucceededExtractionState.d.ts.map +1 -1
  230. package/lib/esm/widget/components/ExtractionStatus.d.ts +0 -1
  231. package/lib/esm/widget/components/ExtractionStatus.d.ts.map +1 -1
  232. package/lib/esm/widget/components/ExtractionStatus.js.map +1 -1
  233. package/lib/esm/widget/components/ExtractionToast.d.ts +0 -1
  234. package/lib/esm/widget/components/ExtractionToast.d.ts.map +1 -1
  235. package/lib/esm/widget/components/LocalizedTablePaginator.d.ts +0 -1
  236. package/lib/esm/widget/components/LocalizedTablePaginator.d.ts.map +1 -1
  237. package/lib/esm/widget/components/ReportAction.d.ts +0 -1
  238. package/lib/esm/widget/components/ReportAction.d.ts.map +1 -1
  239. package/lib/esm/widget/components/ReportAction.js.map +1 -1
  240. package/lib/esm/widget/components/ReportHorizontalTile.d.ts +0 -1
  241. package/lib/esm/widget/components/ReportHorizontalTile.d.ts.map +1 -1
  242. package/lib/esm/widget/components/ReportHorizontalTile.js.map +1 -1
  243. package/lib/esm/widget/components/ReportMappingHorizontalTile.d.ts +0 -1
  244. package/lib/esm/widget/components/ReportMappingHorizontalTile.d.ts.map +1 -1
  245. package/lib/esm/widget/components/ReportMappingHorizontalTile.js.map +1 -1
  246. package/lib/esm/widget/components/ReportMappings.d.ts +2 -3
  247. package/lib/esm/widget/components/ReportMappings.d.ts.map +1 -1
  248. package/lib/esm/widget/components/ReportMappings.js.map +1 -1
  249. package/lib/esm/widget/components/Reports.d.ts +1 -2
  250. package/lib/esm/widget/components/Reports.d.ts.map +1 -1
  251. package/lib/esm/widget/components/Reports.js.map +1 -1
  252. package/lib/esm/widget/components/ReportsConfigContext.js.map +1 -1
  253. package/lib/esm/widget/components/ReportsContainer.d.ts +1 -2
  254. package/lib/esm/widget/components/ReportsContainer.d.ts.map +1 -1
  255. package/lib/esm/widget/components/ReportsHeader.d.ts +0 -1
  256. package/lib/esm/widget/components/ReportsHeader.d.ts.map +1 -1
  257. package/lib/esm/widget/components/ReportsRouter.d.ts +0 -1
  258. package/lib/esm/widget/components/ReportsRouter.d.ts.map +1 -1
  259. package/lib/esm/widget/components/ReportsRouter.js.map +1 -1
  260. package/lib/esm/widget/components/SearchBar.js.map +1 -1
  261. package/lib/esm/widget/components/SelectIModel.d.ts +0 -1
  262. package/lib/esm/widget/components/SelectIModel.d.ts.map +1 -1
  263. package/lib/esm/widget/components/utils.d.ts +1 -1
  264. package/lib/esm/widget/components/utils.d.ts.map +1 -1
  265. package/lib/esm/widget/components/utils.js.map +1 -1
  266. package/lib/esm/widget/context/BulkExtractorContext.d.ts +1 -1
  267. package/lib/esm/widget/context/BulkExtractorContext.d.ts.map +1 -1
  268. package/lib/esm/widget/context/BulkExtractorContext.js.map +1 -1
  269. package/lib/esm/widget/context/ReportsConfigApiContext.d.ts +1 -1
  270. package/lib/esm/widget/context/ReportsConfigApiContext.d.ts.map +1 -1
  271. package/lib/esm/widget/context/ReportsConfigApiContext.js.map +1 -1
  272. package/lib/esm/widget/hooks/useValidator.d.ts.map +1 -1
  273. package/lib/esm/widget/hooks/useValidator.js.map +1 -1
  274. package/package.json +37 -61
  275. package/src/test/AddMappingModal.test.tsx +7 -7
  276. package/src/test/BulkExtractor.test.ts +10 -9
  277. package/src/test/DeleteModal.test.tsx +4 -4
  278. package/src/test/ReportAction.test.tsx +14 -14
  279. package/src/test/ReportMappingHorizontalTile.test.tsx +5 -5
  280. package/src/test/ReportMappings.test.tsx +19 -19
  281. package/src/test/Reports.test.tsx +8 -8
  282. package/src/test/WidgetHeader.test.tsx +2 -2
  283. package/{__mocks__/fileMock.js → src/test/setup.ts} +1 -1
  284. package/src/test/test-utils.tsx +2 -2
  285. package/tsconfig.json +2 -1
  286. package/vitest.config.ts +29 -0
  287. package/coverage/lcov-report/src/widget/components/index.html +0 -416
  288. package/coverage/lcov.info +0 -1629
  289. package/jest.config.js +0 -24
  290. /package/coverage/{lcov-report/base.css → base.css} +0 -0
  291. /package/coverage/{lcov-report/favicon.png → favicon.png} +0 -0
  292. /package/coverage/{lcov-report/prettify.css → prettify.css} +0 -0
  293. /package/coverage/{lcov-report/prettify.js → prettify.js} +0 -0
  294. /package/coverage/{lcov-report/sort-arrow-sprite.png → sort-arrow-sprite.png} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"ReportsConfigUiProvider.d.ts","sourceRoot":"","sources":["../../../src/widget/ReportsConfigUiProvider.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAc,MAAM,oBAAoB,CAAC;AAIvF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAG3E;;GAEG;AACH,eAAO,MAAM,uBAAuB,4BAA4B,CAAC;AAEjE;;;GAGG;AACH,qBAAa,qBAAsB,YAAW,eAAe;IAG/C,OAAO,CAAC,MAAM,CAAC;IAF3B,SAAgB,EAAE,2BAA2B;gBAEzB,MAAM,CAAC,mCAAuB;IAE3C,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,kBAAkB,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,aAAa,CAAC,MAAM,CAAC;CAc9I"}
1
+ {"version":3,"file":"ReportsConfigUiProvider.d.ts","sourceRoot":"","sources":["../../../src/widget/ReportsConfigUiProvider.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAc,MAAM,oBAAoB,CAAC;AAIvF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAG3E;;GAEG;AACH,eAAO,MAAM,uBAAuB,4BAA4B,CAAC;AAEjE;;;GAGG;AACH,qBAAa,qBAAsB,YAAW,eAAe;IAG/C,OAAO,CAAC,MAAM,CAAC;IAF3B,SAAgB,EAAE,2BAA2B;gBAEzB,MAAM,CAAC,EAAE,qBAAqB,YAAA;IAE3C,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,kBAAkB,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,aAAa,CAAC,MAAM,CAAC;CAc9I"}
@@ -11,9 +11,10 @@ export const REPORTS_CONFIG_BASE_URL = "https://api.bentley.com";
11
11
  * @public
12
12
  */
13
13
  export class ReportsConfigProvider {
14
+ _props;
15
+ id = "ReportsConfigProvider";
14
16
  constructor(_props) {
15
17
  this._props = _props;
16
- this.id = "ReportsConfigProvider";
17
18
  }
18
19
  provideWidgets(_stageId, stageUsage, location, section) {
19
20
  const widgets = [];
@@ -1 +1 @@
1
- {"version":3,"file":"ReportsConfigUiProvider.js","sourceRoot":"","sources":["../../../src/widget/ReportsConfigUiProvider.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEvF,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE7D,OAAO,gBAAgB,MAAM,+BAA+B,CAAC;AAE7D;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,yBAAyB,CAAC;AAEjE;;;GAGG;AACH,MAAM,OAAO,qBAAqB;IAGhC,YAAoB,MAA8B;QAA9B,WAAM,GAAN,MAAM,CAAwB;QAFlC,OAAE,GAAG,uBAAuB,CAAC;IAES,CAAC;IAEhD,cAAc,CAAC,QAAgB,EAAE,UAAkB,EAAE,QAA4B,EAAE,OAA2B;QACnH,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,IAAI,QAAQ,KAAK,kBAAkB,CAAC,IAAI,IAAI,OAAO,KAAK,iBAAiB,CAAC,KAAK,IAAI,UAAU,KAAK,UAAU,CAAC,OAAO,EAAE;YACpH,MAAM,aAAa,GAAW;gBAC5B,EAAE,EAAE,uBAAuB;gBAC3B,KAAK,EAAE,mBAAmB,CAAC,YAAY,CAAC,kBAAkB,CAAC,mCAAmC,CAAC;gBAC/F,OAAO,EAAE,oBAAC,gBAAgB,OAAK,IAAI,CAAC,MAAM,GAAI;aAC/C,CAAC;YAEF,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;SAC7B;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\nimport type { UiItemsProvider, Widget } from \"@itwin/appui-react\";\nimport { StagePanelLocation, StagePanelSection, StageUsage } from \"@itwin/appui-react\";\n\nimport * as React from \"react\";\nimport { ReportsConfigWidget } from \"../ReportsConfigWidget\";\nimport type { ReportsContainerProps } from \"./components/ReportsContainer\";\nimport ReportsContainer from \"./components/ReportsContainer\";\n\n/**\n * @internal\n */\nexport const REPORTS_CONFIG_BASE_URL = \"https://api.bentley.com\";\n\n/**\n * Reports Config Widget UI Provider\n * @public\n */\nexport class ReportsConfigProvider implements UiItemsProvider {\n public readonly id = \"ReportsConfigProvider\";\n\n constructor(private _props?: ReportsContainerProps) { }\n\n public provideWidgets(_stageId: string, stageUsage: string, location: StagePanelLocation, section?: StagePanelSection): ReadonlyArray<Widget> {\n const widgets: Widget[] = [];\n if (location === StagePanelLocation.Left && section === StagePanelSection.Start && stageUsage === StageUsage.General) {\n const ReportsWidget: Widget = {\n id: \"reports-config-widget\",\n label: ReportsConfigWidget.localization.getLocalizedString(\"ReportsConfigWidget:ReportsConfig\"),\n content: <ReportsContainer {...this._props} />,\n };\n\n widgets.push(ReportsWidget);\n }\n\n return widgets;\n }\n}\n"]}
1
+ {"version":3,"file":"ReportsConfigUiProvider.js","sourceRoot":"","sources":["../../../src/widget/ReportsConfigUiProvider.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEvF,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE7D,OAAO,gBAAgB,MAAM,+BAA+B,CAAC;AAE7D;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,yBAAyB,CAAC;AAEjE;;;GAGG;AACH,MAAM,OAAO,qBAAqB;IAGZ;IAFJ,EAAE,GAAG,uBAAuB,CAAC;IAE7C,YAAoB,MAA8B;QAA9B,WAAM,GAAN,MAAM,CAAwB;IAAI,CAAC;IAEhD,cAAc,CAAC,QAAgB,EAAE,UAAkB,EAAE,QAA4B,EAAE,OAA2B;QACnH,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,IAAI,QAAQ,KAAK,kBAAkB,CAAC,IAAI,IAAI,OAAO,KAAK,iBAAiB,CAAC,KAAK,IAAI,UAAU,KAAK,UAAU,CAAC,OAAO,EAAE,CAAC;YACrH,MAAM,aAAa,GAAW;gBAC5B,EAAE,EAAE,uBAAuB;gBAC3B,KAAK,EAAE,mBAAmB,CAAC,YAAY,CAAC,kBAAkB,CAAC,mCAAmC,CAAC;gBAC/F,OAAO,EAAE,oBAAC,gBAAgB,OAAK,IAAI,CAAC,MAAM,GAAI;aAC/C,CAAC;YAEF,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC9B,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\nimport type { UiItemsProvider, Widget } from \"@itwin/appui-react\";\nimport { StagePanelLocation, StagePanelSection, StageUsage } from \"@itwin/appui-react\";\n\nimport * as React from \"react\";\nimport { ReportsConfigWidget } from \"../ReportsConfigWidget\";\nimport type { ReportsContainerProps } from \"./components/ReportsContainer\";\nimport ReportsContainer from \"./components/ReportsContainer\";\n\n/**\n * @internal\n */\nexport const REPORTS_CONFIG_BASE_URL = \"https://api.bentley.com\";\n\n/**\n * Reports Config Widget UI Provider\n * @public\n */\nexport class ReportsConfigProvider implements UiItemsProvider {\n public readonly id = \"ReportsConfigProvider\";\n\n constructor(private _props?: ReportsContainerProps) { }\n\n public provideWidgets(_stageId: string, stageUsage: string, location: StagePanelLocation, section?: StagePanelSection): ReadonlyArray<Widget> {\n const widgets: Widget[] = [];\n if (location === StagePanelLocation.Left && section === StagePanelSection.Start && stageUsage === StageUsage.General) {\n const ReportsWidget: Widget = {\n id: \"reports-config-widget\",\n label: ReportsConfigWidget.localization.getLocalizedString(\"ReportsConfigWidget:ReportsConfig\"),\n content: <ReportsContainer {...this._props} />,\n };\n\n widgets.push(ReportsWidget);\n }\n\n return widgets;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ActionPanel.d.ts","sourceRoot":"","sources":["../../../../src/widget/components/ActionPanel.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,oBAAoB,CAAC;AAG5B,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,QAAA,MAAM,WAAW,wFAOd,gBAAgB,KAAG,MAAM,YAc3B,CAAC;AAEF,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"ActionPanel.d.ts","sourceRoot":"","sources":["../../../../src/widget/components/ActionPanel.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,oBAAoB,CAAC;AAG5B,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,QAAA,MAAM,WAAW,wFAOd,gBAAgB,KAAG,KAAK,CAAC,YAc3B,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -1,9 +1,8 @@
1
- /// <reference types="react" />
2
1
  import type { Mapping } from "@itwin/insights-client";
3
2
  import "./AddMappingsModal.scss";
4
3
  import type { ReportMappingAndMapping } from "./ReportMappings";
5
4
  import type { CreateTypeFromInterface } from "./utils";
6
- export declare type MappingType = CreateTypeFromInterface<Mapping>;
5
+ export type MappingType = CreateTypeFromInterface<Mapping>;
7
6
  export interface AddMappingsModalProps {
8
7
  reportId: string;
9
8
  existingMappings: ReportMappingAndMapping[];
@@ -1 +1 @@
1
- {"version":3,"file":"AddMappingsModal.d.ts","sourceRoot":"","sources":["../../../../src/widget/components/AddMappingsModal.tsx"],"names":[],"mappings":";AAMA,OAAO,KAAK,EAAmB,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEvE,OAAO,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAGhE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAMvD,oBAAY,WAAW,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;AAqB3D,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,uBAAuB,EAAE,CAAC;IAC5C,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,eAAO,MAAM,gBAAgB,mEAAoE,qBAAqB,gBAuFrH,CAAC"}
1
+ {"version":3,"file":"AddMappingsModal.d.ts","sourceRoot":"","sources":["../../../../src/widget/components/AddMappingsModal.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAmB,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEvE,OAAO,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAGhE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAMvD,MAAM,MAAM,WAAW,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;AAqB3D,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,uBAAuB,EAAE,CAAC;IAC5C,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,eAAO,MAAM,gBAAgB,mEAAoE,qBAAqB,gBAuFrH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"AddMappingsModal.js","sourceRoot":"","sources":["../../../../src/widget/components/AddMappingsModal.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\nimport { Modal, Table, tableFilters } from \"@itwin/itwinui-react\";\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport type { IMappingsClient, Mapping } from \"@itwin/insights-client\";\nimport ActionPanel from \"./ActionPanel\";\nimport \"./AddMappingsModal.scss\";\nimport { LocalizedTablePaginator } from \"./LocalizedTablePaginator\";\nimport type { ReportMappingAndMapping } from \"./ReportMappings\";\nimport { useReportsConfigApi } from \"../context/ReportsConfigApiContext\";\nimport { SelectIModel } from \"./SelectIModel\";\nimport type { CreateTypeFromInterface } from \"./utils\";\nimport { handleError } from \"./utils\";\nimport { ReportsConfigWidget } from \"../../ReportsConfigWidget\";\nimport type { AccessToken } from \"@itwin/core-bentley\";\nimport type { Column } from \"react-table\";\n\nexport type MappingType = CreateTypeFromInterface<Mapping>;\n\nconst fetchMappings = async (\n setMappings: (mappings: Mapping[]) => void,\n iModelId: string,\n setIsLoading: (isLoading: boolean) => void,\n mappingsClient: IMappingsClient,\n getAccessToken: () => Promise<AccessToken>,\n) => {\n try {\n setIsLoading(true);\n const accessToken = await getAccessToken();\n const mappings = await mappingsClient.getMappings(accessToken, iModelId);\n setMappings(mappings.mappings);\n } catch (error: any) {\n handleError(error.status);\n } finally {\n setIsLoading(false);\n }\n};\n\nexport interface AddMappingsModalProps {\n reportId: string;\n existingMappings: ReportMappingAndMapping[];\n show: boolean;\n onClose: () => Promise<void>;\n defaultIModelId?: string;\n}\n\nexport const AddMappingsModal = ({ reportId, existingMappings, show, onClose, defaultIModelId }: AddMappingsModalProps) => {\n const [isLoading, setIsLoading] = useState<boolean>(false);\n const selectedMappings = useRef<Mapping[]>([]);\n const [selectedIModelId, setSelectediModelId] = useState<string | undefined>(defaultIModelId);\n const [mappings, setMappings] = useState<Mapping[]>([]);\n const { getAccessToken, mappingsClient, reportsClient } = useReportsConfigApi();\n\n useEffect(() => {\n if (selectedIModelId) {\n void fetchMappings(setMappings, selectedIModelId, setIsLoading, mappingsClient, getAccessToken);\n }\n }, [getAccessToken, mappingsClient, selectedIModelId, setIsLoading]);\n\n const mappingsColumns = useMemo(\n (): Column<CreateTypeFromInterface<Mapping>>[] => [\n {\n id: \"mappingName\",\n Header: ReportsConfigWidget.localization.getLocalizedString(\"ReportsConfigWidget:MappingName\"),\n accessor: \"mappingName\",\n Filter: tableFilters.TextFilter(),\n },\n {\n id: \"description\",\n Header: ReportsConfigWidget.localization.getLocalizedString(\"ReportsConfigWidget:Description\"),\n accessor: \"description\",\n Filter: tableFilters.TextFilter(),\n },\n ],\n [],\n );\n\n const onSave = async () => {\n try {\n if (!selectedIModelId) return;\n setIsLoading(true);\n const accessToken = await getAccessToken();\n for (const mapping of selectedMappings.current) {\n await reportsClient.createReportMapping(accessToken, reportId, {\n imodelId: selectedIModelId,\n mappingId: mapping.id,\n });\n }\n\n await onClose();\n } catch (error: any) {\n handleError(error.status);\n } finally {\n setIsLoading(false);\n }\n };\n\n const onSelect = useCallback((selectData: Mapping[] | undefined) => {\n if (selectData) selectedMappings.current = selectData;\n }, []);\n\n const tableData = useMemo(() => (isLoading ? [] : mappings), [isLoading, mappings]);\n const isRowDisabled = useCallback((rowData: MappingType) => existingMappings.some((v) => v.mappingId === rowData.id), [existingMappings]);\n\n return (\n <Modal\n title={ReportsConfigWidget.localization.getLocalizedString(\"ReportsConfigWidget:AddMappings\")}\n isOpen={show}\n isDismissible={!isLoading}\n onClose={async () => {\n await onClose();\n }}\n style={{ display: \"flex\", flexDirection: \"column\", maxHeight: \"77vh\" }}\n >\n <div className=\"rcw-add-mappings-container\">\n <SelectIModel selectedIModelId={selectedIModelId} setSelectedIModelId={setSelectediModelId} />\n <Table<MappingType>\n data={tableData}\n columns={mappingsColumns}\n className=\"rcw-add-mappings-table\"\n emptyTableContent={ReportsConfigWidget.localization.getLocalizedString(\"ReportsConfigWidget:NoMappingsAvailable\")}\n isSortable\n isSelectable\n isLoading={isLoading}\n isRowDisabled={isRowDisabled}\n onSelect={onSelect}\n paginatorRenderer={LocalizedTablePaginator}\n />\n </div>\n {/* Add button permanently enabled as a workaround to the warning stating that the table and parent component are being rendered at the same time. */}\n <ActionPanel actionLabel={ReportsConfigWidget.localization.getLocalizedString(\"ReportsConfigWidget:Add\")} onAction={onSave} isLoading={isLoading} />\n </Modal>\n );\n};\n"]}
1
+ {"version":3,"file":"AddMappingsModal.js","sourceRoot":"","sources":["../../../../src/widget/components/AddMappingsModal.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\nimport { Modal, Table, tableFilters } from \"@itwin/itwinui-react\";\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport type { IMappingsClient, Mapping } from \"@itwin/insights-client\";\nimport ActionPanel from \"./ActionPanel\";\nimport \"./AddMappingsModal.scss\";\nimport { LocalizedTablePaginator } from \"./LocalizedTablePaginator\";\nimport type { ReportMappingAndMapping } from \"./ReportMappings\";\nimport { useReportsConfigApi } from \"../context/ReportsConfigApiContext\";\nimport { SelectIModel } from \"./SelectIModel\";\nimport type { CreateTypeFromInterface } from \"./utils\";\nimport { handleError } from \"./utils\";\nimport { ReportsConfigWidget } from \"../../ReportsConfigWidget\";\nimport type { AccessToken } from \"@itwin/core-bentley\";\nimport type { Column } from \"react-table\";\n\nexport type MappingType = CreateTypeFromInterface<Mapping>;\n\nconst fetchMappings = async (\n setMappings: (mappings: Mapping[]) => void,\n iModelId: string,\n setIsLoading: (isLoading: boolean) => void,\n mappingsClient: IMappingsClient,\n getAccessToken: () => Promise<AccessToken>,\n) => {\n try {\n setIsLoading(true);\n const accessToken = await getAccessToken();\n const mappings = await mappingsClient.getMappings(accessToken, iModelId);\n setMappings(mappings.mappings);\n } catch (error: any) {\n handleError(error.status);\n } finally {\n setIsLoading(false);\n }\n};\n\nexport interface AddMappingsModalProps {\n reportId: string;\n existingMappings: ReportMappingAndMapping[];\n show: boolean;\n onClose: () => Promise<void>;\n defaultIModelId?: string;\n}\n\nexport const AddMappingsModal = ({ reportId, existingMappings, show, onClose, defaultIModelId }: AddMappingsModalProps) => {\n const [isLoading, setIsLoading] = useState<boolean>(false);\n const selectedMappings = useRef<Mapping[]>([]);\n const [selectedIModelId, setSelectediModelId] = useState<string | undefined>(defaultIModelId);\n const [mappings, setMappings] = useState<Mapping[]>([]);\n const { getAccessToken, mappingsClient, reportsClient } = useReportsConfigApi();\n\n useEffect(() => {\n if (selectedIModelId) {\n void fetchMappings(setMappings, selectedIModelId, setIsLoading, mappingsClient, getAccessToken);\n }\n }, [getAccessToken, mappingsClient, selectedIModelId, setIsLoading]);\n\n const mappingsColumns = useMemo(\n (): Column<CreateTypeFromInterface<Mapping>>[] => [\n {\n id: \"mappingName\",\n Header: ReportsConfigWidget.localization.getLocalizedString(\"ReportsConfigWidget:MappingName\"),\n accessor: \"mappingName\",\n Filter: tableFilters.TextFilter(),\n },\n {\n id: \"description\",\n Header: ReportsConfigWidget.localization.getLocalizedString(\"ReportsConfigWidget:Description\"),\n accessor: \"description\",\n Filter: tableFilters.TextFilter(),\n },\n ],\n [],\n );\n\n const onSave = async () => {\n try {\n if (!selectedIModelId) return;\n setIsLoading(true);\n const accessToken = await getAccessToken();\n for (const mapping of selectedMappings.current) {\n await reportsClient.createReportMapping(accessToken, reportId, {\n imodelId: selectedIModelId,\n mappingId: mapping.id,\n });\n }\n\n await onClose();\n } catch (error: any) {\n handleError(error.status);\n } finally {\n setIsLoading(false);\n }\n };\n\n const onSelect = useCallback((selectData: Mapping[] | undefined) => {\n if (selectData) selectedMappings.current = selectData;\n }, []);\n\n const tableData = useMemo(() => (isLoading ? [] : mappings), [isLoading, mappings]);\n const isRowDisabled = useCallback((rowData: MappingType) => existingMappings.some((v) => v.mappingId === rowData.id), [existingMappings]);\n\n return (\n <Modal\n title={ReportsConfigWidget.localization.getLocalizedString(\"ReportsConfigWidget:AddMappings\")}\n isOpen={show}\n isDismissible={!isLoading}\n onClose={async () => {\n await onClose();\n }}\n style={{ display: \"flex\", flexDirection: \"column\", maxHeight: \"77vh\" }}\n >\n <div className=\"rcw-add-mappings-container\">\n <SelectIModel selectedIModelId={selectedIModelId} setSelectedIModelId={setSelectediModelId} />\n <Table<MappingType>\n data={tableData}\n columns={mappingsColumns}\n className=\"rcw-add-mappings-table\"\n emptyTableContent={ReportsConfigWidget.localization.getLocalizedString(\"ReportsConfigWidget:NoMappingsAvailable\")}\n isSortable\n isSelectable\n isLoading={isLoading}\n isRowDisabled={isRowDisabled}\n onSelect={onSelect}\n paginatorRenderer={LocalizedTablePaginator}\n />\n </div>\n {/* Add button permanently enabled as a workaround to the warning stating that the table and parent component are being rendered at the same time. */}\n <ActionPanel actionLabel={ReportsConfigWidget.localization.getLocalizedString(\"ReportsConfigWidget:Add\")} onAction={onSave} isLoading={isLoading} />\n </Modal>\n );\n};\n"]}
@@ -1,8 +1,7 @@
1
- /// <reference types="react" />
2
1
  import { ExtractionStates } from "./ExtractionStatus";
3
2
  import type { ExtractionRequestDetails, IExtractionClient, IReportsClient, ReportMapping } from "@itwin/insights-client";
4
3
  import type { AccessToken } from "@itwin/core-bentley";
5
- export declare type ReportMappingAndMapping = ReportMapping & {
4
+ export type ReportMappingAndMapping = ReportMapping & {
6
5
  mappingName: string;
7
6
  mappingDescription: string;
8
7
  iModelName: string;
@@ -1 +1 @@
1
- {"version":3,"file":"BulkExtractor.d.ts","sourceRoot":"","sources":["../../../../src/widget/components/BulkExtractor.ts"],"names":[],"mappings":";AAMA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,KAAK,EAAqB,wBAAwB,EAAE,iBAAiB,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5I,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,oBAAY,uBAAuB,GAAG,aAAa,GAAG;IACpD,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,iBAAiB,CAAiB;IAC1C,OAAO,CAAC,oBAAoB,CAAoB;IAChD,OAAO,CAAC,YAAY,CAAwB;IAC5C,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,aAAa,CAAsC;IAC3D,OAAO,CAAC,YAAY,CAAc;IAClC,OAAO,CAAC,UAAU,CAA6B;IAC/C,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,0BAA0B,CAAqD;IACvF,OAAO,CAAC,sBAAsB,CAA+B;IAC7D,OAAO,CAAC,cAAc,CAA4D;IAClF,OAAO,CAAC,QAAQ,CAAgB;gBAG9B,aAAa,EAAE,cAAc,EAC7B,gBAAgB,EAAE,iBAAiB,EACnC,cAAc,EAAE,MAAM,OAAO,CAAC,WAAW,CAAC,EAC1C,yBAAyB,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,IAAI,EAC7E,qBAAqB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI;YASvC,WAAW;IAUZ,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAiB3D,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAsBlH,OAAO,CAAC,MAAM,CAAC,aAAa;YAYd,QAAQ;IAWtB,OAAO,CAAC,YAAY;IAcP,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;YAsBvD,aAAa;IAWd,mBAAmB,CAAC,wBAAwB,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC;IAI5F,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI;IAMxF,oBAAoB,CAAC,yBAAyB,EAAE,wBAAwB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;YAazF,mCAAmC;CAUlD"}
1
+ {"version":3,"file":"BulkExtractor.d.ts","sourceRoot":"","sources":["../../../../src/widget/components/BulkExtractor.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,KAAK,EAAqB,wBAAwB,EAAE,iBAAiB,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5I,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,MAAM,MAAM,uBAAuB,GAAG,aAAa,GAAG;IACpD,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,iBAAiB,CAAiB;IAC1C,OAAO,CAAC,oBAAoB,CAAoB;IAChD,OAAO,CAAC,YAAY,CAAwB;IAC5C,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,aAAa,CAAsC;IAC3D,OAAO,CAAC,YAAY,CAAc;IAClC,OAAO,CAAC,UAAU,CAA6B;IAC/C,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,0BAA0B,CAAqD;IACvF,OAAO,CAAC,sBAAsB,CAA+B;IAC7D,OAAO,CAAC,cAAc,CAA4D;IAClF,OAAO,CAAC,QAAQ,CAAgB;gBAG9B,aAAa,EAAE,cAAc,EAC7B,gBAAgB,EAAE,iBAAiB,EACnC,cAAc,EAAE,MAAM,OAAO,CAAC,WAAW,CAAC,EAC1C,yBAAyB,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,IAAI,EAC7E,qBAAqB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI;YASvC,WAAW;IAUZ,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAiB3D,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAsBlH,OAAO,CAAC,MAAM,CAAC,aAAa;YAYd,QAAQ;IAWtB,OAAO,CAAC,YAAY;IAcP,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;YAsBvD,aAAa;IAWd,mBAAmB,CAAC,wBAAwB,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC;IAI5F,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI;IAMxF,oBAAoB,CAAC,yBAAyB,EAAE,wBAAwB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;YAazF,mCAAmC;CAUlD"}
@@ -10,13 +10,19 @@ import { STATUS_CHECK_INTERVAL } from "./Constants";
10
10
  * @public
11
11
  */
12
12
  export class BulkExtractor {
13
+ _reportsClientApi;
14
+ _extractionClientApi;
15
+ _accessToken;
16
+ _reportIModels = new Map(); // key: reportId, value: iModels
17
+ _iModelStates = new Map(); // key: iModelId, value: state
18
+ _timeFetched = new Date();
19
+ _iModelRun = new Map(); // key: iModelId, value: runId
20
+ _iModelToast = new Set();
21
+ _successfulExtractionToast;
22
+ _failedExtractionToast;
23
+ _setJobRunning;
24
+ _iModels = [];
13
25
  constructor(reportsClient, extractionClient, getAccessToken, successfulExtractionToast, failedExtractionToast) {
14
- this._reportIModels = new Map(); // key: reportId, value: iModels
15
- this._iModelStates = new Map(); // key: iModelId, value: state
16
- this._timeFetched = new Date();
17
- this._iModelRun = new Map(); // key: iModelId, value: runId
18
- this._iModelToast = new Set();
19
- this._iModels = [];
20
26
  this._reportsClientApi = reportsClient;
21
27
  this._extractionClientApi = extractionClient;
22
28
  this._accessToken = getAccessToken;
@@ -1 +1 @@
1
- {"version":3,"file":"BulkExtractor.js","sourceRoot":"","sources":["../../../../src/widget/components/BulkExtractor.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\nimport { ExtractionState } from \"@itwin/insights-client\";\nimport { handleError } from \"./utils\";\nimport { ExtractionStates } from \"./ExtractionStatus\";\nimport { STATUS_CHECK_INTERVAL } from \"./Constants\";\nimport type { ExtractionMapping, ExtractionRequestDetails, IExtractionClient, IReportsClient, ReportMapping } from \"@itwin/insights-client\";\nimport type { AccessToken } from \"@itwin/core-bentley\";\n\nexport type ReportMappingAndMapping = ReportMapping & {\n mappingName: string;\n mappingDescription: string;\n iModelName: string;\n};\n\n/**\n * @public\n */\nexport class BulkExtractor {\n private _reportsClientApi: IReportsClient;\n private _extractionClientApi: IExtractionClient;\n private _accessToken: () => Promise<string>;\n private _reportIModels = new Map<string, string[]>(); // key: reportId, value: iModels\n private _iModelStates = new Map<string, ExtractionState>(); // key: iModelId, value: state\n private _timeFetched = new Date();\n private _iModelRun = new Map<string, string>(); // key: iModelId, value: runId\n private _iModelToast = new Set<string>();\n private _successfulExtractionToast: (iModelName: string, odataFeedUrl: string) => void;\n private _failedExtractionToast: (iModelName: string) => void;\n private _setJobRunning: React.Dispatch<React.SetStateAction<boolean>> | undefined;\n private _iModels: string[] = [];\n\n constructor(\n reportsClient: IReportsClient,\n extractionClient: IExtractionClient,\n getAccessToken: () => Promise<AccessToken>,\n successfulExtractionToast: (iModelName: string, odataFeedUrl: string) => void,\n failedExtractionToast: (iModelName: string) => void,\n ) {\n this._reportsClientApi = reportsClient;\n this._extractionClientApi = extractionClient;\n this._accessToken = getAccessToken;\n this._successfulExtractionToast = successfulExtractionToast;\n this._failedExtractionToast = failedExtractionToast;\n }\n\n private async fetchStates(): Promise<void> {\n for (const [iModelId, runId] of this._iModelRun) {\n const state = await this.getState(runId);\n if (state === ExtractionState.Succeeded || state === ExtractionState.Failed) {\n this._iModelRun.delete(iModelId);\n }\n this._iModelStates.set(iModelId, state);\n }\n }\n\n public async getReportState(reportId: string): Promise<ExtractionStates> {\n if (new Date().getTime() - this._timeFetched.getTime() > STATUS_CHECK_INTERVAL) {\n this._timeFetched = new Date();\n await this.fetchStates();\n }\n\n const iModels = this._reportIModels.get(reportId);\n if (!iModels) return ExtractionStates.None;\n const states: ExtractionState[] = [];\n for (const iModelId of iModels) {\n const state = this._iModelStates.get(iModelId);\n if (!state) continue;\n states.push(state);\n }\n return BulkExtractor.getFinalState(states);\n }\n\n public async getIModelState(iModelId: string, iModelName: string, odataFeedUrl: string): Promise<ExtractionStates> {\n if (new Date().getTime() - this._timeFetched.getTime() > STATUS_CHECK_INTERVAL) {\n this._timeFetched = new Date();\n await this.fetchStates();\n }\n\n const state = this._iModelStates.get(iModelId);\n if (!state) return ExtractionStates.None;\n if (!this._iModelToast.has(iModelId)) {\n if (state === ExtractionState.Succeeded) {\n this._successfulExtractionToast(iModelName, odataFeedUrl);\n this._iModelToast.add(iModelId);\n this.checkRunning();\n } else if (state === ExtractionState.Failed) {\n this._failedExtractionToast(iModelName);\n this._iModelToast.add(iModelId);\n this.checkRunning();\n }\n }\n return BulkExtractor.getFinalState([state]);\n }\n\n private static getFinalState(states: ExtractionState[]): ExtractionStates {\n if (states.includes(ExtractionState.Failed)) return ExtractionStates.Failed;\n\n if (states.includes(ExtractionState.Queued)) return ExtractionStates.Queued;\n\n if (states.includes(ExtractionState.Running)) return ExtractionStates.Running;\n\n if (states.includes(ExtractionState.Succeeded)) return ExtractionStates.Succeeded;\n\n return ExtractionStates.Failed;\n }\n\n private async getState(runId: string): Promise<ExtractionState> {\n try {\n const accessToken = await this._accessToken();\n const response = await this._extractionClientApi.getExtractionStatus(accessToken, runId);\n return response.state;\n } catch (error: any) {\n handleError(error.status);\n }\n return ExtractionState.Failed;\n }\n\n private checkRunning(): void {\n if (this._setJobRunning) {\n let allFinished = true;\n this._iModels.forEach((iModelId) => {\n const state = this._iModelStates.get(iModelId);\n if (state === ExtractionState.Queued || state === ExtractionState.Running) {\n allFinished = false;\n }\n });\n\n this._setJobRunning(!allFinished);\n }\n }\n\n public async runReportExtractions(reportIds: string[]): Promise<void> {\n const extractionDetailsIModelIdMap = new Map<string, ExtractionMapping[]>();\n for (const reportId of reportIds) {\n const reportExtractionDetails = await this.fetchReportExtractionRequestDetails(reportId);\n const reportIModels = reportExtractionDetails.map((reportExtractionDetail) => reportExtractionDetail.iModelId);\n this._reportIModels.set(reportId, reportIModels);\n reportExtractionDetails.forEach((extractionDetail) => {\n const existingMappings = extractionDetailsIModelIdMap.get(extractionDetail.iModelId) || [];\n extractionDetailsIModelIdMap.set(extractionDetail.iModelId, [...existingMappings, ...extractionDetail.mappings]);\n });\n }\n\n const extractionDetails: ExtractionRequestDetails[] = Array.from(extractionDetailsIModelIdMap.entries()).map(([iModelId, mappings]) => {\n const mappingSetArray: ExtractionMapping[] = Array.from(new Set(mappings.map((m) => m.id))).map((id) => ({ id }));\n return {\n iModelId,\n mappings: mappingSetArray,\n };\n });\n await this.runIModelExtractions(extractionDetails);\n }\n\n private async runExtraction(extractionRequestDetails: ExtractionRequestDetails): Promise<string | undefined> {\n try {\n const response = await this._extractionClientApi.runExtraction(await this._accessToken(), extractionRequestDetails);\n this._iModelToast.delete(extractionRequestDetails.iModelId);\n return response.id;\n } catch (error: any) {\n handleError(error.status);\n }\n return undefined;\n }\n\n public async runIModelExtraction(extractionRequestDetails: ExtractionRequestDetails): Promise<void> {\n return this.runIModelExtractions([extractionRequestDetails]);\n }\n\n public setHook(setJobRunning: React.Dispatch<React.SetStateAction<boolean>>, iModels: string[]): void {\n this._setJobRunning = setJobRunning;\n this._iModels = iModels;\n this.checkRunning();\n }\n\n public async runIModelExtractions(extractionRequestsDetails: ExtractionRequestDetails[]): Promise<void> {\n await Promise.all(\n extractionRequestsDetails.map(async (details) => {\n const run = await this.runExtraction(details);\n if (run) {\n this._iModelStates.set(details.iModelId, ExtractionState.Queued);\n this._iModelRun.set(details.iModelId, run);\n }\n }),\n );\n this.checkRunning();\n }\n\n private async fetchReportExtractionRequestDetails(reportId: string): Promise<ExtractionRequestDetails[]> {\n const reportMappings = await this._reportsClientApi.getReportMappings(await this._accessToken(), reportId);\n const extractionRequestDetails: ExtractionRequestDetails[] = reportMappings.map((reportMapping) => {\n return {\n iModelId: reportMapping.imodelId,\n mappings: [{ id: reportMapping.mappingId }],\n };\n });\n return extractionRequestDetails;\n }\n}\n"]}
1
+ {"version":3,"file":"BulkExtractor.js","sourceRoot":"","sources":["../../../../src/widget/components/BulkExtractor.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\nimport { ExtractionState } from \"@itwin/insights-client\";\nimport { handleError } from \"./utils\";\nimport { ExtractionStates } from \"./ExtractionStatus\";\nimport { STATUS_CHECK_INTERVAL } from \"./Constants\";\nimport type { ExtractionMapping, ExtractionRequestDetails, IExtractionClient, IReportsClient, ReportMapping } from \"@itwin/insights-client\";\nimport type { AccessToken } from \"@itwin/core-bentley\";\n\nexport type ReportMappingAndMapping = ReportMapping & {\n mappingName: string;\n mappingDescription: string;\n iModelName: string;\n};\n\n/**\n * @public\n */\nexport class BulkExtractor {\n private _reportsClientApi: IReportsClient;\n private _extractionClientApi: IExtractionClient;\n private _accessToken: () => Promise<string>;\n private _reportIModels = new Map<string, string[]>(); // key: reportId, value: iModels\n private _iModelStates = new Map<string, ExtractionState>(); // key: iModelId, value: state\n private _timeFetched = new Date();\n private _iModelRun = new Map<string, string>(); // key: iModelId, value: runId\n private _iModelToast = new Set<string>();\n private _successfulExtractionToast: (iModelName: string, odataFeedUrl: string) => void;\n private _failedExtractionToast: (iModelName: string) => void;\n private _setJobRunning: React.Dispatch<React.SetStateAction<boolean>> | undefined;\n private _iModels: string[] = [];\n\n constructor(\n reportsClient: IReportsClient,\n extractionClient: IExtractionClient,\n getAccessToken: () => Promise<AccessToken>,\n successfulExtractionToast: (iModelName: string, odataFeedUrl: string) => void,\n failedExtractionToast: (iModelName: string) => void,\n ) {\n this._reportsClientApi = reportsClient;\n this._extractionClientApi = extractionClient;\n this._accessToken = getAccessToken;\n this._successfulExtractionToast = successfulExtractionToast;\n this._failedExtractionToast = failedExtractionToast;\n }\n\n private async fetchStates(): Promise<void> {\n for (const [iModelId, runId] of this._iModelRun) {\n const state = await this.getState(runId);\n if (state === ExtractionState.Succeeded || state === ExtractionState.Failed) {\n this._iModelRun.delete(iModelId);\n }\n this._iModelStates.set(iModelId, state);\n }\n }\n\n public async getReportState(reportId: string): Promise<ExtractionStates> {\n if (new Date().getTime() - this._timeFetched.getTime() > STATUS_CHECK_INTERVAL) {\n this._timeFetched = new Date();\n await this.fetchStates();\n }\n\n const iModels = this._reportIModels.get(reportId);\n if (!iModels) return ExtractionStates.None;\n const states: ExtractionState[] = [];\n for (const iModelId of iModels) {\n const state = this._iModelStates.get(iModelId);\n if (!state) continue;\n states.push(state);\n }\n return BulkExtractor.getFinalState(states);\n }\n\n public async getIModelState(iModelId: string, iModelName: string, odataFeedUrl: string): Promise<ExtractionStates> {\n if (new Date().getTime() - this._timeFetched.getTime() > STATUS_CHECK_INTERVAL) {\n this._timeFetched = new Date();\n await this.fetchStates();\n }\n\n const state = this._iModelStates.get(iModelId);\n if (!state) return ExtractionStates.None;\n if (!this._iModelToast.has(iModelId)) {\n if (state === ExtractionState.Succeeded) {\n this._successfulExtractionToast(iModelName, odataFeedUrl);\n this._iModelToast.add(iModelId);\n this.checkRunning();\n } else if (state === ExtractionState.Failed) {\n this._failedExtractionToast(iModelName);\n this._iModelToast.add(iModelId);\n this.checkRunning();\n }\n }\n return BulkExtractor.getFinalState([state]);\n }\n\n private static getFinalState(states: ExtractionState[]): ExtractionStates {\n if (states.includes(ExtractionState.Failed)) return ExtractionStates.Failed;\n\n if (states.includes(ExtractionState.Queued)) return ExtractionStates.Queued;\n\n if (states.includes(ExtractionState.Running)) return ExtractionStates.Running;\n\n if (states.includes(ExtractionState.Succeeded)) return ExtractionStates.Succeeded;\n\n return ExtractionStates.Failed;\n }\n\n private async getState(runId: string): Promise<ExtractionState> {\n try {\n const accessToken = await this._accessToken();\n const response = await this._extractionClientApi.getExtractionStatus(accessToken, runId);\n return response.state;\n } catch (error: any) {\n handleError(error.status);\n }\n return ExtractionState.Failed;\n }\n\n private checkRunning(): void {\n if (this._setJobRunning) {\n let allFinished = true;\n this._iModels.forEach((iModelId) => {\n const state = this._iModelStates.get(iModelId);\n if (state === ExtractionState.Queued || state === ExtractionState.Running) {\n allFinished = false;\n }\n });\n\n this._setJobRunning(!allFinished);\n }\n }\n\n public async runReportExtractions(reportIds: string[]): Promise<void> {\n const extractionDetailsIModelIdMap = new Map<string, ExtractionMapping[]>();\n for (const reportId of reportIds) {\n const reportExtractionDetails = await this.fetchReportExtractionRequestDetails(reportId);\n const reportIModels = reportExtractionDetails.map((reportExtractionDetail) => reportExtractionDetail.iModelId);\n this._reportIModels.set(reportId, reportIModels);\n reportExtractionDetails.forEach((extractionDetail) => {\n const existingMappings = extractionDetailsIModelIdMap.get(extractionDetail.iModelId) || [];\n extractionDetailsIModelIdMap.set(extractionDetail.iModelId, [...existingMappings, ...extractionDetail.mappings]);\n });\n }\n\n const extractionDetails: ExtractionRequestDetails[] = Array.from(extractionDetailsIModelIdMap.entries()).map(([iModelId, mappings]) => {\n const mappingSetArray: ExtractionMapping[] = Array.from(new Set(mappings.map((m) => m.id))).map((id) => ({ id }));\n return {\n iModelId,\n mappings: mappingSetArray,\n };\n });\n await this.runIModelExtractions(extractionDetails);\n }\n\n private async runExtraction(extractionRequestDetails: ExtractionRequestDetails): Promise<string | undefined> {\n try {\n const response = await this._extractionClientApi.runExtraction(await this._accessToken(), extractionRequestDetails);\n this._iModelToast.delete(extractionRequestDetails.iModelId);\n return response.id;\n } catch (error: any) {\n handleError(error.status);\n }\n return undefined;\n }\n\n public async runIModelExtraction(extractionRequestDetails: ExtractionRequestDetails): Promise<void> {\n return this.runIModelExtractions([extractionRequestDetails]);\n }\n\n public setHook(setJobRunning: React.Dispatch<React.SetStateAction<boolean>>, iModels: string[]): void {\n this._setJobRunning = setJobRunning;\n this._iModels = iModels;\n this.checkRunning();\n }\n\n public async runIModelExtractions(extractionRequestsDetails: ExtractionRequestDetails[]): Promise<void> {\n await Promise.all(\n extractionRequestsDetails.map(async (details) => {\n const run = await this.runExtraction(details);\n if (run) {\n this._iModelStates.set(details.iModelId, ExtractionState.Queued);\n this._iModelRun.set(details.iModelId, run);\n }\n }),\n );\n this.checkRunning();\n }\n\n private async fetchReportExtractionRequestDetails(reportId: string): Promise<ExtractionRequestDetails[]> {\n const reportMappings = await this._reportsClientApi.getReportMappings(await this._accessToken(), reportId);\n const extractionRequestDetails: ExtractionRequestDetails[] = reportMappings.map((reportMapping) => {\n return {\n iModelId: reportMapping.imodelId,\n mappings: [{ id: reportMapping.mappingId }],\n };\n });\n return extractionRequestDetails;\n }\n}\n"]}
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import "./DeleteModal.scss";
3
2
  export interface DeleteModalProps {
4
3
  entityName?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"DeleteModal.d.ts","sourceRoot":"","sources":["../../../../src/widget/components/DeleteModal.tsx"],"names":[],"mappings":";AAOA,OAAO,oBAAoB,CAAC;AAG5B,MAAM,WAAW,gBAAgB;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAED,eAAO,MAAM,WAAW,+CAAgD,gBAAgB,gBA4CvF,CAAC;AAEF,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"DeleteModal.d.ts","sourceRoot":"","sources":["../../../../src/widget/components/DeleteModal.tsx"],"names":[],"mappings":"AAOA,OAAO,oBAAoB,CAAC;AAG5B,MAAM,WAAW,gBAAgB;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAED,eAAO,MAAM,WAAW,+CAAgD,gBAAgB,gBA4CvF,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"DeleteModal.js","sourceRoot":"","sources":["../../../../src/widget/components/DeleteModal.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG,OAAO,EAAE,MAAM,EAAE,oBAAoB,EAAE,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC/G,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,oBAAoB,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAStD,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAoB,EAAE,EAAE;IAC1F,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAC;IAE7D,MAAM,cAAc,GAAG,KAAK,IAAI,EAAE;QAChC,IAAI;YACF,aAAa,CAAC,IAAI,CAAC,CAAC;YACpB,MAAM,QAAQ,EAAE,CAAC;YACjB,MAAM,OAAO,EAAE,CAAC;YAChB,OAAO,EAAE,CAAC;SACX;QAAC,OAAO,KAAU,EAAE;YACnB,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;SAC3B;gBAAS;YACR,aAAa,CAAC,KAAK,CAAC,CAAC;SACtB;IACH,CAAC,CAAC;IAEF,OAAO,CACL,oBAAC,KAAK,IACJ,KAAK,EAAE,mBAAmB,CAAC,YAAY,CAAC,kBAAkB,CAAC,6BAA6B,CAAC,EACzF,MAAM,EAAE,CAAC,CAAC,UAAU,EACpB,aAAa,EAAE,CAAC,UAAU,EAC1B,OAAO,EAAE,OAAO;QAEhB,oBAAC,YAAY;YACX,6BAAK,SAAS,EAAC,4BAA4B;gBACzC,oBAAC,IAAI,IAAC,OAAO,EAAC,SAAS,IAAE,mBAAmB,CAAC,YAAY,CAAC,kBAAkB,CAAC,+CAA+C,CAAC,CAAQ;gBACrI,oCAAS,oBAAC,oBAAoB,IAAC,IAAI,EAAE,GAAG,UAAU,GAAG,GAAI,CAAU,CAC/D,CACO;QACf,oBAAC,cAAc;YACZ,UAAU,IAAI,CACb,6BAAK,SAAS,EAAC,oBAAoB,iBAAa,oBAAoB;gBAClE,oBAAC,cAAc,OAAG,CACd,CACP;YACD,oBAAC,MAAM,IAAC,SAAS,EAAC,iBAAiB,EAAC,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,UAAU,IAC9E,mBAAmB,CAAC,YAAY,CAAC,kBAAkB,CAAC,4BAA4B,CAAC,CAC3E;YACT,oBAAC,MAAM,IAAC,SAAS,EAAC,SAAS,EAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,IAC/D,mBAAmB,CAAC,YAAY,CAAC,kBAAkB,CAAC,4BAA4B,CAAC,CAC3E,CACM,CACX,CACT,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,WAAW,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\nimport { Button, MiddleTextTruncation, Modal, ModalButtonBar, ModalContent, Text } from \"@itwin/itwinui-react\";\nimport React, { useState } from \"react\";\nimport { ReportsConfigWidget } from \"../../ReportsConfigWidget\";\nimport \"./DeleteModal.scss\";\nimport { handleError, LoadingSpinner } from \"./utils\";\n\nexport interface DeleteModalProps {\n entityName?: string;\n onClose: () => void;\n onDelete: () => Promise<void>;\n refresh: () => Promise<void>;\n}\n\nexport const DeleteModal = ({ entityName, onClose, onDelete, refresh }: DeleteModalProps) => {\n const [isDeleting, setIsDeleting] = useState<boolean>(false);\n\n const deleteCallback = async () => {\n try {\n setIsDeleting(true);\n await onDelete();\n await refresh();\n onClose();\n } catch (error: any) {\n handleError(error.status);\n } finally {\n setIsDeleting(false);\n }\n };\n\n return (\n <Modal\n title={ReportsConfigWidget.localization.getLocalizedString(\"ReportsConfigWidget:Confirm\")}\n isOpen={!!entityName}\n isDismissible={!isDeleting}\n onClose={onClose}\n >\n <ModalContent>\n <div className=\"rcw-delete-modal-body-text\">\n <Text variant=\"leading\">{ReportsConfigWidget.localization.getLocalizedString(\"ReportsConfigWidget:AreYouSureYouWantToDelete\")}</Text>\n <strong>{<MiddleTextTruncation text={`${entityName}?`} />}</strong>\n </div>\n </ModalContent>\n <ModalButtonBar>\n {isDeleting && (\n <div className=\"rcw-loading-delete\" data-testid=\"rcw-loading-delete\">\n <LoadingSpinner />\n </div>\n )}\n <Button styleType=\"high-visibility\" onClick={deleteCallback} disabled={isDeleting}>\n {ReportsConfigWidget.localization.getLocalizedString(\"ReportsConfigWidget:Delete\")}\n </Button>\n <Button styleType=\"default\" onClick={onClose} disabled={isDeleting}>\n {ReportsConfigWidget.localization.getLocalizedString(\"ReportsConfigWidget:Cancel\")}\n </Button>\n </ModalButtonBar>\n </Modal>\n );\n};\n\nexport default DeleteModal;\n"]}
1
+ {"version":3,"file":"DeleteModal.js","sourceRoot":"","sources":["../../../../src/widget/components/DeleteModal.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG,OAAO,EAAE,MAAM,EAAE,oBAAoB,EAAE,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC/G,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,oBAAoB,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAStD,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAoB,EAAE,EAAE;IAC1F,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAC;IAE7D,MAAM,cAAc,GAAG,KAAK,IAAI,EAAE;QAChC,IAAI,CAAC;YACH,aAAa,CAAC,IAAI,CAAC,CAAC;YACpB,MAAM,QAAQ,EAAE,CAAC;YACjB,MAAM,OAAO,EAAE,CAAC;YAChB,OAAO,EAAE,CAAC;QACZ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC5B,CAAC;gBAAS,CAAC;YACT,aAAa,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CACL,oBAAC,KAAK,IACJ,KAAK,EAAE,mBAAmB,CAAC,YAAY,CAAC,kBAAkB,CAAC,6BAA6B,CAAC,EACzF,MAAM,EAAE,CAAC,CAAC,UAAU,EACpB,aAAa,EAAE,CAAC,UAAU,EAC1B,OAAO,EAAE,OAAO;QAEhB,oBAAC,YAAY;YACX,6BAAK,SAAS,EAAC,4BAA4B;gBACzC,oBAAC,IAAI,IAAC,OAAO,EAAC,SAAS,IAAE,mBAAmB,CAAC,YAAY,CAAC,kBAAkB,CAAC,+CAA+C,CAAC,CAAQ;gBACrI,oCAAS,oBAAC,oBAAoB,IAAC,IAAI,EAAE,GAAG,UAAU,GAAG,GAAI,CAAU,CAC/D,CACO;QACf,oBAAC,cAAc;YACZ,UAAU,IAAI,CACb,6BAAK,SAAS,EAAC,oBAAoB,iBAAa,oBAAoB;gBAClE,oBAAC,cAAc,OAAG,CACd,CACP;YACD,oBAAC,MAAM,IAAC,SAAS,EAAC,iBAAiB,EAAC,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,UAAU,IAC9E,mBAAmB,CAAC,YAAY,CAAC,kBAAkB,CAAC,4BAA4B,CAAC,CAC3E;YACT,oBAAC,MAAM,IAAC,SAAS,EAAC,SAAS,EAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,IAC/D,mBAAmB,CAAC,YAAY,CAAC,kBAAkB,CAAC,4BAA4B,CAAC,CAC3E,CACM,CACX,CACT,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,WAAW,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\nimport { Button, MiddleTextTruncation, Modal, ModalButtonBar, ModalContent, Text } from \"@itwin/itwinui-react\";\nimport React, { useState } from \"react\";\nimport { ReportsConfigWidget } from \"../../ReportsConfigWidget\";\nimport \"./DeleteModal.scss\";\nimport { handleError, LoadingSpinner } from \"./utils\";\n\nexport interface DeleteModalProps {\n entityName?: string;\n onClose: () => void;\n onDelete: () => Promise<void>;\n refresh: () => Promise<void>;\n}\n\nexport const DeleteModal = ({ entityName, onClose, onDelete, refresh }: DeleteModalProps) => {\n const [isDeleting, setIsDeleting] = useState<boolean>(false);\n\n const deleteCallback = async () => {\n try {\n setIsDeleting(true);\n await onDelete();\n await refresh();\n onClose();\n } catch (error: any) {\n handleError(error.status);\n } finally {\n setIsDeleting(false);\n }\n };\n\n return (\n <Modal\n title={ReportsConfigWidget.localization.getLocalizedString(\"ReportsConfigWidget:Confirm\")}\n isOpen={!!entityName}\n isDismissible={!isDeleting}\n onClose={onClose}\n >\n <ModalContent>\n <div className=\"rcw-delete-modal-body-text\">\n <Text variant=\"leading\">{ReportsConfigWidget.localization.getLocalizedString(\"ReportsConfigWidget:AreYouSureYouWantToDelete\")}</Text>\n <strong>{<MiddleTextTruncation text={`${entityName}?`} />}</strong>\n </div>\n </ModalContent>\n <ModalButtonBar>\n {isDeleting && (\n <div className=\"rcw-loading-delete\" data-testid=\"rcw-loading-delete\">\n <LoadingSpinner />\n </div>\n )}\n <Button styleType=\"high-visibility\" onClick={deleteCallback} disabled={isDeleting}>\n {ReportsConfigWidget.localization.getLocalizedString(\"ReportsConfigWidget:Delete\")}\n </Button>\n <Button styleType=\"default\" onClick={onClose} disabled={isDeleting}>\n {ReportsConfigWidget.localization.getLocalizedString(\"ReportsConfigWidget:Cancel\")}\n </Button>\n </ModalButtonBar>\n </Modal>\n );\n};\n\nexport default DeleteModal;\n"]}
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  interface ExtractionStateProps {
3
2
  animation: boolean;
4
3
  onAnimationEnd: () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"FailedExtractionState.d.ts","sourceRoot":"","sources":["../../../../../src/widget/components/ExtractionStates/FailedExtractionState.tsx"],"names":[],"mappings":";AASA,UAAU,oBAAoB;IAC5B,SAAS,EAAE,OAAO,CAAC;IACnB,cAAc,EAAE,MAAM,IAAI,CAAC;CAC5B;AAED,eAAO,MAAM,qBAAqB,kCAAmC,oBAAoB,gBAcxF,CAAC"}
1
+ {"version":3,"file":"FailedExtractionState.d.ts","sourceRoot":"","sources":["../../../../../src/widget/components/ExtractionStates/FailedExtractionState.tsx"],"names":[],"mappings":"AASA,UAAU,oBAAoB;IAC5B,SAAS,EAAE,OAAO,CAAC;IACnB,cAAc,EAAE,MAAM,IAAI,CAAC;CAC5B;AAED,eAAO,MAAM,qBAAqB,kCAAmC,oBAAoB,gBAcxF,CAAC"}
@@ -1,3 +1,2 @@
1
- /// <reference types="react" />
2
1
  export declare const QueuedExtractionState: () => JSX.Element;
3
2
  //# sourceMappingURL=QueuedExtractionState.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"QueuedExtractionState.d.ts","sourceRoot":"","sources":["../../../../../src/widget/components/ExtractionStates/QueuedExtractionState.tsx"],"names":[],"mappings":";AAQA,eAAO,MAAM,qBAAqB,mBAMjC,CAAC"}
1
+ {"version":3,"file":"QueuedExtractionState.d.ts","sourceRoot":"","sources":["../../../../../src/widget/components/ExtractionStates/QueuedExtractionState.tsx"],"names":[],"mappings":"AAQA,eAAO,MAAM,qBAAqB,mBAMjC,CAAC"}
@@ -1,3 +1,2 @@
1
- /// <reference types="react" />
2
1
  export declare const RunningExtractionState: () => JSX.Element;
3
2
  //# sourceMappingURL=RunningExtractionState.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RunningExtractionState.d.ts","sourceRoot":"","sources":["../../../../../src/widget/components/ExtractionStates/RunningExtractionState.tsx"],"names":[],"mappings":";AAQA,eAAO,MAAM,sBAAsB,mBAIlC,CAAC"}
1
+ {"version":3,"file":"RunningExtractionState.d.ts","sourceRoot":"","sources":["../../../../../src/widget/components/ExtractionStates/RunningExtractionState.tsx"],"names":[],"mappings":"AAQA,eAAO,MAAM,sBAAsB,mBAIlC,CAAC"}
@@ -1,3 +1,2 @@
1
- /// <reference types="react" />
2
1
  export declare const StartingExtractionState: () => JSX.Element;
3
2
  //# sourceMappingURL=StartingExtractionState.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"StartingExtractionState.d.ts","sourceRoot":"","sources":["../../../../../src/widget/components/ExtractionStates/StartingExtractionState.tsx"],"names":[],"mappings":";AAQA,eAAO,MAAM,uBAAuB,mBAMnC,CAAC"}
1
+ {"version":3,"file":"StartingExtractionState.d.ts","sourceRoot":"","sources":["../../../../../src/widget/components/ExtractionStates/StartingExtractionState.tsx"],"names":[],"mappings":"AAQA,eAAO,MAAM,uBAAuB,mBAMnC,CAAC"}
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  interface ExtractionStateProps {
3
2
  animation: boolean;
4
3
  onAnimationEnd: () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"SucceededExtractionState.d.ts","sourceRoot":"","sources":["../../../../../src/widget/components/ExtractionStates/SucceededExtractionState.tsx"],"names":[],"mappings":";AASA,UAAU,oBAAoB;IAC5B,SAAS,EAAE,OAAO,CAAC;IACnB,cAAc,EAAE,MAAM,IAAI,CAAC;CAC5B;AAED,eAAO,MAAM,wBAAwB,kCAAmC,oBAAoB,gBAe3F,CAAC"}
1
+ {"version":3,"file":"SucceededExtractionState.d.ts","sourceRoot":"","sources":["../../../../../src/widget/components/ExtractionStates/SucceededExtractionState.tsx"],"names":[],"mappings":"AASA,UAAU,oBAAoB;IAC5B,SAAS,EAAE,OAAO,CAAC;IACnB,cAAc,EAAE,MAAM,IAAI,CAAC;CAC5B;AAED,eAAO,MAAM,wBAAwB,kCAAmC,oBAAoB,gBAe3F,CAAC"}
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import "./ExtractionStatus.scss";
3
2
  export declare enum ExtractionStates {
4
3
  None = 0,
@@ -1 +1 @@
1
- {"version":3,"file":"ExtractionStatus.d.ts","sourceRoot":"","sources":["../../../../src/widget/components/ExtractionStatus.tsx"],"names":[],"mappings":";AAMA,OAAO,yBAAyB,CAAC;AAQjC,oBAAY,gBAAgB;IAC1B,IAAI,IAAA;IACJ,QAAQ,IAAA;IACR,MAAM,IAAA;IACN,OAAO,IAAA;IACP,SAAS,IAAA;IACT,MAAM,IAAA;CACP;AAED,UAAU,qBAAqB;IAC7B,KAAK,EAAE,gBAAgB,CAAC;IACxB,oBAAoB,EAAE,MAAM,IAAI,CAAC;CAClC;AAED,eAAO,MAAM,gBAAgB,oCAAqC,qBAAqB,gBAgCtF,CAAC"}
1
+ {"version":3,"file":"ExtractionStatus.d.ts","sourceRoot":"","sources":["../../../../src/widget/components/ExtractionStatus.tsx"],"names":[],"mappings":"AAMA,OAAO,yBAAyB,CAAC;AAQjC,oBAAY,gBAAgB;IAC1B,IAAI,IAAA;IACJ,QAAQ,IAAA;IACR,MAAM,IAAA;IACN,OAAO,IAAA;IACP,SAAS,IAAA;IACT,MAAM,IAAA;CACP;AAED,UAAU,qBAAqB;IAC7B,KAAK,EAAE,gBAAgB,CAAC;IACxB,oBAAoB,EAAE,MAAM,IAAI,CAAC;CAClC;AAED,eAAO,MAAM,gBAAgB,oCAAqC,qBAAqB,gBAgCtF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ExtractionStatus.js","sourceRoot":"","sources":["../../../../src/widget/components/ExtractionStatus.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,yBAAyB,CAAC;AACjC,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,4CAA4C,CAAC;AACrF,OAAO,EAAE,sBAAsB,EAAE,MAAM,2CAA2C,CAAC;AACnF,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AACjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AACjF,OAAO,EAAE,wBAAwB,EAAE,MAAM,6CAA6C,CAAC;AAEvF,MAAM,CAAN,IAAY,gBAOX;AAPD,WAAY,gBAAgB;IAC1B,uDAAI,CAAA;IACJ,+DAAQ,CAAA;IACR,2DAAM,CAAA;IACN,6DAAO,CAAA;IACP,iEAAS,CAAA;IACT,2DAAM,CAAA;AACR,CAAC,EAPW,gBAAgB,KAAhB,gBAAgB,QAO3B;AAOD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,EAAE,KAAK,EAAE,oBAAoB,EAAyB,EAAE,EAAE;IACzF,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAC;IAEvD,MAAM,cAAc,GAAG,GAAG,EAAE;QAC1B,oBAAoB,EAAE,CAAC;QACvB,UAAU,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,KAAa,CAAC;QAClB,QAAQ,KAAK,EAAE;YACb,KAAK,gBAAgB,CAAC,SAAS,CAAC;YAChC,KAAK,gBAAgB,CAAC,MAAM;gBAC1B,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,qBAAqB,CAAC,CAAC;SAC5E;QACD,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,QAAQ,KAAK,EAAE;QACb,KAAK,gBAAgB,CAAC,QAAQ;YAC5B,OAAO,oBAAC,uBAAuB,OAAG,CAAC;QACrC,KAAK,gBAAgB,CAAC,MAAM;YAC1B,OAAO,oBAAC,qBAAqB,OAAG,CAAC;QACnC,KAAK,gBAAgB,CAAC,OAAO;YAC3B,OAAO,oBAAC,sBAAsB,OAAG,CAAC;QACpC,KAAK,gBAAgB,CAAC,SAAS;YAC7B,OAAO,oBAAC,wBAAwB,IAAC,SAAS,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,GAAI,CAAC;QAC1F,KAAK,gBAAgB,CAAC,MAAM;YAC1B,OAAO,oBAAC,qBAAqB,IAAC,SAAS,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,GAAI,CAAC;QACvF;YACE,OAAO,yCAAK,CAAC;KAChB;AACH,CAAC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\nimport * as React from \"react\";\nimport { useEffect, useState } from \"react\";\nimport \"./ExtractionStatus.scss\";\nimport { STATUS_CHECK_INTERVAL } from \"./Constants\";\nimport { StartingExtractionState } from \"./ExtractionStates/StartingExtractionState\";\nimport { RunningExtractionState } from \"./ExtractionStates/RunningExtractionState\";\nimport { FailedExtractionState } from \"./ExtractionStates/FailedExtractionState\";\nimport { QueuedExtractionState } from \"./ExtractionStates/QueuedExtractionState\";\nimport { SucceededExtractionState } from \"./ExtractionStates/SucceededExtractionState\";\n\nexport enum ExtractionStates {\n None,\n Starting,\n Queued,\n Running,\n Succeeded,\n Failed,\n}\n\ninterface ExtractionStatusProps {\n state: ExtractionStates;\n clearExtractionState: () => void;\n}\n\nexport const ExtractionStatus = ({ state, clearExtractionState }: ExtractionStatusProps) => {\n const [fadeOut, setFadeOut] = useState<boolean>(false);\n\n const onAnimationEnd = () => {\n clearExtractionState();\n setFadeOut(false);\n };\n\n useEffect(() => {\n let timer: number;\n switch (state) {\n case ExtractionStates.Succeeded:\n case ExtractionStates.Failed:\n timer = window.setTimeout(() => setFadeOut(true), STATUS_CHECK_INTERVAL);\n }\n return () => window.clearTimeout(timer);\n }, [state]);\n\n switch (state) {\n case ExtractionStates.Starting:\n return <StartingExtractionState />;\n case ExtractionStates.Queued:\n return <QueuedExtractionState />;\n case ExtractionStates.Running:\n return <RunningExtractionState />;\n case ExtractionStates.Succeeded:\n return <SucceededExtractionState animation={fadeOut} onAnimationEnd={onAnimationEnd} />;\n case ExtractionStates.Failed:\n return <FailedExtractionState animation={fadeOut} onAnimationEnd={onAnimationEnd} />;\n default:\n return <></>;\n }\n};\n"]}
1
+ {"version":3,"file":"ExtractionStatus.js","sourceRoot":"","sources":["../../../../src/widget/components/ExtractionStatus.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,yBAAyB,CAAC;AACjC,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,4CAA4C,CAAC;AACrF,OAAO,EAAE,sBAAsB,EAAE,MAAM,2CAA2C,CAAC;AACnF,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AACjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AACjF,OAAO,EAAE,wBAAwB,EAAE,MAAM,6CAA6C,CAAC;AAEvF,MAAM,CAAN,IAAY,gBAOX;AAPD,WAAY,gBAAgB;IAC1B,uDAAI,CAAA;IACJ,+DAAQ,CAAA;IACR,2DAAM,CAAA;IACN,6DAAO,CAAA;IACP,iEAAS,CAAA;IACT,2DAAM,CAAA;AACR,CAAC,EAPW,gBAAgB,KAAhB,gBAAgB,QAO3B;AAOD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,EAAE,KAAK,EAAE,oBAAoB,EAAyB,EAAE,EAAE;IACzF,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAC;IAEvD,MAAM,cAAc,GAAG,GAAG,EAAE;QAC1B,oBAAoB,EAAE,CAAC;QACvB,UAAU,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,KAAa,CAAC;QAClB,QAAQ,KAAK,EAAE,CAAC;YACd,KAAK,gBAAgB,CAAC,SAAS,CAAC;YAChC,KAAK,gBAAgB,CAAC,MAAM;gBAC1B,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,qBAAqB,CAAC,CAAC;QAC7E,CAAC;QACD,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,gBAAgB,CAAC,QAAQ;YAC5B,OAAO,oBAAC,uBAAuB,OAAG,CAAC;QACrC,KAAK,gBAAgB,CAAC,MAAM;YAC1B,OAAO,oBAAC,qBAAqB,OAAG,CAAC;QACnC,KAAK,gBAAgB,CAAC,OAAO;YAC3B,OAAO,oBAAC,sBAAsB,OAAG,CAAC;QACpC,KAAK,gBAAgB,CAAC,SAAS;YAC7B,OAAO,oBAAC,wBAAwB,IAAC,SAAS,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,GAAI,CAAC;QAC1F,KAAK,gBAAgB,CAAC,MAAM;YAC1B,OAAO,oBAAC,qBAAqB,IAAC,SAAS,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,GAAI,CAAC;QACvF;YACE,OAAO,yCAAK,CAAC;IACjB,CAAC;AACH,CAAC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\nimport * as React from \"react\";\nimport { useEffect, useState } from \"react\";\nimport \"./ExtractionStatus.scss\";\nimport { STATUS_CHECK_INTERVAL } from \"./Constants\";\nimport { StartingExtractionState } from \"./ExtractionStates/StartingExtractionState\";\nimport { RunningExtractionState } from \"./ExtractionStates/RunningExtractionState\";\nimport { FailedExtractionState } from \"./ExtractionStates/FailedExtractionState\";\nimport { QueuedExtractionState } from \"./ExtractionStates/QueuedExtractionState\";\nimport { SucceededExtractionState } from \"./ExtractionStates/SucceededExtractionState\";\n\nexport enum ExtractionStates {\n None,\n Starting,\n Queued,\n Running,\n Succeeded,\n Failed,\n}\n\ninterface ExtractionStatusProps {\n state: ExtractionStates;\n clearExtractionState: () => void;\n}\n\nexport const ExtractionStatus = ({ state, clearExtractionState }: ExtractionStatusProps) => {\n const [fadeOut, setFadeOut] = useState<boolean>(false);\n\n const onAnimationEnd = () => {\n clearExtractionState();\n setFadeOut(false);\n };\n\n useEffect(() => {\n let timer: number;\n switch (state) {\n case ExtractionStates.Succeeded:\n case ExtractionStates.Failed:\n timer = window.setTimeout(() => setFadeOut(true), STATUS_CHECK_INTERVAL);\n }\n return () => window.clearTimeout(timer);\n }, [state]);\n\n switch (state) {\n case ExtractionStates.Starting:\n return <StartingExtractionState />;\n case ExtractionStates.Queued:\n return <QueuedExtractionState />;\n case ExtractionStates.Running:\n return <RunningExtractionState />;\n case ExtractionStates.Succeeded:\n return <SucceededExtractionState animation={fadeOut} onAnimationEnd={onAnimationEnd} />;\n case ExtractionStates.Failed:\n return <FailedExtractionState animation={fadeOut} onAnimationEnd={onAnimationEnd} />;\n default:\n return <></>;\n }\n};\n"]}
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  interface SuccessfulExtractionToastProps extends ExtractionToastProps {
3
2
  odataFeedUrl: string;
4
3
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ExtractionToast.d.ts","sourceRoot":"","sources":["../../../../src/widget/components/ExtractionToast.tsx"],"names":[],"mappings":";AAQA,UAAU,8BAA+B,SAAQ,oBAAoB;IACnE,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,UAAU,oBAAoB;IAC5B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,yBAAyB,iCAAkC,8BAA8B,gBAgBrG,CAAC;AAEF,eAAO,MAAM,qBAAqB,mBAAoB,oBAAoB,gBASzE,CAAC"}
1
+ {"version":3,"file":"ExtractionToast.d.ts","sourceRoot":"","sources":["../../../../src/widget/components/ExtractionToast.tsx"],"names":[],"mappings":"AAQA,UAAU,8BAA+B,SAAQ,oBAAoB;IACnE,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,UAAU,oBAAoB;IAC5B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,yBAAyB,iCAAkC,8BAA8B,gBAgBrG,CAAC;AAEF,eAAO,MAAM,qBAAqB,mBAAoB,oBAAoB,gBASzE,CAAC"}
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import type { TablePaginatorRendererProps } from "@itwin/itwinui-react";
3
2
  export declare const LocalizedTablePaginator: (props: TablePaginatorRendererProps) => JSX.Element;
4
3
  //# sourceMappingURL=LocalizedTablePaginator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"LocalizedTablePaginator.d.ts","sourceRoot":"","sources":["../../../../src/widget/components/LocalizedTablePaginator.tsx"],"names":[],"mappings":";AAIA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AAKxE,eAAO,MAAM,uBAAuB,UAAW,2BAA2B,gBAkBzE,CAAC"}
1
+ {"version":3,"file":"LocalizedTablePaginator.d.ts","sourceRoot":"","sources":["../../../../src/widget/components/LocalizedTablePaginator.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AAKxE,eAAO,MAAM,uBAAuB,UAAW,2BAA2B,gBAkBzE,CAAC"}
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import "./ReportAction.scss";
3
2
  import type { Report } from "@itwin/insights-client";
4
3
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"ReportAction.d.ts","sourceRoot":"","sources":["../../../../src/widget/components/ReportAction.tsx"],"names":[],"mappings":";AASA,OAAO,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAIrD;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;CAC5B;AAED;;;GAGG;AACH,eAAO,MAAM,YAAY,6CAA8C,iBAAiB,gBAuFvF,CAAC"}
1
+ {"version":3,"file":"ReportAction.d.ts","sourceRoot":"","sources":["../../../../src/widget/components/ReportAction.tsx"],"names":[],"mappings":"AASA,OAAO,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAIrD;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;CAC5B;AAED;;;GAGG;AACH,eAAO,MAAM,YAAY,6CAA8C,iBAAiB,gBAuFvF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ReportAction.js","sourceRoot":"","sources":["../../../../src/widget/components/ReportAction.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\nimport { Fieldset, LabeledInput, Text } from \"@itwin/itwinui-react\";\nimport React, { useState } from \"react\";\nimport ActionPanel from \"./ActionPanel\";\nimport useValidator, { NAME_REQUIREMENTS } from \"../hooks/useValidator\";\nimport { handleError, handleInputChange } from \"./utils\";\nimport \"./ReportAction.scss\";\nimport type { Report } from \"@itwin/insights-client\";\nimport { useReportsConfigApi } from \"../context/ReportsConfigApiContext\";\nimport { ReportsConfigWidget } from \"../../ReportsConfigWidget\";\n\n/**\n * Props for the {@link ReportAction} component.\n * @public\n */\nexport interface ReportActionProps {\n report?: Report;\n onSaveSuccess: () => void;\n onClickCancel?: () => void;\n}\n\n/**\n * Component to create or update a report.\n * @public\n */\nexport const ReportAction = ({ report, onSaveSuccess, onClickCancel }: ReportActionProps) => {\n const { iTwinId, getAccessToken, reportsClient } = useReportsConfigApi();\n const [values, setValues] = useState({\n name: report?.displayName ?? \"\",\n description: report?.description ?? \"\",\n });\n const [validator, showValidationMessage] = useValidator();\n const [isLoading, setIsLoading] = useState<boolean>(false);\n\n const onSave = async () => {\n try {\n if (!validator.allValid()) {\n showValidationMessage(true);\n return;\n }\n setIsLoading(true);\n const accessToken = await getAccessToken();\n report\n ? await reportsClient.updateReport(accessToken, report.id ?? \"\", {\n displayName: values.name,\n description: values.description,\n })\n : await reportsClient.createReport(accessToken, {\n displayName: values.name,\n description: values.description,\n projectId: iTwinId,\n });\n onSaveSuccess();\n setValues({\n name: report?.displayName ?? \"\",\n description: report?.description ?? \"\",\n });\n } catch (error: any) {\n handleError(error.status);\n setIsLoading(false);\n } finally {\n setIsLoading(false);\n }\n };\n\n return (\n <>\n <div className=\"rcw-details-form-container\">\n <Fieldset legend={ReportsConfigWidget.localization.getLocalizedString(\"ReportsConfigWidget:ReportDetails\")} className=\"rcw-details-form\">\n <Text variant=\"small\" className=\"field-legend\">\n {ReportsConfigWidget.localization.getLocalizedString(\"ReportsConfigWidget:MandatoryFields\")}\n </Text>\n <LabeledInput\n name=\"name\"\n label={ReportsConfigWidget.localization.getLocalizedString(\"ReportsConfigWidget:Name\")}\n value={values.name}\n required\n disabled={isLoading}\n onChange={(event) => {\n handleInputChange(event, values, setValues);\n validator.showMessageFor(\"name\");\n }}\n message={validator.message(\"name\", values.name, NAME_REQUIREMENTS)}\n status={validator.message(\"name\", values.name, NAME_REQUIREMENTS) ? \"negative\" : undefined}\n onBlur={() => {\n validator.showMessageFor(\"name\");\n }}\n onBlurCapture={(event) => {\n handleInputChange(event, values, setValues);\n validator.showMessageFor(\"name\");\n }}\n />\n <LabeledInput\n name=\"description\"\n label={ReportsConfigWidget.localization.getLocalizedString(\"ReportsConfigWidget:Description\")}\n value={values.description}\n onChange={(event) => {\n handleInputChange(event, values, setValues);\n }}\n disabled={isLoading}\n />\n </Fieldset>\n </div>\n <ActionPanel\n actionLabel={ReportsConfigWidget.localization.getLocalizedString(\"ReportsConfigWidget:Add\")}\n onAction={onSave}\n onCancel={onClickCancel}\n isSavingDisabled={!values.name}\n isLoading={isLoading}\n />\n </>\n );\n};\n"]}
1
+ {"version":3,"file":"ReportAction.js","sourceRoot":"","sources":["../../../../src/widget/components/ReportAction.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\nimport { Fieldset, LabeledInput, Text } from \"@itwin/itwinui-react\";\nimport React, { useState } from \"react\";\nimport ActionPanel from \"./ActionPanel\";\nimport useValidator, { NAME_REQUIREMENTS } from \"../hooks/useValidator\";\nimport { handleError, handleInputChange } from \"./utils\";\nimport \"./ReportAction.scss\";\nimport type { Report } from \"@itwin/insights-client\";\nimport { useReportsConfigApi } from \"../context/ReportsConfigApiContext\";\nimport { ReportsConfigWidget } from \"../../ReportsConfigWidget\";\n\n/**\n * Props for the {@link ReportAction} component.\n * @public\n */\nexport interface ReportActionProps {\n report?: Report;\n onSaveSuccess: () => void;\n onClickCancel?: () => void;\n}\n\n/**\n * Component to create or update a report.\n * @public\n */\nexport const ReportAction = ({ report, onSaveSuccess, onClickCancel }: ReportActionProps) => {\n const { iTwinId, getAccessToken, reportsClient } = useReportsConfigApi();\n const [values, setValues] = useState({\n name: report?.displayName ?? \"\",\n description: report?.description ?? \"\",\n });\n const [validator, showValidationMessage] = useValidator();\n const [isLoading, setIsLoading] = useState<boolean>(false);\n\n const onSave = async () => {\n try {\n if (!validator.allValid()) {\n showValidationMessage(true);\n return;\n }\n setIsLoading(true);\n const accessToken = await getAccessToken();\n report\n ? await reportsClient.updateReport(accessToken, report.id ?? \"\", {\n displayName: values.name,\n description: values.description,\n })\n : await reportsClient.createReport(accessToken, {\n displayName: values.name,\n description: values.description,\n projectId: iTwinId,\n });\n onSaveSuccess();\n setValues({\n name: report?.displayName ?? \"\",\n description: report?.description ?? \"\",\n });\n } catch (error: any) {\n handleError(error.status);\n setIsLoading(false);\n } finally {\n setIsLoading(false);\n }\n };\n\n return (\n <>\n <div className=\"rcw-details-form-container\">\n <Fieldset legend={ReportsConfigWidget.localization.getLocalizedString(\"ReportsConfigWidget:ReportDetails\")} className=\"rcw-details-form\">\n <Text variant=\"small\" className=\"field-legend\">\n {ReportsConfigWidget.localization.getLocalizedString(\"ReportsConfigWidget:MandatoryFields\")}\n </Text>\n <LabeledInput\n name=\"name\"\n label={ReportsConfigWidget.localization.getLocalizedString(\"ReportsConfigWidget:Name\")}\n value={values.name}\n required\n disabled={isLoading}\n onChange={(event) => {\n handleInputChange(event, values, setValues);\n validator.showMessageFor(\"name\");\n }}\n message={validator.message(\"name\", values.name, NAME_REQUIREMENTS)}\n status={validator.message(\"name\", values.name, NAME_REQUIREMENTS) ? \"negative\" : undefined}\n onBlur={() => {\n validator.showMessageFor(\"name\");\n }}\n onBlurCapture={(event) => {\n handleInputChange(event, values, setValues);\n validator.showMessageFor(\"name\");\n }}\n />\n <LabeledInput\n name=\"description\"\n label={ReportsConfigWidget.localization.getLocalizedString(\"ReportsConfigWidget:Description\")}\n value={values.description}\n onChange={(event) => {\n handleInputChange(event, values, setValues);\n }}\n disabled={isLoading}\n />\n </Fieldset>\n </div>\n <ActionPanel\n actionLabel={ReportsConfigWidget.localization.getLocalizedString(\"ReportsConfigWidget:Add\")}\n onAction={onSave}\n onCancel={onClickCancel}\n isSavingDisabled={!values.name}\n isLoading={isLoading}\n />\n </>\n );\n};\n"]}
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import type { BulkExtractor } from "./BulkExtractor";
3
2
  import type { BeEvent } from "@itwin/core-bentley";
4
3
  import type { Report } from "@itwin/insights-client";
@@ -1 +1 @@
1
- {"version":3,"file":"ReportHorizontalTile.d.ts","sourceRoot":"","sources":["../../../../src/widget/components/ReportHorizontalTile.tsx"],"names":[],"mappings":";AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAMrD,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,OAAO,CAAC;IAClB,iBAAiB,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,KAAK,IAAI,CAAC;IACvE,aAAa,EAAE,aAAa,CAAC;IAC7B,aAAa,EAAE,OAAO,CAAC,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC,CAAC;IACnD,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC;AAED,eAAO,MAAM,oBAAoB,UAAW,yBAAyB,gBA4FpE,CAAC"}
1
+ {"version":3,"file":"ReportHorizontalTile.d.ts","sourceRoot":"","sources":["../../../../src/widget/components/ReportHorizontalTile.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAMrD,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,OAAO,CAAC;IAClB,iBAAiB,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,KAAK,IAAI,CAAC;IACvE,aAAa,EAAE,aAAa,CAAC;IAC7B,aAAa,EAAE,OAAO,CAAC,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC,CAAC;IACnD,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC;AAED,eAAO,MAAM,oBAAoB,UAAW,yBAAyB,gBA4FpE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ReportHorizontalTile.js","sourceRoot":"","sources":["../../../../src/widget/components/ReportHorizontalTile.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\nimport React, { useEffect, useRef, useState } from \"react\";\nimport type { BulkExtractor } from \"./BulkExtractor\";\nimport { ExtractionStates, ExtractionStatus } from \"./ExtractionStatus\";\nimport type { BeEvent } from \"@itwin/core-bentley\";\nimport { STATUS_CHECK_INTERVAL } from \"./Constants\";\nimport type { Report } from \"@itwin/insights-client\";\nimport { ReportsConfigWidget } from \"../../ReportsConfigWidget\";\nimport { DropdownMenu, IconButton, MenuItem } from \"@itwin/itwinui-react\";\nimport { SvgDelete, SvgEdit, SvgMore } from \"@itwin/itwinui-icons-react\";\nimport { HorizontalTile } from \"./HorizontalTile\";\n\nexport interface ReportHorizontalTileProps {\n selected: boolean;\n onSelectionChange: (reportId: string, controlPressed: boolean) => void;\n bulkExtractor: BulkExtractor;\n jobStartEvent: BeEvent<(reportId: string) => void>;\n report: Report;\n onClickDelete: () => void;\n onClickModify?: (report: Report) => void;\n onClickTitle?: (report: Report) => void;\n}\n\nexport const ReportHorizontalTile = (props: ReportHorizontalTileProps) => {\n const [jobStarted, setJobStarted] = useState<boolean>(false);\n const [extractionState, setExtractionState] = useState<ExtractionStates>(ExtractionStates.None);\n const interval = useRef<number>();\n\n useEffect(() => {\n const listener = (startedReportId: string) => {\n if (startedReportId === props.report.id) {\n setExtractionState(ExtractionStates.Starting);\n setJobStarted(true);\n }\n };\n props.jobStartEvent.addListener(listener);\n\n return () => {\n props.jobStartEvent.removeListener(listener);\n };\n }, [props.jobStartEvent, props.report.id]);\n\n useEffect(() => {\n if (jobStarted) {\n window.clearInterval(interval.current);\n interval.current = window.setInterval(async () => {\n const state = await props.bulkExtractor.getReportState(props.report.id);\n if (state) {\n setExtractionState(state);\n if (state === ExtractionStates.Failed || state === ExtractionStates.Succeeded) {\n setJobStarted(false);\n }\n }\n }, STATUS_CHECK_INTERVAL);\n }\n return () => window.clearInterval(interval.current);\n }, [props.report.id, props.bulkExtractor, jobStarted]);\n\n const onClickTile = (e: React.MouseEvent) => {\n if (e?.currentTarget.className?.toString().split(\" \").includes(\"rcw-horizontal-tile-container\")) {\n props.onSelectionChange(props.report.id, e.ctrlKey);\n }\n };\n\n return (\n <HorizontalTile\n title={props.report.displayName}\n subText={props.report.description ?? \"\"}\n subtextToolTip={props.report.description ?? \"\"}\n titleTooltip={props.report.displayName}\n onClick={onClickTile}\n onClickTitle={() => props.onClickTitle?.(props.report)}\n selected={props.selected}\n actionGroup={\n extractionState === ExtractionStates.None ? (\n <div className=\"rcw-action-button\" data-testid=\"tile-action-button\">\n <DropdownMenu\n menuItems={(close: () => void) =>\n [\n props.onClickModify ? (\n <MenuItem key={0} onClick={() => props.onClickModify?.(props.report)} icon={<SvgEdit />}>\n {ReportsConfigWidget.localization.getLocalizedString(\"ReportsConfigWidget:Modify\")}\n </MenuItem>\n ) : (\n []\n ),\n <MenuItem\n key={1}\n onClick={() => {\n props.onClickDelete();\n close();\n }}\n icon={<SvgDelete />}\n >\n {ReportsConfigWidget.localization.getLocalizedString(\"ReportsConfigWidget:Remove\")}\n </MenuItem>,\n ].flat()\n }\n >\n <IconButton styleType=\"borderless\" title={ReportsConfigWidget.localization.getLocalizedString(\"ReportsConfigWidget:ReportOptions\")}>\n <SvgMore />\n </IconButton>\n </DropdownMenu>\n </div>\n ) : (\n <ExtractionStatus\n state={extractionState}\n clearExtractionState={() => {\n setExtractionState(ExtractionStates.None);\n }}\n ></ExtractionStatus>\n )\n }\n ></HorizontalTile>\n );\n};\n"]}
1
+ {"version":3,"file":"ReportHorizontalTile.js","sourceRoot":"","sources":["../../../../src/widget/components/ReportHorizontalTile.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\nimport React, { useEffect, useRef, useState } from \"react\";\nimport type { BulkExtractor } from \"./BulkExtractor\";\nimport { ExtractionStates, ExtractionStatus } from \"./ExtractionStatus\";\nimport type { BeEvent } from \"@itwin/core-bentley\";\nimport { STATUS_CHECK_INTERVAL } from \"./Constants\";\nimport type { Report } from \"@itwin/insights-client\";\nimport { ReportsConfigWidget } from \"../../ReportsConfigWidget\";\nimport { DropdownMenu, IconButton, MenuItem } from \"@itwin/itwinui-react\";\nimport { SvgDelete, SvgEdit, SvgMore } from \"@itwin/itwinui-icons-react\";\nimport { HorizontalTile } from \"./HorizontalTile\";\n\nexport interface ReportHorizontalTileProps {\n selected: boolean;\n onSelectionChange: (reportId: string, controlPressed: boolean) => void;\n bulkExtractor: BulkExtractor;\n jobStartEvent: BeEvent<(reportId: string) => void>;\n report: Report;\n onClickDelete: () => void;\n onClickModify?: (report: Report) => void;\n onClickTitle?: (report: Report) => void;\n}\n\nexport const ReportHorizontalTile = (props: ReportHorizontalTileProps) => {\n const [jobStarted, setJobStarted] = useState<boolean>(false);\n const [extractionState, setExtractionState] = useState<ExtractionStates>(ExtractionStates.None);\n const interval = useRef<number>();\n\n useEffect(() => {\n const listener = (startedReportId: string) => {\n if (startedReportId === props.report.id) {\n setExtractionState(ExtractionStates.Starting);\n setJobStarted(true);\n }\n };\n props.jobStartEvent.addListener(listener);\n\n return () => {\n props.jobStartEvent.removeListener(listener);\n };\n }, [props.jobStartEvent, props.report.id]);\n\n useEffect(() => {\n if (jobStarted) {\n window.clearInterval(interval.current);\n interval.current = window.setInterval(async () => {\n const state = await props.bulkExtractor.getReportState(props.report.id);\n if (state) {\n setExtractionState(state);\n if (state === ExtractionStates.Failed || state === ExtractionStates.Succeeded) {\n setJobStarted(false);\n }\n }\n }, STATUS_CHECK_INTERVAL);\n }\n return () => window.clearInterval(interval.current);\n }, [props.report.id, props.bulkExtractor, jobStarted]);\n\n const onClickTile = (e: React.MouseEvent) => {\n if (e?.currentTarget.className?.toString().split(\" \").includes(\"rcw-horizontal-tile-container\")) {\n props.onSelectionChange(props.report.id, e.ctrlKey);\n }\n };\n\n return (\n <HorizontalTile\n title={props.report.displayName}\n subText={props.report.description ?? \"\"}\n subtextToolTip={props.report.description ?? \"\"}\n titleTooltip={props.report.displayName}\n onClick={onClickTile}\n onClickTitle={() => props.onClickTitle?.(props.report)}\n selected={props.selected}\n actionGroup={\n extractionState === ExtractionStates.None ? (\n <div className=\"rcw-action-button\" data-testid=\"tile-action-button\">\n <DropdownMenu\n menuItems={(close: () => void) =>\n [\n props.onClickModify ? (\n <MenuItem key={0} onClick={() => props.onClickModify?.(props.report)} icon={<SvgEdit />}>\n {ReportsConfigWidget.localization.getLocalizedString(\"ReportsConfigWidget:Modify\")}\n </MenuItem>\n ) : (\n []\n ),\n <MenuItem\n key={1}\n onClick={() => {\n props.onClickDelete();\n close();\n }}\n icon={<SvgDelete />}\n >\n {ReportsConfigWidget.localization.getLocalizedString(\"ReportsConfigWidget:Remove\")}\n </MenuItem>,\n ].flat()\n }\n >\n <IconButton styleType=\"borderless\" title={ReportsConfigWidget.localization.getLocalizedString(\"ReportsConfigWidget:ReportOptions\")}>\n <SvgMore />\n </IconButton>\n </DropdownMenu>\n </div>\n ) : (\n <ExtractionStatus\n state={extractionState}\n clearExtractionState={() => {\n setExtractionState(ExtractionStates.None);\n }}\n ></ExtractionStatus>\n )\n }\n ></HorizontalTile>\n );\n};\n"]}
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import type { BulkExtractor } from "./BulkExtractor";
3
2
  import type { BeEvent } from "@itwin/core-bentley";
4
3
  import type { ReportMappingAndMapping } from "./ReportMappings";
@@ -1 +1 @@
1
- {"version":3,"file":"ReportMappingHorizontalTile.d.ts","sourceRoot":"","sources":["../../../../src/widget/components/ReportMappingHorizontalTile.tsx"],"names":[],"mappings":";AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAMnD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAGhE,MAAM,WAAW,gCAAgC;IAC/C,aAAa,EAAE,OAAO,CAAC,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC,CAAC;IACnD,OAAO,EAAE,uBAAuB,CAAC;IACjC,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,aAAa,EAAE,aAAa,CAAC;IAC7B,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,2BAA2B,UAAW,gCAAgC,gBA+FlF,CAAC"}
1
+ {"version":3,"file":"ReportMappingHorizontalTile.d.ts","sourceRoot":"","sources":["../../../../src/widget/components/ReportMappingHorizontalTile.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAMnD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAGhE,MAAM,WAAW,gCAAgC;IAC/C,aAAa,EAAE,OAAO,CAAC,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC,CAAC;IACnD,OAAO,EAAE,uBAAuB,CAAC;IACjC,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,aAAa,EAAE,aAAa,CAAC;IAC7B,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,2BAA2B,UAAW,gCAAgC,gBA+FlF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ReportMappingHorizontalTile.js","sourceRoot":"","sources":["../../../../src/widget/components/ReportMappingHorizontalTile.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAExE,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAExE,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAYlD,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,KAAuC,EAAE,EAAE;IACrF,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAmB,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAChG,MAAM,QAAQ,GAAG,MAAM,EAAU,CAAC;IAElC,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,QAAQ,GAAG,CAAC,eAAuB,EAAE,EAAE;YAC3C,IAAI,eAAe,KAAK,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE;gBAC9C,kBAAkB,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;aAC/C;QACH,CAAC,CAAC;QACF,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAE1C,OAAO,GAAG,EAAE;YACV,KAAK,CAAC,aAAa,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAC/C,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IAElD,MAAM,qBAAqB,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QACnD,IAAI;YACF,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,aAAa,CAAC,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;YAC7H,IAAI,KAAK,KAAK,gBAAgB,CAAC,MAAM,IAAI,KAAK,KAAK,gBAAgB,CAAC,SAAS,EAAE;gBAC7E,IAAI,eAAe,KAAK,gBAAgB,CAAC,OAAO,EAAE;oBAChD,kBAAkB,CAAC,KAAK,CAAC,CAAC;iBAC3B;aACF;iBAAM;gBACL,kBAAkB,CAAC,KAAK,CAAC,CAAC;aAC3B;SACF;QAAC,OAAO,KAAK,EAAE;YACd,kBAAkB,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;YAC5C,+BAA+B;YAC/B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SACtB;IACH,CAAC,EAAE,CAAC,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC,CAAC;IAEjH,SAAS,CAAC,GAAG,EAAE;QACb,KAAK,qBAAqB,EAAE,CAAC;IAC/B,CAAC,EAAE,CAAC,eAAe,EAAE,qBAAqB,CAAC,CAAC,CAAC;IAE7C,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,eAAe,KAAK,gBAAgB,CAAC,IAAI;YAAE,OAAO;QACtD,QAAQ,CAAC,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE;YAC/C,MAAM,qBAAqB,EAAE,CAAC;QAChC,CAAC,EAAE,qBAAqB,CAAC,CAAC;QAC1B,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACtD,CAAC,EAAE,CAAC,eAAe,EAAE,qBAAqB,CAAC,CAAC,CAAC;IAE7C,MAAM,mBAAmB,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QACjD,kBAAkB,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAC9C,MAAM,wBAAwB,GAA6B;YACzD,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ;YAChC,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;SAC5C,CAAC;QACF,MAAM,KAAK,CAAC,aAAa,CAAC,mBAAmB,CAAC,wBAAwB,CAAC,CAAC;QACxE,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACzD,CAAC,EAAE,CAAC,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhG,OAAO,CACL,oBAAC,cAAc,IACb,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,WAAW,EAChC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,UAAU,EACjC,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,kBAAkB,EAC9C,WAAW,EACT,6BAAK,SAAS,EAAC,mBAAmB,iBAAa,oBAAoB,IAChE,eAAe,KAAK,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAC3C;YACE,oBAAC,UAAU,IACT,SAAS,EAAC,YAAY,EACtB,KAAK,EAAE,mBAAmB,CAAC,YAAY,CAAC,kBAAkB,CAAC,mCAAmC,CAAC,EAC/F,OAAO,EAAE,mBAAmB;gBAE5B,oBAAC,OAAO,OAAG,CACA;YACb,oBAAC,UAAU,IACT,SAAS,EAAC,YAAY,EACtB,KAAK,EAAE,mBAAmB,CAAC,YAAY,CAAC,kBAAkB,CAAC,4BAA4B,CAAC,EACxF,OAAO,EAAE,GAAG,EAAE;oBACZ,KAAK,CAAC,aAAa,EAAE,CAAC;gBACxB,CAAC;gBAED,oBAAC,SAAS,OAAG,CACF,CACZ,CACJ,CAAC,CAAC,CAAC,CACF,oBAAC,gBAAgB,IACf,KAAK,EAAE,eAAe,EACtB,oBAAoB,EAAE,GAAG,EAAE;gBACzB,kBAAkB,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAC5C,CAAC,GACiB,CACrB,CACG,GAER,CACH,CAAC;AACJ,CAAC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\nimport React, { useCallback, useEffect, useRef, useState } from \"react\";\nimport type { BulkExtractor } from \"./BulkExtractor\";\nimport { ExtractionStates, ExtractionStatus } from \"./ExtractionStatus\";\nimport type { BeEvent } from \"@itwin/core-bentley\";\nimport { STATUS_CHECK_INTERVAL } from \"./Constants\";\nimport { ReportsConfigWidget } from \"../../ReportsConfigWidget\";\nimport { IconButton } from \"@itwin/itwinui-react\";\nimport { SvgDelete, SvgPlay } from \"@itwin/itwinui-icons-react\";\nimport { HorizontalTile } from \"./HorizontalTile\";\nimport type { ReportMappingAndMapping } from \"./ReportMappings\";\nimport type { ExtractionRequestDetails } from \"@itwin/insights-client\";\n\nexport interface ReportMappingHorizontalTileProps {\n jobStartEvent: BeEvent<(iModelId: string) => void>;\n mapping: ReportMappingAndMapping;\n onClickDelete: () => void;\n bulkExtractor: BulkExtractor;\n odataFeedUrl: string;\n}\n\nexport const ReportMappingHorizontalTile = (props: ReportMappingHorizontalTileProps) => {\n const [extractionState, setExtractionState] = useState<ExtractionStates>(ExtractionStates.None);\n const interval = useRef<number>();\n\n useEffect(() => {\n const listener = (startedIModelId: string) => {\n if (startedIModelId === props.mapping.imodelId) {\n setExtractionState(ExtractionStates.Starting);\n }\n };\n props.jobStartEvent.addListener(listener);\n\n return () => {\n props.jobStartEvent.removeListener(listener);\n };\n }, [props.jobStartEvent, props.mapping.imodelId]);\n\n const updateExtractionState = useCallback(async () => {\n try {\n const state = await props.bulkExtractor.getIModelState(props.mapping.imodelId, props.mapping.iModelName, props.odataFeedUrl);\n if (state === ExtractionStates.Failed || state === ExtractionStates.Succeeded) {\n if (extractionState === ExtractionStates.Running) {\n setExtractionState(state);\n }\n } else {\n setExtractionState(state);\n }\n } catch (error) {\n setExtractionState(ExtractionStates.Failed);\n /* eslint-disable no-console */\n console.error(error);\n }\n }, [props.bulkExtractor, props.mapping.imodelId, props.mapping.iModelName, props.odataFeedUrl, extractionState]);\n\n useEffect(() => {\n void updateExtractionState();\n }, [extractionState, updateExtractionState]);\n\n useEffect(() => {\n window.clearInterval(interval.current);\n if (extractionState === ExtractionStates.None) return;\n interval.current = window.setInterval(async () => {\n await updateExtractionState();\n }, STATUS_CHECK_INTERVAL);\n return () => window.clearInterval(interval.current);\n }, [extractionState, updateExtractionState]);\n\n const handleUpdateDataset = useCallback(async () => {\n setExtractionState(ExtractionStates.Starting);\n const extractionRequestDetails: ExtractionRequestDetails = {\n iModelId: props.mapping.imodelId,\n mappings: [{ id: props.mapping.mappingId }],\n };\n await props.bulkExtractor.runIModelExtraction(extractionRequestDetails);\n props.jobStartEvent.raiseEvent(props.mapping.imodelId);\n }, [props.bulkExtractor, props.jobStartEvent, props.mapping.imodelId, props.mapping.mappingId]);\n\n return (\n <HorizontalTile\n title={props.mapping.mappingName}\n subText={props.mapping.iModelName}\n titleTooltip={props.mapping.mappingDescription}\n actionGroup={\n <div className=\"rcw-action-button\" data-testid=\"tile-action-button\">\n {extractionState === ExtractionStates.None ? (\n <>\n <IconButton\n styleType=\"borderless\"\n title={ReportsConfigWidget.localization.getLocalizedString(\"ReportsConfigWidget:UpdateDataset\")}\n onClick={handleUpdateDataset}\n >\n <SvgPlay />\n </IconButton>\n <IconButton\n styleType=\"borderless\"\n title={ReportsConfigWidget.localization.getLocalizedString(\"ReportsConfigWidget:Remove\")}\n onClick={() => {\n props.onClickDelete();\n }}\n >\n <SvgDelete />\n </IconButton>\n </>\n ) : (\n <ExtractionStatus\n state={extractionState}\n clearExtractionState={() => {\n setExtractionState(ExtractionStates.None);\n }}\n ></ExtractionStatus>\n )}\n </div>\n }\n />\n );\n};\n"]}
1
+ {"version":3,"file":"ReportMappingHorizontalTile.js","sourceRoot":"","sources":["../../../../src/widget/components/ReportMappingHorizontalTile.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\nimport React, { useCallback, useEffect, useRef, useState } from \"react\";\nimport type { BulkExtractor } from \"./BulkExtractor\";\nimport { ExtractionStates, ExtractionStatus } from \"./ExtractionStatus\";\nimport type { BeEvent } from \"@itwin/core-bentley\";\nimport { STATUS_CHECK_INTERVAL } from \"./Constants\";\nimport { ReportsConfigWidget } from \"../../ReportsConfigWidget\";\nimport { IconButton } from \"@itwin/itwinui-react\";\nimport { SvgDelete, SvgPlay } from \"@itwin/itwinui-icons-react\";\nimport { HorizontalTile } from \"./HorizontalTile\";\nimport type { ReportMappingAndMapping } from \"./ReportMappings\";\nimport type { ExtractionRequestDetails } from \"@itwin/insights-client\";\n\nexport interface ReportMappingHorizontalTileProps {\n jobStartEvent: BeEvent<(iModelId: string) => void>;\n mapping: ReportMappingAndMapping;\n onClickDelete: () => void;\n bulkExtractor: BulkExtractor;\n odataFeedUrl: string;\n}\n\nexport const ReportMappingHorizontalTile = (props: ReportMappingHorizontalTileProps) => {\n const [extractionState, setExtractionState] = useState<ExtractionStates>(ExtractionStates.None);\n const interval = useRef<number>();\n\n useEffect(() => {\n const listener = (startedIModelId: string) => {\n if (startedIModelId === props.mapping.imodelId) {\n setExtractionState(ExtractionStates.Starting);\n }\n };\n props.jobStartEvent.addListener(listener);\n\n return () => {\n props.jobStartEvent.removeListener(listener);\n };\n }, [props.jobStartEvent, props.mapping.imodelId]);\n\n const updateExtractionState = useCallback(async () => {\n try {\n const state = await props.bulkExtractor.getIModelState(props.mapping.imodelId, props.mapping.iModelName, props.odataFeedUrl);\n if (state === ExtractionStates.Failed || state === ExtractionStates.Succeeded) {\n if (extractionState === ExtractionStates.Running) {\n setExtractionState(state);\n }\n } else {\n setExtractionState(state);\n }\n } catch (error) {\n setExtractionState(ExtractionStates.Failed);\n /* eslint-disable no-console */\n console.error(error);\n }\n }, [props.bulkExtractor, props.mapping.imodelId, props.mapping.iModelName, props.odataFeedUrl, extractionState]);\n\n useEffect(() => {\n void updateExtractionState();\n }, [extractionState, updateExtractionState]);\n\n useEffect(() => {\n window.clearInterval(interval.current);\n if (extractionState === ExtractionStates.None) return;\n interval.current = window.setInterval(async () => {\n await updateExtractionState();\n }, STATUS_CHECK_INTERVAL);\n return () => window.clearInterval(interval.current);\n }, [extractionState, updateExtractionState]);\n\n const handleUpdateDataset = useCallback(async () => {\n setExtractionState(ExtractionStates.Starting);\n const extractionRequestDetails: ExtractionRequestDetails = {\n iModelId: props.mapping.imodelId,\n mappings: [{ id: props.mapping.mappingId }],\n };\n await props.bulkExtractor.runIModelExtraction(extractionRequestDetails);\n props.jobStartEvent.raiseEvent(props.mapping.imodelId);\n }, [props.bulkExtractor, props.jobStartEvent, props.mapping.imodelId, props.mapping.mappingId]);\n\n return (\n <HorizontalTile\n title={props.mapping.mappingName}\n subText={props.mapping.iModelName}\n titleTooltip={props.mapping.mappingDescription}\n actionGroup={\n <div className=\"rcw-action-button\" data-testid=\"tile-action-button\">\n {extractionState === ExtractionStates.None ? (\n <>\n <IconButton\n styleType=\"borderless\"\n title={ReportsConfigWidget.localization.getLocalizedString(\"ReportsConfigWidget:UpdateDataset\")}\n onClick={handleUpdateDataset}\n >\n <SvgPlay />\n </IconButton>\n <IconButton\n styleType=\"borderless\"\n title={ReportsConfigWidget.localization.getLocalizedString(\"ReportsConfigWidget:Remove\")}\n onClick={() => {\n props.onClickDelete();\n }}\n >\n <SvgDelete />\n </IconButton>\n </>\n ) : (\n <ExtractionStatus\n state={extractionState}\n clearExtractionState={() => {\n setExtractionState(ExtractionStates.None);\n }}\n ></ExtractionStatus>\n )}\n </div>\n }\n />\n );\n};\n"]}
@@ -1,9 +1,8 @@
1
- /// <reference types="react" />
2
1
  import type { CreateTypeFromInterface } from "./utils";
3
2
  import "./ReportMappings.scss";
4
3
  import type { Report, ReportMapping } from "@itwin/insights-client";
5
- export declare type ReportMappingType = CreateTypeFromInterface<ReportMapping>;
6
- export declare type ReportMappingAndMapping = ReportMappingType & {
4
+ export type ReportMappingType = CreateTypeFromInterface<ReportMapping>;
5
+ export type ReportMappingAndMapping = ReportMappingType & {
7
6
  mappingName: string;
8
7
  mappingDescription: string;
9
8
  iModelName: string;