@itwin/reports-config-widget-react 0.5.0 → 0.7.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 (386) hide show
  1. package/CHANGELOG.json +76 -1
  2. package/CHANGELOG.md +27 -2
  3. package/LICENSE.md +9 -9
  4. package/README.md +38 -38
  5. package/__mocks__/fileMock.js +4 -4
  6. package/api/reports-config-widget-react.api.md +126 -0
  7. package/api/reports-config-widget-react.exports.csv +14 -0
  8. package/api/temp/reports-config-widget-react.api.md +126 -0
  9. package/coverage/clover.xml +521 -521
  10. package/coverage/coverage-final.json +32 -32
  11. package/coverage/lcov-report/index.html +31 -31
  12. package/coverage/lcov-report/src/ReportsConfigWidget.ts.html +15 -15
  13. package/coverage/lcov-report/src/index.html +1 -1
  14. package/coverage/lcov-report/src/test/index.html +11 -11
  15. package/coverage/lcov-report/src/test/test-utils.tsx.html +46 -16
  16. package/coverage/lcov-report/src/widget/ReportsConfigUiProvider.tsx.html +29 -86
  17. package/coverage/lcov-report/src/widget/components/ActionPanel.tsx.html +5 -38
  18. package/coverage/lcov-report/src/widget/components/AddMappingsModal.tsx.html +25 -121
  19. package/coverage/lcov-report/src/widget/components/BulkExtractor.ts.html +120 -96
  20. package/coverage/lcov-report/src/widget/components/Constants.ts.html +5 -5
  21. package/coverage/lcov-report/src/widget/components/DeleteModal.tsx.html +13 -103
  22. package/coverage/lcov-report/src/widget/components/ExtractionStates/FailedExtractionState.tsx.html +6 -21
  23. package/coverage/lcov-report/src/widget/components/ExtractionStates/QueuedExtractionState.tsx.html +6 -21
  24. package/coverage/lcov-report/src/widget/components/ExtractionStates/RunningExtractionState.tsx.html +7 -22
  25. package/coverage/lcov-report/src/widget/components/ExtractionStates/StartingExtractionState.tsx.html +7 -28
  26. package/coverage/lcov-report/src/widget/components/ExtractionStates/SucceededExtractionState.tsx.html +6 -21
  27. package/coverage/lcov-report/src/widget/components/ExtractionStates/index.html +1 -1
  28. package/coverage/lcov-report/src/widget/components/ExtractionStatus.tsx.html +20 -47
  29. package/coverage/lcov-report/src/widget/components/ExtractionToast.tsx.html +20 -11
  30. package/coverage/lcov-report/src/widget/components/HorizontalTile.tsx.html +16 -79
  31. package/coverage/lcov-report/src/widget/components/LocalizedTablePaginator.tsx.html +15 -108
  32. package/coverage/lcov-report/src/widget/components/ReportAction.tsx.html +36 -75
  33. package/coverage/lcov-report/src/widget/components/ReportHorizontalTile.tsx.html +62 -92
  34. package/coverage/lcov-report/src/widget/components/ReportMappingHorizontalTile.tsx.html +104 -128
  35. package/coverage/lcov-report/src/widget/components/ReportMappings.tsx.html +88 -301
  36. package/coverage/lcov-report/src/widget/components/Reports.tsx.html +42 -204
  37. package/coverage/lcov-report/src/widget/components/ReportsConfigContext.tsx.html +164 -50
  38. package/coverage/lcov-report/src/widget/components/ReportsContainer.tsx.html +15 -63
  39. package/coverage/lcov-report/src/widget/components/ReportsHeader.tsx.html +8 -47
  40. package/coverage/lcov-report/src/widget/components/ReportsRouter.tsx.html +6 -12
  41. package/coverage/lcov-report/src/widget/components/SearchBar.tsx.html +13 -25
  42. package/coverage/lcov-report/src/widget/components/SelectIModel.tsx.html +11 -56
  43. package/coverage/lcov-report/src/widget/components/index.html +50 -50
  44. package/coverage/lcov-report/src/widget/components/utils.tsx.html +25 -169
  45. package/coverage/lcov-report/src/widget/context/BulkExtractorContext.tsx.html +6 -12
  46. package/coverage/lcov-report/src/widget/context/ReportsConfigApiContext.tsx.html +10 -13
  47. package/coverage/lcov-report/src/widget/context/index.html +1 -1
  48. package/coverage/lcov-report/src/widget/hooks/index.html +1 -1
  49. package/coverage/lcov-report/src/widget/hooks/useValidator.ts.html +12 -54
  50. package/coverage/lcov-report/src/widget/index.html +13 -13
  51. package/coverage/lcov.info +941 -919
  52. package/jest.config.js +14 -17
  53. package/lib/cjs/ReportsConfigWidget.d.ts +4 -0
  54. package/lib/cjs/ReportsConfigWidget.d.ts.map +1 -1
  55. package/lib/cjs/ReportsConfigWidget.js +4 -0
  56. package/lib/cjs/ReportsConfigWidget.js.map +1 -1
  57. package/lib/cjs/reports-config-widget-react.d.ts +1 -0
  58. package/lib/cjs/reports-config-widget-react.d.ts.map +1 -1
  59. package/lib/cjs/reports-config-widget-react.js +4 -3
  60. package/lib/cjs/reports-config-widget-react.js.map +1 -1
  61. package/lib/cjs/test/AddMappingModal.test.js +11 -10
  62. package/lib/cjs/test/AddMappingModal.test.js.map +1 -1
  63. package/lib/cjs/test/BulkExtractor.test.js +68 -43
  64. package/lib/cjs/test/BulkExtractor.test.js.map +1 -1
  65. package/lib/cjs/test/DeleteModal.test.js +3 -3
  66. package/lib/cjs/test/DeleteModal.test.js.map +1 -1
  67. package/lib/cjs/test/ReportAction.test.js +6 -4
  68. package/lib/cjs/test/ReportAction.test.js.map +1 -1
  69. package/lib/cjs/test/ReportMappingHorizontalTile.test.js +64 -25
  70. package/lib/cjs/test/ReportMappingHorizontalTile.test.js.map +1 -1
  71. package/lib/cjs/test/ReportMappings.test.js +39 -18
  72. package/lib/cjs/test/ReportMappings.test.js.map +1 -1
  73. package/lib/cjs/test/Reports.test.js +3 -3
  74. package/lib/cjs/test/Reports.test.js.map +1 -1
  75. package/lib/cjs/test/WidgetHeader.test.js +3 -3
  76. package/lib/cjs/test/WidgetHeader.test.js.map +1 -1
  77. package/lib/cjs/test/test-utils.d.ts +8 -0
  78. package/lib/cjs/test/test-utils.d.ts.map +1 -1
  79. package/lib/cjs/test/test-utils.js +16 -4
  80. package/lib/cjs/test/test-utils.js.map +1 -1
  81. package/lib/cjs/tsconfig.tsbuildinfo +1 -1
  82. package/lib/cjs/widget/ReportsConfigUiProvider.d.ts +10 -4
  83. package/lib/cjs/widget/ReportsConfigUiProvider.d.ts.map +1 -1
  84. package/lib/cjs/widget/ReportsConfigUiProvider.js +11 -7
  85. package/lib/cjs/widget/ReportsConfigUiProvider.js.map +1 -1
  86. package/lib/cjs/widget/components/ActionPanel.d.ts.map +1 -1
  87. package/lib/cjs/widget/components/ActionPanel.js.map +1 -1
  88. package/lib/cjs/widget/components/AddMappingsModal.d.ts +1 -1
  89. package/lib/cjs/widget/components/AddMappingsModal.d.ts.map +1 -1
  90. package/lib/cjs/widget/components/AddMappingsModal.js +7 -7
  91. package/lib/cjs/widget/components/AddMappingsModal.js.map +1 -1
  92. package/lib/cjs/widget/components/AddMappingsModal.scss +1 -1
  93. package/lib/cjs/widget/components/BulkExtractor.d.ts +8 -5
  94. package/lib/cjs/widget/components/BulkExtractor.d.ts.map +1 -1
  95. package/lib/cjs/widget/components/BulkExtractor.js +52 -35
  96. package/lib/cjs/widget/components/BulkExtractor.js.map +1 -1
  97. package/lib/cjs/widget/components/Constants.d.ts.map +1 -1
  98. package/lib/cjs/widget/components/Constants.js +3 -3
  99. package/lib/cjs/widget/components/Constants.js.map +1 -1
  100. package/lib/cjs/widget/components/DeleteModal.d.ts +1 -1
  101. package/lib/cjs/widget/components/DeleteModal.d.ts.map +1 -1
  102. package/lib/cjs/widget/components/DeleteModal.js +5 -5
  103. package/lib/cjs/widget/components/DeleteModal.js.map +1 -1
  104. package/lib/cjs/widget/components/DeleteModal.scss +2 -2
  105. package/lib/cjs/widget/components/ExtractionStates/FailedExtractionState.d.ts.map +1 -1
  106. package/lib/cjs/widget/components/ExtractionStates/FailedExtractionState.js +3 -3
  107. package/lib/cjs/widget/components/ExtractionStates/FailedExtractionState.js.map +1 -1
  108. package/lib/cjs/widget/components/ExtractionStates/QueuedExtractionState.d.ts.map +1 -1
  109. package/lib/cjs/widget/components/ExtractionStates/QueuedExtractionState.js +3 -3
  110. package/lib/cjs/widget/components/ExtractionStates/QueuedExtractionState.js.map +1 -1
  111. package/lib/cjs/widget/components/ExtractionStates/RunningExtractionState.d.ts.map +1 -1
  112. package/lib/cjs/widget/components/ExtractionStates/RunningExtractionState.js +3 -3
  113. package/lib/cjs/widget/components/ExtractionStates/RunningExtractionState.js.map +1 -1
  114. package/lib/cjs/widget/components/ExtractionStates/StartingExtractionState.d.ts.map +1 -1
  115. package/lib/cjs/widget/components/ExtractionStates/StartingExtractionState.js +3 -3
  116. package/lib/cjs/widget/components/ExtractionStates/StartingExtractionState.js.map +1 -1
  117. package/lib/cjs/widget/components/ExtractionStates/SucceededExtractionState.d.ts.map +1 -1
  118. package/lib/cjs/widget/components/ExtractionStates/SucceededExtractionState.js +3 -3
  119. package/lib/cjs/widget/components/ExtractionStates/SucceededExtractionState.js.map +1 -1
  120. package/lib/cjs/widget/components/ExtractionStatus.d.ts +1 -1
  121. package/lib/cjs/widget/components/ExtractionStatus.d.ts.map +1 -1
  122. package/lib/cjs/widget/components/ExtractionStatus.js +9 -9
  123. package/lib/cjs/widget/components/ExtractionStatus.js.map +1 -1
  124. package/lib/cjs/widget/components/ExtractionStatus.scss +1 -1
  125. package/lib/cjs/widget/components/ExtractionToast.d.ts.map +1 -1
  126. package/lib/cjs/widget/components/ExtractionToast.js +3 -3
  127. package/lib/cjs/widget/components/ExtractionToast.js.map +1 -1
  128. package/lib/cjs/widget/components/HorizontalTile.d.ts.map +1 -1
  129. package/lib/cjs/widget/components/HorizontalTile.js +1 -2
  130. package/lib/cjs/widget/components/HorizontalTile.js.map +1 -1
  131. package/lib/cjs/widget/components/HorizontalTile.scss +1 -4
  132. package/lib/cjs/widget/components/LocalizedTablePaginator.d.ts.map +1 -1
  133. package/lib/cjs/widget/components/LocalizedTablePaginator.js +1 -1
  134. package/lib/cjs/widget/components/LocalizedTablePaginator.js.map +1 -1
  135. package/lib/cjs/widget/components/ReportAction.d.ts +8 -0
  136. package/lib/cjs/widget/components/ReportAction.d.ts.map +1 -1
  137. package/lib/cjs/widget/components/ReportAction.js +9 -7
  138. package/lib/cjs/widget/components/ReportAction.js.map +1 -1
  139. package/lib/cjs/widget/components/ReportAction.scss +1 -1
  140. package/lib/cjs/widget/components/ReportHorizontalTile.d.ts.map +1 -1
  141. package/lib/cjs/widget/components/ReportHorizontalTile.js +4 -4
  142. package/lib/cjs/widget/components/ReportHorizontalTile.js.map +1 -1
  143. package/lib/cjs/widget/components/ReportMappingHorizontalTile.d.ts.map +1 -1
  144. package/lib/cjs/widget/components/ReportMappingHorizontalTile.js +46 -45
  145. package/lib/cjs/widget/components/ReportMappingHorizontalTile.js.map +1 -1
  146. package/lib/cjs/widget/components/ReportMappings.d.ts +8 -0
  147. package/lib/cjs/widget/components/ReportMappings.d.ts.map +1 -1
  148. package/lib/cjs/widget/components/ReportMappings.js +25 -11
  149. package/lib/cjs/widget/components/ReportMappings.js.map +1 -1
  150. package/lib/cjs/widget/components/Reports.d.ts +9 -1
  151. package/lib/cjs/widget/components/Reports.d.ts.map +1 -1
  152. package/lib/cjs/widget/components/Reports.js +7 -8
  153. package/lib/cjs/widget/components/Reports.js.map +1 -1
  154. package/lib/cjs/widget/components/Reports.scss +0 -1
  155. package/lib/cjs/widget/components/ReportsConfigContext.d.ts +34 -4
  156. package/lib/cjs/widget/components/ReportsConfigContext.d.ts.map +1 -1
  157. package/lib/cjs/widget/components/ReportsConfigContext.js +27 -9
  158. package/lib/cjs/widget/components/ReportsConfigContext.js.map +1 -1
  159. package/lib/cjs/widget/components/ReportsContainer.d.ts +3 -6
  160. package/lib/cjs/widget/components/ReportsContainer.d.ts.map +1 -1
  161. package/lib/cjs/widget/components/ReportsContainer.js +7 -5
  162. package/lib/cjs/widget/components/ReportsContainer.js.map +1 -1
  163. package/lib/cjs/widget/components/ReportsContainer.scss +1 -1
  164. package/lib/cjs/widget/components/ReportsHeader.d.ts +1 -1
  165. package/lib/cjs/widget/components/ReportsHeader.d.ts.map +1 -1
  166. package/lib/cjs/widget/components/ReportsHeader.js +6 -7
  167. package/lib/cjs/widget/components/ReportsHeader.js.map +1 -1
  168. package/lib/cjs/widget/components/ReportsRouter.d.ts.map +1 -1
  169. package/lib/cjs/widget/components/ReportsRouter.js +3 -3
  170. package/lib/cjs/widget/components/ReportsRouter.js.map +1 -1
  171. package/lib/cjs/widget/components/SearchBar.d.ts +1 -1
  172. package/lib/cjs/widget/components/SearchBar.d.ts.map +1 -1
  173. package/lib/cjs/widget/components/SearchBar.js +4 -4
  174. package/lib/cjs/widget/components/SearchBar.js.map +1 -1
  175. package/lib/cjs/widget/components/SelectIModel.d.ts +1 -1
  176. package/lib/cjs/widget/components/SelectIModel.d.ts.map +1 -1
  177. package/lib/cjs/widget/components/SelectIModel.js +1 -1
  178. package/lib/cjs/widget/components/SelectIModel.js.map +1 -1
  179. package/lib/cjs/widget/components/SelectIModel.scss +1 -1
  180. package/lib/cjs/widget/components/utils.d.ts +1 -1
  181. package/lib/cjs/widget/components/utils.d.ts.map +1 -1
  182. package/lib/cjs/widget/components/utils.js +5 -5
  183. package/lib/cjs/widget/components/utils.js.map +1 -1
  184. package/lib/cjs/widget/components/utils.scss +1 -1
  185. package/lib/cjs/widget/context/BulkExtractorContext.d.ts.map +1 -1
  186. package/lib/cjs/widget/context/BulkExtractorContext.js.map +1 -1
  187. package/lib/cjs/widget/context/ReportsConfigApiContext.d.ts +3 -3
  188. package/lib/cjs/widget/context/ReportsConfigApiContext.d.ts.map +1 -1
  189. package/lib/cjs/widget/context/ReportsConfigApiContext.js.map +1 -1
  190. package/lib/cjs/widget/hooks/useValidator.d.ts +1 -4
  191. package/lib/cjs/widget/hooks/useValidator.d.ts.map +1 -1
  192. package/lib/cjs/widget/hooks/useValidator.js +3 -3
  193. package/lib/cjs/widget/hooks/useValidator.js.map +1 -1
  194. package/lib/esm/ReportsConfigWidget.d.ts +4 -0
  195. package/lib/esm/ReportsConfigWidget.d.ts.map +1 -1
  196. package/lib/esm/ReportsConfigWidget.js +4 -0
  197. package/lib/esm/ReportsConfigWidget.js.map +1 -1
  198. package/lib/esm/reports-config-widget-react.d.ts +1 -0
  199. package/lib/esm/reports-config-widget-react.d.ts.map +1 -1
  200. package/lib/esm/reports-config-widget-react.js +4 -3
  201. package/lib/esm/reports-config-widget-react.js.map +1 -1
  202. package/lib/esm/test/AddMappingModal.test.js +12 -11
  203. package/lib/esm/test/AddMappingModal.test.js.map +1 -1
  204. package/lib/esm/test/BulkExtractor.test.js +69 -44
  205. package/lib/esm/test/BulkExtractor.test.js.map +1 -1
  206. package/lib/esm/test/DeleteModal.test.js +4 -4
  207. package/lib/esm/test/DeleteModal.test.js.map +1 -1
  208. package/lib/esm/test/ReportAction.test.js +7 -5
  209. package/lib/esm/test/ReportAction.test.js.map +1 -1
  210. package/lib/esm/test/ReportMappingHorizontalTile.test.js +65 -26
  211. package/lib/esm/test/ReportMappingHorizontalTile.test.js.map +1 -1
  212. package/lib/esm/test/ReportMappings.test.js +41 -20
  213. package/lib/esm/test/ReportMappings.test.js.map +1 -1
  214. package/lib/esm/test/Reports.test.js +4 -4
  215. package/lib/esm/test/Reports.test.js.map +1 -1
  216. package/lib/esm/test/WidgetHeader.test.js +3 -3
  217. package/lib/esm/test/WidgetHeader.test.js.map +1 -1
  218. package/lib/esm/test/test-utils.d.ts +8 -0
  219. package/lib/esm/test/test-utils.d.ts.map +1 -1
  220. package/lib/esm/test/test-utils.js +15 -3
  221. package/lib/esm/test/test-utils.js.map +1 -1
  222. package/lib/esm/tsconfig.tsbuildinfo +1 -1
  223. package/lib/esm/widget/ReportsConfigUiProvider.d.ts +10 -4
  224. package/lib/esm/widget/ReportsConfigUiProvider.d.ts.map +1 -1
  225. package/lib/esm/widget/ReportsConfigUiProvider.js +12 -8
  226. package/lib/esm/widget/ReportsConfigUiProvider.js.map +1 -1
  227. package/lib/esm/widget/components/ActionPanel.d.ts.map +1 -1
  228. package/lib/esm/widget/components/ActionPanel.js.map +1 -1
  229. package/lib/esm/widget/components/AddMappingsModal.d.ts +1 -1
  230. package/lib/esm/widget/components/AddMappingsModal.d.ts.map +1 -1
  231. package/lib/esm/widget/components/AddMappingsModal.js +7 -7
  232. package/lib/esm/widget/components/AddMappingsModal.js.map +1 -1
  233. package/lib/esm/widget/components/AddMappingsModal.scss +1 -1
  234. package/lib/esm/widget/components/BulkExtractor.d.ts +8 -5
  235. package/lib/esm/widget/components/BulkExtractor.d.ts.map +1 -1
  236. package/lib/esm/widget/components/BulkExtractor.js +53 -36
  237. package/lib/esm/widget/components/BulkExtractor.js.map +1 -1
  238. package/lib/esm/widget/components/Constants.d.ts.map +1 -1
  239. package/lib/esm/widget/components/Constants.js +3 -3
  240. package/lib/esm/widget/components/Constants.js.map +1 -1
  241. package/lib/esm/widget/components/DeleteModal.d.ts +1 -1
  242. package/lib/esm/widget/components/DeleteModal.d.ts.map +1 -1
  243. package/lib/esm/widget/components/DeleteModal.js +6 -6
  244. package/lib/esm/widget/components/DeleteModal.js.map +1 -1
  245. package/lib/esm/widget/components/DeleteModal.scss +2 -2
  246. package/lib/esm/widget/components/ExtractionStates/FailedExtractionState.d.ts.map +1 -1
  247. package/lib/esm/widget/components/ExtractionStates/FailedExtractionState.js +3 -3
  248. package/lib/esm/widget/components/ExtractionStates/FailedExtractionState.js.map +1 -1
  249. package/lib/esm/widget/components/ExtractionStates/QueuedExtractionState.d.ts.map +1 -1
  250. package/lib/esm/widget/components/ExtractionStates/QueuedExtractionState.js +3 -3
  251. package/lib/esm/widget/components/ExtractionStates/QueuedExtractionState.js.map +1 -1
  252. package/lib/esm/widget/components/ExtractionStates/RunningExtractionState.d.ts.map +1 -1
  253. package/lib/esm/widget/components/ExtractionStates/RunningExtractionState.js +3 -3
  254. package/lib/esm/widget/components/ExtractionStates/RunningExtractionState.js.map +1 -1
  255. package/lib/esm/widget/components/ExtractionStates/StartingExtractionState.d.ts.map +1 -1
  256. package/lib/esm/widget/components/ExtractionStates/StartingExtractionState.js +3 -3
  257. package/lib/esm/widget/components/ExtractionStates/StartingExtractionState.js.map +1 -1
  258. package/lib/esm/widget/components/ExtractionStates/SucceededExtractionState.d.ts.map +1 -1
  259. package/lib/esm/widget/components/ExtractionStates/SucceededExtractionState.js +3 -3
  260. package/lib/esm/widget/components/ExtractionStates/SucceededExtractionState.js.map +1 -1
  261. package/lib/esm/widget/components/ExtractionStatus.d.ts +1 -1
  262. package/lib/esm/widget/components/ExtractionStatus.d.ts.map +1 -1
  263. package/lib/esm/widget/components/ExtractionStatus.js +9 -9
  264. package/lib/esm/widget/components/ExtractionStatus.js.map +1 -1
  265. package/lib/esm/widget/components/ExtractionStatus.scss +1 -1
  266. package/lib/esm/widget/components/ExtractionToast.d.ts.map +1 -1
  267. package/lib/esm/widget/components/ExtractionToast.js +3 -3
  268. package/lib/esm/widget/components/ExtractionToast.js.map +1 -1
  269. package/lib/esm/widget/components/HorizontalTile.d.ts.map +1 -1
  270. package/lib/esm/widget/components/HorizontalTile.js +1 -2
  271. package/lib/esm/widget/components/HorizontalTile.js.map +1 -1
  272. package/lib/esm/widget/components/HorizontalTile.scss +1 -4
  273. package/lib/esm/widget/components/LocalizedTablePaginator.d.ts.map +1 -1
  274. package/lib/esm/widget/components/LocalizedTablePaginator.js +1 -1
  275. package/lib/esm/widget/components/LocalizedTablePaginator.js.map +1 -1
  276. package/lib/esm/widget/components/ReportAction.d.ts +8 -0
  277. package/lib/esm/widget/components/ReportAction.d.ts.map +1 -1
  278. package/lib/esm/widget/components/ReportAction.js +10 -8
  279. package/lib/esm/widget/components/ReportAction.js.map +1 -1
  280. package/lib/esm/widget/components/ReportAction.scss +1 -1
  281. package/lib/esm/widget/components/ReportHorizontalTile.d.ts.map +1 -1
  282. package/lib/esm/widget/components/ReportHorizontalTile.js +6 -6
  283. package/lib/esm/widget/components/ReportHorizontalTile.js.map +1 -1
  284. package/lib/esm/widget/components/ReportMappingHorizontalTile.d.ts.map +1 -1
  285. package/lib/esm/widget/components/ReportMappingHorizontalTile.js +47 -46
  286. package/lib/esm/widget/components/ReportMappingHorizontalTile.js.map +1 -1
  287. package/lib/esm/widget/components/ReportMappings.d.ts +8 -0
  288. package/lib/esm/widget/components/ReportMappings.d.ts.map +1 -1
  289. package/lib/esm/widget/components/ReportMappings.js +28 -14
  290. package/lib/esm/widget/components/ReportMappings.js.map +1 -1
  291. package/lib/esm/widget/components/Reports.d.ts +9 -1
  292. package/lib/esm/widget/components/Reports.d.ts.map +1 -1
  293. package/lib/esm/widget/components/Reports.js +8 -9
  294. package/lib/esm/widget/components/Reports.js.map +1 -1
  295. package/lib/esm/widget/components/Reports.scss +0 -1
  296. package/lib/esm/widget/components/ReportsConfigContext.d.ts +34 -4
  297. package/lib/esm/widget/components/ReportsConfigContext.d.ts.map +1 -1
  298. package/lib/esm/widget/components/ReportsConfigContext.js +28 -10
  299. package/lib/esm/widget/components/ReportsConfigContext.js.map +1 -1
  300. package/lib/esm/widget/components/ReportsContainer.d.ts +3 -6
  301. package/lib/esm/widget/components/ReportsContainer.d.ts.map +1 -1
  302. package/lib/esm/widget/components/ReportsContainer.js +7 -5
  303. package/lib/esm/widget/components/ReportsContainer.js.map +1 -1
  304. package/lib/esm/widget/components/ReportsContainer.scss +1 -1
  305. package/lib/esm/widget/components/ReportsHeader.d.ts +1 -1
  306. package/lib/esm/widget/components/ReportsHeader.d.ts.map +1 -1
  307. package/lib/esm/widget/components/ReportsHeader.js +6 -7
  308. package/lib/esm/widget/components/ReportsHeader.js.map +1 -1
  309. package/lib/esm/widget/components/ReportsRouter.d.ts.map +1 -1
  310. package/lib/esm/widget/components/ReportsRouter.js +3 -3
  311. package/lib/esm/widget/components/ReportsRouter.js.map +1 -1
  312. package/lib/esm/widget/components/SearchBar.d.ts +1 -1
  313. package/lib/esm/widget/components/SearchBar.d.ts.map +1 -1
  314. package/lib/esm/widget/components/SearchBar.js +4 -4
  315. package/lib/esm/widget/components/SearchBar.js.map +1 -1
  316. package/lib/esm/widget/components/SelectIModel.d.ts +1 -1
  317. package/lib/esm/widget/components/SelectIModel.d.ts.map +1 -1
  318. package/lib/esm/widget/components/SelectIModel.js +2 -2
  319. package/lib/esm/widget/components/SelectIModel.js.map +1 -1
  320. package/lib/esm/widget/components/SelectIModel.scss +1 -1
  321. package/lib/esm/widget/components/utils.d.ts +1 -1
  322. package/lib/esm/widget/components/utils.d.ts.map +1 -1
  323. package/lib/esm/widget/components/utils.js +6 -6
  324. package/lib/esm/widget/components/utils.js.map +1 -1
  325. package/lib/esm/widget/components/utils.scss +1 -1
  326. package/lib/esm/widget/context/BulkExtractorContext.d.ts.map +1 -1
  327. package/lib/esm/widget/context/BulkExtractorContext.js.map +1 -1
  328. package/lib/esm/widget/context/ReportsConfigApiContext.d.ts +3 -3
  329. package/lib/esm/widget/context/ReportsConfigApiContext.d.ts.map +1 -1
  330. package/lib/esm/widget/context/ReportsConfigApiContext.js.map +1 -1
  331. package/lib/esm/widget/hooks/useValidator.d.ts +1 -4
  332. package/lib/esm/widget/hooks/useValidator.d.ts.map +1 -1
  333. package/lib/esm/widget/hooks/useValidator.js +3 -3
  334. package/lib/esm/widget/hooks/useValidator.js.map +1 -1
  335. package/package.json +9 -4
  336. package/src/ReportsConfigWidget.ts +9 -9
  337. package/src/reports-config-widget-react.ts +4 -3
  338. package/src/test/AddMappingModal.test.tsx +45 -70
  339. package/src/test/BulkExtractor.test.ts +73 -118
  340. package/src/test/DeleteModal.test.tsx +6 -23
  341. package/src/test/ReportAction.test.tsx +20 -38
  342. package/src/test/ReportMappingHorizontalTile.test.tsx +137 -106
  343. package/src/test/ReportMappings.test.tsx +73 -88
  344. package/src/test/Reports.test.tsx +30 -64
  345. package/src/test/WidgetHeader.test.tsx +3 -3
  346. package/src/test/test-utils.tsx +18 -8
  347. package/src/widget/ReportsConfigUiProvider.tsx +18 -37
  348. package/src/widget/components/ActionPanel.tsx +3 -14
  349. package/src/widget/components/AddMappingsModal.scss +1 -1
  350. package/src/widget/components/AddMappingsModal.tsx +21 -53
  351. package/src/widget/components/BulkExtractor.ts +67 -59
  352. package/src/widget/components/Constants.ts +4 -4
  353. package/src/widget/components/DeleteModal.scss +2 -2
  354. package/src/widget/components/DeleteModal.tsx +11 -41
  355. package/src/widget/components/ExtractionStates/FailedExtractionState.tsx +4 -9
  356. package/src/widget/components/ExtractionStates/QueuedExtractionState.tsx +4 -9
  357. package/src/widget/components/ExtractionStates/RunningExtractionState.tsx +4 -9
  358. package/src/widget/components/ExtractionStates/StartingExtractionState.tsx +4 -11
  359. package/src/widget/components/ExtractionStates/SucceededExtractionState.tsx +4 -9
  360. package/src/widget/components/ExtractionStatus.scss +1 -1
  361. package/src/widget/components/ExtractionStatus.tsx +9 -18
  362. package/src/widget/components/ExtractionToast.tsx +12 -9
  363. package/src/widget/components/HorizontalTile.scss +1 -4
  364. package/src/widget/components/HorizontalTile.tsx +12 -33
  365. package/src/widget/components/LocalizedTablePaginator.tsx +13 -44
  366. package/src/widget/components/ReportAction.scss +1 -1
  367. package/src/widget/components/ReportAction.tsx +26 -39
  368. package/src/widget/components/ReportHorizontalTile.tsx +45 -55
  369. package/src/widget/components/ReportMappingHorizontalTile.tsx +70 -78
  370. package/src/widget/components/ReportMappings.tsx +61 -132
  371. package/src/widget/components/Reports.scss +0 -1
  372. package/src/widget/components/Reports.tsx +30 -84
  373. package/src/widget/components/ReportsConfigContext.tsx +70 -32
  374. package/src/widget/components/ReportsContainer.scss +1 -1
  375. package/src/widget/components/ReportsContainer.tsx +12 -28
  376. package/src/widget/components/ReportsHeader.tsx +6 -19
  377. package/src/widget/components/ReportsRouter.tsx +4 -6
  378. package/src/widget/components/SearchBar.tsx +9 -13
  379. package/src/widget/components/SelectIModel.scss +1 -1
  380. package/src/widget/components/SelectIModel.tsx +9 -24
  381. package/src/widget/components/utils.scss +1 -1
  382. package/src/widget/components/utils.tsx +21 -69
  383. package/src/widget/context/BulkExtractorContext.tsx +4 -6
  384. package/src/widget/context/ReportsConfigApiContext.tsx +7 -8
  385. package/src/widget/hooks/useValidator.ts +10 -24
  386. package/tsconfig.json +11 -11
