@itwin/reports-config-widget-react 0.2.1 → 0.4.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 (343) hide show
  1. package/.rush/temp/operation/rebuild/all.log +9 -0
  2. package/.rush/temp/operation/rebuild/state.json +3 -0
  3. package/.rush/temp/package-deps_rebuild.json +48 -44
  4. package/.rush/temp/shrinkwrap-deps.json +228 -207
  5. package/CHANGELOG.json +44 -0
  6. package/CHANGELOG.md +24 -1
  7. package/coverage/clover.xml +562 -542
  8. package/coverage/coverage-final.json +24 -20
  9. package/coverage/lcov-report/index.html +51 -51
  10. package/coverage/lcov-report/src/ReportsConfigWidget.ts.html +22 -22
  11. package/coverage/lcov-report/src/index.html +21 -21
  12. package/coverage/lcov-report/src/test/index.html +11 -11
  13. package/coverage/lcov-report/src/test/test-utils.tsx.html +20 -140
  14. package/coverage/lcov-report/src/widget/ReportsConfigUiProvider.tsx.html +14 -35
  15. package/coverage/lcov-report/src/widget/components/ActionPanel.tsx.html +26 -20
  16. package/coverage/lcov-report/src/widget/components/AddMappingsModal.tsx.html +94 -109
  17. package/coverage/lcov-report/src/widget/components/BulkExtractor.ts.html +55 -52
  18. package/coverage/lcov-report/src/widget/components/Constants.ts.html +1 -1
  19. package/coverage/lcov-report/src/widget/components/DeleteModal.tsx.html +28 -46
  20. package/coverage/lcov-report/src/widget/components/ExtractionStates/FailedExtractionState.tsx.html +1 -1
  21. package/coverage/lcov-report/src/widget/components/ExtractionStates/QueuedExtractionState.tsx.html +1 -1
  22. package/coverage/lcov-report/src/widget/components/ExtractionStates/RunningExtractionState.tsx.html +1 -1
  23. package/coverage/lcov-report/src/widget/components/ExtractionStates/StartingExtractionState.tsx.html +1 -1
  24. package/coverage/lcov-report/src/widget/components/ExtractionStates/SucceededExtractionState.tsx.html +1 -1
  25. package/coverage/lcov-report/src/widget/components/ExtractionStates/index.html +1 -1
  26. package/coverage/lcov-report/src/widget/components/ExtractionStatus.tsx.html +1 -1
  27. package/coverage/lcov-report/src/widget/components/ExtractionToast.tsx.html +1 -1
  28. package/coverage/lcov-report/src/widget/components/HorizontalTile.tsx.html +3 -3
  29. package/coverage/lcov-report/src/widget/components/LocalizedTablePaginator.tsx.html +8 -8
  30. package/coverage/lcov-report/src/widget/components/ReportAction.tsx.html +36 -81
  31. package/coverage/lcov-report/src/widget/components/ReportHorizontalTile.tsx.html +38 -41
  32. package/coverage/lcov-report/src/widget/components/ReportMappingHorizontalTile.tsx.html +46 -46
  33. package/coverage/lcov-report/src/widget/components/ReportMappings.tsx.html +127 -142
  34. package/coverage/lcov-report/src/widget/components/Reports.tsx.html +189 -312
  35. package/coverage/lcov-report/src/widget/components/ReportsConfigContext.tsx.html +370 -0
  36. package/coverage/lcov-report/src/widget/components/ReportsContainer.tsx.html +111 -33
  37. package/coverage/lcov-report/src/widget/components/ReportsHeader.tsx.html +166 -0
  38. package/coverage/lcov-report/src/widget/components/ReportsRouter.tsx.html +274 -0
  39. package/coverage/lcov-report/src/widget/components/SearchBar.tsx.html +22 -7
  40. package/coverage/lcov-report/src/widget/components/SelectIModel.tsx.html +40 -94
  41. package/coverage/lcov-report/src/widget/components/index.html +142 -97
  42. package/coverage/lcov-report/src/widget/components/utils.tsx.html +22 -19
  43. package/coverage/lcov-report/src/widget/context/{ReportsApiConfigContext.tsx.html → BulkExtractorContext.tsx.html} +23 -26
  44. package/coverage/lcov-report/src/widget/context/ReportsConfigApiContext.tsx.html +202 -0
  45. package/coverage/lcov-report/src/widget/context/index.html +30 -15
  46. package/coverage/lcov-report/src/widget/hooks/index.html +1 -1
  47. package/coverage/lcov-report/src/widget/hooks/useValidator.ts.html +11 -11
  48. package/coverage/lcov-report/src/widget/index.html +13 -13
  49. package/coverage/lcov.info +1036 -1034
  50. package/jest.config.js +1 -0
  51. package/lib/cjs/ReportsConfigWidget.js +1 -1
  52. package/lib/cjs/ReportsConfigWidget.js.map +1 -1
  53. package/lib/cjs/reports-config-widget-react.d.ts +5 -0
  54. package/lib/cjs/reports-config-widget-react.d.ts.map +1 -1
  55. package/lib/cjs/reports-config-widget-react.js +11 -0
  56. package/lib/cjs/reports-config-widget-react.js.map +1 -1
  57. package/lib/cjs/test/AddMappingModal.test.js +20 -34
  58. package/lib/cjs/test/AddMappingModal.test.js.map +1 -1
  59. package/lib/cjs/test/BulkExtractor.test.js +13 -19
  60. package/lib/cjs/test/BulkExtractor.test.js.map +1 -1
  61. package/lib/cjs/test/DeleteModal.test.d.ts.map +1 -1
  62. package/lib/cjs/test/DeleteModal.test.js +4 -62
  63. package/lib/cjs/test/DeleteModal.test.js.map +1 -1
  64. package/lib/cjs/test/ReportAction.test.js +14 -79
  65. package/lib/cjs/test/ReportAction.test.js.map +1 -1
  66. package/lib/cjs/test/ReportMappingHorizontalTile.test.js +20 -54
  67. package/lib/cjs/test/ReportMappingHorizontalTile.test.js.map +1 -1
  68. package/lib/cjs/test/ReportMappings.test.d.ts.map +1 -1
  69. package/lib/cjs/test/ReportMappings.test.js +51 -106
  70. package/lib/cjs/test/ReportMappings.test.js.map +1 -1
  71. package/lib/cjs/test/Reports.test.js +41 -96
  72. package/lib/cjs/test/Reports.test.js.map +1 -1
  73. package/lib/cjs/test/WidgetHeader.test.js +9 -3
  74. package/lib/cjs/test/WidgetHeader.test.js.map +1 -1
  75. package/lib/cjs/test/test-utils.d.ts +3 -8
  76. package/lib/cjs/test/test-utils.d.ts.map +1 -1
  77. package/lib/cjs/test/test-utils.js +6 -34
  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 +3 -3
  81. package/lib/cjs/widget/ReportsConfigUiProvider.d.ts.map +1 -1
  82. package/lib/cjs/widget/ReportsConfigUiProvider.js +5 -7
  83. package/lib/cjs/widget/ReportsConfigUiProvider.js.map +1 -1
  84. package/lib/cjs/widget/components/ActionPanel.d.ts +3 -3
  85. package/lib/cjs/widget/components/ActionPanel.d.ts.map +1 -1
  86. package/lib/cjs/widget/components/ActionPanel.js +4 -4
  87. package/lib/cjs/widget/components/ActionPanel.js.map +1 -1
  88. package/lib/cjs/widget/components/ActionPanel.scss +2 -3
  89. package/lib/cjs/widget/components/AddMappingsModal.d.ts +4 -4
  90. package/lib/cjs/widget/components/AddMappingsModal.d.ts.map +1 -1
  91. package/lib/cjs/widget/components/AddMappingsModal.js +39 -43
  92. package/lib/cjs/widget/components/AddMappingsModal.js.map +1 -1
  93. package/lib/cjs/widget/components/AddMappingsModal.scss +1 -2
  94. package/lib/cjs/widget/components/BulkExtractor.d.ts +4 -4
  95. package/lib/cjs/widget/components/BulkExtractor.d.ts.map +1 -1
  96. package/lib/cjs/widget/components/BulkExtractor.js +8 -8
  97. package/lib/cjs/widget/components/BulkExtractor.js.map +1 -1
  98. package/lib/cjs/widget/components/DeleteModal.d.ts +4 -5
  99. package/lib/cjs/widget/components/DeleteModal.d.ts.map +1 -1
  100. package/lib/cjs/widget/components/DeleteModal.js +11 -15
  101. package/lib/cjs/widget/components/DeleteModal.js.map +1 -1
  102. package/lib/cjs/widget/components/DeleteModal.scss +2 -3
  103. package/lib/cjs/widget/components/ExtractionStatus.js +2 -2
  104. package/lib/cjs/widget/components/ExtractionStatus.js.map +1 -1
  105. package/lib/cjs/widget/components/ExtractionStatus.scss +6 -7
  106. package/lib/cjs/widget/components/HorizontalTile.js +2 -2
  107. package/lib/cjs/widget/components/HorizontalTile.js.map +1 -1
  108. package/lib/cjs/widget/components/HorizontalTile.scss +11 -14
  109. package/lib/cjs/widget/components/LocalizedTablePaginator.js +2 -2
  110. package/lib/cjs/widget/components/LocalizedTablePaginator.js.map +1 -1
  111. package/lib/cjs/widget/components/ReportAction.d.ts +4 -5
  112. package/lib/cjs/widget/components/ReportAction.d.ts.map +1 -1
  113. package/lib/cjs/widget/components/ReportAction.js +24 -26
  114. package/lib/cjs/widget/components/ReportAction.js.map +1 -1
  115. package/lib/cjs/widget/components/ReportAction.scss +1 -2
  116. package/lib/cjs/widget/components/ReportHorizontalTile.d.ts +4 -4
  117. package/lib/cjs/widget/components/ReportHorizontalTile.d.ts.map +1 -1
  118. package/lib/cjs/widget/components/ReportHorizontalTile.js +33 -20
  119. package/lib/cjs/widget/components/ReportHorizontalTile.js.map +1 -1
  120. package/lib/cjs/widget/components/ReportMappingHorizontalTile.d.ts +1 -1
  121. package/lib/cjs/widget/components/ReportMappingHorizontalTile.d.ts.map +1 -1
  122. package/lib/cjs/widget/components/ReportMappingHorizontalTile.js +36 -21
  123. package/lib/cjs/widget/components/ReportMappingHorizontalTile.js.map +1 -1
  124. package/lib/cjs/widget/components/ReportMappings.d.ts +4 -6
  125. package/lib/cjs/widget/components/ReportMappings.d.ts.map +1 -1
  126. package/lib/cjs/widget/components/ReportMappings.js +50 -63
  127. package/lib/cjs/widget/components/ReportMappings.js.map +1 -1
  128. package/lib/cjs/widget/components/ReportMappings.scss +10 -11
  129. package/lib/cjs/widget/components/Reports.d.ts +6 -1
  130. package/lib/cjs/widget/components/Reports.d.ts.map +1 -1
  131. package/lib/cjs/widget/components/Reports.js +53 -94
  132. package/lib/cjs/widget/components/Reports.js.map +1 -1
  133. package/lib/cjs/widget/components/Reports.scss +15 -15
  134. package/lib/cjs/widget/components/ReportsConfigContext.d.ts +18 -0
  135. package/lib/cjs/widget/components/ReportsConfigContext.d.ts.map +1 -0
  136. package/lib/cjs/widget/components/ReportsConfigContext.js +79 -0
  137. package/lib/cjs/widget/components/ReportsConfigContext.js.map +1 -0
  138. package/lib/cjs/widget/components/ReportsContainer.d.ts +14 -0
  139. package/lib/cjs/widget/components/ReportsContainer.d.ts.map +1 -1
  140. package/lib/cjs/widget/components/ReportsContainer.js +27 -16
  141. package/lib/cjs/widget/components/ReportsContainer.js.map +1 -1
  142. package/lib/cjs/widget/components/ReportsContainer.scss +1 -3
  143. package/lib/cjs/widget/components/ReportsHeader.d.ts +7 -0
  144. package/lib/cjs/widget/components/ReportsHeader.d.ts.map +1 -0
  145. package/lib/cjs/widget/components/ReportsHeader.js +20 -0
  146. package/lib/cjs/widget/components/ReportsHeader.js.map +1 -0
  147. package/lib/cjs/widget/components/ReportsRouter.d.ts +8 -0
  148. package/lib/cjs/widget/components/ReportsRouter.d.ts.map +1 -0
  149. package/lib/cjs/widget/components/ReportsRouter.js +51 -0
  150. package/lib/cjs/widget/components/ReportsRouter.js.map +1 -0
  151. package/lib/cjs/widget/components/SearchBar.d.ts.map +1 -1
  152. package/lib/cjs/widget/components/SearchBar.js +4 -5
  153. package/lib/cjs/widget/components/SearchBar.js.map +1 -1
  154. package/lib/cjs/widget/components/SearchBar.scss +1 -2
  155. package/lib/cjs/widget/components/SelectIModel.d.ts +3 -3
  156. package/lib/cjs/widget/components/SelectIModel.d.ts.map +1 -1
  157. package/lib/cjs/widget/components/SelectIModel.js +10 -30
  158. package/lib/cjs/widget/components/SelectIModel.js.map +1 -1
  159. package/lib/cjs/widget/components/SelectIModel.scss +2 -3
  160. package/lib/cjs/widget/components/utils.d.ts +1 -1
  161. package/lib/cjs/widget/components/utils.d.ts.map +1 -1
  162. package/lib/cjs/widget/components/utils.js +1 -1
  163. package/lib/cjs/widget/components/utils.js.map +1 -1
  164. package/lib/cjs/widget/components/utils.scss +16 -8
  165. package/lib/cjs/widget/context/BulkExtractorContext.d.ts +10 -0
  166. package/lib/cjs/widget/context/BulkExtractorContext.d.ts.map +1 -0
  167. package/lib/cjs/widget/context/{ReportsApiConfigContext.js → BulkExtractorContext.js} +7 -10
  168. package/lib/cjs/widget/context/BulkExtractorContext.js.map +1 -0
  169. package/lib/cjs/widget/context/ReportsConfigApiContext.d.ts +16 -0
  170. package/lib/cjs/widget/context/ReportsConfigApiContext.d.ts.map +1 -0
  171. package/lib/cjs/widget/context/ReportsConfigApiContext.js +43 -0
  172. package/lib/cjs/widget/context/ReportsConfigApiContext.js.map +1 -0
  173. package/lib/cjs/widget/hooks/useValidator.js +1 -1
  174. package/lib/cjs/widget/hooks/useValidator.js.map +1 -1
  175. package/lib/esm/ReportsConfigWidget.js +1 -1
  176. package/lib/esm/ReportsConfigWidget.js.map +1 -1
  177. package/lib/esm/reports-config-widget-react.d.ts +5 -0
  178. package/lib/esm/reports-config-widget-react.d.ts.map +1 -1
  179. package/lib/esm/reports-config-widget-react.js +5 -0
  180. package/lib/esm/reports-config-widget-react.js.map +1 -1
  181. package/lib/esm/test/AddMappingModal.test.js +17 -31
  182. package/lib/esm/test/AddMappingModal.test.js.map +1 -1
  183. package/lib/esm/test/BulkExtractor.test.js +14 -17
  184. package/lib/esm/test/BulkExtractor.test.js.map +1 -1
  185. package/lib/esm/test/DeleteModal.test.d.ts.map +1 -1
  186. package/lib/esm/test/DeleteModal.test.js +5 -44
  187. package/lib/esm/test/DeleteModal.test.js.map +1 -1
  188. package/lib/esm/test/ReportAction.test.js +14 -60
  189. package/lib/esm/test/ReportAction.test.js.map +1 -1
  190. package/lib/esm/test/ReportMappingHorizontalTile.test.js +4 -38
  191. package/lib/esm/test/ReportMappingHorizontalTile.test.js.map +1 -1
  192. package/lib/esm/test/ReportMappings.test.d.ts.map +1 -1
  193. package/lib/esm/test/ReportMappings.test.js +43 -98
  194. package/lib/esm/test/ReportMappings.test.js.map +1 -1
  195. package/lib/esm/test/Reports.test.js +24 -60
  196. package/lib/esm/test/Reports.test.js.map +1 -1
  197. package/lib/esm/test/WidgetHeader.test.js +8 -2
  198. package/lib/esm/test/WidgetHeader.test.js.map +1 -1
  199. package/lib/esm/test/test-utils.d.ts +3 -8
  200. package/lib/esm/test/test-utils.d.ts.map +1 -1
  201. package/lib/esm/test/test-utils.js +4 -31
  202. package/lib/esm/test/test-utils.js.map +1 -1
  203. package/lib/esm/tsconfig.tsbuildinfo +1 -1
  204. package/lib/esm/widget/ReportsConfigUiProvider.d.ts +3 -3
  205. package/lib/esm/widget/ReportsConfigUiProvider.d.ts.map +1 -1
  206. package/lib/esm/widget/ReportsConfigUiProvider.js +2 -4
  207. package/lib/esm/widget/ReportsConfigUiProvider.js.map +1 -1
  208. package/lib/esm/widget/components/ActionPanel.d.ts +3 -3
  209. package/lib/esm/widget/components/ActionPanel.d.ts.map +1 -1
  210. package/lib/esm/widget/components/ActionPanel.js +4 -4
  211. package/lib/esm/widget/components/ActionPanel.js.map +1 -1
  212. package/lib/esm/widget/components/ActionPanel.scss +2 -3
  213. package/lib/esm/widget/components/AddMappingsModal.d.ts +4 -4
  214. package/lib/esm/widget/components/AddMappingsModal.d.ts.map +1 -1
  215. package/lib/esm/widget/components/AddMappingsModal.js +35 -39
  216. package/lib/esm/widget/components/AddMappingsModal.js.map +1 -1
  217. package/lib/esm/widget/components/AddMappingsModal.scss +1 -2
  218. package/lib/esm/widget/components/BulkExtractor.d.ts +4 -4
  219. package/lib/esm/widget/components/BulkExtractor.d.ts.map +1 -1
  220. package/lib/esm/widget/components/BulkExtractor.js +7 -8
  221. package/lib/esm/widget/components/BulkExtractor.js.map +1 -1
  222. package/lib/esm/widget/components/DeleteModal.d.ts +4 -5
  223. package/lib/esm/widget/components/DeleteModal.d.ts.map +1 -1
  224. package/lib/esm/widget/components/DeleteModal.js +11 -15
  225. package/lib/esm/widget/components/DeleteModal.js.map +1 -1
  226. package/lib/esm/widget/components/DeleteModal.scss +2 -3
  227. package/lib/esm/widget/components/ExtractionStatus.scss +6 -7
  228. package/lib/esm/widget/components/HorizontalTile.scss +11 -14
  229. package/lib/esm/widget/components/ReportAction.d.ts +4 -5
  230. package/lib/esm/widget/components/ReportAction.d.ts.map +1 -1
  231. package/lib/esm/widget/components/ReportAction.js +17 -21
  232. package/lib/esm/widget/components/ReportAction.js.map +1 -1
  233. package/lib/esm/widget/components/ReportAction.scss +1 -2
  234. package/lib/esm/widget/components/ReportHorizontalTile.d.ts +4 -4
  235. package/lib/esm/widget/components/ReportHorizontalTile.d.ts.map +1 -1
  236. package/lib/esm/widget/components/ReportHorizontalTile.js +6 -9
  237. package/lib/esm/widget/components/ReportHorizontalTile.js.map +1 -1
  238. package/lib/esm/widget/components/ReportMappingHorizontalTile.d.ts +1 -1
  239. package/lib/esm/widget/components/ReportMappingHorizontalTile.d.ts.map +1 -1
  240. package/lib/esm/widget/components/ReportMappingHorizontalTile.js +12 -13
  241. package/lib/esm/widget/components/ReportMappingHorizontalTile.js.map +1 -1
  242. package/lib/esm/widget/components/ReportMappings.d.ts +4 -6
  243. package/lib/esm/widget/components/ReportMappings.d.ts.map +1 -1
  244. package/lib/esm/widget/components/ReportMappings.js +43 -56
  245. package/lib/esm/widget/components/ReportMappings.js.map +1 -1
  246. package/lib/esm/widget/components/ReportMappings.scss +10 -11
  247. package/lib/esm/widget/components/Reports.d.ts +6 -1
  248. package/lib/esm/widget/components/Reports.d.ts.map +1 -1
  249. package/lib/esm/widget/components/Reports.js +46 -87
  250. package/lib/esm/widget/components/Reports.js.map +1 -1
  251. package/lib/esm/widget/components/Reports.scss +15 -15
  252. package/lib/esm/widget/components/ReportsConfigContext.d.ts +18 -0
  253. package/lib/esm/widget/components/ReportsConfigContext.d.ts.map +1 -0
  254. package/lib/esm/widget/components/ReportsConfigContext.js +56 -0
  255. package/lib/esm/widget/components/ReportsConfigContext.js.map +1 -0
  256. package/lib/esm/widget/components/ReportsContainer.d.ts +14 -0
  257. package/lib/esm/widget/components/ReportsContainer.d.ts.map +1 -1
  258. package/lib/esm/widget/components/ReportsContainer.js +27 -17
  259. package/lib/esm/widget/components/ReportsContainer.js.map +1 -1
  260. package/lib/esm/widget/components/ReportsContainer.scss +1 -3
  261. package/lib/esm/widget/components/ReportsHeader.d.ts +7 -0
  262. package/lib/esm/widget/components/ReportsHeader.d.ts.map +1 -0
  263. package/lib/esm/widget/components/ReportsHeader.js +13 -0
  264. package/lib/esm/widget/components/ReportsHeader.js.map +1 -0
  265. package/lib/esm/widget/components/ReportsRouter.d.ts +8 -0
  266. package/lib/esm/widget/components/ReportsRouter.d.ts.map +1 -0
  267. package/lib/esm/widget/components/ReportsRouter.js +44 -0
  268. package/lib/esm/widget/components/ReportsRouter.js.map +1 -0
  269. package/lib/esm/widget/components/SearchBar.d.ts.map +1 -1
  270. package/lib/esm/widget/components/SearchBar.js +2 -3
  271. package/lib/esm/widget/components/SearchBar.js.map +1 -1
  272. package/lib/esm/widget/components/SearchBar.scss +1 -2
  273. package/lib/esm/widget/components/SelectIModel.d.ts +3 -3
  274. package/lib/esm/widget/components/SelectIModel.d.ts.map +1 -1
  275. package/lib/esm/widget/components/SelectIModel.js +7 -27
  276. package/lib/esm/widget/components/SelectIModel.js.map +1 -1
  277. package/lib/esm/widget/components/SelectIModel.scss +2 -3
  278. package/lib/esm/widget/components/utils.d.ts +1 -1
  279. package/lib/esm/widget/components/utils.d.ts.map +1 -1
  280. package/lib/esm/widget/components/utils.js +2 -2
  281. package/lib/esm/widget/components/utils.js.map +1 -1
  282. package/lib/esm/widget/components/utils.scss +16 -8
  283. package/lib/esm/widget/context/BulkExtractorContext.d.ts +10 -0
  284. package/lib/esm/widget/context/BulkExtractorContext.d.ts.map +1 -0
  285. package/lib/esm/widget/context/BulkExtractorContext.js +11 -0
  286. package/lib/esm/widget/context/BulkExtractorContext.js.map +1 -0
  287. package/lib/esm/widget/context/ReportsConfigApiContext.d.ts +16 -0
  288. package/lib/esm/widget/context/ReportsConfigApiContext.d.ts.map +1 -0
  289. package/lib/esm/widget/context/ReportsConfigApiContext.js +20 -0
  290. package/lib/esm/widget/context/ReportsConfigApiContext.js.map +1 -0
  291. package/lib/public/locales/en/ReportsConfigWidget.json +6 -1
  292. package/package.json +29 -29
  293. package/public/locales/en/ReportsConfigWidget.json +6 -1
  294. package/reports-config-widget-react.build.error.log +6 -6
  295. package/reports-config-widget-react.build.log +52 -49
  296. package/src/reports-config-widget-react.ts +6 -0
  297. package/src/test/AddMappingModal.test.tsx +20 -37
  298. package/src/test/BulkExtractor.test.ts +15 -17
  299. package/src/test/DeleteModal.test.tsx +4 -73
  300. package/src/test/ReportAction.test.tsx +17 -90
  301. package/src/test/ReportMappingHorizontalTile.test.tsx +3 -54
  302. package/src/test/ReportMappings.test.tsx +50 -135
  303. package/src/test/Reports.test.tsx +21 -80
  304. package/src/test/WidgetHeader.test.tsx +9 -2
  305. package/src/test/test-utils.tsx +9 -49
  306. package/src/widget/ReportsConfigUiProvider.tsx +7 -14
  307. package/src/widget/components/ActionPanel.scss +2 -3
  308. package/src/widget/components/ActionPanel.tsx +17 -15
  309. package/src/widget/components/AddMappingsModal.scss +1 -2
  310. package/src/widget/components/AddMappingsModal.tsx +55 -60
  311. package/src/widget/components/BulkExtractor.ts +11 -10
  312. package/src/widget/components/DeleteModal.scss +2 -3
  313. package/src/widget/components/DeleteModal.tsx +17 -23
  314. package/src/widget/components/ExtractionStatus.scss +6 -7
  315. package/src/widget/components/HorizontalTile.scss +11 -14
  316. package/src/widget/components/ReportAction.scss +1 -2
  317. package/src/widget/components/ReportAction.tsx +18 -33
  318. package/src/widget/components/ReportHorizontalTile.tsx +11 -12
  319. package/src/widget/components/ReportMappingHorizontalTile.tsx +30 -30
  320. package/src/widget/components/ReportMappings.scss +10 -11
  321. package/src/widget/components/ReportMappings.tsx +67 -72
  322. package/src/widget/components/Reports.scss +15 -15
  323. package/src/widget/components/Reports.tsx +140 -181
  324. package/src/widget/components/ReportsConfigContext.tsx +95 -0
  325. package/src/widget/components/ReportsContainer.scss +1 -3
  326. package/src/widget/components/ReportsContainer.tsx +47 -21
  327. package/src/widget/components/ReportsHeader.tsx +27 -0
  328. package/src/widget/components/ReportsRouter.tsx +63 -0
  329. package/src/widget/components/SearchBar.scss +1 -2
  330. package/src/widget/components/SearchBar.tsx +7 -2
  331. package/src/widget/components/SelectIModel.scss +2 -3
  332. package/src/widget/components/SelectIModel.tsx +11 -29
  333. package/src/widget/components/utils.scss +16 -8
  334. package/src/widget/components/utils.tsx +8 -7
  335. package/src/widget/context/{ReportsApiConfigContext.tsx → BulkExtractorContext.tsx} +9 -10
  336. package/src/widget/context/ReportsConfigApiContext.tsx +39 -0
  337. package/lib/cjs/widget/context/ReportsApiConfigContext.d.ts +0 -9
  338. package/lib/cjs/widget/context/ReportsApiConfigContext.d.ts.map +0 -1
  339. package/lib/cjs/widget/context/ReportsApiConfigContext.js.map +0 -1
  340. package/lib/esm/widget/context/ReportsApiConfigContext.d.ts +0 -9
  341. package/lib/esm/widget/context/ReportsApiConfigContext.d.ts.map +0 -1
  342. package/lib/esm/widget/context/ReportsApiConfigContext.js +0 -14
  343. package/lib/esm/widget/context/ReportsApiConfigContext.js.map +0 -1
