@argusoft/medplat-core 1.0.31 → 1.0.33

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 (218) hide show
  1. package/dist/AccessRights-BC43Jhml.js +1093 -0
  2. package/dist/AccessRights-BC43Jhml.js.map +1 -0
  3. package/dist/{AddFeatures-D1sU8RjY.js → AddFeatures-COj4ZTIM.js} +2 -2
  4. package/dist/{AddFeatures-D1sU8RjY.js.map → AddFeatures-COj4ZTIM.js.map} +1 -1
  5. package/dist/AddMenuConfiguration-Creeib5X.js +11223 -0
  6. package/dist/AddMenuConfiguration-Creeib5X.js.map +1 -0
  7. package/dist/AddMenuConfiguration.css +1 -1
  8. package/dist/{BrandsPage-DMw2vT0u-BVhvhc6J.js → BrandsPage-CdcAvaml-CYT80CMH.js} +45 -45
  9. package/dist/{BrandsPage-DMw2vT0u-BVhvhc6J.js.map → BrandsPage-CdcAvaml-CYT80CMH.js.map} +1 -1
  10. package/dist/{CategoriesPage-D3ihx9Gi-CT58g0ry.js → CategoriesPage-BprQEYJw-BRAukJB1.js} +43 -43
  11. package/dist/{CategoriesPage-D3ihx9Gi-CT58g0ry.js.map → CategoriesPage-BprQEYJw-BRAukJB1.js.map} +1 -1
  12. package/dist/ChangePasswordModalCore-rypTxA2O.js +238 -0
  13. package/dist/ChangePasswordModalCore-rypTxA2O.js.map +1 -0
  14. package/dist/{ConditionConfig-BQBmBHaM.js → ConditionConfig-Bpm6OoV5.js} +3 -3
  15. package/dist/{ConditionConfig-BQBmBHaM.js.map → ConditionConfig-Bpm6OoV5.js.map} +1 -1
  16. package/dist/{DashboardPage-asr2XDRu-uOOlX9Vq.js → DashboardPage-CTiGSx71-DX-TzGOH.js} +29 -29
  17. package/dist/{DashboardPage-asr2XDRu-uOOlX9Vq.js.map → DashboardPage-CTiGSx71-DX-TzGOH.js.map} +1 -1
  18. package/dist/EntityManagement-BGwJGl9k.js +62 -0
  19. package/dist/EntityManagement-BGwJGl9k.js.map +1 -0
  20. package/dist/{EventConfigurations-CUPEN5BV.js → EventConfigurations-B-z7xHh_.js} +3 -3
  21. package/dist/{EventConfigurations-CUPEN5BV.js.map → EventConfigurations-B-z7xHh_.js.map} +1 -1
  22. package/dist/{EventsExceptionModal-BX-ArkBE.js → EventsExceptionModal-DafomIv6.js} +2 -2
  23. package/dist/{EventsExceptionModal-BX-ArkBE.js.map → EventsExceptionModal-DafomIv6.js.map} +1 -1
  24. package/dist/{EventsUi-D6O9S7BK.js → EventsUi-Dl_yckSA.js} +37 -32
  25. package/dist/EventsUi-Dl_yckSA.js.map +1 -0
  26. package/dist/FacilityPicker-BXa2VF7i-D0JUIqLv.js +112 -0
  27. package/dist/FacilityPicker-BXa2VF7i-D0JUIqLv.js.map +1 -0
  28. package/dist/FaqList-CeDEuhU_.js +237 -0
  29. package/dist/FaqList-CeDEuhU_.js.map +1 -0
  30. package/dist/FaqSkeletons-hLCEcRr-.js +19 -0
  31. package/dist/FaqSkeletons-hLCEcRr-.js.map +1 -0
  32. package/dist/FaqView-sDzBVyXV.js +617 -0
  33. package/dist/FaqView-sDzBVyXV.js.map +1 -0
  34. package/dist/{FeatureMenu-CHsBbw3W.js → FeatureMenu-CaI-ZhSZ.js} +2 -2
  35. package/dist/{FeatureMenu-CHsBbw3W.js.map → FeatureMenu-CaI-ZhSZ.js.map} +1 -1
  36. package/dist/{FhirServerList-iXBPkRVF.js → FhirServerList-CrIHMAxz.js} +19 -19
  37. package/dist/{FhirServerList-iXBPkRVF.js.map → FhirServerList-CrIHMAxz.js.map} +1 -1
  38. package/dist/{FhirServerProfile-CUOwC6Wb.js → FhirServerProfile-D3aYcpwY.js} +8 -8
  39. package/dist/{FhirServerProfile-CUOwC6Wb.js.map → FhirServerProfile-D3aYcpwY.js.map} +1 -1
  40. package/dist/{FhirServerWizard-DZI8Olku.js → FhirServerWizard-Db6Hm4bQ.js} +15 -15
  41. package/dist/{FhirServerWizard-DZI8Olku.js.map → FhirServerWizard-Db6Hm4bQ.js.map} +1 -1
  42. package/dist/{ImmunizationConfigurationBase-aUtx0JEe.js → ImmunizationConfigurationBase-Clkk0-n6.js} +2638 -2577
  43. package/dist/ImmunizationConfigurationBase-Clkk0-n6.js.map +1 -0
  44. package/dist/InventoryPage-JadYMCzU-CWcCauMI.js +1017 -0
  45. package/dist/InventoryPage-JadYMCzU-CWcCauMI.js.map +1 -0
  46. package/dist/LocationWiseExpectedTargetPage-CjKk1aTF.js +1344 -0
  47. package/dist/LocationWiseExpectedTargetPage-CjKk1aTF.js.map +1 -0
  48. package/dist/{ManageDynamicFeature-BU0I45dd.js → ManageDynamicFeature-CuyYfx_P.js} +104 -97
  49. package/dist/ManageDynamicFeature-CuyYfx_P.js.map +1 -0
  50. package/dist/{ManageEventConfiguration-DqW3krT6.js → ManageEventConfiguration-DqPbn3Oi.js} +5 -5
  51. package/dist/{ManageEventConfiguration-DqW3krT6.js.map → ManageEventConfiguration-DqPbn3Oi.js.map} +1 -1
  52. package/dist/ManageFaq-4cT6bntx.js +1583 -0
  53. package/dist/ManageFaq-4cT6bntx.js.map +1 -0
  54. package/dist/ManageFaq.css +1 -0
  55. package/dist/ManageRole-CyfpySt9.js +981 -0
  56. package/dist/ManageRole-CyfpySt9.js.map +1 -0
  57. package/dist/{ManageUser-DZltBina.js → ManageUser-DchUMAyC.js} +172 -172
  58. package/dist/{ManageUser-DZltBina.js.map → ManageUser-DchUMAyC.js.map} +1 -1
  59. package/dist/{MemberProfileCard-D5CgkTdJ-D2NgDJl3.js → MemberProfileCard-01d_jz3w-CQi_zu6x.js} +37 -37
  60. package/dist/{MemberProfileCard-D5CgkTdJ-D2NgDJl3.js.map → MemberProfileCard-01d_jz3w-CQi_zu6x.js.map} +1 -1
  61. package/dist/MobileAnalytics-C9oc2yAo.js +18399 -0
  62. package/dist/MobileAnalytics-C9oc2yAo.js.map +1 -0
  63. package/dist/MobileMenuManagement-BmzTPXy7.js +231 -0
  64. package/dist/MobileMenuManagement-BmzTPXy7.js.map +1 -0
  65. package/dist/{MobileTypeEventConfigModal-CMcj7Ozp.js → MobileTypeEventConfigModal-DodU3beR.js} +3 -3
  66. package/dist/{MobileTypeEventConfigModal-CMcj7Ozp.js.map → MobileTypeEventConfigModal-DodU3beR.js.map} +1 -1
  67. package/dist/{NewServerManagement-Cxe0dV0O.js → NewServerManagement-BdayO78D.js} +368 -352
  68. package/dist/NewServerManagement-BdayO78D.js.map +1 -0
  69. package/dist/OtherTypeEventConfigModal-D_9S50aI.js +1414 -0
  70. package/dist/OtherTypeEventConfigModal-D_9S50aI.js.map +1 -0
  71. package/dist/{PaymentCreatePage-DfvSZ-kB-CckogYoe.js → PaymentCreatePage-D6NZBUC3-_98S21Sa.js} +56 -56
  72. package/dist/{PaymentCreatePage-DfvSZ-kB-CckogYoe.js.map → PaymentCreatePage-D6NZBUC3-_98S21Sa.js.map} +1 -1
  73. package/dist/{PaymentsPage-DMNjYWAJ-ChO9IXmk.js → PaymentsPage-CHieGNrn-ChCXEyck.js} +38 -38
  74. package/dist/{PaymentsPage-DMNjYWAJ-ChO9IXmk.js.map → PaymentsPage-CHieGNrn-ChCXEyck.js.map} +1 -1
  75. package/dist/{PermissionsModal-CCYkcKlC.js → PermissionsModal-Dxbkkrqe.js} +18 -18
  76. package/dist/PermissionsModal-Dxbkkrqe.js.map +1 -0
  77. package/dist/{PickupBatchLinesEditor-CE2RuyJT-BPceiJr8.js → PickupBatchLinesEditor-QPaqFtUO-BEtI5mIU.js} +2 -2
  78. package/dist/{PickupBatchLinesEditor-CE2RuyJT-BPceiJr8.js.map → PickupBatchLinesEditor-QPaqFtUO-BEtI5mIU.js.map} +1 -1
  79. package/dist/PickupCreatePage-C7_67u_u-DbDIZ1WC.js +801 -0
  80. package/dist/PickupCreatePage-C7_67u_u-DbDIZ1WC.js.map +1 -0
  81. package/dist/{PickupsPage-D7zyioJB-bHKnARYw.js → PickupsPage-BWblMlic-KehDMebm.js} +122 -122
  82. package/dist/PickupsPage-BWblMlic-KehDMebm.js.map +1 -0
  83. package/dist/PmGuard-BvUUbU80-DJipZoSg.js +641 -0
  84. package/dist/PmGuard-BvUUbU80-DJipZoSg.js.map +1 -0
  85. package/dist/ProductEditPage-Dbq4vUAA-DusAdAvm.js +1523 -0
  86. package/dist/ProductEditPage-Dbq4vUAA-DusAdAvm.js.map +1 -0
  87. package/dist/{ProductsPage-DvNHIeZt-BoOOJJtk.js → ProductsPage-BI22nPb4-D3GnWz34.js} +29 -29
  88. package/dist/{ProductsPage-DvNHIeZt-BoOOJJtk.js.map → ProductsPage-BI22nPb4-D3GnWz34.js.map} +1 -1
  89. package/dist/PurchaseCreatePage-C0EK9z4w-D4PlZsOH.js +724 -0
  90. package/dist/PurchaseCreatePage-C0EK9z4w-D4PlZsOH.js.map +1 -0
  91. package/dist/{PurchaseRequestDetailPage-CA9KFOfE-CtjG4Gx6.js → PurchaseRequestDetailPage-DhBuOGHZ-CAmlL4fP.js} +446 -436
  92. package/dist/PurchaseRequestDetailPage-DhBuOGHZ-CAmlL4fP.js.map +1 -0
  93. package/dist/{PurchaseRequestsPage-DS9i4o0--TpoxA5Kd.js → PurchaseRequestsPage-Bj9HUMxb-BCAhEEkL.js} +55 -55
  94. package/dist/{PurchaseRequestsPage-DS9i4o0--TpoxA5Kd.js.map → PurchaseRequestsPage-Bj9HUMxb-BCAhEEkL.js.map} +1 -1
  95. package/dist/{PurchasesPage-DgL5T6BY-DePUuE9l.js → PurchasesPage-Djl1AqD_-DxBRFRDy.js} +61 -61
  96. package/dist/{PurchasesPage-DgL5T6BY-DePUuE9l.js.map → PurchasesPage-Djl1AqD_-DxBRFRDy.js.map} +1 -1
  97. package/dist/{RoleManagement-s8iNx2Mu.js → RoleManagement-DVYufwy-.js} +3 -3
  98. package/dist/{RoleManagement-s8iNx2Mu.js.map → RoleManagement-DVYufwy-.js.map} +1 -1
  99. package/dist/Roles-BoNGJhtR.js +19 -0
  100. package/dist/Roles-BoNGJhtR.js.map +1 -0
  101. package/dist/{SaleCreatePage-CZnIOydv-DKBw-qp7.js → SaleCreatePage-DHBLmlBr-aEGmvJQq.js} +33 -33
  102. package/dist/{SaleCreatePage-CZnIOydv-DKBw-qp7.js.map → SaleCreatePage-DHBLmlBr-aEGmvJQq.js.map} +1 -1
  103. package/dist/{SalesPage-DPIRrC_O-M8rqnK7z.js → SalesPage-eF9Yr42z-CvOr82vo.js} +34 -34
  104. package/dist/SalesPage-eF9Yr42z-CvOr82vo.js.map +1 -0
  105. package/dist/SettingsPage-Cre-UE3r-CGTVp5Zw.js +741 -0
  106. package/dist/SettingsPage-Cre-UE3r-CGTVp5Zw.js.map +1 -0
  107. package/dist/{StorageUnitsPage-BDRkdCjW-UF64rf7q.js → StorageUnitsPage-CTEVuemZ-C7zkwKMz.js} +213 -190
  108. package/dist/StorageUnitsPage-CTEVuemZ-C7zkwKMz.js.map +1 -0
  109. package/dist/{SubMenu-BdMTYtC1.js → SubMenu-DZIhur09.js} +2 -2
  110. package/dist/{SubMenu-BdMTYtC1.js.map → SubMenu-DZIhur09.js.map} +1 -1
  111. package/dist/{TableDetails-BtafRxXb.js → TableDetails-Cc40dEUs.js} +272 -267
  112. package/dist/TableDetails-Cc40dEUs.js.map +1 -0
  113. package/dist/{TableList-Dpo6dO7S.js → TableList-B5tX4wII.js} +316 -312
  114. package/dist/TableList-B5tX4wII.js.map +1 -0
  115. package/dist/{TransactionsPage-CqWTMNU8-Df6eGFDW.js → TransactionsPage-Zuu7sjID-BDmUK7s1.js} +185 -170
  116. package/dist/TransactionsPage-Zuu7sjID-BDmUK7s1.js.map +1 -0
  117. package/dist/TransferCreatePage-DlT0nCDj-evHPJc99.js +635 -0
  118. package/dist/TransferCreatePage-DlT0nCDj-evHPJc99.js.map +1 -0
  119. package/dist/TransfersPage-DqaSvHda-DAUn5SSr.js +600 -0
  120. package/dist/TransfersPage-DqaSvHda-DAUn5SSr.js.map +1 -0
  121. package/dist/{TypeConfiguration-JbRCN6GR.js → TypeConfiguration-EaFiOzRE.js} +3 -3
  122. package/dist/{TypeConfiguration-JbRCN6GR.js.map → TypeConfiguration-EaFiOzRE.js.map} +1 -1
  123. package/dist/UserList-Cf5B-o_1.js +1904 -0
  124. package/dist/UserList-Cf5B-o_1.js.map +1 -0
  125. package/dist/Users-MC7txo1V.js +43 -0
  126. package/dist/{Users-CsJ08Kjm.js.map → Users-MC7txo1V.js.map} +1 -1
  127. package/dist/VaccineEducation-DWkNNasF.js +231 -0
  128. package/dist/VaccineEducation-DWkNNasF.js.map +1 -0
  129. package/dist/VaccineEducation.css +1 -0
  130. package/dist/VaccineEducationConfigurator-BFCvu5Mw.js +1450 -0
  131. package/dist/VaccineEducationConfigurator-BFCvu5Mw.js.map +1 -0
  132. package/dist/VaccineEducationConfigurator.css +1 -0
  133. package/dist/VaccineEducationList-BxZHahCh.js +334 -0
  134. package/dist/VaccineEducationList-BxZHahCh.js.map +1 -0
  135. package/dist/VialsPage-LoDaUqVv-Dw00Zc06.js +457 -0
  136. package/dist/VialsPage-LoDaUqVv-Dw00Zc06.js.map +1 -0
  137. package/dist/ckeditor5-_x14lrzc.js +49590 -0
  138. package/dist/ckeditor5-_x14lrzc.js.map +1 -0
  139. package/dist/ckeditor5.css +4 -0
  140. package/dist/{constants-DpXnLsAB-D6lN5cjK.js → constants-BTpJFQe_-CYPZIqQF.js} +160 -61
  141. package/dist/constants-BTpJFQe_-CYPZIqQF.js.map +1 -0
  142. package/dist/dashboardLayoutUtils--xUnoKPa.js +615 -0
  143. package/dist/dashboardLayoutUtils--xUnoKPa.js.map +1 -0
  144. package/dist/faqMedia-FDpje7v0.js +234 -0
  145. package/dist/faqMedia-FDpje7v0.js.map +1 -0
  146. package/dist/index-mfoqII2U.js +524 -0
  147. package/dist/index-mfoqII2U.js.map +1 -0
  148. package/dist/{index-D9YNFPn9.js → index-o8Pyt1Bt.js} +445 -439
  149. package/dist/index-o8Pyt1Bt.js.map +1 -0
  150. package/dist/index.css +1 -1
  151. package/dist/index.js +1 -1
  152. package/dist/{index.lib-ETRQOzvE.js → index.lib-QDEODnRT.js} +409 -327
  153. package/dist/index.lib-QDEODnRT.js.map +1 -0
  154. package/dist/listValueStore-5d4vNGQM-DB08drLf.js +43 -0
  155. package/dist/listValueStore-5d4vNGQM-DB08drLf.js.map +1 -0
  156. package/dist/proxy-C4gcRXzG.js +5265 -0
  157. package/dist/proxy-C4gcRXzG.js.map +1 -0
  158. package/package.json +7 -2
  159. package/dist/AccessRights-DUgY6ewy.js +0 -1031
  160. package/dist/AccessRights-DUgY6ewy.js.map +0 -1
  161. package/dist/AddMenuConfiguration-c6ZKiN0i.js +0 -8898
  162. package/dist/AddMenuConfiguration-c6ZKiN0i.js.map +0 -1
  163. package/dist/ChangePasswordModalCore-lQ9GamH1.js +0 -5494
  164. package/dist/ChangePasswordModalCore-lQ9GamH1.js.map +0 -1
  165. package/dist/EntityManagement-CPQL6qBj.js +0 -50
  166. package/dist/EntityManagement-CPQL6qBj.js.map +0 -1
  167. package/dist/EventsUi-D6O9S7BK.js.map +0 -1
  168. package/dist/FacilityPicker-DYl_PDyt-Cbwo2tAY.js +0 -79
  169. package/dist/FacilityPicker-DYl_PDyt-Cbwo2tAY.js.map +0 -1
  170. package/dist/ImmunizationConfigurationBase-aUtx0JEe.js.map +0 -1
  171. package/dist/InventoryPage-DOotGZrj-CoPjOJEI.js +0 -665
  172. package/dist/InventoryPage-DOotGZrj-CoPjOJEI.js.map +0 -1
  173. package/dist/ManageDynamicFeature-BU0I45dd.js.map +0 -1
  174. package/dist/ManageRole-CNZBRKGU.js +0 -776
  175. package/dist/ManageRole-CNZBRKGU.js.map +0 -1
  176. package/dist/MobileAnalytics-BLOionG_.js +0 -17301
  177. package/dist/MobileAnalytics-BLOionG_.js.map +0 -1
  178. package/dist/MobileMenuManagement-68Wijb0X.js +0 -220
  179. package/dist/MobileMenuManagement-68Wijb0X.js.map +0 -1
  180. package/dist/NewServerManagement-Cxe0dV0O.js.map +0 -1
  181. package/dist/OtherTypeEventConfigModal-stNmuSv_.js +0 -1812
  182. package/dist/OtherTypeEventConfigModal-stNmuSv_.js.map +0 -1
  183. package/dist/PermissionsModal-CCYkcKlC.js.map +0 -1
  184. package/dist/PickupCreatePage-B4O_-vE5-DoOo9nJO.js +0 -783
  185. package/dist/PickupCreatePage-B4O_-vE5-DoOo9nJO.js.map +0 -1
  186. package/dist/PickupsPage-D7zyioJB-bHKnARYw.js.map +0 -1
  187. package/dist/PmGuard-BZE-y4In-D_pUm5MP.js +0 -599
  188. package/dist/PmGuard-BZE-y4In-D_pUm5MP.js.map +0 -1
  189. package/dist/ProductEditPage-BVlVUCtD-BR-tJ5Wb.js +0 -1305
  190. package/dist/ProductEditPage-BVlVUCtD-BR-tJ5Wb.js.map +0 -1
  191. package/dist/PurchaseCreatePage-Cq_i9snz-DRtHHFWw.js +0 -675
  192. package/dist/PurchaseCreatePage-Cq_i9snz-DRtHHFWw.js.map +0 -1
  193. package/dist/PurchaseRequestDetailPage-CA9KFOfE-CtjG4Gx6.js.map +0 -1
  194. package/dist/Roles-BIyiic67.js +0 -14
  195. package/dist/Roles-BIyiic67.js.map +0 -1
  196. package/dist/SalesPage-DPIRrC_O-M8rqnK7z.js.map +0 -1
  197. package/dist/SettingsPage-BC_R6Z-Q-CKNt9zRu.js +0 -676
  198. package/dist/SettingsPage-BC_R6Z-Q-CKNt9zRu.js.map +0 -1
  199. package/dist/StorageUnitsPage-BDRkdCjW-UF64rf7q.js.map +0 -1
  200. package/dist/TableDetails-BtafRxXb.js.map +0 -1
  201. package/dist/TableList-Dpo6dO7S.js.map +0 -1
  202. package/dist/TransactionsPage-CqWTMNU8-Df6eGFDW.js.map +0 -1
  203. package/dist/TransferCreatePage-DF7FZaTJ-CL79V3aR.js +0 -315
  204. package/dist/TransferCreatePage-DF7FZaTJ-CL79V3aR.js.map +0 -1
  205. package/dist/TransfersPage-CGrRFaBF-cTwBUv0o.js +0 -476
  206. package/dist/TransfersPage-CGrRFaBF-cTwBUv0o.js.map +0 -1
  207. package/dist/UserList-L41Xw0Q6.js +0 -1129
  208. package/dist/UserList-L41Xw0Q6.js.map +0 -1
  209. package/dist/Users-CsJ08Kjm.js +0 -40
  210. package/dist/VialsPage-rvvXjgZG-Oqo1v6kQ.js +0 -321
  211. package/dist/VialsPage-rvvXjgZG-Oqo1v6kQ.js.map +0 -1
  212. package/dist/constants-DpXnLsAB-D6lN5cjK.js.map +0 -1
  213. package/dist/dashboardLayoutUtils-CJivzaU1.js +0 -408
  214. package/dist/dashboardLayoutUtils-CJivzaU1.js.map +0 -1
  215. package/dist/index-D9YNFPn9.js.map +0 -1
  216. package/dist/index.lib-ETRQOzvE.js.map +0 -1
  217. package/dist/listValueStore-BFQtDYIR-Bj0yX145.js +0 -36
  218. package/dist/listValueStore-BFQtDYIR-Bj0yX145.js.map +0 -1
