@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.
Files changed (217) hide show
  1. package/dist/AccessRights-DUgY6ewy.js +1031 -0
  2. package/dist/AccessRights-DUgY6ewy.js.map +1 -0
  3. package/dist/AddEditQueryBuilder-D-iQiVIe.js +365 -0
  4. package/dist/AddEditQueryBuilder-D-iQiVIe.js.map +1 -0
  5. package/dist/{AddFeatures-v3TmGQee.js → AddFeatures-D1sU8RjY.js} +2 -2
  6. package/dist/{AddFeatures-v3TmGQee.js.map → AddFeatures-D1sU8RjY.js.map} +1 -1
  7. package/dist/AddLabelModal-Bq-wRqv9.js +631 -0
  8. package/dist/AddLabelModal-Bq-wRqv9.js.map +1 -0
  9. package/dist/AddMenuConfiguration-c6ZKiN0i.js +8898 -0
  10. package/dist/AddMenuConfiguration-c6ZKiN0i.js.map +1 -0
  11. package/dist/AppModal-CCtrQ5Tr.js +394 -0
  12. package/dist/AppModal-CCtrQ5Tr.js.map +1 -0
  13. package/dist/BrandsPage-DMw2vT0u-BVhvhc6J.js +387 -0
  14. package/dist/BrandsPage-DMw2vT0u-BVhvhc6J.js.map +1 -0
  15. package/dist/CategoriesPage-D3ihx9Gi-CT58g0ry.js +398 -0
  16. package/dist/CategoriesPage-D3ihx9Gi-CT58g0ry.js.map +1 -0
  17. package/dist/{ChangePasswordModalCore-DutQAZOx.js → ChangePasswordModalCore-lQ9GamH1.js} +1605 -1610
  18. package/dist/ChangePasswordModalCore-lQ9GamH1.js.map +1 -0
  19. package/dist/ConditionConfig-BQBmBHaM.js +408 -0
  20. package/dist/ConditionConfig-BQBmBHaM.js.map +1 -0
  21. package/dist/DashboardPage-asr2XDRu-uOOlX9Vq.js +435 -0
  22. package/dist/DashboardPage-asr2XDRu-uOOlX9Vq.js.map +1 -0
  23. package/dist/EventConfig-BY2cgGyx.js +27 -0
  24. package/dist/EventConfig-BY2cgGyx.js.map +1 -0
  25. package/dist/EventConfigurations-CUPEN5BV.js +544 -0
  26. package/dist/EventConfigurations-CUPEN5BV.js.map +1 -0
  27. package/dist/EventConfigurations.css +1 -1
  28. package/dist/EventsExceptionModal-BX-ArkBE.js +188 -0
  29. package/dist/EventsExceptionModal-BX-ArkBE.js.map +1 -0
  30. package/dist/EventsUi-D6O9S7BK.js +258 -0
  31. package/dist/EventsUi-D6O9S7BK.js.map +1 -0
  32. package/dist/FacilityPicker-DYl_PDyt-Cbwo2tAY.js +79 -0
  33. package/dist/FacilityPicker-DYl_PDyt-Cbwo2tAY.js.map +1 -0
  34. package/dist/FeatureMenu-CHsBbw3W.js +525 -0
  35. package/dist/FeatureMenu-CHsBbw3W.js.map +1 -0
  36. package/dist/{FhirServerList-Dkq7Kbes.js → FhirServerList-iXBPkRVF.js} +22 -22
  37. package/dist/{FhirServerList-Dkq7Kbes.js.map → FhirServerList-iXBPkRVF.js.map} +1 -1
  38. package/dist/{FhirServerWizard-Db6Hm4bQ.js → FhirServerWizard-DZI8Olku.js} +15 -15
  39. package/dist/{FhirServerWizard-Db6Hm4bQ.js.map → FhirServerWizard-DZI8Olku.js.map} +1 -1
  40. package/dist/FlywayQuery-CQygj51V.js +179 -0
  41. package/dist/FlywayQuery-CQygj51V.js.map +1 -0
  42. package/dist/GrantPermissionModal-D7iNZd0M.js +239 -0
  43. package/dist/GrantPermissionModal-D7iNZd0M.js.map +1 -0
  44. package/dist/ImmunizationConfigurationBase-aUtx0JEe.js +8019 -0
  45. package/dist/ImmunizationConfigurationBase-aUtx0JEe.js.map +1 -0
  46. package/dist/ImmunizationConfigurationBase.css +1 -1
  47. package/dist/ImmunizationConfigurationsList-TZcLDEci.js +369 -0
  48. package/dist/ImmunizationConfigurationsList-TZcLDEci.js.map +1 -0
  49. package/dist/InventoryPage-DOotGZrj-CoPjOJEI.js +665 -0
  50. package/dist/InventoryPage-DOotGZrj-CoPjOJEI.js.map +1 -0
  51. package/dist/LanguagesModal-B3NTebYT.js +352 -0
  52. package/dist/LanguagesModal-B3NTebYT.js.map +1 -0
  53. package/dist/ManageDynamicFeature-BU0I45dd.js +4475 -0
  54. package/dist/ManageDynamicFeature-BU0I45dd.js.map +1 -0
  55. package/dist/ManageEventConfiguration-DqW3krT6.js +1216 -0
  56. package/dist/ManageEventConfiguration-DqW3krT6.js.map +1 -0
  57. package/dist/ManageEventConfiguration.css +1 -1
  58. package/dist/{ManageNotification-CfhHlfxA.js → ManageNotification-C5MhV77Q.js} +2 -2
  59. package/dist/{ManageNotification-CfhHlfxA.js.map → ManageNotification-C5MhV77Q.js.map} +1 -1
  60. package/dist/{ManageRole-4Y2PP4dQ.js → ManageRole-CNZBRKGU.js} +2 -2
  61. package/dist/{ManageRole-4Y2PP4dQ.js.map → ManageRole-CNZBRKGU.js.map} +1 -1
  62. package/dist/ManageTranslation-vRiptUAP.js +833 -0
  63. package/dist/ManageTranslation-vRiptUAP.js.map +1 -0
  64. package/dist/ManageTranslation.css +1 -1
  65. package/dist/{ManageUser-DDzyd9jm.js → ManageUser-DZltBina.js} +224 -224
  66. package/dist/{ManageUser-DDzyd9jm.js.map → ManageUser-DZltBina.js.map} +1 -1
  67. package/dist/MemberProfileCard-D5CgkTdJ-D2NgDJl3.js +272 -0
  68. package/dist/MemberProfileCard-D5CgkTdJ-D2NgDJl3.js.map +1 -0
  69. package/dist/MobileAnalytics-BLOionG_.js +17301 -0
  70. package/dist/MobileAnalytics-BLOionG_.js.map +1 -0
  71. package/dist/MobileMenuManagement-68Wijb0X.js +220 -0
  72. package/dist/MobileMenuManagement-68Wijb0X.js.map +1 -0
  73. package/dist/MobileTypeEventConfigModal-CMcj7Ozp.js +752 -0
  74. package/dist/MobileTypeEventConfigModal-CMcj7Ozp.js.map +1 -0
  75. package/dist/NotificationFlywayQuery-BAHVjf6N.js +247 -0
  76. package/dist/NotificationFlywayQuery-BAHVjf6N.js.map +1 -0
  77. package/dist/{NotificationList-BMFpNUJG.js → NotificationList-DEyRZEuM.js} +2 -2
  78. package/dist/{NotificationList-BMFpNUJG.js.map → NotificationList-DEyRZEuM.js.map} +1 -1
  79. package/dist/OtherTypeEventConfigModal-stNmuSv_.js +1812 -0
  80. package/dist/OtherTypeEventConfigModal-stNmuSv_.js.map +1 -0
  81. package/dist/PaymentCreatePage-DfvSZ-kB-CckogYoe.js +482 -0
  82. package/dist/PaymentCreatePage-DfvSZ-kB-CckogYoe.js.map +1 -0
  83. package/dist/PaymentsPage-DMNjYWAJ-ChO9IXmk.js +157 -0
  84. package/dist/PaymentsPage-DMNjYWAJ-ChO9IXmk.js.map +1 -0
  85. package/dist/PermissionsModal-CCYkcKlC.js +151 -0
  86. package/dist/PermissionsModal-CCYkcKlC.js.map +1 -0
  87. package/dist/PickupBatchLinesEditor-CE2RuyJT-BPceiJr8.js +119 -0
  88. package/dist/PickupBatchLinesEditor-CE2RuyJT-BPceiJr8.js.map +1 -0
  89. package/dist/PickupCreatePage-B4O_-vE5-DoOo9nJO.js +783 -0
  90. package/dist/PickupCreatePage-B4O_-vE5-DoOo9nJO.js.map +1 -0
  91. package/dist/PickupsPage-D7zyioJB-bHKnARYw.js +818 -0
  92. package/dist/PickupsPage-D7zyioJB-bHKnARYw.js.map +1 -0
  93. package/dist/PmGuard-BZE-y4In-D_pUm5MP.js +599 -0
  94. package/dist/PmGuard-BZE-y4In-D_pUm5MP.js.map +1 -0
  95. package/dist/ProductEditPage-BVlVUCtD-BR-tJ5Wb.js +1305 -0
  96. package/dist/ProductEditPage-BVlVUCtD-BR-tJ5Wb.js.map +1 -0
  97. package/dist/ProductsPage-DvNHIeZt-BoOOJJtk.js +253 -0
  98. package/dist/ProductsPage-DvNHIeZt-BoOOJJtk.js.map +1 -0
  99. package/dist/PurchaseCreatePage-Cq_i9snz-DRtHHFWw.js +675 -0
  100. package/dist/PurchaseCreatePage-Cq_i9snz-DRtHHFWw.js.map +1 -0
  101. package/dist/PurchaseRequestDetailPage-CA9KFOfE-CtjG4Gx6.js +1577 -0
  102. package/dist/PurchaseRequestDetailPage-CA9KFOfE-CtjG4Gx6.js.map +1 -0
  103. package/dist/PurchaseRequestsPage-DS9i4o0--TpoxA5Kd.js +279 -0
  104. package/dist/PurchaseRequestsPage-DS9i4o0--TpoxA5Kd.js.map +1 -0
  105. package/dist/PurchasesPage-DgL5T6BY-DePUuE9l.js +293 -0
  106. package/dist/PurchasesPage-DgL5T6BY-DePUuE9l.js.map +1 -0
  107. package/dist/QueryBuilder-CXaBe6sr.js +478 -0
  108. package/dist/QueryBuilder-CXaBe6sr.js.map +1 -0
  109. package/dist/{RoleManagement-DEiBNfT8.js → RoleManagement-s8iNx2Mu.js} +145 -155
  110. package/dist/RoleManagement-s8iNx2Mu.js.map +1 -0
  111. package/dist/Roles-BIyiic67.js +14 -0
  112. package/dist/Roles-BIyiic67.js.map +1 -0
  113. package/dist/SaleCreatePage-CZnIOydv-DKBw-qp7.js +544 -0
  114. package/dist/SaleCreatePage-CZnIOydv-DKBw-qp7.js.map +1 -0
  115. package/dist/SalesPage-DPIRrC_O-M8rqnK7z.js +315 -0
  116. package/dist/SalesPage-DPIRrC_O-M8rqnK7z.js.map +1 -0
  117. package/dist/SettingsPage-BC_R6Z-Q-CKNt9zRu.js +676 -0
  118. package/dist/SettingsPage-BC_R6Z-Q-CKNt9zRu.js.map +1 -0
  119. package/dist/ShowFlywayQuery-D10Olk5Z.js +154 -0
  120. package/dist/ShowFlywayQuery-D10Olk5Z.js.map +1 -0
  121. package/dist/{ShowFlywayQuery-DVRCd384.js → ShowFlywayQuery-DIOUdYfG.js} +170 -123
  122. package/dist/ShowFlywayQuery-DIOUdYfG.js.map +1 -0
  123. package/dist/ShowQueryHistory-DRBKYDKk.js +313 -0
  124. package/dist/ShowQueryHistory-DRBKYDKk.js.map +1 -0
  125. package/dist/StorageUnitsPage-BDRkdCjW-UF64rf7q.js +728 -0
  126. package/dist/StorageUnitsPage-BDRkdCjW-UF64rf7q.js.map +1 -0
  127. package/dist/SubMenu-BdMTYtC1.js +319 -0
  128. package/dist/SubMenu-BdMTYtC1.js.map +1 -0
  129. package/dist/TransactionsPage-CqWTMNU8-Df6eGFDW.js +746 -0
  130. package/dist/TransactionsPage-CqWTMNU8-Df6eGFDW.js.map +1 -0
  131. package/dist/TransferCreatePage-DF7FZaTJ-CL79V3aR.js +315 -0
  132. package/dist/TransferCreatePage-DF7FZaTJ-CL79V3aR.js.map +1 -0
  133. package/dist/TransfersPage-CGrRFaBF-cTwBUv0o.js +476 -0
  134. package/dist/TransfersPage-CGrRFaBF-cTwBUv0o.js.map +1 -0
  135. package/dist/TypeConfiguration-JbRCN6GR.js +114 -0
  136. package/dist/TypeConfiguration-JbRCN6GR.js.map +1 -0
  137. package/dist/{UserList-Bc8gYxRL.js → UserList-L41Xw0Q6.js} +253 -236
  138. package/dist/{UserList-Bc8gYxRL.js.map → UserList-L41Xw0Q6.js.map} +1 -1
  139. package/dist/Users-CsJ08Kjm.js.map +1 -1
  140. package/dist/VialsPage-rvvXjgZG-Oqo1v6kQ.js +321 -0
  141. package/dist/VialsPage-rvvXjgZG-Oqo1v6kQ.js.map +1 -0
  142. package/dist/constants-DpXnLsAB-D6lN5cjK.js +445 -0
  143. package/dist/constants-DpXnLsAB-D6lN5cjK.js.map +1 -0
  144. package/dist/{dashboardLayoutUtils-D1xCAxp3.js → dashboardLayoutUtils-CJivzaU1.js} +95 -92
  145. package/dist/dashboardLayoutUtils-CJivzaU1.js.map +1 -0
  146. package/dist/format-UOyOu75i-D0GyylyQ.js +63 -0
  147. package/dist/format-UOyOu75i-D0GyylyQ.js.map +1 -0
  148. package/dist/index.css +1 -1
  149. package/dist/index.js +1 -1
  150. package/dist/index.lib-ETRQOzvE.js +894 -0
  151. package/dist/index.lib-ETRQOzvE.js.map +1 -0
  152. package/dist/listValueStore-BFQtDYIR-Bj0yX145.js +36 -0
  153. package/dist/listValueStore-BFQtDYIR-Bj0yX145.js.map +1 -0
  154. package/dist/useFieldErrors-hDG8ox_x-DbSAzrGo.js +28 -0
  155. package/dist/useFieldErrors-hDG8ox_x-DbSAzrGo.js.map +1 -0
  156. package/dist/validation-BzlHnL-r-CCJm2utQ.js +125 -0
  157. package/dist/validation-BzlHnL-r-CCJm2utQ.js.map +1 -0
  158. package/package.json +4 -3
  159. package/dist/AccessRights-Zm8Obm4N.js +0 -1284
  160. package/dist/AccessRights-Zm8Obm4N.js.map +0 -1
  161. package/dist/AddEditQueryBuilder-Brdnm6rQ.js +0 -313
  162. package/dist/AddEditQueryBuilder-Brdnm6rQ.js.map +0 -1
  163. package/dist/AddLabelModal-DFllBVcd.js +0 -734
  164. package/dist/AddLabelModal-DFllBVcd.js.map +0 -1
  165. package/dist/AddMenuConfiguration-Ce91MhnU.js +0 -8547
  166. package/dist/AddMenuConfiguration-Ce91MhnU.js.map +0 -1
  167. package/dist/AppModal-CtG2GjD_.js +0 -428
  168. package/dist/AppModal-CtG2GjD_.js.map +0 -1
  169. package/dist/ChangePasswordModalCore-DutQAZOx.js.map +0 -1
  170. package/dist/ConditionConfig-B4Ffpgj3.js +0 -395
  171. package/dist/ConditionConfig-B4Ffpgj3.js.map +0 -1
  172. package/dist/ConditionConfig.css +0 -1
  173. package/dist/EventConfigurations-BJcURufo.js +0 -449
  174. package/dist/EventConfigurations-BJcURufo.js.map +0 -1
  175. package/dist/EventsExceptionModal-BlZtBQoR.js +0 -200
  176. package/dist/EventsExceptionModal-BlZtBQoR.js.map +0 -1
  177. package/dist/EventsSkeleton-DK6JDKAK.js +0 -83
  178. package/dist/EventsSkeleton-DK6JDKAK.js.map +0 -1
  179. package/dist/FeatureMenu-C3503UIX.js +0 -265
  180. package/dist/FeatureMenu-C3503UIX.js.map +0 -1
  181. package/dist/FlywayQuery-Cx2sly6g.js +0 -169
  182. package/dist/FlywayQuery-Cx2sly6g.js.map +0 -1
  183. package/dist/ImmunizationConfigurationBase-DLQVSNnt.js +0 -5895
  184. package/dist/ImmunizationConfigurationBase-DLQVSNnt.js.map +0 -1
  185. package/dist/ImmunizationConfigurationsList-DdSZicTP.js +0 -344
  186. package/dist/ImmunizationConfigurationsList-DdSZicTP.js.map +0 -1
  187. package/dist/LanguagesModal-D6VfaGrl.js +0 -394
  188. package/dist/LanguagesModal-D6VfaGrl.js.map +0 -1
  189. package/dist/ManageDynamicFeature-dt096fyj.js +0 -4189
  190. package/dist/ManageDynamicFeature-dt096fyj.js.map +0 -1
  191. package/dist/ManageEventConfiguration-BpSJszSX.js +0 -1017
  192. package/dist/ManageEventConfiguration-BpSJszSX.js.map +0 -1
  193. package/dist/ManageTranslation-B4C9-lWD.js +0 -625
  194. package/dist/ManageTranslation-B4C9-lWD.js.map +0 -1
  195. package/dist/MobileMenuManagement-Cf8IZlla.js +0 -108
  196. package/dist/MobileMenuManagement-Cf8IZlla.js.map +0 -1
  197. package/dist/MobileTypeEventConfigModal-DUkUYACe.js +0 -783
  198. package/dist/MobileTypeEventConfigModal-DUkUYACe.js.map +0 -1
  199. package/dist/NotificationFlywayQuery-BY8Zzml_.js +0 -244
  200. package/dist/NotificationFlywayQuery-BY8Zzml_.js.map +0 -1
  201. package/dist/OtherTypeEventConfigModal-CYBfr2XE.js +0 -2046
  202. package/dist/OtherTypeEventConfigModal-CYBfr2XE.js.map +0 -1
  203. package/dist/QueryBuilder-z7eqfd7D.js +0 -383
  204. package/dist/QueryBuilder-z7eqfd7D.js.map +0 -1
  205. package/dist/RoleManagement-DEiBNfT8.js.map +0 -1
  206. package/dist/ShowFlywayQuery-DVRCd384.js.map +0 -1
  207. package/dist/ShowFlywayQuery-tj42YQAS.js +0 -130
  208. package/dist/ShowFlywayQuery-tj42YQAS.js.map +0 -1
  209. package/dist/ShowQueryHistory-BDN0tzHg.js +0 -190
  210. package/dist/ShowQueryHistory-BDN0tzHg.js.map +0 -1
  211. package/dist/SubMenu-B072oEGb.js +0 -191
  212. package/dist/SubMenu-B072oEGb.js.map +0 -1
  213. package/dist/TypeConfiguration-C3xoP2Nb.js +0 -117
  214. package/dist/TypeConfiguration-C3xoP2Nb.js.map +0 -1
  215. package/dist/dashboardLayoutUtils-D1xCAxp3.js.map +0 -1
  216. package/dist/index.lib-C3fwoM3y.js +0 -820
  217. 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 { g as be, a as ve, b as we } from "./RoleManagement-DEiBNfT8.js";
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-4Y2PP4dQ.js.map
776
+ //# sourceMappingURL=ManageRole-CNZBRKGU.js.map