@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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ManageNotification-CfhHlfxA.js","sources":["../src/views/Notifications/ManageNotification.jsx"],"sourcesContent":["import { yupResolver } from \"@hookform/resolvers/yup\";\nimport {\n Button,\n Drawer,\n Table,\n TableBody,\n TableCell,\n TableContainer,\n TableHead,\n TableRow,\n Typography,\n Popover,\n RadioGroup,\n FormControl,\n FormControlLabel,\n Radio,\n} from \"@mui/material\";\nimport { Grid, Stack } from \"@mui/system\";\nimport PropTypes from \"prop-types\";\nimport { useForm } from \"react-hook-form\";\nimport * as yup from \"yup\";\nimport CustomDropdown from \"@/views/custom-components/CustomDropdown\";\nimport CustomTextField from \"@/views/custom-components/CustomTextField\";\nimport React, { useEffect, useState, useRef } from \"react\";\nimport { showToast } from \"@/common/toaster/toaster\";\nimport CustomTextArea from \"@/views/custom-components/CustomTextArea\";\nimport CustomCheckBox from \"@/views/custom-components/CustomCheckBox\";\nimport { SketchPicker } from \"react-color\";\nimport { createNotification, updateNotification } from \"../../services/Notifications\";\nimport useTrackEvent from \"@/hooks/useTrackEvent\";\nimport CustomAutocomplete from \"@/views/custom-components/CustomAutoComplete\";\nimport { useTranslateProvider } from \"@/common/languageTranslator/TranslationContext\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport { faTrash } from \"@fortawesome/free-solid-svg-icons\";\nimport { ManageNotificationSkeleton } from \"./Skeletons/NotificationsSkeletons\";\nimport { executeQuery } from '@/common/services/GlobalApis';\n\n/**\n * ManageNotification is a React component that manages notifications, allowing users to view and interact with them.\n * @module ManageNotification\n * @param {Object} props - The props for the component.\n * @param {boolean} props.open - Boolean flag to determine if the notification panel is open.\n * @param {Object} props.data - Data related to the notifications to be displayed.\n * @param {Function} props.handleClose - Function to handle the closing of the notification panel.\n * @param {Object} props.roleData - Role data (e.g., user permissions) used to customize the notification display.\n * @param {Function} props.setNotifications - Function to update or set the notifications in the state.\n * @returns {JSX.Element} A rendered component that manages notifications.\n */\nexport default function ManageNotification({\n open,\n data,\n handleClose,\n roleData,\n setNotifications,\n}) {\n const formRef = useRef(null);\n const submitRef = useRef(false);\n const [anchorEl, setAnchorEl] = useState(null);\n const openPopover = Boolean(anchorEl);\n const id = open ? \"color-picker-popover\" : undefined;\n const [isLoading, setIsLoading] = useState(false);\n const [activeForms, setActiveForms] = useState([]);\n\n const fetchForms =async()=>{\n try{\n setIsLoading(true); \n const res = await executeQuery({\n code: 'medplat_form_get_all_form_details',\n parameters: {},\n });\n const formList = res?.data?.result;\n setActiveForms(formList?.filter((f) => f.is_web_feature === true));\n } catch (error) {\n console.error(error);\n } finally {\n setIsLoading(false);\n }\n }\n\n const validationSchema = yup.object().shape({\n notificationName: yup.string().required(\"Enter Notification Name\"),\n code: yup.string().required(\"Enter code\"),\n notificationFor: yup.string().required(\"Select Notification For\"),\n notificationType: yup.string().required(\"Enter Notification Type\"),\n dataFor: yup\n .string()\n .when(\"notificationType\", (notificationType, schema) => {\n return String(notificationType) === \"WEB\"\n ? schema.required(\"Select Data For\")\n : schema.notRequired();\n }),\n actionBase: yup\n .string()\n .when(\"notificationType\", (notificationType, schema) => {\n return String(notificationType) === \"WEB\"\n ? schema.required(\"Select a Value\")\n : schema.notRequired();\n }),\n dataQuery: yup\n .string()\n .when(\"notificationType\", (notificationType, schema) => {\n return String(notificationType) === \"WEB\"\n ? schema.required(\"Enter Data Query\")\n : schema.notRequired();\n }),\n fetchUptoLevel: yup\n .string()\n .when(\n [\"notificationType\", \"isLocationFilterRequired\"],\n ([notificationType, isLocationFilterRequired], schema) => {\n return notificationType === \"WEB\" && isLocationFilterRequired\n ? schema.required(\"Enter fetch up to level\")\n : schema.notRequired();\n },\n ),\n requiredUptoLevel: yup\n .string()\n .when(\n [\"notificationType\", \"isLocationFilterRequired\"],\n ([notificationType, isLocationFilterRequired], schema) => {\n return notificationType === \"WEB\" && isLocationFilterRequired\n ? schema.required(\"Enter required up to level\")\n : schema.notRequired();\n },\n ),\n roleId: yup\n .string()\n .when(\"notificationType\", (notificationType, schema) => {\n return String(notificationType) === \"MO\"\n ? schema.required(\"Enter Role\")\n : schema.notRequired();\n }),\n\n url: yup.string().when(\"actionBase\", (actionBase, schema) => {\n return String(actionBase) === \"URL\"\n ? schema.required(\"Enter URL\")\n : schema.notRequired();\n }),\n modalName: yup.string().when(\"actionBase\", (actionBase, schema) => {\n return String(actionBase) === \"MODAL\"\n ? schema.required(\"Enter Modal Name\")\n : schema.notRequired();\n }),\n actionQuery:\n data?.notificationType === \"WEB\" &&\n yup.string().when(\"actionBase\", (actionBase, schema) => {\n return String(actionBase) === \"ACTION\"\n ? schema.required(\"Enter Option Query\")\n : schema.notRequired();\n }),\n formCode: yup.string().when(\"actionBase\", (actionBase, schema) => {\n return String(actionBase) === \"FORM_CONFIGURATOR\"\n ? schema.required(\"Select Form Configurator\")\n : schema.notRequired();\n }),\n escalationLevels: yup.array().of(\n yup.object().shape({\n name: yup.string().required(\"Enter Name\"),\n }),\n ),\n });\n\n const {\n handleSubmit,\n getValues,\n control,\n formState: { errors },\n setValue,\n reset,\n watch,\n clearErrors,\n } = useForm({\n defaultValues: {\n notificationType: \"MO\",\n isLocationFilterRequired: false,\n modalBasedAction: false,\n fetchUptoLevel: null,\n requiredUptoLevel: null,\n urlBasedAction: false,\n formBasedAction: false,\n },\n resolver: yupResolver(validationSchema),\n mode: \"onChange\",\n });\n\n const watchedFields = watch();\n\n useEffect(() => {\n if(watchedFields.actionBase === \"FORM_CONFIGURATOR\"){\n fetchForms();\n }\n }, [watchedFields.actionBase]);\n \n const { translate } = useTranslateProvider();\n const optionsType = [\n { value: \"WEB\", label: \"Web\" },\n { value: \"MO\", label: \"Mobile\" },\n ];\n\n const optionsActionFor = [\n { value: \"USER\", label: \"User\" },\n { value: \"MEMBER\", label: \"Member\" },\n ];\n\n const paramOptions = [\n { value: \"#taskTypeId#\", label: \"#taskTypeId#\" },\n { value: \"#limit#\", label: \"#limit#\" },\n { value: \"#offset#\", label: \"#offset#\" },\n { value: \"#userId#\", label: \"#userId#\" },\n { value: \"#memberId#\", label: \"#memberId#\" },\n { value: \"#loggedInUserId#\", label: \"#loggedInUserId#\" },\n ...(watchedFields.isLocationFilterRequired ? [{ value: \"#locationId#\", label: \"#locationId#\" }] : []),\n ];\n\n /**\n * Handles the closing of the modal by resetting the form and triggering the modal close action.\n *\n * @function handleCloseModal\n * @returns {void} No return value.\n */\n const handleCloseModal = () => {\n reset();\n handleClose();\n };\n\n /**\n * Handles the change in notification type by updating the form's notificationType field.\n * @function handleNotificationType\n * @param {Object} e - The event object from the change event.\n * @param {string} e.target.value - The value of the selected notification type.\n * @returns {void} No return value.\n */\n const handleNotificationType = (e) => {\n setValue(\"notificationType\", e.target.value);\n };\n\n /**\n * Handles the change in action selection by updating the form's field based on the provided type.\n * @function handleActionFor\n * @param {Object} e - The event object from the change event.\n * @param {string} type - The field name to update in the form.\n * @param {string} e.target.value - The value of the selected action.\n * @returns {void} No return value.\n */\n const handleActionFor = (e, type) => {\n setValue(type, e.target.value);\n };\n\n /**\n * Adds roles to a form field and optionally removes a role from escalation levels if a role is removed.\n * @function addRole\n * @param {Array<Object>} values - The array of role objects to be added or updated. Each object should contain an `id` property.\n * @param {string} name - The name of the form field where the role IDs will be stored.\n * @param {Object} [removedOption] - The role object that has been removed, if any. Should contain an `id` property.\n *\n * @returns {void}\n */\n const addRole = (values, name, removedOption) => {\n const ids = values?.map((value) => value?.id);\n setValue(name, ids);\n\n if (removedOption) {\n const escalationLevels = getValues(\"escalationLevels\");\n const updatedEscalationLevels = escalationLevels.map((item) => {\n return {\n ...item,\n roles: item.roles?.filter((id) => id !== removedOption?.id),\n };\n });\n setValue(\"escalationLevels\", updatedEscalationLevels);\n }\n };\n\n /**\n * Adds a performer role to the escalation level at the specified index, if not already present.\n * @function addPerformer\n * @param {Object} val - The performer object containing the role details.\n * @param {string} val.id - The unique identifier of the performer role to add.\n * @param {number} index - The index of the escalation level where the role should be added.\n * @returns {void} No return value.\n */\n const addPerformer = (values, index) => {\n const ids = values?.map((value) => value.id);\n setValue(`escalationLevels[${index}].roles`, ids);\n };\n\n /**\n * Adds a new escalation level field to the form if the last field is valid (has a name and roles).\n * If no fields exist, it initializes the first escalation level.\n *\n * @function handleAddField\n * @returns {void} No return value.\n */\n const handleAddField = () => {\n const fields = getValues(\"escalationLevels\");\n if (fields.length === 0) {\n const newField = {\n counter: fields.length + 1,\n name: \"\",\n roles: [],\n };\n setValue(\"escalationLevels\", [...fields, newField]);\n } else if (\n fields[fields.length - 1].name &&\n fields[fields.length - 1].roles.length\n ) {\n const newField = {\n counter: fields.length + 1,\n name: \"\",\n roles: [],\n };\n setValue(\"escalationLevels\", [...fields, newField]);\n }\n };\n\n /**\n * Deletes an escalation level field from the form by removing the field with the specified counter value.\n *\n * @function handleDeleteField\n * @param {number} counter - The unique identifier (counter) of the escalation level field to be deleted.\n * @returns {void} No return value.\n */\n const handleDeleteField = (identifier) => {\n const fields = getValues(\"escalationLevels\");\n const newFields = fields.filter((field) =>\n field.id ? field.id !== identifier : field.counter !== identifier,\n );\n setValue(\"escalationLevels\", newFields);\n };\n\n /**\n * Handles the change event for the radio buttons related to action types.\n * @function handleRadioChange\n * @param {Object} e - The event object generated by the radio button change.\n * @param {Object} e.target - The target element of the event (radio button).\n * @param {string} e.target.value - The selected value (URL, MODAL, or ACTION).\n * @returns {void} No return value.\n */\n const handleRadioChange = (e) => {\n const { value } = e.target;\n clearErrors(\"actionBase\");\n setValue(\"actionBase\", value);\n if (value === \"URL\") {\n setValue(\"urlBasedAction\", true);\n setValue(\"modalBasedAction\", false);\n setValue(\"actionBased\", false);\n setValue(\"formBasedAction\", false);\n } else if (value === \"MODAL\") {\n setValue(\"urlBasedAction\", false);\n setValue(\"modalBasedAction\", true);\n setValue(\"actionBased\", false);\n setValue(\"formBasedAction\", false);\n } else if (value === \"ACTION\") {\n setValue(\"urlBasedAction\", false);\n setValue(\"modalBasedAction\", false);\n setValue(\"actionBased\", true);\n setValue(\"formBasedAction\", false);\n } else {\n setValue(\"urlBasedAction\", false);\n setValue(\"modalBasedAction\", false);\n setValue(\"actionBased\", false);\n setValue(\"formBasedAction\", true);\n }\n };\n\n const trackEvent = useTrackEvent();\n\n /**\n * Handles the form submission for adding or updating a notification.\n * @function onSubmit\n * @param {Object} values - The form values to be submitted.\n * @param {string} values.notificationType - The type of the notification (e.g., 'MO').\n * @param {boolean} values.isLocationFilterRequired - Indicates if location-based filtering is required.\n * @param {boolean} values.modalBasedAction - Indicates if the action is based on a modal.\n * @param {number} values.fetchUptoLevel - The level to fetch up to.\n * @param {number} values.requiredUptoLevel - The level required for the notification.\n * @param {boolean} values.urlBasedAction - Indicates if the action is based on a URL.\n * @param {boolean} values.formBasedAction - Indicates if the action will open a Form.\n * @returns {Promise<void>} A promise that resolves when the notification is successfully added or updated.\n */\n const onSubmit = async (values) => { \n try {\n delete values.actionBased;\n if (values.actionBase === \"FORM_CONFIGURATOR\") {\n values.formBasedAction = true;\n values.urlBasedAction = false;\n values.modalBasedAction = false;\n values.url = values.formCode; \n values.otherData.form_page_params = values.formParams;\n values.otherData = JSON.stringify(values.otherData, null, 2);\n delete values.modalName;\n delete values.formParams;\n } else { \n delete values.otherData;\n values.formBasedAction = false;\n delete values.formCode;\n delete values.formParams;\n }\n if (values.notificationType === \"MO\" && !data) {\n values.isLocationFilterRequired = false;\n values.modalBasedAction = false;\n values.fetchUptoLevel = null;\n values.requiredUptoLevel = null;\n values.urlBasedAction = false;\n }\n if (data) {\n await updateNotification(values);\n } else {\n await createNotification(values);\n }\n trackEvent(\"button_click\", {\n button_name: \"managenotification-submit-button\",\n button_type: \"submit\",\n button_id: \"managenotification-submit-button\",\n });\n showToast({\n type: \"success\",\n message: `Notification ${data ? \"updated\" : \"added\"} successfully`,\n });\n submitRef.current = true;\n handleCloseModal();\n await setNotifications();\n } catch (error) {\n showToast({ type: \"error\", message: `Error in Submission!` });\n console.error(\"error\", error);\n }\n };\n\n /**\n * Loads the initial data for the form when the modal is opened.\n * If `data` is provided, it populates the form with the values.\n * If `data.notificationType` is 'WEB', it sets the appropriate `actionBase` value.\n * If `data` is not provided, it sets a default escalation level.\n *\n * @function useEffect\n * Runs when the modal is opened, as indicated by the `open` dependency.\n *\n * @returns {void} No return value.\n */\n useEffect(() => {\n const loadInitialData = async () => {\n try {\n setIsLoading((cur) => !cur);\n reset();\n if (data) {\n Object.keys(data).map((key) => setValue(key, data[key]));\n\n const parsedOtherData = JSON.parse(data.otherData ?? \"{}\");\n setValue(\"otherData\", parsedOtherData);\n\n if (data.formBasedAction) {\n setValue(\"formCode\", data.url);\n if (parsedOtherData && parsedOtherData.form_page_params) {\n setValue(\"formParams\", parsedOtherData.form_page_params);\n }\n }\n data.formBasedAction || data.formCode || data.actionBase === \"FORM_CONFIGURATOR\"\n ? setValue(\"actionBase\", \"FORM_CONFIGURATOR\")\n : data.modalBasedAction\n ? setValue(\"actionBase\", \"MODAL\")\n : data.urlBasedAction\n ? setValue(\"actionBase\", \"URL\")\n : setValue(\"actionBase\", \"ACTION\");\n } else\n setValue(\"escalationLevels\", [\n { counter: 1, name: \"Default\", roles: [] },\n ]);\n setIsLoading((cur) => !cur);\n } catch (error) {\n showToast({\n type: \"error\",\n message: `error ${error}`,\n });\n setIsLoading((cur) => !cur);\n }\n };\n loadInitialData();\n }, [open]);\n\n useEffect(() => {\n if (formRef.current) {\n let form = formRef.current;\n return () => {\n trackEvent(\"conversion_event\", {\n form,\n form_name: \"Add Notification\",\n submit: submitRef.current,\n }); // Use the current ref value\n };\n }\n }, [formRef.current]);\n\n return (\n <Drawer\n open={open}\n anchor=\"right\"\n onClose={handleClose}\n className=\"z-[1300]\"\n slotProps={{\n paper: {\n sx: {\n width: { xs: \"calc(100vw - 16px)\", sm: 480, md: 650 },\n maxWidth: \"100vw\",\n overflowX: \"hidden\",\n },\n },\n }}\n data-testid=\"managenotification-drawer\"\n >\n <ManageNotificationSkeleton isLoading={isLoading}>\n <Grid\n container\n className=\"flex flex-col w-full md:w-[650px] max-w-full min-w-0\"\n ref={formRef}\n >\n <Grid className=\"p-2.5 px-5 flex border-b w-full\">\n <Typography\n className=\"font-medium text-lg text-customBlue\"\n data-testid=\"managenotification-typography-title\"\n >\n {!data\n ? `${translate(\"ADD NOTIFICATION\")}`\n : `${translate(\"Update Notification\")} `}\n </Typography>\n </Grid>\n <Grid className=\"flex flex-col p-4 w-full min-w-0\" container>\n <Grid>\n <Typography variant=\"body2\">\n {translate(\"Type\")} <span className=\"text-red-500 ml-1\">*</span>\n </Typography>\n <CustomDropdown\n control={control}\n name={\"notificationType\"}\n id=\"notificationType\"\n options={optionsType}\n displayName={\"label\"}\n optionValue={\"value\"}\n errors={errors}\n onChange={handleNotificationType}\n dataTestId=\"managenotification-dropdown-notification-type\"\n />\n </Grid>\n <Grid>\n <Typography variant=\"body2\">\n {translate(\"Name\")} <span className=\"text-red-500 ml-1\">*</span>\n </Typography>\n <CustomTextField\n control={control}\n name={\"notificationName\"}\n placeholder={\"Enter Name\"}\n id={\"notificationName\"}\n errors={errors}\n dataTestId=\"managenotification-textfield-notification-name\"\n />\n </Grid>\n <Grid>\n <Typography variant=\"body2\">\n {translate(\"Code\")} <span className=\"text-red-500 ml-1\">*</span>\n </Typography>\n <CustomTextField\n control={control}\n placeholder={\"Enter Code\"}\n name={\"code\"}\n id={\"code\"}\n errors={errors}\n dataTestId=\"managenotification-textfield-code\"\n />\n </Grid>\n <Grid>\n <Typography variant=\"body2\">\n {translate(\"Action For\")}{\" \"}\n <span className=\"text-red-500 ml-1\">*</span>\n </Typography>\n <CustomDropdown\n control={control}\n name={\"notificationFor\"}\n id={\"notificationFor\"}\n options={optionsActionFor}\n displayName={\"label\"}\n optionValue={\"value\"}\n errors={errors}\n onChange={(e) => handleActionFor(e, \"notificationFor\")}\n dataTestId=\"managenotification-dropdown-notification-for\"\n />\n </Grid>\n {watchedFields.notificationType === \"WEB\" && (\n <Grid\n container\n spacing={1}\n display={\"flex\"}\n flexDirection={\"column\"}\n >\n <Grid>\n <Typography variant=\"body2\">\n {translate(\"Data For\")}{\" \"}\n <span className=\"text-red-500 ml-1\">*</span>\n </Typography>\n <CustomDropdown\n control={control}\n name={\"dataFor\"}\n id={\"dataFor\"}\n options={optionsActionFor}\n displayName={\"label\"}\n optionValue={\"value\"}\n errors={errors}\n onChange={(e) => handleActionFor(e, \"dataFor\")}\n dataTestId=\"managenotification-dropdown-data-for\"\n />\n </Grid>\n <Grid>\n <Typography variant=\"body2\">\n {translate(\"Action By\")}\n </Typography>\n <CustomAutocomplete\n options={roleData}\n control={control}\n name={\"roles\"}\n placeholder=\"Select Role\"\n onChange={(e, val, removedOption) =>\n addRole(val, \"roles\", removedOption)\n }\n value={watchedFields?.roles?.map((role) =>\n roleData.find((item) => item.id === role),\n )}\n errors={errors}\n getOptionLabel={(option) => option?.name}\n dataTestId=\"managenotification-select-action-by\"\n />\n </Grid>\n <Grid>\n <Typography variant=\"body2\">\n {translate(\"Order No.\")}\n </Typography>\n <CustomTextField\n control={control}\n name=\"orderNo\"\n id=\"orderNo\"\n errors={errors}\n placeholder=\"Enter Order No\"\n inputProps={{ inputMode: \"numeric\", pattern: \"[0-9]*\" }}\n type=\"number\"\n onInput={(e) => {\n e.target.value = e.target.value.replace(/\\D/g, \"\");\n }}\n dataTestId=\"managenotification-textfield-order-no\"\n />\n </Grid>\n <Grid>\n <Typography variant=\"body2\">\n {translate(\"Color Code\")}\n </Typography>\n <Grid\n onClick={(e) => setAnchorEl(e.currentTarget)}\n className=\"w-full h-[20px] border border-gray-300 cursor-pointer\"\n style={{\n backgroundColor: watchedFields.colorCode || \"#000\",\n }}\n />\n\n <Popover\n id={id}\n open={openPopover}\n anchorEl={anchorEl}\n onClose={() => setAnchorEl(null)}\n anchorOrigin={{\n vertical: \"bottom\",\n horizontal: \"left\",\n }}\n transformOrigin={{\n vertical: \"top\",\n horizontal: \"left\",\n }}\n >\n <Grid className=\"p-2\">\n <SketchPicker\n color={watchedFields.colorCode || \"#000\"}\n onChangeComplete={(newColor) =>\n setValue(\"colorCode\", newColor.hex)\n }\n data-testid=\"managenotification-sketch-picker\"\n />\n </Grid>\n </Popover>\n </Grid>\n <Grid>\n <CustomCheckBox\n name=\"isLocationFilterRequired\"\n label=\"Do you want location based filter?\"\n labelSizeInRem={\".9rem\"}\n control={control}\n dataTestId=\"managenotification-checkbox-location-filter\"\n />\n </Grid>\n {watchedFields.isLocationFilterRequired && (\n <>\n <Grid>\n <Typography variant=\"body2\">\n {translate(\"Fetch Up to Level\")}{\" \"}\n <span className=\"text-red-500 ml-1\">*</span>\n </Typography>\n <CustomTextField\n control={control}\n placeholder=\"Fetch Upto Level\"\n name={\"fetchUptoLevel\"}\n id={\"fetchUptoLevel\"}\n errors={errors}\n dataTestId=\"managenotification-textfield-fetch-upto-level\"\n />\n </Grid>\n <Grid>\n <Typography variant=\"body2\">\n {translate(\"Required Upto Level\")}{\" \"}\n <span className=\"text-red-500 ml-1\">*</span>\n </Typography>\n <CustomTextField\n control={control}\n name={\"requiredUptoLevel\"}\n placeholder=\"Required Upto Level\"\n id={\"requiredUptoLevel\"}\n errors={errors}\n dataTestId=\"managenotification-textfield--upto-level\"\n />\n </Grid>\n <Grid>\n <CustomCheckBox\n name=\"isFetchAccordingAOI\"\n label=\"fetch according to user aoi\"\n labelSizeInRem={\".9rem\"}\n control={control}\n dataTestId=\"managenotification-checkbox-fetch-according-aoi\"\n />\n </Grid>\n </>\n )}\n <Grid>\n <Typography variant=\"body2\">\n {translate(\"Data Query\")}{\" \"}\n <span className=\"text-red-500 ml-1\">*</span>\n </Typography>\n <CustomTextArea\n control={control}\n id=\"dataQuery\"\n name=\"dataQuery\"\n errors={errors}\n label=\"\"\n minRows={5}\n dataTestId=\"managenotification-textarea-data-query\"\n />\n <Typography variant=\"caption\" className=\"font-bold\">\n #taskTypeId# #limit# #offset# #userId# #memberId#\n #loggedInUserId#\n {watchedFields.isLocationFilterRequired && \"#locationId#\"}\n </Typography>\n </Grid>\n <Grid container display={\"flex\"} size={{ xs: 12 }}>\n <FormControl className=\"flex flex-row\" component=\"fieldset\">\n <Typography variant=\"body2\" mt={1.4} mr={2}>\n {translate(\"Type of Action\")}{\" \"}\n <span className=\"text-red-500 ml-1\">*</span>\n </Typography>\n <RadioGroup\n row\n aria-label=\"radio-group\"\n value={watchedFields.actionBase}\n name=\"actionBase\"\n onChange={handleRadioChange}\n data-testid=\"managenotification-radiogroup-actionbase\"\n >\n <FormControlLabel\n value=\"URL\"\n control={<Radio />}\n label={translate(\"URL Based\")}\n sx={{\n \"& .MuiFormControlLabel-label\": {\n fontSize: \"13px\",\n },\n }}\n data-testid=\"managenotification-formcontrollabel-url\"\n />\n <FormControlLabel\n value=\"MODAL\"\n control={<Radio />}\n label={translate(\"Modal Based\")}\n sx={{\n \"& .MuiFormControlLabel-label\": {\n fontSize: \"13px\",\n },\n }}\n data-testid=\"managenotification-formcontrollabel-modal\"\n />\n <FormControlLabel\n value=\"ACTION\"\n control={<Radio />}\n label={translate(\"Action based\")}\n sx={{\n \"& .MuiFormControlLabel-label\": {\n fontSize: \"13px\",\n },\n }}\n data-testid=\"managenotification-formcontrollabel-action\"\n />\n <FormControlLabel\n value=\"FORM_CONFIGURATOR\"\n control={<Radio />}\n label={translate(\"Form Configurator\")}\n sx={{\n \"& .MuiFormControlLabel-label\": {\n fontSize: \"13px\",\n },\n }}\n data-testid=\"managenotification-formcontrollabel-form-configurator\"\n />\n </RadioGroup>\n <Typography data-testid=\"managenotification-typography-actionbase-error\">\n {errors?.actionBase && (\n <p className=\"error-helper-text\">\n {errors?.actionBase?.message}\n </p>\n )}{\" \"}\n </Typography>\n </FormControl>\n </Grid>\n {watchedFields.actionBase === \"URL\" && (\n <Grid>\n <Typography variant=\"body2\">\n {translate(\"URL\")}{\" \"}\n <span className=\"text-red-500 ml-1\">*</span>\n </Typography>\n <CustomTextField\n placeholder={\"Enter Url\"}\n control={control}\n name={\"url\"}\n id={\"url\"}\n errors={errors}\n dataTestId=\"managenotification-customtextfield-url\"\n />\n </Grid>\n )}\n {watchedFields.actionBase === \"MODAL\" && (\n <Grid>\n <Typography\n variant=\"body2\"\n data-testid=\"managenotification-typography-modal-label\"\n >\n {translate(\"Modal Name\")}{\" \"}\n <span className=\"text-red-500 ml-1\">*</span>\n </Typography>\n <CustomTextField\n placeholder={\"Enter Modal Name\"}\n control={control}\n name={\"modalName\"}\n id={\"modalName\"}\n errors={errors}\n dataTestId=\"managenotification-customtextfield-modal\"\n />\n </Grid>\n )}\n {watchedFields.actionBase === \"ACTION\" && (\n <Grid>\n <Typography\n variant=\"body2\"\n className=\"mb-1\"\n data-testid=\"managenotification-typography-action-label\"\n >\n {translate(\"Action Query\")}{\" \"}\n <span className=\"text-red-500 ml-1\">*</span>\n </Typography>\n <CustomTextArea\n control={control}\n id=\"actionQuery\"\n name=\"actionQuery\"\n errors={errors}\n label=\"\"\n minRows={5}\n data-testid=\"managenotification-customtextarea-actionquery\"\n />\n </Grid>\n )}\n {watchedFields.actionBase === \"FORM_CONFIGURATOR\" && (\n <>\n <Grid>\n <Typography variant=\"body2\">\n {translate(\"Form Configurator\")}{\" \"}\n <span className=\"text-red-500 ml-1\">*</span>\n </Typography>\n <CustomDropdown\n control={control}\n name={\"formCode\"}\n id={\"formCode\"}\n options={activeForms}\n displayName={\"form_name\"}\n optionValue={\"form_code\"}\n errors={errors}\n onChange={(e) => {\n setValue(\"formCode\", e.target.value);\n const form = activeForms.find(f => f.form_code === e.target.value);\n if (form && form.page_params) {\n setValue(\"formParams\", form.page_params.split(',').reduce((acc, param) => ({...acc, [param]: ''}), {}));\n } else {\n setValue(\"formParams\", {});\n }\n }}\n dataTestId=\"managenotification-dropdown-form-configurator\"\n />\n </Grid>\n {watchedFields.formParams && Object.keys(watchedFields.formParams).map((paramName) => (\n <Grid key={paramName}>\n <Typography variant=\"body2\" className=\"mb-1\">\n {paramName}\n </Typography>\n <CustomDropdown\n control={control}\n name={`formParams.${paramName}`}\n id={`formParams_${paramName}`}\n options={paramOptions}\n displayName={\"label\"}\n optionValue={\"value\"}\n errors={errors}\n dataTestId={`managenotification-dropdown-${paramName}`}\n />\n </Grid>\n ))}\n </>\n )}\n\n <Grid className=\"w-full min-w-0\">\n <Button\n onClick={handleAddField}\n variant=\"contained\"\n size=\"small\"\n className=\"mb-2 mt-2\"\n data-testid=\"managenotification-button-add-escalation\"\n >\n {`${translate(\"Add\")} ${translate(\"Escalation Level\")}`}\n </Button>\n <TableContainer\n sx={{\n border: \"1px solid #d1d5db\",\n display: \"block\",\n maxHeight: 260,\n maxWidth: \"100%\",\n overflowX: \"scroll\",\n overflowY: \"auto\",\n scrollbarGutter: \"stable\",\n width: {\n xs: \"calc(100vw - 48px)\",\n sm: 448,\n md: 618,\n },\n \"&::-webkit-scrollbar\": {\n height: 8,\n width: 8,\n },\n }}\n data-testid=\"managenotification-escalation-table-container\"\n >\n <Table\n stickyHeader\n sx={{\n minWidth: 900,\n tableLayout: \"fixed\",\n width: 900,\n }}\n className=\"border border-gray-300\"\n >\n <TableHead>\n <TableRow>\n <TableCell\n className=\"border border-gray-300 p-2\"\n sx={{ minWidth: 280, width: 280 }}\n >\n <Typography\n variant=\"body2\"\n className=\"font-bold\"\n data-testid=\"managenotification-typography-name\"\n >\n {translate(\"Name\")}\n </Typography>\n </TableCell>\n <TableCell\n className=\"border border-gray-300 p-2\"\n sx={{ minWidth: 430, width: 430 }}\n >\n <Typography\n variant=\"body2\"\n className=\"font-bold\"\n data-testid=\"managenotification-typography-performer\"\n >\n {translate(\"Performer\")}\n </Typography>\n </TableCell>\n <TableCell\n className=\"p-2\"\n sx={{ minWidth: 130, width: 130 }}\n >\n <Typography\n variant=\"body2\"\n className=\"font-bold\"\n data-testid=\"managenotification-typography-action\"\n >\n {translate(\"Actions\")}\n </Typography>\n </TableCell>\n </TableRow>\n </TableHead>\n <TableBody>\n {getValues(\"escalationLevels\")?.map((field, index) => (\n <TableRow\n key={field.counter ? field.counter : field.id}\n >\n <TableCell\n className=\"border border-gray-300 p-2\"\n sx={{ minWidth: 280, width: 280 }}\n >\n <CustomTextField\n control={control}\n errors={errors}\n name={`escalationLevels[${index}].name`}\n dataTestId={`managenotification-customtextfield-name-${field.counter}`}\n />\n </TableCell>\n <TableCell\n className=\"border border-gray-300 p-2\"\n sx={{ minWidth: 430, width: 430 }}\n >\n <CustomAutocomplete\n options={\n watchedFields.roles\n ? watchedFields.roles?.map((role) =>\n roleData.find((item) => {\n return item.id === role;\n }),\n )\n : []\n }\n name={`escalationLevels[${index}].roles`}\n control={control}\n onChange={(e, val) => addPerformer(val, index)}\n value={watchedFields.escalationLevels[\n index\n ].roles?.map((role) =>\n roleData.find((item) => item.id === role),\n )}\n errors={errors}\n getOptionLabel={(option) => option?.name}\n dataTestId={`managenotification-customautocomplete-performer-${field.counter}`}\n />\n </TableCell>\n <TableCell sx={{ minWidth: 130, width: 130 }}>\n {index > 0 && (\n <FontAwesomeIcon\n icon={faTrash}\n onClick={() =>\n handleDeleteField(\n field.id ? field.id : field.counter,\n )\n }\n className=\"text-[14px] text-[var(--color-error)]\"\n data-testid={`managenotification-delete-action-${field.counter}`}\n />\n )}\n </TableCell>\n </TableRow>\n ))}\n </TableBody>\n </Table>\n </TableContainer>\n </Grid>\n </Grid>\n )}\n\n {watchedFields.notificationType === \"MO\" && (\n <Grid>\n <Typography variant=\"body2\">\n {translate(\"Role\")}\n <span className=\"text-red-500 ml-1\">*</span>\n </Typography>\n <CustomDropdown\n control={control}\n options={roleData}\n name={\"roleId\"}\n id=\"roleId\"\n displayName={\"name\"}\n value={watch(\"roleId\") || \"\"}\n optionValue={\"id\"}\n errors={errors}\n dataTestId=\"managenotification-dropdown-role\"\n />\n </Grid>\n )}\n </Grid>\n <Stack\n direction=\"row\"\n spacing={2}\n justifyContent=\"flex-end\"\n mt={2}\n mb={1.5}\n p={2}\n >\n <Button\n variant=\"contained\"\n color=\"secondary\"\n size=\"small\"\n onClick={() => {\n trackEvent(\"button_click\", {\n button_name: \"managenotification-close-button\",\n button_type: \"cancel\",\n button_id: \"managenotification-close-button\",\n });\n handleCloseModal();\n }}\n data-testid=\"managenotification-close-button\"\n >\n <Typography variant=\"caption\">{translate(\"Close\")}</Typography>\n </Button>\n <Button\n variant=\"contained\"\n color=\"primary\"\n size=\"small\"\n onClick={handleSubmit(onSubmit)}\n type=\"submit\"\n data-testid=\"managenotification-submit-button\"\n >\n {!data ? `${translate(\"Add\")}` : `${translate(\"Update\")}`}\n </Button>\n </Stack>\n </Grid>\n </ManageNotificationSkeleton>\n </Drawer>\n );\n}\nManageNotification.propTypes = {\n open: PropTypes.any,\n handleClose: PropTypes.func,\n data: PropTypes.any,\n roleData: PropTypes.any,\n setNotifications: PropTypes.any,\n};\n"],"names":["ManageNotification","open","data","handleClose","roleData","setNotifications","formRef","useRef","submitRef","anchorEl","setAnchorEl","useState","openPopover","id","isLoading","setIsLoading","activeForms","setActiveForms","fetchForms","res","executeQuery","formList","_a","f","error","validationSchema","yup","notificationType","schema","isLocationFilterRequired","actionBase","handleSubmit","getValues","control","errors","setValue","reset","watch","clearErrors","useForm","yupResolver","watchedFields","useEffect","translate","useTranslateProvider","optionsType","optionsActionFor","paramOptions","handleCloseModal","handleNotificationType","handleActionFor","type","addRole","values","name","removedOption","ids","value","updatedEscalationLevels","item","addPerformer","index","handleAddField","fields","newField","handleDeleteField","identifier","newFields","field","handleRadioChange","trackEvent","useTrackEvent","onSubmit","updateNotification","createNotification","showToast","cur","key","parsedOtherData","form","jsx","Drawer","ManageNotificationSkeleton","jsxs","Grid","Typography","CustomDropdown","CustomTextField","CustomAutocomplete","val","role","option","Popover","SketchPicker","newColor","CustomCheckBox","Fragment","CustomTextArea","FormControl","RadioGroup","FormControlLabel","Radio","_b","acc","param","paramName","Button","TableContainer","Table","TableHead","TableRow","TableCell","TableBody","_c","e","FontAwesomeIcon","faTrash","Stack","PropTypes"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ManageNotification-C5MhV77Q.js","sources":["../src/views/Notifications/ManageNotification.jsx"],"sourcesContent":["import { yupResolver } from \"@hookform/resolvers/yup\";\nimport {\n Button,\n Drawer,\n Table,\n TableBody,\n TableCell,\n TableContainer,\n TableHead,\n TableRow,\n Typography,\n Popover,\n RadioGroup,\n FormControl,\n FormControlLabel,\n Radio,\n} from \"@mui/material\";\nimport { Grid, Stack } from \"@mui/system\";\nimport PropTypes from \"prop-types\";\nimport { useForm } from \"react-hook-form\";\nimport * as yup from \"yup\";\nimport CustomDropdown from \"@/views/custom-components/CustomDropdown\";\nimport CustomTextField from \"@/views/custom-components/CustomTextField\";\nimport React, { useEffect, useState, useRef } from \"react\";\nimport { showToast } from \"@/common/toaster/toaster\";\nimport CustomTextArea from \"@/views/custom-components/CustomTextArea\";\nimport CustomCheckBox from \"@/views/custom-components/CustomCheckBox\";\nimport { SketchPicker } from \"react-color\";\nimport { createNotification, updateNotification } from \"../../services/Notifications\";\nimport useTrackEvent from \"@/hooks/useTrackEvent\";\nimport CustomAutocomplete from \"@/views/custom-components/CustomAutoComplete\";\nimport { useTranslateProvider } from \"@/common/languageTranslator/TranslationContext\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport { faTrash } from \"@fortawesome/free-solid-svg-icons\";\nimport { ManageNotificationSkeleton } from \"./Skeletons/NotificationsSkeletons\";\nimport { executeQuery } from '@/common/services/GlobalApis';\n\n/**\n * ManageNotification is a React component that manages notifications, allowing users to view and interact with them.\n * @module ManageNotification\n * @param {Object} props - The props for the component.\n * @param {boolean} props.open - Boolean flag to determine if the notification panel is open.\n * @param {Object} props.data - Data related to the notifications to be displayed.\n * @param {Function} props.handleClose - Function to handle the closing of the notification panel.\n * @param {Object} props.roleData - Role data (e.g., user permissions) used to customize the notification display.\n * @param {Function} props.setNotifications - Function to update or set the notifications in the state.\n * @returns {JSX.Element} A rendered component that manages notifications.\n */\nexport default function ManageNotification({\n open,\n data,\n handleClose,\n roleData,\n setNotifications,\n}) {\n const formRef = useRef(null);\n const submitRef = useRef(false);\n const [anchorEl, setAnchorEl] = useState(null);\n const openPopover = Boolean(anchorEl);\n const id = open ? \"color-picker-popover\" : undefined;\n const [isLoading, setIsLoading] = useState(false);\n const [activeForms, setActiveForms] = useState([]);\n\n const fetchForms =async()=>{\n try{\n setIsLoading(true); \n const res = await executeQuery({\n code: 'medplat_form_get_all_form_details',\n parameters: {},\n });\n const formList = res?.data?.result;\n setActiveForms(formList?.filter((f) => f.is_web_feature === true));\n } catch (error) {\n console.error(error);\n } finally {\n setIsLoading(false);\n }\n }\n\n const validationSchema = yup.object().shape({\n notificationName: yup.string().required(\"Enter Notification Name\"),\n code: yup.string().required(\"Enter code\"),\n notificationFor: yup.string().required(\"Select Notification For\"),\n notificationType: yup.string().required(\"Enter Notification Type\"),\n dataFor: yup\n .string()\n .when(\"notificationType\", (notificationType, schema) => {\n return String(notificationType) === \"WEB\"\n ? schema.required(\"Select Data For\")\n : schema.notRequired();\n }),\n actionBase: yup\n .string()\n .when(\"notificationType\", (notificationType, schema) => {\n return String(notificationType) === \"WEB\"\n ? schema.required(\"Select a Value\")\n : schema.notRequired();\n }),\n dataQuery: yup\n .string()\n .when(\"notificationType\", (notificationType, schema) => {\n return String(notificationType) === \"WEB\"\n ? schema.required(\"Enter Data Query\")\n : schema.notRequired();\n }),\n fetchUptoLevel: yup\n .string()\n .when(\n [\"notificationType\", \"isLocationFilterRequired\"],\n ([notificationType, isLocationFilterRequired], schema) => {\n return notificationType === \"WEB\" && isLocationFilterRequired\n ? schema.required(\"Enter fetch up to level\")\n : schema.notRequired();\n },\n ),\n requiredUptoLevel: yup\n .string()\n .when(\n [\"notificationType\", \"isLocationFilterRequired\"],\n ([notificationType, isLocationFilterRequired], schema) => {\n return notificationType === \"WEB\" && isLocationFilterRequired\n ? schema.required(\"Enter required up to level\")\n : schema.notRequired();\n },\n ),\n roleId: yup\n .string()\n .when(\"notificationType\", (notificationType, schema) => {\n return String(notificationType) === \"MO\"\n ? schema.required(\"Enter Role\")\n : schema.notRequired();\n }),\n\n url: yup.string().when(\"actionBase\", (actionBase, schema) => {\n return String(actionBase) === \"URL\"\n ? schema.required(\"Enter URL\")\n : schema.notRequired();\n }),\n modalName: yup.string().when(\"actionBase\", (actionBase, schema) => {\n return String(actionBase) === \"MODAL\"\n ? schema.required(\"Enter Modal Name\")\n : schema.notRequired();\n }),\n actionQuery:\n data?.notificationType === \"WEB\" &&\n yup.string().when(\"actionBase\", (actionBase, schema) => {\n return String(actionBase) === \"ACTION\"\n ? schema.required(\"Enter Option Query\")\n : schema.notRequired();\n }),\n formCode: yup.string().when(\"actionBase\", (actionBase, schema) => {\n return String(actionBase) === \"FORM_CONFIGURATOR\"\n ? schema.required(\"Select Form Configurator\")\n : schema.notRequired();\n }),\n escalationLevels: yup.array().of(\n yup.object().shape({\n name: yup.string().required(\"Enter Name\"),\n }),\n ),\n });\n\n const {\n handleSubmit,\n getValues,\n control,\n formState: { errors },\n setValue,\n reset,\n watch,\n clearErrors,\n } = useForm({\n defaultValues: {\n notificationType: \"MO\",\n isLocationFilterRequired: false,\n modalBasedAction: false,\n fetchUptoLevel: null,\n requiredUptoLevel: null,\n urlBasedAction: false,\n formBasedAction: false,\n },\n resolver: yupResolver(validationSchema),\n mode: \"onChange\",\n });\n\n const watchedFields = watch();\n\n useEffect(() => {\n if(watchedFields.actionBase === \"FORM_CONFIGURATOR\"){\n fetchForms();\n }\n }, [watchedFields.actionBase]);\n \n const { translate } = useTranslateProvider();\n const optionsType = [\n { value: \"WEB\", label: \"Web\" },\n { value: \"MO\", label: \"Mobile\" },\n ];\n\n const optionsActionFor = [\n { value: \"USER\", label: \"User\" },\n { value: \"MEMBER\", label: \"Member\" },\n ];\n\n const paramOptions = [\n { value: \"#taskTypeId#\", label: \"#taskTypeId#\" },\n { value: \"#limit#\", label: \"#limit#\" },\n { value: \"#offset#\", label: \"#offset#\" },\n { value: \"#userId#\", label: \"#userId#\" },\n { value: \"#memberId#\", label: \"#memberId#\" },\n { value: \"#loggedInUserId#\", label: \"#loggedInUserId#\" },\n ...(watchedFields.isLocationFilterRequired ? [{ value: \"#locationId#\", label: \"#locationId#\" }] : []),\n ];\n\n /**\n * Handles the closing of the modal by resetting the form and triggering the modal close action.\n *\n * @function handleCloseModal\n * @returns {void} No return value.\n */\n const handleCloseModal = () => {\n reset();\n handleClose();\n };\n\n /**\n * Handles the change in notification type by updating the form's notificationType field.\n * @function handleNotificationType\n * @param {Object} e - The event object from the change event.\n * @param {string} e.target.value - The value of the selected notification type.\n * @returns {void} No return value.\n */\n const handleNotificationType = (e) => {\n setValue(\"notificationType\", e.target.value);\n };\n\n /**\n * Handles the change in action selection by updating the form's field based on the provided type.\n * @function handleActionFor\n * @param {Object} e - The event object from the change event.\n * @param {string} type - The field name to update in the form.\n * @param {string} e.target.value - The value of the selected action.\n * @returns {void} No return value.\n */\n const handleActionFor = (e, type) => {\n setValue(type, e.target.value);\n };\n\n /**\n * Adds roles to a form field and optionally removes a role from escalation levels if a role is removed.\n * @function addRole\n * @param {Array<Object>} values - The array of role objects to be added or updated. Each object should contain an `id` property.\n * @param {string} name - The name of the form field where the role IDs will be stored.\n * @param {Object} [removedOption] - The role object that has been removed, if any. Should contain an `id` property.\n *\n * @returns {void}\n */\n const addRole = (values, name, removedOption) => {\n const ids = values?.map((value) => value?.id);\n setValue(name, ids);\n\n if (removedOption) {\n const escalationLevels = getValues(\"escalationLevels\");\n const updatedEscalationLevels = escalationLevels.map((item) => {\n return {\n ...item,\n roles: item.roles?.filter((id) => id !== removedOption?.id),\n };\n });\n setValue(\"escalationLevels\", updatedEscalationLevels);\n }\n };\n\n /**\n * Adds a performer role to the escalation level at the specified index, if not already present.\n * @function addPerformer\n * @param {Object} val - The performer object containing the role details.\n * @param {string} val.id - The unique identifier of the performer role to add.\n * @param {number} index - The index of the escalation level where the role should be added.\n * @returns {void} No return value.\n */\n const addPerformer = (values, index) => {\n const ids = values?.map((value) => value.id);\n setValue(`escalationLevels[${index}].roles`, ids);\n };\n\n /**\n * Adds a new escalation level field to the form if the last field is valid (has a name and roles).\n * If no fields exist, it initializes the first escalation level.\n *\n * @function handleAddField\n * @returns {void} No return value.\n */\n const handleAddField = () => {\n const fields = getValues(\"escalationLevels\");\n if (fields.length === 0) {\n const newField = {\n counter: fields.length + 1,\n name: \"\",\n roles: [],\n };\n setValue(\"escalationLevels\", [...fields, newField]);\n } else if (\n fields[fields.length - 1].name &&\n fields[fields.length - 1].roles.length\n ) {\n const newField = {\n counter: fields.length + 1,\n name: \"\",\n roles: [],\n };\n setValue(\"escalationLevels\", [...fields, newField]);\n }\n };\n\n /**\n * Deletes an escalation level field from the form by removing the field with the specified counter value.\n *\n * @function handleDeleteField\n * @param {number} counter - The unique identifier (counter) of the escalation level field to be deleted.\n * @returns {void} No return value.\n */\n const handleDeleteField = (identifier) => {\n const fields = getValues(\"escalationLevels\");\n const newFields = fields.filter((field) =>\n field.id ? field.id !== identifier : field.counter !== identifier,\n );\n setValue(\"escalationLevels\", newFields);\n };\n\n /**\n * Handles the change event for the radio buttons related to action types.\n * @function handleRadioChange\n * @param {Object} e - The event object generated by the radio button change.\n * @param {Object} e.target - The target element of the event (radio button).\n * @param {string} e.target.value - The selected value (URL, MODAL, or ACTION).\n * @returns {void} No return value.\n */\n const handleRadioChange = (e) => {\n const { value } = e.target;\n clearErrors(\"actionBase\");\n setValue(\"actionBase\", value);\n if (value === \"URL\") {\n setValue(\"urlBasedAction\", true);\n setValue(\"modalBasedAction\", false);\n setValue(\"actionBased\", false);\n setValue(\"formBasedAction\", false);\n } else if (value === \"MODAL\") {\n setValue(\"urlBasedAction\", false);\n setValue(\"modalBasedAction\", true);\n setValue(\"actionBased\", false);\n setValue(\"formBasedAction\", false);\n } else if (value === \"ACTION\") {\n setValue(\"urlBasedAction\", false);\n setValue(\"modalBasedAction\", false);\n setValue(\"actionBased\", true);\n setValue(\"formBasedAction\", false);\n } else {\n setValue(\"urlBasedAction\", false);\n setValue(\"modalBasedAction\", false);\n setValue(\"actionBased\", false);\n setValue(\"formBasedAction\", true);\n }\n };\n\n const trackEvent = useTrackEvent();\n\n /**\n * Handles the form submission for adding or updating a notification.\n * @function onSubmit\n * @param {Object} values - The form values to be submitted.\n * @param {string} values.notificationType - The type of the notification (e.g., 'MO').\n * @param {boolean} values.isLocationFilterRequired - Indicates if location-based filtering is required.\n * @param {boolean} values.modalBasedAction - Indicates if the action is based on a modal.\n * @param {number} values.fetchUptoLevel - The level to fetch up to.\n * @param {number} values.requiredUptoLevel - The level required for the notification.\n * @param {boolean} values.urlBasedAction - Indicates if the action is based on a URL.\n * @param {boolean} values.formBasedAction - Indicates if the action will open a Form.\n * @returns {Promise<void>} A promise that resolves when the notification is successfully added or updated.\n */\n const onSubmit = async (values) => { \n try {\n delete values.actionBased;\n if (values.actionBase === \"FORM_CONFIGURATOR\") {\n values.formBasedAction = true;\n values.urlBasedAction = false;\n values.modalBasedAction = false;\n values.url = values.formCode; \n values.otherData.form_page_params = values.formParams;\n values.otherData = JSON.stringify(values.otherData, null, 2);\n delete values.modalName;\n delete values.formParams;\n } else { \n delete values.otherData;\n values.formBasedAction = false;\n delete values.formCode;\n delete values.formParams;\n }\n if (values.notificationType === \"MO\" && !data) {\n values.isLocationFilterRequired = false;\n values.modalBasedAction = false;\n values.fetchUptoLevel = null;\n values.requiredUptoLevel = null;\n values.urlBasedAction = false;\n }\n if (data) {\n await updateNotification(values);\n } else {\n await createNotification(values);\n }\n trackEvent(\"button_click\", {\n button_name: \"managenotification-submit-button\",\n button_type: \"submit\",\n button_id: \"managenotification-submit-button\",\n });\n showToast({\n type: \"success\",\n message: `Notification ${data ? \"updated\" : \"added\"} successfully`,\n });\n submitRef.current = true;\n handleCloseModal();\n await setNotifications();\n } catch (error) {\n showToast({ type: \"error\", message: `Error in Submission!` });\n console.error(\"error\", error);\n }\n };\n\n /**\n * Loads the initial data for the form when the modal is opened.\n * If `data` is provided, it populates the form with the values.\n * If `data.notificationType` is 'WEB', it sets the appropriate `actionBase` value.\n * If `data` is not provided, it sets a default escalation level.\n *\n * @function useEffect\n * Runs when the modal is opened, as indicated by the `open` dependency.\n *\n * @returns {void} No return value.\n */\n useEffect(() => {\n const loadInitialData = async () => {\n try {\n setIsLoading((cur) => !cur);\n reset();\n if (data) {\n Object.keys(data).map((key) => setValue(key, data[key]));\n\n const parsedOtherData = JSON.parse(data.otherData ?? \"{}\");\n setValue(\"otherData\", parsedOtherData);\n\n if (data.formBasedAction) {\n setValue(\"formCode\", data.url);\n if (parsedOtherData && parsedOtherData.form_page_params) {\n setValue(\"formParams\", parsedOtherData.form_page_params);\n }\n }\n data.formBasedAction || data.formCode || data.actionBase === \"FORM_CONFIGURATOR\"\n ? setValue(\"actionBase\", \"FORM_CONFIGURATOR\")\n : data.modalBasedAction\n ? setValue(\"actionBase\", \"MODAL\")\n : data.urlBasedAction\n ? setValue(\"actionBase\", \"URL\")\n : setValue(\"actionBase\", \"ACTION\");\n } else\n setValue(\"escalationLevels\", [\n { counter: 1, name: \"Default\", roles: [] },\n ]);\n setIsLoading((cur) => !cur);\n } catch (error) {\n showToast({\n type: \"error\",\n message: `error ${error}`,\n });\n setIsLoading((cur) => !cur);\n }\n };\n loadInitialData();\n }, [open]);\n\n useEffect(() => {\n if (formRef.current) {\n let form = formRef.current;\n return () => {\n trackEvent(\"conversion_event\", {\n form,\n form_name: \"Add Notification\",\n submit: submitRef.current,\n }); // Use the current ref value\n };\n }\n }, [formRef.current]);\n\n return (\n <Drawer\n open={open}\n anchor=\"right\"\n onClose={handleClose}\n className=\"z-[1300]\"\n slotProps={{\n paper: {\n sx: {\n width: { xs: \"calc(100vw - 16px)\", sm: 480, md: 650 },\n maxWidth: \"100vw\",\n overflowX: \"hidden\",\n },\n },\n }}\n data-testid=\"managenotification-drawer\"\n >\n <ManageNotificationSkeleton isLoading={isLoading}>\n <Grid\n container\n className=\"flex flex-col w-full md:w-[650px] max-w-full min-w-0\"\n ref={formRef}\n >\n <Grid className=\"p-2.5 px-5 flex border-b w-full\">\n <Typography\n className=\"font-medium text-lg text-customBlue\"\n data-testid=\"managenotification-typography-title\"\n >\n {!data\n ? `${translate(\"ADD NOTIFICATION\")}`\n : `${translate(\"Update Notification\")} `}\n </Typography>\n </Grid>\n <Grid className=\"flex flex-col p-4 w-full min-w-0\" container>\n <Grid>\n <Typography variant=\"body2\">\n {translate(\"Type\")} <span className=\"text-red-500 ml-1\">*</span>\n </Typography>\n <CustomDropdown\n control={control}\n name={\"notificationType\"}\n id=\"notificationType\"\n options={optionsType}\n displayName={\"label\"}\n optionValue={\"value\"}\n errors={errors}\n onChange={handleNotificationType}\n dataTestId=\"managenotification-dropdown-notification-type\"\n />\n </Grid>\n <Grid>\n <Typography variant=\"body2\">\n {translate(\"Name\")} <span className=\"text-red-500 ml-1\">*</span>\n </Typography>\n <CustomTextField\n control={control}\n name={\"notificationName\"}\n placeholder={\"Enter Name\"}\n id={\"notificationName\"}\n errors={errors}\n dataTestId=\"managenotification-textfield-notification-name\"\n />\n </Grid>\n <Grid>\n <Typography variant=\"body2\">\n {translate(\"Code\")} <span className=\"text-red-500 ml-1\">*</span>\n </Typography>\n <CustomTextField\n control={control}\n placeholder={\"Enter Code\"}\n name={\"code\"}\n id={\"code\"}\n errors={errors}\n dataTestId=\"managenotification-textfield-code\"\n />\n </Grid>\n <Grid>\n <Typography variant=\"body2\">\n {translate(\"Action For\")}{\" \"}\n <span className=\"text-red-500 ml-1\">*</span>\n </Typography>\n <CustomDropdown\n control={control}\n name={\"notificationFor\"}\n id={\"notificationFor\"}\n options={optionsActionFor}\n displayName={\"label\"}\n optionValue={\"value\"}\n errors={errors}\n onChange={(e) => handleActionFor(e, \"notificationFor\")}\n dataTestId=\"managenotification-dropdown-notification-for\"\n />\n </Grid>\n {watchedFields.notificationType === \"WEB\" && (\n <Grid\n container\n spacing={1}\n display={\"flex\"}\n flexDirection={\"column\"}\n >\n <Grid>\n <Typography variant=\"body2\">\n {translate(\"Data For\")}{\" \"}\n <span className=\"text-red-500 ml-1\">*</span>\n </Typography>\n <CustomDropdown\n control={control}\n name={\"dataFor\"}\n id={\"dataFor\"}\n options={optionsActionFor}\n displayName={\"label\"}\n optionValue={\"value\"}\n errors={errors}\n onChange={(e) => handleActionFor(e, \"dataFor\")}\n dataTestId=\"managenotification-dropdown-data-for\"\n />\n </Grid>\n <Grid>\n <Typography variant=\"body2\">\n {translate(\"Action By\")}\n </Typography>\n <CustomAutocomplete\n options={roleData}\n control={control}\n name={\"roles\"}\n placeholder=\"Select Role\"\n onChange={(e, val, removedOption) =>\n addRole(val, \"roles\", removedOption)\n }\n value={watchedFields?.roles?.map((role) =>\n roleData.find((item) => item.id === role),\n )}\n errors={errors}\n getOptionLabel={(option) => option?.name}\n dataTestId=\"managenotification-select-action-by\"\n />\n </Grid>\n <Grid>\n <Typography variant=\"body2\">\n {translate(\"Order No.\")}\n </Typography>\n <CustomTextField\n control={control}\n name=\"orderNo\"\n id=\"orderNo\"\n errors={errors}\n placeholder=\"Enter Order No\"\n inputProps={{ inputMode: \"numeric\", pattern: \"[0-9]*\" }}\n type=\"number\"\n onInput={(e) => {\n e.target.value = e.target.value.replace(/\\D/g, \"\");\n }}\n dataTestId=\"managenotification-textfield-order-no\"\n />\n </Grid>\n <Grid>\n <Typography variant=\"body2\">\n {translate(\"Color Code\")}\n </Typography>\n <Grid\n onClick={(e) => setAnchorEl(e.currentTarget)}\n className=\"w-full h-[20px] border border-gray-300 cursor-pointer\"\n style={{\n backgroundColor: watchedFields.colorCode || \"#000\",\n }}\n />\n\n <Popover\n id={id}\n open={openPopover}\n anchorEl={anchorEl}\n onClose={() => setAnchorEl(null)}\n anchorOrigin={{\n vertical: \"bottom\",\n horizontal: \"left\",\n }}\n transformOrigin={{\n vertical: \"top\",\n horizontal: \"left\",\n }}\n >\n <Grid className=\"p-2\">\n <SketchPicker\n color={watchedFields.colorCode || \"#000\"}\n onChangeComplete={(newColor) =>\n setValue(\"colorCode\", newColor.hex)\n }\n data-testid=\"managenotification-sketch-picker\"\n />\n </Grid>\n </Popover>\n </Grid>\n <Grid>\n <CustomCheckBox\n name=\"isLocationFilterRequired\"\n label=\"Do you want location based filter?\"\n labelSizeInRem={\".9rem\"}\n control={control}\n dataTestId=\"managenotification-checkbox-location-filter\"\n />\n </Grid>\n {watchedFields.isLocationFilterRequired && (\n <>\n <Grid>\n <Typography variant=\"body2\">\n {translate(\"Fetch Up to Level\")}{\" \"}\n <span className=\"text-red-500 ml-1\">*</span>\n </Typography>\n <CustomTextField\n control={control}\n placeholder=\"Fetch Upto Level\"\n name={\"fetchUptoLevel\"}\n id={\"fetchUptoLevel\"}\n errors={errors}\n dataTestId=\"managenotification-textfield-fetch-upto-level\"\n />\n </Grid>\n <Grid>\n <Typography variant=\"body2\">\n {translate(\"Required Upto Level\")}{\" \"}\n <span className=\"text-red-500 ml-1\">*</span>\n </Typography>\n <CustomTextField\n control={control}\n name={\"requiredUptoLevel\"}\n placeholder=\"Required Upto Level\"\n id={\"requiredUptoLevel\"}\n errors={errors}\n dataTestId=\"managenotification-textfield--upto-level\"\n />\n </Grid>\n <Grid>\n <CustomCheckBox\n name=\"isFetchAccordingAOI\"\n label=\"fetch according to user aoi\"\n labelSizeInRem={\".9rem\"}\n control={control}\n dataTestId=\"managenotification-checkbox-fetch-according-aoi\"\n />\n </Grid>\n </>\n )}\n <Grid>\n <Typography variant=\"body2\">\n {translate(\"Data Query\")}{\" \"}\n <span className=\"text-red-500 ml-1\">*</span>\n </Typography>\n <CustomTextArea\n control={control}\n id=\"dataQuery\"\n name=\"dataQuery\"\n errors={errors}\n label=\"\"\n minRows={5}\n dataTestId=\"managenotification-textarea-data-query\"\n />\n <Typography variant=\"caption\" className=\"font-bold\">\n #taskTypeId# #limit# #offset# #userId# #memberId#\n #loggedInUserId#\n {watchedFields.isLocationFilterRequired && \"#locationId#\"}\n </Typography>\n </Grid>\n <Grid container display={\"flex\"} size={{ xs: 12 }}>\n <FormControl className=\"flex flex-row\" component=\"fieldset\">\n <Typography variant=\"body2\" mt={1.4} mr={2}>\n {translate(\"Type of Action\")}{\" \"}\n <span className=\"text-red-500 ml-1\">*</span>\n </Typography>\n <RadioGroup\n row\n aria-label=\"radio-group\"\n value={watchedFields.actionBase}\n name=\"actionBase\"\n onChange={handleRadioChange}\n data-testid=\"managenotification-radiogroup-actionbase\"\n >\n <FormControlLabel\n value=\"URL\"\n control={<Radio />}\n label={translate(\"URL Based\")}\n sx={{\n \"& .MuiFormControlLabel-label\": {\n fontSize: \"13px\",\n },\n }}\n data-testid=\"managenotification-formcontrollabel-url\"\n />\n <FormControlLabel\n value=\"MODAL\"\n control={<Radio />}\n label={translate(\"Modal Based\")}\n sx={{\n \"& .MuiFormControlLabel-label\": {\n fontSize: \"13px\",\n },\n }}\n data-testid=\"managenotification-formcontrollabel-modal\"\n />\n <FormControlLabel\n value=\"ACTION\"\n control={<Radio />}\n label={translate(\"Action based\")}\n sx={{\n \"& .MuiFormControlLabel-label\": {\n fontSize: \"13px\",\n },\n }}\n data-testid=\"managenotification-formcontrollabel-action\"\n />\n <FormControlLabel\n value=\"FORM_CONFIGURATOR\"\n control={<Radio />}\n label={translate(\"Form Configurator\")}\n sx={{\n \"& .MuiFormControlLabel-label\": {\n fontSize: \"13px\",\n },\n }}\n data-testid=\"managenotification-formcontrollabel-form-configurator\"\n />\n </RadioGroup>\n <Typography data-testid=\"managenotification-typography-actionbase-error\">\n {errors?.actionBase && (\n <p className=\"error-helper-text\">\n {errors?.actionBase?.message}\n </p>\n )}{\" \"}\n </Typography>\n </FormControl>\n </Grid>\n {watchedFields.actionBase === \"URL\" && (\n <Grid>\n <Typography variant=\"body2\">\n {translate(\"URL\")}{\" \"}\n <span className=\"text-red-500 ml-1\">*</span>\n </Typography>\n <CustomTextField\n placeholder={\"Enter Url\"}\n control={control}\n name={\"url\"}\n id={\"url\"}\n errors={errors}\n dataTestId=\"managenotification-customtextfield-url\"\n />\n </Grid>\n )}\n {watchedFields.actionBase === \"MODAL\" && (\n <Grid>\n <Typography\n variant=\"body2\"\n data-testid=\"managenotification-typography-modal-label\"\n >\n {translate(\"Modal Name\")}{\" \"}\n <span className=\"text-red-500 ml-1\">*</span>\n </Typography>\n <CustomTextField\n placeholder={\"Enter Modal Name\"}\n control={control}\n name={\"modalName\"}\n id={\"modalName\"}\n errors={errors}\n dataTestId=\"managenotification-customtextfield-modal\"\n />\n </Grid>\n )}\n {watchedFields.actionBase === \"ACTION\" && (\n <Grid>\n <Typography\n variant=\"body2\"\n className=\"mb-1\"\n data-testid=\"managenotification-typography-action-label\"\n >\n {translate(\"Action Query\")}{\" \"}\n <span className=\"text-red-500 ml-1\">*</span>\n </Typography>\n <CustomTextArea\n control={control}\n id=\"actionQuery\"\n name=\"actionQuery\"\n errors={errors}\n label=\"\"\n minRows={5}\n data-testid=\"managenotification-customtextarea-actionquery\"\n />\n </Grid>\n )}\n {watchedFields.actionBase === \"FORM_CONFIGURATOR\" && (\n <>\n <Grid>\n <Typography variant=\"body2\">\n {translate(\"Form Configurator\")}{\" \"}\n <span className=\"text-red-500 ml-1\">*</span>\n </Typography>\n <CustomDropdown\n control={control}\n name={\"formCode\"}\n id={\"formCode\"}\n options={activeForms}\n displayName={\"form_name\"}\n optionValue={\"form_code\"}\n errors={errors}\n onChange={(e) => {\n setValue(\"formCode\", e.target.value);\n const form = activeForms.find(f => f.form_code === e.target.value);\n if (form && form.page_params) {\n setValue(\"formParams\", form.page_params.split(',').reduce((acc, param) => ({...acc, [param]: ''}), {}));\n } else {\n setValue(\"formParams\", {});\n }\n }}\n dataTestId=\"managenotification-dropdown-form-configurator\"\n />\n </Grid>\n {watchedFields.formParams && Object.keys(watchedFields.formParams).map((paramName) => (\n <Grid key={paramName}>\n <Typography variant=\"body2\" className=\"mb-1\">\n {paramName}\n </Typography>\n <CustomDropdown\n control={control}\n name={`formParams.${paramName}`}\n id={`formParams_${paramName}`}\n options={paramOptions}\n displayName={\"label\"}\n optionValue={\"value\"}\n errors={errors}\n dataTestId={`managenotification-dropdown-${paramName}`}\n />\n </Grid>\n ))}\n </>\n )}\n\n <Grid className=\"w-full min-w-0\">\n <Button\n onClick={handleAddField}\n variant=\"contained\"\n size=\"small\"\n className=\"mb-2 mt-2\"\n data-testid=\"managenotification-button-add-escalation\"\n >\n {`${translate(\"Add\")} ${translate(\"Escalation Level\")}`}\n </Button>\n <TableContainer\n sx={{\n border: \"1px solid #d1d5db\",\n display: \"block\",\n maxHeight: 260,\n maxWidth: \"100%\",\n overflowX: \"scroll\",\n overflowY: \"auto\",\n scrollbarGutter: \"stable\",\n width: {\n xs: \"calc(100vw - 48px)\",\n sm: 448,\n md: 618,\n },\n \"&::-webkit-scrollbar\": {\n height: 8,\n width: 8,\n },\n }}\n data-testid=\"managenotification-escalation-table-container\"\n >\n <Table\n stickyHeader\n sx={{\n minWidth: 900,\n tableLayout: \"fixed\",\n width: 900,\n }}\n className=\"border border-gray-300\"\n >\n <TableHead>\n <TableRow>\n <TableCell\n className=\"border border-gray-300 p-2\"\n sx={{ minWidth: 280, width: 280 }}\n >\n <Typography\n variant=\"body2\"\n className=\"font-bold\"\n data-testid=\"managenotification-typography-name\"\n >\n {translate(\"Name\")}\n </Typography>\n </TableCell>\n <TableCell\n className=\"border border-gray-300 p-2\"\n sx={{ minWidth: 430, width: 430 }}\n >\n <Typography\n variant=\"body2\"\n className=\"font-bold\"\n data-testid=\"managenotification-typography-performer\"\n >\n {translate(\"Performer\")}\n </Typography>\n </TableCell>\n <TableCell\n className=\"p-2\"\n sx={{ minWidth: 130, width: 130 }}\n >\n <Typography\n variant=\"body2\"\n className=\"font-bold\"\n data-testid=\"managenotification-typography-action\"\n >\n {translate(\"Actions\")}\n </Typography>\n </TableCell>\n </TableRow>\n </TableHead>\n <TableBody>\n {getValues(\"escalationLevels\")?.map((field, index) => (\n <TableRow\n key={field.counter ? field.counter : field.id}\n >\n <TableCell\n className=\"border border-gray-300 p-2\"\n sx={{ minWidth: 280, width: 280 }}\n >\n <CustomTextField\n control={control}\n errors={errors}\n name={`escalationLevels[${index}].name`}\n dataTestId={`managenotification-customtextfield-name-${field.counter}`}\n />\n </TableCell>\n <TableCell\n className=\"border border-gray-300 p-2\"\n sx={{ minWidth: 430, width: 430 }}\n >\n <CustomAutocomplete\n options={\n watchedFields.roles\n ? watchedFields.roles?.map((role) =>\n roleData.find((item) => {\n return item.id === role;\n }),\n )\n : []\n }\n name={`escalationLevels[${index}].roles`}\n control={control}\n onChange={(e, val) => addPerformer(val, index)}\n value={watchedFields.escalationLevels[\n index\n ].roles?.map((role) =>\n roleData.find((item) => item.id === role),\n )}\n errors={errors}\n getOptionLabel={(option) => option?.name}\n dataTestId={`managenotification-customautocomplete-performer-${field.counter}`}\n />\n </TableCell>\n <TableCell sx={{ minWidth: 130, width: 130 }}>\n {index > 0 && (\n <FontAwesomeIcon\n icon={faTrash}\n onClick={() =>\n handleDeleteField(\n field.id ? field.id : field.counter,\n )\n }\n className=\"text-[14px] text-[var(--color-error)]\"\n data-testid={`managenotification-delete-action-${field.counter}`}\n />\n )}\n </TableCell>\n </TableRow>\n ))}\n </TableBody>\n </Table>\n </TableContainer>\n </Grid>\n </Grid>\n )}\n\n {watchedFields.notificationType === \"MO\" && (\n <Grid>\n <Typography variant=\"body2\">\n {translate(\"Role\")}\n <span className=\"text-red-500 ml-1\">*</span>\n </Typography>\n <CustomDropdown\n control={control}\n options={roleData}\n name={\"roleId\"}\n id=\"roleId\"\n displayName={\"name\"}\n value={watch(\"roleId\") || \"\"}\n optionValue={\"id\"}\n errors={errors}\n dataTestId=\"managenotification-dropdown-role\"\n />\n </Grid>\n )}\n </Grid>\n <Stack\n direction=\"row\"\n spacing={2}\n justifyContent=\"flex-end\"\n mt={2}\n mb={1.5}\n p={2}\n >\n <Button\n variant=\"contained\"\n color=\"secondary\"\n size=\"small\"\n onClick={() => {\n trackEvent(\"button_click\", {\n button_name: \"managenotification-close-button\",\n button_type: \"cancel\",\n button_id: \"managenotification-close-button\",\n });\n handleCloseModal();\n }}\n data-testid=\"managenotification-close-button\"\n >\n <Typography variant=\"caption\">{translate(\"Close\")}</Typography>\n </Button>\n <Button\n variant=\"contained\"\n color=\"primary\"\n size=\"small\"\n onClick={handleSubmit(onSubmit)}\n type=\"submit\"\n data-testid=\"managenotification-submit-button\"\n >\n {!data ? `${translate(\"Add\")}` : `${translate(\"Update\")}`}\n </Button>\n </Stack>\n </Grid>\n </ManageNotificationSkeleton>\n </Drawer>\n );\n}\nManageNotification.propTypes = {\n open: PropTypes.any,\n handleClose: PropTypes.func,\n data: PropTypes.any,\n roleData: PropTypes.any,\n setNotifications: PropTypes.any,\n};\n"],"names":["ManageNotification","open","data","handleClose","roleData","setNotifications","formRef","useRef","submitRef","anchorEl","setAnchorEl","useState","openPopover","id","isLoading","setIsLoading","activeForms","setActiveForms","fetchForms","res","executeQuery","formList","_a","f","error","validationSchema","yup","notificationType","schema","isLocationFilterRequired","actionBase","handleSubmit","getValues","control","errors","setValue","reset","watch","clearErrors","useForm","yupResolver","watchedFields","useEffect","translate","useTranslateProvider","optionsType","optionsActionFor","paramOptions","handleCloseModal","handleNotificationType","handleActionFor","type","addRole","values","name","removedOption","ids","value","updatedEscalationLevels","item","addPerformer","index","handleAddField","fields","newField","handleDeleteField","identifier","newFields","field","handleRadioChange","trackEvent","useTrackEvent","onSubmit","updateNotification","createNotification","showToast","cur","key","parsedOtherData","form","jsx","Drawer","ManageNotificationSkeleton","jsxs","Grid","Typography","CustomDropdown","CustomTextField","CustomAutocomplete","val","role","option","Popover","SketchPicker","newColor","CustomCheckBox","Fragment","CustomTextArea","FormControl","RadioGroup","FormControlLabel","Radio","_b","acc","param","paramName","Button","TableContainer","Table","TableHead","TableRow","TableCell","TableBody","_c","e","FontAwesomeIcon","faTrash","Stack","PropTypes"],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { jsxs as l, jsx as a, Fragment as A } from "react/jsx-runtime";
|
|
|
2
2
|
import { useRef as X, useState as J, useEffect as he } from "react";
|
|
3
3
|
import { Modal as ge, Box as H, IconButton as fe, FormControl as y, FormGroup as pe, Button as Q } from "@mui/material";
|
|
4
4
|
import ye from "@/hooks/useTrackEvent";
|
|
5
|
-
import {
|
|
5
|
+
import { a as be, b as ve, c as we } from "./Roles-BIyiic67.js";
|
|
6
6
|
import { getRoleList as Ne, getLocationTypes as Te, execute as O } from "@/common/services/GlobalApis";
|
|
7
7
|
import { showToast as j } from "@/common/toaster/toaster";
|
|
8
8
|
import { useForm as Ie } from "react-hook-form";
|
|
@@ -773,4 +773,4 @@ Se.propTypes = {
|
|
|
773
773
|
export {
|
|
774
774
|
Se as default
|
|
775
775
|
};
|
|
776
|
-
//# sourceMappingURL=ManageRole-
|
|
776
|
+
//# sourceMappingURL=ManageRole-CNZBRKGU.js.map
|