@@ -1,18 +1,48 @@
1
1
  import { IModelsClient } from "@itwin/imodels-client-management";
2
- import { ExtractionClient, MappingsClient, ReportsClient } from "@itwin/insights-client";
2
+ import type { IExtractionClient, IMappingsClient, IReportsClient } from "@itwin/insights-client";
3
3
  import React from "react";
4
4
  import type { GetAccessTokenFn } from "../context/ReportsConfigApiContext";
5
5
  import { BulkExtractor } from "./BulkExtractor";
6
+ /**
7
+ * Props for the {@link ReportsConfigContext} component.
8
+ * @public
9
+ */
6
10
  export interface ReportsConfigContextProps {
11
+ /**
12
+ * A callback function that returns an access token for authenticating API requests.
13
+ * If not specified, it defaults to the authorizationClient of the IModelApp.
14
+ */
7
15
  getAccessToken?: GetAccessTokenFn;
16
+ /**
17
+ * The base URL for the API requests. Defaults to https://api.bentley.com.
18
+ */
8
19
  baseUrl?: string;
9
20
  iTwinId: string;
21
+ /**
22
+ * The bulk extractor instance to use for extracting data. Internal use only.
23
+ */
10
24
  bulkExtractor?: BulkExtractor;
11
- reportsClient?: ReportsClient;
12
- mappingsClient?: MappingsClient;
13
- extractionClient?: ExtractionClient;
25
+ /**
26
+ * A custom implementation of ReportsClient. If provided, baseUrl is ignored.
27
+ */
28
+ reportsClient?: IReportsClient;
29
+ /**
30
+ * A custom implementation of MappingsClient. If provided, baseUrl is ignored.
31
+ */
32
+ mappingsClient?: IMappingsClient;
33
+ /**
34
+ * A custom implementation of ExtractionClient. If provided, baseUrl is ignored.
35
+ */
36
+ extractionClient?: IExtractionClient;
37
+ /**
38
+ * A custom implementation of IModelsClient. If provided, baseUrl is ignored.
39
+ */
14
40
  iModelsClient?: IModelsClient;
15
41
  children?: React.ReactNode;
16
42
  }
