@argusoft/medplat-core 1.0.31 → 1.0.32

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 (199) hide show
  1. package/dist/{AccessRights-DUgY6ewy.js → AccessRights-DBjTQA1-.js} +421 -424
  2. package/dist/AccessRights-DBjTQA1-.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-ZtVTX6vX.js} +45 -45
  9. package/dist/{BrandsPage-DMw2vT0u-BVhvhc6J.js.map → BrandsPage-CdcAvaml-ZtVTX6vX.js.map} +1 -1
  10. package/dist/{CategoriesPage-D3ihx9Gi-CT58g0ry.js → CategoriesPage-BprQEYJw-CclreTv1.js} +43 -43
  11. package/dist/{CategoriesPage-D3ihx9Gi-CT58g0ry.js.map → CategoriesPage-BprQEYJw-CclreTv1.js.map} +1 -1
  12. package/dist/{ChangePasswordModalCore-lQ9GamH1.js → ChangePasswordModalCore-DZGOkbRY.js} +3 -3
  13. package/dist/{ChangePasswordModalCore-lQ9GamH1.js.map → ChangePasswordModalCore-DZGOkbRY.js.map} +1 -1
  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-CsYohJ5e.js} +29 -29
  17. package/dist/{DashboardPage-asr2XDRu-uOOlX9Vq.js.map → DashboardPage-CTiGSx71-CsYohJ5e.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-Dab_Jwa5.js +112 -0
  27. package/dist/FacilityPicker-BXa2VF7i-Dab_Jwa5.js.map +1 -0
  28. package/dist/{FeatureMenu-CHsBbw3W.js → FeatureMenu-Kc73yPHH.js} +2 -2
  29. package/dist/{FeatureMenu-CHsBbw3W.js.map → FeatureMenu-Kc73yPHH.js.map} +1 -1
  30. package/dist/{FhirServerList-iXBPkRVF.js → FhirServerList-CrIHMAxz.js} +19 -19
  31. package/dist/{FhirServerList-iXBPkRVF.js.map → FhirServerList-CrIHMAxz.js.map} +1 -1
  32. package/dist/{FhirServerProfile-CUOwC6Wb.js → FhirServerProfile-D3aYcpwY.js} +8 -8
  33. package/dist/{FhirServerProfile-CUOwC6Wb.js.map → FhirServerProfile-D3aYcpwY.js.map} +1 -1
  34. package/dist/{FhirServerWizard-DZI8Olku.js → FhirServerWizard-Db6Hm4bQ.js} +15 -15
  35. package/dist/{FhirServerWizard-DZI8Olku.js.map → FhirServerWizard-Db6Hm4bQ.js.map} +1 -1
  36. package/dist/{ImmunizationConfigurationBase-aUtx0JEe.js → ImmunizationConfigurationBase-lKsJZMak.js} +1342 -1301
  37. package/dist/ImmunizationConfigurationBase-lKsJZMak.js.map +1 -0
  38. package/dist/InventoryPage-JadYMCzU-CzJQfQ2A.js +1017 -0
  39. package/dist/InventoryPage-JadYMCzU-CzJQfQ2A.js.map +1 -0
  40. package/dist/LocationWiseExpectedTargetPage-CjKk1aTF.js +1344 -0
  41. package/dist/LocationWiseExpectedTargetPage-CjKk1aTF.js.map +1 -0
  42. package/dist/{ManageDynamicFeature-BU0I45dd.js → ManageDynamicFeature-CuyYfx_P.js} +104 -97
  43. package/dist/ManageDynamicFeature-CuyYfx_P.js.map +1 -0
  44. package/dist/{ManageEventConfiguration-DqW3krT6.js → ManageEventConfiguration-DqPbn3Oi.js} +5 -5
  45. package/dist/{ManageEventConfiguration-DqW3krT6.js.map → ManageEventConfiguration-DqPbn3Oi.js.map} +1 -1
  46. package/dist/ManageRole-CyfpySt9.js +981 -0
  47. package/dist/ManageRole-CyfpySt9.js.map +1 -0
  48. package/dist/{ManageUser-DZltBina.js → ManageUser-Dm0l833u.js} +172 -172
  49. package/dist/{ManageUser-DZltBina.js.map → ManageUser-Dm0l833u.js.map} +1 -1
  50. package/dist/{MemberProfileCard-D5CgkTdJ-D2NgDJl3.js → MemberProfileCard-01d_jz3w-DYHtbgMX.js} +37 -37
  51. package/dist/{MemberProfileCard-D5CgkTdJ-D2NgDJl3.js.map → MemberProfileCard-01d_jz3w-DYHtbgMX.js.map} +1 -1
  52. package/dist/MobileAnalytics-C9oc2yAo.js +18399 -0
  53. package/dist/MobileAnalytics-C9oc2yAo.js.map +1 -0
  54. package/dist/MobileMenuManagement-BmzTPXy7.js +231 -0
  55. package/dist/MobileMenuManagement-BmzTPXy7.js.map +1 -0
  56. package/dist/{MobileTypeEventConfigModal-CMcj7Ozp.js → MobileTypeEventConfigModal-DodU3beR.js} +3 -3
  57. package/dist/{MobileTypeEventConfigModal-CMcj7Ozp.js.map → MobileTypeEventConfigModal-DodU3beR.js.map} +1 -1
  58. package/dist/{NewServerManagement-Cxe0dV0O.js → NewServerManagement-BdayO78D.js} +368 -352
  59. package/dist/NewServerManagement-BdayO78D.js.map +1 -0
  60. package/dist/OtherTypeEventConfigModal-D_9S50aI.js +1414 -0
  61. package/dist/OtherTypeEventConfigModal-D_9S50aI.js.map +1 -0
  62. package/dist/{PaymentCreatePage-DfvSZ-kB-CckogYoe.js → PaymentCreatePage-D6NZBUC3-DxXf2kvH.js} +56 -56
  63. package/dist/{PaymentCreatePage-DfvSZ-kB-CckogYoe.js.map → PaymentCreatePage-D6NZBUC3-DxXf2kvH.js.map} +1 -1
  64. package/dist/{PaymentsPage-DMNjYWAJ-ChO9IXmk.js → PaymentsPage-CHieGNrn-BnYCtqHd.js} +38 -38
  65. package/dist/{PaymentsPage-DMNjYWAJ-ChO9IXmk.js.map → PaymentsPage-CHieGNrn-BnYCtqHd.js.map} +1 -1
  66. package/dist/{PermissionsModal-CCYkcKlC.js → PermissionsModal-Dxbkkrqe.js} +18 -18
  67. package/dist/PermissionsModal-Dxbkkrqe.js.map +1 -0
  68. package/dist/{PickupBatchLinesEditor-CE2RuyJT-BPceiJr8.js → PickupBatchLinesEditor-QPaqFtUO-CY7BShYh.js} +2 -2
  69. package/dist/{PickupBatchLinesEditor-CE2RuyJT-BPceiJr8.js.map → PickupBatchLinesEditor-QPaqFtUO-CY7BShYh.js.map} +1 -1
  70. package/dist/PickupCreatePage-C7_67u_u-OId8-e2a.js +801 -0
  71. package/dist/PickupCreatePage-C7_67u_u-OId8-e2a.js.map +1 -0
  72. package/dist/{PickupsPage-D7zyioJB-bHKnARYw.js → PickupsPage-BWblMlic-CWkgeBw0.js} +122 -122
  73. package/dist/PickupsPage-BWblMlic-CWkgeBw0.js.map +1 -0
  74. package/dist/PmGuard-BvUUbU80-BpYNaDzl.js +641 -0
  75. package/dist/PmGuard-BvUUbU80-BpYNaDzl.js.map +1 -0
  76. package/dist/ProductEditPage-Dbq4vUAA-BoBmTPPL.js +1523 -0
  77. package/dist/ProductEditPage-Dbq4vUAA-BoBmTPPL.js.map +1 -0
  78. package/dist/{ProductsPage-DvNHIeZt-BoOOJJtk.js → ProductsPage-BI22nPb4-CQBjnc-n.js} +29 -29
  79. package/dist/{ProductsPage-DvNHIeZt-BoOOJJtk.js.map → ProductsPage-BI22nPb4-CQBjnc-n.js.map} +1 -1
  80. package/dist/PurchaseCreatePage-C0EK9z4w-BQMTsjE7.js +724 -0
  81. package/dist/PurchaseCreatePage-C0EK9z4w-BQMTsjE7.js.map +1 -0
  82. package/dist/{PurchaseRequestDetailPage-CA9KFOfE-CtjG4Gx6.js → PurchaseRequestDetailPage-DhBuOGHZ-CWZPqzt9.js} +446 -436
  83. package/dist/PurchaseRequestDetailPage-DhBuOGHZ-CWZPqzt9.js.map +1 -0
  84. package/dist/{PurchaseRequestsPage-DS9i4o0--TpoxA5Kd.js → PurchaseRequestsPage-Bj9HUMxb-B7-AxT8m.js} +55 -55
  85. package/dist/{PurchaseRequestsPage-DS9i4o0--TpoxA5Kd.js.map → PurchaseRequestsPage-Bj9HUMxb-B7-AxT8m.js.map} +1 -1
  86. package/dist/{PurchasesPage-DgL5T6BY-DePUuE9l.js → PurchasesPage-Djl1AqD_-DXeYFMrX.js} +61 -61
  87. package/dist/{PurchasesPage-DgL5T6BY-DePUuE9l.js.map → PurchasesPage-Djl1AqD_-DXeYFMrX.js.map} +1 -1
  88. package/dist/{RoleManagement-s8iNx2Mu.js → RoleManagement-DVYufwy-.js} +3 -3
  89. package/dist/{RoleManagement-s8iNx2Mu.js.map → RoleManagement-DVYufwy-.js.map} +1 -1
  90. package/dist/Roles-BoNGJhtR.js +19 -0
  91. package/dist/Roles-BoNGJhtR.js.map +1 -0
  92. package/dist/{SaleCreatePage-CZnIOydv-DKBw-qp7.js → SaleCreatePage-DHBLmlBr-BlgjVsq6.js} +33 -33
  93. package/dist/{SaleCreatePage-CZnIOydv-DKBw-qp7.js.map → SaleCreatePage-DHBLmlBr-BlgjVsq6.js.map} +1 -1
  94. package/dist/{SalesPage-DPIRrC_O-M8rqnK7z.js → SalesPage-eF9Yr42z-BQ9FlXC3.js} +34 -34
  95. package/dist/SalesPage-eF9Yr42z-BQ9FlXC3.js.map +1 -0
  96. package/dist/SettingsPage-Cre-UE3r-9ntnLYsQ.js +741 -0
  97. package/dist/SettingsPage-Cre-UE3r-9ntnLYsQ.js.map +1 -0
  98. package/dist/{StorageUnitsPage-BDRkdCjW-UF64rf7q.js → StorageUnitsPage-CTEVuemZ-B4osG74N.js} +213 -190
  99. package/dist/StorageUnitsPage-CTEVuemZ-B4osG74N.js.map +1 -0
  100. package/dist/{SubMenu-BdMTYtC1.js → SubMenu-OO2zhKiu.js} +2 -2
  101. package/dist/{SubMenu-BdMTYtC1.js.map → SubMenu-OO2zhKiu.js.map} +1 -1
  102. package/dist/{TableDetails-BtafRxXb.js → TableDetails-Cc40dEUs.js} +272 -267
  103. package/dist/TableDetails-Cc40dEUs.js.map +1 -0
  104. package/dist/{TableList-Dpo6dO7S.js → TableList-B5tX4wII.js} +316 -312
  105. package/dist/TableList-B5tX4wII.js.map +1 -0
  106. package/dist/{TransactionsPage-CqWTMNU8-Df6eGFDW.js → TransactionsPage-Zuu7sjID-B-ACzvd1.js} +185 -170
  107. package/dist/TransactionsPage-Zuu7sjID-B-ACzvd1.js.map +1 -0
  108. package/dist/TransferCreatePage-DlT0nCDj-B2SdPgYB.js +635 -0
  109. package/dist/TransferCreatePage-DlT0nCDj-B2SdPgYB.js.map +1 -0
  110. package/dist/TransfersPage-DqaSvHda-G2tFa5Jq.js +600 -0
  111. package/dist/TransfersPage-DqaSvHda-G2tFa5Jq.js.map +1 -0
  112. package/dist/{TypeConfiguration-JbRCN6GR.js → TypeConfiguration-EaFiOzRE.js} +3 -3
  113. package/dist/{TypeConfiguration-JbRCN6GR.js.map → TypeConfiguration-EaFiOzRE.js.map} +1 -1
  114. package/dist/UserList-Cf5B-o_1.js +1904 -0
  115. package/dist/UserList-Cf5B-o_1.js.map +1 -0
  116. package/dist/Users-MC7txo1V.js +43 -0
  117. package/dist/{Users-CsJ08Kjm.js.map → Users-MC7txo1V.js.map} +1 -1
  118. package/dist/VaccineEducation-T_UE57Ef.js +231 -0
  119. package/dist/VaccineEducation-T_UE57Ef.js.map +1 -0
  120. package/dist/VaccineEducation.css +1 -0
  121. package/dist/VaccineEducationConfigurator-CWc20_rv.js +50948 -0
  122. package/dist/VaccineEducationConfigurator-CWc20_rv.js.map +1 -0
  123. package/dist/VaccineEducationConfigurator.css +4 -0
  124. package/dist/VaccineEducationList-Ok7_5EFb.js +334 -0
  125. package/dist/VaccineEducationList-Ok7_5EFb.js.map +1 -0
  126. package/dist/VialsPage-LoDaUqVv-DmMXbK8j.js +457 -0
  127. package/dist/VialsPage-LoDaUqVv-DmMXbK8j.js.map +1 -0
  128. package/dist/{constants-DpXnLsAB-D6lN5cjK.js → constants-BTpJFQe_-CYPZIqQF.js} +160 -61
  129. package/dist/constants-BTpJFQe_-CYPZIqQF.js.map +1 -0
  130. package/dist/dashboardLayoutUtils--xUnoKPa.js +615 -0
  131. package/dist/dashboardLayoutUtils--xUnoKPa.js.map +1 -0
  132. package/dist/index-mfoqII2U.js +524 -0
  133. package/dist/index-mfoqII2U.js.map +1 -0
  134. package/dist/{index-D9YNFPn9.js → index-o8Pyt1Bt.js} +445 -439
  135. package/dist/index-o8Pyt1Bt.js.map +1 -0
  136. package/dist/index.css +1 -1
  137. package/dist/index.js +1 -1
  138. package/dist/{index.lib-ETRQOzvE.js → index.lib-BySa9-Z-.js} +302 -260
  139. package/dist/index.lib-BySa9-Z-.js.map +1 -0
  140. package/dist/listValueStore-5d4vNGQM-WclZ5nBG.js +43 -0
  141. package/dist/listValueStore-5d4vNGQM-WclZ5nBG.js.map +1 -0
  142. package/package.json +5 -1
  143. package/dist/AccessRights-DUgY6ewy.js.map +0 -1
  144. package/dist/AddMenuConfiguration-c6ZKiN0i.js +0 -8898
  145. package/dist/AddMenuConfiguration-c6ZKiN0i.js.map +0 -1
  146. package/dist/EntityManagement-CPQL6qBj.js +0 -50
  147. package/dist/EntityManagement-CPQL6qBj.js.map +0 -1
  148. package/dist/EventsUi-D6O9S7BK.js.map +0 -1
  149. package/dist/FacilityPicker-DYl_PDyt-Cbwo2tAY.js +0 -79
  150. package/dist/FacilityPicker-DYl_PDyt-Cbwo2tAY.js.map +0 -1
  151. package/dist/ImmunizationConfigurationBase-aUtx0JEe.js.map +0 -1
  152. package/dist/InventoryPage-DOotGZrj-CoPjOJEI.js +0 -665
  153. package/dist/InventoryPage-DOotGZrj-CoPjOJEI.js.map +0 -1
  154. package/dist/ManageDynamicFeature-BU0I45dd.js.map +0 -1
  155. package/dist/ManageRole-CNZBRKGU.js +0 -776
  156. package/dist/ManageRole-CNZBRKGU.js.map +0 -1
  157. package/dist/MobileAnalytics-BLOionG_.js +0 -17301
  158. package/dist/MobileAnalytics-BLOionG_.js.map +0 -1
  159. package/dist/MobileMenuManagement-68Wijb0X.js +0 -220
  160. package/dist/MobileMenuManagement-68Wijb0X.js.map +0 -1
  161. package/dist/NewServerManagement-Cxe0dV0O.js.map +0 -1
  162. package/dist/OtherTypeEventConfigModal-stNmuSv_.js +0 -1812
  163. package/dist/OtherTypeEventConfigModal-stNmuSv_.js.map +0 -1
  164. package/dist/PermissionsModal-CCYkcKlC.js.map +0 -1
  165. package/dist/PickupCreatePage-B4O_-vE5-DoOo9nJO.js +0 -783
  166. package/dist/PickupCreatePage-B4O_-vE5-DoOo9nJO.js.map +0 -1
  167. package/dist/PickupsPage-D7zyioJB-bHKnARYw.js.map +0 -1
  168. package/dist/PmGuard-BZE-y4In-D_pUm5MP.js +0 -599
  169. package/dist/PmGuard-BZE-y4In-D_pUm5MP.js.map +0 -1
  170. package/dist/ProductEditPage-BVlVUCtD-BR-tJ5Wb.js +0 -1305
  171. package/dist/ProductEditPage-BVlVUCtD-BR-tJ5Wb.js.map +0 -1
  172. package/dist/PurchaseCreatePage-Cq_i9snz-DRtHHFWw.js +0 -675
  173. package/dist/PurchaseCreatePage-Cq_i9snz-DRtHHFWw.js.map +0 -1
  174. package/dist/PurchaseRequestDetailPage-CA9KFOfE-CtjG4Gx6.js.map +0 -1
  175. package/dist/Roles-BIyiic67.js +0 -14
  176. package/dist/Roles-BIyiic67.js.map +0 -1
  177. package/dist/SalesPage-DPIRrC_O-M8rqnK7z.js.map +0 -1
  178. package/dist/SettingsPage-BC_R6Z-Q-CKNt9zRu.js +0 -676
  179. package/dist/SettingsPage-BC_R6Z-Q-CKNt9zRu.js.map +0 -1
  180. package/dist/StorageUnitsPage-BDRkdCjW-UF64rf7q.js.map +0 -1
  181. package/dist/TableDetails-BtafRxXb.js.map +0 -1
  182. package/dist/TableList-Dpo6dO7S.js.map +0 -1
  183. package/dist/TransactionsPage-CqWTMNU8-Df6eGFDW.js.map +0 -1
  184. package/dist/TransferCreatePage-DF7FZaTJ-CL79V3aR.js +0 -315
  185. package/dist/TransferCreatePage-DF7FZaTJ-CL79V3aR.js.map +0 -1
  186. package/dist/TransfersPage-CGrRFaBF-cTwBUv0o.js +0 -476
  187. package/dist/TransfersPage-CGrRFaBF-cTwBUv0o.js.map +0 -1
  188. package/dist/UserList-L41Xw0Q6.js +0 -1129
  189. package/dist/UserList-L41Xw0Q6.js.map +0 -1
  190. package/dist/Users-CsJ08Kjm.js +0 -40
  191. package/dist/VialsPage-rvvXjgZG-Oqo1v6kQ.js +0 -321
  192. package/dist/VialsPage-rvvXjgZG-Oqo1v6kQ.js.map +0 -1
  193. package/dist/constants-DpXnLsAB-D6lN5cjK.js.map +0 -1
  194. package/dist/dashboardLayoutUtils-CJivzaU1.js +0 -408
  195. package/dist/dashboardLayoutUtils-CJivzaU1.js.map +0 -1
  196. package/dist/index-D9YNFPn9.js.map +0 -1
  197. package/dist/index.lib-ETRQOzvE.js.map +0 -1
  198. package/dist/listValueStore-BFQtDYIR-Bj0yX145.js +0 -36
  199. package/dist/listValueStore-BFQtDYIR-Bj0yX145.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OtherTypeEventConfigModal-D_9S50aI.js","sources":["../src/views/Events/OtherTypeEventConfigModal.jsx"],"sourcesContent":["import React, { useEffect, useMemo, useState, useRef } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { useForm, Controller } from \"react-hook-form\";\nimport { yupResolver } from \"@hookform/resolvers/yup\";\nimport { CKEditor } from \"@ckeditor/ckeditor5-react\";\nimport Grid from \"@mui/material/Grid2\";\nimport * as Yup from \"yup\";\nimport {\n Box,\n Button,\n Checkbox,\n CircularProgress,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n FormControlLabel,\n IconButton,\n TextField,\n Typography,\n useTheme,\n} from \"@mui/material\";\nimport CustomTextArea from \"@/views/custom-components/CustomTextArea\";\nimport CustomTextField from \"@/views/custom-components/CustomTextField\";\nimport CustomDropdown from \"@/views/custom-components/CustomDropdown\";\nimport PostgresEditor from \"@/views/custom-components/PostgresEditor\";\nimport {\n execute,\n getNotificationTypeList,\n retrieveAllConfigured,\n} from \"@/common/services/GlobalApis\";\nimport { uploadDocument } from \"../../services/EventConfig\";\nimport { showToast } from \"@/common/toaster/toaster\";\n\nimport useTrackEvent from \"@/hooks/useTrackEvent\";\nimport \"./Styles/ManageEventConfiguration.scss\";\nimport { useTranslateProvider } from \"@/common/languageTranslator/TranslationContext\";\nimport FontAwesomeIcons from \"@/common/fontAwesomeIcons/FontAwesomeIcons\";\nimport Editor from \"@/views/custom-components/CkEditor/CkEditor\";\nimport {\n ACTION_TRIGGER_WHEN,\n ACTION_TYPES,\n EXCEPTION_TYPES,\n FieldHelp,\n FieldLabel,\n ImplicitParams,\n labelOf,\n SectionHeading,\n} from \"./components/EventsUi\";\n\nconst MAX_EMAIL_ATTACHMENT_SIZE_BYTES = 5 * 1024 * 1024; // 5MB\n\n/**\n * @method isPushAction\n * @description Both push variants share the notification type, heading and\n * template fields; they differ only in how the recipient is chosen.\n * @param {string} actionType - The configured action type.\n * @returns {boolean} Whether this is a push notification action.\n */\nconst isPushAction = (actionType) =>\n actionType === \"PUSH_NOTIFICATION\" || actionType === \"PUSH_NOTIFICATION_V2\";\n\n// Define the validation schema using Yup\n\n/**\n * @method ParameterRow\n * @description One query / function / kafka parameter: its name, a fixed-value\n * toggle, and the value or placeholder it maps to.\n */\nconst ParameterRow = ({\n param,\n index,\n control,\n translate,\n setValue,\n handleChange,\n testIdPrefix,\n valueTestIdSuffix,\n checkboxTestId,\n}) => (\n <Box\n sx={{\n display: \"flex\",\n flexDirection: \"column\",\n gap: 0.5,\n p: 1.5,\n border: \"1px solid\",\n borderColor: \"divider\",\n borderRadius: (t) => `${t.shape.borderRadius}px`,\n }}\n >\n <Box\n sx={{\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n gap: 2,\n flexWrap: \"wrap\",\n }}\n >\n <Typography\n variant=\"body2\"\n sx={{ fontWeight: 600, fontFamily: \"monospace\" }}\n >\n {param?.parameterName}\n </Typography>\n <Controller\n control={control}\n name={`${param?.parameterName}${index}isFixed`}\n defaultValue={param?.isFixed || false}\n render={({ field }) => (\n <FormControlLabel\n sx={{ mr: 0 }}\n control={\n <Checkbox\n size=\"small\"\n checked={Boolean(field.value)}\n onChange={(e) => {\n field.onChange(e.target.checked);\n handleChange(index, \"isFixed\", e.target.checked);\n }}\n data-testid={checkboxTestId}\n />\n }\n label={\n <Typography variant=\"body2\">\n {translate(\"Is Fixed Value\")}\n </Typography>\n }\n />\n )}\n />\n </Box>\n <Controller\n control={control}\n name={`${param?.parameterName}${index}`}\n defaultValue={param?.mappingValue || \"\"}\n render={({ field }) => (\n <TextField\n variant=\"outlined\"\n size=\"small\"\n {...field}\n fullWidth\n placeholder={translate(\"Placeholder or fixed value\")}\n onChange={(e) => {\n setValue(`${param?.parameterName}${index}`, e.target.value);\n handleChange(index, \"mappingValue\", e.target.value);\n }}\n data-testid={`${testIdPrefix}${param?.parameterName}${index}${valueTestIdSuffix}`}\n />\n )}\n />\n </Box>\n);\n\nParameterRow.propTypes = {\n param: PropTypes.any,\n index: PropTypes.number,\n control: PropTypes.any,\n translate: PropTypes.func,\n setValue: PropTypes.func,\n handleChange: PropTypes.func,\n testIdPrefix: PropTypes.string,\n valueTestIdSuffix: PropTypes.string,\n checkboxTestId: PropTypes.string,\n};\n\n/**\n * Modal component for configuring other types of event notifications.\n * @module OtherTypeEventConfigModal\n *\n *\n *\n * @param {Object} props - The props for the component.\n * @param {boolean} props.open - Whether the modal is open or not.\n * @param {Function} props.handleClose - Function to close the modal.\n * @param {Function} props.handleClick - Function to handle submission of the modal form.\n * @param {Object} props.type - Configuration type object passed to the modal.\n *\n * @returns {JSX.Element} The rendered modal component.\n */\nconst OtherTypeEventConfigModal = ({\n open,\n handleClose,\n handleClick,\n type,\n}) => {\n const theme = useTheme();\n const isDark = theme.palette.mode === \"dark\";\n const formRef = useRef(null);\n const submitRef = useRef(false);\n const focusErrorRef = useRef(false);\n const trackEvent = useTrackEvent();\n const [queryMasters, setQueryMasters] = useState([]);\n const [systemFunctions, setSystemFunctions] = useState([]);\n const [kafkaConfigs, setKafkaConfigs] = useState([]);\n const { translate } = useTranslateProvider();\n\n const [notificationTypeList, setnotificationTypeList] = useState([]);\n const [recipientTypeOptions, setRecipientTypeOptions] = useState([]);\n const imageInputRef = useRef(null);\n const [uploadingImage, setUploadingImage] = useState(false);\n const [uploadedImageName, setUploadedImageName] = useState(\"\");\n const validationSchema = Yup.object().shape({\n excetionTypes: Yup.string().test(\n \"is-required\",\n \"Execution type is required\",\n function (value) {\n if (type?.type === \"EXCEPTION\") {\n return !!value;\n }\n return true;\n },\n ),\n mobileNumberFieldName: Yup.string().test(\n \"is-required\",\n \"Enter Sms contact number field name\",\n function (value) {\n if (type?.type === \"SMS\") {\n return !!value;\n }\n return true;\n },\n ),\n smsTypeField: Yup.string().test(\n \"is-required\",\n \"Enter Sms Type Field\",\n function (value) {\n if (type?.type === \"SMS\") {\n return !!value;\n }\n return true;\n },\n ),\n trigerWhen: Yup.string().test(\n \"is-required\",\n \"trigerWhen is required\",\n function (value) {\n if (type?.type != \"EXCEPTION\" && type?.type != \"SYSTEM_FUNCTION\") {\n return !!value;\n }\n return true;\n },\n ),\n baseDateFieldName: Yup.string().test(\n \"is-required\",\n \"Enter Email Id field name\",\n function (value) {\n if (type?.type === \"EMAIL\") {\n return !!value;\n }\n return true;\n },\n ),\n emailSubject: Yup.string().test(\n \"is-required\",\n \"Enter email subject\",\n function (value) {\n if (type?.type === \"EMAIL\") {\n return !!value;\n }\n return true;\n },\n ),\n notificationTypeId: Yup.string().test(\n \"is-required\",\n \"Select type\",\n function (value) {\n if (isPushAction(type?.type)) {\n return !!value;\n }\n return true;\n },\n ),\n userFieldName: Yup.string().test(\n \"is-required\",\n \"Enter User Id field name\",\n function (value) {\n if (isPushAction(type?.type)) {\n return !!value;\n }\n return true;\n },\n ),\n recipientType: Yup.string().test(\n \"is-required\",\n \"Select recipient type\",\n function (value) {\n if (type?.type === \"PUSH_NOTIFICATION_V2\") {\n return !!value;\n }\n return true;\n },\n ),\n heading: Yup.string().test(\n \"is-required\",\n \"Enter heading\",\n function (value) {\n if (isPushAction(type?.type) && notificationTypeId) {\n return !!value;\n }\n return true;\n },\n ),\n template: Yup.string().test(\n \"is-required\",\n \"Enter Template\",\n function (value) {\n if (isPushAction(type?.type) && notificationTypeId) {\n return !!value;\n }\n return true;\n },\n ),\n });\n\n const {\n control,\n handleSubmit,\n reset,\n setValue,\n unregister,\n getValues,\n watch,\n formState: { errors, isSubmitting },\n } = useForm({\n defaultValues: {},\n resolver: yupResolver(validationSchema),\n mode: \"onChange\",\n });\n\n useEffect(() => {\n if (!focusErrorRef.current) return;\n focusErrorRef.current = false;\n // querySelector returns the topmost match, so with several errors the first one on screen wins\n const errorField = formRef.current?.querySelector(\n '[aria-invalid=\"true\"], textarea.error-textarea',\n );\n // focus without the browser's minimal scroll, then centre it so the error message below is visible too\n errorField?.focus({ preventScroll: true });\n errorField?.scrollIntoView({ behavior: \"smooth\", block: \"center\" });\n }, [errors]);\n\n useEffect(() => {\n if (type) {\n loadInitialState();\n Object.keys(type)?.forEach((key) => {\n if (key === \"index\") {\n setValue(key, type[key]);\n }\n if (key === \"smsConfigJson\" && type[key]) {\n const smsConfigJson = type[key];\n Object.keys(smsConfigJson)?.forEach((keys) => {\n setValue(keys, smsConfigJson[keys]);\n });\n } else if (key === \"pushNotificationConfigJson\" && type[key]) {\n const pushNotificationConfigJson = type[key];\n Object.keys(pushNotificationConfigJson)?.forEach((keys) => {\n setValue(keys, pushNotificationConfigJson[keys]);\n });\n } else if (key === \"kafkaConfigJson\" && type[key]) {\n const kafkaConfigJson = type[key];\n Object.keys(kafkaConfigJson)?.forEach((keys) => {\n setValue(keys, kafkaConfigJson[keys]);\n });\n } else if (type[key] !== undefined && type[key] !== null) {\n setValue(key, type[key]);\n if (key === \"miniute\") {\n setValue(\"minute\", type[key]);\n }\n }\n });\n if (type?.emailImageId) {\n setUploadedImageName(translate(\"Attachment uploaded\"));\n }\n }\n }, [type]);\n\n const queryMasterParamJson = watch(\"queryMasterParamJson\");\n const queryCode = watch(\"queryCode\");\n const systemFunctionId = watch(\"systemFunctionId\");\n const functionParams = watch(\"functionParams\");\n const trigerWhen = watch(\"trigerWhen\");\n const notificationTypeId = watch(\"notificationTypeId\");\n const kafkaParameterJson = watch(\"kafkaParameterJson\");\n const formType = watch(\"formType\");\n const template = watch(\"template\");\n\n /**\n * @function setImplicitParameters\n * @async\n * @description Sets implicit parameters based on the selected query master.\n *\n * @param {string} data - The code of the selected query master.\n */\n const setImplicitParameters = async (data) => {\n if (queryMasterParamJson) {\n queryMasterParamJson.forEach((param, index) => {\n setValue(`${param.parameterName}${index}`, \"\");\n\n setValue(`${param.parameterName}${index}isFixed`, false);\n });\n }\n\n let queryMasterParamJsonObj = [];\n\n const queryMaster = queryMasters?.find((master) => master?.code === data);\n if (queryMaster) {\n const params = queryMaster?.params?.split(\",\");\n const uniqueParams = Array.from(new Set(params));\n\n uniqueParams.forEach((param) => {\n queryMasterParamJsonObj.push({ parameterName: param });\n });\n }\n\n setValue(\"queryMasterParamJson\", queryMasterParamJsonObj);\n };\n\n /**\n * @function setFunctionParams\n * @description Sets function parameters based on the selected system function.\n *\n * @param {string} data - The ID of the selected system function.\n */\n const setFunctionParams = (data) => {\n if (functionParams) {\n functionParams.forEach((param, index) => {\n setValue(`${param.parameterName}${index}`, \"\");\n\n setValue(`${param.parameterName}${index}isFixed`, false);\n });\n }\n let functionParams1 = [];\n const systemFunction = systemFunctions.find((func) => func.id === data);\n if (systemFunction) {\n const uniqueParams = Array.from(new Set(systemFunction.parameters));\n uniqueParams.forEach((param) => {\n functionParams1.push(param);\n });\n }\n setValue(\"functionParams\", functionParams1);\n };\n\n /**\n * @function onNotificationTypeChange\n * @description Handles changes in the selected notification type.\n *\n * @param {string} notificationTypeId - The ID of the selected notification type.\n */\n const onNotificationTypeChange = (notificationTypeId) => {\n const notificationType = notificationTypeList.find(\n (type) => type.id === notificationTypeId,\n );\n\n if (notificationType) {\n setValue(\"notificationType\", notificationType);\n setValue(\"template\", notificationType.message);\n setValue(\"heading\", notificationType.heading);\n }\n };\n\n /**\n * @function handleChange\n * @description Updates the value of a field within query or system function parameters.\n *\n * @param {number} index - The index of the parameter configuration to update.\n * @param {string} field - The name of the field to update.\n * @param {*} value - The new value to set.\n */\n const handleChange = (index, field, value) => {\n if (type?.type === \"QUERY\") {\n const newConfigs = [...queryMasterParamJson];\n newConfigs[index][field] = value;\n setValue(\"queryMasterParamJson\", newConfigs);\n }\n if (type?.type === \"SYSTEM_FUNCTION\") {\n const newConfigs = [...functionParams];\n newConfigs[index][field] = value;\n setValue(\"functionParams\", newConfigs);\n }\n if (type?.type === \"KAFKA_SYNC\") {\n const newConfigs = [...kafkaParameterJson];\n newConfigs[index][field] = value;\n setValue(\"kafkaParameterJson\", newConfigs);\n }\n };\n\n /**\n * Updates kafka parameter information based on the selected kafka config.\n * @param {string} selectedFormType - The form_type of the selected kafka config.\n */\n const updateKafkaParameters = (selectedFormType) => {\n const currentParams = getValues(\"kafkaParameterJson\");\n if (currentParams && Array.isArray(currentParams)) {\n currentParams.forEach((param, index) => {\n unregister(`${param.parameterName}${index}`);\n unregister(`${param.parameterName}${index}isFixed`);\n });\n setValue(\"kafkaParameterJson\", [], { shouldValidate: true });\n }\n\n const selectedConfig = kafkaConfigs.find(\n (config) => config.form_type === selectedFormType,\n );\n if (selectedConfig && selectedConfig.param_types) {\n const paramTypes = JSON.parse(selectedConfig.param_types);\n const params = Object.keys(paramTypes).map((key) => {\n return {\n parameterName: key,\n mappingValue: \"\",\n isFixed: false,\n };\n });\n setValue(\"kafkaParameterJson\", params, { shouldValidate: true });\n } else {\n setValue(\"kafkaParameterJson\", [], { shouldValidate: true });\n }\n };\n\n /**\n * @function loadInitialState\n * @async\n * @description Loads the initial state by retrieving necessary data based on the selected type.\n */\n const loadInitialState = async () => {\n try {\n if (type?.type === \"QUERY\") {\n const res = await retrieveAllConfigured(true);\n\n setQueryMasters(res?.data);\n }\n if (type?.type === \"SYSTEM_FUNCTION\") {\n let dto = {\n code: \"system_function_retrieve_all\",\n parameters: {},\n };\n const res = await execute(dto);\n const data = res?.data?.result.map((systemFunction) => {\n systemFunction.parameters = JSON.parse(systemFunction.parameters);\n return systemFunction;\n });\n setSystemFunctions(data);\n }\n if (isPushAction(type?.type)) {\n const res = await getNotificationTypeList();\n setnotificationTypeList(res?.data);\n }\n if (type?.type === \"PUSH_NOTIFICATION_V2\") {\n const res = await execute({\n code: \"retrieve_system_configuration_by_key\",\n parameters: { key: \"PUSH_NOTIFICATION_RECIPIENT_TYPES\" },\n });\n let recipientTypes = [];\n try {\n recipientTypes = JSON.parse(res?.data?.result?.[0]?.value || \"[]\");\n } catch {\n recipientTypes = [];\n }\n setRecipientTypeOptions(\n (recipientTypes || []).map((recipientType) => ({\n value: recipientType?.code,\n label: recipientType?.code,\n })),\n );\n }\n if (type?.type === \"KAFKA_SYNC\") {\n const res = await execute({\n code: \"retrieve_all_kafka_configs\",\n parameters: {},\n });\n\n setKafkaConfigs(res?.data?.result || []);\n }\n } catch {\n showToast({\n message: \"Could not load the options for this action. Please try again.\",\n type: \"error\",\n });\n }\n };\n const close = () => {\n trackEvent(\"conversion_event\", {\n form: formRef.current,\n form_name: \"Add Other Type Configuration\",\n submit: submitRef.current,\n }); // Use the current ref value\n\n handleClose();\n };\n /**\n * @function onInvalid\n * @description Marks that the first field with a validation error should be focused\n * once the errors have rendered (react-hook-form calls this before it renders them).\n */\n const onInvalid = () => {\n focusErrorRef.current = true;\n };\n /**\n * @function onSubmit\n * @description Handles the form submission and prepares data for the handleClick function.\n *\n * @param {Object} data - The submitted form data.\n */\n\n const onSubmit = (data) => {\n data = JSON.parse(JSON.stringify(data));\n data.minute = Number(data.minute || 0);\n data.miniute = Number(data.minute || 0);\n data.type = type?.type;\n if (type.type === \"SMS\") {\n data.smsConfigJson = {\n mobileNumberFieldName: data.mobileNumberFieldName,\n isPriority: data.isPriority,\n isSmsTypeFixed: data.isSmsTypeFixed,\n smsTypeField: data.smsTypeField,\n };\n delete data.mobileNumberFieldName;\n delete data.isPriority;\n delete data.isSmsTypeFixed;\n delete data.smsTypeField;\n }\n if (type.type === \"PUSH_NOTIFICATION\") {\n data.pushNotificationConfigJson = {\n notificationTypeId: data.notificationTypeId,\n userFieldName: data.userFieldName,\n heading: data.heading,\n template: data.template,\n };\n delete data.notificationTypeId;\n delete data.userFieldName;\n delete data.heading;\n delete data.template;\n }\n if (type.type === \"PUSH_NOTIFICATION_V2\") {\n data.pushNotificationConfigJson = {\n notificationTypeId: data.notificationTypeId,\n userFieldName: data.userFieldName,\n recipientType: data.recipientType,\n heading: data.heading,\n template: data.template,\n };\n delete data.notificationTypeId;\n delete data.userFieldName;\n delete data.recipientType;\n delete data.heading;\n delete data.template;\n }\n if (type.type === \"KAFKA_SYNC\") {\n data.kafkaConfigJson = {\n formType: data.formType,\n kafkaParameterJson: data.kafkaParameterJson,\n };\n }\n queryMasterParamJson?.forEach((param, index) => {\n delete data[`${param?.parameterName}${index}`];\n delete data[`${param?.parameterName}${index}isFixed`];\n });\n functionParams?.forEach((param, index) => {\n delete data[`${param?.parameterName}${index}`];\n delete data[`${param?.parameterName}${index}isFixed`];\n });\n kafkaParameterJson?.forEach((param, index) => {\n delete data[`${param?.parameterName}${index}`];\n delete data[`${param?.parameterName}${index}isFixed`];\n });\n handleClick(data); // Pass the form data to the handleClick function\n submitRef.current = true;\n close();\n setUploadedImageName(\"\");\n reset(); // Close the modal after submitting\n };\n\n const queryOptions = useMemo(\n () =>\n (queryMasters || []).map((master) => ({\n value: master?.code,\n label: master?.code,\n })),\n [queryMasters],\n );\n\n const systemFunctionOptions = useMemo(\n () =>\n (systemFunctions || []).map((data) => ({\n value: data?.id,\n label: `${data?.name} (${data?.className})`,\n })),\n [systemFunctions],\n );\n\n const notificationTypeOptions = useMemo(\n () =>\n (notificationTypeList || []).map((data) => ({\n value: data?.id,\n label: data?.type,\n })),\n [notificationTypeList],\n );\n\n const kafkaConfigOptions = useMemo(\n () =>\n (kafkaConfigs || []).map((config) => ({\n value: config.form_type,\n label: config.form_type,\n })),\n [kafkaConfigs],\n );\n\n const actionLabel = translate(labelOf(ACTION_TYPES, type?.type));\n\n return (\n <Dialog\n data-testid=\"othertypeeventconfigmodal-modal\"\n open={open}\n fullWidth\n maxWidth=\"md\"\n onClose={() => {\n close();\n reset();\n }}\n >\n <DialogTitle\n sx={{\n display: \"flex\",\n alignItems: \"flex-start\",\n justifyContent: \"space-between\",\n gap: 2,\n pt: 2,\n pb: 3,\n borderBottom: \"1px solid\",\n borderColor: \"divider\",\n }}\n data-testid=\"othertypeeventconfigmodal-modal-header\"\n >\n <Box>\n <Typography\n variant=\"subtitle1\"\n component=\"span\"\n sx={{ fontWeight: 700, display: \"block\" }}\n >\n {translate(\"Add\")} {actionLabel} {translate(\"Configuration\")}\n </Typography>\n <Typography variant=\"body2\" color=\"text.secondary\">\n {translate(\n \"This action runs for every row the query returns that matches the condition.\",\n )}\n </Typography>\n </Box>\n <IconButton\n size=\"small\"\n onClick={() => {\n close();\n reset();\n }}\n aria-label={translate(\"Close\")}\n data-testid=\"othertypeeventconfigmodal-close-button\"\n >\n <FontAwesomeIcons iconName=\"faXmark\" />\n </IconButton>\n </DialogTitle>\n\n <Box\n component=\"form\"\n onSubmit={handleSubmit(onSubmit, onInvalid)}\n ref={formRef}\n data-testid=\"othertypeeventconfigmodal-form\"\n sx={{\n display: \"flex\",\n flexDirection: \"column\",\n minHeight: 0,\n overflow: \"hidden\",\n }}\n >\n <DialogContent\n // MUI zeroes a DialogContent's top padding when it directly follows\n // a DialogTitle; this selector has the specificity to put it back.\n sx={{ \"&.MuiDialogContent-root\": { pt: 3 } }}\n >\n <Box sx={{ display: \"flex\", flexDirection: \"column\", gap: 3 }}>\n <ImplicitParams\n params={type?.implicitParam}\n translate={translate}\n label={translate(\"Available Implicit Parameters\")}\n />\n\n {type?.type === \"EXCEPTION\" && (\n <Box sx={{ display: \"flex\", flexDirection: \"column\", gap: 2 }}>\n <Box data-testid=\"othertypeeventconfigmodal-exceptionType\">\n <FieldLabel required>\n {translate(\"Exception\")} {translate(\"Type\")}\n </FieldLabel>\n <CustomDropdown\n control={control}\n name=\"excetionTypes\"\n options={EXCEPTION_TYPES.map((option) => ({\n value: option.value,\n label: translate(option.label),\n }))}\n displayName=\"label\"\n optionValue=\"value\"\n errors={errors}\n dataTestId=\"othertypeeventconfigmodal-excetionTypes-select\"\n />\n </Box>\n <Box data-testid=\"othertypeeventconfigmodal-exceptionMessage\">\n <FieldLabel\n hint={translate(\"Shown to whoever looks at the failed run\")}\n >\n {translate(\"Message\")}\n </FieldLabel>\n <CustomTextArea\n control={control}\n id=\"exceptionMessage\"\n name=\"exceptionMessage\"\n errors={errors}\n label=\"\"\n minRows={4}\n data-testid=\"othertypeeventconfigmodal-exceptionMessage-customtextarea\"\n />\n </Box>\n </Box>\n )}\n\n {type?.type === \"SMS\" && (\n <Box sx={{ display: \"flex\", flexDirection: \"column\", gap: 2 }}>\n <Box data-testid=\"othertypeeventconfigmodal-mobileNumberFieldName\">\n <FieldLabel required>\n {translate(\"SMS\")} {translate(\"Phone number\")}{\" \"}\n {translate(\"Field\")} {translate(\"Name\")}\n </FieldLabel>\n <CustomTextField\n control={control}\n id=\"mobileNumberFieldName\"\n name=\"mobileNumberFieldName\"\n errors={errors}\n label=\"\"\n size=\"small\"\n dataTestId=\"othertypeeventconfigmodal-mobileNumberFieldName-textfield\"\n />\n </Box>\n <Box data-testid=\"othertypeeventconfigmodal-smsTypeField\">\n <Box\n sx={{\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n gap: 2,\n flexWrap: \"wrap\",\n }}\n >\n <FieldLabel required>\n {translate(\"SMS\")} {translate(\"Type\")}{\" \"}\n {translate(\"Field\")} {translate(\"Value\")}\n </FieldLabel>\n <Box sx={{ display: \"flex\", gap: 1, flexWrap: \"wrap\" }}>\n <Controller\n control={control}\n name=\"isPriority\"\n defaultValue={false}\n render={({ field }) => (\n <FormControlLabel\n sx={{ mr: 0 }}\n control={\n <Checkbox\n size=\"small\"\n checked={Boolean(field.value)}\n onChange={(e) => field.onChange(e.target.checked)}\n data-testid=\"othertypeeventconfigmodal-isPriority-checkbox\"\n />\n }\n label={\n <Typography variant=\"body2\">\n {translate(\"Is Priority\")}\n </Typography>\n }\n />\n )}\n />\n <Controller\n control={control}\n name=\"isSmsTypeFixed\"\n defaultValue={false}\n render={({ field }) => (\n <FormControlLabel\n sx={{ mr: 0 }}\n control={\n <Checkbox\n size=\"small\"\n checked={Boolean(field.value)}\n onChange={(e) => field.onChange(e.target.checked)}\n data-testid=\"othertypeeventconfigmodal-isSmsTypeFixed-checkbox\"\n />\n }\n label={\n <Typography variant=\"body2\">\n {translate(\"Is Fixed Value\")}\n </Typography>\n }\n />\n )}\n />\n </Box>\n </Box>\n <CustomTextField\n control={control}\n id=\"smsTypeField\"\n name=\"smsTypeField\"\n errors={errors}\n label=\"\"\n size=\"small\"\n dataTestId=\"othertypeeventconfigmodal-smsTypeField-textfield\"\n />\n </Box>\n </Box>\n )}\n\n {type?.type === \"EMAIL\" && (\n <Box sx={{ display: \"flex\", flexDirection: \"column\", gap: 2 }}>\n <Grid container spacing={2} alignItems=\"flex-start\">\n <Grid\n size={{ xs: 12, md: 6 }}\n data-testid=\"othertypeeventconfigmodal-emailIdField\"\n >\n <FieldLabel required>\n {translate(\"Email\")} {translate(\"Id\")}{\" \"}\n {translate(\"Field\")} {translate(\"Value\")}\n </FieldLabel>\n <CustomTextField\n control={control}\n id=\"baseDateFieldName\"\n name=\"baseDateFieldName\"\n errors={errors}\n label=\"\"\n size=\"small\"\n dataTestId=\"othertypeeventconfigmodal-baseDateFieldName-textfield\"\n />\n </Grid>\n <Grid\n size={{ xs: 12, md: 6 }}\n data-testid=\"othertypeeventconfigmodal-emailSubjectField\"\n >\n <FieldLabel required>\n {translate(\"Email\")} {translate(\"Subject\")}\n </FieldLabel>\n <CustomTextField\n control={control}\n id=\"emailSubject\"\n name=\"emailSubject\"\n errors={errors}\n label=\"\"\n size=\"small\"\n dataTestId=\"othertypeeventconfigmodal-emailSubject-textfield\"\n />\n </Grid>\n </Grid>\n\n <Box data-testid=\"othertypeeventconfigmodal-emailImage\">\n <FieldLabel\n hint={translate(\"Image or PDF, max 5MB\")}\n >\n {translate(\"Email Attachment\")}\n </FieldLabel>\n <Box sx={{ display: \"flex\", alignItems: \"center\", gap: 1.5, flexWrap: \"wrap\" }}>\n <Button\n component=\"label\"\n variant=\"outlined\"\n size=\"small\"\n startIcon={\n uploadingImage ? (\n <CircularProgress size={14} />\n ) : (\n <FontAwesomeIcons iconName=\"faCloudArrowUp\" />\n )\n }\n disabled={uploadingImage}\n data-testid=\"othertypeeventconfigmodal-emailImage-upload-button\"\n >\n {translate(\n uploadingImage ? \"Uploading...\" : \"Upload Attachment\",\n )}\n <input\n ref={imageInputRef}\n type=\"file\"\n hidden\n accept=\"image/jpeg,image/png,image/gif,image/webp,application/pdf\"\n onChange={async (e) => {\n const file = e.target.files?.[0];\n if (!file) return;\n if (file.size > MAX_EMAIL_ATTACHMENT_SIZE_BYTES) {\n showToast({\n message: translate(\n \"File size must not exceed 5MB\",\n ),\n type: \"error\",\n });\n if (imageInputRef.current)\n imageInputRef.current.value = \"\";\n return;\n }\n try {\n setUploadingImage(true);\n const { data } = await uploadDocument(\n file,\n \"EVENTS\",\n );\n setValue(\"emailImageId\", data.id);\n setUploadedImageName(\n data.actualFileName || data.fileName || file.name,\n );\n if (imageInputRef.current)\n imageInputRef.current.value = \"\";\n } catch (err) {\n console.error(\n \"Error uploading email attachment\",\n err?.response?.data || err,\n );\n showToast({\n message:\n \"Could not upload that attachment. Please try again.\",\n type: \"error\",\n });\n } finally {\n setUploadingImage(false);\n }\n }}\n />\n </Button>\n {uploadedImageName && (\n <Box sx={{ display: \"flex\", alignItems: \"center\", gap: 1 }}>\n <Typography variant=\"caption\" color=\"text.secondary\">\n {uploadedImageName}\n </Typography>\n <IconButton\n size=\"small\"\n color=\"error\"\n aria-label={translate(\"Remove attachment\")}\n onClick={() => {\n setValue(\"emailImageId\", null);\n setUploadedImageName(\"\");\n }}\n data-testid=\"othertypeeventconfigmodal-emailImage-remove-button\"\n >\n <FontAwesomeIcons iconName=\"faTrash\" size=\"sm\" />\n </IconButton>\n </Box>\n )}\n </Box>\n </Box>\n\n <Box data-testid=\"othertypeeventconfigmodal-template\">\n <FieldLabel\n hint={translate(\n \"Use the </> Source button in the toolbar to view or edit the raw HTML of this email\",\n )}\n >\n {translate(\"Template\")}\n </FieldLabel>\n <Box\n sx={{\n borderRadius: (t) => `${t.shape.borderRadius}px`,\n overflow: \"hidden\",\n border: \"1px solid\",\n borderColor: \"divider\",\n // This targets the actual writing area\n \"& .ck-editor__main > .ck-editor__editable\": {\n backgroundColor: `${theme.palette.background.paper} !important`,\n color: `${theme.palette.text.primary} !important`,\n minHeight: \"200px\",\n \"&.ck-focused\": {\n borderColor: `${theme.palette.primary.main} !important`,\n },\n },\n // This targets the toolbar\n \"& .ck.ck-toolbar\": {\n backgroundColor: isDark\n ? `${theme.palette.background.default} !important`\n : \"var(--color-gray4) !important\",\n borderColor: `${theme.palette.divider} !important`,\n },\n // This targets the buttons/icons inside the toolbar\n \"& .ck.ck-toolbar .ck-button\": {\n color: `${theme.palette.text.primary} !important`,\n cursor: \"pointer\",\n \"&:hover\": {\n backgroundColor: `${theme.palette.action.hover} !important`,\n },\n \"&.ck-on\": {\n backgroundColor: `${theme.palette.action.selected} !important`,\n color: `${theme.palette.primary.main} !important`,\n },\n },\n // This targets dropdowns and labels\n \"& .ck.ck-label\": {\n color: `${theme.palette.text.secondary} !important`,\n },\n }}\n >\n <CKEditor\n editor={Editor}\n data={getValues(\"template\") || \"\"}\n config={{\n toolbar: [\n \"heading\",\n \"|\",\n \"bold\",\n \"italic\",\n \"underline\",\n \"link\",\n \"|\",\n \"cut\",\n \"copy\",\n \"|\",\n \"bulletedList\",\n \"numberedList\",\n \"|\",\n \"blockQuote\",\n \"|\",\n \"undo\",\n \"redo\",\n \"|\",\n \"sourceEditing\",\n ],\n }}\n onChange={(_, editor) => {\n const data = editor.getData();\n setValue(\"template\", data);\n }}\n data-testid=\"othertypeeventconfigmodal-template-ckeditor\"\n />\n </Box>\n </Box>\n </Box>\n )}\n\n {type?.type === \"QUERY\" && (\n <Box data-testid=\"othertypeeventconfigmodal-querySelect\">\n <FieldLabel\n hint={translate(\n \"Pick a configured query, or leave this empty to write one below.\",\n )}\n >\n {translate(\"Query\")}\n </FieldLabel>\n <CustomDropdown\n control={control}\n name=\"queryCode\"\n options={queryOptions}\n displayName=\"label\"\n optionValue=\"value\"\n errors={errors}\n isNullSelectDisabled={false}\n placeholder={translate(\"Select\")}\n isSortedOptions\n onChange={(event) =>\n setImplicitParameters(event?.target?.value)\n }\n dataTestId=\"othertypeeventconfigmodal-queryCode-select\"\n />\n </Box>\n )}\n\n {queryMasterParamJson && type?.type === \"QUERY\" && queryCode && (\n <Box sx={{ display: \"flex\", flexDirection: \"column\", gap: 1.5 }}>\n <SectionHeading\n hint={translate(\n \"Map each query parameter to a placeholder from the list above, or tick Is Fixed Value to type a constant.\",\n )}\n >\n {translate(\"Parameters\")}\n </SectionHeading>\n {queryMasterParamJson.map((param, index) => (\n <ParameterRow\n key={index + 1}\n param={param}\n index={index}\n control={control}\n translate={translate}\n setValue={setValue}\n handleChange={handleChange}\n testIdPrefix=\"othertypeeventconfigmodal-\"\n valueTestIdSuffix=\"-textfiled\"\n checkboxTestId=\"othertypeeventconfigmodal-isFixed-checkbox\"\n />\n ))}\n </Box>\n )}\n\n {type?.type === \"SYSTEM_FUNCTION\" && (\n <Box data-testid=\"othertypeeventconfigmodal-systemFunction\">\n <FieldLabel>{translate(\"System Function\")}</FieldLabel>\n <CustomDropdown\n control={control}\n name=\"systemFunctionId\"\n options={systemFunctionOptions}\n displayName=\"label\"\n optionValue=\"value\"\n errors={errors}\n isSortedOptions\n onChange={(event) => setFunctionParams(event?.target?.value)}\n dataTestId=\"othertypeeventconfigmodal-systemFunctionId-select\"\n />\n </Box>\n )}\n\n {functionParams &&\n type?.type === \"SYSTEM_FUNCTION\" &&\n systemFunctionId && (\n <Box sx={{ display: \"flex\", flexDirection: \"column\", gap: 1.5 }}>\n <SectionHeading>{translate(\"Parameters\")}</SectionHeading>\n {functionParams.map((param, index) => (\n <ParameterRow\n key={index + 1}\n param={param}\n index={index}\n control={control}\n translate={translate}\n setValue={setValue}\n handleChange={handleChange}\n testIdPrefix=\"othertypeeventconfigmodal-\"\n valueTestIdSuffix=\"-textfiled\"\n checkboxTestId=\"othertypeeventconfigmodal-systemFunctionId-checkbox\"\n />\n ))}\n </Box>\n )}\n\n {type?.type === \"PUSH_NOTIFICATION\" && (\n <Box sx={{ display: \"flex\", flexDirection: \"column\", gap: 2 }}>\n <Grid container spacing={2} alignItems=\"flex-start\">\n <Grid\n size={{ xs: 12, md: 6 }}\n data-testid=\"othertypeeventconfigmodal-userIdFieldName\"\n >\n <FieldLabel required>\n {translate(\"User\")} {translate(\"Id\")}{\" \"}\n {translate(\"Field\")} {translate(\"Name\")}\n </FieldLabel>\n <CustomTextField\n control={control}\n id=\"userFieldName\"\n name=\"userFieldName\"\n errors={errors}\n label=\"\"\n size=\"small\"\n dataTestId=\"othertypeeventconfigmodal-userFieldName-textfield\"\n />\n </Grid>\n <Grid\n size={{ xs: 12, md: 6 }}\n data-testid=\"othertypeeventconfigmodal-notificationType\"\n >\n <FieldLabel required>\n {translate(\"Notification\")} {translate(\"Type\")}\n </FieldLabel>\n <CustomDropdown\n control={control}\n name=\"notificationTypeId\"\n options={notificationTypeOptions}\n displayName=\"label\"\n optionValue=\"value\"\n errors={errors}\n onChange={(event) =>\n onNotificationTypeChange(event?.target?.value)\n }\n dataTestId=\"othertypeeventconfigmodal-notificationtypeid-select\"\n />\n </Grid>\n </Grid>\n </Box>\n )}\n\n {type?.type === \"PUSH_NOTIFICATION_V2\" && (\n <Box sx={{ display: \"flex\", flexDirection: \"column\", gap: 2 }}>\n <Grid container spacing={2} alignItems=\"flex-start\">\n <Grid\n size={{ xs: 12, md: 6 }}\n data-testid=\"othertypeeventconfigmodal-recipientIdColumn\"\n >\n <FieldLabel required>\n {translate(\"Recipient Id Column\")}\n </FieldLabel>\n <CustomTextField\n control={control}\n id=\"userFieldName\"\n name=\"userFieldName\"\n errors={errors}\n label=\"\"\n size=\"small\"\n dataTestId=\"othertypeeventconfigmodal-recipientIdColumn-textfield\"\n />\n <FieldHelp>\n {translate(\n \"Enter the column name without ##, e.g. user_id for #user_id#\",\n )}\n </FieldHelp>\n </Grid>\n <Grid\n size={{ xs: 12, md: 6 }}\n data-testid=\"othertypeeventconfigmodal-recipientType\"\n >\n <FieldLabel required>\n {translate(\"Recipient Type\")}\n </FieldLabel>\n <CustomDropdown\n control={control}\n name=\"recipientType\"\n options={recipientTypeOptions}\n displayName=\"label\"\n optionValue=\"value\"\n errors={errors}\n dataTestId=\"othertypeeventconfigmodal-recipientType-select\"\n />\n </Grid>\n <Grid\n size={{ xs: 12, md: 6 }}\n data-testid=\"othertypeeventconfigmodal-notificationTypeV2\"\n >\n <FieldLabel required>\n {translate(\"Notification\")} {translate(\"Type\")}\n </FieldLabel>\n <CustomDropdown\n control={control}\n name=\"notificationTypeId\"\n options={notificationTypeOptions}\n displayName=\"label\"\n optionValue=\"value\"\n errors={errors}\n onChange={(event) =>\n onNotificationTypeChange(event?.target?.value)\n }\n dataTestId=\"othertypeeventconfigmodal-notificationtypeidv2-select\"\n />\n </Grid>\n </Grid>\n </Box>\n )}\n\n {isPushAction(type?.type) && notificationTypeId && (\n <Box sx={{ display: \"flex\", flexDirection: \"column\", gap: 2 }}>\n <Box>\n <FieldLabel required>\n {translate(\"Notification\")} {translate(\"Heading\")}\n </FieldLabel>\n <CustomTextField\n control={control}\n id=\"heading\"\n name=\"heading\"\n errors={errors}\n label=\"\"\n size=\"small\"\n dataTestId=\"othertypeeventconfigmodal-heading-textfield\"\n />\n </Box>\n <Box>\n <FieldLabel>{translate(\"Template\")}</FieldLabel>\n <CustomTextArea\n control={control}\n id=\"template\"\n name=\"template\"\n errors={errors}\n label=\"\"\n minRows={4}\n data-testid=\"othertypeeventconfigmodal-template-customtextarea\"\n />\n </Box>\n </Box>\n )}\n\n {type?.type === \"KAFKA_SYNC\" && (\n <Box data-testid=\"othertypeeventconfigmodal-kafkaConfig\">\n <FieldLabel required>{translate(\"Kafka Config\")}</FieldLabel>\n <CustomDropdown\n control={control}\n name=\"formType\"\n options={kafkaConfigOptions}\n displayName=\"label\"\n optionValue=\"value\"\n errors={errors}\n isNullSelectDisabled={false}\n placeholder={translate(\"Select\")}\n onChange={(event) =>\n updateKafkaParameters(event?.target?.value)\n }\n dataTestId=\"othertypeeventconfigmodal-kafkaConfig-select\"\n />\n </Box>\n )}\n\n {kafkaParameterJson &&\n type?.type === \"KAFKA_SYNC\" &&\n formType &&\n kafkaParameterJson.length > 0 && (\n <Box sx={{ display: \"flex\", flexDirection: \"column\", gap: 1.5 }}>\n <SectionHeading>{translate(\"Parameters\")}</SectionHeading>\n {kafkaParameterJson.map((param, index) => (\n <ParameterRow\n key={`${formType}-${param?.parameterName}-${index}`}\n param={param}\n index={index}\n control={control}\n translate={translate}\n setValue={setValue}\n handleChange={handleChange}\n testIdPrefix=\"othertypeeventconfigmodal-kafka-\"\n valueTestIdSuffix=\"-textfield\"\n checkboxTestId=\"othertypeeventconfigmodal-kafka-isFixed-checkbox\"\n />\n ))}\n </Box>\n )}\n\n {type?.type == \"QUERY\" && !queryCode && (\n <Box data-testid=\"othertypeeventconfigmodal-queryArea\">\n <FieldLabel>{translate(\"Query\")}</FieldLabel>\n <Box\n sx={{\n overflow: \"hidden\",\n borderRadius: (t) => `${t.shape.borderRadius}px`,\n border: \"1px solid\",\n borderColor: \"divider\",\n }}\n data-testid=\"othertypeeventconfigmodal-template-customtextarea\"\n >\n <PostgresEditor\n height=\"30vh\"\n autoFocus={false}\n defaultValue={template || \"\"}\n onChange={(value) => setValue(\"template\", value)}\n />\n </Box>\n <FieldHelp>\n {translate(\n \"Write the SQL this action runs. Placeholders from the list above are substituted before it executes.\",\n )}\n </FieldHelp>\n </Box>\n )}\n\n {type?.type === \"SMS\" && (\n <Box data-testid=\"othertypeeventconfigmodal-template\">\n <FieldLabel>{translate(\"Template\")}</FieldLabel>\n <CustomTextArea\n control={control}\n id=\"template\"\n name=\"template\"\n label=\"\"\n minRows={4}\n data-testid=\"othertypeeventconfigmodal-template-customtextarea\"\n />\n </Box>\n )}\n\n {type?.type != \"EXCEPTION\" && type?.type != \"SYSTEM_FUNCTION\" && (\n <Box sx={{ display: \"flex\", flexDirection: \"column\", gap: 2 }}>\n <SectionHeading>{translate(\"Timing\")}</SectionHeading>\n <Grid container spacing={2} alignItems=\"flex-start\">\n <Grid\n size={{ xs: 12, md: 6 }}\n data-testid=\"othertypeeventconfigmodal-triggerWhen\"\n >\n <FieldLabel required>\n {translate(\"Trigger\")} {translate(\"When\")}\n </FieldLabel>\n <CustomDropdown\n control={control}\n name=\"trigerWhen\"\n options={ACTION_TRIGGER_WHEN.map((option) => ({\n value: option.value,\n label: translate(option.label),\n }))}\n displayName=\"label\"\n optionValue=\"value\"\n errors={errors}\n isNullSelectDisabled={false}\n placeholder={translate(\"Select\")}\n dataTestId=\"othertypeeventconfigmodal-trigegrwhen-select\"\n />\n </Grid>\n\n {trigerWhen === \"AFTER\" && (\n <>\n <Grid\n size={{ xs: 12, sm: 4, md: 2 }}\n data-testid=\"othertypeeventconfigmodal-dayField\"\n >\n <FieldLabel>{translate(\"Day\")}</FieldLabel>\n <CustomTextField\n control={control}\n id=\"day\"\n name=\"day\"\n errors={errors}\n label=\"\"\n type=\"number\"\n size=\"small\"\n dataTestId=\"othertypeeventconfigmodal-type-textfield\"\n />\n </Grid>\n <Grid\n size={{ xs: 12, sm: 4, md: 2 }}\n data-testid=\"othertypeeventconfigmodal-hourField\"\n >\n <FieldLabel>{translate(\"Hour\")}</FieldLabel>\n <CustomTextField\n control={control}\n id=\"hour\"\n name=\"hour\"\n errors={errors}\n label=\"\"\n type=\"number\"\n size=\"small\"\n dataTestId=\"othertypeeventconfigmodal-type-textfield\"\n />\n </Grid>\n <Grid\n size={{ xs: 12, sm: 4, md: 2 }}\n data-testid=\"othertypeeventconfigmodal-minuteField\"\n >\n <FieldLabel>{translate(\"Minute\")}</FieldLabel>\n <CustomTextField\n control={control}\n id=\"minute\"\n name=\"minute\"\n type=\"number\"\n errors={errors}\n label=\"\"\n size=\"small\"\n dataTestId=\"othertypeeventconfigmodal-type-textfield\"\n />\n </Grid>\n </>\n )}\n </Grid>\n </Box>\n )}\n </Box>\n </DialogContent>\n\n <DialogActions\n sx={{ px: 3, py: 2, borderTop: \"1px solid\", borderColor: \"divider\" }}\n >\n <Button\n variant=\"outlined\"\n color=\"inherit\"\n size=\"small\"\n onClick={() => {\n close();\n reset();\n }}\n data-testid=\"othertypeeventconfigmodal-cancel-button\"\n >\n {translate(\"Cancel\")}\n </Button>\n <Button\n size=\"small\"\n type=\"submit\"\n variant=\"contained\"\n color=\"primary\"\n disabled={isSubmitting}\n data-testid=\"othertypeeventconfigmodal-submit-button\"\n >\n {translate(\"Submit\")}\n </Button>\n </DialogActions>\n </Box>\n </Dialog>\n );\n};\n\nOtherTypeEventConfigModal.propTypes = {\n open: PropTypes.any,\n handleClose: PropTypes.any,\n handleClick: PropTypes.any,\n type: PropTypes.any,\n};\n\nexport default OtherTypeEventConfigModal;\n"],"names":["MAX_EMAIL_ATTACHMENT_SIZE_BYTES","isPushAction","actionType","ParameterRow","param","index","control","translate","setValue","handleChange","testIdPrefix","valueTestIdSuffix","checkboxTestId","jsxs","Box","t","jsx","Typography","Controller","field","FormControlLabel","Checkbox","e","TextField","PropTypes","OtherTypeEventConfigModal","open","handleClose","handleClick","type","theme","useTheme","isDark","formRef","useRef","submitRef","focusErrorRef","trackEvent","useTrackEvent","queryMasters","setQueryMasters","useState","systemFunctions","setSystemFunctions","kafkaConfigs","setKafkaConfigs","useTranslateProvider","notificationTypeList","setnotificationTypeList","recipientTypeOptions","setRecipientTypeOptions","imageInputRef","uploadingImage","setUploadingImage","uploadedImageName","setUploadedImageName","validationSchema","Yup","value","notificationTypeId","handleSubmit","reset","unregister","getValues","watch","errors","isSubmitting","useForm","yupResolver","useEffect","errorField","_a","loadInitialState","key","smsConfigJson","keys","pushNotificationConfigJson","_b","kafkaConfigJson","_c","queryMasterParamJson","queryCode","systemFunctionId","functionParams","trigerWhen","kafkaParameterJson","formType","template","setImplicitParameters","data","queryMasterParamJsonObj","queryMaster","master","params","setFunctionParams","functionParams1","systemFunction","func","onNotificationTypeChange","notificationType","newConfigs","updateKafkaParameters","selectedFormType","currentParams","selectedConfig","config","paramTypes","res","retrieveAllConfigured","execute","getNotificationTypeList","recipientTypes","_d","recipientType","_e","showToast","close","onInvalid","onSubmit","queryOptions","useMemo","systemFunctionOptions","notificationTypeOptions","kafkaConfigOptions","actionLabel","labelOf","ACTION_TYPES","Dialog","DialogTitle","IconButton","FontAwesomeIcons","DialogContent","ImplicitParams","FieldLabel","CustomDropdown","EXCEPTION_TYPES","option","CustomTextArea","CustomTextField","Grid","Button","CircularProgress","file","uploadDocument","err","CKEditor","Editor","_","editor","event","SectionHeading","FieldHelp","PostgresEditor","ACTION_TRIGGER_WHEN","Fragment","DialogActions"],"mappings":"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"}
