@argusoft/medplat-core 1.0.29 → 1.0.31
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-DUgY6ewy.js +1031 -0
- package/dist/AccessRights-DUgY6ewy.js.map +1 -0
- package/dist/AddEditQueryBuilder-D-iQiVIe.js +365 -0
- package/dist/AddEditQueryBuilder-D-iQiVIe.js.map +1 -0
- package/dist/{AddFeatures-v3TmGQee.js → AddFeatures-D1sU8RjY.js} +2 -2
- package/dist/{AddFeatures-v3TmGQee.js.map → AddFeatures-D1sU8RjY.js.map} +1 -1
- package/dist/AddLabelModal-Bq-wRqv9.js +631 -0
- package/dist/AddLabelModal-Bq-wRqv9.js.map +1 -0
- package/dist/AddMenuConfiguration-c6ZKiN0i.js +8898 -0
- package/dist/AddMenuConfiguration-c6ZKiN0i.js.map +1 -0
- package/dist/AppModal-CCtrQ5Tr.js +394 -0
- package/dist/AppModal-CCtrQ5Tr.js.map +1 -0
- package/dist/BrandsPage-DMw2vT0u-BVhvhc6J.js +387 -0
- package/dist/BrandsPage-DMw2vT0u-BVhvhc6J.js.map +1 -0
- package/dist/CategoriesPage-D3ihx9Gi-CT58g0ry.js +398 -0
- package/dist/CategoriesPage-D3ihx9Gi-CT58g0ry.js.map +1 -0
- package/dist/{ChangePasswordModalCore-DutQAZOx.js → ChangePasswordModalCore-lQ9GamH1.js} +1605 -1610
- package/dist/ChangePasswordModalCore-lQ9GamH1.js.map +1 -0
- package/dist/ConditionConfig-BQBmBHaM.js +408 -0
- package/dist/ConditionConfig-BQBmBHaM.js.map +1 -0
- package/dist/DashboardPage-asr2XDRu-uOOlX9Vq.js +435 -0
- package/dist/DashboardPage-asr2XDRu-uOOlX9Vq.js.map +1 -0
- package/dist/EventConfig-BY2cgGyx.js +27 -0
- package/dist/EventConfig-BY2cgGyx.js.map +1 -0
- package/dist/EventConfigurations-CUPEN5BV.js +544 -0
- package/dist/EventConfigurations-CUPEN5BV.js.map +1 -0
- package/dist/EventConfigurations.css +1 -1
- package/dist/EventsExceptionModal-BX-ArkBE.js +188 -0
- package/dist/EventsExceptionModal-BX-ArkBE.js.map +1 -0
- package/dist/EventsUi-D6O9S7BK.js +258 -0
- package/dist/EventsUi-D6O9S7BK.js.map +1 -0
- package/dist/FacilityPicker-DYl_PDyt-Cbwo2tAY.js +79 -0
- package/dist/FacilityPicker-DYl_PDyt-Cbwo2tAY.js.map +1 -0
- package/dist/FeatureMenu-CHsBbw3W.js +525 -0
- package/dist/FeatureMenu-CHsBbw3W.js.map +1 -0
- package/dist/{FhirServerList-Dkq7Kbes.js → FhirServerList-iXBPkRVF.js} +22 -22
- package/dist/{FhirServerList-Dkq7Kbes.js.map → FhirServerList-iXBPkRVF.js.map} +1 -1
- package/dist/{FhirServerWizard-Db6Hm4bQ.js → FhirServerWizard-DZI8Olku.js} +15 -15
- package/dist/{FhirServerWizard-Db6Hm4bQ.js.map → FhirServerWizard-DZI8Olku.js.map} +1 -1
- package/dist/FlywayQuery-CQygj51V.js +179 -0
- package/dist/FlywayQuery-CQygj51V.js.map +1 -0
- package/dist/GrantPermissionModal-D7iNZd0M.js +239 -0
- package/dist/GrantPermissionModal-D7iNZd0M.js.map +1 -0
- package/dist/ImmunizationConfigurationBase-aUtx0JEe.js +8019 -0
- package/dist/ImmunizationConfigurationBase-aUtx0JEe.js.map +1 -0
- package/dist/ImmunizationConfigurationBase.css +1 -1
- package/dist/ImmunizationConfigurationsList-TZcLDEci.js +369 -0
- package/dist/ImmunizationConfigurationsList-TZcLDEci.js.map +1 -0
- package/dist/InventoryPage-DOotGZrj-CoPjOJEI.js +665 -0
- package/dist/InventoryPage-DOotGZrj-CoPjOJEI.js.map +1 -0
- package/dist/LanguagesModal-B3NTebYT.js +352 -0
- package/dist/LanguagesModal-B3NTebYT.js.map +1 -0
- package/dist/ManageDynamicFeature-BU0I45dd.js +4475 -0
- package/dist/ManageDynamicFeature-BU0I45dd.js.map +1 -0
- package/dist/ManageEventConfiguration-DqW3krT6.js +1216 -0
- package/dist/ManageEventConfiguration-DqW3krT6.js.map +1 -0
- package/dist/ManageEventConfiguration.css +1 -1
- package/dist/{ManageNotification-CfhHlfxA.js → ManageNotification-C5MhV77Q.js} +2 -2
- package/dist/{ManageNotification-CfhHlfxA.js.map → ManageNotification-C5MhV77Q.js.map} +1 -1
- package/dist/{ManageRole-4Y2PP4dQ.js → ManageRole-CNZBRKGU.js} +2 -2
- package/dist/{ManageRole-4Y2PP4dQ.js.map → ManageRole-CNZBRKGU.js.map} +1 -1
- package/dist/ManageTranslation-vRiptUAP.js +833 -0
- package/dist/ManageTranslation-vRiptUAP.js.map +1 -0
- package/dist/ManageTranslation.css +1 -1
- package/dist/{ManageUser-DDzyd9jm.js → ManageUser-DZltBina.js} +224 -224
- package/dist/{ManageUser-DDzyd9jm.js.map → ManageUser-DZltBina.js.map} +1 -1
- package/dist/MemberProfileCard-D5CgkTdJ-D2NgDJl3.js +272 -0
- package/dist/MemberProfileCard-D5CgkTdJ-D2NgDJl3.js.map +1 -0
- package/dist/MobileAnalytics-BLOionG_.js +17301 -0
- package/dist/MobileAnalytics-BLOionG_.js.map +1 -0
- package/dist/MobileMenuManagement-68Wijb0X.js +220 -0
- package/dist/MobileMenuManagement-68Wijb0X.js.map +1 -0
- package/dist/MobileTypeEventConfigModal-CMcj7Ozp.js +752 -0
- package/dist/MobileTypeEventConfigModal-CMcj7Ozp.js.map +1 -0
- package/dist/NotificationFlywayQuery-BAHVjf6N.js +247 -0
- package/dist/NotificationFlywayQuery-BAHVjf6N.js.map +1 -0
- package/dist/{NotificationList-BMFpNUJG.js → NotificationList-DEyRZEuM.js} +2 -2
- package/dist/{NotificationList-BMFpNUJG.js.map → NotificationList-DEyRZEuM.js.map} +1 -1
- package/dist/OtherTypeEventConfigModal-stNmuSv_.js +1812 -0
- package/dist/OtherTypeEventConfigModal-stNmuSv_.js.map +1 -0
- package/dist/PaymentCreatePage-DfvSZ-kB-CckogYoe.js +482 -0
- package/dist/PaymentCreatePage-DfvSZ-kB-CckogYoe.js.map +1 -0
- package/dist/PaymentsPage-DMNjYWAJ-ChO9IXmk.js +157 -0
- package/dist/PaymentsPage-DMNjYWAJ-ChO9IXmk.js.map +1 -0
- package/dist/PermissionsModal-CCYkcKlC.js +151 -0
- package/dist/PermissionsModal-CCYkcKlC.js.map +1 -0
- package/dist/PickupBatchLinesEditor-CE2RuyJT-BPceiJr8.js +119 -0
- package/dist/PickupBatchLinesEditor-CE2RuyJT-BPceiJr8.js.map +1 -0
- package/dist/PickupCreatePage-B4O_-vE5-DoOo9nJO.js +783 -0
- package/dist/PickupCreatePage-B4O_-vE5-DoOo9nJO.js.map +1 -0
- package/dist/PickupsPage-D7zyioJB-bHKnARYw.js +818 -0
- package/dist/PickupsPage-D7zyioJB-bHKnARYw.js.map +1 -0
- package/dist/PmGuard-BZE-y4In-D_pUm5MP.js +599 -0
- package/dist/PmGuard-BZE-y4In-D_pUm5MP.js.map +1 -0
- package/dist/ProductEditPage-BVlVUCtD-BR-tJ5Wb.js +1305 -0
- package/dist/ProductEditPage-BVlVUCtD-BR-tJ5Wb.js.map +1 -0
- package/dist/ProductsPage-DvNHIeZt-BoOOJJtk.js +253 -0
- package/dist/ProductsPage-DvNHIeZt-BoOOJJtk.js.map +1 -0
- package/dist/PurchaseCreatePage-Cq_i9snz-DRtHHFWw.js +675 -0
- package/dist/PurchaseCreatePage-Cq_i9snz-DRtHHFWw.js.map +1 -0
- package/dist/PurchaseRequestDetailPage-CA9KFOfE-CtjG4Gx6.js +1577 -0
- package/dist/PurchaseRequestDetailPage-CA9KFOfE-CtjG4Gx6.js.map +1 -0
- package/dist/PurchaseRequestsPage-DS9i4o0--TpoxA5Kd.js +279 -0
- package/dist/PurchaseRequestsPage-DS9i4o0--TpoxA5Kd.js.map +1 -0
- package/dist/PurchasesPage-DgL5T6BY-DePUuE9l.js +293 -0
- package/dist/PurchasesPage-DgL5T6BY-DePUuE9l.js.map +1 -0
- package/dist/QueryBuilder-CXaBe6sr.js +478 -0
- package/dist/QueryBuilder-CXaBe6sr.js.map +1 -0
- package/dist/{RoleManagement-DEiBNfT8.js → RoleManagement-s8iNx2Mu.js} +145 -155
- package/dist/RoleManagement-s8iNx2Mu.js.map +1 -0
- package/dist/Roles-BIyiic67.js +14 -0
- package/dist/Roles-BIyiic67.js.map +1 -0
- package/dist/SaleCreatePage-CZnIOydv-DKBw-qp7.js +544 -0
- package/dist/SaleCreatePage-CZnIOydv-DKBw-qp7.js.map +1 -0
- package/dist/SalesPage-DPIRrC_O-M8rqnK7z.js +315 -0
- package/dist/SalesPage-DPIRrC_O-M8rqnK7z.js.map +1 -0
- package/dist/SettingsPage-BC_R6Z-Q-CKNt9zRu.js +676 -0
- package/dist/SettingsPage-BC_R6Z-Q-CKNt9zRu.js.map +1 -0
- package/dist/ShowFlywayQuery-D10Olk5Z.js +154 -0
- package/dist/ShowFlywayQuery-D10Olk5Z.js.map +1 -0
- package/dist/{ShowFlywayQuery-DVRCd384.js → ShowFlywayQuery-DIOUdYfG.js} +170 -123
- package/dist/ShowFlywayQuery-DIOUdYfG.js.map +1 -0
- package/dist/ShowQueryHistory-DRBKYDKk.js +313 -0
- package/dist/ShowQueryHistory-DRBKYDKk.js.map +1 -0
- package/dist/StorageUnitsPage-BDRkdCjW-UF64rf7q.js +728 -0
- package/dist/StorageUnitsPage-BDRkdCjW-UF64rf7q.js.map +1 -0
- package/dist/SubMenu-BdMTYtC1.js +319 -0
- package/dist/SubMenu-BdMTYtC1.js.map +1 -0
- package/dist/TransactionsPage-CqWTMNU8-Df6eGFDW.js +746 -0
- package/dist/TransactionsPage-CqWTMNU8-Df6eGFDW.js.map +1 -0
- package/dist/TransferCreatePage-DF7FZaTJ-CL79V3aR.js +315 -0
- package/dist/TransferCreatePage-DF7FZaTJ-CL79V3aR.js.map +1 -0
- package/dist/TransfersPage-CGrRFaBF-cTwBUv0o.js +476 -0
- package/dist/TransfersPage-CGrRFaBF-cTwBUv0o.js.map +1 -0
- package/dist/TypeConfiguration-JbRCN6GR.js +114 -0
- package/dist/TypeConfiguration-JbRCN6GR.js.map +1 -0
- package/dist/{UserList-Bc8gYxRL.js → UserList-L41Xw0Q6.js} +253 -236
- package/dist/{UserList-Bc8gYxRL.js.map → UserList-L41Xw0Q6.js.map} +1 -1
- package/dist/Users-CsJ08Kjm.js.map +1 -1
- package/dist/VialsPage-rvvXjgZG-Oqo1v6kQ.js +321 -0
- package/dist/VialsPage-rvvXjgZG-Oqo1v6kQ.js.map +1 -0
- package/dist/constants-DpXnLsAB-D6lN5cjK.js +445 -0
- package/dist/constants-DpXnLsAB-D6lN5cjK.js.map +1 -0
- package/dist/{dashboardLayoutUtils-D1xCAxp3.js → dashboardLayoutUtils-CJivzaU1.js} +95 -92
- package/dist/dashboardLayoutUtils-CJivzaU1.js.map +1 -0
- package/dist/format-UOyOu75i-D0GyylyQ.js +63 -0
- package/dist/format-UOyOu75i-D0GyylyQ.js.map +1 -0
- package/dist/index.css +1 -1
- package/dist/index.js +1 -1
- package/dist/index.lib-ETRQOzvE.js +894 -0
- package/dist/index.lib-ETRQOzvE.js.map +1 -0
- package/dist/listValueStore-BFQtDYIR-Bj0yX145.js +36 -0
- package/dist/listValueStore-BFQtDYIR-Bj0yX145.js.map +1 -0
- package/dist/useFieldErrors-hDG8ox_x-DbSAzrGo.js +28 -0
- package/dist/useFieldErrors-hDG8ox_x-DbSAzrGo.js.map +1 -0
- package/dist/validation-BzlHnL-r-CCJm2utQ.js +125 -0
- package/dist/validation-BzlHnL-r-CCJm2utQ.js.map +1 -0
- package/package.json +4 -3
- package/dist/AccessRights-Zm8Obm4N.js +0 -1284
- package/dist/AccessRights-Zm8Obm4N.js.map +0 -1
- package/dist/AddEditQueryBuilder-Brdnm6rQ.js +0 -313
- package/dist/AddEditQueryBuilder-Brdnm6rQ.js.map +0 -1
- package/dist/AddLabelModal-DFllBVcd.js +0 -734
- package/dist/AddLabelModal-DFllBVcd.js.map +0 -1
- package/dist/AddMenuConfiguration-Ce91MhnU.js +0 -8547
- package/dist/AddMenuConfiguration-Ce91MhnU.js.map +0 -1
- package/dist/AppModal-CtG2GjD_.js +0 -428
- package/dist/AppModal-CtG2GjD_.js.map +0 -1
- package/dist/ChangePasswordModalCore-DutQAZOx.js.map +0 -1
- package/dist/ConditionConfig-B4Ffpgj3.js +0 -395
- package/dist/ConditionConfig-B4Ffpgj3.js.map +0 -1
- package/dist/ConditionConfig.css +0 -1
- package/dist/EventConfigurations-BJcURufo.js +0 -449
- package/dist/EventConfigurations-BJcURufo.js.map +0 -1
- package/dist/EventsExceptionModal-BlZtBQoR.js +0 -200
- package/dist/EventsExceptionModal-BlZtBQoR.js.map +0 -1
- package/dist/EventsSkeleton-DK6JDKAK.js +0 -83
- package/dist/EventsSkeleton-DK6JDKAK.js.map +0 -1
- package/dist/FeatureMenu-C3503UIX.js +0 -265
- package/dist/FeatureMenu-C3503UIX.js.map +0 -1
- package/dist/FlywayQuery-Cx2sly6g.js +0 -169
- package/dist/FlywayQuery-Cx2sly6g.js.map +0 -1
- package/dist/ImmunizationConfigurationBase-DLQVSNnt.js +0 -5895
- package/dist/ImmunizationConfigurationBase-DLQVSNnt.js.map +0 -1
- package/dist/ImmunizationConfigurationsList-DdSZicTP.js +0 -344
- package/dist/ImmunizationConfigurationsList-DdSZicTP.js.map +0 -1
- package/dist/LanguagesModal-D6VfaGrl.js +0 -394
- package/dist/LanguagesModal-D6VfaGrl.js.map +0 -1
- package/dist/ManageDynamicFeature-dt096fyj.js +0 -4189
- package/dist/ManageDynamicFeature-dt096fyj.js.map +0 -1
- package/dist/ManageEventConfiguration-BpSJszSX.js +0 -1017
- package/dist/ManageEventConfiguration-BpSJszSX.js.map +0 -1
- package/dist/ManageTranslation-B4C9-lWD.js +0 -625
- package/dist/ManageTranslation-B4C9-lWD.js.map +0 -1
- package/dist/MobileMenuManagement-Cf8IZlla.js +0 -108
- package/dist/MobileMenuManagement-Cf8IZlla.js.map +0 -1
- package/dist/MobileTypeEventConfigModal-DUkUYACe.js +0 -783
- package/dist/MobileTypeEventConfigModal-DUkUYACe.js.map +0 -1
- package/dist/NotificationFlywayQuery-BY8Zzml_.js +0 -244
- package/dist/NotificationFlywayQuery-BY8Zzml_.js.map +0 -1
- package/dist/OtherTypeEventConfigModal-CYBfr2XE.js +0 -2046
- package/dist/OtherTypeEventConfigModal-CYBfr2XE.js.map +0 -1
- package/dist/QueryBuilder-z7eqfd7D.js +0 -383
- package/dist/QueryBuilder-z7eqfd7D.js.map +0 -1
- package/dist/RoleManagement-DEiBNfT8.js.map +0 -1
- package/dist/ShowFlywayQuery-DVRCd384.js.map +0 -1
- package/dist/ShowFlywayQuery-tj42YQAS.js +0 -130
- package/dist/ShowFlywayQuery-tj42YQAS.js.map +0 -1
- package/dist/ShowQueryHistory-BDN0tzHg.js +0 -190
- package/dist/ShowQueryHistory-BDN0tzHg.js.map +0 -1
- package/dist/SubMenu-B072oEGb.js +0 -191
- package/dist/SubMenu-B072oEGb.js.map +0 -1
- package/dist/TypeConfiguration-C3xoP2Nb.js +0 -117
- package/dist/TypeConfiguration-C3xoP2Nb.js.map +0 -1
- package/dist/dashboardLayoutUtils-D1xCAxp3.js.map +0 -1
- package/dist/index.lib-C3fwoM3y.js +0 -820
- package/dist/index.lib-C3fwoM3y.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ManageEventConfiguration-BpSJszSX.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 const fromPattern = /\\bFROM\\b/gi;\n const selectPattern = /\\bSELECT\\b/gi;\n\n if (config?.query) {\n const fromCount = (config.query.match(fromPattern) || []).length;\n const selectCount = (config.query.match(selectPattern) || []).length;\n let namedParameters;\n\n if (selectCount > 0) {\n if (fromCount > 1 && fromCount === selectCount) {\n namedParameters = config.query\n .substring(6, config.query.search(/\\bfrom\\b(?!(.|\\n)*(from))/i))\n // eslint-disable-next-line no-useless-escape\n .match(/(\\w*\\(.*?\\) as \\w*|[^\\(\\),]+)(?=\\s*,|\\s*$)/g);\n } else if (fromCount !== selectCount) {\n namedParameters = config.query\n .substring(6)\n // eslint-disable-next-line no-useless-escape\n .match(/(\\w*\\(.*?\\) as \\w*|[^\\(\\),]+)(?=\\s*,|\\s*$)/gi);\n } else if (fromCount === 1 && fromCount === selectCount) {\n namedParameters = config.query\n .substring(6, config.query.toLowerCase().indexOf(\"from\"))\n // eslint-disable-next-line no-useless-escape\n .match(/(\\w*\\(.*?\\) as \\w*|[^\\(\\),]+)(?=\\s*,|\\s*$)/gi);\n } else {\n namedParameters = config.query\n .substring(6)\n // eslint-disable-next-line no-useless-escape\n .match(/(\\w*\\(.*?\\) as \\w*|[^\\(\\),]+)(?=\\s*,|\\s*$)/gi);\n }\n\n const finalParameters = namedParameters?.filter(\n (parameter) => parameter.trim().length > 0\n );\n finalParameters?.forEach((parameter) => {\n let tempParameter = parameter.trim();\n if (tempParameter.toLowerCase().indexOf(\"as\") === 0) {\n tempParameter = parameter;\n }\n if (tempParameter.endsWith(\";\")) {\n tempParameter = tempParameter.slice(0, -1);\n }\n if (tempParameter !== \"*\") {\n const aliasIndex = tempParameter.toLowerCase().lastIndexOf(\" as \");\n if (aliasIndex >= 0) {\n const parameterWithAlias = tempParameter\n .substring(aliasIndex + 4)\n .trim();\n config.implicitParam.push(\"#\" + parameterWithAlias + \"#\");\n } else {\n config.implicitParam.push(\"#\" + tempParameter + \"#\");\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","fromPattern","selectPattern","fromCount","selectCount","namedParameters","finalParameters","parameter","tempParameter","aliasIndex","parameterWithAlias","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","i","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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"}
|