@argusoft/medplat-core 1.0.30 → 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.
- package/dist/{AccessRights-xrday-L1.js → AccessRights-DBjTQA1-.js} +395 -390
- package/dist/AccessRights-DBjTQA1-.js.map +1 -0
- package/dist/{AddFeatures-D1sU8RjY.js → AddFeatures-COj4ZTIM.js} +2 -2
- package/dist/{AddFeatures-D1sU8RjY.js.map → AddFeatures-COj4ZTIM.js.map} +1 -1
- package/dist/AddMenuConfiguration-Creeib5X.js +11223 -0
- package/dist/AddMenuConfiguration-Creeib5X.js.map +1 -0
- package/dist/AddMenuConfiguration.css +1 -1
- package/dist/{BrandsPage-DmRW5bhm-Bk1szrjI.js → BrandsPage-CdcAvaml-ZtVTX6vX.js} +43 -43
- package/dist/{BrandsPage-DmRW5bhm-Bk1szrjI.js.map → BrandsPage-CdcAvaml-ZtVTX6vX.js.map} +1 -1
- package/dist/{CategoriesPage-BsS5IQh3-B03lWRY5.js → CategoriesPage-BprQEYJw-CclreTv1.js} +109 -102
- package/dist/CategoriesPage-BprQEYJw-CclreTv1.js.map +1 -0
- package/dist/{ChangePasswordModalCore-BPsJquTS.js → ChangePasswordModalCore-DZGOkbRY.js} +3 -3
- package/dist/{ChangePasswordModalCore-BPsJquTS.js.map → ChangePasswordModalCore-DZGOkbRY.js.map} +1 -1
- package/dist/ConditionConfig-Bpm6OoV5.js +408 -0
- package/dist/ConditionConfig-Bpm6OoV5.js.map +1 -0
- package/dist/{DashboardPage-C3bKc5na-sBd9Yqbi.js → DashboardPage-CTiGSx71-CsYohJ5e.js} +32 -32
- package/dist/{DashboardPage-C3bKc5na-sBd9Yqbi.js.map → DashboardPage-CTiGSx71-CsYohJ5e.js.map} +1 -1
- package/dist/EntityManagement-BGwJGl9k.js +62 -0
- package/dist/EntityManagement-BGwJGl9k.js.map +1 -0
- package/dist/EventConfig-BY2cgGyx.js +27 -0
- package/dist/{EventConfig-BmLemzX3.js.map → EventConfig-BY2cgGyx.js.map} +1 -1
- package/dist/EventConfigurations-B-z7xHh_.js +544 -0
- package/dist/EventConfigurations-B-z7xHh_.js.map +1 -0
- package/dist/EventConfigurations.css +1 -1
- package/dist/EventsExceptionModal-DafomIv6.js +188 -0
- package/dist/EventsExceptionModal-DafomIv6.js.map +1 -0
- package/dist/EventsUi-Dl_yckSA.js +263 -0
- package/dist/EventsUi-Dl_yckSA.js.map +1 -0
- package/dist/FacilityPicker-BXa2VF7i-Dab_Jwa5.js +112 -0
- package/dist/FacilityPicker-BXa2VF7i-Dab_Jwa5.js.map +1 -0
- package/dist/{FeatureMenu-DYJmDt7q.js → FeatureMenu-Kc73yPHH.js} +9 -5
- package/dist/FeatureMenu-Kc73yPHH.js.map +1 -0
- package/dist/{FhirServerList-DuTwnngN.js → FhirServerList-CrIHMAxz.js} +16 -16
- package/dist/{FhirServerList-DuTwnngN.js.map → FhirServerList-CrIHMAxz.js.map} +1 -1
- package/dist/{FhirServerProfile-CUOwC6Wb.js → FhirServerProfile-D3aYcpwY.js} +8 -8
- package/dist/{FhirServerProfile-CUOwC6Wb.js.map → FhirServerProfile-D3aYcpwY.js.map} +1 -1
- package/dist/{FhirServerWizard-DZI8Olku.js → FhirServerWizard-Db6Hm4bQ.js} +15 -15
- package/dist/{FhirServerWizard-DZI8Olku.js.map → FhirServerWizard-Db6Hm4bQ.js.map} +1 -1
- package/dist/{GrantPermissionModal-BDN66Atn.js → GrantPermissionModal-D7iNZd0M.js} +54 -51
- package/dist/GrantPermissionModal-D7iNZd0M.js.map +1 -0
- package/dist/ImmunizationConfigurationBase-lKsJZMak.js +8060 -0
- package/dist/ImmunizationConfigurationBase-lKsJZMak.js.map +1 -0
- package/dist/InventoryPage-JadYMCzU-CzJQfQ2A.js +1017 -0
- package/dist/InventoryPage-JadYMCzU-CzJQfQ2A.js.map +1 -0
- package/dist/LocationWiseExpectedTargetPage-CjKk1aTF.js +1344 -0
- package/dist/LocationWiseExpectedTargetPage-CjKk1aTF.js.map +1 -0
- package/dist/{ManageDynamicFeature-BU0I45dd.js → ManageDynamicFeature-CuyYfx_P.js} +104 -97
- package/dist/ManageDynamicFeature-CuyYfx_P.js.map +1 -0
- package/dist/ManageEventConfiguration-DqPbn3Oi.js +1216 -0
- package/dist/ManageEventConfiguration-DqPbn3Oi.js.map +1 -0
- package/dist/ManageEventConfiguration.css +1 -1
- package/dist/ManageRole-CyfpySt9.js +981 -0
- package/dist/ManageRole-CyfpySt9.js.map +1 -0
- package/dist/{ManageUser-DCFkUMV9.js → ManageUser-Dm0l833u.js} +286 -286
- package/dist/{ManageUser-DCFkUMV9.js.map → ManageUser-Dm0l833u.js.map} +1 -1
- package/dist/{MemberProfileCard-BdUNgHRB-VywqQdFF.js → MemberProfileCard-01d_jz3w-DYHtbgMX.js} +46 -46
- package/dist/{MemberProfileCard-BdUNgHRB-VywqQdFF.js.map → MemberProfileCard-01d_jz3w-DYHtbgMX.js.map} +1 -1
- package/dist/MobileAnalytics-C9oc2yAo.js +18399 -0
- package/dist/MobileAnalytics-C9oc2yAo.js.map +1 -0
- package/dist/MobileMenuManagement-BmzTPXy7.js +231 -0
- package/dist/MobileMenuManagement-BmzTPXy7.js.map +1 -0
- package/dist/MobileTypeEventConfigModal-DodU3beR.js +752 -0
- package/dist/MobileTypeEventConfigModal-DodU3beR.js.map +1 -0
- package/dist/{NewServerManagement-Cxe0dV0O.js → NewServerManagement-BdayO78D.js} +368 -352
- package/dist/NewServerManagement-BdayO78D.js.map +1 -0
- package/dist/OtherTypeEventConfigModal-D_9S50aI.js +1414 -0
- package/dist/OtherTypeEventConfigModal-D_9S50aI.js.map +1 -0
- package/dist/{PaymentCreatePage-CIVe0P0p-25BQVpOX.js → PaymentCreatePage-D6NZBUC3-DxXf2kvH.js} +58 -58
- package/dist/{PaymentCreatePage-CIVe0P0p-25BQVpOX.js.map → PaymentCreatePage-D6NZBUC3-DxXf2kvH.js.map} +1 -1
- package/dist/{PaymentsPage-BvPe5Q9F-D2gfziwW.js → PaymentsPage-CHieGNrn-BnYCtqHd.js} +37 -37
- package/dist/{PaymentsPage-BvPe5Q9F-D2gfziwW.js.map → PaymentsPage-CHieGNrn-BnYCtqHd.js.map} +1 -1
- package/dist/{PermissionsModal-CCYkcKlC.js → PermissionsModal-Dxbkkrqe.js} +18 -18
- package/dist/PermissionsModal-Dxbkkrqe.js.map +1 -0
- package/dist/{PickupBatchLinesEditor-DHmcAG23-DL2p6IKJ.js → PickupBatchLinesEditor-QPaqFtUO-CY7BShYh.js} +2 -2
- package/dist/{PickupBatchLinesEditor-DHmcAG23-DL2p6IKJ.js.map → PickupBatchLinesEditor-QPaqFtUO-CY7BShYh.js.map} +1 -1
- package/dist/PickupCreatePage-C7_67u_u-OId8-e2a.js +801 -0
- package/dist/PickupCreatePage-C7_67u_u-OId8-e2a.js.map +1 -0
- package/dist/{PickupsPage-Ctpghavs-CUp4uIZq.js → PickupsPage-BWblMlic-CWkgeBw0.js} +132 -132
- package/dist/PickupsPage-BWblMlic-CWkgeBw0.js.map +1 -0
- package/dist/PmGuard-BvUUbU80-BpYNaDzl.js +641 -0
- package/dist/PmGuard-BvUUbU80-BpYNaDzl.js.map +1 -0
- package/dist/ProductEditPage-Dbq4vUAA-BoBmTPPL.js +1523 -0
- package/dist/ProductEditPage-Dbq4vUAA-BoBmTPPL.js.map +1 -0
- package/dist/{ProductsPage-CupVmOD4-D45a_hf-.js → ProductsPage-BI22nPb4-CQBjnc-n.js} +44 -43
- package/dist/ProductsPage-BI22nPb4-CQBjnc-n.js.map +1 -0
- package/dist/PurchaseCreatePage-C0EK9z4w-BQMTsjE7.js +724 -0
- package/dist/PurchaseCreatePage-C0EK9z4w-BQMTsjE7.js.map +1 -0
- package/dist/{PurchaseRequestDetailPage-Dg_MRY_N-D1bgTEAn.js → PurchaseRequestDetailPage-DhBuOGHZ-CWZPqzt9.js} +428 -418
- package/dist/PurchaseRequestDetailPage-DhBuOGHZ-CWZPqzt9.js.map +1 -0
- package/dist/{PurchaseRequestsPage-DPAPzpmm-mDH2IrTl.js → PurchaseRequestsPage-Bj9HUMxb-B7-AxT8m.js} +65 -65
- package/dist/{PurchaseRequestsPage-DPAPzpmm-mDH2IrTl.js.map → PurchaseRequestsPage-Bj9HUMxb-B7-AxT8m.js.map} +1 -1
- package/dist/{PurchasesPage-It1GHiXl-eH4IsF_U.js → PurchasesPage-Djl1AqD_-DXeYFMrX.js} +55 -55
- package/dist/{PurchasesPage-It1GHiXl-eH4IsF_U.js.map → PurchasesPage-Djl1AqD_-DXeYFMrX.js.map} +1 -1
- package/dist/{RoleManagement-s8iNx2Mu.js → RoleManagement-DVYufwy-.js} +3 -3
- package/dist/{RoleManagement-s8iNx2Mu.js.map → RoleManagement-DVYufwy-.js.map} +1 -1
- package/dist/Roles-BoNGJhtR.js +19 -0
- package/dist/Roles-BoNGJhtR.js.map +1 -0
- package/dist/{SaleCreatePage-C9kFmTvm-B3Y0o4CX.js → SaleCreatePage-DHBLmlBr-BlgjVsq6.js} +39 -39
- package/dist/{SaleCreatePage-C9kFmTvm-B3Y0o4CX.js.map → SaleCreatePage-DHBLmlBr-BlgjVsq6.js.map} +1 -1
- package/dist/{SalesPage-D18DCseD-BxktGDRQ.js → SalesPage-eF9Yr42z-BQ9FlXC3.js} +61 -61
- package/dist/{SalesPage-D18DCseD-BxktGDRQ.js.map → SalesPage-eF9Yr42z-BQ9FlXC3.js.map} +1 -1
- package/dist/SettingsPage-Cre-UE3r-9ntnLYsQ.js +741 -0
- package/dist/SettingsPage-Cre-UE3r-9ntnLYsQ.js.map +1 -0
- package/dist/{ShowFlywayQuery-D1y_4A1u.js → ShowFlywayQuery-DIOUdYfG.js} +26 -19
- package/dist/{ShowFlywayQuery-D1y_4A1u.js.map → ShowFlywayQuery-DIOUdYfG.js.map} +1 -1
- package/dist/{StorageUnitsPage-7EqwuMOI-BwUso1Th.js → StorageUnitsPage-CTEVuemZ-B4osG74N.js} +253 -223
- package/dist/StorageUnitsPage-CTEVuemZ-B4osG74N.js.map +1 -0
- package/dist/{SubMenu-eEDhZUvh.js → SubMenu-OO2zhKiu.js} +5 -3
- package/dist/SubMenu-OO2zhKiu.js.map +1 -0
- package/dist/{TableDetails-BtafRxXb.js → TableDetails-Cc40dEUs.js} +272 -267
- package/dist/TableDetails-Cc40dEUs.js.map +1 -0
- package/dist/{TableList-Dpo6dO7S.js → TableList-B5tX4wII.js} +316 -312
- package/dist/TableList-B5tX4wII.js.map +1 -0
- package/dist/{TransactionsPage-DrH53pVS-BkhIGB6C.js → TransactionsPage-Zuu7sjID-B-ACzvd1.js} +195 -180
- package/dist/TransactionsPage-Zuu7sjID-B-ACzvd1.js.map +1 -0
- package/dist/TransferCreatePage-DlT0nCDj-B2SdPgYB.js +635 -0
- package/dist/TransferCreatePage-DlT0nCDj-B2SdPgYB.js.map +1 -0
- package/dist/TransfersPage-DqaSvHda-G2tFa5Jq.js +600 -0
- package/dist/TransfersPage-DqaSvHda-G2tFa5Jq.js.map +1 -0
- package/dist/TypeConfiguration-EaFiOzRE.js +114 -0
- package/dist/TypeConfiguration-EaFiOzRE.js.map +1 -0
- package/dist/UserList-Cf5B-o_1.js +1904 -0
- package/dist/UserList-Cf5B-o_1.js.map +1 -0
- package/dist/Users-MC7txo1V.js +43 -0
- package/dist/{Users-Bpc4Sazd.js.map → Users-MC7txo1V.js.map} +1 -1
- package/dist/VaccineEducation-T_UE57Ef.js +231 -0
- package/dist/VaccineEducation-T_UE57Ef.js.map +1 -0
- package/dist/VaccineEducation.css +1 -0
- package/dist/VaccineEducationConfigurator-CWc20_rv.js +50948 -0
- package/dist/VaccineEducationConfigurator-CWc20_rv.js.map +1 -0
- package/dist/VaccineEducationConfigurator.css +4 -0
- package/dist/VaccineEducationList-Ok7_5EFb.js +334 -0
- package/dist/VaccineEducationList-Ok7_5EFb.js.map +1 -0
- package/dist/VialsPage-LoDaUqVv-DmMXbK8j.js +457 -0
- package/dist/VialsPage-LoDaUqVv-DmMXbK8j.js.map +1 -0
- package/dist/{constants-ClZJY2x1-MkSWn6TZ.js → constants-BTpJFQe_-CYPZIqQF.js} +166 -56
- package/dist/constants-BTpJFQe_-CYPZIqQF.js.map +1 -0
- package/dist/dashboardLayoutUtils--xUnoKPa.js +615 -0
- package/dist/dashboardLayoutUtils--xUnoKPa.js.map +1 -0
- package/dist/index-mfoqII2U.js +524 -0
- package/dist/index-mfoqII2U.js.map +1 -0
- package/dist/{index-D9YNFPn9.js → index-o8Pyt1Bt.js} +445 -439
- package/dist/index-o8Pyt1Bt.js.map +1 -0
- package/dist/index.css +1 -1
- package/dist/index.js +1 -1
- package/dist/index.lib-BySa9-Z-.js +936 -0
- package/dist/index.lib-BySa9-Z-.js.map +1 -0
- package/dist/listValueStore-5d4vNGQM-WclZ5nBG.js +43 -0
- package/dist/listValueStore-5d4vNGQM-WclZ5nBG.js.map +1 -0
- package/package.json +5 -1
- package/dist/AccessRights-xrday-L1.js.map +0 -1
- package/dist/AddMenuConfiguration-e5BVXhmw.js +0 -8547
- package/dist/AddMenuConfiguration-e5BVXhmw.js.map +0 -1
- package/dist/CategoriesPage-BsS5IQh3-B03lWRY5.js.map +0 -1
- package/dist/ConditionConfig-Ddz9halE.js +0 -395
- package/dist/ConditionConfig-Ddz9halE.js.map +0 -1
- package/dist/ConditionConfig.css +0 -1
- package/dist/EntityManagement-CPQL6qBj.js +0 -50
- package/dist/EntityManagement-CPQL6qBj.js.map +0 -1
- package/dist/EventConfig-BmLemzX3.js +0 -26
- package/dist/EventConfigurations-Bzh1qWXU.js +0 -450
- package/dist/EventConfigurations-Bzh1qWXU.js.map +0 -1
- package/dist/EventsExceptionModal-B2SRrnB1.js +0 -200
- package/dist/EventsExceptionModal-B2SRrnB1.js.map +0 -1
- package/dist/EventsSkeleton-BIcPks4T.js +0 -61
- package/dist/EventsSkeleton-BIcPks4T.js.map +0 -1
- package/dist/FacilityPicker-BiZeupmP-CyPHmj6b.js +0 -79
- package/dist/FacilityPicker-BiZeupmP-CyPHmj6b.js.map +0 -1
- package/dist/FeatureMenu-DYJmDt7q.js.map +0 -1
- package/dist/GrantPermissionModal-BDN66Atn.js.map +0 -1
- package/dist/ImmunizationConfigurationBase-Di1KO3oW.js +0 -7639
- package/dist/ImmunizationConfigurationBase-Di1KO3oW.js.map +0 -1
- package/dist/InventoryPage-C_AxSy7A-QLvlL4rE.js +0 -665
- package/dist/InventoryPage-C_AxSy7A-QLvlL4rE.js.map +0 -1
- package/dist/ManageDynamicFeature-BU0I45dd.js.map +0 -1
- package/dist/ManageEventConfiguration-CoYcpjR9.js +0 -1085
- package/dist/ManageEventConfiguration-CoYcpjR9.js.map +0 -1
- package/dist/ManageRole-CNZBRKGU.js +0 -776
- package/dist/ManageRole-CNZBRKGU.js.map +0 -1
- package/dist/MobileAnalytics-pQoE8cG1.js +0 -16888
- package/dist/MobileAnalytics-pQoE8cG1.js.map +0 -1
- package/dist/MobileMenuManagement-Cf8IZlla.js +0 -108
- package/dist/MobileMenuManagement-Cf8IZlla.js.map +0 -1
- package/dist/MobileTypeEventConfigModal-BeveaX0C.js +0 -783
- package/dist/MobileTypeEventConfigModal-BeveaX0C.js.map +0 -1
- package/dist/NewServerManagement-Cxe0dV0O.js.map +0 -1
- package/dist/OtherTypeEventConfigModal-CM6VkdmY.js +0 -2046
- package/dist/OtherTypeEventConfigModal-CM6VkdmY.js.map +0 -1
- package/dist/PermissionsModal-CCYkcKlC.js.map +0 -1
- package/dist/PickupCreatePage-CB0Sl0Hb-Mmj7zESG.js +0 -783
- package/dist/PickupCreatePage-CB0Sl0Hb-Mmj7zESG.js.map +0 -1
- package/dist/PickupsPage-Ctpghavs-CUp4uIZq.js.map +0 -1
- package/dist/PmGuard-b10TGXEi-G3N0G_Wg.js +0 -599
- package/dist/PmGuard-b10TGXEi-G3N0G_Wg.js.map +0 -1
- package/dist/ProductEditPage-C1thoKHu-URQaZ6st.js +0 -1302
- package/dist/ProductEditPage-C1thoKHu-URQaZ6st.js.map +0 -1
- package/dist/ProductsPage-CupVmOD4-D45a_hf-.js.map +0 -1
- package/dist/PurchaseCreatePage-YD3NmhPQ-2j4etSjM.js +0 -648
- package/dist/PurchaseCreatePage-YD3NmhPQ-2j4etSjM.js.map +0 -1
- package/dist/PurchaseRequestDetailPage-Dg_MRY_N-D1bgTEAn.js.map +0 -1
- package/dist/Roles-BIyiic67.js +0 -14
- package/dist/Roles-BIyiic67.js.map +0 -1
- package/dist/SettingsPage-VsxI-ano-DcmtUUEj.js +0 -747
- package/dist/SettingsPage-VsxI-ano-DcmtUUEj.js.map +0 -1
- package/dist/StorageUnitsPage-7EqwuMOI-BwUso1Th.js.map +0 -1
- package/dist/SubMenu-eEDhZUvh.js.map +0 -1
- package/dist/TableDetails-BtafRxXb.js.map +0 -1
- package/dist/TableList-Dpo6dO7S.js.map +0 -1
- package/dist/TransactionsPage-DrH53pVS-BkhIGB6C.js.map +0 -1
- package/dist/TransferCreatePage-CuvoMrYH-DTTfHjz-.js +0 -315
- package/dist/TransferCreatePage-CuvoMrYH-DTTfHjz-.js.map +0 -1
- package/dist/TransfersPage-Cf701t8s-BBbN7cBf.js +0 -476
- package/dist/TransfersPage-Cf701t8s-BBbN7cBf.js.map +0 -1
- package/dist/TypeConfiguration-3O6ABrK-.js +0 -117
- package/dist/TypeConfiguration-3O6ABrK-.js.map +0 -1
- package/dist/UserList-DgPxsnj2.js +0 -1129
- package/dist/UserList-DgPxsnj2.js.map +0 -1
- package/dist/Users-Bpc4Sazd.js +0 -41
- package/dist/VialsPage-8oAc1yFv-Cl3FUXBJ.js +0 -321
- package/dist/VialsPage-8oAc1yFv-Cl3FUXBJ.js.map +0 -1
- package/dist/constants-ClZJY2x1-MkSWn6TZ.js.map +0 -1
- package/dist/dashboardLayoutUtils-D1xCAxp3.js +0 -405
- package/dist/dashboardLayoutUtils-D1xCAxp3.js.map +0 -1
- package/dist/index-D9YNFPn9.js.map +0 -1
- package/dist/index.lib-Dn8PMkeD.js +0 -862
- package/dist/index.lib-Dn8PMkeD.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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"}
|
package/dist/{PaymentCreatePage-CIVe0P0p-25BQVpOX.js → PaymentCreatePage-D6NZBUC3-DxXf2kvH.js}
RENAMED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
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 {
|
|
7
|
-
import { S as ye } from "./MemberProfileCard-
|
|
8
|
-
import { useState as x, useMemo as
|
|
9
|
-
import { jsxs as
|
|
10
|
-
import { Box as
|
|
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,21 +20,21 @@ 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(""), [
|
|
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
|
-
paymentDate:
|
|
25
|
+
paymentDate: J,
|
|
26
26
|
paymentMode: "CASH",
|
|
27
27
|
collectingNow: "",
|
|
28
28
|
notes: ""
|
|
29
29
|
});
|
|
30
|
-
async function
|
|
30
|
+
async function K() {
|
|
31
31
|
var t, h;
|
|
32
32
|
if (!o) {
|
|
33
|
-
I(null), C(!1),
|
|
33
|
+
I(null), C(!1), b(0);
|
|
34
34
|
return;
|
|
35
35
|
}
|
|
36
36
|
if (!p) {
|
|
37
|
-
I(null),
|
|
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
|
-
|
|
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",
|
|
@@ -53,12 +53,12 @@ function Qe() {
|
|
|
53
53
|
}
|
|
54
54
|
}
|
|
55
55
|
ue("update.manage.productManagement.payment", () => {
|
|
56
|
-
|
|
56
|
+
K(), D((t) => ({
|
|
57
57
|
...t,
|
|
58
58
|
collectingNow: ""
|
|
59
59
|
}));
|
|
60
60
|
}, [o]);
|
|
61
|
-
let c = Number((
|
|
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, {
|
|
@@ -81,7 +81,7 @@ function Qe() {
|
|
|
81
81
|
return;
|
|
82
82
|
}
|
|
83
83
|
try {
|
|
84
|
-
await
|
|
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:
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
110
|
+
actions: /* @__PURE__ */ a(u, {
|
|
111
111
|
direction: "row",
|
|
112
112
|
spacing: 1,
|
|
113
113
|
children: [/* @__PURE__ */ e(Q, {
|
|
@@ -138,7 +138,7 @@ function Qe() {
|
|
|
138
138
|
borderRadius: 1.5,
|
|
139
139
|
mb: 2
|
|
140
140
|
},
|
|
141
|
-
children: /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
164
|
+
children: /* @__PURE__ */ a(P, { children: [E ? /* @__PURE__ */ e(xe, { sx: { mb: 2 } }) : null, /* @__PURE__ */ e(ke, {
|
|
165
165
|
total: c,
|
|
166
|
-
oldestDueDays:
|
|
167
|
-
oldestDueDate:
|
|
168
|
-
lastSaleDays:
|
|
169
|
-
lastSaleDate:
|
|
166
|
+
oldestDueDays: U,
|
|
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__ */
|
|
179
|
-
/* @__PURE__ */
|
|
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__ */
|
|
188
|
+
}), /* @__PURE__ */ a(s, {
|
|
189
189
|
variant: "caption",
|
|
190
190
|
color: "text.secondary",
|
|
191
191
|
children: [
|
|
192
|
-
((
|
|
192
|
+
((n == null ? void 0 : n.openSales) ?? []).length,
|
|
193
193
|
" ",
|
|
194
|
-
((
|
|
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__ */
|
|
205
|
+
}) : /* @__PURE__ */ e(we, { children: /* @__PURE__ */ a(De, {
|
|
206
206
|
size: "small",
|
|
207
|
-
children: [/* @__PURE__ */ e(ve, { children: /* @__PURE__ */
|
|
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: ((
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
299
|
-
/* @__PURE__ */
|
|
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(
|
|
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__ */
|
|
345
|
+
/* @__PURE__ */ a(u, {
|
|
346
346
|
spacing: 1.25,
|
|
347
347
|
children: [
|
|
348
|
-
/* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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
|
|
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:
|
|
454
|
+
color: n,
|
|
455
455
|
fontVariantNumeric: "tabular-nums"
|
|
456
456
|
},
|
|
457
457
|
children: k
|
|
458
458
|
}),
|
|
459
|
-
|
|
459
|
+
b ? /* @__PURE__ */ e(s, {
|
|
460
460
|
variant: "caption",
|
|
461
461
|
color: "text.secondary",
|
|
462
|
-
children:
|
|
462
|
+
children: b
|
|
463
463
|
}) : null
|
|
464
464
|
]
|
|
465
465
|
});
|
|
466
|
-
return /* @__PURE__ */
|
|
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
|
-
|
|
474
|
-
|
|
475
|
-
|
|
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-
|
|
482
|
+
//# sourceMappingURL=PaymentCreatePage-D6NZBUC3-DxXf2kvH.js.map
|