@@ -1,11 +1,11 @@
1
- import { S as j, y as H, s as Y, l as z, d as F, E as O, D as B, A as Q, j as _, M as X } from "./ImmunizationConfigurationBase-aUtx0JEe.js";
1
+ import { A as H, D as O, c as Y, u as j, f as z, O as F, k as B, M as Q, N as _, P as K } from "./ImmunizationConfigurationBase-Clkk0-n6.js";
2
2
  import { n as J, o as k } from "./format-UOyOu75i-D0GyylyQ.js";
3
- import { X as K, W as Z, Y as ee, Z as te, Q as ae, q as ne } from "./PmGuard-BZE-y4In-D_pUm5MP.js";
3
+ import { Q as X, K as Z, Z as ee, $ as te, e as ae, Y as ne } from "./PmGuard-BvUUbU80-DJipZoSg.js";
4
4
  import { useState as $ } from "react";
5
5
  import { jsxs as n, jsx as e } from "react/jsx-runtime";
6
6
  import p from "prop-types";
7
- import { Box as c, LinearProgress as re, Grid as S, Grow as ie, Card as R, CardContent as C, Stack as m, Typography as i, Chip as y, Skeleton as x } from "@mui/material";
8
- import { useTheme as W, alpha as r } from "@mui/material/styles";
7
+ import { Box as c, LinearProgress as re, Grid as R, Grow as ie, Card as S, CardContent as A, Stack as m, Typography as i, Chip as y, Skeleton as x } from "@mui/material";
8
+ import { useTheme as C, alpha as r } from "@mui/material/styles";
9
9
  import { useNavigate as oe } from "react-router-dom";
10
10
  import le from "@mui/icons-material/ArrowForwardRounded";