43
+ /**
44
+ * Reports Config context providers required for all components.
45
+ * @public
46
+ */
17
47
  export declare const ReportsConfigContext: (props: ReportsConfigContextProps) => JSX.Element;
18
48
  //# sourceMappingURL=ReportsConfigContext.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ReportsConfigContext.d.ts","sourceRoot":"","sources":["../../../../src/widget/components/ReportsConfigContext.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAuB,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAE9G,OAAO,KAAoD,MAAM,OAAO,CAAC;AAEzE,OAAO,KAAK,EACV,gBAAgB,EAEjB,MAAM,oCAAoC,CAAC;AAG5C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAKhD,MAAM,WAAW,yBAAyB;IACxC,cAAc,CAAC,EAAE,gBAAgB,CAAC;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAKD,eAAO,MAAM,oBAAoB,UAAW,yBAAyB,gBA0DpE,CAAC"}
1
+ {"version":3,"file":"ReportsConfigContext.d.ts","sourceRoot":"","sources":["../../../../src/widget/components/ReportsConfigContext.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAGjG,OAAO,KAAoD,MAAM,OAAO,CAAC;AAEzE,OAAO,KAAK,EAAE,gBAAgB,EAAyB,MAAM,oCAAoC,CAAC;AAGlG,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAKhD;;;GAGG;AACH,MAAM,WAAW,yBAAyB;IACxC;;;OAGG;IACH,cAAc,CAAC,EAAE,gBAAgB,CAAC;IAClC;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B;;OAEG;IACH,aAAa,CAAC,EAAE,cAAc,CAAC;IAC/B;;OAEG;IACH,cAAc,CAAC,EAAE,eAAe,CAAC;IACjC;;OAEG;IACH,gBAAgB,CAAC,EAAE,iBAAiB,CAAC;IACrC;;OAEG;IACH,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAID;;;GAGG;AACH,eAAO,MAAM,oBAAoB,UAAW,yBAAyB,gBAqEpE,CAAC"}
@@ -1,10 +1,10 @@
1
1
  /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
5
  import { IModelApp } from "@itwin/core-frontend";
6
6
  import { IModelsClient } from "@itwin/imodels-client-management";
7
- import { ExtractionClient, MappingsClient, REPORTING_BASE_PATH, ReportsClient } from "@itwin/insights-client";
7
+ import { ExtractionClient, GROUPING_AND_MAPPING_BASE_PATH, MappingsClient, REPORTING_BASE_PATH, ReportsClient } from "@itwin/insights-client";
8
8
  import { toaster } from "@itwin/itwinui-react";
9
9
  import React, { useCallback, useEffect, useMemo, useState } from "react";
10
10
  import { BulkExtractorContext } from "../context/BulkExtractorContext";
@@ -15,8 +15,13 @@ import { IMODELS_BASE_URL } from "./Constants";
15
15
  import { FailedExtractionToast, SuccessfulExtractionToast } from "./ExtractionToast";
16
16
  import { generateUrl } from "./utils";
17
17
  const authorizationClientGetAccessToken = async () => (await IModelApp.authorizationClient?.getAccessToken()) ?? "";
18
+ /**
19
+ * Reports Config context providers required for all components.
20
+ * @public
21
+ */
18
22
  export const ReportsConfigContext = (props) => {
19
23
  const reportsBaseUrl = useCallback(() => generateUrl(REPORTING_BASE_PATH, props.baseUrl || REPORTS_CONFIG_BASE_URL), [props.baseUrl]);
24
+ const groupingMappingBaseUrl = useCallback(() => generateUrl(GROUPING_AND_MAPPING_BASE_PATH, props.baseUrl || REPORTS_CONFIG_BASE_URL), [props.baseUrl]);
20
25
  const iModelClientOptions = useMemo(() => ({
21
26
  api: { baseUrl: generateUrl(IMODELS_BASE_URL, props.baseUrl ?? REPORTS_CONFIG_BASE_URL) },
22
27
  }), [props.baseUrl]);
@@ -26,31 +31,44 @@ export const ReportsConfigContext = (props) => {
26
31
  baseUrl: reportsBaseUrl(),
27
32
  iTwinId: props.iTwinId,
28
33
  reportsClient: props.reportsClient ?? new ReportsClient(reportsBaseUrl()),
29
- mappingsClient: props.mappingsClient ?? new MappingsClient(reportsBaseUrl()),
34
+ mappingsClient: props.mappingsClient ?? new MappingsClient(undefined, groupingMappingBaseUrl()),
30
35
  iModelsClient: props.iModelsClient ?? new IModelsClient(iModelClientOptions),
31
36
  });
32
37
  useEffect(() => {
33
38
  if (!props.extractionClient) {
34
- setExtractionClient(props.extractionClient ?? new ExtractionClient(reportsBaseUrl()));
39
+ setExtractionClient(props.extractionClient ?? new ExtractionClient(undefined, groupingMappingBaseUrl()));
35
40
  }
36
- }, [props.extractionClient, reportsBaseUrl]);
41
+ }, [groupingMappingBaseUrl, props.extractionClient]);
37
42
  const successfulExtractionToast = (iModelName, odataFeedUrl) => {
38
43
  toaster.positive(React.createElement(SuccessfulExtractionToast, { iModelName: iModelName, odataFeedUrl: odataFeedUrl }));
39
44
  };
40
45
  const failedExtractionToast = (iModelName) => {
41
46
  toaster.negative(React.createElement(FailedExtractionToast, { iModelName: iModelName }));
42
47
  };
43
- const bulkExtractor = useMemo(() => ({ bulkExtractor: props.bulkExtractor ?? new BulkExtractor(apiConfig.reportsClient, extractionClient, apiConfig.getAccessToken, successfulExtractionToast, failedExtractionToast) }), [apiConfig.getAccessToken, apiConfig.reportsClient, extractionClient, props.bulkExtractor]);
48
+ const bulkExtractor = useMemo(() => ({
49
+ bulkExtractor: props.bulkExtractor ??
50
+ new BulkExtractor(apiConfig.reportsClient, extractionClient, apiConfig.getAccessToken, successfulExtractionToast, failedExtractionToast),
51
+ }), [apiConfig.getAccessToken, apiConfig.reportsClient, extractionClient, props.bulkExtractor]);
44
52
  useEffect(() => {
45
53
  setApiConfig(() => ({
46
54
  getAccessToken: props.getAccessToken ?? authorizationClientGetAccessToken,
47
55
  baseUrl: props.baseUrl || REPORTS_CONFIG_BASE_URL,
48
56
  iTwinId: props.iTwinId,
49
57
  reportsClient: props.reportsClient ?? new ReportsClient(reportsBaseUrl()),
50
- mappingsClient: props.mappingsClient ?? new MappingsClient(reportsBaseUrl()),
58
+ mappingsClient: props.mappingsClient ?? new MappingsClient(undefined, groupingMappingBaseUrl()),
51
59
  iModelsClient: props.iModelsClient ?? new IModelsClient(iModelClientOptions),
52
60
  }));
53
- }, [props.getAccessToken, props.baseUrl, props.iTwinId, props.reportsClient, props.mappingsClient, props.iModelsClient, reportsBaseUrl, iModelClientOptions]);
61
+ }, [
62
+ props.getAccessToken,
63
+ props.baseUrl,
64
+ props.iTwinId,
65
+ props.reportsClient,
66
+ props.mappingsClient,
67
+ props.iModelsClient,
68
+ reportsBaseUrl,
69
+ iModelClientOptions,
70
+ groupingMappingBaseUrl,
71
+ ]);
54
72
  return (React.createElement(ReportsConfigApiContext.Provider, { value: apiConfig },
55
73
  React.createElement(BulkExtractorContext.Provider, { value: bulkExtractor }, props.children)));
