@itwin/reports-config-widget-react 0.5.0 → 0.6.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 (380) hide show
  1. package/CHANGELOG.json +47 -1
  2. package/CHANGELOG.md +14 -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 +130 -0
  7. package/api/reports-config-widget-react.exports.csv +14 -0
  8. package/api/temp/reports-config-widget-react.api.md +130 -0
  9. package/coverage/clover.xml +505 -504
  10. package/coverage/coverage-final.json +32 -32
  11. package/coverage/lcov-report/index.html +24 -24
  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 +22 -64
  17. package/coverage/lcov-report/src/widget/components/ActionPanel.tsx.html +5 -38
  18. package/coverage/lcov-report/src/widget/components/AddMappingsModal.tsx.html +23 -119
  19. package/coverage/lcov-report/src/widget/components/BulkExtractor.ts.html +117 -90
  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 +86 -299
  36. package/coverage/lcov-report/src/widget/components/Reports.tsx.html +40 -202
  37. package/coverage/lcov-report/src/widget/components/ReportsConfigContext.tsx.html +59 -44
  38. package/coverage/lcov-report/src/widget/components/ReportsContainer.tsx.html +10 -49
  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 +6 -12
  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 +1 -1
  51. package/coverage/lcov.info +917 -893
  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.js +3 -3
  58. package/lib/cjs/reports-config-widget-react.js.map +1 -1
  59. package/lib/cjs/test/AddMappingModal.test.js +11 -10
  60. package/lib/cjs/test/AddMappingModal.test.js.map +1 -1
  61. package/lib/cjs/test/BulkExtractor.test.js +68 -43
  62. package/lib/cjs/test/BulkExtractor.test.js.map +1 -1
  63. package/lib/cjs/test/DeleteModal.test.js +3 -3
  64. package/lib/cjs/test/DeleteModal.test.js.map +1 -1
  65. package/lib/cjs/test/ReportAction.test.js +6 -4
  66. package/lib/cjs/test/ReportAction.test.js.map +1 -1
  67. package/lib/cjs/test/ReportMappingHorizontalTile.test.js +64 -25
  68. package/lib/cjs/test/ReportMappingHorizontalTile.test.js.map +1 -1
  69. package/lib/cjs/test/ReportMappings.test.js +39 -18
  70. package/lib/cjs/test/ReportMappings.test.js.map +1 -1
  71. package/lib/cjs/test/Reports.test.js +3 -3
  72. package/lib/cjs/test/Reports.test.js.map +1 -1
  73. package/lib/cjs/test/WidgetHeader.test.js +3 -3
  74. package/lib/cjs/test/WidgetHeader.test.js.map +1 -1
  75. package/lib/cjs/test/test-utils.d.ts +8 -0
  76. package/lib/cjs/test/test-utils.d.ts.map +1 -1
  77. package/lib/cjs/test/test-utils.js +16 -4
  78. package/lib/cjs/test/test-utils.js.map +1 -1
  79. package/lib/cjs/tsconfig.tsbuildinfo +1 -1
  80. package/lib/cjs/widget/ReportsConfigUiProvider.d.ts +7 -0
  81. package/lib/cjs/widget/ReportsConfigUiProvider.d.ts.map +1 -1
  82. package/lib/cjs/widget/ReportsConfigUiProvider.js +8 -3
  83. package/lib/cjs/widget/ReportsConfigUiProvider.js.map +1 -1
  84. package/lib/cjs/widget/components/ActionPanel.d.ts.map +1 -1
  85. package/lib/cjs/widget/components/ActionPanel.js.map +1 -1
  86. package/lib/cjs/widget/components/AddMappingsModal.d.ts +1 -1
  87. package/lib/cjs/widget/components/AddMappingsModal.d.ts.map +1 -1
  88. package/lib/cjs/widget/components/AddMappingsModal.js +7 -7
  89. package/lib/cjs/widget/components/AddMappingsModal.js.map +1 -1
  90. package/lib/cjs/widget/components/AddMappingsModal.scss +1 -1
  91. package/lib/cjs/widget/components/BulkExtractor.d.ts +7 -4
  92. package/lib/cjs/widget/components/BulkExtractor.d.ts.map +1 -1
  93. package/lib/cjs/widget/components/BulkExtractor.js +52 -35
  94. package/lib/cjs/widget/components/BulkExtractor.js.map +1 -1
  95. package/lib/cjs/widget/components/Constants.d.ts.map +1 -1
  96. package/lib/cjs/widget/components/Constants.js +3 -3
  97. package/lib/cjs/widget/components/Constants.js.map +1 -1
  98. package/lib/cjs/widget/components/DeleteModal.d.ts +1 -1
  99. package/lib/cjs/widget/components/DeleteModal.d.ts.map +1 -1
  100. package/lib/cjs/widget/components/DeleteModal.js +5 -5
  101. package/lib/cjs/widget/components/DeleteModal.js.map +1 -1
  102. package/lib/cjs/widget/components/DeleteModal.scss +2 -2
  103. package/lib/cjs/widget/components/ExtractionStates/FailedExtractionState.d.ts.map +1 -1
  104. package/lib/cjs/widget/components/ExtractionStates/FailedExtractionState.js +3 -3
  105. package/lib/cjs/widget/components/ExtractionStates/FailedExtractionState.js.map +1 -1
  106. package/lib/cjs/widget/components/ExtractionStates/QueuedExtractionState.d.ts.map +1 -1
  107. package/lib/cjs/widget/components/ExtractionStates/QueuedExtractionState.js +3 -3
  108. package/lib/cjs/widget/components/ExtractionStates/QueuedExtractionState.js.map +1 -1
  109. package/lib/cjs/widget/components/ExtractionStates/RunningExtractionState.d.ts.map +1 -1
  110. package/lib/cjs/widget/components/ExtractionStates/RunningExtractionState.js +3 -3
  111. package/lib/cjs/widget/components/ExtractionStates/RunningExtractionState.js.map +1 -1
  112. package/lib/cjs/widget/components/ExtractionStates/StartingExtractionState.d.ts.map +1 -1
  113. package/lib/cjs/widget/components/ExtractionStates/StartingExtractionState.js +3 -3
  114. package/lib/cjs/widget/components/ExtractionStates/StartingExtractionState.js.map +1 -1
  115. package/lib/cjs/widget/components/ExtractionStates/SucceededExtractionState.d.ts.map +1 -1
  116. package/lib/cjs/widget/components/ExtractionStates/SucceededExtractionState.js +3 -3
  117. package/lib/cjs/widget/components/ExtractionStates/SucceededExtractionState.js.map +1 -1
  118. package/lib/cjs/widget/components/ExtractionStatus.d.ts +1 -1
  119. package/lib/cjs/widget/components/ExtractionStatus.d.ts.map +1 -1
  120. package/lib/cjs/widget/components/ExtractionStatus.js +9 -9
  121. package/lib/cjs/widget/components/ExtractionStatus.js.map +1 -1
  122. package/lib/cjs/widget/components/ExtractionStatus.scss +1 -1
  123. package/lib/cjs/widget/components/ExtractionToast.d.ts.map +1 -1
  124. package/lib/cjs/widget/components/ExtractionToast.js +3 -3
  125. package/lib/cjs/widget/components/ExtractionToast.js.map +1 -1
  126. package/lib/cjs/widget/components/HorizontalTile.d.ts.map +1 -1
  127. package/lib/cjs/widget/components/HorizontalTile.js +1 -2
  128. package/lib/cjs/widget/components/HorizontalTile.js.map +1 -1
  129. package/lib/cjs/widget/components/HorizontalTile.scss +1 -4
  130. package/lib/cjs/widget/components/LocalizedTablePaginator.d.ts.map +1 -1
  131. package/lib/cjs/widget/components/LocalizedTablePaginator.js +1 -1
  132. package/lib/cjs/widget/components/LocalizedTablePaginator.js.map +1 -1
  133. package/lib/cjs/widget/components/ReportAction.d.ts +8 -0
  134. package/lib/cjs/widget/components/ReportAction.d.ts.map +1 -1
  135. package/lib/cjs/widget/components/ReportAction.js +9 -7
  136. package/lib/cjs/widget/components/ReportAction.js.map +1 -1
  137. package/lib/cjs/widget/components/ReportAction.scss +1 -1
  138. package/lib/cjs/widget/components/ReportHorizontalTile.d.ts.map +1 -1
  139. package/lib/cjs/widget/components/ReportHorizontalTile.js +4 -4
  140. package/lib/cjs/widget/components/ReportHorizontalTile.js.map +1 -1
  141. package/lib/cjs/widget/components/ReportMappingHorizontalTile.d.ts.map +1 -1
  142. package/lib/cjs/widget/components/ReportMappingHorizontalTile.js +46 -45
  143. package/lib/cjs/widget/components/ReportMappingHorizontalTile.js.map +1 -1
  144. package/lib/cjs/widget/components/ReportMappings.d.ts +8 -0
  145. package/lib/cjs/widget/components/ReportMappings.d.ts.map +1 -1
  146. package/lib/cjs/widget/components/ReportMappings.js +25 -11
  147. package/lib/cjs/widget/components/ReportMappings.js.map +1 -1
  148. package/lib/cjs/widget/components/Reports.d.ts +9 -1
  149. package/lib/cjs/widget/components/Reports.d.ts.map +1 -1
  150. package/lib/cjs/widget/components/Reports.js +7 -8
  151. package/lib/cjs/widget/components/Reports.js.map +1 -1
  152. package/lib/cjs/widget/components/Reports.scss +0 -1
  153. package/lib/cjs/widget/components/ReportsConfigContext.d.ts +8 -0
  154. package/lib/cjs/widget/components/ReportsConfigContext.d.ts.map +1 -1
  155. package/lib/cjs/widget/components/ReportsConfigContext.js +13 -5
  156. package/lib/cjs/widget/components/ReportsConfigContext.js.map +1 -1
  157. package/lib/cjs/widget/components/ReportsContainer.d.ts +1 -1
  158. package/lib/cjs/widget/components/ReportsContainer.d.ts.map +1 -1
  159. package/lib/cjs/widget/components/ReportsContainer.js +2 -4
  160. package/lib/cjs/widget/components/ReportsContainer.js.map +1 -1
  161. package/lib/cjs/widget/components/ReportsContainer.scss +1 -1
  162. package/lib/cjs/widget/components/ReportsHeader.d.ts +1 -1
  163. package/lib/cjs/widget/components/ReportsHeader.d.ts.map +1 -1
  164. package/lib/cjs/widget/components/ReportsHeader.js +6 -7
  165. package/lib/cjs/widget/components/ReportsHeader.js.map +1 -1
  166. package/lib/cjs/widget/components/ReportsRouter.d.ts.map +1 -1
  167. package/lib/cjs/widget/components/ReportsRouter.js +3 -3
  168. package/lib/cjs/widget/components/ReportsRouter.js.map +1 -1
  169. package/lib/cjs/widget/components/SearchBar.d.ts +1 -1
  170. package/lib/cjs/widget/components/SearchBar.d.ts.map +1 -1
  171. package/lib/cjs/widget/components/SearchBar.js +4 -4
  172. package/lib/cjs/widget/components/SearchBar.js.map +1 -1
  173. package/lib/cjs/widget/components/SelectIModel.d.ts +1 -1
  174. package/lib/cjs/widget/components/SelectIModel.d.ts.map +1 -1
  175. package/lib/cjs/widget/components/SelectIModel.js +1 -1
  176. package/lib/cjs/widget/components/SelectIModel.js.map +1 -1
  177. package/lib/cjs/widget/components/SelectIModel.scss +1 -1
  178. package/lib/cjs/widget/components/utils.d.ts +1 -1
  179. package/lib/cjs/widget/components/utils.d.ts.map +1 -1
  180. package/lib/cjs/widget/components/utils.js +5 -5
  181. package/lib/cjs/widget/components/utils.js.map +1 -1
  182. package/lib/cjs/widget/components/utils.scss +1 -1
  183. package/lib/cjs/widget/context/BulkExtractorContext.d.ts.map +1 -1
  184. package/lib/cjs/widget/context/BulkExtractorContext.js.map +1 -1
  185. package/lib/cjs/widget/context/ReportsConfigApiContext.d.ts.map +1 -1
  186. package/lib/cjs/widget/context/ReportsConfigApiContext.js.map +1 -1
  187. package/lib/cjs/widget/hooks/useValidator.d.ts +1 -4
  188. package/lib/cjs/widget/hooks/useValidator.d.ts.map +1 -1
  189. package/lib/cjs/widget/hooks/useValidator.js +3 -3
  190. package/lib/cjs/widget/hooks/useValidator.js.map +1 -1
  191. package/lib/esm/ReportsConfigWidget.d.ts +4 -0
  192. package/lib/esm/ReportsConfigWidget.d.ts.map +1 -1
  193. package/lib/esm/ReportsConfigWidget.js +4 -0
  194. package/lib/esm/ReportsConfigWidget.js.map +1 -1
  195. package/lib/esm/reports-config-widget-react.js +3 -3
  196. package/lib/esm/reports-config-widget-react.js.map +1 -1
  197. package/lib/esm/test/AddMappingModal.test.js +12 -11
  198. package/lib/esm/test/AddMappingModal.test.js.map +1 -1
  199. package/lib/esm/test/BulkExtractor.test.js +69 -44
  200. package/lib/esm/test/BulkExtractor.test.js.map +1 -1
  201. package/lib/esm/test/DeleteModal.test.js +4 -4
  202. package/lib/esm/test/DeleteModal.test.js.map +1 -1
  203. package/lib/esm/test/ReportAction.test.js +7 -5
  204. package/lib/esm/test/ReportAction.test.js.map +1 -1
  205. package/lib/esm/test/ReportMappingHorizontalTile.test.js +65 -26
  206. package/lib/esm/test/ReportMappingHorizontalTile.test.js.map +1 -1
  207. package/lib/esm/test/ReportMappings.test.js +41 -20
  208. package/lib/esm/test/ReportMappings.test.js.map +1 -1
  209. package/lib/esm/test/Reports.test.js +4 -4
  210. package/lib/esm/test/Reports.test.js.map +1 -1
  211. package/lib/esm/test/WidgetHeader.test.js +3 -3
  212. package/lib/esm/test/WidgetHeader.test.js.map +1 -1
  213. package/lib/esm/test/test-utils.d.ts +8 -0
  214. package/lib/esm/test/test-utils.d.ts.map +1 -1
  215. package/lib/esm/test/test-utils.js +15 -3
  216. package/lib/esm/test/test-utils.js.map +1 -1
  217. package/lib/esm/tsconfig.tsbuildinfo +1 -1
  218. package/lib/esm/widget/ReportsConfigUiProvider.d.ts +7 -0
  219. package/lib/esm/widget/ReportsConfigUiProvider.d.ts.map +1 -1
  220. package/lib/esm/widget/ReportsConfigUiProvider.js +9 -4
  221. package/lib/esm/widget/ReportsConfigUiProvider.js.map +1 -1
  222. package/lib/esm/widget/components/ActionPanel.d.ts.map +1 -1
  223. package/lib/esm/widget/components/ActionPanel.js.map +1 -1
  224. package/lib/esm/widget/components/AddMappingsModal.d.ts +1 -1
  225. package/lib/esm/widget/components/AddMappingsModal.d.ts.map +1 -1
  226. package/lib/esm/widget/components/AddMappingsModal.js +7 -7
  227. package/lib/esm/widget/components/AddMappingsModal.js.map +1 -1
  228. package/lib/esm/widget/components/AddMappingsModal.scss +1 -1
  229. package/lib/esm/widget/components/BulkExtractor.d.ts +7 -4
  230. package/lib/esm/widget/components/BulkExtractor.d.ts.map +1 -1
  231. package/lib/esm/widget/components/BulkExtractor.js +53 -36
  232. package/lib/esm/widget/components/BulkExtractor.js.map +1 -1
  233. package/lib/esm/widget/components/Constants.d.ts.map +1 -1
  234. package/lib/esm/widget/components/Constants.js +3 -3
  235. package/lib/esm/widget/components/Constants.js.map +1 -1
  236. package/lib/esm/widget/components/DeleteModal.d.ts +1 -1
  237. package/lib/esm/widget/components/DeleteModal.d.ts.map +1 -1
  238. package/lib/esm/widget/components/DeleteModal.js +6 -6
  239. package/lib/esm/widget/components/DeleteModal.js.map +1 -1
  240. package/lib/esm/widget/components/DeleteModal.scss +2 -2
  241. package/lib/esm/widget/components/ExtractionStates/FailedExtractionState.d.ts.map +1 -1
  242. package/lib/esm/widget/components/ExtractionStates/FailedExtractionState.js +3 -3
  243. package/lib/esm/widget/components/ExtractionStates/FailedExtractionState.js.map +1 -1
  244. package/lib/esm/widget/components/ExtractionStates/QueuedExtractionState.d.ts.map +1 -1
  245. package/lib/esm/widget/components/ExtractionStates/QueuedExtractionState.js +3 -3
  246. package/lib/esm/widget/components/ExtractionStates/QueuedExtractionState.js.map +1 -1
  247. package/lib/esm/widget/components/ExtractionStates/RunningExtractionState.d.ts.map +1 -1
  248. package/lib/esm/widget/components/ExtractionStates/RunningExtractionState.js +3 -3
  249. package/lib/esm/widget/components/ExtractionStates/RunningExtractionState.js.map +1 -1
  250. package/lib/esm/widget/components/ExtractionStates/StartingExtractionState.d.ts.map +1 -1
  251. package/lib/esm/widget/components/ExtractionStates/StartingExtractionState.js +3 -3
  252. package/lib/esm/widget/components/ExtractionStates/StartingExtractionState.js.map +1 -1
  253. package/lib/esm/widget/components/ExtractionStates/SucceededExtractionState.d.ts.map +1 -1
  254. package/lib/esm/widget/components/ExtractionStates/SucceededExtractionState.js +3 -3
  255. package/lib/esm/widget/components/ExtractionStates/SucceededExtractionState.js.map +1 -1
  256. package/lib/esm/widget/components/ExtractionStatus.d.ts +1 -1
  257. package/lib/esm/widget/components/ExtractionStatus.d.ts.map +1 -1
  258. package/lib/esm/widget/components/ExtractionStatus.js +9 -9
  259. package/lib/esm/widget/components/ExtractionStatus.js.map +1 -1
  260. package/lib/esm/widget/components/ExtractionStatus.scss +1 -1
  261. package/lib/esm/widget/components/ExtractionToast.d.ts.map +1 -1
  262. package/lib/esm/widget/components/ExtractionToast.js +3 -3
  263. package/lib/esm/widget/components/ExtractionToast.js.map +1 -1
  264. package/lib/esm/widget/components/HorizontalTile.d.ts.map +1 -1
  265. package/lib/esm/widget/components/HorizontalTile.js +1 -2
  266. package/lib/esm/widget/components/HorizontalTile.js.map +1 -1
  267. package/lib/esm/widget/components/HorizontalTile.scss +1 -4
  268. package/lib/esm/widget/components/LocalizedTablePaginator.d.ts.map +1 -1
  269. package/lib/esm/widget/components/LocalizedTablePaginator.js +1 -1
  270. package/lib/esm/widget/components/LocalizedTablePaginator.js.map +1 -1
  271. package/lib/esm/widget/components/ReportAction.d.ts +8 -0
  272. package/lib/esm/widget/components/ReportAction.d.ts.map +1 -1
  273. package/lib/esm/widget/components/ReportAction.js +10 -8
  274. package/lib/esm/widget/components/ReportAction.js.map +1 -1
  275. package/lib/esm/widget/components/ReportAction.scss +1 -1
  276. package/lib/esm/widget/components/ReportHorizontalTile.d.ts.map +1 -1
  277. package/lib/esm/widget/components/ReportHorizontalTile.js +6 -6
  278. package/lib/esm/widget/components/ReportHorizontalTile.js.map +1 -1
  279. package/lib/esm/widget/components/ReportMappingHorizontalTile.d.ts.map +1 -1
  280. package/lib/esm/widget/components/ReportMappingHorizontalTile.js +47 -46
  281. package/lib/esm/widget/components/ReportMappingHorizontalTile.js.map +1 -1
  282. package/lib/esm/widget/components/ReportMappings.d.ts +8 -0
  283. package/lib/esm/widget/components/ReportMappings.d.ts.map +1 -1
  284. package/lib/esm/widget/components/ReportMappings.js +28 -14
  285. package/lib/esm/widget/components/ReportMappings.js.map +1 -1
  286. package/lib/esm/widget/components/Reports.d.ts +9 -1
  287. package/lib/esm/widget/components/Reports.d.ts.map +1 -1
  288. package/lib/esm/widget/components/Reports.js +8 -9
  289. package/lib/esm/widget/components/Reports.js.map +1 -1
  290. package/lib/esm/widget/components/Reports.scss +0 -1
  291. package/lib/esm/widget/components/ReportsConfigContext.d.ts +8 -0
  292. package/lib/esm/widget/components/ReportsConfigContext.d.ts.map +1 -1
  293. package/lib/esm/widget/components/ReportsConfigContext.js +14 -6
  294. package/lib/esm/widget/components/ReportsConfigContext.js.map +1 -1
  295. package/lib/esm/widget/components/ReportsContainer.d.ts +1 -1
  296. package/lib/esm/widget/components/ReportsContainer.d.ts.map +1 -1
  297. package/lib/esm/widget/components/ReportsContainer.js +2 -4
  298. package/lib/esm/widget/components/ReportsContainer.js.map +1 -1
  299. package/lib/esm/widget/components/ReportsContainer.scss +1 -1
  300. package/lib/esm/widget/components/ReportsHeader.d.ts +1 -1
  301. package/lib/esm/widget/components/ReportsHeader.d.ts.map +1 -1
  302. package/lib/esm/widget/components/ReportsHeader.js +6 -7
  303. package/lib/esm/widget/components/ReportsHeader.js.map +1 -1
  304. package/lib/esm/widget/components/ReportsRouter.d.ts.map +1 -1
  305. package/lib/esm/widget/components/ReportsRouter.js +3 -3
  306. package/lib/esm/widget/components/ReportsRouter.js.map +1 -1
  307. package/lib/esm/widget/components/SearchBar.d.ts +1 -1
  308. package/lib/esm/widget/components/SearchBar.d.ts.map +1 -1
  309. package/lib/esm/widget/components/SearchBar.js +4 -4
  310. package/lib/esm/widget/components/SearchBar.js.map +1 -1
  311. package/lib/esm/widget/components/SelectIModel.d.ts +1 -1
  312. package/lib/esm/widget/components/SelectIModel.d.ts.map +1 -1
  313. package/lib/esm/widget/components/SelectIModel.js +2 -2
  314. package/lib/esm/widget/components/SelectIModel.js.map +1 -1
  315. package/lib/esm/widget/components/SelectIModel.scss +1 -1
  316. package/lib/esm/widget/components/utils.d.ts +1 -1
  317. package/lib/esm/widget/components/utils.d.ts.map +1 -1
  318. package/lib/esm/widget/components/utils.js +6 -6
  319. package/lib/esm/widget/components/utils.js.map +1 -1
  320. package/lib/esm/widget/components/utils.scss +1 -1
  321. package/lib/esm/widget/context/BulkExtractorContext.d.ts.map +1 -1
  322. package/lib/esm/widget/context/BulkExtractorContext.js.map +1 -1
  323. package/lib/esm/widget/context/ReportsConfigApiContext.d.ts.map +1 -1
  324. package/lib/esm/widget/context/ReportsConfigApiContext.js.map +1 -1
  325. package/lib/esm/widget/hooks/useValidator.d.ts +1 -4
  326. package/lib/esm/widget/hooks/useValidator.d.ts.map +1 -1
  327. package/lib/esm/widget/hooks/useValidator.js +3 -3
  328. package/lib/esm/widget/hooks/useValidator.js.map +1 -1
  329. package/package.json +9 -4
  330. package/src/ReportsConfigWidget.ts +9 -9
  331. package/src/reports-config-widget-react.ts +3 -3
  332. package/src/test/AddMappingModal.test.tsx +45 -70
  333. package/src/test/BulkExtractor.test.ts +73 -118
  334. package/src/test/DeleteModal.test.tsx +6 -23
  335. package/src/test/ReportAction.test.tsx +20 -38
  336. package/src/test/ReportMappingHorizontalTile.test.tsx +137 -106
  337. package/src/test/ReportMappings.test.tsx +73 -88
  338. package/src/test/Reports.test.tsx +30 -64
  339. package/src/test/WidgetHeader.test.tsx +3 -3
  340. package/src/test/test-utils.tsx +18 -8
  341. package/src/widget/ReportsConfigUiProvider.tsx +16 -30
  342. package/src/widget/components/ActionPanel.tsx +3 -14
  343. package/src/widget/components/AddMappingsModal.scss +1 -1
  344. package/src/widget/components/AddMappingsModal.tsx +19 -51
  345. package/src/widget/components/BulkExtractor.ts +63 -54
  346. package/src/widget/components/Constants.ts +4 -4
  347. package/src/widget/components/DeleteModal.scss +2 -2
  348. package/src/widget/components/DeleteModal.tsx +11 -41
  349. package/src/widget/components/ExtractionStates/FailedExtractionState.tsx +4 -9
  350. package/src/widget/components/ExtractionStates/QueuedExtractionState.tsx +4 -9
  351. package/src/widget/components/ExtractionStates/RunningExtractionState.tsx +4 -9
  352. package/src/widget/components/ExtractionStates/StartingExtractionState.tsx +4 -11
  353. package/src/widget/components/ExtractionStates/SucceededExtractionState.tsx +4 -9
  354. package/src/widget/components/ExtractionStatus.scss +1 -1
  355. package/src/widget/components/ExtractionStatus.tsx +9 -18
  356. package/src/widget/components/ExtractionToast.tsx +12 -9
  357. package/src/widget/components/HorizontalTile.scss +1 -4
  358. package/src/widget/components/HorizontalTile.tsx +12 -33
  359. package/src/widget/components/LocalizedTablePaginator.tsx +13 -44
  360. package/src/widget/components/ReportAction.scss +1 -1
  361. package/src/widget/components/ReportAction.tsx +26 -39
  362. package/src/widget/components/ReportHorizontalTile.tsx +45 -55
  363. package/src/widget/components/ReportMappingHorizontalTile.tsx +70 -78
  364. package/src/widget/components/ReportMappings.tsx +59 -130
  365. package/src/widget/components/Reports.scss +0 -1
  366. package/src/widget/components/Reports.tsx +28 -82
  367. package/src/widget/components/ReportsConfigContext.tsx +30 -25
  368. package/src/widget/components/ReportsContainer.scss +1 -1
  369. package/src/widget/components/ReportsContainer.tsx +8 -21
  370. package/src/widget/components/ReportsHeader.tsx +6 -19
  371. package/src/widget/components/ReportsRouter.tsx +4 -6
  372. package/src/widget/components/SearchBar.tsx +9 -13
  373. package/src/widget/components/SelectIModel.scss +1 -1
  374. package/src/widget/components/SelectIModel.tsx +9 -24
  375. package/src/widget/components/utils.scss +1 -1
  376. package/src/widget/components/utils.tsx +21 -69
  377. package/src/widget/context/BulkExtractorContext.tsx +4 -6
  378. package/src/widget/context/ReportsConfigApiContext.tsx +4 -6
  379. package/src/widget/hooks/useValidator.ts +10 -24
  380. package/tsconfig.json +11 -11