11
11
  var ce = {
@@ -22,7 +22,7 @@ var ce = {
22
22
  TRANSFER_OUT: "default",
23
23
  TRANSFER_IN: "default"
24
24
  };
25
- function A({ label: a, value: o, loading: h }) {
25
+ function N({ label: a, value: o, loading: h }) {
26
26
  return /* @__PURE__ */ n(c, { children: [/* @__PURE__ */ e(i, {
27
27
  variant: "caption",
28
28
  color: "text.secondary",
@@ -45,14 +45,14 @@ function A({ label: a, value: o, loading: h }) {
45
45
  children: o
46
46
  })] });
47
47
  }
48
- A.propTypes = {
48
+ N.propTypes = {
49
49
  label: p.string,
50
50
  value: p.node,
51
51
  loading: p.bool
52
52
  };
53
- function N({ workspace: a, metrics: o, loading: h, onItemClick: g }) {
54
- let b = W(), f = a.icon;
55
- return /* @__PURE__ */ e(R, {
53
+ function T({ workspace: a, metrics: o, loading: h, onItemClick: g }) {
54
+ let b = C(), f = a.icon;
55
+ return /* @__PURE__ */ e(S, {
56
56
  sx: {
57
57
  borderRadius: 1.5,
58
58
  height: "100%",
@@ -76,7 +76,7 @@ function N({ workspace: a, metrics: o, loading: h, onItemClick: g }) {
76
76
  background: `linear-gradient(90deg, ${a.accent} 0%, ${a.accentDark} 100%)`
77
77
  }
78
78
  },
79
- children: /* @__PURE__ */ n(C, {
79
+ children: /* @__PURE__ */ n(A, {
80
80
  sx: {
81
81
  pt: 3,
82
82
  display: "flex",
@@ -137,7 +137,7 @@ function N({ workspace: a, metrics: o, loading: h, onItemClick: g }) {
137
137
  direction: "row",
138
138
  spacing: 3,
139
139
  sx: { mb: 2.5 },
140
- children: o.map((s) => /* @__PURE__ */ e(A, {
140
+ children: o.map((s) => /* @__PURE__ */ e(N, {
141
141
  label: s.label,
142
142
  value: s.value,
143
143
  loading: h
@@ -179,14 +179,14 @@ function N({ workspace: a, metrics: o, loading: h, onItemClick: g }) {
179
179
  })
180
180
  });
181
181
  }
182
- N.propTypes = {
182
+ T.propTypes = {
183
183
  workspace: p.object.isRequired,
184
184
  metrics: p.array,
185
185
  loading: p.bool,
186
186
  onItemClick: p.func.isRequired
187
187
  };
188
188
  function ve() {
189
- let a = oe(), o = W(), h = j(), g = K(), b = H(h == null ? void 0 : h.currencyCode), f = Z(g, h), s = g.has("view.manage.productManagement.ledger"), [l, w] = $(!0), [d, T] = $({
189
+ let a = oe(), o = C(), h = H(), g = X(), b = O(h == null ? void 0 : h.currencyCode), f = Z(g, h), s = g.has("view.manage.productManagement.ledger"), [l, w] = $(!0), [d, W] = $({
190
190
  categories: 0,
191
191
  brands: 0,
192
192
  products: 0,
@@ -199,25 +199,25 @@ function ve() {
199
199
  async function I() {
200
200
  w(!0);
201
201
  try {
202
- let t = (G, U) => g.has(G) ? U().catch(() => []) : Promise.resolve([]), [u, v, E, D, L, P, q, V] = await Promise.all([
202
+ let t = (G, U) => g.has(G) ? U().catch(() => []) : Promise.resolve([]), [u, v, E, D, P, L, V, q] = await Promise.all([
203
203
  t("view.manage.productManagement.category", () => Y()),
204
- t("view.manage.productManagement.brand", () => z()),
205
- t("view.manage.productManagement.product", () => F()),
206
- t("view.manage.productManagement.inventory", () => O()),
204
+ t("view.manage.productManagement.brand", () => j()),
205
+ t("view.manage.productManagement.product", () => z()),
206
+ t("view.manage.productManagement.inventory", () => F()),
207
207
  t("view.manage.productManagement.vial", () => B()),
208
208
  t("view.manage.productManagement.sale", () => Q(0, 100)),
209
209
  t("view.manage.productManagement.payment", () => _(0, 100)),
210
- t("view.manage.productManagement.ledger", () => X(0, 8))
210
+ t("view.manage.productManagement.ledger", () => K(0, 8))
211
211
  ]);
212
- T({
212
+ W({
213
213
  categories: u.length,
214
214
  brands: v.length,
215
215
  products: E.length,
216
216
  batches: D.length,
217
- openVials: L.length,
218
- sales: P.length,
219
- payments: q.length,
220
- txns: V
217
+ openVials: P.length,
218
+ sales: L.length,
219
+ payments: V.length,
220
+ txns: q
221
221
  });
222
222
  } finally {
223
223
  w(!1);
@@ -275,10 +275,10 @@ function ve() {
275
275
  mb: 2,
276
276
  borderRadius: 1
277
277
  } }) : null,
278
- /* @__PURE__ */ e(S, {
278
+ /* @__PURE__ */ e(R, {
279
279
  container: !0,
280
280
  spacing: 2.5,
281
- children: f.map((t, u) => /* @__PURE__ */ e(S, {
281
+ children: f.map((t, u) => /* @__PURE__ */ e(R, {
282
282
  item: !0,
283
283
  xs: 12,
284
284
  md: 4,
@@ -288,7 +288,7 @@ function ve() {
288
288
  style: { transitionDelay: `${u * 80}ms` },
289
289
  children: /* @__PURE__ */ e(c, {
290
290
  sx: { height: "100%" },
291
- children: /* @__PURE__ */ e(N, {
291
+ children: /* @__PURE__ */ e(T, {
292
292
  workspace: t,
293
293
  metrics: M[t.id],
294
294
  loading: l,
@@ -298,13 +298,13 @@ function ve() {
298
298
  })
299
299
  }, t.id))
300
300
  }),
301
- s ? /* @__PURE__ */ e(R, {
301
+ s ? /* @__PURE__ */ e(S, {
302
302
  sx: {
303
303
  borderRadius: 1.5,
304
304
  mt: 3,
305
305
  boxShadow: `0 12px 32px ${r(o.palette.common.black, 0.05)}`
306
306
  },
307
- children: /* @__PURE__ */ n(C, { children: [/* @__PURE__ */ n(m, {
307
+ children: /* @__PURE__ */ n(A, { children: [/* @__PURE__ */ n(m, {
308
308
  direction: "row",
309
309
  justifyContent: "space-between",
310
310
  alignItems: "center",
@@ -432,4 +432,4 @@ function ve() {
432
432
  export {
433
433
  ve as default
434
434
  };
435
- //# sourceMappingURL=DashboardPage-asr2XDRu-uOOlX9Vq.js.map
435
+ //# sourceMappingURL=DashboardPage-CTiGSx71-DX-TzGOH.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DashboardPage-asr2XDRu-uOOlX9Vq.js","sources":["../../productManagement/dist/DashboardPage-asr2XDRu.js"],"sourcesContent":["import { E as e, H as t, L as n, M as r, R as i, U as a, _ as o, g as s, i as c, r as l } from \"./settingsStore-BHHOmcCP.js\";\nimport { n as u, r as d } from \"./format-UOyOu75i.js\";\nimport { a as f, i as p, n as m, o as h, r as g, t as _ } from \"./PmGuard-BZE-y4In.js\";\nimport { useState as v } from \"react\";\nimport { jsx as y, jsxs as b } from \"react/jsx-runtime\";\nimport x from \"prop-types\";\nimport { Box as S, Card as C, CardContent as w, Chip as T, Grid as E, Grow as D, LinearProgress as O, Skeleton as k, Stack as A, Typography as j } from \"@mui/material\";\nimport { alpha as M, useTheme as N } from \"@mui/material/styles\";\nimport { useNavigate as P } from \"react-router-dom\";\nimport F from \"@mui/icons-material/ArrowForwardRounded\";\n//#region src/views/DashboardPage.jsx\nvar I = {\n\tRECEIPT: \"success\",\n\tSALE: \"primary\",\n\tPAYMENT: \"info\",\n\tVIAL_OPENED: \"info\",\n\tADMINISTRATION: \"info\",\n\tWASTAGE: \"warning\",\n\tEXPIRY: \"error\",\n\tQUARANTINE: \"error\",\n\tRECALL: \"error\",\n\tUNQUARANTINE: \"success\",\n\tTRANSFER_OUT: \"default\",\n\tTRANSFER_IN: \"default\"\n};\nfunction L({ label: e, value: t, loading: n }) {\n\treturn /* @__PURE__ */ b(S, { children: [/* @__PURE__ */ y(j, {\n\t\tvariant: \"caption\",\n\t\tcolor: \"text.secondary\",\n\t\tsx: {\n\t\t\tfontWeight: 700,\n\t\t\tletterSpacing: .5\n\t\t},\n\t\tchildren: e.toUpperCase()\n\t}), n ? /* @__PURE__ */ y(k, {\n\t\twidth: 48,\n\t\theight: 32\n\t}) : /* @__PURE__ */ y(j, {\n\t\tvariant: \"h5\",\n\t\tsx: {\n\t\t\tfontWeight: 800,\n\t\t\tfontVariantNumeric: \"tabular-nums\",\n\t\t\tlineHeight: 1.1,\n\t\t\tmt: .25\n\t\t},\n\t\tchildren: t\n\t})] });\n}\nL.propTypes = {\n\tlabel: x.string,\n\tvalue: x.node,\n\tloading: x.bool\n};\nfunction R({ workspace: e, metrics: t, loading: n, onItemClick: r }) {\n\tlet i = N(), a = e.icon;\n\treturn /* @__PURE__ */ y(C, {\n\t\tsx: {\n\t\t\tborderRadius: 1.5,\n\t\t\theight: \"100%\",\n\t\t\tposition: \"relative\",\n\t\t\toverflow: \"hidden\",\n\t\t\tborder: `1px solid ${M(e.accent, .18)}`,\n\t\t\tbackground: `linear-gradient(180deg, ${M(e.accent, .06)} 0%, ${M(i.palette.background.paper, 1)} 35%)`,\n\t\t\tboxShadow: `0 16px 36px ${M(e.accent, .08)}`,\n\t\t\ttransition: \"transform 240ms cubic-bezier(0.4, 0, 0.2, 1), box-shadow 240ms\",\n\t\t\t\"&:hover\": {\n\t\t\t\ttransform: \"translateY(-3px)\",\n\t\t\t\tboxShadow: `0 22px 50px ${M(e.accent, .18)}`\n\t\t\t},\n\t\t\t\"&::before\": {\n\t\t\t\tcontent: \"\\\"\\\"\",\n\t\t\t\tposition: \"absolute\",\n\t\t\t\tleft: 0,\n\t\t\t\tright: 0,\n\t\t\t\ttop: 0,\n\t\t\t\theight: 4,\n\t\t\t\tbackground: `linear-gradient(90deg, ${e.accent} 0%, ${e.accentDark} 100%)`\n\t\t\t}\n\t\t},\n\t\tchildren: /* @__PURE__ */ b(w, {\n\t\t\tsx: {\n\t\t\t\tpt: 3,\n\t\t\t\tdisplay: \"flex\",\n\t\t\t\tflexDirection: \"column\",\n\t\t\t\theight: \"100%\"\n\t\t\t},\n\t\t\tchildren: [\n\t\t\t\t/* @__PURE__ */ b(A, {\n\t\t\t\t\tdirection: \"row\",\n\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\tspacing: 1.5,\n\t\t\t\t\tchildren: [/* @__PURE__ */ y(S, {\n\t\t\t\t\t\tsx: {\n\t\t\t\t\t\t\twidth: 44,\n\t\t\t\t\t\t\theight: 44,\n\t\t\t\t\t\t\tborderRadius: 1.5,\n\t\t\t\t\t\t\tdisplay: \"grid\",\n\t\t\t\t\t\t\tplaceItems: \"center\",\n\t\t\t\t\t\t\tcolor: \"#fff\",\n\t\t\t\t\t\t\tbackground: `linear-gradient(135deg, ${e.accent} 0%, ${e.accentDark} 100%)`,\n\t\t\t\t\t\t\tboxShadow: `0 8px 18px ${M(e.accent, .3)}`\n\t\t\t\t\t\t},\n\t\t\t\t\t\tchildren: /* @__PURE__ */ y(a, { sx: { fontSize: 24 } })\n\t\t\t\t\t}), /* @__PURE__ */ b(S, {\n\t\t\t\t\t\tsx: {\n\t\t\t\t\t\t\tflexGrow: 1,\n\t\t\t\t\t\t\tminWidth: 0\n\t\t\t\t\t\t},\n\t\t\t\t\t\tchildren: [/* @__PURE__ */ y(j, {\n\t\t\t\t\t\t\tvariant: \"overline\",\n\t\t\t\t\t\t\tsx: {\n\t\t\t\t\t\t\t\tcolor: e.accentDark,\n\t\t\t\t\t\t\t\tfontWeight: 800,\n\t\t\t\t\t\t\t\tletterSpacing: 1.1,\n\t\t\t\t\t\t\t\tlineHeight: 1\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tchildren: \"Workspace\"\n\t\t\t\t\t\t}), /* @__PURE__ */ y(j, {\n\t\t\t\t\t\t\tvariant: \"h6\",\n\t\t\t\t\t\t\tsx: {\n\t\t\t\t\t\t\t\tfontWeight: 800,\n\t\t\t\t\t\t\t\tlineHeight: 1.2\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tchildren: e.label\n\t\t\t\t\t\t})]\n\t\t\t\t\t})]\n\t\t\t\t}),\n\t\t\t\t/* @__PURE__ */ y(j, {\n\t\t\t\t\tvariant: \"body2\",\n\t\t\t\t\tcolor: \"text.secondary\",\n\t\t\t\t\tsx: {\n\t\t\t\t\t\tmt: 1.5,\n\t\t\t\t\t\tmb: 2\n\t\t\t\t\t},\n\t\t\t\t\tchildren: e.description\n\t\t\t\t}),\n\t\t\t\tt?.length ? /* @__PURE__ */ y(A, {\n\t\t\t\t\tdirection: \"row\",\n\t\t\t\t\tspacing: 3,\n\t\t\t\t\tsx: { mb: 2.5 },\n\t\t\t\t\tchildren: t.map((e) => /* @__PURE__ */ y(L, {\n\t\t\t\t\t\tlabel: e.label,\n\t\t\t\t\t\tvalue: e.value,\n\t\t\t\t\t\tloading: n\n\t\t\t\t\t}, e.label))\n\t\t\t\t}) : null,\n\t\t\t\t/* @__PURE__ */ y(S, {\n\t\t\t\t\tsx: { mt: \"auto\" },\n\t\t\t\t\tchildren: /* @__PURE__ */ y(A, {\n\t\t\t\t\t\tdirection: \"row\",\n\t\t\t\t\t\tspacing: 1,\n\t\t\t\t\t\tflexWrap: \"wrap\",\n\t\t\t\t\t\tuseFlexGap: !0,\n\t\t\t\t\t\tchildren: e.items.map((t) => {\n\t\t\t\t\t\t\tlet n = t.icon;\n\t\t\t\t\t\t\treturn /* @__PURE__ */ y(T, {\n\t\t\t\t\t\t\t\ticon: n ? /* @__PURE__ */ y(n, { sx: {\n\t\t\t\t\t\t\t\t\tfontSize: \"1rem !important\",\n\t\t\t\t\t\t\t\t\tcolor: `${e.accentDark} !important`\n\t\t\t\t\t\t\t\t} }) : void 0,\n\t\t\t\t\t\t\t\tlabel: t.label,\n\t\t\t\t\t\t\t\tonClick: () => r(t),\n\t\t\t\t\t\t\t\tsx: {\n\t\t\t\t\t\t\t\t\tborderRadius: 2,\n\t\t\t\t\t\t\t\t\tfontWeight: 700,\n\t\t\t\t\t\t\t\t\tbackgroundColor: M(e.accent, .08),\n\t\t\t\t\t\t\t\t\tcolor: e.accentDark,\n\t\t\t\t\t\t\t\t\tborder: `1px solid ${M(e.accent, .18)}`,\n\t\t\t\t\t\t\t\t\ttransition: \"all 180ms ease\",\n\t\t\t\t\t\t\t\t\t\"&:hover\": {\n\t\t\t\t\t\t\t\t\t\tbackgroundColor: M(e.accent, .18),\n\t\t\t\t\t\t\t\t\t\ttransform: \"translateY(-1px)\"\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}, t.id);\n\t\t\t\t\t\t})\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t]\n\t\t})\n\t});\n}\nR.propTypes = {\n\tworkspace: x.object.isRequired,\n\tmetrics: x.array,\n\tloading: x.bool,\n\tonItemClick: x.func.isRequired\n};\nfunction z() {\n\tlet x = P(), L = N(), z = l(), B = p(), V = c(z?.currencyCode), H = h(B, z), U = B.has(\"view.manage.productManagement.ledger\"), [W, G] = v(!0), [K, q] = v({\n\t\tcategories: 0,\n\t\tbrands: 0,\n\t\tproducts: 0,\n\t\tbatches: 0,\n\t\topenVials: 0,\n\t\tsales: 0,\n\t\tpayments: 0,\n\t\ttxns: []\n\t});\n\tasync function J() {\n\t\tG(!0);\n\t\ttry {\n\t\t\tlet c = (e, t) => B.has(e) ? t().catch(() => []) : Promise.resolve([]), [l, u, d, f, p, m, h, g] = await Promise.all([\n\t\t\t\tc(\"view.manage.productManagement.category\", () => o()),\n\t\t\t\tc(\"view.manage.productManagement.brand\", () => s()),\n\t\t\t\tc(\"view.manage.productManagement.product\", () => e()),\n\t\t\t\tc(\"view.manage.productManagement.inventory\", () => r()),\n\t\t\t\tc(\"view.manage.productManagement.vial\", () => n()),\n\t\t\t\tc(\"view.manage.productManagement.sale\", () => t(0, 100)),\n\t\t\t\tc(\"view.manage.productManagement.payment\", () => i(0, 100)),\n\t\t\t\tc(\"view.manage.productManagement.ledger\", () => a(0, 8))\n\t\t\t]);\n\t\t\tq({\n\t\t\t\tcategories: l.length,\n\t\t\t\tbrands: u.length,\n\t\t\t\tproducts: d.length,\n\t\t\t\tbatches: f.length,\n\t\t\t\topenVials: p.length,\n\t\t\t\tsales: m.length,\n\t\t\t\tpayments: h.length,\n\t\t\t\ttxns: g\n\t\t\t});\n\t\t} finally {\n\t\t\tG(!1);\n\t\t}\n\t}\n\tg(\"view.manage.productManagement\", () => {\n\t\tJ();\n\t}, []);\n\tlet Y = {\n\t\tcatalog: [\n\t\t\t{\n\t\t\t\tlabel: \"Categories\",\n\t\t\t\tvalue: K.categories\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: \"Brands\",\n\t\t\t\tvalue: K.brands\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: \"Products\",\n\t\t\t\tvalue: K.products\n\t\t\t}\n\t\t],\n\t\toperations: [\n\t\t\t{\n\t\t\t\tlabel: \"Batches\",\n\t\t\t\tvalue: K.batches\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: \"Open vials\",\n\t\t\t\tvalue: K.openVials\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: \"Sales\",\n\t\t\t\tvalue: K.sales\n\t\t\t}\n\t\t],\n\t\tledger: [{\n\t\t\tlabel: \"Recent\",\n\t\t\tvalue: K.txns.length\n\t\t}]\n\t};\n\treturn /* @__PURE__ */ b(S, { children: [/* @__PURE__ */ y(m, {}), /* @__PURE__ */ y(_, {\n\t\tperm: \"view.manage.productManagement\",\n\t\tchildren: /* @__PURE__ */ b(f, {\n\t\t\ttitle: \"Product Management\",\n\t\t\tsubtitle: \"Choose where to start. Use Catalog to set up, Operations for daily work, and Ledger to review history.\",\n\t\t\tchips: [\n\t\t\t\t\"Generic\",\n\t\t\t\t\"Vaccine-aware\",\n\t\t\t\t\"Ledger-driven\"\n\t\t\t],\n\t\t\tchildren: [\n\t\t\t\tW ? /* @__PURE__ */ y(O, { sx: {\n\t\t\t\t\tmb: 2,\n\t\t\t\t\tborderRadius: 1\n\t\t\t\t} }) : null,\n\t\t\t\t/* @__PURE__ */ y(E, {\n\t\t\t\t\tcontainer: !0,\n\t\t\t\t\tspacing: 2.5,\n\t\t\t\t\tchildren: H.map((e, t) => /* @__PURE__ */ y(E, {\n\t\t\t\t\t\titem: !0,\n\t\t\t\t\t\txs: 12,\n\t\t\t\t\t\tmd: 4,\n\t\t\t\t\t\tchildren: /* @__PURE__ */ y(D, {\n\t\t\t\t\t\t\tin: !0,\n\t\t\t\t\t\t\ttimeout: 420,\n\t\t\t\t\t\t\tstyle: { transitionDelay: `${t * 80}ms` },\n\t\t\t\t\t\t\tchildren: /* @__PURE__ */ y(S, {\n\t\t\t\t\t\t\t\tsx: { height: \"100%\" },\n\t\t\t\t\t\t\t\tchildren: /* @__PURE__ */ y(R, {\n\t\t\t\t\t\t\t\t\tworkspace: e,\n\t\t\t\t\t\t\t\t\tmetrics: Y[e.id],\n\t\t\t\t\t\t\t\t\tloading: W,\n\t\t\t\t\t\t\t\t\tonItemClick: (e) => x(e.path)\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t})\n\t\t\t\t\t}, e.id))\n\t\t\t\t}),\n\t\t\t\tU ? /* @__PURE__ */ y(C, {\n\t\t\t\t\tsx: {\n\t\t\t\t\t\tborderRadius: 1.5,\n\t\t\t\t\t\tmt: 3,\n\t\t\t\t\t\tboxShadow: `0 12px 32px ${M(L.palette.common.black, .05)}`\n\t\t\t\t\t},\n\t\t\t\t\tchildren: /* @__PURE__ */ b(w, { children: [/* @__PURE__ */ b(A, {\n\t\t\t\t\t\tdirection: \"row\",\n\t\t\t\t\t\tjustifyContent: \"space-between\",\n\t\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\t\tsx: { mb: 1.5 },\n\t\t\t\t\t\tchildren: [/* @__PURE__ */ b(S, { children: [/* @__PURE__ */ y(j, {\n\t\t\t\t\t\t\tvariant: \"overline\",\n\t\t\t\t\t\t\tsx: {\n\t\t\t\t\t\t\t\tcolor: \"text.secondary\",\n\t\t\t\t\t\t\t\tfontWeight: 800,\n\t\t\t\t\t\t\t\tletterSpacing: 1\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tchildren: \"Stock Ledger\"\n\t\t\t\t\t\t}), /* @__PURE__ */ y(j, {\n\t\t\t\t\t\t\tvariant: \"h6\",\n\t\t\t\t\t\t\tsx: {\n\t\t\t\t\t\t\t\tfontWeight: 800,\n\t\t\t\t\t\t\t\tlineHeight: 1.2\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tchildren: \"Recent activity\"\n\t\t\t\t\t\t})] }), /* @__PURE__ */ y(T, {\n\t\t\t\t\t\t\tclickable: !0,\n\t\t\t\t\t\t\ticon: /* @__PURE__ */ y(F, { sx: { fontSize: \"1rem !important\" } }),\n\t\t\t\t\t\t\tlabel: \"View ledger\",\n\t\t\t\t\t\t\tonClick: () => x(\"/ui/medplat/manage/pm/transactions\"),\n\t\t\t\t\t\t\tsx: {\n\t\t\t\t\t\t\t\tborderRadius: 2,\n\t\t\t\t\t\t\t\tfontWeight: 700,\n\t\t\t\t\t\t\t\tbgcolor: M(L.palette.primary.main, .08),\n\t\t\t\t\t\t\t\tcolor: \"primary.dark\",\n\t\t\t\t\t\t\t\t\"&:hover\": { bgcolor: M(L.palette.primary.main, .16) }\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})]\n\t\t\t\t\t}), K.txns.length === 0 && !W ? /* @__PURE__ */ y(j, {\n\t\t\t\t\t\tvariant: \"body2\",\n\t\t\t\t\t\tcolor: \"text.secondary\",\n\t\t\t\t\t\tchildren: \"No activity yet — record a purchase or a sale to see entries here.\"\n\t\t\t\t\t}) : /* @__PURE__ */ y(A, {\n\t\t\t\t\t\tdivider: /* @__PURE__ */ y(S, { sx: { borderTop: `1px dashed ${L.palette.divider}` } }),\n\t\t\t\t\t\tspacing: 0,\n\t\t\t\t\t\tchildren: (W ? Array.from({ length: 4 }) : K.txns).map((e, t) => /* @__PURE__ */ b(S, {\n\t\t\t\t\t\t\tsx: {\n\t\t\t\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\t\t\t\tjustifyContent: \"space-between\",\n\t\t\t\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\t\t\t\tpy: 1.25,\n\t\t\t\t\t\t\t\tgap: 2\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tchildren: [/* @__PURE__ */ b(A, {\n\t\t\t\t\t\t\t\tdirection: \"row\",\n\t\t\t\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\t\t\t\tspacing: 1.5,\n\t\t\t\t\t\t\t\tsx: { minWidth: 0 },\n\t\t\t\t\t\t\t\tchildren: [W ? /* @__PURE__ */ y(k, {\n\t\t\t\t\t\t\t\t\tvariant: \"rounded\",\n\t\t\t\t\t\t\t\t\twidth: 92,\n\t\t\t\t\t\t\t\t\theight: 22\n\t\t\t\t\t\t\t\t}) : /* @__PURE__ */ y(T, {\n\t\t\t\t\t\t\t\t\tsize: \"small\",\n\t\t\t\t\t\t\t\t\tlabel: e.transactionType,\n\t\t\t\t\t\t\t\t\tcolor: I[e.transactionType] || \"default\",\n\t\t\t\t\t\t\t\t\tsx: {\n\t\t\t\t\t\t\t\t\t\tfontWeight: 700,\n\t\t\t\t\t\t\t\t\t\tborderRadius: 1.5,\n\t\t\t\t\t\t\t\t\t\theight: 22\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}), /* @__PURE__ */ b(S, {\n\t\t\t\t\t\t\t\t\tsx: { minWidth: 0 },\n\t\t\t\t\t\t\t\t\tchildren: [W ? /* @__PURE__ */ y(k, {\n\t\t\t\t\t\t\t\t\t\twidth: 220,\n\t\t\t\t\t\t\t\t\t\theight: 20\n\t\t\t\t\t\t\t\t\t}) : /* @__PURE__ */ b(j, {\n\t\t\t\t\t\t\t\t\t\tvariant: \"body2\",\n\t\t\t\t\t\t\t\t\t\tsx: {\n\t\t\t\t\t\t\t\t\t\t\tfontWeight: 700,\n\t\t\t\t\t\t\t\t\t\t\tlineHeight: 1.2\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tnoWrap: !0,\n\t\t\t\t\t\t\t\t\t\tchildren: [e.productName || \"—\", e.lotNumber ? /* @__PURE__ */ b(j, {\n\t\t\t\t\t\t\t\t\t\t\tcomponent: \"span\",\n\t\t\t\t\t\t\t\t\t\t\tvariant: \"body2\",\n\t\t\t\t\t\t\t\t\t\t\tcolor: \"text.secondary\",\n\t\t\t\t\t\t\t\t\t\t\tsx: {\n\t\t\t\t\t\t\t\t\t\t\t\tfontFamily: \"monospace\",\n\t\t\t\t\t\t\t\t\t\t\t\tml: 1\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tchildren: [\"lot \", e.lotNumber]\n\t\t\t\t\t\t\t\t\t\t}) : null]\n\t\t\t\t\t\t\t\t\t}), W ? /* @__PURE__ */ y(k, {\n\t\t\t\t\t\t\t\t\t\twidth: 120,\n\t\t\t\t\t\t\t\t\t\theight: 16\n\t\t\t\t\t\t\t\t\t}) : /* @__PURE__ */ y(j, {\n\t\t\t\t\t\t\t\t\t\tvariant: \"caption\",\n\t\t\t\t\t\t\t\t\t\tcolor: \"text.secondary\",\n\t\t\t\t\t\t\t\t\t\tchildren: u(e.transactionTime)\n\t\t\t\t\t\t\t\t\t})]\n\t\t\t\t\t\t\t\t})]\n\t\t\t\t\t\t\t}), /* @__PURE__ */ y(S, {\n\t\t\t\t\t\t\t\tsx: {\n\t\t\t\t\t\t\t\t\ttextAlign: \"right\",\n\t\t\t\t\t\t\t\t\twhiteSpace: \"nowrap\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tchildren: W ? /* @__PURE__ */ y(k, {\n\t\t\t\t\t\t\t\t\twidth: 70,\n\t\t\t\t\t\t\t\t\theight: 20\n\t\t\t\t\t\t\t\t}) : /* @__PURE__ */ b(j, {\n\t\t\t\t\t\t\t\t\tvariant: \"body2\",\n\t\t\t\t\t\t\t\t\tsx: {\n\t\t\t\t\t\t\t\t\t\tfontWeight: 800,\n\t\t\t\t\t\t\t\t\t\tfontVariantNumeric: \"tabular-nums\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tchildren: [\n\t\t\t\t\t\t\t\t\t\te.quantity == null ? \"\" : `qty ${e.quantity}`,\n\t\t\t\t\t\t\t\t\t\te.volumeMl == null ? \"\" : `${e.quantity == null ? \"\" : \" · \"}${d(e.volumeMl)} ml`,\n\t\t\t\t\t\t\t\t\t\te.monetaryAmount == null ? \"\" : `${e.quantity != null || e.volumeMl != null ? \" · \" : \"\"}${V}${d(e.monetaryAmount)}`\n\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t})]\n\t\t\t\t\t\t}, e?.id ?? t))\n\t\t\t\t\t})] })\n\t\t\t\t}) : null\n\t\t\t]\n\t\t})\n\t})] });\n}\n//#endregion\nexport { z as default };\n\n//# sourceMappingURL=DashboardPage-asr2XDRu.js.map"],"names":["I","L","e","t","n","b","S","y","j","k","x","R","r","i","N","a","C","M","w","A","T","z","P","l","B","p","V","c","H","h","U","W","G","v","K","q","J","u","d","f","m","g","o","s","Y","_","O","E","D","F"],"mappings":"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"}
1
+ {"version":3,"file":"DashboardPage-CTiGSx71-DX-TzGOH.js","sources":["../../productManagement/dist/DashboardPage-CTiGSx71.js"],"sourcesContent":["import { B as e, F as t, G as n, K as r, V as i, i as a, k as o, r as s, v as c, y as l } from \"./settingsStore-Df_wGo55.js\";\nimport { n as u, r as d } from \"./format-UOyOu75i.js\";\nimport { a as f, i as p, n as m, o as h, r as g, t as _ } from \"./PmGuard-BvUUbU80.js\";\nimport { useState as v } from \"react\";\nimport { jsx as y, jsxs as b } from \"react/jsx-runtime\";\nimport x from \"prop-types\";\nimport { Box as S, Card as C, CardContent as w, Chip as T, Grid as E, Grow as D, LinearProgress as O, Skeleton as k, Stack as A, Typography as j } from \"@mui/material\";\nimport { alpha as M, useTheme as N } from \"@mui/material/styles\";\nimport { useNavigate as P } from \"react-router-dom\";\nimport F from \"@mui/icons-material/ArrowForwardRounded\";\n//#region src/views/DashboardPage.jsx\nvar I = {\n\tRECEIPT: \"success\",\n\tSALE: \"primary\",\n\tPAYMENT: \"info\",\n\tVIAL_OPENED: \"info\",\n\tADMINISTRATION: \"info\",\n\tWASTAGE: \"warning\",\n\tEXPIRY: \"error\",\n\tQUARANTINE: \"error\",\n\tRECALL: \"error\",\n\tUNQUARANTINE: \"success\",\n\tTRANSFER_OUT: \"default\",\n\tTRANSFER_IN: \"default\"\n};\nfunction L({ label: e, value: t, loading: n }) {\n\treturn /* @__PURE__ */ b(S, { children: [/* @__PURE__ */ y(j, {\n\t\tvariant: \"caption\",\n\t\tcolor: \"text.secondary\",\n\t\tsx: {\n\t\t\tfontWeight: 700,\n\t\t\tletterSpacing: .5\n\t\t},\n\t\tchildren: e.toUpperCase()\n\t}), n ? /* @__PURE__ */ y(k, {\n\t\twidth: 48,\n\t\theight: 32\n\t}) : /* @__PURE__ */ y(j, {\n\t\tvariant: \"h5\",\n\t\tsx: {\n\t\t\tfontWeight: 800,\n\t\t\tfontVariantNumeric: \"tabular-nums\",\n\t\t\tlineHeight: 1.1,\n\t\t\tmt: .25\n\t\t},\n\t\tchildren: t\n\t})] });\n}\nL.propTypes = {\n\tlabel: x.string,\n\tvalue: x.node,\n\tloading: x.bool\n};\nfunction R({ workspace: e, metrics: t, loading: n, onItemClick: r }) {\n\tlet i = N(), a = e.icon;\n\treturn /* @__PURE__ */ y(C, {\n\t\tsx: {\n\t\t\tborderRadius: 1.5,\n\t\t\theight: \"100%\",\n\t\t\tposition: \"relative\",\n\t\t\toverflow: \"hidden\",\n\t\t\tborder: `1px solid ${M(e.accent, .18)}`,\n\t\t\tbackground: `linear-gradient(180deg, ${M(e.accent, .06)} 0%, ${M(i.palette.background.paper, 1)} 35%)`,\n\t\t\tboxShadow: `0 16px 36px ${M(e.accent, .08)}`,\n\t\t\ttransition: \"transform 240ms cubic-bezier(0.4, 0, 0.2, 1), box-shadow 240ms\",\n\t\t\t\"&:hover\": {\n\t\t\t\ttransform: \"translateY(-3px)\",\n\t\t\t\tboxShadow: `0 22px 50px ${M(e.accent, .18)}`\n\t\t\t},\n\t\t\t\"&::before\": {\n\t\t\t\tcontent: \"\\\"\\\"\",\n\t\t\t\tposition: \"absolute\",\n\t\t\t\tleft: 0,\n\t\t\t\tright: 0,\n\t\t\t\ttop: 0,\n\t\t\t\theight: 4,\n\t\t\t\tbackground: `linear-gradient(90deg, ${e.accent} 0%, ${e.accentDark} 100%)`\n\t\t\t}\n\t\t},\n\t\tchildren: /* @__PURE__ */ b(w, {\n\t\t\tsx: {\n\t\t\t\tpt: 3,\n\t\t\t\tdisplay: \"flex\",\n\t\t\t\tflexDirection: \"column\",\n\t\t\t\theight: \"100%\"\n\t\t\t},\n\t\t\tchildren: [\n\t\t\t\t/* @__PURE__ */ b(A, {\n\t\t\t\t\tdirection: \"row\",\n\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\tspacing: 1.5,\n\t\t\t\t\tchildren: [/* @__PURE__ */ y(S, {\n\t\t\t\t\t\tsx: {\n\t\t\t\t\t\t\twidth: 44,\n\t\t\t\t\t\t\theight: 44,\n\t\t\t\t\t\t\tborderRadius: 1.5,\n\t\t\t\t\t\t\tdisplay: \"grid\",\n\t\t\t\t\t\t\tplaceItems: \"center\",\n\t\t\t\t\t\t\tcolor: \"#fff\",\n\t\t\t\t\t\t\tbackground: `linear-gradient(135deg, ${e.accent} 0%, ${e.accentDark} 100%)`,\n\t\t\t\t\t\t\tboxShadow: `0 8px 18px ${M(e.accent, .3)}`\n\t\t\t\t\t\t},\n\t\t\t\t\t\tchildren: /* @__PURE__ */ y(a, { sx: { fontSize: 24 } })\n\t\t\t\t\t}), /* @__PURE__ */ b(S, {\n\t\t\t\t\t\tsx: {\n\t\t\t\t\t\t\tflexGrow: 1,\n\t\t\t\t\t\t\tminWidth: 0\n\t\t\t\t\t\t},\n\t\t\t\t\t\tchildren: [/* @__PURE__ */ y(j, {\n\t\t\t\t\t\t\tvariant: \"overline\",\n\t\t\t\t\t\t\tsx: {\n\t\t\t\t\t\t\t\tcolor: e.accentDark,\n\t\t\t\t\t\t\t\tfontWeight: 800,\n\t\t\t\t\t\t\t\tletterSpacing: 1.1,\n\t\t\t\t\t\t\t\tlineHeight: 1\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tchildren: \"Workspace\"\n\t\t\t\t\t\t}), /* @__PURE__ */ y(j, {\n\t\t\t\t\t\t\tvariant: \"h6\",\n\t\t\t\t\t\t\tsx: {\n\t\t\t\t\t\t\t\tfontWeight: 800,\n\t\t\t\t\t\t\t\tlineHeight: 1.2\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tchildren: e.label\n\t\t\t\t\t\t})]\n\t\t\t\t\t})]\n\t\t\t\t}),\n\t\t\t\t/* @__PURE__ */ y(j, {\n\t\t\t\t\tvariant: \"body2\",\n\t\t\t\t\tcolor: \"text.secondary\",\n\t\t\t\t\tsx: {\n\t\t\t\t\t\tmt: 1.5,\n\t\t\t\t\t\tmb: 2\n\t\t\t\t\t},\n\t\t\t\t\tchildren: e.description\n\t\t\t\t}),\n\t\t\t\tt?.length ? /* @__PURE__ */ y(A, {\n\t\t\t\t\tdirection: \"row\",\n\t\t\t\t\tspacing: 3,\n\t\t\t\t\tsx: { mb: 2.5 },\n\t\t\t\t\tchildren: t.map((e) => /* @__PURE__ */ y(L, {\n\t\t\t\t\t\tlabel: e.label,\n\t\t\t\t\t\tvalue: e.value,\n\t\t\t\t\t\tloading: n\n\t\t\t\t\t}, e.label))\n\t\t\t\t}) : null,\n\t\t\t\t/* @__PURE__ */ y(S, {\n\t\t\t\t\tsx: { mt: \"auto\" },\n\t\t\t\t\tchildren: /* @__PURE__ */ y(A, {\n\t\t\t\t\t\tdirection: \"row\",\n\t\t\t\t\t\tspacing: 1,\n\t\t\t\t\t\tflexWrap: \"wrap\",\n\t\t\t\t\t\tuseFlexGap: !0,\n\t\t\t\t\t\tchildren: e.items.map((t) => {\n\t\t\t\t\t\t\tlet n = t.icon;\n\t\t\t\t\t\t\treturn /* @__PURE__ */ y(T, {\n\t\t\t\t\t\t\t\ticon: n ? /* @__PURE__ */ y(n, { sx: {\n\t\t\t\t\t\t\t\t\tfontSize: \"1rem !important\",\n\t\t\t\t\t\t\t\t\tcolor: `${e.accentDark} !important`\n\t\t\t\t\t\t\t\t} }) : void 0,\n\t\t\t\t\t\t\t\tlabel: t.label,\n\t\t\t\t\t\t\t\tonClick: () => r(t),\n\t\t\t\t\t\t\t\tsx: {\n\t\t\t\t\t\t\t\t\tborderRadius: 2,\n\t\t\t\t\t\t\t\t\tfontWeight: 700,\n\t\t\t\t\t\t\t\t\tbackgroundColor: M(e.accent, .08),\n\t\t\t\t\t\t\t\t\tcolor: e.accentDark,\n\t\t\t\t\t\t\t\t\tborder: `1px solid ${M(e.accent, .18)}`,\n\t\t\t\t\t\t\t\t\ttransition: \"all 180ms ease\",\n\t\t\t\t\t\t\t\t\t\"&:hover\": {\n\t\t\t\t\t\t\t\t\t\tbackgroundColor: M(e.accent, .18),\n\t\t\t\t\t\t\t\t\t\ttransform: \"translateY(-1px)\"\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}, t.id);\n\t\t\t\t\t\t})\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t]\n\t\t})\n\t});\n}\nR.propTypes = {\n\tworkspace: x.object.isRequired,\n\tmetrics: x.array,\n\tloading: x.bool,\n\tonItemClick: x.func.isRequired\n};\nfunction z() {\n\tlet x = P(), L = N(), z = s(), B = p(), V = a(z?.currencyCode), H = h(B, z), U = B.has(\"view.manage.productManagement.ledger\"), [W, G] = v(!0), [K, q] = v({\n\t\tcategories: 0,\n\t\tbrands: 0,\n\t\tproducts: 0,\n\t\tbatches: 0,\n\t\topenVials: 0,\n\t\tsales: 0,\n\t\tpayments: 0,\n\t\ttxns: []\n\t});\n\tasync function J() {\n\t\tG(!0);\n\t\ttry {\n\t\t\tlet a = (e, t) => B.has(e) ? t().catch(() => []) : Promise.resolve([]), [s, u, d, f, p, m, h, g] = await Promise.all([\n\t\t\t\ta(\"view.manage.productManagement.category\", () => l()),\n\t\t\t\ta(\"view.manage.productManagement.brand\", () => c()),\n\t\t\t\ta(\"view.manage.productManagement.product\", () => o()),\n\t\t\t\ta(\"view.manage.productManagement.inventory\", () => t()),\n\t\t\t\ta(\"view.manage.productManagement.vial\", () => e()),\n\t\t\t\ta(\"view.manage.productManagement.sale\", () => n(0, 100)),\n\t\t\t\ta(\"view.manage.productManagement.payment\", () => i(0, 100)),\n\t\t\t\ta(\"view.manage.productManagement.ledger\", () => r(0, 8))\n\t\t\t]);\n\t\t\tq({\n\t\t\t\tcategories: s.length,\n\t\t\t\tbrands: u.length,\n\t\t\t\tproducts: d.length,\n\t\t\t\tbatches: f.length,\n\t\t\t\topenVials: p.length,\n\t\t\t\tsales: m.length,\n\t\t\t\tpayments: h.length,\n\t\t\t\ttxns: g\n\t\t\t});\n\t\t} finally {\n\t\t\tG(!1);\n\t\t}\n\t}\n\tg(\"view.manage.productManagement\", () => {\n\t\tJ();\n\t}, []);\n\tlet Y = {\n\t\tcatalog: [\n\t\t\t{\n\t\t\t\tlabel: \"Categories\",\n\t\t\t\tvalue: K.categories\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: \"Brands\",\n\t\t\t\tvalue: K.brands\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: \"Products\",\n\t\t\t\tvalue: K.products\n\t\t\t}\n\t\t],\n\t\toperations: [\n\t\t\t{\n\t\t\t\tlabel: \"Batches\",\n\t\t\t\tvalue: K.batches\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: \"Open vials\",\n\t\t\t\tvalue: K.openVials\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: \"Sales\",\n\t\t\t\tvalue: K.sales\n\t\t\t}\n\t\t],\n\t\tledger: [{\n\t\t\tlabel: \"Recent\",\n\t\t\tvalue: K.txns.length\n\t\t}]\n\t};\n\treturn /* @__PURE__ */ b(S, { children: [/* @__PURE__ */ y(m, {}), /* @__PURE__ */ y(_, {\n\t\tperm: \"view.manage.productManagement\",\n\t\tchildren: /* @__PURE__ */ b(f, {\n\t\t\ttitle: \"Product Management\",\n\t\t\tsubtitle: \"Choose where to start. Use Catalog to set up, Operations for daily work, and Ledger to review history.\",\n\t\t\tchips: [\n\t\t\t\t\"Generic\",\n\t\t\t\t\"Vaccine-aware\",\n\t\t\t\t\"Ledger-driven\"\n\t\t\t],\n\t\t\tchildren: [\n\t\t\t\tW ? /* @__PURE__ */ y(O, { sx: {\n\t\t\t\t\tmb: 2,\n\t\t\t\t\tborderRadius: 1\n\t\t\t\t} }) : null,\n\t\t\t\t/* @__PURE__ */ y(E, {\n\t\t\t\t\tcontainer: !0,\n\t\t\t\t\tspacing: 2.5,\n\t\t\t\t\tchildren: H.map((e, t) => /* @__PURE__ */ y(E, {\n\t\t\t\t\t\titem: !0,\n\t\t\t\t\t\txs: 12,\n\t\t\t\t\t\tmd: 4,\n\t\t\t\t\t\tchildren: /* @__PURE__ */ y(D, {\n\t\t\t\t\t\t\tin: !0,\n\t\t\t\t\t\t\ttimeout: 420,\n\t\t\t\t\t\t\tstyle: { transitionDelay: `${t * 80}ms` },\n\t\t\t\t\t\t\tchildren: /* @__PURE__ */ y(S, {\n\t\t\t\t\t\t\t\tsx: { height: \"100%\" },\n\t\t\t\t\t\t\t\tchildren: /* @__PURE__ */ y(R, {\n\t\t\t\t\t\t\t\t\tworkspace: e,\n\t\t\t\t\t\t\t\t\tmetrics: Y[e.id],\n\t\t\t\t\t\t\t\t\tloading: W,\n\t\t\t\t\t\t\t\t\tonItemClick: (e) => x(e.path)\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t})\n\t\t\t\t\t}, e.id))\n\t\t\t\t}),\n\t\t\t\tU ? /* @__PURE__ */ y(C, {\n\t\t\t\t\tsx: {\n\t\t\t\t\t\tborderRadius: 1.5,\n\t\t\t\t\t\tmt: 3,\n\t\t\t\t\t\tboxShadow: `0 12px 32px ${M(L.palette.common.black, .05)}`\n\t\t\t\t\t},\n\t\t\t\t\tchildren: /* @__PURE__ */ b(w, { children: [/* @__PURE__ */ b(A, {\n\t\t\t\t\t\tdirection: \"row\",\n\t\t\t\t\t\tjustifyContent: \"space-between\",\n\t\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\t\tsx: { mb: 1.5 },\n\t\t\t\t\t\tchildren: [/* @__PURE__ */ b(S, { children: [/* @__PURE__ */ y(j, {\n\t\t\t\t\t\t\tvariant: \"overline\",\n\t\t\t\t\t\t\tsx: {\n\t\t\t\t\t\t\t\tcolor: \"text.secondary\",\n\t\t\t\t\t\t\t\tfontWeight: 800,\n\t\t\t\t\t\t\t\tletterSpacing: 1\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tchildren: \"Stock Ledger\"\n\t\t\t\t\t\t}), /* @__PURE__ */ y(j, {\n\t\t\t\t\t\t\tvariant: \"h6\",\n\t\t\t\t\t\t\tsx: {\n\t\t\t\t\t\t\t\tfontWeight: 800,\n\t\t\t\t\t\t\t\tlineHeight: 1.2\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tchildren: \"Recent activity\"\n\t\t\t\t\t\t})] }), /* @__PURE__ */ y(T, {\n\t\t\t\t\t\t\tclickable: !0,\n\t\t\t\t\t\t\ticon: /* @__PURE__ */ y(F, { sx: { fontSize: \"1rem !important\" } }),\n\t\t\t\t\t\t\tlabel: \"View ledger\",\n\t\t\t\t\t\t\tonClick: () => x(\"/ui/medplat/manage/pm/transactions\"),\n\t\t\t\t\t\t\tsx: {\n\t\t\t\t\t\t\t\tborderRadius: 2,\n\t\t\t\t\t\t\t\tfontWeight: 700,\n\t\t\t\t\t\t\t\tbgcolor: M(L.palette.primary.main, .08),\n\t\t\t\t\t\t\t\tcolor: \"primary.dark\",\n\t\t\t\t\t\t\t\t\"&:hover\": { bgcolor: M(L.palette.primary.main, .16) }\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})]\n\t\t\t\t\t}), K.txns.length === 0 && !W ? /* @__PURE__ */ y(j, {\n\t\t\t\t\t\tvariant: \"body2\",\n\t\t\t\t\t\tcolor: \"text.secondary\",\n\t\t\t\t\t\tchildren: \"No activity yet — record a purchase or a sale to see entries here.\"\n\t\t\t\t\t}) : /* @__PURE__ */ y(A, {\n\t\t\t\t\t\tdivider: /* @__PURE__ */ y(S, { sx: { borderTop: `1px dashed ${L.palette.divider}` } }),\n\t\t\t\t\t\tspacing: 0,\n\t\t\t\t\t\tchildren: (W ? Array.from({ length: 4 }) : K.txns).map((e, t) => /* @__PURE__ */ b(S, {\n\t\t\t\t\t\t\tsx: {\n\t\t\t\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\t\t\t\tjustifyContent: \"space-between\",\n\t\t\t\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\t\t\t\tpy: 1.25,\n\t\t\t\t\t\t\t\tgap: 2\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tchildren: [/* @__PURE__ */ b(A, {\n\t\t\t\t\t\t\t\tdirection: \"row\",\n\t\t\t\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\t\t\t\tspacing: 1.5,\n\t\t\t\t\t\t\t\tsx: { minWidth: 0 },\n\t\t\t\t\t\t\t\tchildren: [W ? /* @__PURE__ */ y(k, {\n\t\t\t\t\t\t\t\t\tvariant: \"rounded\",\n\t\t\t\t\t\t\t\t\twidth: 92,\n\t\t\t\t\t\t\t\t\theight: 22\n\t\t\t\t\t\t\t\t}) : /* @__PURE__ */ y(T, {\n\t\t\t\t\t\t\t\t\tsize: \"small\",\n\t\t\t\t\t\t\t\t\tlabel: e.transactionType,\n\t\t\t\t\t\t\t\t\tcolor: I[e.transactionType] || \"default\",\n\t\t\t\t\t\t\t\t\tsx: {\n\t\t\t\t\t\t\t\t\t\tfontWeight: 700,\n\t\t\t\t\t\t\t\t\t\tborderRadius: 1.5,\n\t\t\t\t\t\t\t\t\t\theight: 22\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}), /* @__PURE__ */ b(S, {\n\t\t\t\t\t\t\t\t\tsx: { minWidth: 0 },\n\t\t\t\t\t\t\t\t\tchildren: [W ? /* @__PURE__ */ y(k, {\n\t\t\t\t\t\t\t\t\t\twidth: 220,\n\t\t\t\t\t\t\t\t\t\theight: 20\n\t\t\t\t\t\t\t\t\t}) : /* @__PURE__ */ b(j, {\n\t\t\t\t\t\t\t\t\t\tvariant: \"body2\",\n\t\t\t\t\t\t\t\t\t\tsx: {\n\t\t\t\t\t\t\t\t\t\t\tfontWeight: 700,\n\t\t\t\t\t\t\t\t\t\t\tlineHeight: 1.2\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tnoWrap: !0,\n\t\t\t\t\t\t\t\t\t\tchildren: [e.productName || \"—\", e.lotNumber ? /* @__PURE__ */ b(j, {\n\t\t\t\t\t\t\t\t\t\t\tcomponent: \"span\",\n\t\t\t\t\t\t\t\t\t\t\tvariant: \"body2\",\n\t\t\t\t\t\t\t\t\t\t\tcolor: \"text.secondary\",\n\t\t\t\t\t\t\t\t\t\t\tsx: {\n\t\t\t\t\t\t\t\t\t\t\t\tfontFamily: \"monospace\",\n\t\t\t\t\t\t\t\t\t\t\t\tml: 1\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tchildren: [\"lot \", e.lotNumber]\n\t\t\t\t\t\t\t\t\t\t}) : null]\n\t\t\t\t\t\t\t\t\t}), W ? /* @__PURE__ */ y(k, {\n\t\t\t\t\t\t\t\t\t\twidth: 120,\n\t\t\t\t\t\t\t\t\t\theight: 16\n\t\t\t\t\t\t\t\t\t}) : /* @__PURE__ */ y(j, {\n\t\t\t\t\t\t\t\t\t\tvariant: \"caption\",\n\t\t\t\t\t\t\t\t\t\tcolor: \"text.secondary\",\n\t\t\t\t\t\t\t\t\t\tchildren: u(e.transactionTime)\n\t\t\t\t\t\t\t\t\t})]\n\t\t\t\t\t\t\t\t})]\n\t\t\t\t\t\t\t}), /* @__PURE__ */ y(S, {\n\t\t\t\t\t\t\t\tsx: {\n\t\t\t\t\t\t\t\t\ttextAlign: \"right\",\n\t\t\t\t\t\t\t\t\twhiteSpace: \"nowrap\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tchildren: W ? /* @__PURE__ */ y(k, {\n\t\t\t\t\t\t\t\t\twidth: 70,\n\t\t\t\t\t\t\t\t\theight: 20\n\t\t\t\t\t\t\t\t}) : /* @__PURE__ */ b(j, {\n\t\t\t\t\t\t\t\t\tvariant: \"body2\",\n\t\t\t\t\t\t\t\t\tsx: {\n\t\t\t\t\t\t\t\t\t\tfontWeight: 800,\n\t\t\t\t\t\t\t\t\t\tfontVariantNumeric: \"tabular-nums\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tchildren: [\n\t\t\t\t\t\t\t\t\t\te.quantity == null ? \"\" : `qty ${e.quantity}`,\n\t\t\t\t\t\t\t\t\t\te.volumeMl == null ? \"\" : `${e.quantity == null ? \"\" : \" · \"}${d(e.volumeMl)} ml`,\n\t\t\t\t\t\t\t\t\t\te.monetaryAmount == null ? \"\" : `${e.quantity != null || e.volumeMl != null ? \" · \" : \"\"}${V}${d(e.monetaryAmount)}`\n\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t})]\n\t\t\t\t\t\t}, e?.id ?? t))\n\t\t\t\t\t})] })\n\t\t\t\t}) : null\n\t\t\t]\n\t\t})\n\t})] });\n}\n//#endregion\nexport { z as default };\n\n//# sourceMappingURL=DashboardPage-CTiGSx71.js.map"],"names":["I","L","e","t","n","b","S","y","j","k","x","R","r","i","N","a","C","M","w","A","T","z","P","s","B","p","V","H","h","U","W","G","v","K","q","J","u","d","f","m","g","l","c","o","Y","_","O","E","D","F"],"mappings":"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"}
@@ -0,0 +1,62 @@
1
+ import { jsx as t } from "react/jsx-runtime";
2
+ import { useState as s, useEffect as d, Suspense as C, lazy as I } from "react";
3
+ import { execute as h } from "@/common/services/QueryBuilder";
4
+ import { Box as i, Card as L, Typography as _, CircularProgress as u } from "@mui/material";
5
+ import { getAssignedFeatures as j } from "@/utils/feature";
6
+ import M from "@/common/services/util/GeneralUtil";
7
+ const S = I(() => import("./TableList-B5tX4wII.js")), A = async () => (await h({
8
+ code: "retrieve_synced_tables"
9
+ })).data, E = async () => (await h({
10
+ code: "retrieve_all_tables_and_columns"
11
+ })).data;
12
+ function D() {
13
+ const [l, f] = s([]), [p, b] = s([]), [g, y] = s([]), [x, v] = s([]), [r, w] = s(!1), [c, m] = s(!0), [a, T] = s(null);
14
+ return d(() => {
15
+ (async () => {
16
+ m(!0);
17
+ const e = await A();
18
+ f(e == null ? void 0 : e.result.map((o) => o.tableName)), e != null && e.result && b(e.result);
19
+ const n = await E();
20
+ y(n == null ? void 0 : n.result.map((o) => o.tableName)), n != null && n.result && v(n.result), m(!1);
21
+ })();
22
+ }, [r]), d(() => {
23
+ (async () => {
24
+ try {
25
+ const { data: e } = await j("techo.admin.mobileEntityManagement");
26
+ T(JSON.parse(e));
27
+ } catch (e) {
28
+ console.error(e);
29
+ }
30
+ })();
31
+ }, []), !c && a !== null && !M.hasCheckRights(a == null ? void 0 : a["view.admin.mobileEntityManagement"]) ? /* @__PURE__ */ t(i, { sx: { display: "flex", justifyContent: "center", alignItems: "center", width: "100%", height: "80vh" }, children: /* @__PURE__ */ t(L, { sx: { height: 320, width: 600, display: "flex", justifyContent: "center", alignItems: "center" }, children: /* @__PURE__ */ t(_, { variant: "h5", className: "text-customBlue", children: "You dont have permission to view Mobile Database Management" }) }) }) : /* @__PURE__ */ t(
32
+ i,
33
+ {
34
+ sx: {
35
+ width: "100%",
36
+ minHeight: "85vh"
37
+ },
38
+ children: /* @__PURE__ */ t(
39
+ C,
40
+ {
41
+ fallback: /* @__PURE__ */ t(i, { sx: { display: "flex", justifyContent: "center", alignItems: "center", height: "60vh" }, children: /* @__PURE__ */ t(u, {}) }),
42
+ children: c ? /* @__PURE__ */ t(i, { sx: { display: "flex", justifyContent: "center", alignItems: "center", height: "60vh" }, children: /* @__PURE__ */ t(u, {}) }) : /* @__PURE__ */ t(
43
+ S,
44
+ {
45
+ tableList: l,
46
+ tablesInfo: p,
47
+ allTableList: g,
48
+ allTablesInfo: x,
49
+ formSubmitted: r,
50
+ reloadComponents: w,
51
+ rights: a
52
+ }
53
+ )
54
+ }
55
+ )
56
+ }
57
+ );
58
+ }
59
+ export {
60
+ D as default
61
+ };
62
+ //# sourceMappingURL=EntityManagement-BGwJGl9k.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EntityManagement-BGwJGl9k.js","sources":["../src/views/Mobile/EntityManagement/EntityManagement.jsx"],"sourcesContent":["import React, { lazy, Suspense, useEffect, useState } from 'react';\nimport { execute } from '@/common/services/QueryBuilder';\nconst TableList = lazy(() => import('./TableList'));\nimport { Box, Card, CircularProgress, Typography } from '@mui/material';\nimport { getAssignedFeatures } from '@/utils/feature';\nimport GeneralUtil from '@/common/services/util/GeneralUtil';\n\nconst init = async () => {\n const response = (\n await execute({\n code: 'retrieve_synced_tables',\n })\n ).data;\n return response;\n};\n\nconst retAllTables = async () => {\n const response = (\n await execute({\n code: 'retrieve_all_tables_and_columns',\n })\n ).data;\n return response;\n};\n\nexport default function EntityManagement() {\n const [tableList, setTableList] = useState([]);\n const [tablesInfo, setTablesInfo] = useState([]);\n const [allTableList, setAllTableList] = useState([]);\n const [allTablesInfo, setAllTablesInfo] = useState([]);\n const [formSubmitted, setFormSubmitted] = useState(false);\n const [loading, setLoading] = useState(true);\n const [rights, setRights] = useState(null);\n\n useEffect(() => {\n (async () => {\n setLoading(true);\n const res = await init();\n setTableList(res?.result.map((r) => r.tableName));\n if (res?.result) {\n setTablesInfo(res.result);\n }\n const res1 = await retAllTables();\n setAllTableList(res1?.result.map((r) => r.tableName));\n if (res1?.result) {\n setAllTablesInfo(res1.result);\n }\n setLoading(false);\n })();\n }, [formSubmitted]);\n\n useEffect(() => {\n (async () => {\n try {\n const { data } = await getAssignedFeatures('techo.admin.mobileEntityManagement');\n setRights(JSON.parse(data));\n } catch (error) {\n console.error(error);\n }\n })();\n }, []);\n\n if (!loading && rights !== null && !GeneralUtil.hasCheckRights(rights?.['view.admin.mobileEntityManagement'])) {\n return (\n <Box sx={{ display: 'flex', justifyContent: 'center', alignItems: 'center', width: '100%', height: '80vh' }}>\n <Card sx={{ height: 320, width: 600, display: 'flex', justifyContent: 'center', alignItems: 'center' }}>\n <Typography variant=\"h5\" className=\"text-customBlue\">\n You dont have permission to view Mobile Database Management\n </Typography>\n </Card>\n </Box>\n );\n }\n\n return (\n <Box\n sx={{\n width: '100%',\n minHeight: '85vh',\n }}\n >\n <Suspense\n fallback={\n <Box sx={{ display: 'flex', justifyContent: 'center', alignItems: 'center', height: '60vh' }}>\n <CircularProgress />\n </Box>\n }\n >\n {loading ? (\n <Box sx={{ display: 'flex', justifyContent: 'center', alignItems: 'center', height: '60vh' }}>\n <CircularProgress />\n </Box>\n ) : (\n <TableList\n tableList={tableList}\n tablesInfo={tablesInfo}\n allTableList={allTableList}\n allTablesInfo={allTablesInfo}\n formSubmitted={formSubmitted}\n reloadComponents={setFormSubmitted}\n rights={rights}\n />\n )}\n </Suspense>\n </Box>\n );\n}\n"],"names":["TableList","lazy","init","execute","retAllTables","EntityManagement","tableList","setTableList","useState","tablesInfo","setTablesInfo","allTableList","setAllTableList","allTablesInfo","setAllTablesInfo","formSubmitted","setFormSubmitted","loading","setLoading","rights","setRights","useEffect","res","r","res1","data","getAssignedFeatures","error","GeneralUtil","Box","jsx","Card","Typography","Suspense","CircularProgress"],"mappings":"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"}
@@ -17,8 +17,8 @@ import Re from "@/hooks/useTrackEvent";
17
17
  import { useTranslateProvider as Ue } from "@/common/languageTranslator/TranslationContext";
18
18
  import Ge from "@/views/custom-components/CustomizedTable/CustomizedTableV2";
19
19
  import f from "@/common/fontAwesomeIcons/FontAwesomeIcons";
20
- import { l as re, E as oe, M as se, S as He, a as Ye, b as z, c as qe, T as Ve } from "./EventsUi-D6O9S7BK.js";
21
- import './EventConfigurations.css';const Qe = le(() => import("./ShowFlywayQuery-DIOUdYfG.js")), je = le(() => import("./EventsExceptionModal-BX-ArkBE.js")), N = 40, Xe = (l, v) => {
20
+ import { l as re, E as oe, M as se, S as He, a as Ye, b as z, c as qe, T as Ve } from "./EventsUi-Dl_yckSA.js";
21
+ import './EventConfigurations.css';const Qe = le(() => import("./ShowFlywayQuery-DIOUdYfG.js")), je = le(() => import("./EventsExceptionModal-DafomIv6.js")), N = 40, Xe = (l, v) => {
22
22
  if (!(l != null && l.trigerWhen)) return "—";
23
23
  const u = [v(re(Ve, l.trigerWhen))];
24
24
  if (l.day && u.push(`${v("day")} ${l.day}`), l.hour !== null && l.hour !== void 0) {
@@ -541,4 +541,4 @@ function gt() {
541
541
  export {
542
542
  gt as default
543
543
  };
544
- //# sourceMappingURL=EventConfigurations-CUPEN5BV.js.map
544
+ //# sourceMappingURL=EventConfigurations-B-z7xHh_.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EventConfigurations-CUPEN5BV.js","sources":["../src/views/Events/EventConfigurations.jsx"],"sourcesContent":["import React, {\n useEffect,\n useState,\n useCallback,\n useMemo,\n lazy,\n Suspense,\n} from \"react\";\nimport moment from \"moment\";\nimport { showToast } from \"@/common/toaster/toaster\";\nimport { retrieveAll, runEvent, toggleState } from \"../../services/EventConfig\";\nimport GeneralUtil from \"@/common/services/util/GeneralUtil\";\nimport {\n Button,\n Typography,\n Box,\n Chip,\n IconButton,\n InputAdornment,\n Paper,\n ToggleButton,\n ToggleButtonGroup,\n Tooltip,\n} from \"@mui/material\";\nimport \"./Styles/EventConfiguration.scss\";\nimport Grid from \"@mui/material/Grid2\";\nimport { useForm } from \"react-hook-form\";\nimport CustomConfirmationModal from \"@/views/custom-components/CustomConfirmationModal\";\nimport CustomDropdown from \"@/views/custom-components/CustomDropdown\";\nimport DebouncedSearchInput from \"@/views/custom-components/DebouncedSearchInput\";\nimport SyncWithServerDialog from \"@/common/syncWithServer/SyncWithServerDialog\";\nimport { getAssignedFeatures } from \"@/utils/feature.js\";\nconst ShowFlywayQuery = lazy(() => import(\"./ShowFlywayQuery\"));\nconst EventsExceptionModal = lazy(() => import(\"./EventsExceptionModal\"));\nimport { useNavigate } from \"react-router\";\n\nimport useTrackEvent from \"@/hooks/useTrackEvent\";\nimport { useTranslateProvider } from \"@/common/languageTranslator/TranslationContext\";\nimport CustomizedTable from \"@/views/custom-components/CustomizedTable/CustomizedTableV2\";\nimport FontAwesomeIcons from \"@/common/fontAwesomeIcons/FontAwesomeIcons\";\nimport { EventConfigurationSkeleton } from \"./Skeletons/EventsSkeleton\";\nimport {\n EmptyState,\n EVENT_TYPES,\n labelOf,\n MetaChip,\n STATE_META,\n STATUS_META,\n TRIGGER_WHEN,\n} from \"./components/EventsUi\";\n\n/** Shared height for every control in the filter row, so the row reads as one. */\nconst FILTER_CONTROL_HEIGHT = 40;\n\n/**\n * @method describeSchedule\n * @description Turns the stored trigger fields into one readable line\n * (\"Monthly · day 3 · 09:30\") instead of the raw enum plus loose numbers.\n * @param {Object} row - An event configuration row.\n * @param {Function} translate - Translation function.\n * @returns {string} A human-readable schedule.\n */\nconst describeSchedule = (row, translate) => {\n if (!row?.trigerWhen) return \"—\";\n\n const parts = [translate(labelOf(TRIGGER_WHEN, row.trigerWhen))];\n\n if (row.day) {\n parts.push(`${translate(\"day\")} ${row.day}`);\n }\n if (row.hour !== null && row.hour !== undefined) {\n const hour = String(row.hour).padStart(2, \"0\");\n const minute = String(row.minute ?? 0).padStart(2, \"0\");\n parts.push(`${hour}:${minute}`);\n } else if (row.minute) {\n parts.push(`${translate(\"minute\")} ${row.minute}`);\n }\n\n return parts.join(\" · \");\n};\n\n/**\n * EventConfigurations component for managing and displaying configured events.\n *\n * @module EventConfigurations\n * @function\n */\nfunction EventConfigurations() {\n const navigate = useNavigate();\n const trackEvent = useTrackEvent();\n const [configuredEvents, setConfiguredEvents] = useState(null);\n\n const [fetchActiveOnly, setFetchActiveOnly] = useState(true);\n const [showExceptionOnly, setShowExceptionOnly] = useState(false);\n const [showNonCompletedOnly, setShowNonCompletedOnly] = useState(false);\n\n const [search, setSearch] = useState(\"\");\n const [pendingAction, setPendingAction] = useState(null);\n const [clickedRow, setClickedRow] = useState({});\n const [openFlywayQuery, setOpenFlywayQuery] = useState(false);\n const [configuredQuery, setConfiguredQuery] = useState(\"\");\n const [featureUuid, setFeatureUuid] = useState(null);\n const [showException, setShowException] = useState(false);\n const { translate } = useTranslateProvider();\n const [isLoading, setIsLoading] = useState(false);\n const [hasLoaded, setHasLoaded] = useState(false);\n const [rights, setRights] = useState({});\n\n // The event-type filter reuses the same field component as the forms, so it\n // needs a form context of its own.\n const { control: filterControl, reset: resetFilterForm } = useForm({\n defaultValues: { eventType: \"\" },\n });\n const [selectedEventType, setSelectedEventType] = useState(\"\");\n\n /**\n * Refreshes the event configurations based on the current state filter.\n *\n * @async\n * @function onRefresh\n */\n const onRefresh = async () => {\n trackEvent(\"button_click\", {\n button_name: \"refresh-events-button\",\n button_type: \"reload\",\n button_id: \"eventconfiguration-refresh-button\",\n });\n loadInitialData(fetchActiveOnly);\n };\n\n const headers = useMemo(\n () => [\n { field: \"name\", label: translate(\"Name\"), align: \"left\", minWidth: 240 },\n {\n field: \"eventType\",\n label: translate(\"Event Type\"),\n align: \"left\",\n minWidth: 150,\n render: (row) => translate(labelOf(EVENT_TYPES, row?.eventType)),\n },\n {\n field: \"trigerWhen\",\n label: translate(\"Schedule\"),\n align: \"left\",\n minWidth: 200,\n render: (row) => describeSchedule(row, translate),\n },\n {\n field: \"state\",\n label: translate(\"State\"),\n align: \"left\",\n minWidth: 110,\n render: (row) => (\n <MetaChip meta={STATE_META} value={row?.state} translate={translate} />\n ),\n },\n {\n field: \"status\",\n label: translate(\"Last Run\"),\n align: \"left\",\n minWidth: 130,\n render: (row) => (\n <MetaChip\n meta={STATUS_META}\n value={row?.status}\n translate={translate}\n uppercase\n />\n ),\n },\n {\n field: \"completionTime\",\n label: translate(\"Completed On\"),\n align: \"left\",\n minWidth: 160,\n render: (row) =>\n row?.completionTime\n ? moment(row.completionTime).format(\"DD-MM-YYYY HH:mm\")\n : \"—\",\n },\n {\n field: \"Actions\",\n label: translate(\"Actions\"),\n align: \"left\",\n minWidth: 120,\n },\n ],\n [translate],\n );\n\n /**\n * @function handleToggleState\n * Runs whichever action the confirmation dialog was opened for.\n *\n * @returns {Promise<void>}\n */\n const handleToggleState = async () => {\n try {\n if (pendingAction === \"TOGGLE_STATE\") {\n setPendingAction(null);\n setIsLoading(true);\n await toggleState(clickedRow);\n showToast({\n message:\n clickedRow?.state === \"ACTIVE\"\n ? \"Event marked inactive\"\n : \"Event marked active\",\n type: \"success\",\n });\n await loadInitialData(fetchActiveOnly);\n } else if (pendingAction === \"RUN_NOW\") {\n setPendingAction(null);\n setIsLoading(true);\n await runEvent(clickedRow?.uuid);\n showToast({ message: \"Event queued to run now\", type: \"success\" });\n await loadInitialData(fetchActiveOnly);\n }\n } catch {\n showToast({\n message: \"Could not complete that action. Please try again.\",\n type: \"error\",\n });\n setIsLoading(false);\n }\n };\n\n const handleSyncClose = () => setFeatureUuid(() => null);\n\n /**\n * @function handleEdit\n * Navigates to the edit page for the selected row.\n *\n * @param {Object} row - The selected row to edit.\n */\n const handleEdit = (row) => {\n navigate(`/ui/medplat/views/config/${row?.uuid}`);\n };\n\n // Every row handler takes the row it was invoked on: `CustomActionIcons`\n // passes it to each menu item, and reading it back from state would act on\n // a stale selection.\n const actions = useCallback(\n (row) => {\n const canUpdate = GeneralUtil.hasCheckRights(\n rights?.[\"update.manage.event\"],\n );\n const isScheduled =\n row?.eventType === \"TIMMER_BASED\" || row?.eventType === \"RECURSION\";\n\n const menu = [\n canUpdate && {\n label: translate(\n row?.state === \"ACTIVE\" ? \"Mark as Inactive\" : \"Mark as Active\",\n ),\n onClick: (clicked) => {\n setClickedRow(clicked);\n setPendingAction(\"TOGGLE_STATE\");\n },\n },\n {\n label: translate(\"Sync With Server\"),\n onClick: (clicked) => setFeatureUuid(clicked?.uuid),\n },\n isScheduled &&\n GeneralUtil.hasCheckRights(rights?.[\"view.manage.event.runNow\"]) && {\n label: translate(\"Run Event Now\"),\n onClick: (clicked) => {\n setClickedRow(clicked);\n setPendingAction(\"RUN_NOW\");\n },\n },\n isScheduled && {\n label: translate(\"Show Exceptions\"),\n onClick: (clicked) => {\n setClickedRow(clicked);\n setShowException(true);\n },\n },\n {\n label: translate(\"Show Flyway Query\"),\n onClick: (clicked) => {\n setConfiguredQuery(clicked);\n setOpenFlywayQuery(true);\n },\n },\n ].filter(Boolean);\n\n return [\n canUpdate && {\n label: \"\",\n icon: <FontAwesomeIcons iconName=\"faPen\" />,\n onClick: handleEdit,\n ariaLabel: translate(\"Edit event\"),\n dataTestId: \"event-configuration-edit-button\",\n },\n {\n label: \"\",\n icon: <FontAwesomeIcons iconName=\"faBars\" />,\n menuItems: menu,\n ariaLabel: translate(\"More event actions\"),\n dataTestId: \"event-configuration-menu-button\",\n },\n ].filter(Boolean);\n },\n [rights, translate],\n );\n\n useEffect(() => {\n const fetchRights = async () => {\n const { data: featureJson } = await getAssignedFeatures(\n \"techo.notification.all\",\n );\n if (featureJson) setRights(JSON.parse(featureJson));\n };\n fetchRights();\n }, []);\n\n /**\n * @function loadInitialData\n * Loads the configured events for the selected state filter.\n *\n * @param {boolean} isActive - Whether to load active events.\n */\n const loadInitialData = async (isActive) => {\n try {\n setIsLoading(true);\n const response = await retrieveAll(isActive);\n // Sorted so the scheduled events with the nearest cadence group\n // together; the raw rows are kept intact for the row actions.\n const rows = [...(response?.data || [])].sort((a, b) => {\n if (a.trigerWhen === null && b.trigerWhen !== null) return -1;\n if (b.trigerWhen === null && a.trigerWhen !== null) return 1;\n if (b.trigerWhen < a.trigerWhen) return -1;\n if (b.trigerWhen > a.trigerWhen) return 1;\n return (a.day ?? 0) - (b.day ?? 0) || (a.hour ?? 0) - (b.hour ?? 0);\n });\n setConfiguredEvents(rows);\n setIsLoading(false);\n setHasLoaded(true);\n } catch {\n showToast({\n message: \"Could not load events. Please try again.\",\n type: \"error\",\n });\n setIsLoading(false);\n setHasLoaded(true);\n }\n };\n\n useEffect(() => {\n loadInitialData(fetchActiveOnly);\n }, [fetchActiveOnly]);\n\n const searchedEvents = useMemo(() => {\n if (!configuredEvents) return [];\n const term = search.trim().toLowerCase();\n if (!term) return configuredEvents;\n return configuredEvents.filter((event) =>\n event?.name?.toLowerCase().includes(term),\n );\n }, [configuredEvents, search]);\n\n const typeFilteredEvents = useMemo(\n () =>\n searchedEvents.filter(\n (event) => !selectedEventType || event.eventType === selectedEventType,\n ),\n [searchedEvents, selectedEventType],\n );\n\n const exceptionCount = useMemo(\n () =>\n typeFilteredEvents.filter((event) => event.status === \"EXCEPTION\").length,\n [typeFilteredEvents],\n );\n\n const nonCompletedCount = useMemo(\n () =>\n typeFilteredEvents.filter((event) => event.status !== \"COMPLETED\").length,\n [typeFilteredEvents],\n );\n\n const eventTypeOptions = useMemo(() => {\n const present = new Set(\n (configuredEvents || []).map((event) => event.eventType).filter(Boolean),\n );\n return EVENT_TYPES.filter((type) => present.has(type.value)).map((type) => ({\n value: type.value,\n label: translate(type.label),\n }));\n }, [configuredEvents, translate]);\n\n const visibleTableEvents = useMemo(\n () =>\n typeFilteredEvents.filter((event) => {\n if (showExceptionOnly && event.status !== \"EXCEPTION\") return false;\n if (showNonCompletedOnly && event.status === \"COMPLETED\") return false;\n return true;\n }),\n [typeFilteredEvents, showExceptionOnly, showNonCompletedOnly],\n );\n\n const isFiltered =\n Boolean(search) ||\n Boolean(selectedEventType) ||\n showExceptionOnly ||\n showNonCompletedOnly;\n\n const clearFilters = () => {\n setSearch(\"\");\n setShowExceptionOnly(false);\n setShowNonCompletedOnly(false);\n setSelectedEventType(\"\");\n resetFilterForm({ eventType: \"\" });\n };\n\n const isDenied =\n !isLoading &&\n rights !== null &&\n !GeneralUtil.hasCheckRights(rights?.[\"view.manage.event\"]);\n\n return (\n <Grid container className=\"event-configuration\" spacing={2}>\n {featureUuid && (\n <SyncWithServerDialog\n isOpen={Boolean(featureUuid)}\n handleClose={handleSyncClose}\n featureUUID={featureUuid}\n dataTestId=\"eventconfiguration-dialog-syncwithserver\"\n />\n )}\n <Suspense>\n {showException && (\n <EventsExceptionModal\n id={clickedRow?.id}\n eventName={clickedRow?.name}\n open={showException}\n handleClose={() => setShowException(false)}\n dataTestId=\"eventconfiguration-modal-viewexception\"\n />\n )}\n </Suspense>\n <Suspense>\n <ShowFlywayQuery\n configuredQuery={configuredQuery}\n open={openFlywayQuery}\n onClose={() => {\n setOpenFlywayQuery(false);\n }}\n dataTestId=\"eventconfiguration-query-showflywayquery\"\n />\n </Suspense>\n <CustomConfirmationModal\n description={\n pendingAction === \"RUN_NOW\"\n ? `${clickedRow?.name} will be queued to run immediately, outside its schedule.`\n : clickedRow?.state === \"ACTIVE\"\n ? `${clickedRow?.name} will stop running on its schedule. You can turn it back on from this screen.`\n : `${clickedRow?.name} will start running on its schedule again.`\n }\n title={\n pendingAction === \"RUN_NOW\"\n ? translate(\"Run this event now?\")\n : translate(\n clickedRow?.state === \"ACTIVE\"\n ? \"Mark as Inactive\"\n : \"Mark as Active\",\n )\n }\n handleClick={handleToggleState}\n open={Boolean(pendingAction)}\n handleClose={() => setPendingAction(null)}\n dataTestId=\"eventconfiguration-modal-customconfirmation\"\n />\n\n <Grid size={{ xs: 12 }}>\n <Paper\n elevation={0}\n sx={{\n p: { xs: 2.5, md: 3 },\n mb: 3,\n border: \"1px solid\",\n borderColor: \"divider\",\n borderRadius: (t) => `${t.shape.cardRadius}px`,\n backgroundColor: \"background.paper\",\n }}\n >\n <Box sx={{ display: \"flex\", flexDirection: \"column\", gap: 3 }}>\n {/* ── Header: title block (left) + actions (right) ── */}\n <Box\n sx={{\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"flex-start\",\n flexWrap: \"wrap\",\n gap: 2,\n }}\n >\n <Box sx={{ minWidth: { xs: \"100%\", lg: \"40%\" } }}>\n <Typography\n variant=\"h5\"\n component=\"h1\"\n sx={{ fontWeight: 800, color: \"text.primary\", mb: 0.5 }}\n >\n {translate(\"Events\")}\n </Typography>\n <Typography variant=\"body2\" color=\"text.secondary\">\n {translate(\n \"Rules that watch for something happening and act on it - sending a notification, running a query, raising an exception.\",\n )}\n </Typography>\n </Box>\n\n {!isDenied && (\n <Box\n sx={{\n display: \"flex\",\n alignItems: \"center\",\n gap: 1.5,\n flexWrap: \"wrap\",\n }}\n >\n <DebouncedSearchInput\n value={search}\n onChange={setSearch}\n placeholder={translate(\"Search by name\")}\n autoFocus={false}\n size=\"small\"\n data-testid=\"eventconfiguration-textfield-searchquery\"\n sx={{ width: { xs: \"100%\", sm: 240 } }}\n slotProps={{\n htmlInput: { \"aria-label\": translate(\"Search by name\") },\n }}\n inputProps={{\n startAdornment: (\n <InputAdornment position=\"start\">\n <Box sx={{ color: \"text.disabled\", display: \"flex\" }}>\n <FontAwesomeIcons\n iconName=\"faMagnifyingGlass\"\n size=\"sm\"\n />\n </Box>\n </InputAdornment>\n ),\n endAdornment: search ? (\n <InputAdornment position=\"end\">\n <IconButton\n size=\"small\"\n aria-label={translate(\"Clear search\")}\n onClick={() => setSearch(\"\")}\n >\n <FontAwesomeIcons iconName=\"faXmark\" size=\"sm\" />\n </IconButton>\n </InputAdornment>\n ) : null,\n }}\n />\n <Tooltip title={translate(\"Refresh\")}>\n <IconButton\n size=\"small\"\n onClick={onRefresh}\n aria-label={translate(\"Refresh\")}\n data-testid=\"eventconfiguration-refresh-button\"\n >\n <FontAwesomeIcons iconName=\"faRotateRight\" />\n </IconButton>\n </Tooltip>\n {GeneralUtil.hasCheckRights(\n rights?.[\"create.manage.event\"],\n ) && (\n <Button\n size=\"small\"\n variant=\"contained\"\n startIcon={<FontAwesomeIcons iconName=\"faPlus\" />}\n data-testid=\"eventconfiguration-configurenew-button\"\n onClick={() => {\n trackEvent(\"button_click\", {\n button_name: \"configure-new-event-button\",\n button_type: \"navigate\",\n button_id: \"eventconfiguration-configurenew-button\",\n });\n navigate(\"/ui/medplat/views/config\");\n }}\n >\n {translate(\"Configure New\")}\n </Button>\n )}\n </Box>\n )}\n </Box>\n\n {!isDenied && (\n /* ── Filters ── */\n <Box\n sx={{\n display: \"flex\",\n alignItems: \"center\",\n gap: 1.5,\n flexWrap: \"wrap\",\n }}\n >\n <ToggleButtonGroup\n exclusive\n size=\"small\"\n value={fetchActiveOnly}\n onChange={(event, next) => {\n if (next !== null) setFetchActiveOnly(next);\n }}\n aria-label={translate(\"State\")}\n sx={{\n height: FILTER_CONTROL_HEIGHT,\n \"& .MuiToggleButton-root\": { py: 0 },\n }}\n >\n <ToggleButton value={true} data-testid=\"eventconfiguration-active-toggle\">\n {translate(\"Active\")}\n </ToggleButton>\n <ToggleButton value={false} data-testid=\"eventconfiguration-inactive-toggle\">\n {translate(\"Inactive\")}\n </ToggleButton>\n </ToggleButtonGroup>\n\n <Chip\n label={`${translate(\"Exception\")} (${exceptionCount})`}\n variant={showExceptionOnly ? \"filled\" : \"outlined\"}\n color={showExceptionOnly ? \"primary\" : \"default\"}\n onClick={() => setShowExceptionOnly((current) => !current)}\n sx={{\n height: FILTER_CONTROL_HEIGHT,\n \"& .MuiChip-label\": { px: 1.75 },\n }}\n data-testid=\"eventconfiguration-Exception-checkbox\"\n />\n <Chip\n label={`${translate(\"Not Completed\")} (${nonCompletedCount})`}\n variant={showNonCompletedOnly ? \"filled\" : \"outlined\"}\n color={showNonCompletedOnly ? \"primary\" : \"default\"}\n onClick={() => setShowNonCompletedOnly((current) => !current)}\n sx={{\n height: FILTER_CONTROL_HEIGHT,\n \"& .MuiChip-label\": { px: 1.75 },\n }}\n data-testid=\"eventconfiguration-notcompleted-checkbox\"\n />\n\n <Box\n sx={{\n width: { xs: \"100%\", sm: 200 },\n \"& .MuiOutlinedInput-root\": {\n height: FILTER_CONTROL_HEIGHT,\n },\n }}\n >\n <CustomDropdown\n control={filterControl}\n name=\"eventType\"\n options={eventTypeOptions}\n displayName=\"label\"\n optionValue=\"value\"\n isNullSelectDisabled={false}\n placeholder={translate(\"All event types\")}\n onChange={(event) =>\n setSelectedEventType(event?.target?.value || \"\")\n }\n dataTestId=\"eventconfiguration-eventtype-filter\"\n />\n </Box>\n\n <Button\n size=\"small\"\n variant=\"text\"\n disabled={!isFiltered}\n startIcon={<FontAwesomeIcons iconName=\"faXmark\" size=\"sm\" />}\n onClick={clearFilters}\n sx={{ height: FILTER_CONTROL_HEIGHT }}\n data-testid=\"eventconfiguration-clear-filters\"\n >\n {translate(\"Clear filters\")}\n </Button>\n </Box>\n )}\n\n {isDenied ? (\n <EmptyState\n icon=\"faLock\"\n title={translate(\"You don't have access to Events\")}\n body={translate(\n \"Your role doesn't include permission to view events. Ask an administrator to grant the view right for this module.\",\n )}\n dataTestId=\"no-permission-message\"\n />\n ) : isLoading ? (\n <EventConfigurationSkeleton />\n ) : hasLoaded && visibleTableEvents.length === 0 && isFiltered ? (\n <EmptyState\n icon=\"faMagnifyingGlass\"\n title={translate(\"No events match these filters\")}\n body={translate(\n \"Try a shorter search term, another event type, or switch between Active and Inactive.\",\n )}\n action={\n <Button variant=\"text\" size=\"small\" onClick={clearFilters}>\n {translate(\"Clear filters\")}\n </Button>\n }\n dataTestId=\"eventconfiguration-no-results\"\n />\n ) : hasLoaded && visibleTableEvents.length === 0 ? (\n <EmptyState\n icon=\"faBolt\"\n title={\n fetchActiveOnly\n ? translate(\"No active events\")\n : translate(\"No inactive events\")\n }\n body={translate(\n \"Configure an event to react to a form submission, a schedule, or a manual trigger.\",\n )}\n action={\n GeneralUtil.hasCheckRights(rights?.[\"create.manage.event\"]) ? (\n <Button\n variant=\"contained\"\n size=\"small\"\n startIcon={<FontAwesomeIcons iconName=\"faPlus\" />}\n onClick={() => navigate(\"/ui/medplat/views/config\")}\n >\n {translate(\"Configure New\")}\n </Button>\n ) : null\n }\n dataTestId=\"eventconfiguration-no-events\"\n />\n ) : (\n <CustomizedTable\n columns={headers}\n tableData={visibleTableEvents}\n actions={actions}\n paginationConfig={{ pagination: false }}\n dataTestId=\"eventconfiguration-table-configuredevents\"\n isLoading={isLoading}\n rowUniqueKey=\"uuid\"\n disableHtml\n showFullContent={false}\n styleConfig={{ tableStyle: { maxHeight: 180 } }}\n />\n )}\n </Box>\n </Paper>\n </Grid>\n </Grid>\n );\n}\n\nexport default EventConfigurations;\n"],"names":["ShowFlywayQuery","lazy","EventsExceptionModal","FILTER_CONTROL_HEIGHT","describeSchedule","row","translate","parts","labelOf","TRIGGER_WHEN","hour","minute","EventConfigurations","navigate","useNavigate","trackEvent","useTrackEvent","configuredEvents","setConfiguredEvents","useState","fetchActiveOnly","setFetchActiveOnly","showExceptionOnly","setShowExceptionOnly","showNonCompletedOnly","setShowNonCompletedOnly","search","setSearch","pendingAction","setPendingAction","clickedRow","setClickedRow","openFlywayQuery","setOpenFlywayQuery","configuredQuery","setConfiguredQuery","featureUuid","setFeatureUuid","showException","setShowException","useTranslateProvider","isLoading","setIsLoading","hasLoaded","setHasLoaded","rights","setRights","filterControl","resetFilterForm","useForm","selectedEventType","setSelectedEventType","onRefresh","loadInitialData","headers","useMemo","EVENT_TYPES","jsx","MetaChip","STATE_META","STATUS_META","moment","handleToggleState","toggleState","showToast","runEvent","handleSyncClose","handleEdit","actions","useCallback","canUpdate","GeneralUtil","isScheduled","menu","clicked","FontAwesomeIcons","useEffect","featureJson","getAssignedFeatures","isActive","response","retrieveAll","rows","a","b","searchedEvents","term","event","_a","typeFilteredEvents","exceptionCount","nonCompletedCount","eventTypeOptions","present","type","visibleTableEvents","isFiltered","clearFilters","isDenied","Grid","SyncWithServerDialog","Suspense","CustomConfirmationModal","Paper","t","jsxs","Box","Typography","DebouncedSearchInput","InputAdornment","IconButton","Tooltip","Button","ToggleButtonGroup","next","ToggleButton","Chip","current","CustomDropdown","EmptyState","EventConfigurationSkeleton","CustomizedTable"],"mappings":"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"}
1
+ {"version":3,"file":"EventConfigurations-B-z7xHh_.js","sources":["../src/views/Events/EventConfigurations.jsx"],"sourcesContent":["import React, {\n useEffect,\n useState,\n useCallback,\n useMemo,\n lazy,\n Suspense,\n} from \"react\";\nimport moment from \"moment\";\nimport { showToast } from \"@/common/toaster/toaster\";\nimport { retrieveAll, runEvent, toggleState } from \"../../services/EventConfig\";\nimport GeneralUtil from \"@/common/services/util/GeneralUtil\";\nimport {\n Button,\n Typography,\n Box,\n Chip,\n IconButton,\n InputAdornment,\n Paper,\n ToggleButton,\n ToggleButtonGroup,\n Tooltip,\n} from \"@mui/material\";\nimport \"./Styles/EventConfiguration.scss\";\nimport Grid from \"@mui/material/Grid2\";\nimport { useForm } from \"react-hook-form\";\nimport CustomConfirmationModal from \"@/views/custom-components/CustomConfirmationModal\";\nimport CustomDropdown from \"@/views/custom-components/CustomDropdown\";\nimport DebouncedSearchInput from \"@/views/custom-components/DebouncedSearchInput\";\nimport SyncWithServerDialog from \"@/common/syncWithServer/SyncWithServerDialog\";\nimport { getAssignedFeatures } from \"@/utils/feature.js\";\nconst ShowFlywayQuery = lazy(() => import(\"./ShowFlywayQuery\"));\nconst EventsExceptionModal = lazy(() => import(\"./EventsExceptionModal\"));\nimport { useNavigate } from \"react-router\";\n\nimport useTrackEvent from \"@/hooks/useTrackEvent\";\nimport { useTranslateProvider } from \"@/common/languageTranslator/TranslationContext\";\nimport CustomizedTable from \"@/views/custom-components/CustomizedTable/CustomizedTableV2\";\nimport FontAwesomeIcons from \"@/common/fontAwesomeIcons/FontAwesomeIcons\";\nimport { EventConfigurationSkeleton } from \"./Skeletons/EventsSkeleton\";\nimport {\n EmptyState,\n EVENT_TYPES,\n labelOf,\n MetaChip,\n STATE_META,\n STATUS_META,\n TRIGGER_WHEN,\n} from \"./components/EventsUi\";\n\n/** Shared height for every control in the filter row, so the row reads as one. */\nconst FILTER_CONTROL_HEIGHT = 40;\n\n/**\n * @method describeSchedule\n * @description Turns the stored trigger fields into one readable line\n * (\"Monthly · day 3 · 09:30\") instead of the raw enum plus loose numbers.\n * @param {Object} row - An event configuration row.\n * @param {Function} translate - Translation function.\n * @returns {string} A human-readable schedule.\n */\nconst describeSchedule = (row, translate) => {\n if (!row?.trigerWhen) return \"—\";\n\n const parts = [translate(labelOf(TRIGGER_WHEN, row.trigerWhen))];\n\n if (row.day) {\n parts.push(`${translate(\"day\")} ${row.day}`);\n }\n if (row.hour !== null && row.hour !== undefined) {\n const hour = String(row.hour).padStart(2, \"0\");\n const minute = String(row.minute ?? 0).padStart(2, \"0\");\n parts.push(`${hour}:${minute}`);\n } else if (row.minute) {\n parts.push(`${translate(\"minute\")} ${row.minute}`);\n }\n\n return parts.join(\" · \");\n};\n\n/**\n * EventConfigurations component for managing and displaying configured events.\n *\n * @module EventConfigurations\n * @function\n */\nfunction EventConfigurations() {\n const navigate = useNavigate();\n const trackEvent = useTrackEvent();\n const [configuredEvents, setConfiguredEvents] = useState(null);\n\n const [fetchActiveOnly, setFetchActiveOnly] = useState(true);\n const [showExceptionOnly, setShowExceptionOnly] = useState(false);\n const [showNonCompletedOnly, setShowNonCompletedOnly] = useState(false);\n\n const [search, setSearch] = useState(\"\");\n const [pendingAction, setPendingAction] = useState(null);\n const [clickedRow, setClickedRow] = useState({});\n const [openFlywayQuery, setOpenFlywayQuery] = useState(false);\n const [configuredQuery, setConfiguredQuery] = useState(\"\");\n const [featureUuid, setFeatureUuid] = useState(null);\n const [showException, setShowException] = useState(false);\n const { translate } = useTranslateProvider();\n const [isLoading, setIsLoading] = useState(false);\n const [hasLoaded, setHasLoaded] = useState(false);\n const [rights, setRights] = useState({});\n\n // The event-type filter reuses the same field component as the forms, so it\n // needs a form context of its own.\n const { control: filterControl, reset: resetFilterForm } = useForm({\n defaultValues: { eventType: \"\" },\n });\n const [selectedEventType, setSelectedEventType] = useState(\"\");\n\n /**\n * Refreshes the event configurations based on the current state filter.\n *\n * @async\n * @function onRefresh\n */\n const onRefresh = async () => {\n trackEvent(\"button_click\", {\n button_name: \"refresh-events-button\",\n button_type: \"reload\",\n button_id: \"eventconfiguration-refresh-button\",\n });\n loadInitialData(fetchActiveOnly);\n };\n\n const headers = useMemo(\n () => [\n { field: \"name\", label: translate(\"Name\"), align: \"left\", minWidth: 240 },\n {\n field: \"eventType\",\n label: translate(\"Event Type\"),\n align: \"left\",\n minWidth: 150,\n render: (row) => translate(labelOf(EVENT_TYPES, row?.eventType)),\n },\n {\n field: \"trigerWhen\",\n label: translate(\"Schedule\"),\n align: \"left\",\n minWidth: 200,\n render: (row) => describeSchedule(row, translate),\n },\n {\n field: \"state\",\n label: translate(\"State\"),\n align: \"left\",\n minWidth: 110,\n render: (row) => (\n <MetaChip meta={STATE_META} value={row?.state} translate={translate} />\n ),\n },\n {\n field: \"status\",\n label: translate(\"Last Run\"),\n align: \"left\",\n minWidth: 130,\n render: (row) => (\n <MetaChip\n meta={STATUS_META}\n value={row?.status}\n translate={translate}\n uppercase\n />\n ),\n },\n {\n field: \"completionTime\",\n label: translate(\"Completed On\"),\n align: \"left\",\n minWidth: 160,\n render: (row) =>\n row?.completionTime\n ? moment(row.completionTime).format(\"DD-MM-YYYY HH:mm\")\n : \"—\",\n },\n {\n field: \"Actions\",\n label: translate(\"Actions\"),\n align: \"left\",\n minWidth: 120,\n },\n ],\n [translate],\n );\n\n /**\n * @function handleToggleState\n * Runs whichever action the confirmation dialog was opened for.\n *\n * @returns {Promise<void>}\n */\n const handleToggleState = async () => {\n try {\n if (pendingAction === \"TOGGLE_STATE\") {\n setPendingAction(null);\n setIsLoading(true);\n await toggleState(clickedRow);\n showToast({\n message:\n clickedRow?.state === \"ACTIVE\"\n ? \"Event marked inactive\"\n : \"Event marked active\",\n type: \"success\",\n });\n await loadInitialData(fetchActiveOnly);\n } else if (pendingAction === \"RUN_NOW\") {\n setPendingAction(null);\n setIsLoading(true);\n await runEvent(clickedRow?.uuid);\n showToast({ message: \"Event queued to run now\", type: \"success\" });\n await loadInitialData(fetchActiveOnly);\n }\n } catch {\n showToast({\n message: \"Could not complete that action. Please try again.\",\n type: \"error\",\n });\n setIsLoading(false);\n }\n };\n\n const handleSyncClose = () => setFeatureUuid(() => null);\n\n /**\n * @function handleEdit\n * Navigates to the edit page for the selected row.\n *\n * @param {Object} row - The selected row to edit.\n */\n const handleEdit = (row) => {\n navigate(`/ui/medplat/views/config/${row?.uuid}`);\n };\n\n // Every row handler takes the row it was invoked on: `CustomActionIcons`\n // passes it to each menu item, and reading it back from state would act on\n // a stale selection.\n const actions = useCallback(\n (row) => {\n const canUpdate = GeneralUtil.hasCheckRights(\n rights?.[\"update.manage.event\"],\n );\n const isScheduled =\n row?.eventType === \"TIMMER_BASED\" || row?.eventType === \"RECURSION\";\n\n const menu = [\n canUpdate && {\n label: translate(\n row?.state === \"ACTIVE\" ? \"Mark as Inactive\" : \"Mark as Active\",\n ),\n onClick: (clicked) => {\n setClickedRow(clicked);\n setPendingAction(\"TOGGLE_STATE\");\n },\n },\n {\n label: translate(\"Sync With Server\"),\n onClick: (clicked) => setFeatureUuid(clicked?.uuid),\n },\n isScheduled &&\n GeneralUtil.hasCheckRights(rights?.[\"view.manage.event.runNow\"]) && {\n label: translate(\"Run Event Now\"),\n onClick: (clicked) => {\n setClickedRow(clicked);\n setPendingAction(\"RUN_NOW\");\n },\n },\n isScheduled && {\n label: translate(\"Show Exceptions\"),\n onClick: (clicked) => {\n setClickedRow(clicked);\n setShowException(true);\n },\n },\n {\n label: translate(\"Show Flyway Query\"),\n onClick: (clicked) => {\n setConfiguredQuery(clicked);\n setOpenFlywayQuery(true);\n },\n },\n ].filter(Boolean);\n\n return [\n canUpdate && {\n label: \"\",\n icon: <FontAwesomeIcons iconName=\"faPen\" />,\n onClick: handleEdit,\n ariaLabel: translate(\"Edit event\"),\n dataTestId: \"event-configuration-edit-button\",\n },\n {\n label: \"\",\n icon: <FontAwesomeIcons iconName=\"faBars\" />,\n menuItems: menu,\n ariaLabel: translate(\"More event actions\"),\n dataTestId: \"event-configuration-menu-button\",\n },\n ].filter(Boolean);\n },\n [rights, translate],\n );\n\n useEffect(() => {\n const fetchRights = async () => {\n const { data: featureJson } = await getAssignedFeatures(\n \"techo.notification.all\",\n );\n if (featureJson) setRights(JSON.parse(featureJson));\n };\n fetchRights();\n }, []);\n\n /**\n * @function loadInitialData\n * Loads the configured events for the selected state filter.\n *\n * @param {boolean} isActive - Whether to load active events.\n */\n const loadInitialData = async (isActive) => {\n try {\n setIsLoading(true);\n const response = await retrieveAll(isActive);\n // Sorted so the scheduled events with the nearest cadence group\n // together; the raw rows are kept intact for the row actions.\n const rows = [...(response?.data || [])].sort((a, b) => {\n if (a.trigerWhen === null && b.trigerWhen !== null) return -1;\n if (b.trigerWhen === null && a.trigerWhen !== null) return 1;\n if (b.trigerWhen < a.trigerWhen) return -1;\n if (b.trigerWhen > a.trigerWhen) return 1;\n return (a.day ?? 0) - (b.day ?? 0) || (a.hour ?? 0) - (b.hour ?? 0);\n });\n setConfiguredEvents(rows);\n setIsLoading(false);\n setHasLoaded(true);\n } catch {\n showToast({\n message: \"Could not load events. Please try again.\",\n type: \"error\",\n });\n setIsLoading(false);\n setHasLoaded(true);\n }\n };\n\n useEffect(() => {\n loadInitialData(fetchActiveOnly);\n }, [fetchActiveOnly]);\n\n const searchedEvents = useMemo(() => {\n if (!configuredEvents) return [];\n const term = search.trim().toLowerCase();\n if (!term) return configuredEvents;\n return configuredEvents.filter((event) =>\n event?.name?.toLowerCase().includes(term),\n );\n }, [configuredEvents, search]);\n\n const typeFilteredEvents = useMemo(\n () =>\n searchedEvents.filter(\n (event) => !selectedEventType || event.eventType === selectedEventType,\n ),\n [searchedEvents, selectedEventType],\n );\n\n const exceptionCount = useMemo(\n () =>\n typeFilteredEvents.filter((event) => event.status === \"EXCEPTION\").length,\n [typeFilteredEvents],\n );\n\n const nonCompletedCount = useMemo(\n () =>\n typeFilteredEvents.filter((event) => event.status !== \"COMPLETED\").length,\n [typeFilteredEvents],\n );\n\n const eventTypeOptions = useMemo(() => {\n const present = new Set(\n (configuredEvents || []).map((event) => event.eventType).filter(Boolean),\n );\n return EVENT_TYPES.filter((type) => present.has(type.value)).map((type) => ({\n value: type.value,\n label: translate(type.label),\n }));\n }, [configuredEvents, translate]);\n\n const visibleTableEvents = useMemo(\n () =>\n typeFilteredEvents.filter((event) => {\n if (showExceptionOnly && event.status !== \"EXCEPTION\") return false;\n if (showNonCompletedOnly && event.status === \"COMPLETED\") return false;\n return true;\n }),\n [typeFilteredEvents, showExceptionOnly, showNonCompletedOnly],\n );\n\n const isFiltered =\n Boolean(search) ||\n Boolean(selectedEventType) ||\n showExceptionOnly ||\n showNonCompletedOnly;\n\n const clearFilters = () => {\n setSearch(\"\");\n setShowExceptionOnly(false);\n setShowNonCompletedOnly(false);\n setSelectedEventType(\"\");\n resetFilterForm({ eventType: \"\" });\n };\n\n const isDenied =\n !isLoading &&\n rights !== null &&\n !GeneralUtil.hasCheckRights(rights?.[\"view.manage.event\"]);\n\n return (\n <Grid container className=\"event-configuration\" spacing={2}>\n {featureUuid && (\n <SyncWithServerDialog\n isOpen={Boolean(featureUuid)}\n handleClose={handleSyncClose}\n featureUUID={featureUuid}\n dataTestId=\"eventconfiguration-dialog-syncwithserver\"\n />\n )}\n <Suspense>\n {showException && (\n <EventsExceptionModal\n id={clickedRow?.id}\n eventName={clickedRow?.name}\n open={showException}\n handleClose={() => setShowException(false)}\n dataTestId=\"eventconfiguration-modal-viewexception\"\n />\n )}\n </Suspense>\n <Suspense>\n <ShowFlywayQuery\n configuredQuery={configuredQuery}\n open={openFlywayQuery}\n onClose={() => {\n setOpenFlywayQuery(false);\n }}\n dataTestId=\"eventconfiguration-query-showflywayquery\"\n />\n </Suspense>\n <CustomConfirmationModal\n description={\n pendingAction === \"RUN_NOW\"\n ? `${clickedRow?.name} will be queued to run immediately, outside its schedule.`\n : clickedRow?.state === \"ACTIVE\"\n ? `${clickedRow?.name} will stop running on its schedule. You can turn it back on from this screen.`\n : `${clickedRow?.name} will start running on its schedule again.`\n }\n title={\n pendingAction === \"RUN_NOW\"\n ? translate(\"Run this event now?\")\n : translate(\n clickedRow?.state === \"ACTIVE\"\n ? \"Mark as Inactive\"\n : \"Mark as Active\",\n )\n }\n handleClick={handleToggleState}\n open={Boolean(pendingAction)}\n handleClose={() => setPendingAction(null)}\n dataTestId=\"eventconfiguration-modal-customconfirmation\"\n />\n\n <Grid size={{ xs: 12 }}>\n <Paper\n elevation={0}\n sx={{\n p: { xs: 2.5, md: 3 },\n mb: 3,\n border: \"1px solid\",\n borderColor: \"divider\",\n borderRadius: (t) => `${t.shape.cardRadius}px`,\n backgroundColor: \"background.paper\",\n }}\n >\n <Box sx={{ display: \"flex\", flexDirection: \"column\", gap: 3 }}>\n {/* ── Header: title block (left) + actions (right) ── */}\n <Box\n sx={{\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"flex-start\",\n flexWrap: \"wrap\",\n gap: 2,\n }}\n >\n <Box sx={{ minWidth: { xs: \"100%\", lg: \"40%\" } }}>\n <Typography\n variant=\"h5\"\n component=\"h1\"\n sx={{ fontWeight: 800, color: \"text.primary\", mb: 0.5 }}\n >\n {translate(\"Events\")}\n </Typography>\n <Typography variant=\"body2\" color=\"text.secondary\">\n {translate(\n \"Rules that watch for something happening and act on it - sending a notification, running a query, raising an exception.\",\n )}\n </Typography>\n </Box>\n\n {!isDenied && (\n <Box\n sx={{\n display: \"flex\",\n alignItems: \"center\",\n gap: 1.5,\n flexWrap: \"wrap\",\n }}\n >\n <DebouncedSearchInput\n value={search}\n onChange={setSearch}\n placeholder={translate(\"Search by name\")}\n autoFocus={false}\n size=\"small\"\n data-testid=\"eventconfiguration-textfield-searchquery\"\n sx={{ width: { xs: \"100%\", sm: 240 } }}\n slotProps={{\n htmlInput: { \"aria-label\": translate(\"Search by name\") },\n }}\n inputProps={{\n startAdornment: (\n <InputAdornment position=\"start\">\n <Box sx={{ color: \"text.disabled\", display: \"flex\" }}>\n <FontAwesomeIcons\n iconName=\"faMagnifyingGlass\"\n size=\"sm\"\n />\n </Box>\n </InputAdornment>\n ),\n endAdornment: search ? (\n <InputAdornment position=\"end\">\n <IconButton\n size=\"small\"\n aria-label={translate(\"Clear search\")}\n onClick={() => setSearch(\"\")}\n >\n <FontAwesomeIcons iconName=\"faXmark\" size=\"sm\" />\n </IconButton>\n </InputAdornment>\n ) : null,\n }}\n />\n <Tooltip title={translate(\"Refresh\")}>\n <IconButton\n size=\"small\"\n onClick={onRefresh}\n aria-label={translate(\"Refresh\")}\n data-testid=\"eventconfiguration-refresh-button\"\n >\n <FontAwesomeIcons iconName=\"faRotateRight\" />\n </IconButton>\n </Tooltip>\n {GeneralUtil.hasCheckRights(\n rights?.[\"create.manage.event\"],\n ) && (\n <Button\n size=\"small\"\n variant=\"contained\"\n startIcon={<FontAwesomeIcons iconName=\"faPlus\" />}\n data-testid=\"eventconfiguration-configurenew-button\"\n onClick={() => {\n trackEvent(\"button_click\", {\n button_name: \"configure-new-event-button\",\n button_type: \"navigate\",\n button_id: \"eventconfiguration-configurenew-button\",\n });\n navigate(\"/ui/medplat/views/config\");\n }}\n >\n {translate(\"Configure New\")}\n </Button>\n )}\n </Box>\n )}\n </Box>\n\n {!isDenied && (\n /* ── Filters ── */\n <Box\n sx={{\n display: \"flex\",\n alignItems: \"center\",\n gap: 1.5,\n flexWrap: \"wrap\",\n }}\n >\n <ToggleButtonGroup\n exclusive\n size=\"small\"\n value={fetchActiveOnly}\n onChange={(event, next) => {\n if (next !== null) setFetchActiveOnly(next);\n }}\n aria-label={translate(\"State\")}\n sx={{\n height: FILTER_CONTROL_HEIGHT,\n \"& .MuiToggleButton-root\": { py: 0 },\n }}\n >\n <ToggleButton value={true} data-testid=\"eventconfiguration-active-toggle\">\n {translate(\"Active\")}\n </ToggleButton>\n <ToggleButton value={false} data-testid=\"eventconfiguration-inactive-toggle\">\n {translate(\"Inactive\")}\n </ToggleButton>\n </ToggleButtonGroup>\n\n <Chip\n label={`${translate(\"Exception\")} (${exceptionCount})`}\n variant={showExceptionOnly ? \"filled\" : \"outlined\"}\n color={showExceptionOnly ? \"primary\" : \"default\"}\n onClick={() => setShowExceptionOnly((current) => !current)}\n sx={{\n height: FILTER_CONTROL_HEIGHT,\n \"& .MuiChip-label\": { px: 1.75 },\n }}\n data-testid=\"eventconfiguration-Exception-checkbox\"\n />\n <Chip\n label={`${translate(\"Not Completed\")} (${nonCompletedCount})`}\n variant={showNonCompletedOnly ? \"filled\" : \"outlined\"}\n color={showNonCompletedOnly ? \"primary\" : \"default\"}\n onClick={() => setShowNonCompletedOnly((current) => !current)}\n sx={{\n height: FILTER_CONTROL_HEIGHT,\n \"& .MuiChip-label\": { px: 1.75 },\n }}\n data-testid=\"eventconfiguration-notcompleted-checkbox\"\n />\n\n <Box\n sx={{\n width: { xs: \"100%\", sm: 200 },\n \"& .MuiOutlinedInput-root\": {\n height: FILTER_CONTROL_HEIGHT,\n },\n }}\n >\n <CustomDropdown\n control={filterControl}\n name=\"eventType\"\n options={eventTypeOptions}\n displayName=\"label\"\n optionValue=\"value\"\n isNullSelectDisabled={false}\n placeholder={translate(\"All event types\")}\n onChange={(event) =>\n setSelectedEventType(event?.target?.value || \"\")\n }\n dataTestId=\"eventconfiguration-eventtype-filter\"\n />\n </Box>\n\n <Button\n size=\"small\"\n variant=\"text\"\n disabled={!isFiltered}\n startIcon={<FontAwesomeIcons iconName=\"faXmark\" size=\"sm\" />}\n onClick={clearFilters}\n sx={{ height: FILTER_CONTROL_HEIGHT }}\n data-testid=\"eventconfiguration-clear-filters\"\n >\n {translate(\"Clear filters\")}\n </Button>\n </Box>\n )}\n\n {isDenied ? (\n <EmptyState\n icon=\"faLock\"\n title={translate(\"You don't have access to Events\")}\n body={translate(\n \"Your role doesn't include permission to view events. Ask an administrator to grant the view right for this module.\",\n )}\n dataTestId=\"no-permission-message\"\n />\n ) : isLoading ? (\n <EventConfigurationSkeleton />\n ) : hasLoaded && visibleTableEvents.length === 0 && isFiltered ? (\n <EmptyState\n icon=\"faMagnifyingGlass\"\n title={translate(\"No events match these filters\")}\n body={translate(\n \"Try a shorter search term, another event type, or switch between Active and Inactive.\",\n )}\n action={\n <Button variant=\"text\" size=\"small\" onClick={clearFilters}>\n {translate(\"Clear filters\")}\n </Button>\n }\n dataTestId=\"eventconfiguration-no-results\"\n />\n ) : hasLoaded && visibleTableEvents.length === 0 ? (\n <EmptyState\n icon=\"faBolt\"\n title={\n fetchActiveOnly\n ? translate(\"No active events\")\n : translate(\"No inactive events\")\n }\n body={translate(\n \"Configure an event to react to a form submission, a schedule, or a manual trigger.\",\n )}\n action={\n GeneralUtil.hasCheckRights(rights?.[\"create.manage.event\"]) ? (\n <Button\n variant=\"contained\"\n size=\"small\"\n startIcon={<FontAwesomeIcons iconName=\"faPlus\" />}\n onClick={() => navigate(\"/ui/medplat/views/config\")}\n >\n {translate(\"Configure New\")}\n </Button>\n ) : null\n }\n dataTestId=\"eventconfiguration-no-events\"\n />\n ) : (\n <CustomizedTable\n columns={headers}\n tableData={visibleTableEvents}\n actions={actions}\n paginationConfig={{ pagination: false }}\n dataTestId=\"eventconfiguration-table-configuredevents\"\n isLoading={isLoading}\n rowUniqueKey=\"uuid\"\n disableHtml\n showFullContent={false}\n styleConfig={{ tableStyle: { maxHeight: 180 } }}\n />\n )}\n </Box>\n </Paper>\n </Grid>\n </Grid>\n );\n}\n\nexport default EventConfigurations;\n"],"names":["ShowFlywayQuery","lazy","EventsExceptionModal","FILTER_CONTROL_HEIGHT","describeSchedule","row","translate","parts","labelOf","TRIGGER_WHEN","hour","minute","EventConfigurations","navigate","useNavigate","trackEvent","useTrackEvent","configuredEvents","setConfiguredEvents","useState","fetchActiveOnly","setFetchActiveOnly","showExceptionOnly","setShowExceptionOnly","showNonCompletedOnly","setShowNonCompletedOnly","search","setSearch","pendingAction","setPendingAction","clickedRow","setClickedRow","openFlywayQuery","setOpenFlywayQuery","configuredQuery","setConfiguredQuery","featureUuid","setFeatureUuid","showException","setShowException","useTranslateProvider","isLoading","setIsLoading","hasLoaded","setHasLoaded","rights","setRights","filterControl","resetFilterForm","useForm","selectedEventType","setSelectedEventType","onRefresh","loadInitialData","headers","useMemo","EVENT_TYPES","jsx","MetaChip","STATE_META","STATUS_META","moment","handleToggleState","toggleState","showToast","runEvent","handleSyncClose","handleEdit","actions","useCallback","canUpdate","GeneralUtil","isScheduled","menu","clicked","FontAwesomeIcons","useEffect","featureJson","getAssignedFeatures","isActive","response","retrieveAll","rows","a","b","searchedEvents","term","event","_a","typeFilteredEvents","exceptionCount","nonCompletedCount","eventTypeOptions","present","type","visibleTableEvents","isFiltered","clearFilters","isDenied","Grid","SyncWithServerDialog","Suspense","CustomConfirmationModal","Paper","t","jsxs","Box","Typography","DebouncedSearchInput","InputAdornment","IconButton","Tooltip","Button","ToggleButtonGroup","next","ToggleButton","Chip","current","CustomDropdown","EmptyState","EventConfigurationSkeleton","CustomizedTable"],"mappings":"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"}