56
74
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ReportsConfigContext.js","sourceRoot":"","sources":["../../../../src/widget/components/ReportsConfigContext.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 { IModelApp } from \"@itwin/core-frontend\";\nimport type { IModelsClientOptions } from \"@itwin/imodels-client-management\";\nimport { IModelsClient } from \"@itwin/imodels-client-management\";\nimport { ExtractionClient, MappingsClient, REPORTING_BASE_PATH, ReportsClient } from \"@itwin/insights-client\";\nimport { toaster } from \"@itwin/itwinui-react\";\nimport React, { useCallback, useEffect, useMemo, useState } from \"react\";\nimport { BulkExtractorContext } from \"../context/BulkExtractorContext\";\nimport type {\n GetAccessTokenFn,\n ReportsConfigApiProps,\n} from \"../context/ReportsConfigApiContext\";\nimport { ReportsConfigApiContext } from \"../context/ReportsConfigApiContext\";\nimport { REPORTS_CONFIG_BASE_URL } from \"../ReportsConfigUiProvider\";\nimport { BulkExtractor } from \"./BulkExtractor\";\nimport { IMODELS_BASE_URL } from \"./Constants\";\nimport { FailedExtractionToast, SuccessfulExtractionToast } from \"./ExtractionToast\";\nimport { generateUrl } from \"./utils\";\n\nexport interface ReportsConfigContextProps {\n getAccessToken?: GetAccessTokenFn;\n baseUrl?: string;\n iTwinId: string;\n bulkExtractor?: BulkExtractor;\n reportsClient?: ReportsClient;\n mappingsClient?: MappingsClient;\n extractionClient?: ExtractionClient;\n iModelsClient?: IModelsClient;\n children?: React.ReactNode;\n}\n\nconst authorizationClientGetAccessToken = async () =>\n (await IModelApp.authorizationClient?.getAccessToken()) ?? \"\";\n\nexport const ReportsConfigContext = (props: ReportsConfigContextProps) => {\n const reportsBaseUrl = useCallback(() => generateUrl(\n REPORTING_BASE_PATH,\n props.baseUrl || REPORTS_CONFIG_BASE_URL\n ), [props.baseUrl]);\n const iModelClientOptions: IModelsClientOptions = useMemo(() => ({\n api: { baseUrl: generateUrl(IMODELS_BASE_URL, props.baseUrl ?? REPORTS_CONFIG_BASE_URL) },\n }), [props.baseUrl]);\n const [extractionClient, setExtractionClient] = useState<ExtractionClient>(\n props.extractionClient ?? new ExtractionClient(reportsBaseUrl())\n );\n\n const [apiConfig, setApiConfig] = useState<ReportsConfigApiProps>({\n getAccessToken: props.getAccessToken ?? authorizationClientGetAccessToken,\n baseUrl: reportsBaseUrl(),\n iTwinId: props.iTwinId,\n reportsClient: props.reportsClient ?? new ReportsClient(reportsBaseUrl()),\n mappingsClient: props.mappingsClient ?? new MappingsClient(reportsBaseUrl()),\n iModelsClient: props.iModelsClient ?? new IModelsClient(iModelClientOptions),\n });\n\n useEffect(() => {\n if (!props.extractionClient) {\n setExtractionClient(props.extractionClient ?? new ExtractionClient(reportsBaseUrl()));\n }\n }, [props.extractionClient, reportsBaseUrl]);\n\n const successfulExtractionToast = (iModelName: string, odataFeedUrl: string) => {\n toaster.positive(<SuccessfulExtractionToast iModelName={iModelName} odataFeedUrl={odataFeedUrl} />);\n };\n\n const failedExtractionToast = (iModelName: string) => {\n toaster.negative(<FailedExtractionToast iModelName={iModelName} />);\n };\n\n const bulkExtractor = useMemo(\n () => ({ bulkExtractor: props.bulkExtractor ?? new BulkExtractor(apiConfig.reportsClient, extractionClient, apiConfig.getAccessToken, successfulExtractionToast, failedExtractionToast) }),\n [apiConfig.getAccessToken, apiConfig.reportsClient, extractionClient, props.bulkExtractor]\n );\n\n useEffect(() => {\n setApiConfig(() => ({\n getAccessToken: props.getAccessToken ?? authorizationClientGetAccessToken,\n baseUrl: props.baseUrl || REPORTS_CONFIG_BASE_URL,\n iTwinId: props.iTwinId,\n reportsClient: props.reportsClient ?? new ReportsClient(reportsBaseUrl()),\n mappingsClient: props.mappingsClient ?? new MappingsClient(reportsBaseUrl()),\n iModelsClient: props.iModelsClient ?? new IModelsClient(iModelClientOptions),\n }));\n }, [props.getAccessToken, props.baseUrl, props.iTwinId, props.reportsClient, props.mappingsClient, props.iModelsClient, reportsBaseUrl, iModelClientOptions]);\n\n return (\n <ReportsConfigApiContext.Provider value={apiConfig}>\n <BulkExtractorContext.Provider value={bulkExtractor}>\n {props.children}\n </BulkExtractorContext.Provider>\n </ReportsConfigApiContext.Provider>\n );\n};\n"]}
1
+ {"version":3,"file":"ReportsConfigContext.js","sourceRoot":"","sources":["../../../../src/widget/components/ReportsConfigContext.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 { IModelApp } from \"@itwin/core-frontend\";\nimport type { IModelsClientOptions } from \"@itwin/imodels-client-management\";\nimport { IModelsClient } from \"@itwin/imodels-client-management\";\nimport type { IExtractionClient, IMappingsClient, IReportsClient } from \"@itwin/insights-client\";\nimport { ExtractionClient, GROUPING_AND_MAPPING_BASE_PATH, MappingsClient, REPORTING_BASE_PATH, ReportsClient } from \"@itwin/insights-client\";\nimport { toaster } from \"@itwin/itwinui-react\";\nimport React, { useCallback, useEffect, useMemo, useState } from \"react\";\nimport { BulkExtractorContext } from \"../context/BulkExtractorContext\";\nimport type { GetAccessTokenFn, ReportsConfigApiProps } from \"../context/ReportsConfigApiContext\";\nimport { ReportsConfigApiContext } from \"../context/ReportsConfigApiContext\";\nimport { REPORTS_CONFIG_BASE_URL } from \"../ReportsConfigUiProvider\";\nimport { BulkExtractor } from \"./BulkExtractor\";\nimport { IMODELS_BASE_URL } from \"./Constants\";\nimport { FailedExtractionToast, SuccessfulExtractionToast } from \"./ExtractionToast\";\nimport { generateUrl } from \"./utils\";\n\n/**\n * Props for the {@link ReportsConfigContext} component.\n * @public\n */\nexport interface ReportsConfigContextProps {\n /**\n * A callback function that returns an access token for authenticating API requests.\n * If not specified, it defaults to the authorizationClient of the IModelApp.\n */\n getAccessToken?: GetAccessTokenFn;\n /**\n * The base URL for the API requests. Defaults to https://api.bentley.com.\n */\n baseUrl?: string;\n iTwinId: string;\n /**\n * The bulk extractor instance to use for extracting data. Internal use only.\n */\n bulkExtractor?: BulkExtractor;\n /**\n * A custom implementation of ReportsClient. If provided, baseUrl is ignored.\n */\n reportsClient?: IReportsClient;\n /**\n * A custom implementation of MappingsClient. If provided, baseUrl is ignored.\n */\n mappingsClient?: IMappingsClient;\n /**\n * A custom implementation of ExtractionClient. If provided, baseUrl is ignored.\n */\n extractionClient?: IExtractionClient;\n /**\n * A custom implementation of IModelsClient. If provided, baseUrl is ignored.\n */\n iModelsClient?: IModelsClient;\n children?: React.ReactNode;\n}\n\nconst authorizationClientGetAccessToken = async () => (await IModelApp.authorizationClient?.getAccessToken()) ?? \"\";\n\n/**\n * Reports Config context providers required for all components.\n * @public\n */\nexport const ReportsConfigContext = (props: ReportsConfigContextProps) => {\n const reportsBaseUrl = useCallback(() => generateUrl(REPORTING_BASE_PATH, props.baseUrl || REPORTS_CONFIG_BASE_URL), [props.baseUrl]);\n const groupingMappingBaseUrl = useCallback(() => generateUrl(GROUPING_AND_MAPPING_BASE_PATH, props.baseUrl || REPORTS_CONFIG_BASE_URL), [props.baseUrl]);\n const iModelClientOptions: IModelsClientOptions = useMemo(\n () => ({\n api: { baseUrl: generateUrl(IMODELS_BASE_URL, props.baseUrl ?? REPORTS_CONFIG_BASE_URL) },\n }),\n [props.baseUrl],\n );\n const [extractionClient, setExtractionClient] = useState<IExtractionClient>(props.extractionClient ?? new ExtractionClient(reportsBaseUrl()));\n\n const [apiConfig, setApiConfig] = useState<ReportsConfigApiProps>({\n getAccessToken: props.getAccessToken ?? authorizationClientGetAccessToken,\n baseUrl: reportsBaseUrl(),\n iTwinId: props.iTwinId,\n reportsClient: props.reportsClient ?? new ReportsClient(reportsBaseUrl()),\n mappingsClient: props.mappingsClient ?? new MappingsClient(undefined, groupingMappingBaseUrl()),\n iModelsClient: props.iModelsClient ?? new IModelsClient(iModelClientOptions),\n });\n\n useEffect(() => {\n if (!props.extractionClient) {\n setExtractionClient(props.extractionClient ?? new ExtractionClient(undefined, groupingMappingBaseUrl()));\n }\n }, [groupingMappingBaseUrl, props.extractionClient]);\n\n const successfulExtractionToast = (iModelName: string, odataFeedUrl: string) => {\n toaster.positive(<SuccessfulExtractionToast iModelName={iModelName} odataFeedUrl={odataFeedUrl} />);\n };\n\n const failedExtractionToast = (iModelName: string) => {\n toaster.negative(<FailedExtractionToast iModelName={iModelName} />);\n };\n\n const bulkExtractor = useMemo(\n () => ({\n bulkExtractor:\n props.bulkExtractor ??\n new BulkExtractor(apiConfig.reportsClient, extractionClient, apiConfig.getAccessToken, successfulExtractionToast, failedExtractionToast),\n }),\n [apiConfig.getAccessToken, apiConfig.reportsClient, extractionClient, props.bulkExtractor],\n );\n\n useEffect(() => {\n setApiConfig(() => ({\n getAccessToken: props.getAccessToken ?? authorizationClientGetAccessToken,\n baseUrl: props.baseUrl || REPORTS_CONFIG_BASE_URL,\n iTwinId: props.iTwinId,\n reportsClient: props.reportsClient ?? new ReportsClient(reportsBaseUrl()),\n mappingsClient: props.mappingsClient ?? new MappingsClient(undefined, groupingMappingBaseUrl()),\n iModelsClient: props.iModelsClient ?? new IModelsClient(iModelClientOptions),\n }));\n }, [\n props.getAccessToken,\n props.baseUrl,\n props.iTwinId,\n props.reportsClient,\n props.mappingsClient,\n props.iModelsClient,\n reportsBaseUrl,\n iModelClientOptions,\n groupingMappingBaseUrl,\n ]);\n\n return (\n <ReportsConfigApiContext.Provider value={apiConfig}>\n <BulkExtractorContext.Provider value={bulkExtractor}>{props.children}</BulkExtractorContext.Provider>\n </ReportsConfigApiContext.Provider>\n );\n};\n"]}
@@ -1,11 +1,8 @@
1
1
  /// <reference types="react" />
2
- import type { AccessToken } from "@itwin/core-bentley";
3
2
  import "./ReportsContainer.scss";
4
3
  import type { Report } from "@itwin/insights-client";
5
- interface ReportsContainerProps {
6
- getAccessToken?: () => Promise<AccessToken>;
7
- baseUrl: string;
8
- }
4
+ import type { ReportsConfigContextProps } from "./ReportsConfigContext";
5
+ export declare type ReportsContainerProps = Omit<ReportsConfigContextProps, "iTwinId" | "children">;
9
6
  export declare enum RouteStep {
10
7
  ReportsList = 0,
11
8
  ReportAction = 1,
@@ -19,6 +16,6 @@ export interface Route {
19
16
  title: string;
20
17
  reportsRoutingFields: ReportsRouteFields;
21
18
  }
22
- declare const ReportsContainer: ({ getAccessToken, baseUrl, }: ReportsContainerProps) => JSX.Element;
19
+ declare const ReportsContainer: (props: ReportsContainerProps) => JSX.Element;
23
20
  export default ReportsContainer;
24
21
  //# sourceMappingURL=ReportsContainer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ReportsContainer.d.ts","sourceRoot":"","sources":["../../../../src/widget/components/ReportsContainer.tsx"],"names":[],"mappings":";AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAMrD,UAAU,qBAAqB;IAC7B,cAAc,CAAC,EAAE,MAAM,OAAO,CAAC,WAAW,CAAC,CAAC;IAC5C,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,oBAAY,SAAS;IACnB,WAAW,IAAA;IACX,YAAY,IAAA;IACZ,cAAc,IAAA;CACf;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,oBAAoB,EAAE,kBAAkB,CAAC;CAC1C;AAED,QAAA,MAAM,gBAAgB,iCAGnB,qBAAqB,gBAgCvB,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"ReportsContainer.d.ts","sourceRoot":"","sources":["../../../../src/widget/components/ReportsContainer.tsx"],"names":[],"mappings":";AAKA,OAAO,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAIrD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAGxE,oBAAY,qBAAqB,GAAG,IAAI,CAAC,yBAAyB,EAAE,SAAS,GAAG,UAAU,CAAC,CAAC;AAE5F,oBAAY,SAAS;IACnB,WAAW,IAAA;IACX,YAAY,IAAA;IACZ,cAAc,IAAA;CACf;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,oBAAoB,EAAE,kBAAkB,CAAC;CAC1C;AAED,QAAA,MAAM,gBAAgB,UAAW,qBAAqB,gBAsBrD,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
@@ -1,3 +1,7 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
1
5
  import React, { useCallback, useState } from "react";
2
6
  import "./ReportsContainer.scss";
3
7
  import { useActiveIModelConnection } from "@itwin/appui-react";
@@ -10,10 +14,8 @@ export var RouteStep;
10
14
  RouteStep[RouteStep["ReportAction"] = 1] = "ReportAction";
11
15
  RouteStep[RouteStep["ReportMappings"] = 2] = "ReportMappings";
12
16
  })(RouteStep || (RouteStep = {}));