@@ -1,13 +1,13 @@
1
- import { y as ee, S as te, G as ne, a8 as ae, k as T, a9 as re, a6 as le } from "./ImmunizationConfigurationBase-aUtx0JEe.js";
2
- import { m as oe } from "./constants-DpXnLsAB-D6lN5cjK.js";
1
+ import { D as ee, A as te, G as ae, ae as ne, a as T, af as re, ac as le } from "./ImmunizationConfigurationBase-lKsJZMak.js";
2
+ import { T as oe } from "./constants-BTpJFQe_-CYPZIqQF.js";
3
3
  import { o as y, t as j } from "./format-UOyOu75i-D0GyylyQ.js";
4
4
  import { o as ie, S as se, C as ce } from "./validation-BzlHnL-r-CCJm2utQ.js";
5
5
  import { n as de } from "./useFieldErrors-hDG8ox_x-DbSAzrGo.js";
6
- import { X as me, Y as ue, Z as he, Q as pe, q as ge } from "./PmGuard-BZE-y4In-D_pUm5MP.js";
7
- import { S as ye } from "./MemberProfileCard-D5CgkTdJ-D2NgDJl3.js";
8
- import { useState as x, useMemo as be } from "react";
9
- import { jsxs as n, jsx as e, Fragment as fe } from "react/jsx-runtime";
10
- import { Box as X, Alert as A, Card as M, CardContent as P, Typography as s, LinearProgress as xe, Stack as u, Divider as W, TableContainer as we, Table as De, TableHead as ve, TableRow as G, TableCell as m, TableBody as Ne, Chip as Ce, TextField as B, InputAdornment as Se, Button as Q } from "@mui/material";
6
+ import { Q as me, Z as ue, $ as he, e as pe, Y as ge } from "./PmGuard-BvUUbU80-BpYNaDzl.js";
7
+ import { S as ye } from "./MemberProfileCard-01d_jz3w-DYHtbgMX.js";
8
+ import { useState as x, useMemo as fe } from "react";
9
+ import { jsxs as a, jsx as e, Fragment as be } from "react/jsx-runtime";
10
+ import { Box as Z, Alert as A, Card as M, CardContent as P, Typography as s, LinearProgress as xe, Stack as u, Divider as W, TableContainer as we, Table as De, TableHead as ve, TableRow as G, TableCell as m, TableBody as Ne, Chip as Ce, TextField as B, InputAdornment as Se, Button as Q } from "@mui/material";
11
11
  import { v4 as Ae } from "uuid";