@@ -29,36 +29,32 @@ const react_1 = __importStar(require("react"));
29
29
  const ReportsConfigWidget_1 = require("../../ReportsConfigWidget");
30
30
  require("./DeleteModal.scss");
31
31
  const utils_1 = require("./utils");
32
- const DeleteModal = ({ entityName, show, setShow, onDelete, refresh, }) => {
33
- const [isLoading, setIsLoading] = react_1.useState(false);
32
+ const DeleteModal = ({ entityName, onClose, onDelete, refresh, }) => {
33
+ const [isDeleting, setIsDeleting] = (0, react_1.useState)(false);
34
34
  const deleteCallback = async () => {
35
35
  try {
36
- setIsLoading(true);
36
+ setIsDeleting(true);
37
37
  await onDelete();
38
- setShow(false);
39
38
  await refresh();
39
+ onClose();
40
40
  }
41
41
  catch (error) {
42
- utils_1.handleError(error.status);
42
+ (0, utils_1.handleError)(error.status);
43
43
  }
44
44
  finally {
45
- setIsLoading(false);
45
+ setIsDeleting(false);
46
46
  }
47
47
  };
48
- return (react_1.default.createElement(itwinui_react_1.Modal, { title: ReportsConfigWidget_1.ReportsConfigWidget.localization.getLocalizedString("ReportsConfigWidget:Confirm"), isOpen: show, isDismissible: !isLoading, onClose: () => {
49
- setShow(false);
50
- } },
48
+ return (react_1.default.createElement(itwinui_react_1.Modal, { title: ReportsConfigWidget_1.ReportsConfigWidget.localization.getLocalizedString("ReportsConfigWidget:Confirm"), isOpen: !!entityName, isDismissible: !isDeleting, onClose: onClose },
51
49
  react_1.default.createElement(itwinui_react_1.ModalContent, null,
52
50
  react_1.default.createElement("div", { className: "rcw-delete-modal-body-text" },
53
- react_1.default.createElement(itwinui_react_1.Leading, null, ReportsConfigWidget_1.ReportsConfigWidget.localization.getLocalizedString("ReportsConfigWidget:AreYouSureYouWantToDelete")),
51
+ react_1.default.createElement(itwinui_react_1.Text, { variant: 'leading' }, ReportsConfigWidget_1.ReportsConfigWidget.localization.getLocalizedString("ReportsConfigWidget:AreYouSureYouWantToDelete")),
54
52
  react_1.default.createElement("strong", null, react_1.default.createElement(itwinui_react_1.MiddleTextTruncation, { text: `${entityName}?` })))),
55
53
  react_1.default.createElement(itwinui_react_1.ModalButtonBar, null,
56
- isLoading && (react_1.default.createElement("div", { className: "rcw-loading-delete", "data-testid": "rcw-loading-delete" },
54
+ isDeleting && (react_1.default.createElement("div", { className: "rcw-loading-delete", "data-testid": "rcw-loading-delete" },
57
55
  react_1.default.createElement(utils_1.LoadingSpinner, null))),
58
- react_1.default.createElement(itwinui_react_1.Button, { styleType: "high-visibility", onClick: deleteCallback, disabled: isLoading }, ReportsConfigWidget_1.ReportsConfigWidget.localization.getLocalizedString("ReportsConfigWidget:Delete")),
59
- react_1.default.createElement(itwinui_react_1.Button, { styleType: "default", onClick: () => {
60
- setShow(false);
61
- }, disabled: isLoading }, ReportsConfigWidget_1.ReportsConfigWidget.localization.getLocalizedString("ReportsConfigWidget:Cancel")))));
56
+ react_1.default.createElement(itwinui_react_1.Button, { styleType: "high-visibility", onClick: deleteCallback, disabled: isDeleting }, ReportsConfigWidget_1.ReportsConfigWidget.localization.getLocalizedString("ReportsConfigWidget:Delete")),
57
+ react_1.default.createElement(itwinui_react_1.Button, { styleType: "default", onClick: onClose, disabled: isDeleting }, ReportsConfigWidget_1.ReportsConfigWidget.localization.getLocalizedString("ReportsConfigWidget:Cancel")))));
62
58
  };
63
59
  exports.DeleteModal = DeleteModal;
64
60
  exports.default = exports.DeleteModal;
@@ -1 +1 @@
1
- {"version":3,"file":"DeleteModal.js","sourceRoot":"","sources":["../../../../src/widget/components/DeleteModal.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA;;;+FAG+F;AAC/F,wDAO8B;AAC9B,+CAAwC;AACxC,mEAAgE;AAChE,8BAA4B;AAC5B,mCAAsD;AAU/C,MAAM,WAAW,GAAG,CAAC,EAC1B,UAAU,EACV,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,OAAO,GACU,EAAE,EAAE;IACrB,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,gBAAQ,CAAU,KAAK,CAAC,CAAC;IAE3D,MAAM,cAAc,GAAG,KAAK,IAAI,EAAE;QAChC,IAAI;YACF,YAAY,CAAC,IAAI,CAAC,CAAC;YACnB,MAAM,QAAQ,EAAE,CAAC;YACjB,OAAO,CAAC,KAAK,CAAC,CAAC;YACf,MAAM,OAAO,EAAE,CAAC;SACjB;QAAC,OAAO,KAAU,EAAE;YACnB,mBAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;SAC3B;gBAAS;YACR,YAAY,CAAC,KAAK,CAAC,CAAC;SACrB;IACH,CAAC,CAAC;IAEF,OAAO,CACL,8BAAC,qBAAK,IACJ,KAAK,EAAE,yCAAmB,CAAC,YAAY,CAAC,kBAAkB,CACxD,6BAA6B,CAC9B,EACD,MAAM,EAAE,IAAI,EACZ,aAAa,EAAE,CAAC,SAAS,EACzB,OAAO,EAAE,GAAG,EAAE;YACZ,OAAO,CAAC,KAAK,CAAC,CAAC;QACjB,CAAC;QAED,8BAAC,4BAAY;YACX,uCAAK,SAAS,EAAC,4BAA4B;gBACzC,8BAAC,uBAAO,QACL,yCAAmB,CAAC,YAAY,CAAC,kBAAkB,CAClD,+CAA+C,CAChD,CACO;gBACV,8CAAS,8BAAC,oCAAoB,IAAC,IAAI,EAAE,GAAG,UAAU,GAAG,GAAI,CAAU,CAC/D,CACO;QACf,8BAAC,8BAAc;YACZ,SAAS,IAAI,CACZ,uCAAK,SAAS,EAAC,oBAAoB,iBAAa,oBAAoB;gBAClE,8BAAC,sBAAc,OAAG,CACd,CACP;YACD,8BAAC,sBAAM,IACL,SAAS,EAAC,iBAAiB,EAC3B,OAAO,EAAE,cAAc,EACvB,QAAQ,EAAE,SAAS,IAElB,yCAAmB,CAAC,YAAY,CAAC,kBAAkB,CAClD,4BAA4B,CAC7B,CACM;YACT,8BAAC,sBAAM,IACL,SAAS,EAAC,SAAS,EACnB,OAAO,EAAE,GAAG,EAAE;oBACZ,OAAO,CAAC,KAAK,CAAC,CAAC;gBACjB,CAAC,EACD,QAAQ,EAAE,SAAS,IAElB,yCAAmB,CAAC,YAAY,CAAC,kBAAkB,CAClD,4BAA4B,CAC7B,CACM,CACM,CACX,CACT,CAAC;AACJ,CAAC,CAAC;AAxEW,QAAA,WAAW,eAwEtB;AAEF,kBAAe,mBAAW,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 {\n Button,\n Leading,\n MiddleTextTruncation,\n Modal,\n ModalButtonBar,\n ModalContent,\n} from \"@itwin/itwinui-react\";\nimport React, { useState } from \"react\";\nimport { ReportsConfigWidget } from \"../../ReportsConfigWidget\";\nimport \"./DeleteModal.scss\";\nimport { handleError, LoadingSpinner } from \"./utils\";\n\nexport interface DeleteModalProps {\n entityName: string;\n show: boolean;\n setShow: React.Dispatch<React.SetStateAction<boolean>>;\n onDelete: () => Promise<void>;\n refresh: () => Promise<void>;\n}\n\nexport const DeleteModal = ({\n entityName,\n show,\n setShow,\n onDelete,\n refresh,\n}: DeleteModalProps) => {\n const [isLoading, setIsLoading] = useState<boolean>(false);\n\n const deleteCallback = async () => {\n try {\n setIsLoading(true);\n await onDelete();\n setShow(false);\n await refresh();\n } catch (error: any) {\n handleError(error.status);\n } finally {\n setIsLoading(false);\n }\n };\n\n return (\n <Modal\n title={ReportsConfigWidget.localization.getLocalizedString(\n \"ReportsConfigWidget:Confirm\"\n )}\n isOpen={show}\n isDismissible={!isLoading}\n onClose={() => {\n setShow(false);\n }}\n >\n <ModalContent>\n <div className=\"rcw-delete-modal-body-text\">\n <Leading>\n {ReportsConfigWidget.localization.getLocalizedString(\n \"ReportsConfigWidget:AreYouSureYouWantToDelete\"\n )}\n </Leading>\n <strong>{<MiddleTextTruncation text={`${entityName}?`} />}</strong>\n </div>\n </ModalContent>\n <ModalButtonBar>\n {isLoading && (\n <div className=\"rcw-loading-delete\" data-testid=\"rcw-loading-delete\">\n <LoadingSpinner />\n </div>\n )}\n <Button\n styleType=\"high-visibility\"\n onClick={deleteCallback}\n disabled={isLoading}\n >\n {ReportsConfigWidget.localization.getLocalizedString(\n \"ReportsConfigWidget:Delete\"\n )}\n </Button>\n <Button\n styleType=\"default\"\n onClick={() => {\n setShow(false);\n }}\n disabled={isLoading}\n >\n {ReportsConfigWidget.localization.getLocalizedString(\n \"ReportsConfigWidget:Cancel\"\n )}\n </Button>\n </ModalButtonBar>\n </Modal>\n );\n};\n\nexport default DeleteModal;\n"]}
1
+ {"version":3,"file":"DeleteModal.js","sourceRoot":"","sources":["../../../../src/widget/components/DeleteModal.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA;;;+FAG+F;AAC/F,wDAO8B;AAC9B,+CAAwC;AACxC,mEAAgE;AAChE,8BAA4B;AAC5B,mCAAsD;AAS/C,MAAM,WAAW,GAAG,CAAC,EAC1B,UAAU,EACV,OAAO,EACP,QAAQ,EACR,OAAO,GACU,EAAE,EAAE;IACrB,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,IAAA,gBAAQ,EAAU,KAAK,CAAC,CAAC;IAE7D,MAAM,cAAc,GAAG,KAAK,IAAI,EAAE;QAChC,IAAI;YACF,aAAa,CAAC,IAAI,CAAC,CAAC;YACpB,MAAM,QAAQ,EAAE,CAAC;YACjB,MAAM,OAAO,EAAE,CAAC;YAChB,OAAO,EAAE,CAAC;SACX;QAAC,OAAO,KAAU,EAAE;YACnB,IAAA,mBAAW,EAAC,KAAK,CAAC,MAAM,CAAC,CAAC;SAC3B;gBAAS;YACR,aAAa,CAAC,KAAK,CAAC,CAAC;SACtB;IACH,CAAC,CAAC;IAEF,OAAO,CACL,8BAAC,qBAAK,IACJ,KAAK,EAAE,yCAAmB,CAAC,YAAY,CAAC,kBAAkB,CACxD,6BAA6B,CAC9B,EACD,MAAM,EAAE,CAAC,CAAC,UAAU,EACpB,aAAa,EAAE,CAAC,UAAU,EAC1B,OAAO,EAAE,OAAO;QAEhB,8BAAC,4BAAY;YACX,uCAAK,SAAS,EAAC,4BAA4B;gBACzC,8BAAC,oBAAI,IAAC,OAAO,EAAC,SAAS,IACpB,yCAAmB,CAAC,YAAY,CAAC,kBAAkB,CAClD,+CAA+C,CAChD,CACI;gBACP,8CAAS,8BAAC,oCAAoB,IAAC,IAAI,EAAE,GAAG,UAAU,GAAG,GAAI,CAAU,CAC/D,CACO;QACf,8BAAC,8BAAc;YACZ,UAAU,IAAI,CACb,uCAAK,SAAS,EAAC,oBAAoB,iBAAa,oBAAoB;gBAClE,8BAAC,sBAAc,OAAG,CACd,CACP;YACD,8BAAC,sBAAM,IACL,SAAS,EAAC,iBAAiB,EAC3B,OAAO,EAAE,cAAc,EACvB,QAAQ,EAAE,UAAU,IAEnB,yCAAmB,CAAC,YAAY,CAAC,kBAAkB,CAClD,4BAA4B,CAC7B,CACM;YACT,8BAAC,sBAAM,IACL,SAAS,EAAC,SAAS,EACnB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,UAAU,IAEnB,yCAAmB,CAAC,YAAY,CAAC,kBAAkB,CAClD,4BAA4B,CAC7B,CACM,CACM,CACX,CACT,CAAC;AACJ,CAAC,CAAC;AAnEW,QAAA,WAAW,eAmEtB;AAEF,kBAAe,mBAAW,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 {\n Button,\n MiddleTextTruncation,\n Modal,\n ModalButtonBar,\n ModalContent,\n Text,\n} from \"@itwin/itwinui-react\";\nimport React, { useState } from \"react\";\nimport { ReportsConfigWidget } from \"../../ReportsConfigWidget\";\nimport \"./DeleteModal.scss\";\nimport { handleError, LoadingSpinner } from \"./utils\";\n\nexport interface DeleteModalProps {\n entityName?: string;\n onClose: () => void;\n onDelete: () => Promise<void>;\n refresh: () => Promise<void>;\n}\n\nexport const DeleteModal = ({\n entityName,\n onClose,\n onDelete,\n refresh,\n}: DeleteModalProps) => {\n const [isDeleting, setIsDeleting] = useState<boolean>(false);\n\n const deleteCallback = async () => {\n try {\n setIsDeleting(true);\n await onDelete();\n await refresh();\n onClose();\n } catch (error: any) {\n handleError(error.status);\n } finally {\n setIsDeleting(false);\n }\n };\n\n return (\n <Modal\n title={ReportsConfigWidget.localization.getLocalizedString(\n \"ReportsConfigWidget:Confirm\"\n )}\n isOpen={!!entityName}\n isDismissible={!isDeleting}\n onClose={onClose}\n >\n <ModalContent>\n <div className=\"rcw-delete-modal-body-text\">\n <Text variant='leading'>\n {ReportsConfigWidget.localization.getLocalizedString(\n \"ReportsConfigWidget:AreYouSureYouWantToDelete\"\n )}\n </Text>\n <strong>{<MiddleTextTruncation text={`${entityName}?`} />}</strong>\n </div>\n </ModalContent>\n <ModalButtonBar>\n {isDeleting && (\n <div className=\"rcw-loading-delete\" data-testid=\"rcw-loading-delete\">\n <LoadingSpinner />\n </div>\n )}\n <Button\n styleType=\"high-visibility\"\n onClick={deleteCallback}\n disabled={isDeleting}\n >\n {ReportsConfigWidget.localization.getLocalizedString(\n \"ReportsConfigWidget:Delete\"\n )}\n </Button>\n <Button\n styleType=\"default\"\n onClick={onClose}\n disabled={isDeleting}\n >\n {ReportsConfigWidget.localization.getLocalizedString(\n \"ReportsConfigWidget:Cancel\"\n )}\n </Button>\n </ModalButtonBar>\n </Modal>\n );\n};\n\nexport default DeleteModal;\n"]}
@@ -2,11 +2,10 @@
2
2
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
3
  * See LICENSE.md in the project root for license terms and full copyright notice.
4
4
  *--------------------------------------------------------------------------------------------*/
5
- @import "~@itwin/itwinui-css/scss/variables";
6
5
 
7
6
  .rcw-delete-modal-body-text {
8
7
  display: flex;
9
- gap: $iui-xs;
8
+ gap: var(--iui-size-2xs);
10
9
  flex-wrap: wrap;
11
10
 
12
11
  >strong {
@@ -15,5 +14,5 @@
15
14
  }
16
15
 
17
16
  .rcw-loading-delete {
18
- margin-right: $iui-s;
17
+ margin-right: var(--iui-size-xs);
19
18
  }
@@ -43,12 +43,12 @@ var ExtractionStates;
43
43
  ExtractionStates[ExtractionStates["Failed"] = 5] = "Failed";
44
44
  })(ExtractionStates = exports.ExtractionStates || (exports.ExtractionStates = {}));
45
45
  const ExtractionStatus = ({ state, clearExtractionState, }) => {
46
- const [fadeOut, setFadeOut] = react_1.useState(false);
46
+ const [fadeOut, setFadeOut] = (0, react_1.useState)(false);
47
47
  const onAnimationEnd = () => {
48
48
  clearExtractionState();
49
49
  setFadeOut(false);
50
50
  };
51
- react_1.useEffect(() => {
51
+ (0, react_1.useEffect)(() => {
52
52
  let timer;
53
53
  switch (state) {
54
54
  case ExtractionStates.Succeeded:
@@ -1 +1 @@
1
- {"version":3,"file":"ExtractionStatus.js","sourceRoot":"","sources":["../../../../src/widget/components/ExtractionStatus.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA;;;+FAG+F;AAC/F,6CAA+B;AAC/B,iCAA4C;AAC5C,mCAAiC;AACjC,2CAAoD;AACpD,wFAAqF;AACrF,sFAAmF;AACnF,oFAAiF;AACjF,oFAAiF;AACjF,0FAAuF;AAEvF,IAAY,gBAOX;AAPD,WAAY,gBAAgB;IAC1B,uDAAI,CAAA;IACJ,+DAAQ,CAAA;IACR,2DAAM,CAAA;IACN,6DAAO,CAAA;IACP,iEAAS,CAAA;IACT,2DAAM,CAAA;AACR,CAAC,EAPW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAO3B;AAOM,MAAM,gBAAgB,GAAG,CAAC,EAC/B,KAAK,EACL,oBAAoB,GACE,EAAE,EAAE;IAC1B,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,gBAAQ,CAAU,KAAK,CAAC,CAAC;IAEvD,MAAM,cAAc,GAAG,GAAG,EAAE;QAC1B,oBAAoB,EAAE,CAAC;QACvB,UAAU,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC,CAAC;IAEF,iBAAS,CAAC,GAAG,EAAE;QACb,IAAI,KAAa,CAAC;QAClB,QAAQ,KAAK,EAAE;YACb,KAAK,gBAAgB,CAAC,SAAS,CAAC;YAChC,KAAK,gBAAgB,CAAC,MAAM;gBAC1B,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,iCAAqB,CAAC,CAAC;SAC5E;QACD,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,QAAQ,KAAK,EAAE;QACb,KAAK,gBAAgB,CAAC,QAAQ;YAC5B,OAAO,CAAC,oBAAC,iDAAuB,OAAG,CAAC,CAAC;QACvC,KAAK,gBAAgB,CAAC,MAAM;YAC1B,OAAO,CAAC,oBAAC,6CAAqB,OAAG,CAAC,CAAC;QACrC,KAAK,gBAAgB,CAAC,OAAO;YAC3B,OAAO,CAAC,oBAAC,+CAAsB,OAAG,CAAC,CAAC;QACtC,KAAK,gBAAgB,CAAC,SAAS;YAC7B,OAAO,CAAC,oBAAC,mDAAwB,IAC/B,SAAS,EAAE,OAAO,EAClB,cAAc,EAAE,cAAc,GAC9B,CAAC,CAAC;QACN,KAAK,gBAAgB,CAAC,MAAM;YAC1B,OAAO,CAAC,oBAAC,6CAAqB,IAC5B,SAAS,EAAE,OAAO,EAClB,cAAc,EAAE,cAAc,GAC9B,CAAC,CAAC;QACN;YACE,OAAO,yCAAK,CAAC;KAChB;AACH,CAAC,CAAC;AAzCW,QAAA,gBAAgB,oBAyC3B","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\nimport * as React from \"react\";\nimport { useEffect, useState } from \"react\";\nimport \"./ExtractionStatus.scss\";\nimport { STATUS_CHECK_INTERVAL } from \"./Constants\";\nimport { StartingExtractionState } from \"./ExtractionStates/StartingExtractionState\";\nimport { RunningExtractionState } from \"./ExtractionStates/RunningExtractionState\";\nimport { FailedExtractionState } from \"./ExtractionStates/FailedExtractionState\";\nimport { QueuedExtractionState } from \"./ExtractionStates/QueuedExtractionState\";\nimport { SucceededExtractionState } from \"./ExtractionStates/SucceededExtractionState\";\n\nexport enum ExtractionStates {\n None,\n Starting,\n Queued,\n Running,\n Succeeded,\n Failed,\n}\n\ninterface ExtractionStatusProps {\n state: ExtractionStates;\n clearExtractionState: () => void;\n}\n\nexport const ExtractionStatus = ({\n state,\n clearExtractionState,\n}: ExtractionStatusProps) => {\n const [fadeOut, setFadeOut] = useState<boolean>(false);\n\n const onAnimationEnd = () => {\n clearExtractionState();\n setFadeOut(false);\n };\n\n useEffect(() => {\n let timer: number;\n switch (state) {\n case ExtractionStates.Succeeded:\n case ExtractionStates.Failed:\n timer = window.setTimeout(() => setFadeOut(true), STATUS_CHECK_INTERVAL);\n }\n return () => window.clearTimeout(timer);\n }, [state]);\n\n switch (state) {\n case ExtractionStates.Starting:\n return (<StartingExtractionState />);\n case ExtractionStates.Queued:\n return (<QueuedExtractionState />);\n case ExtractionStates.Running:\n return (<RunningExtractionState />);\n case ExtractionStates.Succeeded:\n return (<SucceededExtractionState\n animation={fadeOut}\n onAnimationEnd={onAnimationEnd}\n />);\n case ExtractionStates.Failed:\n return (<FailedExtractionState\n animation={fadeOut}\n onAnimationEnd={onAnimationEnd}\n />);\n default:\n return <></>;\n }\n};\n"]}
1
+ {"version":3,"file":"ExtractionStatus.js","sourceRoot":"","sources":["../../../../src/widget/components/ExtractionStatus.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA;;;+FAG+F;AAC/F,6CAA+B;AAC/B,iCAA4C;AAC5C,mCAAiC;AACjC,2CAAoD;AACpD,wFAAqF;AACrF,sFAAmF;AACnF,oFAAiF;AACjF,oFAAiF;AACjF,0FAAuF;AAEvF,IAAY,gBAOX;AAPD,WAAY,gBAAgB;IAC1B,uDAAI,CAAA;IACJ,+DAAQ,CAAA;IACR,2DAAM,CAAA;IACN,6DAAO,CAAA;IACP,iEAAS,CAAA;IACT,2DAAM,CAAA;AACR,CAAC,EAPW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAO3B;AAOM,MAAM,gBAAgB,GAAG,CAAC,EAC/B,KAAK,EACL,oBAAoB,GACE,EAAE,EAAE;IAC1B,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,IAAA,gBAAQ,EAAU,KAAK,CAAC,CAAC;IAEvD,MAAM,cAAc,GAAG,GAAG,EAAE;QAC1B,oBAAoB,EAAE,CAAC;QACvB,UAAU,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC,CAAC;IAEF,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,KAAa,CAAC;QAClB,QAAQ,KAAK,EAAE;YACb,KAAK,gBAAgB,CAAC,SAAS,CAAC;YAChC,KAAK,gBAAgB,CAAC,MAAM;gBAC1B,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,iCAAqB,CAAC,CAAC;SAC5E;QACD,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,QAAQ,KAAK,EAAE;QACb,KAAK,gBAAgB,CAAC,QAAQ;YAC5B,OAAO,CAAC,oBAAC,iDAAuB,OAAG,CAAC,CAAC;QACvC,KAAK,gBAAgB,CAAC,MAAM;YAC1B,OAAO,CAAC,oBAAC,6CAAqB,OAAG,CAAC,CAAC;QACrC,KAAK,gBAAgB,CAAC,OAAO;YAC3B,OAAO,CAAC,oBAAC,+CAAsB,OAAG,CAAC,CAAC;QACtC,KAAK,gBAAgB,CAAC,SAAS;YAC7B,OAAO,CAAC,oBAAC,mDAAwB,IAC/B,SAAS,EAAE,OAAO,EAClB,cAAc,EAAE,cAAc,GAC9B,CAAC,CAAC;QACN,KAAK,gBAAgB,CAAC,MAAM;YAC1B,OAAO,CAAC,oBAAC,6CAAqB,IAC5B,SAAS,EAAE,OAAO,EAClB,cAAc,EAAE,cAAc,GAC9B,CAAC,CAAC;QACN;YACE,OAAO,yCAAK,CAAC;KAChB;AACH,CAAC,CAAC;AAzCW,QAAA,gBAAgB,oBAyC3B","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\nimport * as React from \"react\";\nimport { useEffect, useState } from \"react\";\nimport \"./ExtractionStatus.scss\";\nimport { STATUS_CHECK_INTERVAL } from \"./Constants\";\nimport { StartingExtractionState } from \"./ExtractionStates/StartingExtractionState\";\nimport { RunningExtractionState } from \"./ExtractionStates/RunningExtractionState\";\nimport { FailedExtractionState } from \"./ExtractionStates/FailedExtractionState\";\nimport { QueuedExtractionState } from \"./ExtractionStates/QueuedExtractionState\";\nimport { SucceededExtractionState } from \"./ExtractionStates/SucceededExtractionState\";\n\nexport enum ExtractionStates {\n None,\n Starting,\n Queued,\n Running,\n Succeeded,\n Failed,\n}\n\ninterface ExtractionStatusProps {\n state: ExtractionStates;\n clearExtractionState: () => void;\n}\n\nexport const ExtractionStatus = ({\n state,\n clearExtractionState,\n}: ExtractionStatusProps) => {\n const [fadeOut, setFadeOut] = useState<boolean>(false);\n\n const onAnimationEnd = () => {\n clearExtractionState();\n setFadeOut(false);\n };\n\n useEffect(() => {\n let timer: number;\n switch (state) {\n case ExtractionStates.Succeeded:\n case ExtractionStates.Failed:\n timer = window.setTimeout(() => setFadeOut(true), STATUS_CHECK_INTERVAL);\n }\n return () => window.clearTimeout(timer);\n }, [state]);\n\n switch (state) {\n case ExtractionStates.Starting:\n return (<StartingExtractionState />);\n case ExtractionStates.Queued:\n return (<QueuedExtractionState />);\n case ExtractionStates.Running:\n return (<RunningExtractionState />);\n case ExtractionStates.Succeeded:\n return (<SucceededExtractionState\n animation={fadeOut}\n onAnimationEnd={onAnimationEnd}\n />);\n case ExtractionStates.Failed:\n return (<FailedExtractionState\n animation={fadeOut}\n onAnimationEnd={onAnimationEnd}\n />);\n default:\n return <></>;\n }\n};\n"]}
@@ -2,7 +2,6 @@
2
2
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
3
  * See LICENSE.md in the project root for license terms and full copyright notice.
4
4
  *--------------------------------------------------------------------------------------------*/
5
- @import "~@itwin/itwinui-css/scss/variables";
6
5
 
7
6
  .rcw-extraction-status {
8
7
  align-items: center;
@@ -10,10 +9,10 @@
10
9
  display: flex;
11
10
 
12
11
  .rcw-status-icon {
13
- width: $iui-icons-default;
14
- height: $iui-icons-default;
12
+ width: var(--iui-size-m);
13
+ height: var(--iui-size-m);
15
14
  align-items: center;
16
- margin: auto $iui-xs * 3;
15
+ margin: auto calc(var(--iui-size-2xs) * 3);
17
16
  display: flex;
18
17
  }
19
18
  }
@@ -22,11 +21,11 @@
22
21
  align-items: center;
23
22
  height: 38px;
24
23
  display: flex;
25
- margin: auto $iui-xs * 3;
24
+ margin: auto calc(var(--iui-size-2xs) * 3);
26
25
 
27
26
  .rcw-status-icon {
28
- width: $iui-icons-default;
29
- height: $iui-icons-default;
27
+ width: var(--iui-size-m);
28
+ height: var(--iui-size-m);
30
29
  }
31
30
  }
32
31
 
@@ -10,10 +10,10 @@ require("./HorizontalTile.scss");
10
10
  const classnames_1 = __importDefault(require("classnames"));
11
11
  const HorizontalTile = (props) => {
12
12
  const { title, titleTooltip, subText, subtextToolTip, actionGroup, selected, className, onClickTitle, ...rest } = props;
13
- return (react_1.default.createElement("div", { className: classnames_1.default("rcw-horizontal-tile-container", { "rcw-horizontal-tile-selected": selected }, className), onClick: rest.onClick, "data-testid": "horizontal-tile" },
13
+ return (react_1.default.createElement("div", { className: (0, classnames_1.default)("rcw-horizontal-tile-container", { "rcw-horizontal-tile-selected": selected }, className), onClick: rest.onClick, "data-testid": "horizontal-tile" },
14
14
  react_1.default.createElement("div", { className: "rcw-body-container" },
15
15
  react_1.default.createElement("div", { className: "rcw-body" },
16
- react_1.default.createElement(itwinui_react_1.Text, { className: classnames_1.default("rcw-body-text", { "iui-anchor": !!onClickTitle }), onClick: onClickTitle, variant: "body", title: titleTooltip }, title),
16
+ react_1.default.createElement(itwinui_react_1.Text, { className: (0, classnames_1.default)("rcw-body-text", { "iui-anchor": !!onClickTitle }), onClick: onClickTitle, variant: "body", title: titleTooltip }, title),
17
17
  subText &&
18
18
  react_1.default.createElement(itwinui_react_1.Text, { className: "rcw-body-text", isMuted: true, title: subtextToolTip, variant: "small" }, subText))),
19
19
  react_1.default.createElement("div", { className: "rcw-action-button", "data-testid": "tile-action-button" }, actionGroup)));
@@ -1 +1 @@
1
- {"version":3,"file":"HorizontalTile.js","sourceRoot":"","sources":["../../../../src/widget/components/HorizontalTile.tsx"],"names":[],"mappings":";;;;;;AAKA,kDAA0B;AAC1B,wDAA4C;AAC5C,iCAA+B;AAC/B,4DAAoC;AAY7B,MAAM,cAAc,GAAG,CAAC,KAA0B,EAAE,EAAE;IAC3D,MAAM,EACJ,KAAK,EACL,YAAY,EACZ,OAAO,EACP,cAAc,EACd,WAAW,EACX,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,GAAG,IAAI,EACR,GAAG,KAAK,CAAC;IAEV,OAAO,CACL,uCACE,SAAS,EAAE,oBAAU,CACnB,+BAA+B,EAC/B,EAAE,8BAA8B,EAAE,QAAQ,EAAE,EAC5C,SAAS,CACV,EACD,OAAO,EAAE,IAAI,CAAC,OAAO,iBACT,iBAAiB;QAE7B,uCAAK,SAAS,EAAC,oBAAoB;YACjC,uCAAK,SAAS,EAAC,UAAU;gBACvB,8BAAC,oBAAI,IAAC,SAAS,EAAE,oBAAU,CAAC,eAAe,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC,YAAY,EAAE,CAAC,EAC5E,OAAO,EAAE,YAAY,EACrB,OAAO,EAAC,MAAM,EACd,KAAK,EAAE,YAAY,IAAG,KAAK,CACtB;gBAEL,OAAO;oBACP,8BAAC,oBAAI,IAAC,SAAS,EAAC,eAAe,EAC7B,OAAO,EAAE,IAAI,EACb,KAAK,EAAE,cAAc,EACrB,OAAO,EAAC,OAAO,IAAE,OAAO,CACnB,CAEL,CACF;QACN,uCACE,SAAS,EAAC,mBAAmB,iBACjB,oBAAoB,IAC/B,WAAW,CACR,CACF,CACP,CAAC;AACJ,CAAC,CAAC;AA/CW,QAAA,cAAc,kBA+CzB","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 { ReactNode } from \"react\";\nimport React from \"react\";\nimport { Text } from \"@itwin/itwinui-react\";\nimport \"./HorizontalTile.scss\";\nimport classNames from \"classnames\";\n\nexport interface HorizontalTileProps extends React.ComponentPropsWithoutRef<\"div\"> {\n title: string;\n actionGroup: ReactNode;\n subText: string;\n onClickTitle?: React.MouseEventHandler;\n titleTooltip: string;\n subtextToolTip?: string;\n selected?: boolean;\n}\n\nexport const HorizontalTile = (props: HorizontalTileProps) => {\n const {\n title,\n titleTooltip,\n subText,\n subtextToolTip,\n actionGroup,\n selected,\n className,\n onClickTitle,\n ...rest\n } = props;\n\n return (\n <div\n className={classNames(\n \"rcw-horizontal-tile-container\",\n { \"rcw-horizontal-tile-selected\": selected },\n className\n )}\n onClick={rest.onClick}\n data-testid=\"horizontal-tile\"\n >\n <div className=\"rcw-body-container\">\n <div className=\"rcw-body\">\n <Text className={classNames(\"rcw-body-text\", { \"iui-anchor\": !!onClickTitle })}\n onClick={onClickTitle}\n variant=\"body\"\n title={titleTooltip}>{title}\n </Text>\n {\n subText &&\n <Text className=\"rcw-body-text\"\n isMuted={true}\n title={subtextToolTip}\n variant=\"small\">{subText}\n </Text>\n }\n </div>\n </div>\n <div\n className=\"rcw-action-button\"\n data-testid=\"tile-action-button\">\n {actionGroup}\n </div>\n </div>\n );\n};\n"]}
1
+ {"version":3,"file":"HorizontalTile.js","sourceRoot":"","sources":["../../../../src/widget/components/HorizontalTile.tsx"],"names":[],"mappings":";;;;;;AAKA,kDAA0B;AAC1B,wDAA4C;AAC5C,iCAA+B;AAC/B,4DAAoC;AAY7B,MAAM,cAAc,GAAG,CAAC,KAA0B,EAAE,EAAE;IAC3D,MAAM,EACJ,KAAK,EACL,YAAY,EACZ,OAAO,EACP,cAAc,EACd,WAAW,EACX,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,GAAG,IAAI,EACR,GAAG,KAAK,CAAC;IAEV,OAAO,CACL,uCACE,SAAS,EAAE,IAAA,oBAAU,EACnB,+BAA+B,EAC/B,EAAE,8BAA8B,EAAE,QAAQ,EAAE,EAC5C,SAAS,CACV,EACD,OAAO,EAAE,IAAI,CAAC,OAAO,iBACT,iBAAiB;QAE7B,uCAAK,SAAS,EAAC,oBAAoB;YACjC,uCAAK,SAAS,EAAC,UAAU;gBACvB,8BAAC,oBAAI,IAAC,SAAS,EAAE,IAAA,oBAAU,EAAC,eAAe,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC,YAAY,EAAE,CAAC,EAC5E,OAAO,EAAE,YAAY,EACrB,OAAO,EAAC,MAAM,EACd,KAAK,EAAE,YAAY,IAAG,KAAK,CACtB;gBAEL,OAAO;oBACP,8BAAC,oBAAI,IAAC,SAAS,EAAC,eAAe,EAC7B,OAAO,EAAE,IAAI,EACb,KAAK,EAAE,cAAc,EACrB,OAAO,EAAC,OAAO,IAAE,OAAO,CACnB,CAEL,CACF;QACN,uCACE,SAAS,EAAC,mBAAmB,iBACjB,oBAAoB,IAC/B,WAAW,CACR,CACF,CACP,CAAC;AACJ,CAAC,CAAC;AA/CW,QAAA,cAAc,kBA+CzB","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 { ReactNode } from \"react\";\nimport React from \"react\";\nimport { Text } from \"@itwin/itwinui-react\";\nimport \"./HorizontalTile.scss\";\nimport classNames from \"classnames\";\n\nexport interface HorizontalTileProps extends React.ComponentPropsWithoutRef<\"div\"> {\n title: string;\n actionGroup: ReactNode;\n subText: string;\n onClickTitle?: React.MouseEventHandler;\n titleTooltip: string;\n subtextToolTip?: string;\n selected?: boolean;\n}\n\nexport const HorizontalTile = (props: HorizontalTileProps) => {\n const {\n title,\n titleTooltip,\n subText,\n subtextToolTip,\n actionGroup,\n selected,\n className,\n onClickTitle,\n ...rest\n } = props;\n\n return (\n <div\n className={classNames(\n \"rcw-horizontal-tile-container\",\n { \"rcw-horizontal-tile-selected\": selected },\n className\n )}\n onClick={rest.onClick}\n data-testid=\"horizontal-tile\"\n >\n <div className=\"rcw-body-container\">\n <div className=\"rcw-body\">\n <Text className={classNames(\"rcw-body-text\", { \"iui-anchor\": !!onClickTitle })}\n onClick={onClickTitle}\n variant=\"body\"\n title={titleTooltip}>{title}\n </Text>\n {\n subText &&\n <Text className=\"rcw-body-text\"\n isMuted={true}\n title={subtextToolTip}\n variant=\"small\">{subText}\n </Text>\n }\n </div>\n </div>\n <div\n className=\"rcw-action-button\"\n data-testid=\"tile-action-button\">\n {actionGroup}\n </div>\n </div>\n );\n};\n"]}
@@ -2,17 +2,14 @@
2
2
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
3
  * See LICENSE.md in the project root for license terms and full copyright notice.
4
4
  *--------------------------------------------------------------------------------------------*/
5
- @import "~@itwin/itwinui-css/scss/variables";
6
- @import "~@itwin/itwinui-css/scss/icon/index";
7
-
8
5
  .rcw-horizontal-tile {
9
6
  &-container {
10
7
  display: flex;
11
8
  justify-content: space-between;
12
9
  border-radius: 5px;
13
- background-color: var(--iui-color-background-2);
14
- height: $iui-baseline * 4;
15
- padding: 5.5px $iui-s;
10
+ background-color: var(--iui-color-background-backdrop);
11
+ min-height: calc(var(--iui-size-s) * 5);
12
+ padding: 5.5px var(--iui-size-xs);
16
13
 
17
14
  .rcw-body-container {
18
15
  display: flex;
@@ -37,16 +34,16 @@
37
34
  align-self: center;
38
35
  min-width: 36px;
39
36
  flex-shrink: 0;
40
- display: flex;
37
+ margin-right: var(--iui-size-2xs);
41
38
  }
42
39
  }
43
40
 
44
41
  &-selected {
45
- @include themed {
46
- border: 1px solid t(iui-color-foreground-primary);
47
- background: linear-gradient(rgba(t(iui-color-foreground-primary-rgb), t(iui-opacity-6)),
48
- rgba(t(iui-color-foreground-primary-rgb), t(iui-opacity-6))),
49
- linear-gradient(t(iui-color-background-1), t(iui-color-background-1));
50
- }
42
+ border: 1px solid var(--iui-color-border-accent);
43
+ background: linear-gradient(
44
+ rgba(var(--iui-color-accent-hsl), var(--iui-opacity-6)),
45
+ rgba(var(--iui-color-accent-hsl), var(--iui-opacity-6))
46
+ ),
47
+ linear-gradient(var(--iui-color-background), var(--iui-color-background));
51
48
  }
52
- }
49
+ }
@@ -24,8 +24,8 @@ const itwinui_react_1 = require("@itwin/itwinui-react");
24
24
  const react_1 = __importStar(require("react"));
25
25
  const ReportsConfigWidget_1 = require("../../ReportsConfigWidget");
26
26
  const LocalizedTablePaginator = (props) => {
27
- const pageSizeList = react_1.useMemo(() => [10, 25, 50], []);
28
- const paginationLocalization = react_1.useMemo(() => ({
27
+ const pageSizeList = (0, react_1.useMemo)(() => [10, 25, 50], []);
28
+ const paginationLocalization = (0, react_1.useMemo)(() => ({
29
29
  pageSizeLabel: (size) => ReportsConfigWidget_1.ReportsConfigWidget.localization.getLocalizedString("ReportsConfigWidget:Table.SizePerPage", { size }),
30
30
  rangeLabel: (startIndex, endIndex, totalRows, isLoading) => isLoading
31
31
  ? ReportsConfigWidget_1.ReportsConfigWidget.localization.getLocalizedString("ReportsConfigWidget:Table.StartIndexEndIndex", { startIndex, endIndex })
@@ -1 +1 @@
1
- {"version":3,"file":"LocalizedTablePaginator.js","sourceRoot":"","sources":["../../../../src/widget/components/LocalizedTablePaginator.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAKA,wDAAsD;AACtD,+CAAuC;AACvC,mEAAgE;AAEzD,MAAM,uBAAuB,GAAG,CAAC,KAAkC,EAAE,EAAE;IAC5E,MAAM,YAAY,GAAG,eAAO,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IACrD,MAAM,sBAAsB,GAAG,eAAO,CACpC,GAAG,EAAE,CAAC,CAAC;QACL,aAAa,EAAE,CAAC,IAAY,EAAE,EAAE,CAC9B,yCAAmB,CAAC,YAAY,CAAC,kBAAkB,CACjD,uCAAuC,EACvC,EAAE,IAAI,EAAE,CACT;QACH,UAAU,EAAE,CACV,UAAkB,EAClB,QAAgB,EAChB,SAAiB,EACjB,SAAkB,EAClB,EAAE,CACF,SAAS;YACP,CAAC,CAAC,yCAAmB,CAAC,YAAY,CAAC,kBAAkB,CACnD,8CAA8C,EAC9C,EAAE,UAAU,EAAE,QAAQ,EAAE,CACzB;YACD,CAAC,CAAC,yCAAmB,CAAC,YAAY,CAAC,kBAAkB,CACnD,gDAAgD,EAChD,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,CACpC;QACL,YAAY,EAAE,yCAAmB,CAAC,YAAY,CAAC,kBAAkB,CAC/D,wCAAwC,CACzC;QACD,QAAQ,EAAE,yCAAmB,CAAC,YAAY,CAAC,kBAAkB,CAC3D,oCAAoC,CACrC;QACD,aAAa,EAAE,CAAC,IAAY,EAAE,EAAE,CAC9B,yCAAmB,CAAC,YAAY,CAAC,kBAAkB,CACjD,oCAAoC,EACpC,EAAE,IAAI,EAAE,CACT;QACH,gBAAgB,EAAE,yCAAmB,CAAC,YAAY,CAAC,kBAAkB,CACnE,uCAAuC,CACxC;KACF,CAAC,EACF,EAAE,CACH,CAAC;IAEF,OAAO,CACL,8BAAC,8BAAc,OACT,KAAK,EACT,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,sBAAsB,GACpC,CACH,CAAC;AACJ,CAAC,CAAC;AAjDW,QAAA,uBAAuB,2BAiDlC","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 { TablePaginatorRendererProps } from \"@itwin/itwinui-react\";\nimport { TablePaginator } from \"@itwin/itwinui-react\";\nimport React, { useMemo } from \"react\";\nimport { ReportsConfigWidget } from \"../../ReportsConfigWidget\";\n\nexport const LocalizedTablePaginator = (props: TablePaginatorRendererProps) => {\n const pageSizeList = useMemo(() => [10, 25, 50], []);\n const paginationLocalization = useMemo(\n () => ({\n pageSizeLabel: (size: number) =>\n ReportsConfigWidget.localization.getLocalizedString(\n \"ReportsConfigWidget:Table.SizePerPage\",\n { size }\n ),\n rangeLabel: (\n startIndex: number,\n endIndex: number,\n totalRows: number,\n isLoading: boolean\n ) =>\n isLoading\n ? ReportsConfigWidget.localization.getLocalizedString(\n \"ReportsConfigWidget:Table.StartIndexEndIndex\",\n { startIndex, endIndex }\n )\n : ReportsConfigWidget.localization.getLocalizedString(\n \"ReportsConfigWidget:Table.StartIndexEndIndexOf\",\n { startIndex, endIndex, totalRows }\n ),\n previousPage: ReportsConfigWidget.localization.getLocalizedString(\n \"ReportsConfigWidget:Table.PreviousPage\"\n ),\n nextPage: ReportsConfigWidget.localization.getLocalizedString(\n \"ReportsConfigWidget:Table.NextPage\"\n ),\n goToPageLabel: (page: number) =>\n ReportsConfigWidget.localization.getLocalizedString(\n \"ReportsConfigWidget:Table.GoToPage\",\n { page }\n ),\n rowsPerPageLabel: ReportsConfigWidget.localization.getLocalizedString(\n \"ReportsConfigWidget:Table.RowsPerPage\"\n ),\n }),\n []\n );\n\n return (\n <TablePaginator\n {...props}\n pageSizeList={pageSizeList}\n localization={paginationLocalization}\n />\n );\n};\n"]}
1
+ {"version":3,"file":"LocalizedTablePaginator.js","sourceRoot":"","sources":["../../../../src/widget/components/LocalizedTablePaginator.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAKA,wDAAsD;AACtD,+CAAuC;AACvC,mEAAgE;AAEzD,MAAM,uBAAuB,GAAG,CAAC,KAAkC,EAAE,EAAE;IAC5E,MAAM,YAAY,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IACrD,MAAM,sBAAsB,GAAG,IAAA,eAAO,EACpC,GAAG,EAAE,CAAC,CAAC;QACL,aAAa,EAAE,CAAC,IAAY,EAAE,EAAE,CAC9B,yCAAmB,CAAC,YAAY,CAAC,kBAAkB,CACjD,uCAAuC,EACvC,EAAE,IAAI,EAAE,CACT;QACH,UAAU,EAAE,CACV,UAAkB,EAClB,QAAgB,EAChB,SAAiB,EACjB,SAAkB,EAClB,EAAE,CACF,SAAS;YACP,CAAC,CAAC,yCAAmB,CAAC,YAAY,CAAC,kBAAkB,CACnD,8CAA8C,EAC9C,EAAE,UAAU,EAAE,QAAQ,EAAE,CACzB;YACD,CAAC,CAAC,yCAAmB,CAAC,YAAY,CAAC,kBAAkB,CACnD,gDAAgD,EAChD,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,CACpC;QACL,YAAY,EAAE,yCAAmB,CAAC,YAAY,CAAC,kBAAkB,CAC/D,wCAAwC,CACzC;QACD,QAAQ,EAAE,yCAAmB,CAAC,YAAY,CAAC,kBAAkB,CAC3D,oCAAoC,CACrC;QACD,aAAa,EAAE,CAAC,IAAY,EAAE,EAAE,CAC9B,yCAAmB,CAAC,YAAY,CAAC,kBAAkB,CACjD,oCAAoC,EACpC,EAAE,IAAI,EAAE,CACT;QACH,gBAAgB,EAAE,yCAAmB,CAAC,YAAY,CAAC,kBAAkB,CACnE,uCAAuC,CACxC;KACF,CAAC,EACF,EAAE,CACH,CAAC;IAEF,OAAO,CACL,8BAAC,8BAAc,OACT,KAAK,EACT,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,sBAAsB,GACpC,CACH,CAAC;AACJ,CAAC,CAAC;AAjDW,QAAA,uBAAuB,2BAiDlC","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 { TablePaginatorRendererProps } from \"@itwin/itwinui-react\";\nimport { TablePaginator } from \"@itwin/itwinui-react\";\nimport React, { useMemo } from \"react\";\nimport { ReportsConfigWidget } from \"../../ReportsConfigWidget\";\n\nexport const LocalizedTablePaginator = (props: TablePaginatorRendererProps) => {\n const pageSizeList = useMemo(() => [10, 25, 50], []);\n const paginationLocalization = useMemo(\n () => ({\n pageSizeLabel: (size: number) =>\n ReportsConfigWidget.localization.getLocalizedString(\n \"ReportsConfigWidget:Table.SizePerPage\",\n { size }\n ),\n rangeLabel: (\n startIndex: number,\n endIndex: number,\n totalRows: number,\n isLoading: boolean\n ) =>\n isLoading\n ? ReportsConfigWidget.localization.getLocalizedString(\n \"ReportsConfigWidget:Table.StartIndexEndIndex\",\n { startIndex, endIndex }\n )\n : ReportsConfigWidget.localization.getLocalizedString(\n \"ReportsConfigWidget:Table.StartIndexEndIndexOf\",\n { startIndex, endIndex, totalRows }\n ),\n previousPage: ReportsConfigWidget.localization.getLocalizedString(\n \"ReportsConfigWidget:Table.PreviousPage\"\n ),\n nextPage: ReportsConfigWidget.localization.getLocalizedString(\n \"ReportsConfigWidget:Table.NextPage\"\n ),\n goToPageLabel: (page: number) =>\n ReportsConfigWidget.localization.getLocalizedString(\n \"ReportsConfigWidget:Table.GoToPage\",\n { page }\n ),\n rowsPerPageLabel: ReportsConfigWidget.localization.getLocalizedString(\n \"ReportsConfigWidget:Table.RowsPerPage\"\n ),\n }),\n []\n );\n\n return (\n <TablePaginator\n {...props}\n pageSizeList={pageSizeList}\n localization={paginationLocalization}\n />\n );\n};\n"]}
@@ -1,11 +1,10 @@
1
1
  /// <reference types="react" />
2
2
  import "./ReportAction.scss";
3
3
  import type { Report } from "@itwin/insights-client";
4
- interface ReportActionProps {
5
- iTwinId: string;
4
+ export interface ReportActionProps {
6
5
  report?: Report;
7
- returnFn: () => Promise<void>;
6
+ onSaveSuccess: () => void;
7
+ onClickCancel?: () => void;
8
8
  }
9
- declare const ReportAction: ({ iTwinId, report, returnFn }: ReportActionProps) => JSX.Element;
10
- export default ReportAction;
9
+ export declare const ReportAction: ({ report, onSaveSuccess, onClickCancel }: ReportActionProps) => JSX.Element;
11
10
  //# sourceMappingURL=ReportAction.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ReportAction.d.ts","sourceRoot":"","sources":["../../../../src/widget/components/ReportAction.tsx"],"names":[],"mappings":";AAcA,OAAO,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAKrD,UAAU,iBAAiB;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/B;AAED,QAAA,MAAM,YAAY,kCAAmC,iBAAiB,gBAmHrE,CAAC;AAEF,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"ReportAction.d.ts","sourceRoot":"","sources":["../../../../src/widget/components/ReportAction.tsx"],"names":[],"mappings":";AAYA,OAAO,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAIrD,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;CAC5B;AAED,eAAO,MAAM,YAAY,6CAA8C,iBAAiB,gBAwGvF,CAAC"}
@@ -22,6 +22,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
22
22
  return (mod && mod.__esModule) ? mod : { "default": mod };
23
23
  };
24
24
  Object.defineProperty(exports, "__esModule", { value: true });
25
+ exports.ReportAction = void 0;
25
26
  /*---------------------------------------------------------------------------------------------
26
27
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
27
28
  * See LICENSE.md in the project root for license terms and full copyright notice.
@@ -32,42 +33,42 @@ const ActionPanel_1 = __importDefault(require("./ActionPanel"));
32
33
  const useValidator_1 = __importStar(require("../hooks/useValidator"));
33
34
  const utils_1 = require("./utils");
34
35
  require("./ReportAction.scss");
35
- const insights_client_1 = require("@itwin/insights-client");
36
- const ReportsApiConfigContext_1 = require("../context/ReportsApiConfigContext");
36
+ const ReportsConfigApiContext_1 = require("../context/ReportsConfigApiContext");
37
37
  const ReportsConfigWidget_1 = require("../../ReportsConfigWidget");
38
- const ReportAction = ({ iTwinId, report, returnFn }) => {
39
- var _a, _b;
40
- const apiConfig = ReportsApiConfigContext_1.useReportsApiConfig();
41
- const [values, setValues] = react_1.useState({
42
- name: (_a = report === null || report === void 0 ? void 0 : report.displayName) !== null && _a !== void 0 ? _a : "",
43
- description: (_b = report === null || report === void 0 ? void 0 : report.description) !== null && _b !== void 0 ? _b : "",
38
+ const ReportAction = ({ report, onSaveSuccess, onClickCancel }) => {
39
+ const { iTwinId, getAccessToken, reportsClient } = (0, ReportsConfigApiContext_1.useReportsConfigApi)();
40
+ const [values, setValues] = (0, react_1.useState)({
41
+ name: report?.displayName ?? "",
42
+ description: report?.description ?? "",
44
43
  });
45
- const [validator, showValidationMessage] = useValidator_1.default();
46
- const [isLoading, setIsLoading] = react_1.useState(false);
44
+ const [validator, showValidationMessage] = (0, useValidator_1.default)();
45
+ const [isLoading, setIsLoading] = (0, react_1.useState)(false);
47
46
  const onSave = async () => {
48
- var _a;
49
47
  try {
50
48
  if (!validator.allValid()) {
51
49
  showValidationMessage(true);
52
50
  return;
53
51
  }
54
52
  setIsLoading(true);
55
- const reportsClientApi = new insights_client_1.ReportsClient(utils_1.generateUrl(insights_client_1.REPORTING_BASE_PATH, apiConfig.baseUrl));
56
- const accessToken = await apiConfig.getAccessToken();
53
+ const accessToken = await getAccessToken();
57
54
  report
58
- ? await reportsClientApi.updateReport(accessToken, (_a = report.id) !== null && _a !== void 0 ? _a : "", {
55
+ ? await reportsClient.updateReport(accessToken, report.id ?? "", {
59
56
  displayName: values.name,
60
57
  description: values.description,
61
58
  })
62
- : await reportsClientApi.createReport(accessToken, {
59
+ : await reportsClient.createReport(accessToken, {
63
60
  displayName: values.name,
64
61
  description: values.description,
65
62
  projectId: iTwinId,
66
63
  });
67
- await returnFn();
64
+ onSaveSuccess();
65
+ setValues({
66
+ name: report?.displayName ?? "",
67
+ description: report?.description ?? "",
68
+ });
68
69
  }
69
70
  catch (error) {
70
- utils_1.handleError(error.status);
71
+ (0, utils_1.handleError)(error.status);
71
72
  setIsLoading(false);
72
73
  }
73
74
  finally {
@@ -75,27 +76,24 @@ const ReportAction = ({ iTwinId, report, returnFn }) => {
75
76
  }
76
77
  };
77
78
  return (react_1.default.createElement(react_1.default.Fragment, null,
78
- react_1.default.createElement(utils_1.WidgetHeader, { title: report
79
- ? ReportsConfigWidget_1.ReportsConfigWidget.localization.getLocalizedString("ReportsConfigWidget:ModifyReport")
80
- : ReportsConfigWidget_1.ReportsConfigWidget.localization.getLocalizedString("ReportsConfigWidget:AddReport"), returnFn: returnFn }),
81
79
  react_1.default.createElement("div", { className: "rcw-details-form-container" },
82
80
  react_1.default.createElement(itwinui_react_1.Fieldset, { legend: ReportsConfigWidget_1.ReportsConfigWidget.localization.getLocalizedString("ReportsConfigWidget:ReportDetails"), className: "rcw-details-form" },
83
- react_1.default.createElement(itwinui_react_1.Small, { className: "field-legend" }, ReportsConfigWidget_1.ReportsConfigWidget.localization.getLocalizedString("ReportsConfigWidget:MandatoryFields")),
81
+ react_1.default.createElement(itwinui_react_1.Text, { variant: 'small', className: "field-legend" }, ReportsConfigWidget_1.ReportsConfigWidget.localization.getLocalizedString("ReportsConfigWidget:MandatoryFields")),
84
82
  react_1.default.createElement(itwinui_react_1.LabeledInput, { name: "name", label: ReportsConfigWidget_1.ReportsConfigWidget.localization.getLocalizedString("ReportsConfigWidget:Name"), value: values.name, required: true, disabled: isLoading, onChange: (event) => {
85
- utils_1.handleInputChange(event, values, setValues);
83
+ (0, utils_1.handleInputChange)(event, values, setValues);
86
84
  validator.showMessageFor("name");
87
85
  }, message: validator.message("name", values.name, useValidator_1.NAME_REQUIREMENTS), status: validator.message("name", values.name, useValidator_1.NAME_REQUIREMENTS)
88
86
  ? "negative"
89
87
  : undefined, onBlur: () => {
90
88
  validator.showMessageFor("name");
91
89
  }, onBlurCapture: (event) => {
92
- utils_1.handleInputChange(event, values, setValues);
90
+ (0, utils_1.handleInputChange)(event, values, setValues);
93
91
  validator.showMessageFor("name");
94
92
  } }),
95
93
  react_1.default.createElement(itwinui_react_1.LabeledInput, { name: "description", label: ReportsConfigWidget_1.ReportsConfigWidget.localization.getLocalizedString("ReportsConfigWidget:Description"), value: values.description, onChange: (event) => {
96
- utils_1.handleInputChange(event, values, setValues);
94
+ (0, utils_1.handleInputChange)(event, values, setValues);
97
95
  }, disabled: isLoading }))),
98
- react_1.default.createElement(ActionPanel_1.default, { actionLabel: ReportsConfigWidget_1.ReportsConfigWidget.localization.getLocalizedString("ReportsConfigWidget:Add"), onAction: onSave, onCancel: returnFn, isSavingDisabled: !values.name, isLoading: isLoading })));
96
+ react_1.default.createElement(ActionPanel_1.default, { actionLabel: ReportsConfigWidget_1.ReportsConfigWidget.localization.getLocalizedString("ReportsConfigWidget:Add"), onAction: onSave, onCancel: onClickCancel, isSavingDisabled: !values.name, isLoading: isLoading })));
99
97
  };
100
- exports.default = ReportAction;
98
+ exports.ReportAction = ReportAction;
101
99
  //# sourceMappingURL=ReportAction.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ReportAction.js","sourceRoot":"","sources":["../../../../src/widget/components/ReportAction.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\nimport { Fieldset, LabeledInput, Small } from \"@itwin/itwinui-react\";\nimport React, { useState } from \"react\";\nimport ActionPanel from \"./ActionPanel\";\nimport useValidator, { NAME_REQUIREMENTS } from \"../hooks/useValidator\";\nimport {\n generateUrl,\n handleError,\n handleInputChange,\n WidgetHeader,\n} from \"./utils\";\nimport \"./ReportAction.scss\";\nimport type { Report } from \"@itwin/insights-client\";\nimport { REPORTING_BASE_PATH, ReportsClient } from \"@itwin/insights-client\";\nimport { useReportsApiConfig } from \"../context/ReportsApiConfigContext\";\nimport { ReportsConfigWidget } from \"../../ReportsConfigWidget\";\n\ninterface ReportActionProps {\n iTwinId: string;\n report?: Report;\n returnFn: () => Promise<void>;\n}\n\nconst ReportAction = ({ iTwinId, report, returnFn }: ReportActionProps) => {\n const apiConfig = useReportsApiConfig();\n const [values, setValues] = useState({\n name: report?.displayName ?? \"\",\n description: report?.description ?? \"\",\n });\n const [validator, showValidationMessage] = useValidator();\n const [isLoading, setIsLoading] = useState<boolean>(false);\n\n const onSave = async () => {\n try {\n if (!validator.allValid()) {\n showValidationMessage(true);\n return;\n }\n setIsLoading(true);\n const reportsClientApi = new ReportsClient(\n generateUrl(REPORTING_BASE_PATH, apiConfig.baseUrl)\n );\n const accessToken = await apiConfig.getAccessToken();\n report\n ? await reportsClientApi.updateReport(accessToken, report.id ?? \"\", {\n displayName: values.name,\n description: values.description,\n })\n : await reportsClientApi.createReport(accessToken, {\n displayName: values.name,\n description: values.description,\n projectId: iTwinId,\n });\n await returnFn();\n } catch (error: any) {\n handleError(error.status);\n setIsLoading(false);\n } finally {\n setIsLoading(false);\n }\n };\n\n return (\n <>\n <WidgetHeader\n title={\n report\n ? ReportsConfigWidget.localization.getLocalizedString(\n \"ReportsConfigWidget:ModifyReport\"\n )\n : ReportsConfigWidget.localization.getLocalizedString(\n \"ReportsConfigWidget:AddReport\"\n )\n }\n returnFn={returnFn}\n />\n <div className=\"rcw-details-form-container\">\n <Fieldset\n legend={ReportsConfigWidget.localization.getLocalizedString(\n \"ReportsConfigWidget:ReportDetails\"\n )}\n className=\"rcw-details-form\"\n >\n <Small className=\"field-legend\">\n {ReportsConfigWidget.localization.getLocalizedString(\n \"ReportsConfigWidget:MandatoryFields\"\n )}\n </Small>\n <LabeledInput\n name=\"name\"\n label={ReportsConfigWidget.localization.getLocalizedString(\n \"ReportsConfigWidget:Name\"\n )}\n value={values.name}\n required\n disabled={isLoading}\n onChange={(event) => {\n handleInputChange(event, values, setValues);\n validator.showMessageFor(\"name\");\n }}\n message={validator.message(\"name\", values.name, NAME_REQUIREMENTS)}\n status={\n validator.message(\"name\", values.name, NAME_REQUIREMENTS)\n ? \"negative\"\n : undefined\n }\n onBlur={() => {\n validator.showMessageFor(\"name\");\n }}\n onBlurCapture={(event) => {\n handleInputChange(event, values, setValues);\n validator.showMessageFor(\"name\");\n }}\n />\n <LabeledInput\n name=\"description\"\n label={ReportsConfigWidget.localization.getLocalizedString(\n \"ReportsConfigWidget:Description\"\n )}\n value={values.description}\n onChange={(event) => {\n handleInputChange(event, values, setValues);\n }}\n disabled={isLoading}\n />\n </Fieldset>\n </div>\n <ActionPanel\n actionLabel={ReportsConfigWidget.localization.getLocalizedString(\n \"ReportsConfigWidget:Add\"\n )}\n onAction={onSave}\n onCancel={returnFn}\n isSavingDisabled={!values.name}\n isLoading={isLoading}\n />\n </>\n );\n};\n\nexport default ReportAction;\n"]}
1
+ {"version":3,"file":"ReportAction.js","sourceRoot":"","sources":["../../../../src/widget/components/ReportAction.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\nimport { Fieldset, LabeledInput, Text } from \"@itwin/itwinui-react\";\nimport React, { useState } from \"react\";\nimport ActionPanel from \"./ActionPanel\";\nimport useValidator, { NAME_REQUIREMENTS } from \"../hooks/useValidator\";\nimport {\n handleError,\n handleInputChange,\n} from \"./utils\";\nimport \"./ReportAction.scss\";\nimport type { Report } from \"@itwin/insights-client\";\nimport { useReportsConfigApi } from \"../context/ReportsConfigApiContext\";\nimport { ReportsConfigWidget } from \"../../ReportsConfigWidget\";\n\nexport interface ReportActionProps {\n report?: Report;\n onSaveSuccess: () => void;\n onClickCancel?: () => void;\n}\n\nexport const ReportAction = ({ report, onSaveSuccess, onClickCancel }: ReportActionProps) => {\n const { iTwinId, getAccessToken, reportsClient } = useReportsConfigApi();\n const [values, setValues] = useState({\n name: report?.displayName ?? \"\",\n description: report?.description ?? \"\",\n });\n const [validator, showValidationMessage] = useValidator();\n const [isLoading, setIsLoading] = useState<boolean>(false);\n\n const onSave = async () => {\n try {\n if (!validator.allValid()) {\n showValidationMessage(true);\n return;\n }\n setIsLoading(true);\n const accessToken = await getAccessToken();\n report\n ? await reportsClient.updateReport(accessToken, report.id ?? \"\", {\n displayName: values.name,\n description: values.description,\n })\n : await reportsClient.createReport(accessToken, {\n displayName: values.name,\n description: values.description,\n projectId: iTwinId,\n });\n onSaveSuccess();\n setValues({\n name: report?.displayName ?? \"\",\n description: report?.description ?? \"\",\n });\n } catch (error: any) {\n handleError(error.status);\n setIsLoading(false);\n } finally {\n setIsLoading(false);\n }\n };\n\n return (\n <>\n <div className=\"rcw-details-form-container\">\n <Fieldset\n legend={ReportsConfigWidget.localization.getLocalizedString(\n \"ReportsConfigWidget:ReportDetails\"\n )}\n className=\"rcw-details-form\"\n >\n <Text variant='small' className=\"field-legend\">\n {ReportsConfigWidget.localization.getLocalizedString(\n \"ReportsConfigWidget:MandatoryFields\"\n )}\n </Text>\n <LabeledInput\n name=\"name\"\n label={ReportsConfigWidget.localization.getLocalizedString(\n \"ReportsConfigWidget:Name\"\n )}\n value={values.name}\n required\n disabled={isLoading}\n onChange={(event) => {\n handleInputChange(event, values, setValues);\n validator.showMessageFor(\"name\");\n }}\n message={validator.message(\"name\", values.name, NAME_REQUIREMENTS)}\n status={\n validator.message(\"name\", values.name, NAME_REQUIREMENTS)\n ? \"negative\"\n : undefined\n }\n onBlur={() => {\n validator.showMessageFor(\"name\");\n }}\n onBlurCapture={(event) => {\n handleInputChange(event, values, setValues);\n validator.showMessageFor(\"name\");\n }}\n />\n <LabeledInput\n name=\"description\"\n label={ReportsConfigWidget.localization.getLocalizedString(\n \"ReportsConfigWidget:Description\"\n )}\n value={values.description}\n onChange={(event) => {\n handleInputChange(event, values, setValues);\n }}\n disabled={isLoading}\n />\n </Fieldset>\n </div>\n <ActionPanel\n actionLabel={ReportsConfigWidget.localization.getLocalizedString(\n \"ReportsConfigWidget:Add\"\n )}\n onAction={onSave}\n onCancel={onClickCancel}\n isSavingDisabled={!values.name}\n isLoading={isLoading}\n />\n </>\n );\n};\n\n"]}
@@ -2,7 +2,6 @@
2
2
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
3
  * See LICENSE.md in the project root for license terms and full copyright notice.
4
4
  *--------------------------------------------------------------------------------------------*/
5
- @import "~@itwin/itwinui-css/scss/variables";
6
5
 
7
6
  .rcw-details-form-container {
8
7
  overflow-x: auto;
@@ -11,6 +10,6 @@
11
10
  .rcw-details-form {
12
11
  display: flex;
13
12
  flex-direction: column;
14
- gap: $iui-baseline;
13
+ gap: var(--iui-size-);
15
14
  }
16
15
  }
@@ -1,16 +1,16 @@
1
1
  /// <reference types="react" />
2
- import type BulkExtractor from "./BulkExtractor";
2
+ import type { BulkExtractor } from "./BulkExtractor";
3
3
  import type { BeEvent } from "@itwin/core-bentley";
4
4
  import type { Report } from "@itwin/insights-client";
5
- import type { HorizontalTileProps } from "./HorizontalTile";
6
- export interface ReportHorizontalTileProps extends Pick<HorizontalTileProps, "onClickTitle"> {
5
+ export interface ReportHorizontalTileProps {
7
6
  selected: boolean;
8
7
  onSelectionChange: (reportId: string, controlPressed: boolean) => void;
9
8
  bulkExtractor: BulkExtractor;
10
9
  jobStartEvent: BeEvent<(reportId: string) => void>;
11
10
  report: Report;
12
11
  onClickDelete: () => void;
13
- onClickModify: () => void;
12
+ onClickModify?: (report: Report) => void;
13
+ onClickTitle?: (report: Report) => void;
14
14
  }
15
15
  export declare const ReportHorizontalTile: (props: ReportHorizontalTileProps) => JSX.Element;
16
16
  //# sourceMappingURL=ReportHorizontalTile.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ReportHorizontalTile.d.ts","sourceRoot":"","sources":["../../../../src/widget/components/ReportHorizontalTile.tsx"],"names":[],"mappings":";AAMA,OAAO,KAAK,aAAa,MAAM,iBAAiB,CAAC;AAEjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAarD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAE5D,MAAM,WAAW,yBAA0B,SAAQ,IAAI,CAAC,mBAAmB,EAAE,cAAc,CAAC;IAC1F,QAAQ,EAAE,OAAO,CAAC;IAClB,iBAAiB,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,KAAK,IAAI,CAAC;IACvE,aAAa,EAAE,aAAa,CAAC;IAC7B,aAAa,EAAE,OAAO,CAAC,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC,CAAC;IACnD,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,aAAa,EAAE,MAAM,IAAI,CAAC;CAC3B;AAED,eAAO,MAAM,oBAAoB,UAAW,yBAAyB,gBA8FpE,CAAC"}
1
+ {"version":3,"file":"ReportHorizontalTile.d.ts","sourceRoot":"","sources":["../../../../src/widget/components/ReportHorizontalTile.tsx"],"names":[],"mappings":";AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAcrD,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,OAAO,CAAC;IAClB,iBAAiB,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,KAAK,IAAI,CAAC;IACvE,aAAa,EAAE,aAAa,CAAC;IAC7B,aAAa,EAAE,OAAO,CAAC,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC,CAAC;IACnD,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC;AAED,eAAO,MAAM,oBAAoB,UAAW,yBAAyB,gBA8FpE,CAAC"}
@@ -1,6 +1,22 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
4
20
  };
5
21
  Object.defineProperty(exports, "__esModule", { value: true });
6
22
  exports.ReportHorizontalTile = void 0;
@@ -8,8 +24,7 @@ exports.ReportHorizontalTile = void 0;
8
24
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
9
25
  * See LICENSE.md in the project root for license terms and full copyright notice.
10
26
  *--------------------------------------------------------------------------------------------*/
11
- const react_1 = require("react");
12
- const react_2 = __importDefault(require("react"));
27
+ const react_1 = __importStar(require("react"));
13
28
  const ExtractionStatus_1 = require("./ExtractionStatus");
14
29
  const Constants_1 = require("./Constants");
15
30
  const ReportsConfigWidget_1 = require("../../ReportsConfigWidget");
@@ -17,11 +32,10 @@ const itwinui_react_1 = require("@itwin/itwinui-react");
17
32
  const itwinui_icons_react_1 = require("@itwin/itwinui-icons-react");
18
33
  const HorizontalTile_1 = require("./HorizontalTile");
19
34
  const ReportHorizontalTile = (props) => {
20
- var _a, _b;
21
- const [jobStarted, setJobStarted] = react_1.useState(false);
22
- const [extractionState, setExtractionState] = react_1.useState(ExtractionStatus_1.ExtractionStates.None);
23
- const interval = react_1.useRef();
24
- react_1.useEffect(() => {
35
+ const [jobStarted, setJobStarted] = (0, react_1.useState)(false);
36
+ const [extractionState, setExtractionState] = (0, react_1.useState)(ExtractionStatus_1.ExtractionStates.None);
37
+ const interval = (0, react_1.useRef)();
38
+ (0, react_1.useEffect)(() => {
25
39
  const listener = (startedReportId) => {
26
40
  if (startedReportId === props.report.id) {
27
41
  setExtractionState(ExtractionStatus_1.ExtractionStates.Starting);
@@ -33,7 +47,7 @@ const ReportHorizontalTile = (props) => {
33
47
  props.jobStartEvent.removeListener(listener);
34
48
  };
35
49
  }, [props.jobStartEvent, props.report.id]);
36
- react_1.useEffect(() => {
50
+ (0, react_1.useEffect)(() => {
37
51
  if (jobStarted) {
38
52
  window.clearInterval(interval.current);
39
53
  interval.current = window.setInterval(async () => {
@@ -49,21 +63,20 @@ const ReportHorizontalTile = (props) => {
49
63
  return () => window.clearInterval(interval.current);
50
64
  }, [props.report.id, props.bulkExtractor, jobStarted]);
51
65
  const onClickTile = (e) => {
52
- var _a;
53
- if ((_a = e === null || e === void 0 ? void 0 : e.currentTarget.className) === null || _a === void 0 ? void 0 : _a.toString().split(" ").includes("rcw-horizontal-tile-container")) {
66
+ if (e?.currentTarget.className?.toString().split(" ").includes("rcw-horizontal-tile-container")) {
54
67
  props.onSelectionChange(props.report.id, e.ctrlKey);
55
68
  }
56
69
  };
57
- return (react_2.default.createElement(HorizontalTile_1.HorizontalTile, { title: props.report.displayName, subText: (_a = props.report.description) !== null && _a !== void 0 ? _a : "", subtextToolTip: (_b = props.report.description) !== null && _b !== void 0 ? _b : "", titleTooltip: props.report.displayName, onClick: onClickTile, onClickTitle: props.onClickTitle, selected: props.selected, actionGroup: extractionState === ExtractionStatus_1.ExtractionStates.None ? (react_2.default.createElement("div", { className: "rcw-action-button", "data-testid": "tile-action-button" },
58
- react_2.default.createElement(itwinui_react_1.DropdownMenu, { menuItems: (close) => [
59
- react_2.default.createElement(itwinui_react_1.MenuItem, { key: 0, onClick: props.onClickModify, icon: react_2.default.createElement(itwinui_icons_react_1.SvgEdit, null) }, ReportsConfigWidget_1.ReportsConfigWidget.localization.getLocalizedString("ReportsConfigWidget:Modify")),
60
- react_2.default.createElement(itwinui_react_1.MenuItem, { key: 1, onClick: () => {
70
+ return (react_1.default.createElement(HorizontalTile_1.HorizontalTile, { title: props.report.displayName, subText: props.report.description ?? "", subtextToolTip: props.report.description ?? "", titleTooltip: props.report.displayName, onClick: onClickTile, onClickTitle: () => props.onClickTitle?.(props.report), selected: props.selected, actionGroup: extractionState === ExtractionStatus_1.ExtractionStates.None ? (react_1.default.createElement("div", { className: "rcw-action-button", "data-testid": "tile-action-button" },
71
+ react_1.default.createElement(itwinui_react_1.DropdownMenu, { menuItems: (close) => [
72
+ props.onClickModify ? react_1.default.createElement(itwinui_react_1.MenuItem, { key: 0, onClick: () => props.onClickModify?.(props.report), icon: react_1.default.createElement(itwinui_icons_react_1.SvgEdit, null) }, ReportsConfigWidget_1.ReportsConfigWidget.localization.getLocalizedString("ReportsConfigWidget:Modify")) : [],
73
+ react_1.default.createElement(itwinui_react_1.MenuItem, { key: 1, onClick: () => {
61
74
  props.onClickDelete();
62
75
  close();
63
- }, icon: react_2.default.createElement(itwinui_icons_react_1.SvgDelete, null) }, ReportsConfigWidget_1.ReportsConfigWidget.localization.getLocalizedString("ReportsConfigWidget:Remove")),
64
- ] },
65
- react_2.default.createElement(itwinui_react_1.IconButton, { styleType: "borderless" },
66
- react_2.default.createElement(itwinui_icons_react_1.SvgMore, null))))) : (react_2.default.createElement(ExtractionStatus_1.ExtractionStatus, { state: extractionState, clearExtractionState: () => {
76
+ }, icon: react_1.default.createElement(itwinui_icons_react_1.SvgDelete, null) }, ReportsConfigWidget_1.ReportsConfigWidget.localization.getLocalizedString("ReportsConfigWidget:Remove")),
77
+ ].flat() },
78
+ react_1.default.createElement(itwinui_react_1.IconButton, { styleType: "borderless", title: ReportsConfigWidget_1.ReportsConfigWidget.localization.getLocalizedString("ReportsConfigWidget:ReportOptions") },
79
+ react_1.default.createElement(itwinui_icons_react_1.SvgMore, null))))) : (react_1.default.createElement(ExtractionStatus_1.ExtractionStatus, { state: extractionState, clearExtractionState: () => {
67
80
  setExtractionState(ExtractionStatus_1.ExtractionStates.None);
68
81
  } })) }));
69
82
  };