13
- const ReportsContainer = ({ getAccessToken, baseUrl, }) => {
14
- const [routingHistory, setRoutingHistory] = useState([
15
- { step: RouteStep.ReportsList, title: "iTwin Reports", reportsRoutingFields: {} },
16
- ]);
17
+ const ReportsContainer = (props) => {
18
+ const [routingHistory, setRoutingHistory] = useState([{ step: RouteStep.ReportsList, title: "iTwin Reports", reportsRoutingFields: {} }]);
17
19
  const currentRoute = routingHistory[routingHistory.length - 1];
18
20
  const iTwinId = useActiveIModelConnection()?.iTwinId ?? "";
19
21
  const navigateTo = useCallback((toRoute) => {
@@ -24,7 +26,7 @@ const ReportsContainer = ({ getAccessToken, baseUrl, }) => {
24
26
  updatedRouting.pop();
25
27
  setRoutingHistory(updatedRouting);
26
28
  }, [routingHistory]);
27
- return (React.createElement(ReportsConfigContext, { getAccessToken: getAccessToken, baseUrl: baseUrl, iTwinId: iTwinId },
29
+ return (React.createElement(ReportsConfigContext, { ...props, iTwinId: iTwinId },
28
30
  React.createElement("div", { className: "rcw-reports-container" },
29
31
  React.createElement(ReportsHeader, { goBack: goBack, currentRoute: currentRoute }),
30
32
  React.createElement(ReportsRouter, { currentRoute: currentRoute, navigateTo: navigateTo, goBack: goBack }))));
@@ -1 +1 @@
1
- {"version":3,"file":"ReportsContainer.js","sourceRoot":"","sources":["../../../../src/widget/components/ReportsContainer.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACrD,OAAO,yBAAyB,CAAC;AAEjC,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAO9D,MAAM,CAAN,IAAY,SAIX;AAJD,WAAY,SAAS;IACnB,uDAAW,CAAA;IACX,yDAAY,CAAA;IACZ,6DAAc,CAAA;AAChB,CAAC,EAJW,SAAS,KAAT,SAAS,QAIpB;AAYD,MAAM,gBAAgB,GAAG,CAAC,EACxB,cAAc,EACd,OAAO,GACe,EAAE,EAAE;IAE1B,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAU;QAC5D,EAAE,IAAI,EAAE,SAAS,CAAC,WAAW,EAAE,KAAK,EAAE,eAAe,EAAE,oBAAoB,EAAE,EAAE,EAAE;KAClF,CAAC,CAAC;IACH,MAAM,YAAY,GAAG,cAAc,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC/D,MAAM,OAAO,GAAG,yBAAyB,EAAE,EAAE,OAAO,IAAI,EAAE,CAAC;IAC3D,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,OAA2C,EAAE,EAAE;QAC7E,iBAAiB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7D,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,EAAE;QAC9B,MAAM,cAAc,GAAG,CAAC,GAAG,cAAc,CAAC,CAAC;QAC3C,cAAc,CAAC,GAAG,EAAE,CAAC;QACrB,iBAAiB,CAAC,cAAc,CAAC,CAAC;IACpC,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;IAErB,OAAO,CACL,oBAAC,oBAAoB,IAAC,cAAc,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;QACtF,6BAAK,SAAS,EAAC,uBAAuB;YACpC,oBAAC,aAAa,IACZ,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,YAAY,GAC1B;YACF,oBAAC,aAAa,IACZ,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,MAAM,GACd,CACE,CACe,CACxB,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,gBAAgB,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 type { AccessToken } from \"@itwin/core-bentley\";\nimport React, { useCallback, useState } from \"react\";\nimport \"./ReportsContainer.scss\";\nimport type { Report } from \"@itwin/insights-client\";\nimport { useActiveIModelConnection } from \"@itwin/appui-react\";\nimport { ReportsHeader } from \"./ReportsHeader\";\nimport { ReportsRouter } from \"./ReportsRouter\";\nimport { ReportsConfigContext } from \"./ReportsConfigContext\";\n\ninterface ReportsContainerProps {\n getAccessToken?: () => Promise<AccessToken>;\n baseUrl: string;\n}\n\nexport enum RouteStep {\n ReportsList,\n ReportAction,\n ReportMappings\n}\n\nexport interface ReportsRouteFields {\n report?: Report;\n}\n\nexport interface Route {\n step: RouteStep;\n title: string;\n reportsRoutingFields: ReportsRouteFields;\n}\n\nconst ReportsContainer = ({\n getAccessToken,\n baseUrl,\n}: ReportsContainerProps) => {\n\n const [routingHistory, setRoutingHistory] = useState<Route[]>([\n { step: RouteStep.ReportsList, title: \"iTwin Reports\", reportsRoutingFields: {} },\n ]);\n const currentRoute = routingHistory[routingHistory.length - 1];\n const iTwinId = useActiveIModelConnection()?.iTwinId ?? \"\";\n const navigateTo = useCallback((toRoute: (prev: Route | undefined) => Route) => {\n setRoutingHistory((r) => [...r, toRoute(r[r.length - 1])]);\n }, []);\n\n const goBack = useCallback(() => {\n const updatedRouting = [...routingHistory];\n updatedRouting.pop();\n setRoutingHistory(updatedRouting);\n }, [routingHistory]);\n\n return (\n <ReportsConfigContext getAccessToken={getAccessToken} baseUrl={baseUrl} iTwinId={iTwinId}>\n <div className=\"rcw-reports-container\">\n <ReportsHeader\n goBack={goBack}\n currentRoute={currentRoute}\n />\n <ReportsRouter\n currentRoute={currentRoute}\n navigateTo={navigateTo}\n goBack={goBack}\n />\n </div>\n </ReportsConfigContext>\n );\n};\n\nexport default ReportsContainer;\n"]}
1
+ {"version":3,"file":"ReportsContainer.js","sourceRoot":"","sources":["../../../../src/widget/components/ReportsContainer.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACrD,OAAO,yBAAyB,CAAC;AAEjC,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAI7D,MAAM,CAAN,IAAY,SAIX;AAJD,WAAY,SAAS;IACnB,uDAAW,CAAA;IACX,yDAAY,CAAA;IACZ,6DAAc,CAAA;AAChB,CAAC,EAJW,SAAS,KAAT,SAAS,QAIpB;AAYD,MAAM,gBAAgB,GAAG,CAAC,KAA4B,EAAE,EAAE;IACxD,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAU,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,WAAW,EAAE,KAAK,EAAE,eAAe,EAAE,oBAAoB,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IACnJ,MAAM,YAAY,GAAG,cAAc,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC/D,MAAM,OAAO,GAAG,yBAAyB,EAAE,EAAE,OAAO,IAAI,EAAE,CAAC;IAC3D,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,OAA2C,EAAE,EAAE;QAC7E,iBAAiB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7D,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,EAAE;QAC9B,MAAM,cAAc,GAAG,CAAC,GAAG,cAAc,CAAC,CAAC;QAC3C,cAAc,CAAC,GAAG,EAAE,CAAC;QACrB,iBAAiB,CAAC,cAAc,CAAC,CAAC;IACpC,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;IAErB,OAAO,CACL,oBAAC,oBAAoB,OAAK,KAAK,EAAE,OAAO,EAAE,OAAO;QAC/C,6BAAK,SAAS,EAAC,uBAAuB;YACpC,oBAAC,aAAa,IAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,GAAI;YAC7D,oBAAC,aAAa,IAAC,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAI,CACjF,CACe,CACxB,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,gBAAgB,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, useState } from \"react\";\nimport \"./ReportsContainer.scss\";\nimport type { Report } from \"@itwin/insights-client\";\nimport { useActiveIModelConnection } from \"@itwin/appui-react\";\nimport { ReportsHeader } from \"./ReportsHeader\";\nimport { ReportsRouter } from \"./ReportsRouter\";\nimport type { ReportsConfigContextProps } from \"./ReportsConfigContext\";\nimport { ReportsConfigContext } from \"./ReportsConfigContext\"\n\nexport type ReportsContainerProps = Omit<ReportsConfigContextProps, \"iTwinId\" | \"children\">;\n\nexport enum RouteStep {\n ReportsList,\n ReportAction,\n ReportMappings,\n}\n\nexport interface ReportsRouteFields {\n report?: Report;\n}\n\nexport interface Route {\n step: RouteStep;\n title: string;\n reportsRoutingFields: ReportsRouteFields;\n}\n\nconst ReportsContainer = (props: ReportsContainerProps) => {\n const [routingHistory, setRoutingHistory] = useState<Route[]>([{ step: RouteStep.ReportsList, title: \"iTwin Reports\", reportsRoutingFields: {} }]);\n const currentRoute = routingHistory[routingHistory.length - 1];\n const iTwinId = useActiveIModelConnection()?.iTwinId ?? \"\";\n const navigateTo = useCallback((toRoute: (prev: Route | undefined) => Route) => {\n setRoutingHistory((r) => [...r, toRoute(r[r.length - 1])]);\n }, []);\n\n const goBack = useCallback(() => {\n const updatedRouting = [...routingHistory];\n updatedRouting.pop();\n setRoutingHistory(updatedRouting);\n }, [routingHistory]);\n\n return (\n <ReportsConfigContext {...props} iTwinId={iTwinId}>\n <div className=\"rcw-reports-container\">\n <ReportsHeader goBack={goBack} currentRoute={currentRoute} />\n <ReportsRouter currentRoute={currentRoute} navigateTo={navigateTo} goBack={goBack} />\n </div>\n </ReportsConfigContext>\n );\n};\n\nexport default ReportsContainer;\n"]}
@@ -13,4 +13,4 @@
13
13
  box-sizing: border-box;
14
14
  height: 100%;
15
15
  overflow: auto;
16
- }
16
+ }
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
2
  import type { Route } from "./ReportsContainer";
3
- export declare const ReportsHeader: ({ goBack, currentRoute, }: {
3
+ export declare const ReportsHeader: ({ goBack, currentRoute }: {
4
4
  goBack: () => void;
5
5
  currentRoute: Route;
6
6
  }) => JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"ReportsHeader.d.ts","sourceRoot":"","sources":["../../../../src/widget/components/ReportsHeader.tsx"],"names":[],"mappings":";AAKA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAIhD,eAAO,MAAM,aAAa;YAIhB,MAAM,IAAI;kBACJ,KAAK;iBAYpB,CAAC"}
1
+ {"version":3,"file":"ReportsHeader.d.ts","sourceRoot":"","sources":["../../../../src/widget/components/ReportsHeader.tsx"],"names":[],"mappings":";AAKA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAIhD,eAAO,MAAM,aAAa;YAAwC,MAAM,IAAI;kBAAgB,KAAK;iBAIhG,CAAC"}
@@ -1,13 +1,12 @@
1
1
  /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
5
  import React from "react";
6
6
  import { RouteStep } from "./ReportsContainer";
7
7
  import { WidgetHeader } from "./utils";
8
- export const ReportsHeader = ({ goBack, currentRoute, }) => {
9
- const shouldDisableReturnFn = currentRoute.step === RouteStep.ReportsList ||
10
- currentRoute.step === RouteStep.ReportAction;
11
- return (React.createElement(WidgetHeader, { returnFn: shouldDisableReturnFn ? undefined : goBack, title: currentRoute.title }));
8
+ export const ReportsHeader = ({ goBack, currentRoute }) => {
9
+ const shouldDisableReturnFn = currentRoute.step === RouteStep.ReportsList || currentRoute.step === RouteStep.ReportAction;
10
+ return React.createElement(WidgetHeader, { returnFn: shouldDisableReturnFn ? undefined : goBack, title: currentRoute.title });
12
11
  };
13
12
  //# sourceMappingURL=ReportsHeader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ReportsHeader.js","sourceRoot":"","sources":["../../../../src/widget/components/ReportsHeader.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,EAC5B,MAAM,EACN,YAAY,GAIb,EAAE,EAAE;IACH,MAAM,qBAAqB,GACzB,YAAY,CAAC,IAAI,KAAK,SAAS,CAAC,WAAW;QAC3C,YAAY,CAAC,IAAI,KAAK,SAAS,CAAC,YAAY,CAAC;IAE/C,OAAO,CACL,oBAAC,YAAY,IACX,QAAQ,EAAE,qBAAqB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,EACpD,KAAK,EAAE,YAAY,CAAC,KAAK,GACzB,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 from \"react\";\nimport type { Route } from \"./ReportsContainer\";\nimport { RouteStep } from \"./ReportsContainer\";\nimport { WidgetHeader } from \"./utils\";\n\nexport const ReportsHeader = ({\n goBack,\n currentRoute,\n}: {\n goBack: () => void;\n currentRoute: Route;\n}) => {\n const shouldDisableReturnFn =\n currentRoute.step === RouteStep.ReportsList ||\n currentRoute.step === RouteStep.ReportAction;\n\n return (\n <WidgetHeader\n returnFn={shouldDisableReturnFn ? undefined : goBack}\n title={currentRoute.title}\n />\n );\n};\n"]}
1
+ {"version":3,"file":"ReportsHeader.js","sourceRoot":"","sources":["../../../../src/widget/components/ReportsHeader.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,EAAE,MAAM,EAAE,YAAY,EAA+C,EAAE,EAAE;IACrG,MAAM,qBAAqB,GAAG,YAAY,CAAC,IAAI,KAAK,SAAS,CAAC,WAAW,IAAI,YAAY,CAAC,IAAI,KAAK,SAAS,CAAC,YAAY,CAAC;IAE1H,OAAO,oBAAC,YAAY,IAAC,QAAQ,EAAE,qBAAqB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,YAAY,CAAC,KAAK,GAAI,CAAC;AAC3G,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 from \"react\";\nimport type { Route } from \"./ReportsContainer\";\nimport { RouteStep } from \"./ReportsContainer\";\nimport { WidgetHeader } from \"./utils\";\n\nexport const ReportsHeader = ({ goBack, currentRoute }: { goBack: () => void; currentRoute: Route }) => {\n const shouldDisableReturnFn = currentRoute.step === RouteStep.ReportsList || currentRoute.step === RouteStep.ReportAction;\n\n return <WidgetHeader returnFn={shouldDisableReturnFn ? undefined : goBack} title={currentRoute.title} />;\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ReportsRouter.d.ts","sourceRoot":"","sources":["../../../../src/widget/components/ReportsRouter.tsx"],"names":[],"mappings":";AAUA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAGhD,eAAO,MAAM,aAAa;kBAKV,KAAK;iCACU,KAAK,GAAG,SAAS,KAAK,KAAK,KAAK,IAAI;YACzD,MAAM,IAAI;wBA0CnB,CAAC"}
1
+ {"version":3,"file":"ReportsRouter.d.ts","sourceRoot":"","sources":["../../../../src/widget/components/ReportsRouter.tsx"],"names":[],"mappings":";AAUA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAGhD,eAAO,MAAM,aAAa;kBAKV,KAAK;iCACU,KAAK,GAAG,SAAS,KAAK,KAAK,KAAK,IAAI;YACzD,MAAM,IAAI;wBAwCnB,CAAC"}
@@ -1,7 +1,7 @@
1
1
  /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
5
  import { useActiveIModelConnection } from "@itwin/appui-react";
6
6
  import React from "react";
7
7
  import { ReportsConfigWidget } from "../../ReportsConfigWidget";
@@ -1 +1 @@
1
- {"version":3,"file":"ReportsRouter.js","sourceRoot":"","sources":["../../../../src/widget/components/ReportsRouter.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,EAC5B,YAAY,EACZ,UAAU,EACV,MAAM,GAKP,EAAE,EAAE;IACH,MAAM,EAAE,MAAM,EAAE,GAAG,YAAY,CAAC,oBAAoB,CAAC;IACrD,MAAM,QAAQ,GAAG,yBAAyB,EAAE,EAAE,QAAQ,IAAI,EAAE,CAAC;IAC7D,QAAQ,YAAY,CAAC,IAAI,EAAE;QACzB,KAAK,SAAS,CAAC,WAAW;YACxB,OAAO,CACL,oBAAC,OAAO,IACN,gBAAgB,EAAE,GAAG,EAAE,CACrB,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC;oBAChB,IAAI,EAAE,SAAS,CAAC,YAAY;oBAC5B,KAAK,EAAE,mBAAmB,CAAC,YAAY,CAAC,kBAAkB,CACxD,kCAAkC,CACnC;oBACD,oBAAoB,EAAE,EAAE;iBACzB,CAAC,CAAC,EAEL,kBAAkB,EAAE,CAAC,CAAC,EAAE,EAAE;oBACxB,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC;wBAChB,IAAI,EAAE,SAAS,CAAC,cAAc;wBAC9B,oBAAoB,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;wBACnC,KAAK,EAAE,CAAC,CAAC,WAAW;qBACrB,CAAC,CAAC,CAAC;gBACN,CAAC,EACD,mBAAmB,EAAE,CAAC,CAAC,EAAE,EAAE;oBACzB,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC;wBAChB,IAAI,EAAE,SAAS,CAAC,YAAY;wBAC5B,oBAAoB,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;wBACnC,KAAK,EAAE,CAAC,CAAC,WAAW;qBACrB,CAAC,CAAC,CAAC;gBACN,CAAC,GACD,CACH,CAAC;QAEJ,KAAK,SAAS,CAAC,YAAY;YACzB,OAAO,oBAAC,YAAY,IAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAI,CAAC;QACxF,KAAK,SAAS,CAAC,cAAc;YAC3B,IAAI,CAAC,MAAM;gBAAE,OAAO,IAAI,CAAC;YACzB,OAAO,oBAAC,cAAc,IAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,eAAe,EAAE,QAAQ,GAAI,CAAC;QAC7F;YACE,OAAO,IAAI,CAAC;KACf;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 { useActiveIModelConnection } from \"@itwin/appui-react\";\nimport React from \"react\";\nimport { ReportsConfigWidget } from \"../../ReportsConfigWidget\";\nimport { ReportAction } from \"./ReportAction\";\nimport { ReportMappings } from \"./ReportMappings\";\nimport { Reports } from \"./Reports\";\nimport type { Route } from \"./ReportsContainer\";\nimport { RouteStep } from \"./ReportsContainer\";\n\nexport const ReportsRouter = ({\n currentRoute,\n navigateTo,\n goBack,\n}: {\n currentRoute: Route;\n navigateTo: (toRoute: (prev: Route | undefined) => Route) => void;\n goBack: () => void;\n}) => {\n const { report } = currentRoute.reportsRoutingFields;\n const iModelId = useActiveIModelConnection()?.iModelId ?? \"\";\n switch (currentRoute.step) {\n case RouteStep.ReportsList:\n return (\n <Reports\n onClickAddReport={() =>\n navigateTo(() => ({\n step: RouteStep.ReportAction,\n title: ReportsConfigWidget.localization.getLocalizedString(\n \"ReportsConfigWidget:ITwinReports\"\n ),\n reportsRoutingFields: {},\n }))\n }\n onClickReportTitle={(r) => {\n navigateTo(() => ({\n step: RouteStep.ReportMappings,\n reportsRoutingFields: { report: r },\n title: r.displayName,\n }));\n }}\n onClickReportModify={(r) => {\n navigateTo(() => ({\n step: RouteStep.ReportAction,\n reportsRoutingFields: { report: r },\n title: r.displayName,\n }));\n }}\n />\n );\n\n case RouteStep.ReportAction:\n return <ReportAction report={report} onClickCancel={goBack} onSaveSuccess={goBack} />;\n case RouteStep.ReportMappings:\n if (!report) return null;\n return <ReportMappings report={report} onClickClose={goBack} defaultIModelId={iModelId} />;\n default:\n return null;\n }\n};\n"]}
1
+ {"version":3,"file":"ReportsRouter.js","sourceRoot":"","sources":["../../../../src/widget/components/ReportsRouter.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,EAC5B,YAAY,EACZ,UAAU,EACV,MAAM,GAKP,EAAE,EAAE;IACH,MAAM,EAAE,MAAM,EAAE,GAAG,YAAY,CAAC,oBAAoB,CAAC;IACrD,MAAM,QAAQ,GAAG,yBAAyB,EAAE,EAAE,QAAQ,IAAI,EAAE,CAAC;IAC7D,QAAQ,YAAY,CAAC,IAAI,EAAE;QACzB,KAAK,SAAS,CAAC,WAAW;YACxB,OAAO,CACL,oBAAC,OAAO,IACN,gBAAgB,EAAE,GAAG,EAAE,CACrB,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC;oBAChB,IAAI,EAAE,SAAS,CAAC,YAAY;oBAC5B,KAAK,EAAE,mBAAmB,CAAC,YAAY,CAAC,kBAAkB,CAAC,kCAAkC,CAAC;oBAC9F,oBAAoB,EAAE,EAAE;iBACzB,CAAC,CAAC,EAEL,kBAAkB,EAAE,CAAC,CAAC,EAAE,EAAE;oBACxB,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC;wBAChB,IAAI,EAAE,SAAS,CAAC,cAAc;wBAC9B,oBAAoB,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;wBACnC,KAAK,EAAE,CAAC,CAAC,WAAW;qBACrB,CAAC,CAAC,CAAC;gBACN,CAAC,EACD,mBAAmB,EAAE,CAAC,CAAC,EAAE,EAAE;oBACzB,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC;wBAChB,IAAI,EAAE,SAAS,CAAC,YAAY;wBAC5B,oBAAoB,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;wBACnC,KAAK,EAAE,CAAC,CAAC,WAAW;qBACrB,CAAC,CAAC,CAAC;gBACN,CAAC,GACD,CACH,CAAC;QAEJ,KAAK,SAAS,CAAC,YAAY;YACzB,OAAO,oBAAC,YAAY,IAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAI,CAAC;QACxF,KAAK,SAAS,CAAC,cAAc;YAC3B,IAAI,CAAC,MAAM;gBAAE,OAAO,IAAI,CAAC;YACzB,OAAO,oBAAC,cAAc,IAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,eAAe,EAAE,QAAQ,GAAI,CAAC;QAC7F;YACE,OAAO,IAAI,CAAC;KACf;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 { useActiveIModelConnection } from \"@itwin/appui-react\";\nimport React from \"react\";\nimport { ReportsConfigWidget } from \"../../ReportsConfigWidget\";\nimport { ReportAction } from \"./ReportAction\";\nimport { ReportMappings } from \"./ReportMappings\";\nimport { Reports } from \"./Reports\";\nimport type { Route } from \"./ReportsContainer\";\nimport { RouteStep } from \"./ReportsContainer\";\n\nexport const ReportsRouter = ({\n currentRoute,\n navigateTo,\n goBack,\n}: {\n currentRoute: Route;\n navigateTo: (toRoute: (prev: Route | undefined) => Route) => void;\n goBack: () => void;\n}) => {\n const { report } = currentRoute.reportsRoutingFields;\n const iModelId = useActiveIModelConnection()?.iModelId ?? \"\";\n switch (currentRoute.step) {\n case RouteStep.ReportsList:\n return (\n <Reports\n onClickAddReport={() =>\n navigateTo(() => ({\n step: RouteStep.ReportAction,\n title: ReportsConfigWidget.localization.getLocalizedString(\"ReportsConfigWidget:ITwinReports\"),\n reportsRoutingFields: {},\n }))\n }\n onClickReportTitle={(r) => {\n navigateTo(() => ({\n step: RouteStep.ReportMappings,\n reportsRoutingFields: { report: r },\n title: r.displayName,\n }));\n }}\n onClickReportModify={(r) => {\n navigateTo(() => ({\n step: RouteStep.ReportAction,\n reportsRoutingFields: { report: r },\n title: r.displayName,\n }));\n }}\n />\n );\n\n case RouteStep.ReportAction:\n return <ReportAction report={report} onClickCancel={goBack} onSaveSuccess={goBack} />;\n case RouteStep.ReportMappings:\n if (!report) return null;\n return <ReportMappings report={report} onClickClose={goBack} defaultIModelId={iModelId} />;\n default:\n return null;\n }\n};\n"]}
@@ -5,6 +5,6 @@ interface SearchBarProps {
5
5
  setSearchValue: React.Dispatch<React.SetStateAction<string>>;
6
6
  disabled?: boolean;
7
7
  }
8
- export declare const SearchBar: ({ searchValue, setSearchValue, disabled, }: SearchBarProps) => JSX.Element;
8
+ export declare const SearchBar: ({ searchValue, setSearchValue, disabled }: SearchBarProps) => JSX.Element;
9
9
  export {};
10
10
  //# sourceMappingURL=SearchBar.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SearchBar.d.ts","sourceRoot":"","sources":["../../../../src/widget/components/SearchBar.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAExC,OAAO,kBAAkB,CAAC;AAE1B,UAAU,cAAc;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7D,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,eAAO,MAAM,SAAS,+CAInB,cAAc,gBA8ChB,CAAC"}
1
+ {"version":3,"file":"SearchBar.d.ts","sourceRoot":"","sources":["../../../../src/widget/components/SearchBar.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAExC,OAAO,kBAAkB,CAAC;AAE1B,UAAU,cAAc;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7D,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,eAAO,MAAM,SAAS,8CAA+C,cAAc,gBA8ClF,CAAC"}
@@ -1,13 +1,13 @@
1
1
  /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
5
  import { SvgCloseSmall, SvgSearch } from "@itwin/itwinui-icons-react";
6
6
  import { IconButton, LabeledInput } from "@itwin/itwinui-react";
7
7
  import React, { useState } from "react";
8
8
  import { ReportsConfigWidget } from "../../ReportsConfigWidget";
9
9
  import "./SearchBar.scss";
10
- export const SearchBar = ({ searchValue, setSearchValue, disabled, }) => {
10
+ export const SearchBar = ({ searchValue, setSearchValue, disabled }) => {
11
11
  const [searchBarOpen, setSearchBarOpened] = useState(false);
12
12
  const [searchBarClosing, setSearchBarClosing] = useState(false);
13
13
  return searchBarOpen || searchValue ? (React.createElement("div", { className: "rcw-search-button", style: {
@@ -1 +1 @@
1
- {"version":3,"file":"SearchBar.js","sourceRoot":"","sources":["../../../../src/widget/components/SearchBar.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,kBAAkB,CAAC;AAQ1B,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,EACxB,WAAW,EACX,cAAc,EACd,QAAQ,GACO,EAAE,EAAE;IACnB,MAAM,CAAC,aAAa,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAC;IACrE,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAC;IAEzE,OAAO,aAAa,IAAI,WAAW,CAAC,CAAC,CAAC,CACpC,6BAAK,SAAS,EAAC,mBAAmB,EAChC,KAAK,EAAE;YACL,SAAS,EAAE,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,gBAAgB;SAClE,EACD,cAAc,EAAE,GAAG,EAAE;YACnB,IAAI,gBAAgB,EAAE;gBACpB,mBAAmB,CAAC,KAAK,CAAC,CAAC;gBAC3B,kBAAkB,CAAC,KAAK,CAAC,CAAC;gBAC1B,cAAc,CAAC,EAAE,CAAC,CAAC;aACpB;QACH,CAAC;QAED,oBAAC,YAAY,kBACA,gBAAgB,EAC3B,WAAW,EAAE,mBAAmB,CAAC,YAAY,CAAC,kBAAkB,CAC9D,4BAA4B,CAC7B,EACD,OAAO,EACL,oBAAC,UAAU,IACT,OAAO,EAAE,GAAG,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,EACxC,SAAS,EAAC,YAAY,EACtB,KAAK,EAAE,mBAAmB,CAAC,YAAY,CAAC,kBAAkB,CAAC,iCAAiC,CAAC;gBAE7F,oBAAC,aAAa,OAAG,CACN,EAEf,gBAAgB,EAAC,QAAQ,EACzB,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAC/C,QAAQ,EAAE,QAAQ,GAClB,CACE,CACP,CAAC,CAAC,CAAC,CACF,oBAAC,UAAU,IACT,SAAS,EAAC,YAAY,iBACV,mBAAmB,EAC/B,KAAK,EAAE,mBAAmB,CAAC,YAAY,CAAC,kBAAkB,CAAC,kCAAkC,CAAC,EAC9F,OAAO,EAAE,GAAG,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC;QACvC,oBAAC,SAAS,OAAG,CACF,CACd,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 { SvgCloseSmall, SvgSearch } from \"@itwin/itwinui-icons-react\";\nimport { IconButton, LabeledInput } from \"@itwin/itwinui-react\";\nimport React, { useState } from \"react\";\nimport { ReportsConfigWidget } from \"../../ReportsConfigWidget\";\nimport \"./SearchBar.scss\";\n\ninterface SearchBarProps {\n searchValue: string;\n setSearchValue: React.Dispatch<React.SetStateAction<string>>;\n disabled?: boolean;\n}\n\nexport const SearchBar = ({\n searchValue,\n setSearchValue,\n disabled,\n}: SearchBarProps) => {\n const [searchBarOpen, setSearchBarOpened] = useState<boolean>(false);\n const [searchBarClosing, setSearchBarClosing] = useState<boolean>(false);\n\n return searchBarOpen || searchValue ? (\n <div className=\"rcw-search-button\"\n style={{\n animation: searchBarClosing ? \"rcw-shrink .5s\" : \"rcw-expand .5s\",\n }}\n onAnimationEnd={() => {\n if (searchBarClosing) {\n setSearchBarClosing(false);\n setSearchBarOpened(false);\n setSearchValue(\"\");\n }\n }}\n >\n <LabeledInput\n aria-label=\"search-textbox\"\n placeholder={ReportsConfigWidget.localization.getLocalizedString(\n \"ReportsConfigWidget:Search\"\n )}\n svgIcon={\n <IconButton\n onClick={() => setSearchBarClosing(true)}\n styleType=\"borderless\"\n title={ReportsConfigWidget.localization.getLocalizedString(\"ReportsConfigWidget:ClearSearch\")}\n >\n <SvgCloseSmall />\n </IconButton>\n }\n iconDisplayStyle=\"inline\"\n value={searchValue}\n onChange={(e) => setSearchValue(e.target.value)}\n disabled={disabled}\n />\n </div>\n ) : (\n <IconButton\n styleType=\"borderless\"\n data-testid=\"rcw-search-button\"\n title={ReportsConfigWidget.localization.getLocalizedString(\"ReportsConfigWidget:SearchReport\")}\n onClick={() => setSearchBarOpened(true)}>\n <SvgSearch />\n </IconButton>\n );\n};\n"]}
1
+ {"version":3,"file":"SearchBar.js","sourceRoot":"","sources":["../../../../src/widget/components/SearchBar.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,kBAAkB,CAAC;AAQ1B,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,EAAE,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAkB,EAAE,EAAE;IACrF,MAAM,CAAC,aAAa,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAC;IACrE,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAC;IAEzE,OAAO,aAAa,IAAI,WAAW,CAAC,CAAC,CAAC,CACpC,6BACE,SAAS,EAAC,mBAAmB,EAC7B,KAAK,EAAE;YACL,SAAS,EAAE,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,gBAAgB;SAClE,EACD,cAAc,EAAE,GAAG,EAAE;YACnB,IAAI,gBAAgB,EAAE;gBACpB,mBAAmB,CAAC,KAAK,CAAC,CAAC;gBAC3B,kBAAkB,CAAC,KAAK,CAAC,CAAC;gBAC1B,cAAc,CAAC,EAAE,CAAC,CAAC;aACpB;QACH,CAAC;QAED,oBAAC,YAAY,kBACA,gBAAgB,EAC3B,WAAW,EAAE,mBAAmB,CAAC,YAAY,CAAC,kBAAkB,CAAC,4BAA4B,CAAC,EAC9F,OAAO,EACL,oBAAC,UAAU,IACT,OAAO,EAAE,GAAG,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,EACxC,SAAS,EAAC,YAAY,EACtB,KAAK,EAAE,mBAAmB,CAAC,YAAY,CAAC,kBAAkB,CAAC,iCAAiC,CAAC;gBAE7F,oBAAC,aAAa,OAAG,CACN,EAEf,gBAAgB,EAAC,QAAQ,EACzB,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAC/C,QAAQ,EAAE,QAAQ,GAClB,CACE,CACP,CAAC,CAAC,CAAC,CACF,oBAAC,UAAU,IACT,SAAS,EAAC,YAAY,iBACV,mBAAmB,EAC/B,KAAK,EAAE,mBAAmB,CAAC,YAAY,CAAC,kBAAkB,CAAC,kCAAkC,CAAC,EAC9F,OAAO,EAAE,GAAG,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC;QAEvC,oBAAC,SAAS,OAAG,CACF,CACd,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 { SvgCloseSmall, SvgSearch } from \"@itwin/itwinui-icons-react\";\nimport { IconButton, LabeledInput } from \"@itwin/itwinui-react\";\nimport React, { useState } from \"react\";\nimport { ReportsConfigWidget } from \"../../ReportsConfigWidget\";\nimport \"./SearchBar.scss\";\n\ninterface SearchBarProps {\n searchValue: string;\n setSearchValue: React.Dispatch<React.SetStateAction<string>>;\n disabled?: boolean;\n}\n\nexport const SearchBar = ({ searchValue, setSearchValue, disabled }: SearchBarProps) => {\n const [searchBarOpen, setSearchBarOpened] = useState<boolean>(false);\n const [searchBarClosing, setSearchBarClosing] = useState<boolean>(false);\n\n return searchBarOpen || searchValue ? (\n <div\n className=\"rcw-search-button\"\n style={{\n animation: searchBarClosing ? \"rcw-shrink .5s\" : \"rcw-expand .5s\",\n }}\n onAnimationEnd={() => {\n if (searchBarClosing) {\n setSearchBarClosing(false);\n setSearchBarOpened(false);\n setSearchValue(\"\");\n }\n }}\n >\n <LabeledInput\n aria-label=\"search-textbox\"\n placeholder={ReportsConfigWidget.localization.getLocalizedString(\"ReportsConfigWidget:Search\")}\n svgIcon={\n <IconButton\n onClick={() => setSearchBarClosing(true)}\n styleType=\"borderless\"\n title={ReportsConfigWidget.localization.getLocalizedString(\"ReportsConfigWidget:ClearSearch\")}\n >\n <SvgCloseSmall />\n </IconButton>\n }\n iconDisplayStyle=\"inline\"\n value={searchValue}\n onChange={(e) => setSearchValue(e.target.value)}\n disabled={disabled}\n />\n </div>\n ) : (\n <IconButton\n styleType=\"borderless\"\n data-testid=\"rcw-search-button\"\n title={ReportsConfigWidget.localization.getLocalizedString(\"ReportsConfigWidget:SearchReport\")}\n onClick={() => setSearchBarOpened(true)}\n >\n <SvgSearch />\n </IconButton>\n );\n};\n"]}
@@ -4,6 +4,6 @@ interface SelectedIModelProps {
4
4
  selectedIModelId?: string;
5
5
  setSelectedIModelId: (iModelId: string) => void;
6
6
  }
7
- export declare const SelectIModel: ({ selectedIModelId, setSelectedIModelId, }: SelectedIModelProps) => JSX.Element;
7
+ export declare const SelectIModel: ({ selectedIModelId, setSelectedIModelId }: SelectedIModelProps) => JSX.Element;
8
8
  export {};
9
9
  //# sourceMappingURL=SelectIModel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SelectIModel.d.ts","sourceRoot":"","sources":["../../../../src/widget/components/SelectIModel.tsx"],"names":[],"mappings":";AAkBA,OAAO,qBAAqB,CAAC;AAoB7B,UAAU,mBAAmB;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mBAAmB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;CACjD;AAED,eAAO,MAAM,YAAY,+CAGtB,mBAAmB,gBAqCrB,CAAC"}
1
+ {"version":3,"file":"SelectIModel.d.ts","sourceRoot":"","sources":["../../../../src/widget/components/SelectIModel.tsx"],"names":[],"mappings":";AAYA,OAAO,qBAAqB,CAAC;AAkB7B,UAAU,mBAAmB;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mBAAmB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;CACjD;AAED,eAAO,MAAM,YAAY,8CAA+C,mBAAmB,gBAiC1F,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { AccessTokenAdapter } from "@itwin/imodels-access-frontend";
2
- import { toArray, } from "@itwin/imodels-client-management";
2
+ import { toArray } from "@itwin/imodels-client-management";
3
3
  import { ComboBox, Label } from "@itwin/itwinui-react";
4
4
  import React, { useEffect, useMemo, useState } from "react";
5
5
  import { ReportsConfigWidget } from "../../ReportsConfigWidget";
@@ -15,7 +15,7 @@ const fetchIModels = async (setiModels, iTwinId, iModelsClient, getAccessToken)
15
15
  const iModels = await toArray(iModelsClient.iModels.getMinimalList(getiModelListParams));
16
16
  setiModels(iModels);
17
17
  };
18
- export const SelectIModel = ({ selectedIModelId, setSelectedIModelId, }) => {
18
+ export const SelectIModel = ({ selectedIModelId, setSelectedIModelId }) => {
19
19
  const { iTwinId, getAccessToken, iModelsClient } = useReportsConfigApi();
20
20
  const [iModels, setIModels] = useState([]);
21
21
  useEffect(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"SelectIModel.js","sourceRoot":"","sources":["../../../../src/widget/components/SelectIModel.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAMpE,OAAO,EACL,OAAO,GACR,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,qBAAqB,CAAC;AAE7B,MAAM,YAAY,GAAG,KAAK,EACxB,UAAiE,EACjE,OAAe,EACf,aAA4B,EAC5B,cAA0C,EAC1C,EAAE;IACF,MAAM,WAAW,GAAG,MAAM,cAAc,EAAE,CAAC;IAC3C,MAAM,aAAa,GAAG,kBAAkB,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC;IAC9E,MAAM,mBAAmB,GAAwB;QAC/C,SAAS,EAAE,EAAE,OAAO,EAAE;QACtB,aAAa;KACd,CAAC;IACF,MAAM,OAAO,GAAG,MAAM,OAAO,CAC3B,aAAa,CAAC,OAAO,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAC1D,CAAC;IACF,UAAU,CAAC,OAAO,CAAC,CAAC;AACtB,CAAC,CAAC;AAOF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,EAC3B,gBAAgB,EAChB,mBAAmB,GACC,EAAE,EAAE;IACxB,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,GAAG,mBAAmB,EAAE,CAAC;IACzE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAkB,EAAE,CAAC,CAAC;IAE5D,SAAS,CAAC,GAAG,EAAE;QACb,KAAK,YAAY,CAAC,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC;IACxE,CAAC,EAAE,CAAC,cAAc,EAAE,aAAa,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;IAEzD,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,EAAE;QACjC,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAC9B,KAAK,EAAE,MAAM,CAAC,WAAW;YACzB,KAAK,EAAE,MAAM,CAAC,EAAE;SACjB,CAAC,CAAC,CAAC;IACN,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,OAAO,CACL,6BAAK,SAAS,EAAC,mBAAmB;QAChC,oBAAC,KAAK,IAAC,OAAO,EAAC,aAAa,IACzB,mBAAmB,CAAC,YAAY,CAAC,kBAAkB,CAClD,kCAAkC,CACnC,CACK;QACR,6BAAK,SAAS,EAAC,cAAc;YAC3B,oBAAC,QAAQ,IACP,OAAO,EAAE,aAAa,EACtB,KAAK,EAAE,gBAAgB,EACvB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;oBAClB,mBAAmB,CAAC,KAAK,CAAC,CAAC;gBAC7B,CAAC,EACD,UAAU,EAAE;oBACV,EAAE,EAAE,aAAa;iBAClB,EACD,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,GACzC,CACE,CACF,CACP,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 type { AccessToken } from \"@itwin/core-bentley\";\nimport { AccessTokenAdapter } from \"@itwin/imodels-access-frontend\";\nimport type {\n GetIModelListParams,\n IModelsClient,\n MinimalIModel,\n} from \"@itwin/imodels-client-management\";\nimport {\n toArray,\n} from \"@itwin/imodels-client-management\";\nimport { ComboBox, Label } from \"@itwin/itwinui-react\";\nimport React, { useEffect, useMemo, useState } from \"react\";\nimport { ReportsConfigWidget } from \"../../ReportsConfigWidget\";\nimport { useReportsConfigApi } from \"../context/ReportsConfigApiContext\";\nimport \"./SelectIModel.scss\";\n\nconst fetchIModels = async (\n setiModels: React.Dispatch<React.SetStateAction<MinimalIModel[]>>,\n iTwinId: string,\n iModelsClient: IModelsClient,\n getAccessToken: () => Promise<AccessToken>\n) => {\n const accessToken = await getAccessToken();\n const authorization = AccessTokenAdapter.toAuthorizationCallback(accessToken);\n const getiModelListParams: GetIModelListParams = {\n urlParams: { iTwinId },\n authorization,\n };\n const iModels = await toArray(\n iModelsClient.iModels.getMinimalList(getiModelListParams)\n );\n setiModels(iModels);\n};\n\ninterface SelectedIModelProps {\n selectedIModelId?: string;\n setSelectedIModelId: (iModelId: string) => void;\n}\n\nexport const SelectIModel = ({\n selectedIModelId,\n setSelectedIModelId,\n}: SelectedIModelProps) => {\n const { iTwinId, getAccessToken, iModelsClient } = useReportsConfigApi();\n const [iModels, setIModels] = useState<MinimalIModel[]>([]);\n\n useEffect(() => {\n void fetchIModels(setIModels, iTwinId, iModelsClient, getAccessToken);\n }, [getAccessToken, iModelsClient, iTwinId, setIModels]);\n\n const iModelOptions = useMemo(() => {\n return iModels.map((iModel) => ({\n label: iModel.displayName,\n value: iModel.id,\n }));\n }, [iModels]);\n\n return (\n <div className=\"rcw-select-imodel\">\n <Label htmlFor=\"combo-input\">\n {ReportsConfigWidget.localization.getLocalizedString(\n \"ReportsConfigWidget:SelectIModel\"\n )}\n </Label>\n <div className=\"rcw-combobox\">\n <ComboBox<string>\n options={iModelOptions}\n value={selectedIModelId}\n onChange={(value) => {\n setSelectedIModelId(value);\n }}\n inputProps={{\n id: \"combo-input\",\n }}\n style={{ flexGrow: 1, maxWidth: \"395px\" }}\n />\n </div>\n </div>\n );\n};\n"]}
1
+ {"version":3,"file":"SelectIModel.js","sourceRoot":"","sources":["../../../../src/widget/components/SelectIModel.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEpE,OAAO,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,qBAAqB,CAAC;AAE7B,MAAM,YAAY,GAAG,KAAK,EACxB,UAAiE,EACjE,OAAe,EACf,aAA4B,EAC5B,cAA0C,EAC1C,EAAE;IACF,MAAM,WAAW,GAAG,MAAM,cAAc,EAAE,CAAC;IAC3C,MAAM,aAAa,GAAG,kBAAkB,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC;IAC9E,MAAM,mBAAmB,GAAwB;QAC/C,SAAS,EAAE,EAAE,OAAO,EAAE;QACtB,aAAa;KACd,CAAC;IACF,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC,CAAC;IACzF,UAAU,CAAC,OAAO,CAAC,CAAC;AACtB,CAAC,CAAC;AAOF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,EAAE,gBAAgB,EAAE,mBAAmB,EAAuB,EAAE,EAAE;IAC7F,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,GAAG,mBAAmB,EAAE,CAAC;IACzE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAkB,EAAE,CAAC,CAAC;IAE5D,SAAS,CAAC,GAAG,EAAE;QACb,KAAK,YAAY,CAAC,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC;IACxE,CAAC,EAAE,CAAC,cAAc,EAAE,aAAa,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;IAEzD,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,EAAE;QACjC,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAC9B,KAAK,EAAE,MAAM,CAAC,WAAW;YACzB,KAAK,EAAE,MAAM,CAAC,EAAE;SACjB,CAAC,CAAC,CAAC;IACN,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,OAAO,CACL,6BAAK,SAAS,EAAC,mBAAmB;QAChC,oBAAC,KAAK,IAAC,OAAO,EAAC,aAAa,IAAE,mBAAmB,CAAC,YAAY,CAAC,kBAAkB,CAAC,kCAAkC,CAAC,CAAS;QAC9H,6BAAK,SAAS,EAAC,cAAc;YAC3B,oBAAC,QAAQ,IACP,OAAO,EAAE,aAAa,EACtB,KAAK,EAAE,gBAAgB,EACvB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;oBAClB,mBAAmB,CAAC,KAAK,CAAC,CAAC;gBAC7B,CAAC,EACD,UAAU,EAAE;oBACV,EAAE,EAAE,aAAa;iBAClB,EACD,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,GACzC,CACE,CACF,CACP,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 type { AccessToken } from \"@itwin/core-bentley\";\nimport { AccessTokenAdapter } from \"@itwin/imodels-access-frontend\";\nimport type { GetIModelListParams, IModelsClient, MinimalIModel } from \"@itwin/imodels-client-management\";\nimport { toArray } from \"@itwin/imodels-client-management\";\nimport { ComboBox, Label } from \"@itwin/itwinui-react\";\nimport React, { useEffect, useMemo, useState } from \"react\";\nimport { ReportsConfigWidget } from \"../../ReportsConfigWidget\";\nimport { useReportsConfigApi } from \"../context/ReportsConfigApiContext\";\nimport \"./SelectIModel.scss\";\n\nconst fetchIModels = async (\n setiModels: React.Dispatch<React.SetStateAction<MinimalIModel[]>>,\n iTwinId: string,\n iModelsClient: IModelsClient,\n getAccessToken: () => Promise<AccessToken>,\n) => {\n const accessToken = await getAccessToken();\n const authorization = AccessTokenAdapter.toAuthorizationCallback(accessToken);\n const getiModelListParams: GetIModelListParams = {\n urlParams: { iTwinId },\n authorization,\n };\n const iModels = await toArray(iModelsClient.iModels.getMinimalList(getiModelListParams));\n setiModels(iModels);\n};\n\ninterface SelectedIModelProps {\n selectedIModelId?: string;\n setSelectedIModelId: (iModelId: string) => void;\n}\n\nexport const SelectIModel = ({ selectedIModelId, setSelectedIModelId }: SelectedIModelProps) => {\n const { iTwinId, getAccessToken, iModelsClient } = useReportsConfigApi();\n const [iModels, setIModels] = useState<MinimalIModel[]>([]);\n\n useEffect(() => {\n void fetchIModels(setIModels, iTwinId, iModelsClient, getAccessToken);\n }, [getAccessToken, iModelsClient, iTwinId, setIModels]);\n\n const iModelOptions = useMemo(() => {\n return iModels.map((iModel) => ({\n label: iModel.displayName,\n value: iModel.id,\n }));\n }, [iModels]);\n\n return (\n <div className=\"rcw-select-imodel\">\n <Label htmlFor=\"combo-input\">{ReportsConfigWidget.localization.getLocalizedString(\"ReportsConfigWidget:SelectIModel\")}</Label>\n <div className=\"rcw-combobox\">\n <ComboBox<string>\n options={iModelOptions}\n value={selectedIModelId}\n onChange={(value) => {\n setSelectedIModelId(value);\n }}\n inputProps={{\n id: \"combo-input\",\n }}\n style={{ flexGrow: 1, maxWidth: \"395px\" }}\n />\n </div>\n </div>\n );\n};\n"]}
@@ -12,4 +12,4 @@
12
12
  gap: var(--iui-size-xs);
13
13
  width: 100%;
14
14
  }
15
- }
15
+ }
@@ -5,7 +5,7 @@ export interface WidgetHeaderProps {
5
5
  disabled?: boolean;
6
6
  returnFn?: () => void;
7
7
  }
8
- export declare const WidgetHeader: ({ title, disabled, returnFn, }: WidgetHeaderProps) => JSX.Element;
8
+ export declare const WidgetHeader: ({ title, disabled, returnFn }: WidgetHeaderProps) => JSX.Element;
9
9
  export declare const handleError: (errorStatus: number) => void;
10
10
  export declare const LoadingOverlay: () => JSX.Element;
11
11
  interface EmptyMessageProps {
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/widget/components/utils.tsx"],"names":[],"mappings":"AAWA,OAAO,cAAc,CAAC;AACtB,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,eAAO,MAAM,YAAY,mCAItB,iBAAiB,gBAkBnB,CAAC;AAEF,eAAO,MAAM,WAAW,gBAAiB,MAAM,SAwD9C,CAAC;AAEF,eAAO,MAAM,cAAc,mBAc1B,CAAC;AACF,UAAU,iBAAiB;IACzB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AACD,eAAO,MAAM,YAAY,iBAAkB,iBAAiB,gBAE3D,CAAC;AAEF,eAAO,MAAM,iBAAiB,SACzB,MAAM,WAAW,CAAC,gBAAgB,CAAC,wEAUvC,CAAC;AAEF,eAAO,MAAM,cAAc,mBAS1B,CAAC;AAEF,eAAO,MAAM,aAAa,mBAEzB,CAAC;AAEF,eAAO,MAAM,WAAW,YAAa,MAAM,cAAc,MAAM,WAE9D,CAAC;AAEF,oBAAY,uBAAuB,CAAC,SAAS,IAAI;KAC9C,QAAQ,IAAI,MAAM,SAAS,GAAG,SAAS,CAAC,QAAQ,CAAC;CACnD,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/widget/components/utils.tsx"],"names":[],"mappings":"AAMA,OAAO,cAAc,CAAC;AACtB,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,eAAO,MAAM,YAAY,kCAA2C,iBAAiB,gBAkBpF,CAAC;AAEF,eAAO,MAAM,WAAW,gBAAiB,MAAM,SAkC9C,CAAC;AAEF,eAAO,MAAM,cAAc,mBAM1B,CAAC;AACF,UAAU,iBAAiB;IACzB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AACD,eAAO,MAAM,YAAY,iBAAkB,iBAAiB,gBAE3D,CAAC;AAEF,eAAO,MAAM,iBAAiB,SAAW,MAAM,WAAW,CAAC,gBAAgB,CAAC,wEAO3E,CAAC;AAEF,eAAO,MAAM,cAAc,mBAM1B,CAAC;AAEF,eAAO,MAAM,aAAa,mBAA4D,CAAC;AAEvF,eAAO,MAAM,WAAW,YAAa,MAAM,cAAc,MAAM,WAE9D,CAAC;AAEF,oBAAY,uBAAuB,CAAC,SAAS,IAAI;KAC9C,QAAQ,IAAI,MAAM,SAAS,GAAG,SAAS,CAAC,QAAQ,CAAC;CACnD,CAAC"}
@@ -1,13 +1,13 @@
1
1
  /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
5
  import { SvgChevronLeft } from "@itwin/itwinui-icons-react";
6
- import { Icon, ProgressRadial, Text, toaster, } from "@itwin/itwinui-react";
6
+ import { Icon, ProgressRadial, Text, toaster } from "@itwin/itwinui-react";
7
7
  import "./utils.scss";
8
8
  import React from "react";
9
9
  import { ReportsConfigWidget } from "../../ReportsConfigWidget";
10
- export const WidgetHeader = ({ title, disabled = false, returnFn, }) => {
10
+ export const WidgetHeader = ({ title, disabled = false, returnFn }) => {
11
11
  return (React.createElement("div", { className: "rcw-widget-header-container" },
12
12
  returnFn && (React.createElement(Icon, { className: `${disabled ? "rcw-chevron-disabled" : "rcw-chevron"}`, onClick: disabled ? undefined : returnFn, size: "large", title: ReportsConfigWidget.localization.getLocalizedString("ReportsConfigWidget:Back") },
13
13
  React.createElement(SvgChevronLeft, null))),
@@ -66,7 +66,7 @@ export const LoadingSpinner = () => {
66
66
  return (React.createElement("div", { className: "rcw-loading-spinner", "data-testid": "rcw-action-loading-spinner" },
67
67
  React.createElement(ProgressRadial, { size: "small", indeterminate: true })));
68
68
  };
69
- export const SkeletonBlock = () => (React.createElement("div", { className: "rcw-skeleton-block iui-skeleton" }));
69
+ export const SkeletonBlock = () => React.createElement("div", { className: "rcw-skeleton-block iui-skeleton" });
70
70
  export const generateUrl = (baseUrl, newBaseUrl) => {
71
71
  return baseUrl.replace("https://api.bentley.com", newBaseUrl);
72
72
  };
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/widget/components/utils.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 { SvgChevronLeft } from \"@itwin/itwinui-icons-react\";\nimport {\n Icon,\n ProgressRadial,\n Text,\n toaster,\n} from \"@itwin/itwinui-react\";\nimport \"./utils.scss\";\nimport React from \"react\";\nimport { ReportsConfigWidget } from \"../../ReportsConfigWidget\";\n\nexport interface WidgetHeaderProps {\n title: string;\n disabled?: boolean;\n returnFn?: () => void;\n}\n\nexport const WidgetHeader = ({\n title,\n disabled = false,\n returnFn,\n}: WidgetHeaderProps) => {\n return (\n <div className=\"rcw-widget-header-container\">\n {returnFn && (\n <Icon\n className={`${disabled ? \"rcw-chevron-disabled\" : \"rcw-chevron\"}`}\n onClick={disabled ? undefined : returnFn}\n size=\"large\"\n title={ReportsConfigWidget.localization.getLocalizedString(\"ReportsConfigWidget:Back\")}\n >\n <SvgChevronLeft />\n </Icon>\n )}\n <Text className=\"rcw-title\" variant=\"title\">\n {title}\n </Text>\n </div>\n );\n};\n\nexport const handleError = (errorStatus: number) => {\n let errorMessage = `${ReportsConfigWidget.localization.getLocalizedString(\n \"ReportsConfigWidget:ErrorMessages.Error\"\n )} `;\n switch (errorStatus) {\n case 401:\n errorMessage += ReportsConfigWidget.localization.getLocalizedString(\n \"ReportsConfigWidget:ErrorMessages.401\"\n );\n break;\n case 403:\n errorMessage += ReportsConfigWidget.localization.getLocalizedString(\n \"ReportsConfigWidget:ErrorMessages.403\"\n );\n break;\n case 404:\n errorMessage += ReportsConfigWidget.localization.getLocalizedString(\n \"ReportsConfigWidget:ErrorMessages.404\"\n );\n break;\n case 409:\n errorMessage += ReportsConfigWidget.localization.getLocalizedString(\n \"ReportsConfigWidget:ErrorMessages.409\"\n );\n break;\n case 422:\n errorMessage += ReportsConfigWidget.localization.getLocalizedString(\n \"ReportsConfigWidget:ErrorMessages.422\"\n );\n break;\n case 429:\n errorMessage += ReportsConfigWidget.localization.getLocalizedString(\n \"ReportsConfigWidget:ErrorMessages.429\"\n );\n break;\n case 500:\n errorMessage += ReportsConfigWidget.localization.getLocalizedString(\n \"ReportsConfigWidget:ErrorMessages.500\"\n );\n break;\n case 502:\n errorMessage += ReportsConfigWidget.localization.getLocalizedString(\n \"ReportsConfigWidget:ErrorMessages.502\"\n );\n break;\n case 503:\n errorMessage += ReportsConfigWidget.localization.getLocalizedString(\n \"ReportsConfigWidget:ErrorMessages.503\"\n );\n break;\n default:\n errorMessage += ReportsConfigWidget.localization.getLocalizedString(\n \"ReportsConfigWidget:ErrorMessages.SomethingWentWrong\"\n );\n }\n toaster.negative(errorMessage);\n};\n\nexport const LoadingOverlay = () => (\n <div className=\"rcw-center-overlay\">\n <Text>\n {ReportsConfigWidget.localization.getLocalizedString(\n \"ReportsConfigWidget:Loading\"\n )}\n </Text>\n <ProgressRadial indeterminate />\n <Text>\n {ReportsConfigWidget.localization.getLocalizedString(\n \"ReportsConfigWidget:PleaseWait\"\n )}\n </Text>\n </div>\n);\ninterface EmptyMessageProps {\n children?: React.ReactNode;\n}\nexport const EmptyMessage = ({ children }: EmptyMessageProps) => {\n return <div className=\"rcw-center-overlay\">{children}</div>;\n};\n\nexport const handleInputChange = <T,>(\n e: React.ChangeEvent<HTMLInputElement>,\n values: T,\n setValues: React.Dispatch<React.SetStateAction<T>>\n) => {\n const { name, value } = e.target;\n\n setValues({\n ...values,\n [name]: value,\n });\n};\n\nexport const LoadingSpinner = () => {\n return (\n <div\n className=\"rcw-loading-spinner\"\n data-testid=\"rcw-action-loading-spinner\"\n >\n <ProgressRadial size=\"small\" indeterminate />\n </div>\n );\n};\n\nexport const SkeletonBlock = () => (\n <div className=\"rcw-skeleton-block iui-skeleton\" />\n);\n\nexport const generateUrl = (baseUrl: string, newBaseUrl: string) => {\n return baseUrl.replace(\"https://api.bentley.com\", newBaseUrl);\n};\n\nexport type CreateTypeFromInterface<Interface> = {\n [Property in keyof Interface]: Interface[Property];\n};\n"]}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/widget/components/utils.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 { SvgChevronLeft } from \"@itwin/itwinui-icons-react\";\nimport { Icon, ProgressRadial, Text, toaster } from \"@itwin/itwinui-react\";\nimport \"./utils.scss\";\nimport React from \"react\";\nimport { ReportsConfigWidget } from \"../../ReportsConfigWidget\";\n\nexport interface WidgetHeaderProps {\n title: string;\n disabled?: boolean;\n returnFn?: () => void;\n}\n\nexport const WidgetHeader = ({ title, disabled = false, returnFn }: WidgetHeaderProps) => {\n return (\n <div className=\"rcw-widget-header-container\">\n {returnFn && (\n <Icon\n className={`${disabled ? \"rcw-chevron-disabled\" : \"rcw-chevron\"}`}\n onClick={disabled ? undefined : returnFn}\n size=\"large\"\n title={ReportsConfigWidget.localization.getLocalizedString(\"ReportsConfigWidget:Back\")}\n >\n <SvgChevronLeft />\n </Icon>\n )}\n <Text className=\"rcw-title\" variant=\"title\">\n {title}\n </Text>\n </div>\n );\n};\n\nexport const handleError = (errorStatus: number) => {\n let errorMessage = `${ReportsConfigWidget.localization.getLocalizedString(\"ReportsConfigWidget:ErrorMessages.Error\")} `;\n switch (errorStatus) {\n case 401:\n errorMessage += ReportsConfigWidget.localization.getLocalizedString(\"ReportsConfigWidget:ErrorMessages.401\");\n break;\n case 403:\n errorMessage += ReportsConfigWidget.localization.getLocalizedString(\"ReportsConfigWidget:ErrorMessages.403\");\n break;\n case 404:\n errorMessage += ReportsConfigWidget.localization.getLocalizedString(\"ReportsConfigWidget:ErrorMessages.404\");\n break;\n case 409:\n errorMessage += ReportsConfigWidget.localization.getLocalizedString(\"ReportsConfigWidget:ErrorMessages.409\");\n break;\n case 422:\n errorMessage += ReportsConfigWidget.localization.getLocalizedString(\"ReportsConfigWidget:ErrorMessages.422\");\n break;\n case 429:\n errorMessage += ReportsConfigWidget.localization.getLocalizedString(\"ReportsConfigWidget:ErrorMessages.429\");\n break;\n case 500:\n errorMessage += ReportsConfigWidget.localization.getLocalizedString(\"ReportsConfigWidget:ErrorMessages.500\");\n break;\n case 502:\n errorMessage += ReportsConfigWidget.localization.getLocalizedString(\"ReportsConfigWidget:ErrorMessages.502\");\n break;\n case 503:\n errorMessage += ReportsConfigWidget.localization.getLocalizedString(\"ReportsConfigWidget:ErrorMessages.503\");\n break;\n default:\n errorMessage += ReportsConfigWidget.localization.getLocalizedString(\"ReportsConfigWidget:ErrorMessages.SomethingWentWrong\");\n }\n toaster.negative(errorMessage);\n};\n\nexport const LoadingOverlay = () => (\n <div className=\"rcw-center-overlay\">\n <Text>{ReportsConfigWidget.localization.getLocalizedString(\"ReportsConfigWidget:Loading\")}</Text>\n <ProgressRadial indeterminate />\n <Text>{ReportsConfigWidget.localization.getLocalizedString(\"ReportsConfigWidget:PleaseWait\")}</Text>\n </div>\n);\ninterface EmptyMessageProps {\n children?: React.ReactNode;\n}\nexport const EmptyMessage = ({ children }: EmptyMessageProps) => {\n return <div className=\"rcw-center-overlay\">{children}</div>;\n};\n\nexport const handleInputChange = <T,>(e: React.ChangeEvent<HTMLInputElement>, values: T, setValues: React.Dispatch<React.SetStateAction<T>>) => {\n const { name, value } = e.target;\n\n setValues({\n ...values,\n [name]: value,\n });\n};\n\nexport const LoadingSpinner = () => {\n return (\n <div className=\"rcw-loading-spinner\" data-testid=\"rcw-action-loading-spinner\">\n <ProgressRadial size=\"small\" indeterminate />\n </div>\n );\n};\n\nexport const SkeletonBlock = () => <div className=\"rcw-skeleton-block iui-skeleton\" />;\n\nexport const generateUrl = (baseUrl: string, newBaseUrl: string) => {\n return baseUrl.replace(\"https://api.bentley.com\", newBaseUrl);\n};\n\nexport type CreateTypeFromInterface<Interface> = {\n [Property in keyof Interface]: Interface[Property];\n};\n"]}