12
12
  import { useParams as Me, useNavigate as Pe } from "react-router-dom";
13
13
  import $e from "@mui/icons-material/SaveRounded";
@@ -20,7 +20,7 @@ function R(o) {
20
20
  }
21
21
  function Qe() {
22
22
  var Y;
23
- let { memberId: o } = Me(), d = Pe(), i = ee((Y = te()) == null ? void 0 : Y.currencyCode), p = me().has("view.manage.productManagement.dues"), [w, N] = x(""), [b, $] = x(""), [k, f] = x(0), [a, I] = x(null), [Z, C] = x(!1), g = de(), J = (/* @__PURE__ */ new Date()).toISOString().substring(0, 10), [r, D] = x({
23
+ let { memberId: o } = Me(), d = Pe(), i = ee((Y = te()) == null ? void 0 : Y.currencyCode), p = me().has("view.manage.productManagement.dues"), [w, N] = x(""), [f, $] = x(""), [k, b] = x(0), [n, I] = x(null), [E, C] = x(!1), g = de(), J = (/* @__PURE__ */ new Date()).toISOString().substring(0, 10), [r, D] = x({
24
24
  id: Ae(),
25
25
  paymentDate: J,
26
26
  paymentMode: "CASH",
@@ -30,11 +30,11 @@ function Qe() {
30
30
  async function K() {
31
31
  var t, h;
32
32
  if (!o) {
33
- I(null), C(!1), f(0);
33
+ I(null), C(!1), b(0);
34
34
  return;
35
35
  }
36
36
  if (!p) {
37
- I(null), f(0), C(!1);
37
+ I(null), b(0), C(!1);
38
38
  return;
39
39
  }
40
40
  C(!0);
@@ -42,7 +42,7 @@ function Qe() {
42
42
  let [l, S] = await Promise.all([re(o).catch(() => null), le().catch(() => [])]);
43
43
  I(l);
44
44
  let H = (S ?? []).find((V) => V.memberId === o);
45
- f(Number(H ? H.totalDue : (l == null ? void 0 : l.totalDue) ?? 0));
45
+ b(Number(H ? H.totalDue : (l == null ? void 0 : l.totalDue) ?? 0));
46
46
  } catch (l) {
47
47
  T({
48
48
  message: ((h = (t = l == null ? void 0 : l.response) == null ? void 0 : t.data) == null ? void 0 : h.message) ?? (l == null ? void 0 : l.message) ?? "Failed to load member dues",
@@ -58,7 +58,7 @@ function Qe() {
58
58
  collectingNow: ""
59
59
  }));
60
60
  }, [o]);
61
- let c = Number((a == null ? void 0 : a.totalDue) ?? 0), O = Number(r.collectingNow || 0), q = Math.min(Math.max(O, 0), c), z = Math.max(c - q, 0), U = R(a == null ? void 0 : a.oldestDueDate), _ = R(a == null ? void 0 : a.lastSaleDate), F = !!o && c > 0 && p, v = be(() => {
61
+ let c = Number((n == null ? void 0 : n.totalDue) ?? 0), O = Number(r.collectingNow || 0), q = Math.min(Math.max(O, 0), c), z = Math.max(c - q, 0), U = R(n == null ? void 0 : n.oldestDueDate), X = R(n == null ? void 0 : n.lastSaleDate), F = !!o && c > 0 && p, v = fe(() => {
62
62
  let t = {
63
63
  member: o ? "" : "No member selected",
64
64
  paymentDate: se(r.paymentDate, {
@@ -74,14 +74,14 @@ function Qe() {
74
74
  r.collectingNow,
75
75
  c
76
76
  ]), L = F && ce(v);
77
- async function E() {
77
+ async function _() {
78
78
  var t, h;
79
79
  if (!L) {
80
80
  g.markAllTouched(), N("Please fix the highlighted fields.");
81
81
  return;
82
82
  }
83
83
  try {
84
- await ae({
84
+ await ne({
85
85
  id: r.id,
86
86
  memberId: o,
87
87
  amount: Number(q.toFixed(2)),
@@ -90,7 +90,7 @@ function Qe() {
90
90
  notes: r.notes || null,
91
91
  allocations: null
92
92
  }), T({
93
- message: b ? `Payment recorded for ${b}. Applied to their oldest sales first.` : "Payment recorded. Applied to the oldest sales first.",
93
+ message: f ? `Payment recorded for ${f}. Applied to their oldest sales first.` : "Payment recorded. Applied to the oldest sales first.",
94
94
  type: "success"
95
95
  }), d("/ui/medplat/manage/pm/payments");
96
96
  } catch (l) {
@@ -101,13 +101,13 @@ function Qe() {
101
101
  });
102
102
  }
103
103
  }
104
- return /* @__PURE__ */ n(X, { children: [/* @__PURE__ */ e(he, {}), /* @__PURE__ */ e(pe, {
104
+ return /* @__PURE__ */ a(Z, { children: [/* @__PURE__ */ e(he, {}), /* @__PURE__ */ e(pe, {
105
105
  perm: "update.manage.productManagement.payment",
106
106
  title: "You don’t have permission to collect payments",
107
- children: /* @__PURE__ */ n(ge, {
107
+ children: /* @__PURE__ */ a(ge, {
108
108
  title: "Collect Payment",
109
109
  subtitle: "Collect payment for what a customer owes. Payments are matched to sales in order received.",
110
- actions: /* @__PURE__ */ n(u, {
110
+ actions: /* @__PURE__ */ a(u, {
111
111
  direction: "row",
112
112
  spacing: 1,
113
113
  children: [/* @__PURE__ */ e(Q, {
@@ -118,7 +118,7 @@ function Qe() {
118
118
  variant: "contained",
119
119
  startIcon: /* @__PURE__ */ e($e, {}),
120
120
  disabled: !L,
121
- onClick: () => void E(),
121
+ onClick: () => void _(),
122
122
  children: "Confirm Collection"
123
123
  })]
124
124
  }),
@@ -138,7 +138,7 @@ function Qe() {
138
138
  borderRadius: 1.5,
139
139
  mb: 2
140
140
  },
141
- children: /* @__PURE__ */ n(P, { children: [/* @__PURE__ */ e(s, {
141
+ children: /* @__PURE__ */ a(P, { children: [/* @__PURE__ */ e(s, {
142
142
  variant: "h6",
143
143
  sx: {
144
144
  fontWeight: 800,
@@ -155,18 +155,18 @@ function Qe() {
155
155
  children: "No member selected"
156
156
  })] })
157
157
  }),
158
- o ? /* @__PURE__ */ n(fe, { children: [
158
+ o ? /* @__PURE__ */ a(be, { children: [
159
159
  /* @__PURE__ */ e(M, {
160
160
  sx: {
161
161
  borderRadius: 1.5,
162
162
  mb: 2
163
163
  },
164
- children: /* @__PURE__ */ n(P, { children: [Z ? /* @__PURE__ */ e(xe, { sx: { mb: 2 } }) : null, /* @__PURE__ */ e(ke, {
164
+ children: /* @__PURE__ */ a(P, { children: [E ? /* @__PURE__ */ e(xe, { sx: { mb: 2 } }) : null, /* @__PURE__ */ e(ke, {
165
165
  total: c,
166
166
  oldestDueDays: U,
167
- oldestDueDate: a == null ? void 0 : a.oldestDueDate,
168
- lastSaleDays: _,
169
- lastSaleDate: a == null ? void 0 : a.lastSaleDate,
167
+ oldestDueDate: n == null ? void 0 : n.oldestDueDate,
168
+ lastSaleDays: X,
169
+ lastSaleDate: n == null ? void 0 : n.lastSaleDate,
170
170
  currency: i
171
171
  })] })
172
172
  }),
@@ -175,8 +175,8 @@ function Qe() {
175
175
  borderRadius: 1.5,
176
176
  mb: 2
177
177
  },
178
- children: /* @__PURE__ */ n(P, { children: [
179
- /* @__PURE__ */ n(u, {
178
+ children: /* @__PURE__ */ a(P, { children: [
179
+ /* @__PURE__ */ a(u, {
180
180
  direction: "row",
181
181
  justifyContent: "space-between",
182
182
  alignItems: "center",
@@ -185,13 +185,13 @@ function Qe() {
185
185
  variant: "h6",
186
186
  sx: { fontWeight: 800 },
187
187
  children: "Due Breakdown"
188
- }), /* @__PURE__ */ n(s, {
188
+ }), /* @__PURE__ */ a(s, {
189
189
  variant: "caption",
190
190
  color: "text.secondary",
191
191
  children: [
192
- ((a == null ? void 0 : a.openSales) ?? []).length,
192
+ ((n == null ? void 0 : n.openSales) ?? []).length,
193
193
  " ",
194
- ((a == null ? void 0 : a.openSales) ?? []).length === 1 ? "open sale" : "open sales",
194
+ ((n == null ? void 0 : n.openSales) ?? []).length === 1 ? "open sale" : "open sales",
195
195
  " ",
196
196
  "· oldest first"
197
197
  ]
@@ -202,9 +202,9 @@ function Qe() {
202
202
  severity: "success",
203
203
  sx: { mt: 1 },
204
204
  children: "No outstanding dues for this member — nothing to collect."
205
- }) : /* @__PURE__ */ e(we, { children: /* @__PURE__ */ n(De, {
205
+ }) : /* @__PURE__ */ e(we, { children: /* @__PURE__ */ a(De, {
206
206
  size: "small",
207
- children: [/* @__PURE__ */ e(ve, { children: /* @__PURE__ */ n(G, { children: [
207
+ children: [/* @__PURE__ */ e(ve, { children: /* @__PURE__ */ a(G, { children: [
208
208
  /* @__PURE__ */ e(m, {
209
209
  sx: { fontWeight: 800 },
210
210
  children: "Sale Date"
@@ -228,17 +228,17 @@ function Qe() {
228
228
  align: "right",
229
229
  children: "Due"
230
230
  })
231
- ] }) }), /* @__PURE__ */ e(Ne, { children: ((a == null ? void 0 : a.openSales) ?? []).map((t) => /* @__PURE__ */ n(G, {
231
+ ] }) }), /* @__PURE__ */ e(Ne, { children: ((n == null ? void 0 : n.openSales) ?? []).map((t) => /* @__PURE__ */ a(G, {
232
232
  hover: !0,
233
233
  children: [
234
- /* @__PURE__ */ e(m, { children: /* @__PURE__ */ n(u, {
234
+ /* @__PURE__ */ e(m, { children: /* @__PURE__ */ a(u, {
235
235
  direction: "row",
236
236
  spacing: 1,
237
237
  alignItems: "baseline",
238
238
  children: [/* @__PURE__ */ e(s, {
239
239
  variant: "body2",
240
240
  children: j(t.saleDate)
241
- }), /* @__PURE__ */ n(s, {
241
+ }), /* @__PURE__ */ a(s, {
242
242
  variant: "caption",
243
243
  color: "text.secondary",
244
244
  children: [
@@ -262,12 +262,12 @@ function Qe() {
262
262
  }
263
263
  }, h.id))
264
264
  }) }),
265
- /* @__PURE__ */ n(m, {
265
+ /* @__PURE__ */ a(m, {
266
266
  align: "right",
267
267
  sx: { fontVariantNumeric: "tabular-nums" },
268
268
  children: [i, y(t.totalAmount)]
269
269
  }),
270
- /* @__PURE__ */ n(m, {
270
+ /* @__PURE__ */ a(m, {
271
271
  align: "right",
272
272
  sx: {
273
273
  fontVariantNumeric: "tabular-nums",
@@ -275,7 +275,7 @@ function Qe() {
275
275
  },
276
276
  children: [i, y(t.paidAmount)]
277
277
  }),
278
- /* @__PURE__ */ n(m, {
278
+ /* @__PURE__ */ a(m, {
279
279
  align: "right",
280
280
  sx: {
281
281
  fontVariantNumeric: "tabular-nums",
@@ -295,8 +295,8 @@ function Qe() {
295
295
  bgcolor: "grey.50",
296
296
  mb: 3
297
297
  },
298
- children: /* @__PURE__ */ n(P, { children: [
299
- /* @__PURE__ */ n(u, {
298
+ children: /* @__PURE__ */ a(P, { children: [
299
+ /* @__PURE__ */ a(u, {
300
300
  direction: {
301
301
  xs: "column",
302
302
  md: "row"
@@ -319,7 +319,7 @@ function Qe() {
319
319
  error: g.show("paymentDate") && !!v.paymentDate,
320
320
  helperText: g.show("paymentDate") ? v.paymentDate : ""
321
321
  }),
322
- /* @__PURE__ */ e(ne, {
322
+ /* @__PURE__ */ e(ae, {
323
323
  label: "Payment Mode",
324
324
  value: r.paymentMode,
325
325
  onChange: (t) => D({
@@ -342,10 +342,10 @@ function Qe() {
342
342
  ]
343
343
  }),
344
344
  /* @__PURE__ */ e(W, { sx: { my: 2 } }),
345
- /* @__PURE__ */ n(u, {
345
+ /* @__PURE__ */ a(u, {
346
346
  spacing: 1.25,
347
347
  children: [
348
- /* @__PURE__ */ n(u, {
348
+ /* @__PURE__ */ a(u, {
349
349
  direction: "row",
350
350
  justifyContent: "space-between",
351
351
  alignItems: "baseline",
@@ -353,7 +353,7 @@ function Qe() {
353
353
  variant: "body2",
354
354
  color: "text.secondary",
355
355
  children: "Total Due"
356
- }), /* @__PURE__ */ n(s, {
356
+ }), /* @__PURE__ */ a(s, {
357
357
  variant: "h5",
358
358
  sx: {
359
359
  fontWeight: 800,
@@ -363,7 +363,7 @@ function Qe() {
363
363
  children: [i, y(c)]
364
364
  })]
365
365
  }),
366
- /* @__PURE__ */ n(u, {
366
+ /* @__PURE__ */ a(u, {
367
367
  direction: "row",
368
368
  justifyContent: "space-between",
369
369
  alignItems: "center",
@@ -403,7 +403,7 @@ function Qe() {
403
403
  })]
404
404
  }),
405
405
  /* @__PURE__ */ e(W, { sx: { my: 0.5 } }),
406
- /* @__PURE__ */ n(u, {
406
+ /* @__PURE__ */ a(u, {
407
407
  direction: "row",
408
408
  justifyContent: "space-between",
409
409
  alignItems: "baseline",
@@ -411,7 +411,7 @@ function Qe() {
411
411
  variant: "body2",
412
412
  color: "text.secondary",
413
413
  children: "Remaining Due After"
414
- }), /* @__PURE__ */ n(s, {
414
+ }), /* @__PURE__ */ a(s, {
415
415
  variant: "h5",
416
416
  sx: {
417
417
  fontWeight: 800,
@@ -431,7 +431,7 @@ function Qe() {
431
431
  })] });
432
432
  }
433
433
  function ke({ total: o, oldestDueDays: d, oldestDueDate: i, lastSaleDays: p, lastSaleDate: w, currency: N = "₹" }) {
434
- let b = ($, k, f, a) => /* @__PURE__ */ n(X, {
434
+ let f = ($, k, b, n) => /* @__PURE__ */ a(Z, {
435
435
  sx: {
436
436
  flex: 1,
437
437
  p: 1.5,
@@ -451,32 +451,32 @@ function ke({ total: o, oldestDueDays: d, oldestDueDate: i, lastSaleDays: p, las
451
451
  variant: "h6",
452
452
  sx: {
453
453
  fontWeight: 800,
454
- color: a,
454
+ color: n,
455
455
  fontVariantNumeric: "tabular-nums"
456
456
  },
457
457
  children: k
458
458
  }),
459
- f ? /* @__PURE__ */ e(s, {
459
+ b ? /* @__PURE__ */ e(s, {
460
460
  variant: "caption",
461
461
  color: "text.secondary",
462
- children: f
462
+ children: b
463
463
  }) : null
464
464
  ]
465
465
  });
466
- return /* @__PURE__ */ n(u, {
466
+ return /* @__PURE__ */ a(u, {
467
467
  direction: {
468
468
  xs: "column",
469
469
  md: "row"
470
470
  },
471
471
  spacing: 1.5,
472
472
  children: [
473
- b("Total Due", `${N}${y(o)}`, null, o > 0 ? "warning.dark" : "text.primary"),
474
- b("Last Sale", p == null ? "—" : `${p} day${p === 1 ? "" : "s"} ago`, w ? j(w) : "No prior sale", "text.primary"),
475
- b("Due Since", d == null ? "—" : `${d} day${d === 1 ? "" : "s"}`, i ? j(i) : "No open sales", d != null && d >= 30 ? "error.dark" : "text.primary")
473
+ f("Total Due", `${N}${y(o)}`, null, o > 0 ? "warning.dark" : "text.primary"),
474
+ f("Last Sale", p == null ? "—" : `${p} day${p === 1 ? "" : "s"} ago`, w ? j(w) : "No prior sale", "text.primary"),
475
+ f("Due Since", d == null ? "—" : `${d} day${d === 1 ? "" : "s"}`, i ? j(i) : "No open sales", d != null && d >= 30 ? "error.dark" : "text.primary")
476
476
  ]
477
477
  });
478
478
  }
479
479
  export {
480
480
  Qe as default
481
481
  };
482
- //# sourceMappingURL=PaymentCreatePage-DfvSZ-kB-CckogYoe.js.map
482
+ //# sourceMappingURL=PaymentCreatePage-D6NZBUC3-DxXf2kvH.js.map