@argusoft/medplat-core 1.0.28 → 1.0.30

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 (229) hide show
  1. package/dist/AccessRights-xrday-L1.js +1023 -0
  2. package/dist/AccessRights-xrday-L1.js.map +1 -0
  3. package/dist/AddEditQueryBuilder-D-iQiVIe.js +365 -0
  4. package/dist/AddEditQueryBuilder-D-iQiVIe.js.map +1 -0
  5. package/dist/{AddFeatures-C0Z29oSd.js → AddFeatures-D1sU8RjY.js} +2 -2
  6. package/dist/{AddFeatures-C0Z29oSd.js.map → AddFeatures-D1sU8RjY.js.map} +1 -1
  7. package/dist/AddLabelModal-Bq-wRqv9.js +631 -0
  8. package/dist/AddLabelModal-Bq-wRqv9.js.map +1 -0
  9. package/dist/AddMenuConfiguration-e5BVXhmw.js +8547 -0
  10. package/dist/AddMenuConfiguration-e5BVXhmw.js.map +1 -0
  11. package/dist/{AddRoleDrawer-CQdzQZLb.js → AddRoleDrawer-0gqAK8N0.js} +62 -63
  12. package/dist/AddRoleDrawer-0gqAK8N0.js.map +1 -0
  13. package/dist/AppModal-CCtrQ5Tr.js +394 -0
  14. package/dist/AppModal-CCtrQ5Tr.js.map +1 -0
  15. package/dist/BrandsPage-DmRW5bhm-Bk1szrjI.js +387 -0
  16. package/dist/BrandsPage-DmRW5bhm-Bk1szrjI.js.map +1 -0
  17. package/dist/CategoriesPage-BsS5IQh3-B03lWRY5.js +391 -0
  18. package/dist/CategoriesPage-BsS5IQh3-B03lWRY5.js.map +1 -0
  19. package/dist/{ChangePasswordModalCore-CDxkeIIM.js → ChangePasswordModalCore-BPsJquTS.js} +1606 -1611
  20. package/dist/ChangePasswordModalCore-BPsJquTS.js.map +1 -0
  21. package/dist/{ConditionConfig-DSsgGEXS.js → ConditionConfig-Ddz9halE.js} +2 -2
  22. package/dist/ConditionConfig-Ddz9halE.js.map +1 -0
  23. package/dist/DashboardPage-C3bKc5na-sBd9Yqbi.js +435 -0
  24. package/dist/DashboardPage-C3bKc5na-sBd9Yqbi.js.map +1 -0
  25. package/dist/{EntityManagement-GaYsBTvf.js → EntityManagement-CPQL6qBj.js} +2 -2
  26. package/dist/{EntityManagement-GaYsBTvf.js.map → EntityManagement-CPQL6qBj.js.map} +1 -1
  27. package/dist/EventConfig-BmLemzX3.js +26 -0
  28. package/dist/EventConfig-BmLemzX3.js.map +1 -0
  29. package/dist/{EventConfigurations-kNtAj_WM.js → EventConfigurations-Bzh1qWXU.js} +31 -30
  30. package/dist/{EventConfigurations-kNtAj_WM.js.map → EventConfigurations-Bzh1qWXU.js.map} +1 -1
  31. package/dist/{EventsExceptionModal-D4Bf1ilS.js → EventsExceptionModal-B2SRrnB1.js} +2 -2
  32. package/dist/{EventsExceptionModal-D4Bf1ilS.js.map → EventsExceptionModal-B2SRrnB1.js.map} +1 -1
  33. package/dist/EventsSkeleton-BIcPks4T.js +61 -0
  34. package/dist/EventsSkeleton-BIcPks4T.js.map +1 -0
  35. package/dist/FacilityPicker-BiZeupmP-CyPHmj6b.js +79 -0
  36. package/dist/FacilityPicker-BiZeupmP-CyPHmj6b.js.map +1 -0
  37. package/dist/FeatureMenu-DYJmDt7q.js +521 -0
  38. package/dist/FeatureMenu-DYJmDt7q.js.map +1 -0
  39. package/dist/Features-Dne21RWu.js +14 -0
  40. package/dist/Features-Dne21RWu.js.map +1 -0
  41. package/dist/{FhirServerList-Dkq7Kbes.js → FhirServerList-DuTwnngN.js} +19 -19
  42. package/dist/{FhirServerList-Dkq7Kbes.js.map → FhirServerList-DuTwnngN.js.map} +1 -1
  43. package/dist/{FhirServerWizard-Db6Hm4bQ.js → FhirServerWizard-DZI8Olku.js} +15 -15
  44. package/dist/{FhirServerWizard-Db6Hm4bQ.js.map → FhirServerWizard-DZI8Olku.js.map} +1 -1
  45. package/dist/FlywayQuery-CQygj51V.js +179 -0
  46. package/dist/FlywayQuery-CQygj51V.js.map +1 -0
  47. package/dist/{ManageNotification-CaBAOhji.js → Google-DQxMfbaL.js} +1725 -2652
  48. package/dist/{ManageNotification-CaBAOhji.js.map → Google-DQxMfbaL.js.map} +1 -1
  49. package/dist/GrantPermissionModal-BDN66Atn.js +236 -0
  50. package/dist/GrantPermissionModal-BDN66Atn.js.map +1 -0
  51. package/dist/ImmunizationConfigurationBase-Di1KO3oW.js +7639 -0
  52. package/dist/ImmunizationConfigurationBase-Di1KO3oW.js.map +1 -0
  53. package/dist/ImmunizationConfigurationBase.css +1 -1
  54. package/dist/ImmunizationConfigurationsList-TZcLDEci.js +369 -0
  55. package/dist/ImmunizationConfigurationsList-TZcLDEci.js.map +1 -0
  56. package/dist/InventoryPage-C_AxSy7A-QLvlL4rE.js +665 -0
  57. package/dist/InventoryPage-C_AxSy7A-QLvlL4rE.js.map +1 -0
  58. package/dist/LanguagesModal-B3NTebYT.js +352 -0
  59. package/dist/LanguagesModal-B3NTebYT.js.map +1 -0
  60. package/dist/ManageDynamicFeature-BU0I45dd.js +4475 -0
  61. package/dist/ManageDynamicFeature-BU0I45dd.js.map +1 -0
  62. package/dist/{ManageEventConfiguration-DV3I5POA.js → ManageEventConfiguration-CoYcpjR9.js} +465 -397
  63. package/dist/ManageEventConfiguration-CoYcpjR9.js.map +1 -0
  64. package/dist/ManageNotification-C5MhV77Q.js +934 -0
  65. package/dist/ManageNotification-C5MhV77Q.js.map +1 -0
  66. package/dist/{ManageRole-CGYfglpo.js → ManageRole-CNZBRKGU.js} +32 -30
  67. package/dist/ManageRole-CNZBRKGU.js.map +1 -0
  68. package/dist/ManageTranslation-vRiptUAP.js +833 -0
  69. package/dist/ManageTranslation-vRiptUAP.js.map +1 -0
  70. package/dist/ManageTranslation.css +1 -1
  71. package/dist/{ManageUser-AY1EUDLI.js → ManageUser-DCFkUMV9.js} +1722 -1586
  72. package/dist/ManageUser-DCFkUMV9.js.map +1 -0
  73. package/dist/MemberProfileCard-BdUNgHRB-VywqQdFF.js +272 -0
  74. package/dist/MemberProfileCard-BdUNgHRB-VywqQdFF.js.map +1 -0
  75. package/dist/MobileAnalytics-pQoE8cG1.js +16888 -0
  76. package/dist/MobileAnalytics-pQoE8cG1.js.map +1 -0
  77. package/dist/MobileMenuManagement-Cf8IZlla.js +108 -0
  78. package/dist/MobileMenuManagement-Cf8IZlla.js.map +1 -0
  79. package/dist/{MobileTypeEventConfigModal-BxLympIO.js → MobileTypeEventConfigModal-BeveaX0C.js} +2 -2
  80. package/dist/MobileTypeEventConfigModal-BeveaX0C.js.map +1 -0
  81. package/dist/NotificationFlywayQuery-BAHVjf6N.js +247 -0
  82. package/dist/NotificationFlywayQuery-BAHVjf6N.js.map +1 -0
  83. package/dist/{NotificationList-C3Vb_jKU.js → NotificationList-DEyRZEuM.js} +109 -110
  84. package/dist/NotificationList-DEyRZEuM.js.map +1 -0
  85. package/dist/{OtherTypeEventConfigModal-BeG1GrUi.js → OtherTypeEventConfigModal-CM6VkdmY.js} +570 -478
  86. package/dist/OtherTypeEventConfigModal-CM6VkdmY.js.map +1 -0
  87. package/dist/PaymentCreatePage-CIVe0P0p-25BQVpOX.js +482 -0
  88. package/dist/PaymentCreatePage-CIVe0P0p-25BQVpOX.js.map +1 -0
  89. package/dist/PaymentsPage-BvPe5Q9F-D2gfziwW.js +157 -0
  90. package/dist/PaymentsPage-BvPe5Q9F-D2gfziwW.js.map +1 -0
  91. package/dist/PermissionsModal-CCYkcKlC.js +151 -0
  92. package/dist/PermissionsModal-CCYkcKlC.js.map +1 -0
  93. package/dist/PickupBatchLinesEditor-DHmcAG23-DL2p6IKJ.js +119 -0
  94. package/dist/PickupBatchLinesEditor-DHmcAG23-DL2p6IKJ.js.map +1 -0
  95. package/dist/PickupCreatePage-CB0Sl0Hb-Mmj7zESG.js +783 -0
  96. package/dist/PickupCreatePage-CB0Sl0Hb-Mmj7zESG.js.map +1 -0
  97. package/dist/PickupsPage-Ctpghavs-CUp4uIZq.js +818 -0
  98. package/dist/PickupsPage-Ctpghavs-CUp4uIZq.js.map +1 -0
  99. package/dist/PmGuard-b10TGXEi-G3N0G_Wg.js +599 -0
  100. package/dist/PmGuard-b10TGXEi-G3N0G_Wg.js.map +1 -0
  101. package/dist/ProductEditPage-C1thoKHu-URQaZ6st.js +1302 -0
  102. package/dist/ProductEditPage-C1thoKHu-URQaZ6st.js.map +1 -0
  103. package/dist/ProductsPage-CupVmOD4-D45a_hf-.js +252 -0
  104. package/dist/ProductsPage-CupVmOD4-D45a_hf-.js.map +1 -0
  105. package/dist/PurchaseCreatePage-YD3NmhPQ-2j4etSjM.js +648 -0
  106. package/dist/PurchaseCreatePage-YD3NmhPQ-2j4etSjM.js.map +1 -0
  107. package/dist/PurchaseRequestDetailPage-Dg_MRY_N-D1bgTEAn.js +1577 -0
  108. package/dist/PurchaseRequestDetailPage-Dg_MRY_N-D1bgTEAn.js.map +1 -0
  109. package/dist/PurchaseRequestsPage-DPAPzpmm-mDH2IrTl.js +279 -0
  110. package/dist/PurchaseRequestsPage-DPAPzpmm-mDH2IrTl.js.map +1 -0
  111. package/dist/PurchasesPage-It1GHiXl-eH4IsF_U.js +293 -0
  112. package/dist/PurchasesPage-It1GHiXl-eH4IsF_U.js.map +1 -0
  113. package/dist/QueryBuilder-CXaBe6sr.js +478 -0
  114. package/dist/QueryBuilder-CXaBe6sr.js.map +1 -0
  115. package/dist/{RoleManagement-BPl2cE27.js → RoleManagement-s8iNx2Mu.js} +131 -142
  116. package/dist/RoleManagement-s8iNx2Mu.js.map +1 -0
  117. package/dist/Roles-BIyiic67.js +14 -0
  118. package/dist/Roles-BIyiic67.js.map +1 -0
  119. package/dist/SaleCreatePage-C9kFmTvm-B3Y0o4CX.js +544 -0
  120. package/dist/SaleCreatePage-C9kFmTvm-B3Y0o4CX.js.map +1 -0
  121. package/dist/SalesPage-D18DCseD-BxktGDRQ.js +315 -0
  122. package/dist/SalesPage-D18DCseD-BxktGDRQ.js.map +1 -0
  123. package/dist/{ServerSyncModal-D_oFpv3C.js → ServerSyncModal-92U3xtqI.js} +84 -85
  124. package/dist/ServerSyncModal-92U3xtqI.js.map +1 -0
  125. package/dist/SettingsPage-VsxI-ano-DcmtUUEj.js +747 -0
  126. package/dist/SettingsPage-VsxI-ano-DcmtUUEj.js.map +1 -0
  127. package/dist/ShowFlywayQuery-D10Olk5Z.js +154 -0
  128. package/dist/ShowFlywayQuery-D10Olk5Z.js.map +1 -0
  129. package/dist/{ShowFlywayQuery-DVRCd384.js → ShowFlywayQuery-D1y_4A1u.js} +161 -121
  130. package/dist/ShowFlywayQuery-D1y_4A1u.js.map +1 -0
  131. package/dist/ShowQueryHistory-DRBKYDKk.js +313 -0
  132. package/dist/ShowQueryHistory-DRBKYDKk.js.map +1 -0
  133. package/dist/StorageUnitsPage-7EqwuMOI-BwUso1Th.js +721 -0
  134. package/dist/StorageUnitsPage-7EqwuMOI-BwUso1Th.js.map +1 -0
  135. package/dist/SubMenu-eEDhZUvh.js +317 -0
  136. package/dist/SubMenu-eEDhZUvh.js.map +1 -0
  137. package/dist/{TableDetails-Cf_YfnY2.js → TableDetails-BtafRxXb.js} +1069 -831
  138. package/dist/TableDetails-BtafRxXb.js.map +1 -0
  139. package/dist/{TableList-D6jnIbnz.js → TableList-Dpo6dO7S.js} +2 -2
  140. package/dist/{TableList-D6jnIbnz.js.map → TableList-Dpo6dO7S.js.map} +1 -1
  141. package/dist/TransactionsPage-DrH53pVS-BkhIGB6C.js +746 -0
  142. package/dist/TransactionsPage-DrH53pVS-BkhIGB6C.js.map +1 -0
  143. package/dist/TransferCreatePage-CuvoMrYH-DTTfHjz-.js +315 -0
  144. package/dist/TransferCreatePage-CuvoMrYH-DTTfHjz-.js.map +1 -0
  145. package/dist/TransfersPage-Cf701t8s-BBbN7cBf.js +476 -0
  146. package/dist/TransfersPage-Cf701t8s-BBbN7cBf.js.map +1 -0
  147. package/dist/{TypeConfiguration-37wp-gsl.js → TypeConfiguration-3O6ABrK-.js} +2 -2
  148. package/dist/{TypeConfiguration-37wp-gsl.js.map → TypeConfiguration-3O6ABrK-.js.map} +1 -1
  149. package/dist/{UserList-Bc8gYxRL.js → UserList-DgPxsnj2.js} +253 -236
  150. package/dist/{UserList-Bc8gYxRL.js.map → UserList-DgPxsnj2.js.map} +1 -1
  151. package/dist/Users-Bpc4Sazd.js +41 -0
  152. package/dist/Users-Bpc4Sazd.js.map +1 -0
  153. package/dist/VialsPage-8oAc1yFv-Cl3FUXBJ.js +321 -0
  154. package/dist/VialsPage-8oAc1yFv-Cl3FUXBJ.js.map +1 -0
  155. package/dist/{WidgetList-Dw_FmbbE.js → WidgetList-D7YuWfDD.js} +2 -2
  156. package/dist/{WidgetList-Dw_FmbbE.js.map → WidgetList-D7YuWfDD.js.map} +1 -1
  157. package/dist/constants-ClZJY2x1-MkSWn6TZ.js +434 -0
  158. package/dist/constants-ClZJY2x1-MkSWn6TZ.js.map +1 -0
  159. package/dist/dashboardLayoutUtils-D1xCAxp3.js +405 -0
  160. package/dist/dashboardLayoutUtils-D1xCAxp3.js.map +1 -0
  161. package/dist/format-UOyOu75i-D0GyylyQ.js +63 -0
  162. package/dist/format-UOyOu75i-D0GyylyQ.js.map +1 -0
  163. package/dist/index.css +1 -1
  164. package/dist/index.js +4 -752
  165. package/dist/index.js.map +1 -1
  166. package/dist/index.lib-Dn8PMkeD.js +862 -0
  167. package/dist/index.lib-Dn8PMkeD.js.map +1 -0
  168. package/dist/useFieldErrors-hDG8ox_x-DbSAzrGo.js +28 -0
  169. package/dist/useFieldErrors-hDG8ox_x-DbSAzrGo.js.map +1 -0
  170. package/dist/validation-BzlHnL-r-CCJm2utQ.js +125 -0
  171. package/dist/validation-BzlHnL-r-CCJm2utQ.js.map +1 -0
  172. package/package.json +5 -4
  173. package/dist/AccessRights-CHu27ZOw.js +0 -1262
  174. package/dist/AccessRights-CHu27ZOw.js.map +0 -1
  175. package/dist/AddEditQueryBuilder-Brdnm6rQ.js +0 -313
  176. package/dist/AddEditQueryBuilder-Brdnm6rQ.js.map +0 -1
  177. package/dist/AddLabelModal-DFllBVcd.js +0 -734
  178. package/dist/AddLabelModal-DFllBVcd.js.map +0 -1
  179. package/dist/AddMenuConfiguration-BSQLl88V.js +0 -6570
  180. package/dist/AddMenuConfiguration-BSQLl88V.js.map +0 -1
  181. package/dist/AddRoleDrawer-CQdzQZLb.js.map +0 -1
  182. package/dist/AppModal-CtG2GjD_.js +0 -428
  183. package/dist/AppModal-CtG2GjD_.js.map +0 -1
  184. package/dist/ChangePasswordModalCore-CDxkeIIM.js.map +0 -1
  185. package/dist/ConditionConfig-DSsgGEXS.js.map +0 -1
  186. package/dist/EventsSkeleton-8iiETGcf.js +0 -76
  187. package/dist/EventsSkeleton-8iiETGcf.js.map +0 -1
  188. package/dist/FeatureMenu-jl7-Tk6y.js +0 -265
  189. package/dist/FeatureMenu-jl7-Tk6y.js.map +0 -1
  190. package/dist/Features-CObdzJp_.js +0 -13
  191. package/dist/Features-CObdzJp_.js.map +0 -1
  192. package/dist/FlywayQuery-Cx2sly6g.js +0 -169
  193. package/dist/FlywayQuery-Cx2sly6g.js.map +0 -1
  194. package/dist/ImmunizationConfigurationBase-DZGqwda2.js +0 -5910
  195. package/dist/ImmunizationConfigurationBase-DZGqwda2.js.map +0 -1
  196. package/dist/ImmunizationConfigurationsList-DdSZicTP.js +0 -344
  197. package/dist/ImmunizationConfigurationsList-DdSZicTP.js.map +0 -1
  198. package/dist/LanguagesModal-D6VfaGrl.js +0 -394
  199. package/dist/LanguagesModal-D6VfaGrl.js.map +0 -1
  200. package/dist/ManageDynamicFeature-BhONvfC_.js +0 -4189
  201. package/dist/ManageDynamicFeature-BhONvfC_.js.map +0 -1
  202. package/dist/ManageEventConfiguration-DV3I5POA.js.map +0 -1
  203. package/dist/ManageRole-CGYfglpo.js.map +0 -1
  204. package/dist/ManageTranslation-B4C9-lWD.js +0 -625
  205. package/dist/ManageTranslation-B4C9-lWD.js.map +0 -1
  206. package/dist/ManageUser-AY1EUDLI.js.map +0 -1
  207. package/dist/MobileMenuManagement-CVAKyKDa.js +0 -112
  208. package/dist/MobileMenuManagement-CVAKyKDa.js.map +0 -1
  209. package/dist/MobileTypeEventConfigModal-BxLympIO.js.map +0 -1
  210. package/dist/NotificationFlywayQuery-BY8Zzml_.js +0 -244
  211. package/dist/NotificationFlywayQuery-BY8Zzml_.js.map +0 -1
  212. package/dist/NotificationList-C3Vb_jKU.js.map +0 -1
  213. package/dist/OtherTypeEventConfigModal-BeG1GrUi.js.map +0 -1
  214. package/dist/QueryBuilder-z7eqfd7D.js +0 -383
  215. package/dist/QueryBuilder-z7eqfd7D.js.map +0 -1
  216. package/dist/RoleManagement-BPl2cE27.js.map +0 -1
  217. package/dist/ServerSyncModal-D_oFpv3C.js.map +0 -1
  218. package/dist/ShowFlywayQuery-DVRCd384.js.map +0 -1
  219. package/dist/ShowFlywayQuery-tj42YQAS.js +0 -130
  220. package/dist/ShowFlywayQuery-tj42YQAS.js.map +0 -1
  221. package/dist/ShowQueryHistory-BDN0tzHg.js +0 -190
  222. package/dist/ShowQueryHistory-BDN0tzHg.js.map +0 -1
  223. package/dist/SubMenu-DYxAPH2Z.js +0 -191
  224. package/dist/SubMenu-DYxAPH2Z.js.map +0 -1
  225. package/dist/TableDetails-Cf_YfnY2.js.map +0 -1
  226. package/dist/Users-CsJ08Kjm.js +0 -40
  227. package/dist/Users-CsJ08Kjm.js.map +0 -1
  228. package/dist/dashboardLayoutUtils-Bt5HA96J.js +0 -265
  229. package/dist/dashboardLayoutUtils-Bt5HA96J.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ManageEventConfiguration-CoYcpjR9.js","sources":["../src/views/Events/ManageEventConfiguration.jsx"],"sourcesContent":["import {\n retrieveAllForm,\n retrieveByUUID,\n retrieveManualEvents,\n save,\n update,\n} from \"../../services/EventConfig\";\nimport {\n getReportsList,\n retrieveAllNotifications,\n} from \"@/common/services/GlobalApis\";\nimport { showToast } from \"@/common/toaster/toaster\";\nimport CustomTextArea from \"@/views/custom-components/CustomTextArea\";\nimport CustomTextField from \"@/views/custom-components/CustomTextField\";\nimport \"./Styles/ManageEventConfiguration.scss\";\nimport { yupResolver } from \"@hookform/resolvers/yup\";\nimport CustomDropdown from \"@/views/custom-components/CustomDropdown\";\nimport {\n Box,\n Button,\n Card,\n CardActions,\n CardContent,\n CardHeader,\n Divider,\n FormControl,\n MenuItem,\n Paper,\n Select,\n Table,\n TableBody,\n TableCell,\n TableContainer,\n TableHead,\n TableRow,\n Typography,\n} from \"@mui/material\";\nimport Grid from \"@mui/material/Grid2\";\nimport React, { lazy, Suspense, useEffect, useRef, useState } from \"react\";\nimport { Controller, useForm } from \"react-hook-form\";\nimport { useNavigate } from \"react-router\";\nimport { useParams } from \"react-router-dom\";\nimport * as Yup from \"yup\";\nimport { useTranslateProvider } from \"@/common/languageTranslator/TranslationContext\";\nimport useTrackEvent from \"@/hooks/useTrackEvent\";\nconst ConditionConfig = lazy(() => import(\"./ConditionConfig\"));\nconst MobileTypeEventConfigModal = lazy(\n () => import(\"./MobileTypeEventConfigModal\")\n);\nconst OtherTypeEventConfigModal = lazy(\n () => import(\"./OtherTypeEventConfigModal\")\n);\nimport { ManageEventConfigurationSkeleton } from \"./Skeletons/EventsSkeleton\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport { faPen, faPlus, faTrash } from \"@fortawesome/free-solid-svg-icons\";\n\n/**\n * ManageEventConfiguration component handles the creation and editing\n * of event configurations, including various notification types and triggers.\n * @module ManageEventConfiguration\n *\n *\n *\n * @component\n */\nfunction ManageEventConfiguration() {\n const { translate } = useTranslateProvider();\n\n const formRef = useRef(null);\n const submitRef = useRef(false);\n const { id } = useParams();\n const navigate = useNavigate();\n const [forms, setForms] = useState(null);\n const [events, setEvents] = useState(null);\n const [notificationTypeMap, setNotificationTypeMap] = useState({});\n const [notificationConfigDetails, setNotificationConfigDetails] = useState(\n []\n );\n const [selectedConfigIndex, setSelectedConfigIndex] = useState(null);\n const [selectedConfig, setSelectedConfig] = useState(null);\n const [selectedCondition, setSelectedCondition] = useState(null);\n const [selectedIndex, setSelectedIndex] = useState(null);\n const [newCondition, setNewCondition] = useState(null);\n const [conditionEditMode, setConditionEditMode] = useState(null);\n const [selectedTypeConfig, setSelectedTypeConfig] = useState(null);\n const [newType, setNewType] = useState(null);\n const [overlayOpen, setOverlayOpen] = useState(false);\n const [typeEditMode, setTypeEditMode] = useState(false);\n const [toggleOtherOpen, setToggleOtherOpen] = useState(false);\n const [typeConfigurationData, setTypeConfigurationData] = useState([]);\n const [isLoading, setIsLoading] = useState(false);\n const [reportList, setReportList] = useState([]);\n const bodyLineHeight = window.getComputedStyle(document.body).lineHeight;\n /**\n * Toggles the overlay open/closed state.\n *\n * @function handleOverlayState\n */\n const handleOverlayState = () => setOverlayOpen(!overlayOpen);\n\n const validationSchema = Yup.object().shape({\n name: Yup.string().required(\"Enter Name\"),\n eventType: Yup.string().required(\"Select Event Type\"),\n recursionInterval: Yup.number()\n .typeError(\"Recursion Interval must be a number\")\n .when([], {\n is: () => eventType === \"RECURSION\",\n then: (schema) =>\n schema\n .required(\"Recursion Interval is required\")\n .moreThan(0, \"Recursion Interval must be greater than or equal to 1\")\n .lessThan(1441, \"Recursion Interval must be less than or equal to 1440\"),\n otherwise: (schema) => schema.notRequired(),\n }),\n trigerWhen: Yup.string().test(\n \"is-required\",\n \"trigerWhen is required\",\n function (value) {\n if (eventType === \"TIMMER_BASED\") {\n return !!value;\n }\n return true;\n }\n ),\n day: Yup.string().test(\"is-required\", \"day is required\", function (value) {\n if (\n eventType === \"TIMMER_BASED\" &&\n (trigerWhen === \"AFTER\" || trigerWhen === \"MONTHLY\")\n ) {\n return !!value;\n }\n return true;\n }),\n hour: Yup.string().test(\n \"is-required\",\n \"hour is required\",\n function (value) {\n if (\n eventType === \"TIMMER_BASED\" &&\n (trigerWhen === \"AFTER\" ||\n trigerWhen === \"MONTHLY\" ||\n trigerWhen === \"DAILY\")\n ) {\n return !!value;\n }\n return true;\n }\n ),\n minute: Yup.string().notRequired(),\n // notificationConfigDetails: Yup.array().of(\n // Yup.object().shape({\n // query: Yup.string().required('Query is required'), // Ensure query is present\n // // condition: Yup.string().required('Condition is required'), // Ensure condition is present\n // // action: Yup.string().required('Action is required'), // Ensure action is present\n // })\n // ),\n });\n const {\n control,\n handleSubmit,\n setValue,\n setError,\n clearErrors,\n getValues,\n watch,\n formState: { errors },\n } = useForm({\n defaultValues: {\n name: \"\",\n description: \"\",\n eventType: \"\",\n recursionInterval: 0,\n minute: 0\n },\n resolver: yupResolver(validationSchema),\n mode: \"onChange\",\n });\n\n const eventType = watch(\"eventType\");\n let trigerWhen = watch(\"trigerWhen\");\n\n /**\n * Handles form submission.\n *\n * @async\n * @function submit\n * @param {Object} data - The form data to submit.\n */\n\n useEffect(() => {\n let form = formRef.current;\n\n return () => {\n trackEvent(\"conversion_event\", {\n form,\n form_name: \"Manage Event Configuration\",\n submit: submitRef.current,\n }); // Use the current ref value\n };\n }, []);\n const submit = async (data) => {\n try {\n if (notificationConfigDetails.length > 0) {\n data.minute = Number(data.minute || 0);\n data.notificationConfigDetails = notificationConfigDetails;\n\n const isTimerBased = eventType === \"TIMMER_BASED\";\n const isFormSubmitted = eventType === \"FORM_SUBMITTED\";\n const isManual = eventType === \"MANUAL\";\n const isRecursion = eventType === \"RECURSION\";\n if (!isTimerBased) {\n delete data.trigerWhen;\n delete data.day;\n delete data.hour;\n delete data.minute;\n }\n if (!isFormSubmitted) {\n delete data.formTypeId;\n }\n if (!isFormSubmitted && !isManual) {\n delete data.eventTypeDetailCode;\n delete data.eventTypeDetailId;\n }\n if (isRecursion) {\n delete data.formTypeId;\n data.trigerWhen = \"RECURSION\";\n } else {\n delete data.recursionInterval;\n }\n\n const needsDay = [\"AFTER\", \"MONTHLY\", \"WEEKLY\"];\n const needsHour = [\"AFTER\", \"MONTHLY\", \"DAILY\", \"WEEKLY\"];\n if (!needsDay.includes(trigerWhen)) {\n delete data.day;\n }\n if (!needsHour.includes(trigerWhen)) {\n delete data.day;\n delete data.hour;\n }\n if (trigerWhen === \"IMMEDIATELY\") {\n delete data.day;\n delete data.hour;\n delete data.minute;\n }\n const cleanedNotificationConfigDetails = notificationConfigDetails.map(config => ({\n ...config,\n conditions: config.conditions?.map(condition => ({\n ...condition,\n notificaitonConfigsType: condition.notificaitonConfigsType ? condition.notificaitonConfigsType.map(typeConfig => ({\n ...typeConfig,\n queryCode: typeConfig.queryCode === \"\" ? null : typeConfig.queryCode\n })) : condition.notificaitonConfigsType\n }))\n }));\n data.notificationConfigDetails = cleanedNotificationConfigDetails;\n if (id) {\n await update(data);\n } else {\n await save(data);\n }\n\n trackEvent(\"button_click\", {\n button_name: \"manageeventconfiguration-save-button\",\n button_type: \"submit\",\n button_id: \"manageeventconfiguration-save-button\",\n });\n\n showToast({\n message: id\n ? \"Event Configuration Updated successfully\"\n : \"submit successfully\",\n type: \"success\",\n });\n submitRef.current = true;\n navigate(\"/ui/medplat/notification/all\");\n } else {\n showToast({\n message: \"Please add atleast query / condition for the configuration\",\n type: \"warn\",\n });\n }\n } catch {\n showToast({ message: \"submit problem\", type: \"error\" });\n setIsLoading((cur) => !cur);\n }\n };\n\n useEffect(() => {\n loadInitialData();\n }, []);\n\n /**\n * Loads initial data for forms, events, and notification types when the component mounts.\n *\n * @async\n * @function loadInitialData\n */\n const loadInitialData = async () => {\n try {\n setIsLoading((cur) => !cur);\n const res = await retrieveAllForm({ is_active: true });\n setForms(res?.data);\n const manualevent = await retrieveManualEvents();\n\n setEvents(manualevent?.data);\n const notificationtype = await retrieveAllNotifications(true);\n let notificationtypeObject = {};\n notificationtype?.data?.forEach((type) => {\n notificationtypeObject[type?.id] = type?.notificationName;\n });\n setNotificationTypeMap(notificationtypeObject);\n\n const { data: reportList } = await getReportsList(); // doubt for import\n setReportList(reportList || []);\n\n if (id) {\n const responseByid = await retrieveByUUID(id);\n responseByid?.data?.notificationConfigDetails?.forEach((config) => {\n setImplicitParam(config);\n });\n let data = responseByid?.data;\n Object.keys(data)?.forEach((key) => {\n if (data[key] !== undefined && data[key] !== null) {\n setValue(key, data[key]);\n }\n });\n setNotificationConfigDetails(data?.notificationConfigDetails || []);\n }\n setIsLoading((cur) => !cur);\n } catch (error) {\n showToast({\n message: \"Error in loading manage events\",\n type: `Error:${error?.message}`,\n });\n setIsLoading((cur) => !cur);\n }\n };\n\n /**\n * Sets implicit parameters for a given notification configuration.\n *\n * @function setImplicitParam\n * @param {Object} config - The notification configuration object.\n */\n const setImplicitParam = (config) => {\n config.implicitParam = [\"#resourceId#\"];\n\n // clauses that end the select list when they appear outside any bracket\n const clauseKeywords = [\n \"from\",\n \"where\",\n \"group\",\n \"having\",\n \"order\",\n \"limit\",\n \"offset\",\n \"union\",\n \"intersect\",\n \"except\",\n \"window\",\n \"fetch\",\n \"into\",\n \"returning\",\n ];\n\n if (config?.query) {\n // drop -- and /* */ comments, keeping string literals untouched\n let sql = \"\";\n let quote = null;\n for (let i = 0; i < config.query.length; i++) {\n const character = config.query[i];\n const nextCharacter = config.query[i + 1];\n if (quote) {\n sql += character;\n if (character === quote) {\n quote = null;\n }\n } else if (character === \"'\" || character === '\"') {\n quote = character;\n sql += character;\n } else if (character === \"-\" && nextCharacter === \"-\") {\n while (i < config.query.length && config.query[i] !== \"\\n\") {\n i++;\n }\n sql += \"\\n\";\n } else if (character === \"/\" && nextCharacter === \"*\") {\n i += 2;\n while (\n i < config.query.length &&\n !(config.query[i] === \"*\" && config.query[i + 1] === \"/\")\n ) {\n i++;\n }\n i++;\n sql += \" \";\n } else {\n sql += character;\n }\n }\n\n // locate the select list of the outermost select, i.e. the first SELECT\n // that sits outside every bracket, so CTE bodies and sub queries are skipped\n let depth = 0;\n quote = null;\n let selectStart = -1;\n let selectEnd = -1;\n const commas = [];\n for (let i = 0; i < sql.length; i++) {\n const character = sql[i];\n if (quote) {\n if (character === quote) {\n quote = null;\n }\n } else if (character === \"'\" || character === '\"') {\n quote = character;\n } else if (character === \"(\") {\n depth++;\n } else if (character === \")\") {\n depth--;\n } else if (depth === 0) {\n if (character === \";\" && selectStart >= 0) {\n selectEnd = i;\n break;\n } else if (character === \",\" && selectStart >= 0) {\n commas.push(i);\n } else if (\n /[a-z_]/i.test(character) &&\n !/[\\w.]/.test(sql[i - 1] || \"\")\n ) {\n const word = (sql.slice(i).match(/^[a-z_]+/i) || [\"\"])[0];\n if (selectStart < 0) {\n if (word.toLowerCase() === \"select\") {\n selectStart = i + word.length;\n }\n i += word.length - 1;\n } else if (clauseKeywords.includes(word.toLowerCase())) {\n selectEnd = i;\n break;\n } else {\n i += word.length - 1;\n }\n }\n }\n }\n\n // nothing to list when the statement has no outermost select, such as a\n // plain update or a CTE whose main statement is an update or a delete\n if (selectStart >= 0) {\n if (selectEnd < 0) {\n selectEnd = sql.length;\n }\n\n // split the select list on its own commas, ignoring the ones in brackets\n const namedParameters = [];\n let itemStart = selectStart;\n commas\n .filter((comma) => comma < selectEnd)\n .forEach((comma) => {\n namedParameters.push(sql.substring(itemStart, comma));\n itemStart = comma + 1;\n });\n namedParameters.push(sql.substring(itemStart, selectEnd));\n\n namedParameters.forEach((parameter) => {\n const tempParameter = parameter\n .replace(/^\\s*(distinct\\s+on\\s*\\([\\s\\S]*?\\)|distinct|all)\\s+/i, \"\")\n .trim();\n if (\n tempParameter &&\n tempParameter !== \"*\" &&\n !tempParameter.endsWith(\".*\")\n ) {\n // the last \" as \" that is outside brackets and string literals\n let aliasDepth = 0;\n let aliasQuote = null;\n let aliasIndex = -1;\n for (let i = 0; i < tempParameter.length; i++) {\n const character = tempParameter[i];\n if (aliasQuote) {\n if (character === aliasQuote) {\n aliasQuote = null;\n }\n } else if (character === \"'\" || character === '\"') {\n aliasQuote = character;\n } else if (character === \"(\") {\n aliasDepth++;\n } else if (character === \")\") {\n aliasDepth--;\n } else if (\n aliasDepth === 0 &&\n /\\s/.test(character) &&\n /^as\\s/i.test(tempParameter.substring(i + 1))\n ) {\n aliasIndex = i + 1;\n }\n }\n // a column without an alias is kept as it is written, such as cs.id\n const parameterWithAlias =\n aliasIndex >= 0\n ? tempParameter.substring(aliasIndex + 3).trim()\n : tempParameter.replace(/\\s+/g, \" \").trim();\n const parameterName = parameterWithAlias.replace(/^\"|\"$/g, \"\");\n // expressions without an alias have no result column name to offer\n if (/^[a-z_][\\w$]*(\\.[a-z_][\\w$]*)*$/i.test(parameterName)) {\n config.implicitParam.push(\"#\" + parameterName + \"#\");\n }\n }\n });\n }\n }\n };\n\n /**\n * Handles the deletion of a row in the notification configurations.\n *\n * @function handleDeleteRow\n * @param {number} index - The index of the configuration to delete.\n */\n const handleDeleteRow = (index) => {\n const newRows = notificationConfigDetails?.filter(\n (_, rowIndex) => rowIndex !== index\n );\n setNotificationConfigDetails(newRows);\n };\n\n /**\n * Deletes a specific condition from a configuration.\n *\n * @function deleteCondition\n * @param {number} configIndex - The index of the configuration containing the condition.\n * @param {number} index - The index of the condition to delete.\n */\n\n const deleteCondition = (configIndex, index) => {\n const notificationConfigDetail = [...notificationConfigDetails];\n\n const filteredConditions = notificationConfigDetail[\n configIndex\n ].conditions.filter((_, idx) => idx !== index);\n notificationConfigDetail[configIndex].conditions = filteredConditions;\n setNotificationConfigDetails(notificationConfigDetail);\n };\n /**\n * Opens the condition modal for adding or editing a condition.\n *\n * @async\n * @function openConditionModal\n * @param {Object} config - The configuration object containing the conditions.\n * @param {number} configIndex - The index of the configuration.\n * @param {Object} condition - The condition to be edited (if any).\n * @param {number} index - The index of the condition to be edited.\n */\n const openConditionModal = async (config, configIndex, condition, index) => {\n setSelectedConfig(config);\n setSelectedConfigIndex(configIndex);\n if (condition) {\n setSelectedCondition(condition);\n setConditionEditMode(true);\n setNewCondition(JSON.parse(JSON.stringify(condition)));\n\n setTypeConfigurationData(condition?.notificaitonConfigsType || []);\n setSelectedIndex(index);\n } else {\n setSelectedCondition({});\n setNewCondition({});\n setTypeConfigurationData([]);\n setConditionEditMode(false);\n }\n setNewType({});\n handleOverlayState();\n };\n\n /**\n * Handles changes to the query text in the notification configuration.\n *\n * @function handleTextChange\n * @param {number} index - The index of the configuration being updated.\n * @param {string} value - The new query value.\n */\n const handleTextChange = (index, value) => {\n const newConfig = [...notificationConfigDetails];\n newConfig[index].query = value; // Update the query in the configuration\n setNotificationConfigDetails(newConfig);\n };\n\n /**\n * Adds a new notification configuration to the list.\n *\n * @async\n * @function addConfiguration\n */\n const addConfiguration = async () => {\n let configuration = [...notificationConfigDetails];\n let addconfiguration = true;\n notificationConfigDetails.forEach((notification, index) => {\n if (notification.query === \"\") {\n addconfiguration = false;\n const fieldPath = `notificationConfigDetails.${index}.query`;\n\n setError(fieldPath, { type: \"manual\", message: \"Query Required\" });\n }\n });\n if (addconfiguration) {\n configuration.push({ query: \"\", conditions: [], queryParam: null });\n setNotificationConfigDetails(configuration);\n }\n };\n\n /**\n * Adds or edits a type configuration associated with a condition.\n *\n * @async\n * @function addTypeConfig\n * @param {Object} config - The type configuration configuration.push({ query: '', conditions: [], queryParam: null });\n setNotificationConfigDetails(configuration); to add or edit.\n * @param {number} index - The index of the configuration being edited (if applicable).\n */\n const addTypeConfig = async (config, index) => {\n if (config) {\n config.index = index;\n setSelectedTypeConfig(config);\n setNewType({\n ...JSON.parse(JSON.stringify(config)),\n implicitParam: selectedConfig.implicitParam,\n });\n setTypeEditMode(true);\n } else {\n setNewType({ ...newType, implicitParam: selectedConfig.implicitParam });\n setTypeEditMode(false);\n }\n openAddConfigurationModal();\n };\n\n /**\n * Opens the modal for adding or editing a type configuration.\n *\n * @function openAddConfigurationModal\n */\n const openAddConfigurationModal = () => {\n setToggleOtherOpen((cur) => !cur);\n };\n\n /**\n * Handles the addition of a new type configuration.\n *\n * @function handleOtherTypeConfiguration\n * @param {Object} data - The type configuration data to add.\n */\n const handleOtherTypeConfiguration = (data) => {\n if (typeEditMode) {\n const updatedData = typeConfigurationData.map((item, index) => {\n if (index === data.index) {\n return { ...item, ...data };\n }\n return item;\n });\n setTypeConfigurationData(updatedData);\n } else {\n setTypeConfigurationData([...typeConfigurationData, data]);\n }\n addTypeConfiguration(data);\n };\n\n /**\n * Deletes a specific type configuration from the list.\n *\n * @function handleTypeConfigurationDelete\n * @param {number} index - The index of the type configuration to delete.\n */\n const handleTypeConfigurationDelete = (index) => {\n setTypeConfigurationData((prevData) =>\n prevData.filter((_, i) => i !== index)\n );\n };\n\n /**\n * Initiates the editing of a type configuration by setting it as the selected type configuration.\n *\n * @function handleTypeConfigurationEdit\n * @param {number} index - The index of the type configuration to edit.\n */\n const handleTypeConfigurationEdit = (index) => {\n addTypeConfig(typeConfigurationData[index], index);\n };\n\n /**\n * Adds a type configuration to the new condition being created or edited.\n *\n * @function addTypeConfiguration\n * @param {Object} data - The type configuration data to add.\n */\n const addTypeConfiguration = (data) => {\n let condition = { ...newCondition };\n if (!newCondition.notificaitonConfigsType) {\n condition.notificaitonConfigsType = [];\n }\n if (typeEditMode) {\n condition.notificaitonConfigsType[selectedTypeConfig.index] = data;\n } else {\n condition.notificaitonConfigsType.push(data);\n }\n\n setNewCondition(condition);\n setNewType({});\n };\n\n const trackEvent = useTrackEvent();\n\n /**\n * Updates the new condition data based on the provided input.\n * If in edit mode, it updates an existing condition; otherwise, it adds a new one.\n *\n * @function setNewConditionData\n * @param {Object} data - The data to set for the new condition.\n * @param {boolean} conditionEditMode - A flag indicating if the condition is being edited.\n */\n const setNewConditionData = (data) => {\n if (conditionEditMode) {\n const notificationConfigDetail = [...notificationConfigDetails];\n setNewCondition({ ...newCondition, ...data });\n let conditions = { ...newCondition, ...data };\n notificationConfigDetail[selectedConfigIndex].conditions[selectedIndex] =\n conditions;\n setNotificationConfigDetails(notificationConfigDetail);\n setTypeConfigurationData([]);\n } else {\n const notificationConfigDetail = [...notificationConfigDetails];\n setNewCondition({ ...newCondition, ...data });\n let conditions = { ...newCondition, ...data };\n notificationConfigDetail[selectedConfigIndex].conditions.push(conditions);\n setNotificationConfigDetails(notificationConfigDetail);\n setTypeConfigurationData([]);\n }\n };\n\n /**\n * Updates the new type data based on the provided input.\n *\n * @function setNewTypeData\n * @param {Object} data - The data to set for the new type.\n */\n const setNewTypeData = (data) => {\n setNewType({ ...newType, ...data });\n };\n\n return (\n <>\n <ManageEventConfigurationSkeleton isLoading={isLoading}>\n <Card\n className=\"manage-eventConfiguration-type-body\"\n component=\"form\"\n ref={formRef}\n onSubmit={handleSubmit(submit)}\n data-testid=\"manageeventconfiguration-form\"\n >\n <CardHeader\n className=\"p-2.5 px-5 flex border-b text-customBlue\"\n subheader={translate(\n `${id ? \"UPDATE\" : \"ADD\"} EVENT CONFIGURATION`,\n )}\n slotProps={{\n subheader: { className: \"font-medium text-lg text-customBlue\" },\n }}\n data-testid=\"manageeventconfiguration-cardheader-subheader\"\n />\n <CardContent data-testid=\"manageeventconfiguration-cardcontent\">\n <Grid container spacing={2}>\n <Grid\n item\n size={{ xs: 12, sm: 6 }}\n data-testid=\"manageeventconfiguration-name-field\"\n >\n <FormControl variant=\"outlined\" className=\"w-full\">\n <Typography variant=\"body2\">\n {translate(\"Name\")}\n <span className=\"text-red-500 ml-1\">*</span>\n </Typography>\n <Box className=\"w-full\">\n <CustomTextField\n control={control}\n id=\"name\"\n name=\"name\"\n errors={errors}\n label=\"\"\n size=\"small\"\n dataTestId=\"manageeventconfiguration-name-textfield\"\n />\n </Box>\n </FormControl>\n </Grid>\n <Grid\n item\n size={{ xs: 12, sm: 6 }}\n data-testid=\"manageeventconfiguration-description-field\"\n >\n <FormControl variant=\"outlined\" className=\"w-full\">\n <Typography variant=\"body2\">\n {translate(\"Description\")}\n </Typography>\n <Box className=\"w-full\">\n <CustomTextArea\n control={control}\n id=\"description\"\n name=\"description\"\n errors={errors}\n label=\"\"\n minRows={2}\n data-testid=\"manageeventconfiguration-description-textarea\"\n />\n </Box>\n </FormControl>\n </Grid>\n <Grid\n item\n size={{ xs: 12, sm: 6 }}\n data-testid=\"manageeventconfiguration-eventtype-field\"\n >\n <FormControl variant=\"outlined\" className=\"w-full\">\n <Typography variant=\"body2\">\n {translate(\"Event Type\")}\n <span className=\"text-red-500 ml-1\">*</span>\n </Typography>\n <Box className=\"w-full\">\n <Controller\n name=\"eventType\"\n control={control}\n defaultValue=\"\"\n className=\"w-full\"\n render={({ field }) => (\n <Select\n className=\"w-full\"\n labelId=\"event-type-label\"\n id=\"reportgroup\"\n {...field}\n error={errors.eventType}\n size=\"small\"\n data-testid=\"manageeventconfiguration-eventtype-select\"\n >\n <MenuItem value=\"FORM_SUBMITTED\">\n <Typography variant=\"body2\">\n {translate(\"Form Submitted\")}\n </Typography>\n </MenuItem>\n <MenuItem value=\"TIMMER_BASED\">\n <Typography variant=\"body2\">\n {translate(\"Timer Based\")}\n </Typography>\n </MenuItem>\n <MenuItem value=\"MANUAL\">\n <Typography variant=\"body2\">\n {translate(\"Manual\")}\n </Typography>\n </MenuItem>\n <MenuItem value=\"RECURSION\">\n <Typography variant=\"body2\">\n {translate(\"Recursion\")}\n </Typography>\n </MenuItem>\n </Select>\n )}\n />\n {errors?.eventType && (\n <p\n className=\"error-helper-manage-event\"\n data-testid=\"custom-error-message\"\n >\n {errors?.eventType?.message}\n </p>\n )}\n </Box>\n </FormControl>\n </Grid>\n {eventType === \"FORM_SUBMITTED\" && (\n <Grid\n item\n size={{ xs: 12, sm: 6 }}\n data-testid=\"manageeventconfiguration-formtype-field\"\n >\n <FormControl variant=\"outlined\" className=\"w-full\">\n <Typography variant=\"body2\">\n {translate(\"Form Type\")}\n </Typography>\n <Box className=\"w-full\">\n <Controller\n className=\"w-full\"\n name=\"formTypeId\"\n control={control}\n defaultValue=\"\"\n render={({ field }) => (\n <Select\n {...field}\n className=\"w-full\"\n labelId=\"event-type-label\"\n displayEmpty\n size=\"small\"\n onChange={(e) => {\n const selectedId = e.target.value;\n field.onChange(selectedId);\n const selectedData = forms.find(\n (data) => data.id === selectedId,\n );\n setValue(\n \"eventTypeDetailCode\",\n selectedData?.code,\n );\n setValue(\n \"eventTypeDetailId\",\n selectedData?.detaiId || null,\n );\n }}\n data-testid=\"manageeventconfiguration-formtype-select\"\n >\n <MenuItem value=\"\">\n <Typography variant=\"body2\">\n {translate(\"Select\")}\n </Typography>\n </MenuItem>\n {forms?.map((data) => (\n <MenuItem key={data.id} value={data.id}>\n <Typography variant=\"body2\">\n {translate(data.name)}\n </Typography>\n </MenuItem>\n ))}\n </Select>\n )}\n />\n </Box>\n </FormControl>\n </Grid>\n )}\n {eventType === \"TIMMER_BASED\" && (\n <Grid\n item\n size={{ xs: 12, sm: 6 }}\n data-testid=\"manageeventconfiguration-triggerwhen-field\"\n >\n <FormControl variant=\"outlined\" className=\"w-full\">\n <Typography variant=\"body2\">\n {translate(\"Trigger When\")}\n <span className=\"text-red-500 ml-1\">*</span>\n </Typography>\n <Box className=\"w-full\">\n <Controller\n name=\"trigerWhen\"\n control={control}\n defaultValue=\"\"\n className=\"w-full\"\n render={({ field }) => (\n <Select\n className=\"w-full\"\n {...field}\n value={field.value}\n error={errors.trigerWhen}\n size=\"small\"\n data-testid=\"manageeventconfiguration-triggerwhen-select\"\n >\n <MenuItem value=\"\">\n <Typography variant=\"body2\">\n {translate(\"Select\")}\n </Typography>\n </MenuItem>\n <MenuItem value=\"IMMEDIATELY\">\n <Typography variant=\"body2\">\n {translate(\"Immediately\")}\n </Typography>\n </MenuItem>\n <MenuItem value=\"AFTER\">\n <Typography variant=\"body2\">\n {translate(\"After\")}\n </Typography>\n </MenuItem>\n <MenuItem value=\"MONTHLY\">\n <Typography variant=\"body2\">\n {translate(\"Monthly\")}\n </Typography>\n </MenuItem>\n <MenuItem value=\"WEEKLY\">\n <Typography variant=\"body2\">\n {translate(\"Weekly\")}\n </Typography>\n </MenuItem>\n <MenuItem value=\"DAILY\">\n <Typography variant=\"body2\">\n {translate(\"Daily\")}\n </Typography>\n </MenuItem>\n <MenuItem value=\"HOURLY\">\n <Typography variant=\"body2\">\n {translate(\"Hourly\")}\n </Typography>\n </MenuItem>\n <MenuItem value=\"MINUTE\">\n <Typography variant=\"body2\">\n {translate(\"Minutely\")}\n </Typography>\n </MenuItem>\n </Select>\n )}\n />\n {errors?.trigerWhen && (\n <p\n className=\"error-helper-manage-event\"\n data-testid=\"custom-error-message\"\n >\n {errors?.trigerWhen?.message}\n </p>\n )}\n </Box>\n </FormControl>\n </Grid>\n )}\n {eventType === \"TIMMER_BASED\" &&\n (trigerWhen === \"AFTER\" ||\n trigerWhen === \"MONTHLY\" ||\n trigerWhen === \"WEEKLY\") && (\n <Grid\n item\n size={{ xs: 12, sm: 6 }}\n data-testid=\"manageeventconfiguration-day-field\"\n >\n <FormControl variant=\"outlined\" className=\"w-full\">\n <Typography variant=\"body2\">\n {translate(\"day\")}\n <span className=\"text-red-500 ml-1\">*</span>\n </Typography>\n <CustomTextField\n control={control}\n id=\"day\"\n name=\"day\"\n errors={errors}\n type=\"number\"\n label=\"\"\n size=\"small\"\n dataTestId=\"manageeventconfiguration-day-textfield\"\n />\n </FormControl>\n </Grid>\n )}\n {eventType === \"TIMMER_BASED\" &&\n (trigerWhen === \"AFTER\" ||\n trigerWhen === \"MONTHLY\" ||\n trigerWhen === \"DAILY\" ||\n trigerWhen === \"WEEKLY\") && (\n <Grid\n item\n size={{ xs: 12, sm: 6 }}\n data-testid=\"manageeventconfiguration-hour-field\"\n >\n <FormControl variant=\"outlined\" className=\"w-full\">\n <Typography variant=\"body2\">\n {translate(\"Hour\")}\n <span className=\"text-red-500 ml-1\">*</span>\n </Typography>\n <CustomTextField\n control={control}\n id=\"hour\"\n name=\"hour\"\n type=\"number\"\n errors={errors}\n label=\"\"\n size=\"small\"\n dataTestId=\"manageeventconfiguration-hour-textfield\"\n />\n </FormControl>\n </Grid>\n )}\n {eventType === \"TIMMER_BASED\" &&\n trigerWhen &&\n trigerWhen !== \"IMMEDIATELY\" && (\n <Grid\n item\n size={{ xs: 12, sm: 6 }}\n data-testid=\"manageeventconfiguration-minute-field\"\n >\n <FormControl variant=\"outlined\" className=\"w-full\">\n <Typography variant=\"body2\">\n {translate(\"Minute\")}\n </Typography>\n <CustomTextField\n control={control}\n id=\"minute\"\n name=\"minute\"\n errors={errors}\n type=\"number\"\n label=\"\"\n size=\"small\"\n dataTestId=\"manageeventconfiguration-minute-textfield\"\n />\n </FormControl>\n </Grid>\n )}\n {eventType === \"RECURSION\" && (\n <Grid item size={{ xs: 12, sm: 6 }}>\n <FormControl variant=\"outlined\" className=\"w-full\">\n <Typography variant=\"body2\">\n {translate(\"Recursion Interval (in Minutes)\")}\n <span className=\"text-red-500 ml-1\">*</span>\n </Typography>\n <Box className=\"w-full\">\n <CustomTextField\n type=\"number\"\n control={control}\n id=\"recursionInterval\"\n name=\"recursionInterval\"\n errors={errors}\n label=\"\"\n size=\"small\"\n dataTestId=\"manageeventconfiguration-recursionInterval-textfield\"\n />\n </Box>\n </FormControl>\n </Grid>\n )}\n {(eventType === \"TIMMER_BASED\" || eventType === \"RECURSION\") && (\n <Grid item size={{ xs: 12, sm: 6 }}>\n <FormControl variant=\"outlined\" className=\"w-full\">\n <Typography variant=\"body2\">\n {translate(\"Reports\")}\n </Typography>\n <Box className=\"w-full\">\n <CustomDropdown\n id=\"reportUUID\"\n name=\"reportUUID\"\n displayName=\"name\"\n optionValue=\"uuid\"\n multiple\n control={control}\n options={reportList}\n />\n </Box>\n </FormControl>\n </Grid>\n )}\n {eventType === \"MANUAL\" && (\n <Grid\n item\n size={{ xs: 12, sm: 6 }}\n data-testid=\"manageeventconfiguration-event-field\"\n >\n <FormControl variant=\"outlined\" className=\"w-full\">\n <Typography variant=\"body2\">\n {translate(\"Event\")}\n </Typography>\n <Box className=\"w-full\">\n <Controller\n name=\"eventTypeDetailCode\"\n control={control}\n className=\"w-full\"\n render={({ field }) => (\n <Select\n className=\"w-full\"\n {...field}\n value={field.value}\n error={errors.eventTypeDetailCode}\n size=\"small\"\n data-testid=\"manageeventconfiguration-eventtype-detail-select\"\n >\n <MenuItem value=\"\">{translate(\"None\")}</MenuItem>\n {events &&\n Object.entries(events).map(([key, data]) => (\n <MenuItem key={key} value={key}>\n {data}\n </MenuItem>\n ))}\n </Select>\n )}\n />\n {errors?.eventTypeDetailCode && (\n <p\n className=\"error-helper-manage-event\"\n data-testid=\"manageeventconfiguration-eventtype-detail-error\"\n >\n {errors?.eventTypeDetailCode?.message}\n </p>\n )}\n </Box>\n </FormControl>\n </Grid>\n )}\n </Grid>\n <Divider className=\"m-[20px_3px]\" />\n <Grid\n container\n spacing={5}\n justifyContent=\"space-between\"\n alignItems=\"center\"\n data-testid=\"manageeventconfiguration-add-configuration\"\n >\n <Grid item>\n <Typography variant=\"body2\">\n {translate(\"Add Configuration\")}\n </Typography>\n </Grid>\n <Grid item>\n <Button\n size=\"small\"\n variant=\"contained\"\n onClick={addConfiguration}\n data-testid=\"manageeventconfiguration-add-button\"\n >\n {translate(\"Add\")}\n </Button>\n </Grid>\n </Grid>\n <Grid container className=\"w-full mt-5\">\n <Grid item className=\"w-full\">\n <TableContainer\n component={Paper}\n className=\"w-full\"\n data-testid=\"manageeventconfiguration-table-container\"\n >\n <Table sx={{ minWidth: 800 }}>\n <TableHead>\n <TableRow\n sx={{\n backgroundColor: (theme) =>\n theme.palette.mode === \"dark\"\n ? theme.palette.custom.tableHeader\n : \"var(--color-gray4)\",\n }}\n >\n <TableCell\n className=\"border border-gray-300 align-top text-[13px]\"\n data-testid=\"manageeventconfiguration-table-header-query\"\n >\n {translate(\"Query\")}\n </TableCell>\n <TableCell\n className=\"border border-gray-300 align-top text-[13px]\"\n data-testid=\"manageeventconfiguration-table-header-condition\"\n >\n {translate(\"Condition\")}\n </TableCell>\n <TableCell\n className=\"border border-gray-300 align-top text-[13px]\"\n data-testid=\"manageeventconfiguration-table-header-action\"\n >\n {translate(\"Actions\")}\n </TableCell>\n </TableRow>\n </TableHead>\n <TableBody>\n {notificationConfigDetails?.map((row, index) => (\n <TableRow\n key={index + 1}\n sx={{\n backgroundColor: (theme) => {\n const isDark = theme.palette.mode === \"dark\";\n if (index % 2 === 0) {\n // Even rows: White in light mode, deep background in dark mode\n return isDark\n ? theme.palette.background.paper\n : \"#fff\";\n } else {\n // Odd rows: Light gray in light mode, slightly lighter gray/blue in dark mode\n return isDark ? \"#1C2128\" : \"var(--color-gray4)\";\n }\n },\n // Adding a hover state that works in both modes\n \"&:hover\": {\n backgroundColor: (theme) =>\n theme.palette.mode === \"dark\"\n ? \"#21262D\"\n : \"var(--color-gray4)\",\n },\n }}\n data-testid={`manageeventconfiguration-table-row-${index}`}\n >\n <TableCell\n className=\"border border-gray-300 align-top\"\n style={{ lineHeight: bodyLineHeight }}\n data-testid={`manageeventconfiguration-table-row-${index}-query`}\n >\n <div className=\"flex flex-col items-start min-w-[300px]\">\n <FormControl\n variant=\"outlined\"\n className=\"w-full\"\n >\n <Box className=\"w-full\">\n <CustomTextArea\n required\n control={control}\n id={`notificationConfigDetails.${index}.query`}\n name={`notificationConfigDetails.${index}.query`}\n errors={errors}\n value={row.query}\n onChange={(e) => {\n setValue(\n `notificationConfigDetails.${index}.query`,\n e.target.value,\n );\n handleTextChange(index, e.target.value);\n const fieldPath = `notificationConfigDetails.${index}.query`;\n if (getValues(fieldPath) === \"\") {\n setError(fieldPath, {\n type: \"manual\",\n message: \"Query Required\",\n });\n } else {\n clearErrors(fieldPath);\n }\n }}\n onBlur={() => {\n const fieldPath = `notificationConfigDetails.${index}.query`;\n if (getValues(fieldPath) === \"\") {\n setError(fieldPath, {\n type: \"manual\",\n message: \"Query Required\",\n });\n } else {\n clearErrors(fieldPath);\n }\n setImplicitParam(row);\n }}\n label=\"\"\n minRows={5}\n maxRows={20}\n data-testid={`manageeventconfiguration-table-row-${index}-query-textarea`}\n />\n </Box>\n </FormControl>\n <td\n style={{\n whiteSpace: \"normal\",\n width: \"100%\",\n overflowWrap: \"break-word\",\n }}\n >\n <b>{row?.implicitParam}</b>\n </td>\n </div>\n </TableCell>\n <TableCell\n className=\"border border-gray-300 align-top\"\n data-testid={`manageeventconfiguration-table-row-${index}-condition`}\n >\n <div\n style={{\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"flex-start\",\n width: \"100%\",\n }}\n >\n {row?.conditions?.length > 0 ? (\n row?.conditions.map(\n (condition, conditionIndex) => (\n <div\n key={conditionIndex + 1}\n style={{ width: \"100%\" }}\n >\n <div\n style={{\n display: \"flex\",\n alignItems: \"center\",\n width: \"100%\",\n }}\n data-testid={\n \"manageeventconfiguration-condition-rows\"\n }\n >\n <Typography\n className=\"mr-1\"\n variant=\"body2\"\n >\n {condition?.condition ||\n \"No condition specified\"}\n </Typography>\n <FontAwesomeIcon\n className=\"bg-[var(--color-gray3)] text-gray-600 rounded-full p-[10px] w-[14px] h-[14px] mx-1 cursor-pointer hover:bg-gray-300 hover:text-[#11B666] transition-all\"\n icon={faPen}\n onClick={() =>\n openConditionModal(\n row,\n index,\n condition,\n conditionIndex,\n )\n }\n data-testid={`manageeventconfiguration-table-row-${index}-condition-edit-${conditionIndex}`}\n />\n <FontAwesomeIcon\n icon={faTrash}\n className=\"bg-[var(--color-gray3)] text-gray-600 rounded-full p-[10px] w-[14px] h-[14px] mx-1 cursor-pointer hover:bg-gray-300 hover:text-[var(--color-error)] transition-all\"\n onClick={() =>\n deleteCondition(\n index,\n conditionIndex,\n )\n }\n data-testid={`manageeventconfiguration-table-row-${index}-condition-delete-${conditionIndex}`}\n />\n {conditionIndex ===\n row?.conditions.length - 1 && (\n <FontAwesomeIcon\n icon={faPlus}\n onClick={() =>\n openConditionModal(row, index)\n }\n className=\"bg-[var(--color-gray3)] text-gray-600 rounded-full p-[10px] w-[14px] h-[14px] mx-1 cursor-pointer hover:bg-gray-300 hover:text-[var(--color-primary)] transition-all\"\n data-testid={`manageeventconfiguration-table-row-${index}-condition-add`}\n />\n )}\n </div>\n {conditionIndex <\n row?.conditions.length - 1 && (\n <Divider className=\"w-full m-[10px_0px]\" />\n )}\n </div>\n ),\n )\n ) : (\n <div\n className=\"flex flex-row items-center justify-between w-full mt-2 sm:mt-0 text-[14px]\"\n >\n <span className=\"mr-3 flex-1\">{translate(\"No Condition Added\")}</span>\n <div className=\"flex items-center gap-3\">\n <FontAwesomeIcon\n icon={faPlus}\n onClick={() =>\n openConditionModal(row, index)\n }\n className=\"bg-gray-200 text-gray-600 rounded-full p-2 w-[16px] h-[16px] cursor-pointer hover:bg-gray-300 hover:text-[var(--color-primary)] transition-all\"\n data-testid={`manageeventconfiguration-table-row-${index}-condition-add-empty`}\n />\n </div>\n </div>\n )}\n </div>\n </TableCell>\n\n <TableCell\n className=\"border border-gray-300 align-top\"\n data-testid={`manageeventconfiguration-table-row-${index}-action`}\n >\n <div\n style={{\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"flex-start\",\n }}\n >\n <Button\n onClick={() => {\n handleDeleteRow(index);\n const fieldPath = `notificationConfigDetails.${index}.query`;\n clearErrors(fieldPath);\n }}\n size=\"small\"\n aria-label=\"delete\"\n data-testid={`manageeventconfiguration-table-row-${index}-action-delete`}\n >\n <FontAwesomeIcon\n icon={faTrash}\n className=\"text-[19px] text-[var(--color-error)]\"\n />\n </Button>\n </div>\n </TableCell>\n </TableRow>\n ))}\n </TableBody>\n </Table>\n </TableContainer>\n </Grid>\n </Grid>\n </CardContent>\n <Divider className=\"m-[8px_0px]\" />\n <CardActions\n className=\"flex flex-col sm:flex-row justify-end gap-2\"\n data-testid=\"manageeventconfiguration-cardactions\"\n >\n <Button\n variant=\"contained\"\n color=\"secondary\"\n type=\"button\"\n size=\"small\"\n className=\"w-full sm:w-auto\"\n onClick={() => {\n trackEvent(\"button_click\", {\n button_name: \"manageeventconfiguration-back-button\",\n button_type: \"cancel\",\n button_id: \"manageeventconfiguration-back-button\",\n });\n navigate(\"/ui/medplat/notification/all\");\n }}\n data-testid=\"manageeventconfiguration-back-button\"\n >\n {translate(\"Cancel\")}\n </Button>\n <Button\n size=\"small\"\n variant=\"contained\"\n type=\"submit\"\n color=\"primary\"\n className=\"w-full sm:w-auto m-0\"\n data-testid=\"manageeventconfiguration-save-button\"\n >\n {translate(`${id ? \"Update\" : \"Save\"}`)}\n </Button>\n </CardActions>\n </Card>\n </ManageEventConfigurationSkeleton>\n <Suspense>\n <ConditionConfig\n selectedConfig={selectedConfig}\n notificationtypeMap={notificationTypeMap}\n selectedCondition={selectedCondition}\n newCondition={newCondition}\n handleTypeConfigurationDelete={handleTypeConfigurationDelete}\n handleTypeConfigurationEdit={handleTypeConfigurationEdit}\n addTypeConfig={addTypeConfig}\n setNewConditionData={setNewConditionData}\n typeConfigurationData={typeConfigurationData}\n setNewTypeData={setNewTypeData}\n overlayOpen={overlayOpen}\n handleOverlayState={handleOverlayState}\n data-testid=\"manageeventconfiguration-conditionconfig\"\n />\n </Suspense>\n <Suspense>\n {newType?.type === \"MOBILE\" ? (\n <MobileTypeEventConfigModal\n type={newType}\n open={toggleOtherOpen}\n notificationtypeMap={notificationTypeMap}\n handleClick={handleOtherTypeConfiguration}\n handleClose={() => {\n setToggleOtherOpen((cur) => !cur);\n setNewType({});\n }}\n data-testid=\"manageeventconfiguration-mobiletypeeventconfigmodal\"\n />\n ) : (\n <OtherTypeEventConfigModal\n type={newType}\n open={toggleOtherOpen}\n handleClick={handleOtherTypeConfiguration}\n handleClose={() => {\n setToggleOtherOpen((cur) => !cur);\n setNewType({});\n }}\n data-testid=\"manageeventconfiguration-othertypeeventconfigmodal\"\n />\n )}\n </Suspense>\n </>\n );\n}\n\nexport default ManageEventConfiguration;\n"],"names":["ConditionConfig","lazy","MobileTypeEventConfigModal","OtherTypeEventConfigModal","ManageEventConfiguration","translate","useTranslateProvider","formRef","useRef","submitRef","id","useParams","navigate","useNavigate","forms","setForms","useState","events","setEvents","notificationTypeMap","setNotificationTypeMap","notificationConfigDetails","setNotificationConfigDetails","selectedConfigIndex","setSelectedConfigIndex","selectedConfig","setSelectedConfig","selectedCondition","setSelectedCondition","selectedIndex","setSelectedIndex","newCondition","setNewCondition","conditionEditMode","setConditionEditMode","selectedTypeConfig","setSelectedTypeConfig","newType","setNewType","overlayOpen","setOverlayOpen","typeEditMode","setTypeEditMode","toggleOtherOpen","setToggleOtherOpen","typeConfigurationData","setTypeConfigurationData","isLoading","setIsLoading","reportList","setReportList","bodyLineHeight","handleOverlayState","validationSchema","Yup","eventType","schema","value","trigerWhen","control","handleSubmit","setValue","setError","clearErrors","getValues","watch","errors","useForm","yupResolver","useEffect","form","trackEvent","submit","data","isTimerBased","isFormSubmitted","isManual","isRecursion","needsDay","needsHour","cleanedNotificationConfigDetails","config","_a","condition","typeConfig","update","save","showToast","cur","loadInitialData","res","retrieveAllForm","manualevent","retrieveManualEvents","notificationtype","retrieveAllNotifications","notificationtypeObject","type","getReportsList","responseByid","retrieveByUUID","_c","_b","setImplicitParam","_d","key","error","clauseKeywords","sql","quote","i","character","nextCharacter","depth","selectStart","selectEnd","commas","word","namedParameters","itemStart","comma","parameter","tempParameter","aliasDepth","aliasQuote","aliasIndex","parameterName","handleDeleteRow","index","newRows","_","rowIndex","deleteCondition","configIndex","notificationConfigDetail","filteredConditions","idx","openConditionModal","handleTextChange","newConfig","addConfiguration","configuration","addconfiguration","notification","fieldPath","addTypeConfig","openAddConfigurationModal","handleOtherTypeConfiguration","updatedData","item","addTypeConfiguration","handleTypeConfigurationDelete","prevData","handleTypeConfigurationEdit","useTrackEvent","setNewConditionData","conditions","setNewTypeData","jsxs","Fragment","jsx","ManageEventConfigurationSkeleton","Card","CardHeader","CardContent","Grid","FormControl","Typography","Box","CustomTextField","CustomTextArea","Controller","field","Select","MenuItem","e","selectedId","selectedData","CustomDropdown","Divider","Button","TableContainer","Paper","Table","TableHead","TableRow","theme","TableCell","TableBody","row","isDark","conditionIndex","FontAwesomeIcon","faPen","faTrash","faPlus","CardActions","Suspense"],"mappings":"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"}