@@ -6,11 +6,7 @@ import { SvgAdd, SvgPlay, SvgRefresh } from "@itwin/itwinui-icons-react";
6
6
  import { Button, IconButton } from "@itwin/itwinui-react";
7
7
  import React, { useCallback, useEffect, useMemo, useState } from "react";
8
8
  import type { CreateTypeFromInterface } from "./utils";
9
- import {
10
- EmptyMessage,
11
- handleError,
12
- LoadingOverlay,
13
- } from "./utils";
9
+ import { EmptyMessage, handleError, LoadingOverlay } from "./utils";
14
10
  import "./Reports.scss";
15
11
  import DeleteModal from "./DeleteModal";
16
12
  import type { Report, ReportsClient } from "@itwin/insights-client";
@@ -29,7 +25,7 @@ const fetchReports = async (
29
25
  iTwinId: string | undefined,
30
26
  setIsLoading: (isLoading: boolean) => void,
31
27
  reportsClient: ReportsClient,
32
- getAccessToken: () => Promise<AccessToken>
28
+ getAccessToken: () => Promise<AccessToken>,
33
29
  ) => {
34
30
  try {
35
31
  if (!iTwinId) return;
@@ -44,70 +40,47 @@ const fetchReports = async (
44
40
  }
45
41
  };
46
42
 
43
+ /**
44
+ * Props for {@link Reports} component.
45
+ * @public
46
+ */
47
47
  export interface ReportsProps {
48
48
  onClickAddReport?: () => void;
49
49
  onClickReportTitle?: (report: Report) => void;
50
50
  onClickReportModify?: (report: Report) => void;
51
51
  }
52
52
 
53
- export const Reports = ({
54
- onClickAddReport,
55
- onClickReportModify,
56
- onClickReportTitle,
57
- }: ReportsProps) => {
53
+ /**
54
+ * Component to manage and list reports for an iTwin.
55
+ * @public
56
+ */
57
+ export const Reports = ({ onClickAddReport, onClickReportModify, onClickReportTitle }: ReportsProps) => {
58
58
  const { iTwinId, getAccessToken, reportsClient } = useReportsConfigApi();
59
59
  const { bulkExtractor } = useBulkExtractor();
60
- const [showDeleteModal, setShowDeleteModal] = useState<Report | undefined>(
61
- undefined
62
- );
60
+ const [showDeleteModal, setShowDeleteModal] = useState<Report | undefined>(undefined);
63
61
  const [selectedReportIds, setSelectedReportIds] = useState<string[]>([]);
64
62
  const [isLoading, setIsLoading] = useState<boolean>(true);
65
63
  const [searchValue, setSearchValue] = useState<string>("");
66
64
  const [reports, setReports] = useState<Report[]>([]);
67
- const jobStartEvent = useMemo(
68
- () => new BeEvent<(reportId: string) => void>(),
69
- []
70
- );
65
+ const jobStartEvent = useMemo(() => new BeEvent<(reportId: string) => void>(), []);
71
66
 
72
67
  useEffect(() => {
73
- void fetchReports(
74
- setReports,
75
- iTwinId,
76
- setIsLoading,
77
- reportsClient,
78
- getAccessToken
79
- );
68
+ void fetchReports(setReports, iTwinId, setIsLoading, reportsClient, getAccessToken);
80
69
  }, [getAccessToken, iTwinId, reportsClient, setIsLoading]);
81
70
 
82
71
  const refresh = useCallback(async () => {
83
- await fetchReports(
84
- setReports,
85
- iTwinId,
86
- setIsLoading,
87
- reportsClient,
88
- getAccessToken
89
- );
72
+ await fetchReports(setReports, iTwinId, setIsLoading, reportsClient, getAccessToken);
90
73
  }, [getAccessToken, iTwinId, reportsClient]);
91
74
 
92
75
  const filteredReports = useMemo(
93
- () =>
94
- reports.filter((x) =>
95
- [x.displayName, x.description]
96
- .join(" ")
97
- .toLowerCase()
98
- .includes(searchValue.toLowerCase())
99
- ),
100
- [reports, searchValue]
76
+ () => reports.filter((x) => [x.displayName, x.description].join(" ").toLowerCase().includes(searchValue.toLowerCase())),
77
+ [reports, searchValue],
101
78
  );
102
79
 
103
80
  const onSelectionChange = (reportId: string, control: boolean) => {
104
81
  if (!control) setSelectedReportIds([]);
105
82
 
106
- setSelectedReportIds((sr) =>
107
- sr.some((r) => reportId === r)
108
- ? sr.filter((r) => reportId !== r)
109
- : [...sr, reportId]
110
- );
83
+ setSelectedReportIds((sr) => (sr.some((r) => reportId === r) ? sr.filter((r) => reportId !== r) : [...sr, reportId]));
111
84
  };
112
85
 
113
86
  const updateDatasets = useCallback(async () => {
@@ -125,46 +98,28 @@ export const Reports = ({
125
98
  <div className="rcw-toolbar">
126
99
  <div className="rcw-button-spacing">
127
100
  {onClickAddReport && (
128
- <Button
129
- startIcon={<SvgAdd />}
130
- onClick={onClickAddReport}
131
- styleType="high-visibility"
132
- title="New Report"
133
- >
134
- {ReportsConfigWidget.localization.getLocalizedString(
135
- "ReportsConfigWidget:New"
136
- )}
101
+ <Button startIcon={<SvgAdd />} onClick={onClickAddReport} styleType="high-visibility" title="New Report">
102
+ {ReportsConfigWidget.localization.getLocalizedString("ReportsConfigWidget:New")}
137
103
  </Button>
138
104
  )}
139
105
  <IconButton
140
- title={ReportsConfigWidget.localization.getLocalizedString(
141
- "ReportsConfigWidget:UpdateDatasets"
142
- )}
106
+ title={ReportsConfigWidget.localization.getLocalizedString("ReportsConfigWidget:UpdateDatasets")}
143
107
  onClick={updateDatasets}
144
108
  disabled={selectedReportIds.length === 0}
145
109
  >
146
110
  <SvgPlay />
147
111
  </IconButton>
148
112
  </div>
149
- <div
150
- className="rcw-search-bar-container"
151
- data-testid="rcw-search-bar"
152
- >
113
+ <div className="rcw-search-bar-container" data-testid="rcw-search-bar">
153
114
  <IconButton
154
- title={ReportsConfigWidget.localization.getLocalizedString(
155
- "ReportsConfigWidget:Refresh"
156
- )}
115
+ title={ReportsConfigWidget.localization.getLocalizedString("ReportsConfigWidget:Refresh")}
157
116
  onClick={refresh}
158
117
  disabled={isLoading}
159
118
  styleType="borderless"
160
119
  >
161
120
  <SvgRefresh />
162
121
  </IconButton>
163
- <SearchBar
164
- searchValue={searchValue}
165
- setSearchValue={setSearchValue}
166
- disabled={isLoading}
167
- />
122
+ <SearchBar searchValue={searchValue} setSearchValue={setSearchValue} disabled={isLoading} />
168
123
  </div>
169
124
  </div>
170
125
  {isLoading ? (
@@ -172,14 +127,10 @@ export const Reports = ({
172
127
  ) : reports.length === 0 && onClickAddReport ? (
173
128
  <EmptyMessage>
174
129
  <>
175
- {ReportsConfigWidget.localization.getLocalizedString(
176
- "ReportsConfigWidget:NoReports"
177
- )}
130
+ {ReportsConfigWidget.localization.getLocalizedString("ReportsConfigWidget:NoReports")}
178
131
  <div>
179
132
  <Button onClick={onClickAddReport} styleType="cta">
180
- {ReportsConfigWidget.localization.getLocalizedString(
181
- "ReportsConfigWidget:CreateOneReportCTA"
182
- )}
133
+ {ReportsConfigWidget.localization.getLocalizedString("ReportsConfigWidget:CreateOneReportCTA")}
183
134
  </Button>
184
135
  </div>
185
136
  </>
@@ -198,9 +149,7 @@ export const Reports = ({
198
149
  }}
199
150
  onClickModify={onClickReportModify}
200
151
  onSelectionChange={onSelectionChange}
201
- selected={selectedReportIds.some(
202
- (reportId) => report.id === reportId
203
- )}
152
+ selected={selectedReportIds.some((reportId) => report.id === reportId)}
204
153
  />
205
154
  ))}
206
155
  </div>
@@ -211,10 +160,7 @@ export const Reports = ({
211
160
  onClose={() => setShowDeleteModal(undefined)}
212
161
  onDelete={async () => {
213
162
  const accessToken = await getAccessToken();
214
- await reportsClient.deleteReport(
215
- accessToken,
216
- showDeleteModal?.id ?? ""
217
- );
163
+ await reportsClient.deleteReport(accessToken, showDeleteModal?.id ?? "");
218
164
  }}
219
165
  refresh={refresh}
220
166
  />
@@ -1,18 +1,15 @@
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 type { IModelsClientOptions } from "@itwin/imodels-client-management";
7
7
  import { IModelsClient } from "@itwin/imodels-client-management";
8
- import { ExtractionClient, MappingsClient, REPORTING_BASE_PATH, ReportsClient } from "@itwin/insights-client";
8
+ import { ExtractionClient, GROUPING_AND_MAPPING_BASE_PATH, MappingsClient, REPORTING_BASE_PATH, ReportsClient } from "@itwin/insights-client";
9
9
  import { toaster } from "@itwin/itwinui-react";
10
10
  import React, { useCallback, useEffect, useMemo, useState } from "react";
11
11
  import { BulkExtractorContext } from "../context/BulkExtractorContext";
12
- import type {
13
- GetAccessTokenFn,
14
- ReportsConfigApiProps,
15
- } from "../context/ReportsConfigApiContext";
12
+ import type { GetAccessTokenFn, ReportsConfigApiProps } from "../context/ReportsConfigApiContext";
16
13
  import { ReportsConfigApiContext } from "../context/ReportsConfigApiContext";
17
14
  import { REPORTS_CONFIG_BASE_URL } from "../ReportsConfigUiProvider";
18
15
  import { BulkExtractor } from "./BulkExtractor";
@@ -20,6 +17,10 @@ import { IMODELS_BASE_URL } from "./Constants";
20
17
  import { FailedExtractionToast, SuccessfulExtractionToast } from "./ExtractionToast";
21
18
  import { generateUrl } from "./utils";
22
19
 
20
+ /**
21
+ * Props for the {@link ReportsConfigContext} component.
22
+ * @public
23
+ */
23
24
  export interface ReportsConfigContextProps {
24
25
  getAccessToken?: GetAccessTokenFn;
25
26
  baseUrl?: string;
@@ -32,27 +33,29 @@ export interface ReportsConfigContextProps {
32
33
  children?: React.ReactNode;
33
34
  }
34
35
 
35
- const authorizationClientGetAccessToken = async () =>
36
- (await IModelApp.authorizationClient?.getAccessToken()) ?? "";
36
+ const authorizationClientGetAccessToken = async () => (await IModelApp.authorizationClient?.getAccessToken()) ?? "";
37
37
 
38
+ /**
39
+ * Reports Config context providers required for all components.
40
+ * @public
41
+ */
38
42
  export const ReportsConfigContext = (props: ReportsConfigContextProps) => {
39
- const reportsBaseUrl = useCallback(() => generateUrl(
40
- REPORTING_BASE_PATH,
41
- props.baseUrl || REPORTS_CONFIG_BASE_URL
42
- ), [props.baseUrl]);
43
- const iModelClientOptions: IModelsClientOptions = useMemo(() => ({
44
- api: { baseUrl: generateUrl(IMODELS_BASE_URL, props.baseUrl ?? REPORTS_CONFIG_BASE_URL) },
45
- }), [props.baseUrl]);
46
- const [extractionClient, setExtractionClient] = useState<ExtractionClient>(
47
- props.extractionClient ?? new ExtractionClient(reportsBaseUrl())
43
+ const reportsBaseUrl = useCallback(() => generateUrl(REPORTING_BASE_PATH, props.baseUrl || REPORTS_CONFIG_BASE_URL), [props.baseUrl]);
44
+ const groupingMappingBaseUrl = useCallback(() => generateUrl(GROUPING_AND_MAPPING_BASE_PATH, props.baseUrl || REPORTS_CONFIG_BASE_URL), [props.baseUrl]);
45
+ const iModelClientOptions: IModelsClientOptions = useMemo(
46
+ () => ({
47
+ api: { baseUrl: generateUrl(IMODELS_BASE_URL, props.baseUrl ?? REPORTS_CONFIG_BASE_URL) },
48
+ }),
49
+ [props.baseUrl],
48
50
  );
51
+ const [extractionClient, setExtractionClient] = useState<ExtractionClient>(props.extractionClient ?? new ExtractionClient(reportsBaseUrl()));
49
52
 
50
53
  const [apiConfig, setApiConfig] = useState<ReportsConfigApiProps>({
51
54
  getAccessToken: props.getAccessToken ?? authorizationClientGetAccessToken,
52
55
  baseUrl: reportsBaseUrl(),
53
56
  iTwinId: props.iTwinId,
54
57
  reportsClient: props.reportsClient ?? new ReportsClient(reportsBaseUrl()),
55
- mappingsClient: props.mappingsClient ?? new MappingsClient(reportsBaseUrl()),
58
+ mappingsClient: props.mappingsClient ?? new MappingsClient(groupingMappingBaseUrl()),
56
59
  iModelsClient: props.iModelsClient ?? new IModelsClient(iModelClientOptions),
57
60
  });
58
61
 
@@ -71,8 +74,12 @@ export const ReportsConfigContext = (props: ReportsConfigContextProps) => {
71
74
  };
72
75
 
73
76
  const bulkExtractor = useMemo(
74
- () => ({ bulkExtractor: props.bulkExtractor ?? new BulkExtractor(apiConfig.reportsClient, extractionClient, apiConfig.getAccessToken, successfulExtractionToast, failedExtractionToast) }),
75
- [apiConfig.getAccessToken, apiConfig.reportsClient, extractionClient, props.bulkExtractor]
77
+ () => ({
78
+ bulkExtractor:
79
+ props.bulkExtractor ??
80
+ new BulkExtractor(apiConfig.reportsClient, extractionClient, apiConfig.getAccessToken, successfulExtractionToast, failedExtractionToast),
81
+ }),
82
+ [apiConfig.getAccessToken, apiConfig.reportsClient, extractionClient, props.bulkExtractor],
76
83
  );
77
84
 
78
85
  useEffect(() => {
@@ -88,9 +95,7 @@ export const ReportsConfigContext = (props: ReportsConfigContextProps) => {
88
95
 
89
96
  return (
90
97
  <ReportsConfigApiContext.Provider value={apiConfig}>
91
- <BulkExtractorContext.Provider value={bulkExtractor}>
92
- {props.children}
93
- </BulkExtractorContext.Provider>
98
+ <BulkExtractorContext.Provider value={bulkExtractor}>{props.children}</BulkExtractorContext.Provider>
94
99
  </ReportsConfigApiContext.Provider>
95
100
  );
96
101
  };
@@ -13,4 +13,4 @@
13
13
  box-sizing: border-box;
14
14
  height: 100%;
15
15
  overflow: auto;
16
- }
16
+ }
@@ -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 type { AccessToken } from "@itwin/core-bentley";
6
6
  import React, { useCallback, useState } from "react";
7
7
  import "./ReportsContainer.scss";
@@ -19,7 +19,7 @@ interface ReportsContainerProps {
19
19
  export enum RouteStep {
20
20
  ReportsList,
21
21
  ReportAction,
22
- ReportMappings
22
+ ReportMappings,
23
23
  }
24
24
 
25
25
  export interface ReportsRouteFields {
@@ -32,14 +32,8 @@ export interface Route {
32
32
  reportsRoutingFields: ReportsRouteFields;
33
33
  }
34
34
 
35
- const ReportsContainer = ({
36
- getAccessToken,
37
- baseUrl,
38
- }: ReportsContainerProps) => {
39
-
40
- const [routingHistory, setRoutingHistory] = useState<Route[]>([
41
- { step: RouteStep.ReportsList, title: "iTwin Reports", reportsRoutingFields: {} },
42
- ]);
35
+ const ReportsContainer = ({ getAccessToken, baseUrl }: ReportsContainerProps) => {
36
+ const [routingHistory, setRoutingHistory] = useState<Route[]>([{ step: RouteStep.ReportsList, title: "iTwin Reports", reportsRoutingFields: {} }]);
43
37
  const currentRoute = routingHistory[routingHistory.length - 1];
44
38
  const iTwinId = useActiveIModelConnection()?.iTwinId ?? "";
45
39
  const navigateTo = useCallback((toRoute: (prev: Route | undefined) => Route) => {
@@ -55,15 +49,8 @@ const ReportsContainer = ({
55
49
  return (
56
50
  <ReportsConfigContext getAccessToken={getAccessToken} baseUrl={baseUrl} iTwinId={iTwinId}>
57
51
  <div className="rcw-reports-container">
58
- <ReportsHeader
59
- goBack={goBack}
60
- currentRoute={currentRoute}
61
- />
62
- <ReportsRouter
63
- currentRoute={currentRoute}
64
- navigateTo={navigateTo}
65
- goBack={goBack}
66
- />
52
+ <ReportsHeader goBack={goBack} currentRoute={currentRoute} />
53
+ <ReportsRouter currentRoute={currentRoute} navigateTo={navigateTo} goBack={goBack} />
67
54
  </div>
68
55
  </ReportsConfigContext>
69
56
  );
@@ -1,27 +1,14 @@
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 type { Route } from "./ReportsContainer";
7
7
  import { RouteStep } from "./ReportsContainer";
8
8
  import { WidgetHeader } from "./utils";
9
9
 
10
- export const ReportsHeader = ({
11
- goBack,
12
- currentRoute,
13
- }: {
14
- goBack: () => void;
15
- currentRoute: Route;
16
- }) => {
17
- const shouldDisableReturnFn =
18
- currentRoute.step === RouteStep.ReportsList ||
19
- currentRoute.step === RouteStep.ReportAction;
10
+ export const ReportsHeader = ({ goBack, currentRoute }: { goBack: () => void; currentRoute: Route }) => {
11
+ const shouldDisableReturnFn = currentRoute.step === RouteStep.ReportsList || currentRoute.step === RouteStep.ReportAction;
20
12
 
21
- return (
22
- <WidgetHeader
23
- returnFn={shouldDisableReturnFn ? undefined : goBack}
24
- title={currentRoute.title}
25
- />
26
- );
13
+ return <WidgetHeader returnFn={shouldDisableReturnFn ? undefined : goBack} title={currentRoute.title} />;
27
14
  };
@@ -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";
@@ -29,9 +29,7 @@ export const ReportsRouter = ({
29
29
  onClickAddReport={() =>
30
30
  navigateTo(() => ({
31
31
  step: RouteStep.ReportAction,
32
- title: ReportsConfigWidget.localization.getLocalizedString(
33
- "ReportsConfigWidget:ITwinReports"
34
- ),
32
+ title: ReportsConfigWidget.localization.getLocalizedString("ReportsConfigWidget:ITwinReports"),
35
33
  reportsRoutingFields: {},
36
34
  }))
37
35
  }
@@ -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 { SvgCloseSmall, SvgSearch } from "@itwin/itwinui-icons-react";
6
6
  import { IconButton, LabeledInput } from "@itwin/itwinui-react";
7
7
  import React, { useState } from "react";
@@ -14,16 +14,13 @@ interface SearchBarProps {
14
14
  disabled?: boolean;
15
15
  }
16
16
 
17
- export const SearchBar = ({
18
- searchValue,
19
- setSearchValue,
20
- disabled,
21
- }: SearchBarProps) => {
17
+ export const SearchBar = ({ searchValue, setSearchValue, disabled }: SearchBarProps) => {
22
18
  const [searchBarOpen, setSearchBarOpened] = useState<boolean>(false);
23
19
  const [searchBarClosing, setSearchBarClosing] = useState<boolean>(false);
24
20
 
25
21
  return searchBarOpen || searchValue ? (
26
- <div className="rcw-search-button"
22
+ <div
23
+ className="rcw-search-button"
27
24
  style={{
28
25
  animation: searchBarClosing ? "rcw-shrink .5s" : "rcw-expand .5s",
29
26
  }}
@@ -37,9 +34,7 @@ export const SearchBar = ({
37
34
  >
38
35
  <LabeledInput
39
36
  aria-label="search-textbox"
40
- placeholder={ReportsConfigWidget.localization.getLocalizedString(
41
- "ReportsConfigWidget:Search"
42
- )}
37
+ placeholder={ReportsConfigWidget.localization.getLocalizedString("ReportsConfigWidget:Search")}
43
38
  svgIcon={
44
39
  <IconButton
45
40
  onClick={() => setSearchBarClosing(true)}
@@ -60,7 +55,8 @@ export const SearchBar = ({
60
55
  styleType="borderless"
61
56
  data-testid="rcw-search-button"
62
57
  title={ReportsConfigWidget.localization.getLocalizedString("ReportsConfigWidget:SearchReport")}
63
- onClick={() => setSearchBarOpened(true)}>
58
+ onClick={() => setSearchBarOpened(true)}
59
+ >
64
60
  <SvgSearch />
65
61
  </IconButton>
66
62
  );
@@ -12,4 +12,4 @@
12
12
  gap: var(--iui-size-xs);
13
13
  width: 100%;
14
14
  }
15
- }
15
+ }
@@ -1,17 +1,11 @@
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 type { AccessToken } from "@itwin/core-bentley";
6
6
  import { AccessTokenAdapter } from "@itwin/imodels-access-frontend";
7
- import type {
8
- GetIModelListParams,
9
- IModelsClient,
10
- MinimalIModel,
11
- } from "@itwin/imodels-client-management";
12
- import {
13
- toArray,
14
- } from "@itwin/imodels-client-management";
7
+ import type { GetIModelListParams, IModelsClient, MinimalIModel } from "@itwin/imodels-client-management";
8
+ import { toArray } from "@itwin/imodels-client-management";
15
9
  import { ComboBox, Label } from "@itwin/itwinui-react";
16
10
  import React, { useEffect, useMemo, useState } from "react";
17
11
  import { ReportsConfigWidget } from "../../ReportsConfigWidget";
@@ -22,7 +16,7 @@ const fetchIModels = async (
22
16
  setiModels: React.Dispatch<React.SetStateAction<MinimalIModel[]>>,
23
17
  iTwinId: string,
24
18
  iModelsClient: IModelsClient,
25
- getAccessToken: () => Promise<AccessToken>
19
+ getAccessToken: () => Promise<AccessToken>,
26
20
  ) => {
27
21
  const accessToken = await getAccessToken();
28
22
  const authorization = AccessTokenAdapter.toAuthorizationCallback(accessToken);
@@ -30,9 +24,7 @@ const fetchIModels = async (
30
24
  urlParams: { iTwinId },
31
25
  authorization,
32
26
  };
33
- const iModels = await toArray(
34
- iModelsClient.iModels.getMinimalList(getiModelListParams)
35
- );
27
+ const iModels = await toArray(iModelsClient.iModels.getMinimalList(getiModelListParams));
36
28
  setiModels(iModels);
37
29
  };
38
30
 
@@ -41,10 +33,7 @@ interface SelectedIModelProps {
41
33
  setSelectedIModelId: (iModelId: string) => void;
42
34
  }
43
35
 
44
- export const SelectIModel = ({
45
- selectedIModelId,
46
- setSelectedIModelId,
47
- }: SelectedIModelProps) => {
36
+ export const SelectIModel = ({ selectedIModelId, setSelectedIModelId }: SelectedIModelProps) => {
48
37
  const { iTwinId, getAccessToken, iModelsClient } = useReportsConfigApi();
49
38
  const [iModels, setIModels] = useState<MinimalIModel[]>([]);
50
39
 
@@ -61,11 +50,7 @@ export const SelectIModel = ({
61
50
 
62
51
  return (
63
52
  <div className="rcw-select-imodel">
64
- <Label htmlFor="combo-input">
65
- {ReportsConfigWidget.localization.getLocalizedString(
66
- "ReportsConfigWidget:SelectIModel"
67
- )}
68
- </Label>
53
+ <Label htmlFor="combo-input">{ReportsConfigWidget.localization.getLocalizedString("ReportsConfigWidget:SelectIModel")}</Label>
69
54
  <div className="rcw-combobox">
70
55
  <ComboBox<string>
71
56
  options={iModelOptions}
@@ -44,4 +44,4 @@
44
44
  .rcw-skeleton-block {
45
45
  height: calc(var(--iui-size-s) * 3);
46
46
  width: 100%;
47
- }
47
+ }