@argusoft/medplat-core 1.0.29 → 1.0.30

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (194) hide show
  1. package/dist/AccessRights-xrday-L1.js +1023 -0
  2. package/dist/AccessRights-xrday-L1.js.map +1 -0
  3. package/dist/AddEditQueryBuilder-D-iQiVIe.js +365 -0
  4. package/dist/AddEditQueryBuilder-D-iQiVIe.js.map +1 -0
  5. package/dist/{AddFeatures-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-Ce91MhnU.js → AddMenuConfiguration-e5BVXhmw.js} +2 -2
  10. package/dist/{AddMenuConfiguration-Ce91MhnU.js.map → AddMenuConfiguration-e5BVXhmw.js.map} +1 -1
  11. package/dist/AppModal-CCtrQ5Tr.js +394 -0
  12. package/dist/AppModal-CCtrQ5Tr.js.map +1 -0
  13. package/dist/BrandsPage-DmRW5bhm-Bk1szrjI.js +387 -0
  14. package/dist/BrandsPage-DmRW5bhm-Bk1szrjI.js.map +1 -0
  15. package/dist/CategoriesPage-BsS5IQh3-B03lWRY5.js +391 -0
  16. package/dist/CategoriesPage-BsS5IQh3-B03lWRY5.js.map +1 -0
  17. package/dist/{ChangePasswordModalCore-DutQAZOx.js → ChangePasswordModalCore-BPsJquTS.js} +1606 -1611
  18. package/dist/ChangePasswordModalCore-BPsJquTS.js.map +1 -0
  19. package/dist/{ConditionConfig-B4Ffpgj3.js → ConditionConfig-Ddz9halE.js} +2 -2
  20. package/dist/{ConditionConfig-B4Ffpgj3.js.map → ConditionConfig-Ddz9halE.js.map} +1 -1
  21. package/dist/DashboardPage-C3bKc5na-sBd9Yqbi.js +435 -0
  22. package/dist/DashboardPage-C3bKc5na-sBd9Yqbi.js.map +1 -0
  23. package/dist/EventConfig-BmLemzX3.js +26 -0
  24. package/dist/EventConfig-BmLemzX3.js.map +1 -0
  25. package/dist/{EventConfigurations-BJcURufo.js → EventConfigurations-Bzh1qWXU.js} +31 -30
  26. package/dist/{EventConfigurations-BJcURufo.js.map → EventConfigurations-Bzh1qWXU.js.map} +1 -1
  27. package/dist/{EventsExceptionModal-BlZtBQoR.js → EventsExceptionModal-B2SRrnB1.js} +2 -2
  28. package/dist/{EventsExceptionModal-BlZtBQoR.js.map → EventsExceptionModal-B2SRrnB1.js.map} +1 -1
  29. package/dist/EventsSkeleton-BIcPks4T.js +61 -0
  30. package/dist/EventsSkeleton-BIcPks4T.js.map +1 -0
  31. package/dist/FacilityPicker-BiZeupmP-CyPHmj6b.js +79 -0
  32. package/dist/FacilityPicker-BiZeupmP-CyPHmj6b.js.map +1 -0
  33. package/dist/FeatureMenu-DYJmDt7q.js +521 -0
  34. package/dist/FeatureMenu-DYJmDt7q.js.map +1 -0
  35. package/dist/{FhirServerList-Dkq7Kbes.js → FhirServerList-DuTwnngN.js} +19 -19
  36. package/dist/{FhirServerList-Dkq7Kbes.js.map → FhirServerList-DuTwnngN.js.map} +1 -1
  37. package/dist/{FhirServerWizard-Db6Hm4bQ.js → FhirServerWizard-DZI8Olku.js} +15 -15
  38. package/dist/{FhirServerWizard-Db6Hm4bQ.js.map → FhirServerWizard-DZI8Olku.js.map} +1 -1
  39. package/dist/FlywayQuery-CQygj51V.js +179 -0
  40. package/dist/FlywayQuery-CQygj51V.js.map +1 -0
  41. package/dist/GrantPermissionModal-BDN66Atn.js +236 -0
  42. package/dist/GrantPermissionModal-BDN66Atn.js.map +1 -0
  43. package/dist/ImmunizationConfigurationBase-Di1KO3oW.js +7639 -0
  44. package/dist/ImmunizationConfigurationBase-Di1KO3oW.js.map +1 -0
  45. package/dist/ImmunizationConfigurationBase.css +1 -1
  46. package/dist/ImmunizationConfigurationsList-TZcLDEci.js +369 -0
  47. package/dist/ImmunizationConfigurationsList-TZcLDEci.js.map +1 -0
  48. package/dist/InventoryPage-C_AxSy7A-QLvlL4rE.js +665 -0
  49. package/dist/InventoryPage-C_AxSy7A-QLvlL4rE.js.map +1 -0
  50. package/dist/LanguagesModal-B3NTebYT.js +352 -0
  51. package/dist/LanguagesModal-B3NTebYT.js.map +1 -0
  52. package/dist/ManageDynamicFeature-BU0I45dd.js +4475 -0
  53. package/dist/ManageDynamicFeature-BU0I45dd.js.map +1 -0
  54. package/dist/{ManageEventConfiguration-BpSJszSX.js → ManageEventConfiguration-CoYcpjR9.js} +465 -397
  55. package/dist/ManageEventConfiguration-CoYcpjR9.js.map +1 -0
  56. package/dist/{ManageNotification-CfhHlfxA.js → ManageNotification-C5MhV77Q.js} +2 -2
  57. package/dist/{ManageNotification-CfhHlfxA.js.map → ManageNotification-C5MhV77Q.js.map} +1 -1
  58. package/dist/{ManageRole-4Y2PP4dQ.js → ManageRole-CNZBRKGU.js} +2 -2
  59. package/dist/{ManageRole-4Y2PP4dQ.js.map → ManageRole-CNZBRKGU.js.map} +1 -1
  60. package/dist/ManageTranslation-vRiptUAP.js +833 -0
  61. package/dist/ManageTranslation-vRiptUAP.js.map +1 -0
  62. package/dist/ManageTranslation.css +1 -1
  63. package/dist/{ManageUser-DDzyd9jm.js → ManageUser-DCFkUMV9.js} +131 -131
  64. package/dist/{ManageUser-DDzyd9jm.js.map → ManageUser-DCFkUMV9.js.map} +1 -1
  65. package/dist/MemberProfileCard-BdUNgHRB-VywqQdFF.js +272 -0
  66. package/dist/MemberProfileCard-BdUNgHRB-VywqQdFF.js.map +1 -0
  67. package/dist/MobileAnalytics-pQoE8cG1.js +16888 -0
  68. package/dist/MobileAnalytics-pQoE8cG1.js.map +1 -0
  69. package/dist/{MobileTypeEventConfigModal-DUkUYACe.js → MobileTypeEventConfigModal-BeveaX0C.js} +2 -2
  70. package/dist/{MobileTypeEventConfigModal-DUkUYACe.js.map → MobileTypeEventConfigModal-BeveaX0C.js.map} +1 -1
  71. package/dist/NotificationFlywayQuery-BAHVjf6N.js +247 -0
  72. package/dist/NotificationFlywayQuery-BAHVjf6N.js.map +1 -0
  73. package/dist/{NotificationList-BMFpNUJG.js → NotificationList-DEyRZEuM.js} +2 -2
  74. package/dist/{NotificationList-BMFpNUJG.js.map → NotificationList-DEyRZEuM.js.map} +1 -1
  75. package/dist/{OtherTypeEventConfigModal-CYBfr2XE.js → OtherTypeEventConfigModal-CM6VkdmY.js} +3 -3
  76. package/dist/OtherTypeEventConfigModal-CM6VkdmY.js.map +1 -0
  77. package/dist/PaymentCreatePage-CIVe0P0p-25BQVpOX.js +482 -0
  78. package/dist/PaymentCreatePage-CIVe0P0p-25BQVpOX.js.map +1 -0
  79. package/dist/PaymentsPage-BvPe5Q9F-D2gfziwW.js +157 -0
  80. package/dist/PaymentsPage-BvPe5Q9F-D2gfziwW.js.map +1 -0
  81. package/dist/PermissionsModal-CCYkcKlC.js +151 -0
  82. package/dist/PermissionsModal-CCYkcKlC.js.map +1 -0
  83. package/dist/PickupBatchLinesEditor-DHmcAG23-DL2p6IKJ.js +119 -0
  84. package/dist/PickupBatchLinesEditor-DHmcAG23-DL2p6IKJ.js.map +1 -0
  85. package/dist/PickupCreatePage-CB0Sl0Hb-Mmj7zESG.js +783 -0
  86. package/dist/PickupCreatePage-CB0Sl0Hb-Mmj7zESG.js.map +1 -0
  87. package/dist/PickupsPage-Ctpghavs-CUp4uIZq.js +818 -0
  88. package/dist/PickupsPage-Ctpghavs-CUp4uIZq.js.map +1 -0
  89. package/dist/PmGuard-b10TGXEi-G3N0G_Wg.js +599 -0
  90. package/dist/PmGuard-b10TGXEi-G3N0G_Wg.js.map +1 -0
  91. package/dist/ProductEditPage-C1thoKHu-URQaZ6st.js +1302 -0
  92. package/dist/ProductEditPage-C1thoKHu-URQaZ6st.js.map +1 -0
  93. package/dist/ProductsPage-CupVmOD4-D45a_hf-.js +252 -0
  94. package/dist/ProductsPage-CupVmOD4-D45a_hf-.js.map +1 -0
  95. package/dist/PurchaseCreatePage-YD3NmhPQ-2j4etSjM.js +648 -0
  96. package/dist/PurchaseCreatePage-YD3NmhPQ-2j4etSjM.js.map +1 -0
  97. package/dist/PurchaseRequestDetailPage-Dg_MRY_N-D1bgTEAn.js +1577 -0
  98. package/dist/PurchaseRequestDetailPage-Dg_MRY_N-D1bgTEAn.js.map +1 -0
  99. package/dist/PurchaseRequestsPage-DPAPzpmm-mDH2IrTl.js +279 -0
  100. package/dist/PurchaseRequestsPage-DPAPzpmm-mDH2IrTl.js.map +1 -0
  101. package/dist/PurchasesPage-It1GHiXl-eH4IsF_U.js +293 -0
  102. package/dist/PurchasesPage-It1GHiXl-eH4IsF_U.js.map +1 -0
  103. package/dist/QueryBuilder-CXaBe6sr.js +478 -0
  104. package/dist/QueryBuilder-CXaBe6sr.js.map +1 -0
  105. package/dist/{RoleManagement-DEiBNfT8.js → RoleManagement-s8iNx2Mu.js} +145 -155
  106. package/dist/RoleManagement-s8iNx2Mu.js.map +1 -0
  107. package/dist/Roles-BIyiic67.js +14 -0
  108. package/dist/Roles-BIyiic67.js.map +1 -0
  109. package/dist/SaleCreatePage-C9kFmTvm-B3Y0o4CX.js +544 -0
  110. package/dist/SaleCreatePage-C9kFmTvm-B3Y0o4CX.js.map +1 -0
  111. package/dist/SalesPage-D18DCseD-BxktGDRQ.js +315 -0
  112. package/dist/SalesPage-D18DCseD-BxktGDRQ.js.map +1 -0
  113. package/dist/SettingsPage-VsxI-ano-DcmtUUEj.js +747 -0
  114. package/dist/SettingsPage-VsxI-ano-DcmtUUEj.js.map +1 -0
  115. package/dist/ShowFlywayQuery-D10Olk5Z.js +154 -0
  116. package/dist/ShowFlywayQuery-D10Olk5Z.js.map +1 -0
  117. package/dist/{ShowFlywayQuery-DVRCd384.js → ShowFlywayQuery-D1y_4A1u.js} +161 -121
  118. package/dist/ShowFlywayQuery-D1y_4A1u.js.map +1 -0
  119. package/dist/ShowQueryHistory-DRBKYDKk.js +313 -0
  120. package/dist/ShowQueryHistory-DRBKYDKk.js.map +1 -0
  121. package/dist/StorageUnitsPage-7EqwuMOI-BwUso1Th.js +721 -0
  122. package/dist/StorageUnitsPage-7EqwuMOI-BwUso1Th.js.map +1 -0
  123. package/dist/SubMenu-eEDhZUvh.js +317 -0
  124. package/dist/SubMenu-eEDhZUvh.js.map +1 -0
  125. package/dist/TransactionsPage-DrH53pVS-BkhIGB6C.js +746 -0
  126. package/dist/TransactionsPage-DrH53pVS-BkhIGB6C.js.map +1 -0
  127. package/dist/TransferCreatePage-CuvoMrYH-DTTfHjz-.js +315 -0
  128. package/dist/TransferCreatePage-CuvoMrYH-DTTfHjz-.js.map +1 -0
  129. package/dist/TransfersPage-Cf701t8s-BBbN7cBf.js +476 -0
  130. package/dist/TransfersPage-Cf701t8s-BBbN7cBf.js.map +1 -0
  131. package/dist/{TypeConfiguration-C3xoP2Nb.js → TypeConfiguration-3O6ABrK-.js} +2 -2
  132. package/dist/{TypeConfiguration-C3xoP2Nb.js.map → TypeConfiguration-3O6ABrK-.js.map} +1 -1
  133. package/dist/{UserList-Bc8gYxRL.js → UserList-DgPxsnj2.js} +253 -236
  134. package/dist/{UserList-Bc8gYxRL.js.map → UserList-DgPxsnj2.js.map} +1 -1
  135. package/dist/Users-Bpc4Sazd.js +41 -0
  136. package/dist/Users-Bpc4Sazd.js.map +1 -0
  137. package/dist/VialsPage-8oAc1yFv-Cl3FUXBJ.js +321 -0
  138. package/dist/VialsPage-8oAc1yFv-Cl3FUXBJ.js.map +1 -0
  139. package/dist/constants-ClZJY2x1-MkSWn6TZ.js +434 -0
  140. package/dist/constants-ClZJY2x1-MkSWn6TZ.js.map +1 -0
  141. package/dist/format-UOyOu75i-D0GyylyQ.js +63 -0
  142. package/dist/format-UOyOu75i-D0GyylyQ.js.map +1 -0
  143. package/dist/index.css +1 -1
  144. package/dist/index.js +1 -1
  145. package/dist/index.lib-Dn8PMkeD.js +862 -0
  146. package/dist/index.lib-Dn8PMkeD.js.map +1 -0
  147. package/dist/useFieldErrors-hDG8ox_x-DbSAzrGo.js +28 -0
  148. package/dist/useFieldErrors-hDG8ox_x-DbSAzrGo.js.map +1 -0
  149. package/dist/validation-BzlHnL-r-CCJm2utQ.js +125 -0
  150. package/dist/validation-BzlHnL-r-CCJm2utQ.js.map +1 -0
  151. package/package.json +4 -3
  152. package/dist/AccessRights-Zm8Obm4N.js +0 -1284
  153. package/dist/AccessRights-Zm8Obm4N.js.map +0 -1
  154. package/dist/AddEditQueryBuilder-Brdnm6rQ.js +0 -313
  155. package/dist/AddEditQueryBuilder-Brdnm6rQ.js.map +0 -1
  156. package/dist/AddLabelModal-DFllBVcd.js +0 -734
  157. package/dist/AddLabelModal-DFllBVcd.js.map +0 -1
  158. package/dist/AppModal-CtG2GjD_.js +0 -428
  159. package/dist/AppModal-CtG2GjD_.js.map +0 -1
  160. package/dist/ChangePasswordModalCore-DutQAZOx.js.map +0 -1
  161. package/dist/EventsSkeleton-DK6JDKAK.js +0 -83
  162. package/dist/EventsSkeleton-DK6JDKAK.js.map +0 -1
  163. package/dist/FeatureMenu-C3503UIX.js +0 -265
  164. package/dist/FeatureMenu-C3503UIX.js.map +0 -1
  165. package/dist/FlywayQuery-Cx2sly6g.js +0 -169
  166. package/dist/FlywayQuery-Cx2sly6g.js.map +0 -1
  167. package/dist/ImmunizationConfigurationBase-DLQVSNnt.js +0 -5895
  168. package/dist/ImmunizationConfigurationBase-DLQVSNnt.js.map +0 -1
  169. package/dist/ImmunizationConfigurationsList-DdSZicTP.js +0 -344
  170. package/dist/ImmunizationConfigurationsList-DdSZicTP.js.map +0 -1
  171. package/dist/LanguagesModal-D6VfaGrl.js +0 -394
  172. package/dist/LanguagesModal-D6VfaGrl.js.map +0 -1
  173. package/dist/ManageDynamicFeature-dt096fyj.js +0 -4189
  174. package/dist/ManageDynamicFeature-dt096fyj.js.map +0 -1
  175. package/dist/ManageEventConfiguration-BpSJszSX.js.map +0 -1
  176. package/dist/ManageTranslation-B4C9-lWD.js +0 -625
  177. package/dist/ManageTranslation-B4C9-lWD.js.map +0 -1
  178. package/dist/NotificationFlywayQuery-BY8Zzml_.js +0 -244
  179. package/dist/NotificationFlywayQuery-BY8Zzml_.js.map +0 -1
  180. package/dist/OtherTypeEventConfigModal-CYBfr2XE.js.map +0 -1
  181. package/dist/QueryBuilder-z7eqfd7D.js +0 -383
  182. package/dist/QueryBuilder-z7eqfd7D.js.map +0 -1
  183. package/dist/RoleManagement-DEiBNfT8.js.map +0 -1
  184. package/dist/ShowFlywayQuery-DVRCd384.js.map +0 -1
  185. package/dist/ShowFlywayQuery-tj42YQAS.js +0 -130
  186. package/dist/ShowFlywayQuery-tj42YQAS.js.map +0 -1
  187. package/dist/ShowQueryHistory-BDN0tzHg.js +0 -190
  188. package/dist/ShowQueryHistory-BDN0tzHg.js.map +0 -1
  189. package/dist/SubMenu-B072oEGb.js +0 -191
  190. package/dist/SubMenu-B072oEGb.js.map +0 -1
  191. package/dist/Users-CsJ08Kjm.js +0 -40
  192. package/dist/Users-CsJ08Kjm.js.map +0 -1
  193. package/dist/index.lib-C3fwoM3y.js +0 -820
  194. package/dist/index.lib-C3fwoM3y.js.map +0 -1
@@ -9,7 +9,7 @@ import { Modal as le, Typography as O, IconButton as _, Box as c, FormControl as
9
9
  import w from "@/views/custom-components/CustomTextField";
10
10
  import { retrieveAllNotifications as he } from "@/common/services/GlobalApis";
11
11
  import { showToast as pe } from "@/common/toaster/toaster";
12
- import "./ManageEventConfiguration-BpSJszSX.js";
12
+ import "./ManageEventConfiguration-CoYcpjR9.js";
13
13
  import ye from "@/hooks/useTrackEvent";
14
14
  import { useTranslateProvider as ge } from "@/common/languageTranslator/TranslationContext";
15
15
  import { faXmark as ve, faTrash as De } from "@fortawesome/free-solid-svg-icons";
@@ -780,4 +780,4 @@ Fe.propTypes = {
780
780
  export {
781
781
  Fe as default
782
782
  };
783
- //# sourceMappingURL=MobileTypeEventConfigModal-DUkUYACe.js.map
783
+ //# sourceMappingURL=MobileTypeEventConfigModal-BeveaX0C.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MobileTypeEventConfigModal-DUkUYACe.js","sources":["../src/views/Events/MobileTypeEventConfigModal.jsx"],"sourcesContent":["import React, { useEffect, useState, useRef } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { useForm, Controller } from \"react-hook-form\";\nimport { yupResolver } from \"@hookform/resolvers/yup\";\nimport Grid from \"@mui/material/Grid2\";\nimport * as Yup from \"yup\";\nimport {\n Button,\n IconButton,\n Modal,\n Box,\n FormControl,\n MenuItem,\n Select,\n Table,\n TableBody,\n TableCell,\n TableContainer,\n TableHead,\n TableRow,\n TextField,\n Typography,\n Paper,\n Stack,\n} from \"@mui/material\";\nimport CustomTextField from \"@/views/custom-components/CustomTextField\";\nimport { retrieveAllNotifications } from \"@/common/services/GlobalApis\";\nimport { showToast } from \"@/common/toaster/toaster\";\nimport \"./Styles/ManageEventConfiguration.scss\";\n// import { useTracking } from \"@argusoft/medplat-useranalytics/dist/index.es\";\\\n\nimport useTrackEvent from \"@/hooks/useTrackEvent\";\nimport { useTranslateProvider } from \"@/common/languageTranslator/TranslationContext\";\nimport { faTrash, faXmark } from \"@fortawesome/free-solid-svg-icons\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\n// Define the validation schema using Yup\n\n/**\n * Modal component for configuring mobile type event notifications.\n * @module MobileTypeEventConfigModal\n * @param {Object} props - The props for the component.\n * @param {boolean} props.open - Whether the modal is open or not.\n * @param {Function} props.handleClose - Function to close the modal.\n * @param {Function} props.handleClick - Function to handle submission of the modal form.\n * @param {Object} props.type - Configuration type object passed to the modal.\n *\n * @returns {JSX.Element} The rendered modal component.\n */\nconst MobileTypeEventConfigModal = ({\n open,\n handleClose,\n handleClick,\n type,\n}) => {\n const formRef = useRef(null);\n const submitRef = useRef(false);\n const trackEvent = useTrackEvent();\n const [notificationTypes, setNotificationTypes] = useState([]);\n const [mobileNotification, setMobileNotification] = useState(null);\n const [mobileNotificationConfigs, setMobileNotificationConfigs] = useState(\n [],\n );\n const [mobileConfigLength, setmobileConfigLength] = useState(0);\n const { translate } = useTranslateProvider();\n\n /**\n * @function handleDelete\n * Deletes a mobile notification configuration at the specified index.\n *\n * @param {number} index - The index of the configuration to delete.\n */\n const handleDeleteConfig = (index) => {\n if (mobileNotificationConfigs) {\n mobileNotificationConfigs.forEach((data, i) => {\n setValue(`notificationCode${i}`, \"\"); // or set it to a default value\n setValue(`numberOfDaysAddedForOnDate${i}`, 0);\n setValue(`numberOfDaysAddedForExpiryDate${i}`, 0);\n setValue(`numberOfDaysAddedForDueDate${i}`, 0);\n });\n }\n\n setMobileNotificationConfigs((prev) => {\n const newConfigs = prev.filter((_, i) => i !== index);\n\n // Reset form values after deleting\n newConfigs.forEach((data, i) => {\n setValue(`notificationCode${i}`, data.notificationCode); // or set it to a default value\n setValue(\n `numberOfDaysAddedForOnDate${i}`,\n data.numberOfDaysAddedForOnDate,\n );\n setValue(\n `numberOfDaysAddedForExpiryDate${i}`,\n data.numberOfDaysAddedForExpiryDate,\n );\n setValue(\n `numberOfDaysAddedForDueDate${i}`,\n data.numberOfDaysAddedForDueDate,\n );\n });\n\n return newConfigs;\n });\n };\n\n /**\n * Updates the specified field of a mobile notification configuration.\n * @function handleChange\n * @param {number} index - The index of the configuration to update.\n * @param {string} field - The field name to update.\n * @param {*} value - The new value to set for the specified field.\n */\n const handleChange = (index, field, value) => {\n const newConfigs = [...mobileNotificationConfigs];\n newConfigs[index][field] = value;\n setMobileNotificationConfigs(newConfigs);\n };\n\n const validationSchema = Yup.object().shape({\n mobileNotificationType: Yup.string().required(\"Select notification type\"),\n baseDateFieldName: Yup.string().required(\"Enter base date field\"),\n familyFieldName: Yup.string().test(\n \"is-required\",\n \"family name is required\",\n function (value) {\n if (\n mobileNotification?.notificationFor === \"FAMILY\" ||\n mobileNotification?.notificationFor === \"MEMBER\"\n ) {\n return !!value;\n }\n return true;\n },\n ),\n memberFieldName: Yup.string().test(\n \"is-required\",\n \"member name is required\",\n function (value) {\n if (mobileNotification?.notificationFor === \"MEMBER\") {\n return !!value;\n }\n return true;\n },\n ),\n userFieldName: Yup.string().test(\n \"is-required\",\n \"user name is required\",\n function (value) {\n if (mobileNotification?.notificationFor === \"USER\") {\n return !!value;\n }\n return true;\n },\n ),\n });\n\n const {\n control,\n handleSubmit,\n reset,\n setValue,\n setError,\n clearErrors,\n getValues,\n formState: { errors },\n } = useForm({\n defaultValues: {},\n resolver: yupResolver(validationSchema),\n mode: \"onChange\",\n });\n useEffect(() => {\n if (type && notificationTypes.length > 0) {\n Object.keys(type)?.forEach((key) => {\n if (key === \"index\") {\n setValue(key, type[key]);\n }\n if (key === \"mobileNotificationType\") {\n const notification = notificationTypes.filter(\n (data) => data.id === parseInt(type[key]),\n );\n setMobileNotification(...notification);\n }\n if (key === \"mobileNotificationConfigs\" && type[key]) {\n setMobileNotificationConfigs(type[key] || []);\n setmobileConfigLength(type[key]?.length);\n } else if (type[key]) {\n setValue(key, type[key]);\n }\n });\n }\n }, [type, notificationTypes]);\n\n useEffect(() => {\n loadInitialState();\n }, []);\n\n const close = () => {\n trackEvent(\"conversion_event\", {\n form: formRef.current,\n form_name: \"Add Mobile Type Configuration\",\n submit: submitRef.current,\n }); // Use the current ref value\n\n handleClose();\n };\n\n // useEffect(() => {\n // if (formRef.current) {\n // let form = formRef.current;\n\n // return () => {\n // };\n // }\n // }, [formRef.current]);\n\n /**\n * @async\n * @function loadInitialState\n * Loads the initial state by retrieving notification types.\n * If an error occurs during retrieval, a toast message is displayed.\n */\n const loadInitialState = async () => {\n try {\n const res = await retrieveAllNotifications(true);\n setNotificationTypes(res?.data);\n } catch {\n showToast({ message: \"Error in retrieving notification\", type: \"error\" });\n }\n };\n\n /**\n * @function addMobileNotification\n * Adds a new mobile notification configuration to the state.\n */\n const addMobileNotification = () => {\n let addconfig = true;\n mobileNotificationConfigs?.forEach((config, index) => {\n if (config.notificationCode === \"\") {\n addconfig = false;\n const fieldPath = `notificationCode${index}`;\n\n setError(fieldPath, {\n type: \"manual\",\n message: \"Enter # of days to add\",\n });\n }\n });\n if (addconfig) {\n setmobileConfigLength((prev) => prev + 1);\n setMobileNotificationConfigs([\n ...mobileNotificationConfigs,\n {\n notificationCode: \"\",\n numberOfDaysAddedForOnDate: 0,\n numberOfDaysAddedForDueDate: 0,\n numberOfDaysAddedForExpiryDate: 0,\n },\n ]);\n }\n };\n\n /**\n * @function onSubmit\n * Handles form submission and processes the input data.\n *\n * @param {Object} data - The form data submitted by the user.\n * @param {Array} mobileNotificationConfigs - An array of mobile notification configurations.\n * @param {Object} type - The selected type configuration.\n *\n * This function performs the following actions:\n * 1. Deletes specific properties from the submitted data object.\n * 2. Adds the mobile notification configurations to the data object.\n * 3. Sets the type property in the data object.\n * 4. Calls handleClick with the processed data.\n * 5. Closes the form and resets the form state.\n */\n\n const onSubmit = (data) => {\n data = JSON.parse(JSON.stringify(data));\n for (let i = 0; i < mobileConfigLength; i++) {\n delete data[`notificationCode${i}`];\n delete data[`numberOfDaysAddedForOnDate${i}`];\n delete data[`numberOfDaysAddedForExpiryDate${i}`];\n delete data[`numberOfDaysAddedForDueDate${i}`];\n }\n\n data.mobileNotificationConfigs = mobileNotificationConfigs;\n data.type = type?.type;\n handleClick(data);\n submitRef.current = true;\n close();\n reset();\n };\n\n return (\n <Modal\n data-testid=\"mobiletypeeventconfigmodal-modal\"\n open={open}\n className=\"flex items-center justify-center\"\n onClose={() => {\n close();\n reset();\n }}\n sx={{\n \"& .MuiBackdrop-root\": {\n backgroundColor: \"rgba(0, 0, 0, 0.1)\",\n },\n }}\n >\n <Grid\n container\n className=\"w-[90%] md:w-[80%] shadow-md flex flex-col\"\n sx={{\n // 1. Theme-aware background\n backgroundColor: (theme) => theme.palette.background.paper,\n\n // 2. Dynamic Border/Shadow for Dark Mode\n border: (theme) =>\n theme.palette.mode === \"dark\"\n ? `1px solid ${theme.palette.divider}`\n : \"none\",\n\n // 3. GitHub-style shadow (Soft in light, Deep in dark)\n boxShadow: (theme) =>\n theme.palette.mode === \"dark\"\n ? \"0 8px 24px rgba(0,0,0,0.4)\"\n : theme.shadows[2], // Standard MUI shadow for light mode\n\n borderRadius: \"12px\", // Matches your MuiCard configuration\n transition: \"all 0.3s ease-in-out\",\n // Keeps children inside the rounded corners\n }}\n >\n <Grid\n className=\"manageeventconfiguration-modal-header p-2.5 px-5 flex border-b\"\n data-testid=\"mobiletypeeventconfigmodal-header\"\n >\n <Typography variant=\"body1\" className=\"font-medium text-lg text-customBlue\">\n {translate(\"Add\")} {translate(type?.type)}{\" \"}\n {translate(\"Configuration\")}\n </Typography>\n <IconButton\n size=\"small\"\n onClick={() => {\n close();\n reset();\n }}\n data-testid=\"mobiletypeeventconfigmodal-close-button\"\n >\n <FontAwesomeIcon icon={faXmark} />\n </IconButton>\n </Grid>\n <form\n onSubmit={handleSubmit(onSubmit)}\n className=\"w-full\"\n data-testid=\"mobiletypeeventconfigmodal-form\"\n ref={formRef}\n >\n <Grid\n container\n className=\"px-[40px] max-h-[60vh] overflow-y-auto w-full\"\n >\n <Grid\n container\n spacing={2}\n className=\"w-full flex flex-col md:flex-row items-start\"\n >\n <Grid\n item\n className=\"border-b border-gray-300 p-2.5 flex flex-col items-start w-full \"\n size={{ sm: 12 }}\n data-testid=\"mobiletypeeventconfigmodal-implicit-params\"\n >\n <Box className=\"whitespace-normal w-full break-words\">\n <strong>{translate(\"Available Implicit Parameters\")}</strong>:{\" \"}\n {type?.implicitParam}\n </Box>\n </Grid>\n <Grid item className=\"w-[90%] sm:w-1/4\">\n <FormControl\n variant=\"outlined\"\n className=\"w-full\"\n data-testid=\"mobiletypeeventconfigmodal-notification-type\"\n >\n <div>\n {translate(\"Notification\")} {translate(\"Type\")}\n </div>\n <Box className=\"w-full\">\n <Controller\n name=\"mobileNotificationType\"\n control={control}\n defaultValue=\"\"\n render={({ field }) => (\n <Select\n {...field}\n size=\"small\"\n error={!!errors.mobileNotificationType}\n onChange={(e) => {\n field.onChange(e.target.value);\n const notification = notificationTypes.filter(\n (data) => data.id === e.target.value,\n );\n setMobileNotification(...notification);\n }}\n className=\"w-full\"\n data-testid=\"mobiletypeeventconfigmodal-notification-select\"\n >\n <MenuItem value=\"\">\n <Typography variant=\"body2\">\n {translate(\"None\")}\n </Typography>\n </MenuItem>\n {notificationTypes?.map((data, index) => (\n <MenuItem key={index + 1} value={data.id}>\n <Typography variant=\"body2\">\n {data.notificationName}\n </Typography>\n </MenuItem>\n ))}\n </Select>\n )}\n />\n {errors?.mobileNotificationType && (\n <p\n className=\"error-helper\"\n data-testid=\"mobiletypeeventconfigmodal-notification-error\"\n >\n {errors?.mobileNotificationType?.message}\n </p>\n )}\n </Box>\n </FormControl>\n </Grid>\n <Grid item sm={4} size={{ sm: 4 }}>\n <FormControl\n variant=\"outlined\"\n className=\" w-full\"\n data-testid=\"mobiletypeeventconfigmodal-base-date-field\"\n >\n <div>\n {translate(\"Base\")} {translate(\"Date\")} {translate(\"Field\")}{\" \"}\n {translate(\"Name\")}\n <span style={{ color: \"red\", marginLeft: 4 }}>*</span>\n </div>\n <Box className=\" w-full\">\n <CustomTextField\n control={control}\n id=\"baseDateFieldName\"\n name=\"baseDateFieldName\"\n errors={errors}\n label=\"\"\n size=\"small\"\n dataTestId=\"mobiletypeeventconfigmodal-base-date-input\"\n />\n </Box>\n </FormControl>\n </Grid>\n <Grid item sm={4} size={{ sm: 4 }}>\n <FormControl\n variant=\"outlined\"\n className=\" w-full\"\n data-testid=\"mobiletypeeventconfigmodal-ref-code-field\"\n >\n <div>\n {translate(\"Ref\")} {translate(\"Code\")} {translate(\"Field\")}{\" \"}\n {translate(\"Name\")}\n </div>\n <Box className=\" w-full\">\n <CustomTextField\n control={control}\n id=\"refCode\"\n name=\"refCode\"\n errors={errors}\n label=\"\"\n size=\"small\"\n dataTestId=\"mobiletypeeventconfigmodal-ref-code-input\"\n />\n </Box>\n </FormControl>\n </Grid>\n {mobileNotification?.notificationFor === \"USER\" && (\n <Grid item size={{ xs: 4 }}>\n <FormControl\n variant=\"outlined\"\n className=\" w-full\"\n data-testid=\"mobiletypeeventconfigmodal-user-field\"\n >\n <div>\n {translate(\"User\")} {translate(\"Field\")}{\" \"}\n {translate(\"Name\")}\n <span style={{ color: \"red\", marginLeft: 4 }}>*</span>\n </div>\n <Box className=\" w-full\">\n <CustomTextField\n control={control}\n id=\"userFieldName\"\n name=\"userFieldName\"\n errors={errors}\n label=\"\"\n size=\"small\"\n dataTestId=\"mobiletypeeventconfigmodal-user-input\"\n />\n </Box>\n </FormControl>\n </Grid>\n )}\n {mobileNotification?.notificationFor === \"MEMBER\" && (\n <Grid item size={{ sm: 4 }}>\n <FormControl\n variant=\"outlined\"\n className=\" w-full\"\n data-testid=\"mobiletypeeventconfigmodal-member-field\"\n >\n <div>\n {translate(\"Member\")} {translate(\"Field\")}{\" \"}\n {translate(\"Name\")}\n <span style={{ color: \"red\", marginLeft: 4 }}>*</span>\n </div>\n <Box className=\" w-full\">\n <CustomTextField\n control={control}\n id=\"memberFieldName\"\n name=\"memberFieldName\"\n errors={errors}\n label=\"\"\n size=\"small\"\n dataTestId=\"mobiletypeeventconfigmodal-member-input\"\n />\n </Box>\n </FormControl>\n </Grid>\n )}\n {(mobileNotification?.notificationFor === \"FAMILY\" ||\n mobileNotification?.notificationFor === \"MEMBER\") && (\n <Grid item sm={4} size={{ sm: 4 }}>\n <FormControl\n variant=\"outlined\"\n className=\" w-full\"\n data-testid=\"mobiletypeeventconfigmodal-family-field\"\n >\n <div>\n {translate(\"Family\")} {translate(\"Field\")}{\" \"}\n {translate(\"Name\")}\n <span style={{ color: \"red\", marginLeft: 4 }}>*</span>\n </div>\n <Box className=\" w-full\">\n <CustomTextField\n control={control}\n id=\"familyFieldName\"\n name=\"familyFieldName\"\n errors={errors}\n label=\"\"\n size=\"small\"\n dataTestId=\"mobiletypeeventconfigmodal-family-input\"\n />\n </Box>\n </FormControl>\n </Grid>\n )}\n </Grid>\n <Grid container className=\"mt-2.5 w-full\">\n <Grid item size={{ xs: 12 }}>\n <Button\n variant=\"contained\"\n onClick={addMobileNotification}\n data-testid=\"mobiletypeeventconfigmodal-add-configuration\"\n >\n {translate(\"Add\")} {translate(\"Configuration\")}\n </Button>\n </Grid>\n <Grid size={{ xs: 12 }}>\n <TableContainer\n component={Paper}\n className=\"m-2.5 w-full mobile-type-event-config-table-container\"\n data-testid=\"mobiletypeeventconfigmodal-table\"\n >\n <Table\n size=\"small\"\n className=\"mobile-type-event-config-table\"\n aria-label=\"mobile notification configuration table\"\n >\n <TableHead>\n <TableRow>\n <TableCell>{translate(\"Code\")}</TableCell>\n <TableCell>\n {translate(\"Added\")} {translate(\"Days\")}{\" \"}\n {translate(\"For\")} {translate(\"Schedule\")}\n </TableCell>\n <TableCell>\n {translate(\"Added\")} {translate(\"Days\")}{\" \"}\n {translate(\"For\")} {translate(\"Due\")}\n </TableCell>\n <TableCell>\n {translate(\"Added\")} {translate(\"Days\")}{\" \"}\n {translate(\"For\")} {translate(\"Expiry\")}\n </TableCell>\n <TableCell>{translate(\"Actions\")}</TableCell>\n </TableRow>\n </TableHead>\n <TableBody>\n {mobileNotificationConfigs.length > 0 ? (\n mobileNotificationConfigs.map((config, index) => (\n <TableRow key={index + 1}>\n <TableCell>\n <Box>\n <FormControl\n variant=\"outlined\"\n className=\" w-full\"\n >\n <Box className=\" w-full\">\n <Controller\n control={control}\n name={`notificationCode${index}`}\n defaultValue={config.notificationCode}\n render={({ field }) => (\n <TextField\n required\n variant=\"outlined\"\n size=\"small\"\n {...field}\n error={Boolean(\n errors[`notificationCode${index}`],\n )}\n onChange={(e) => {\n setValue(\n `notificationCode${index}`,\n e.target.value,\n );\n handleChange(\n index,\n \"notificationCode\",\n e.target.value,\n );\n const fieldPath = `notificationCode${index}`;\n if (getValues(fieldPath) === \"\") {\n setError(fieldPath, {\n type: \"manual\",\n message:\n \"Enter # of days to add\",\n });\n } else {\n clearErrors(fieldPath);\n }\n }}\n placeholder=\"Enter # of days to add\"\n onBlur={() => {\n if (field.value === \"\") {\n setError(\n `notificationCode${index}`,\n {\n type: \"manual\",\n message:\n \"Enter # of days to add\",\n },\n );\n } else {\n clearErrors(\n `notificationCode${index}`,\n );\n }\n }}\n data-testid={`mobiletypeeventconfigmodal-notification-code-input-${index}`}\n />\n )}\n />\n {errors[`notificationCode${index}`] && (\n <p\n className=\"error-helper-table\"\n data-testid={`mobiletypeeventconfigmodal-notification-code-error-${index}`}\n >\n {\n errors[`notificationCode${index}`]\n ?.message\n }\n </p>\n )}\n </Box>\n </FormControl>\n </Box>\n </TableCell>\n <TableCell>\n <Box>\n <FormControl\n variant=\"outlined\"\n className=\" w-full\"\n >\n <Box className=\" w-full\">\n <Controller\n control={control}\n name={`numberOfDaysAddedForOnDate${index}`}\n defaultValue={\n config.numberOfDaysAddedForOnDate\n }\n render={({ field }) => (\n <TextField\n required\n type=\"number\"\n variant=\"outlined\"\n size=\"small\"\n {...field}\n error={Boolean(\n errors[\n `numberOfDaysAddedForOnDate${index}`\n ],\n )}\n onChange={(e) => {\n setValue(\n `numberOfDaysAddedForOnDate${index}`,\n e.target.value,\n );\n handleChange(\n index,\n \"numberOfDaysAddedForOnDate\",\n Number(e.target.value),\n );\n const fieldPath = `numberOfDaysAddedForOnDate${index}`;\n if (getValues(fieldPath) === \"\") {\n setError(fieldPath, {\n type: \"manual\",\n message:\n \"Enter # of days to add\",\n });\n } else {\n clearErrors(fieldPath);\n }\n }}\n placeholder=\"Enter # of days to add\"\n onBlur={() => {\n if (field.value === \"\") {\n setError(\n `numberOfDaysAddedForOnDate${index}`,\n {\n type: \"manual\",\n message:\n \"Enter # of days to add\",\n },\n );\n } else {\n clearErrors(\n `numberOfDaysAddedForOnDate${index}`,\n );\n }\n }}\n data-testid={`mobiletypeeventconfigmodal-on-date-input-${index}`}\n />\n )}\n />\n {errors[\n `numberOfDaysAddedForOnDate${index}`\n ] && (\n <p\n className=\"error-helper-table\"\n data-testid={`mobiletypeeventconfigmodal-on-date-error-${index}`}\n >\n {\n errors[\n `numberOfDaysAddedForOnDate${index}`\n ]?.message\n }\n </p>\n )}\n </Box>\n </FormControl>\n </Box>\n </TableCell>\n <TableCell>\n <Box>\n <FormControl\n variant=\"outlined\"\n className=\" w-full\"\n >\n <Box className=\" w-full\">\n <Controller\n control={control}\n name={`numberOfDaysAddedForDueDate${index}`}\n defaultValue={\n config.numberOfDaysAddedForDueDate\n }\n render={({ field }) => (\n <TextField\n variant=\"outlined\"\n size=\"small\"\n type=\"number\"\n {...field}\n onChange={(e) => {\n setValue(\n `numberOfDaysAddedForDueDate${index}`,\n e.target.value,\n );\n handleChange(\n index,\n \"numberOfDaysAddedForDueDate\",\n Number(e.target.value),\n );\n }}\n data-testid={`mobiletypeeventconfigmodal-due-date-input-${index}`}\n />\n )}\n />\n </Box>\n </FormControl>\n </Box>\n </TableCell>\n <TableCell>\n <Box>\n <FormControl\n variant=\"outlined\"\n className=\" w-full\"\n >\n <Box className=\" w-full\">\n <Controller\n control={control}\n name={`numberOfDaysAddedForExpiryDate${index}`}\n defaultValue={\n config.numberOfDaysAddedForExpiryDate\n }\n render={({ field }) => (\n <TextField\n variant=\"outlined\"\n type=\"number\"\n size=\"small\"\n {...field}\n onChange={(e) => {\n setValue(\n `numberOfDaysAddedForExpiryDate${index}`,\n e.target.value,\n );\n handleChange(\n index,\n \"numberOfDaysAddedForExpiryDate\",\n Number(e.target.value),\n );\n }}\n data-testid={`mobiletypeeventconfigmodal-expiry-date-input-${index}`}\n />\n )}\n />\n </Box>\n </FormControl>\n </Box>\n </TableCell>\n <TableCell>\n <IconButton\n color=\"error\"\n onClick={() => handleDeleteConfig(index)}\n data-testid={`mobiletypeeventconfigmodal-delete-button-${index}`}\n >\n <FontAwesomeIcon icon={faTrash} />\n </IconButton>\n </TableCell>\n </TableRow>\n ))\n ) : (\n <TableRow>\n <TableCell colSpan={5}>\n <Typography\n align=\"center\"\n data-testid=\"mobiletypeeventconfigmodal-no-config\"\n >\n No Mobile Configuration added\n </Typography>\n </TableCell>\n </TableRow>\n )}\n </TableBody>\n </Table>\n </TableContainer>\n </Grid>\n </Grid>\n </Grid>\n <Stack\n direction=\"row\"\n className=\"mr-5\"\n spacing={2}\n justifyContent=\"flex-end\"\n mt={1}\n mb={1}\n >\n <Button\n variant=\"contained\"\n color=\"secondary\"\n onClick={() => {\n close();\n reset();\n }}\n data-testid=\"mobiletypeeventconfigmodal-close-button\"\n >\n <Typography variant=\"body2\">{translate(\"Cancel\")}</Typography>\n </Button>\n <Button\n type=\"submit\"\n variant=\"contained\"\n color=\"primary\"\n data-testid=\"mobiletypeeventconfigmodal-submit-button\"\n >\n {translate(\"Submit\")}\n </Button>\n </Stack>\n </form>\n </Grid>\n </Modal>\n );\n};\n\nMobileTypeEventConfigModal.propTypes = {\n open: PropTypes.any,\n handleClose: PropTypes.any,\n handleClick: PropTypes.any,\n type: PropTypes.any,\n};\n\nexport default MobileTypeEventConfigModal;\n"],"names":["MobileTypeEventConfigModal","open","handleClose","handleClick","type","formRef","useRef","submitRef","trackEvent","useTrackEvent","notificationTypes","setNotificationTypes","useState","mobileNotification","setMobileNotification","mobileNotificationConfigs","setMobileNotificationConfigs","mobileConfigLength","setmobileConfigLength","translate","useTranslateProvider","handleDeleteConfig","index","data","i","setValue","prev","newConfigs","_","handleChange","field","value","validationSchema","Yup","control","handleSubmit","reset","setError","clearErrors","getValues","errors","useForm","yupResolver","useEffect","_a","key","notification","loadInitialState","close","res","retrieveAllNotifications","showToast","addMobileNotification","addconfig","config","fieldPath","onSubmit","jsx","Modal","jsxs","Grid","theme","Typography","IconButton","FontAwesomeIcon","faXmark","Box","FormControl","Controller","Select","e","MenuItem","CustomTextField","Button","TableContainer","Paper","Table","TableHead","TableRow","TableCell","TableBody","TextField","_b","faTrash","Stack","PropTypes"],"mappings":"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"}
1
+ {"version":3,"file":"MobileTypeEventConfigModal-BeveaX0C.js","sources":["../src/views/Events/MobileTypeEventConfigModal.jsx"],"sourcesContent":["import React, { useEffect, useState, useRef } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { useForm, Controller } from \"react-hook-form\";\nimport { yupResolver } from \"@hookform/resolvers/yup\";\nimport Grid from \"@mui/material/Grid2\";\nimport * as Yup from \"yup\";\nimport {\n Button,\n IconButton,\n Modal,\n Box,\n FormControl,\n MenuItem,\n Select,\n Table,\n TableBody,\n TableCell,\n TableContainer,\n TableHead,\n TableRow,\n TextField,\n Typography,\n Paper,\n Stack,\n} from \"@mui/material\";\nimport CustomTextField from \"@/views/custom-components/CustomTextField\";\nimport { retrieveAllNotifications } from \"@/common/services/GlobalApis\";\nimport { showToast } from \"@/common/toaster/toaster\";\nimport \"./Styles/ManageEventConfiguration.scss\";\n// import { useTracking } from \"@argusoft/medplat-useranalytics/dist/index.es\";\\\n\nimport useTrackEvent from \"@/hooks/useTrackEvent\";\nimport { useTranslateProvider } from \"@/common/languageTranslator/TranslationContext\";\nimport { faTrash, faXmark } from \"@fortawesome/free-solid-svg-icons\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\n// Define the validation schema using Yup\n\n/**\n * Modal component for configuring mobile type event notifications.\n * @module MobileTypeEventConfigModal\n * @param {Object} props - The props for the component.\n * @param {boolean} props.open - Whether the modal is open or not.\n * @param {Function} props.handleClose - Function to close the modal.\n * @param {Function} props.handleClick - Function to handle submission of the modal form.\n * @param {Object} props.type - Configuration type object passed to the modal.\n *\n * @returns {JSX.Element} The rendered modal component.\n */\nconst MobileTypeEventConfigModal = ({\n open,\n handleClose,\n handleClick,\n type,\n}) => {\n const formRef = useRef(null);\n const submitRef = useRef(false);\n const trackEvent = useTrackEvent();\n const [notificationTypes, setNotificationTypes] = useState([]);\n const [mobileNotification, setMobileNotification] = useState(null);\n const [mobileNotificationConfigs, setMobileNotificationConfigs] = useState(\n [],\n );\n const [mobileConfigLength, setmobileConfigLength] = useState(0);\n const { translate } = useTranslateProvider();\n\n /**\n * @function handleDelete\n * Deletes a mobile notification configuration at the specified index.\n *\n * @param {number} index - The index of the configuration to delete.\n */\n const handleDeleteConfig = (index) => {\n if (mobileNotificationConfigs) {\n mobileNotificationConfigs.forEach((data, i) => {\n setValue(`notificationCode${i}`, \"\"); // or set it to a default value\n setValue(`numberOfDaysAddedForOnDate${i}`, 0);\n setValue(`numberOfDaysAddedForExpiryDate${i}`, 0);\n setValue(`numberOfDaysAddedForDueDate${i}`, 0);\n });\n }\n\n setMobileNotificationConfigs((prev) => {\n const newConfigs = prev.filter((_, i) => i !== index);\n\n // Reset form values after deleting\n newConfigs.forEach((data, i) => {\n setValue(`notificationCode${i}`, data.notificationCode); // or set it to a default value\n setValue(\n `numberOfDaysAddedForOnDate${i}`,\n data.numberOfDaysAddedForOnDate,\n );\n setValue(\n `numberOfDaysAddedForExpiryDate${i}`,\n data.numberOfDaysAddedForExpiryDate,\n );\n setValue(\n `numberOfDaysAddedForDueDate${i}`,\n data.numberOfDaysAddedForDueDate,\n );\n });\n\n return newConfigs;\n });\n };\n\n /**\n * Updates the specified field of a mobile notification configuration.\n * @function handleChange\n * @param {number} index - The index of the configuration to update.\n * @param {string} field - The field name to update.\n * @param {*} value - The new value to set for the specified field.\n */\n const handleChange = (index, field, value) => {\n const newConfigs = [...mobileNotificationConfigs];\n newConfigs[index][field] = value;\n setMobileNotificationConfigs(newConfigs);\n };\n\n const validationSchema = Yup.object().shape({\n mobileNotificationType: Yup.string().required(\"Select notification type\"),\n baseDateFieldName: Yup.string().required(\"Enter base date field\"),\n familyFieldName: Yup.string().test(\n \"is-required\",\n \"family name is required\",\n function (value) {\n if (\n mobileNotification?.notificationFor === \"FAMILY\" ||\n mobileNotification?.notificationFor === \"MEMBER\"\n ) {\n return !!value;\n }\n return true;\n },\n ),\n memberFieldName: Yup.string().test(\n \"is-required\",\n \"member name is required\",\n function (value) {\n if (mobileNotification?.notificationFor === \"MEMBER\") {\n return !!value;\n }\n return true;\n },\n ),\n userFieldName: Yup.string().test(\n \"is-required\",\n \"user name is required\",\n function (value) {\n if (mobileNotification?.notificationFor === \"USER\") {\n return !!value;\n }\n return true;\n },\n ),\n });\n\n const {\n control,\n handleSubmit,\n reset,\n setValue,\n setError,\n clearErrors,\n getValues,\n formState: { errors },\n } = useForm({\n defaultValues: {},\n resolver: yupResolver(validationSchema),\n mode: \"onChange\",\n });\n useEffect(() => {\n if (type && notificationTypes.length > 0) {\n Object.keys(type)?.forEach((key) => {\n if (key === \"index\") {\n setValue(key, type[key]);\n }\n if (key === \"mobileNotificationType\") {\n const notification = notificationTypes.filter(\n (data) => data.id === parseInt(type[key]),\n );\n setMobileNotification(...notification);\n }\n if (key === \"mobileNotificationConfigs\" && type[key]) {\n setMobileNotificationConfigs(type[key] || []);\n setmobileConfigLength(type[key]?.length);\n } else if (type[key]) {\n setValue(key, type[key]);\n }\n });\n }\n }, [type, notificationTypes]);\n\n useEffect(() => {\n loadInitialState();\n }, []);\n\n const close = () => {\n trackEvent(\"conversion_event\", {\n form: formRef.current,\n form_name: \"Add Mobile Type Configuration\",\n submit: submitRef.current,\n }); // Use the current ref value\n\n handleClose();\n };\n\n // useEffect(() => {\n // if (formRef.current) {\n // let form = formRef.current;\n\n // return () => {\n // };\n // }\n // }, [formRef.current]);\n\n /**\n * @async\n * @function loadInitialState\n * Loads the initial state by retrieving notification types.\n * If an error occurs during retrieval, a toast message is displayed.\n */\n const loadInitialState = async () => {\n try {\n const res = await retrieveAllNotifications(true);\n setNotificationTypes(res?.data);\n } catch {\n showToast({ message: \"Error in retrieving notification\", type: \"error\" });\n }\n };\n\n /**\n * @function addMobileNotification\n * Adds a new mobile notification configuration to the state.\n */\n const addMobileNotification = () => {\n let addconfig = true;\n mobileNotificationConfigs?.forEach((config, index) => {\n if (config.notificationCode === \"\") {\n addconfig = false;\n const fieldPath = `notificationCode${index}`;\n\n setError(fieldPath, {\n type: \"manual\",\n message: \"Enter # of days to add\",\n });\n }\n });\n if (addconfig) {\n setmobileConfigLength((prev) => prev + 1);\n setMobileNotificationConfigs([\n ...mobileNotificationConfigs,\n {\n notificationCode: \"\",\n numberOfDaysAddedForOnDate: 0,\n numberOfDaysAddedForDueDate: 0,\n numberOfDaysAddedForExpiryDate: 0,\n },\n ]);\n }\n };\n\n /**\n * @function onSubmit\n * Handles form submission and processes the input data.\n *\n * @param {Object} data - The form data submitted by the user.\n * @param {Array} mobileNotificationConfigs - An array of mobile notification configurations.\n * @param {Object} type - The selected type configuration.\n *\n * This function performs the following actions:\n * 1. Deletes specific properties from the submitted data object.\n * 2. Adds the mobile notification configurations to the data object.\n * 3. Sets the type property in the data object.\n * 4. Calls handleClick with the processed data.\n * 5. Closes the form and resets the form state.\n */\n\n const onSubmit = (data) => {\n data = JSON.parse(JSON.stringify(data));\n for (let i = 0; i < mobileConfigLength; i++) {\n delete data[`notificationCode${i}`];\n delete data[`numberOfDaysAddedForOnDate${i}`];\n delete data[`numberOfDaysAddedForExpiryDate${i}`];\n delete data[`numberOfDaysAddedForDueDate${i}`];\n }\n\n data.mobileNotificationConfigs = mobileNotificationConfigs;\n data.type = type?.type;\n handleClick(data);\n submitRef.current = true;\n close();\n reset();\n };\n\n return (\n <Modal\n data-testid=\"mobiletypeeventconfigmodal-modal\"\n open={open}\n className=\"flex items-center justify-center\"\n onClose={() => {\n close();\n reset();\n }}\n sx={{\n \"& .MuiBackdrop-root\": {\n backgroundColor: \"rgba(0, 0, 0, 0.1)\",\n },\n }}\n >\n <Grid\n container\n className=\"w-[90%] md:w-[80%] shadow-md flex flex-col\"\n sx={{\n // 1. Theme-aware background\n backgroundColor: (theme) => theme.palette.background.paper,\n\n // 2. Dynamic Border/Shadow for Dark Mode\n border: (theme) =>\n theme.palette.mode === \"dark\"\n ? `1px solid ${theme.palette.divider}`\n : \"none\",\n\n // 3. GitHub-style shadow (Soft in light, Deep in dark)\n boxShadow: (theme) =>\n theme.palette.mode === \"dark\"\n ? \"0 8px 24px rgba(0,0,0,0.4)\"\n : theme.shadows[2], // Standard MUI shadow for light mode\n\n borderRadius: \"12px\", // Matches your MuiCard configuration\n transition: \"all 0.3s ease-in-out\",\n // Keeps children inside the rounded corners\n }}\n >\n <Grid\n className=\"manageeventconfiguration-modal-header p-2.5 px-5 flex border-b\"\n data-testid=\"mobiletypeeventconfigmodal-header\"\n >\n <Typography variant=\"body1\" className=\"font-medium text-lg text-customBlue\">\n {translate(\"Add\")} {translate(type?.type)}{\" \"}\n {translate(\"Configuration\")}\n </Typography>\n <IconButton\n size=\"small\"\n onClick={() => {\n close();\n reset();\n }}\n data-testid=\"mobiletypeeventconfigmodal-close-button\"\n >\n <FontAwesomeIcon icon={faXmark} />\n </IconButton>\n </Grid>\n <form\n onSubmit={handleSubmit(onSubmit)}\n className=\"w-full\"\n data-testid=\"mobiletypeeventconfigmodal-form\"\n ref={formRef}\n >\n <Grid\n container\n className=\"px-[40px] max-h-[60vh] overflow-y-auto w-full\"\n >\n <Grid\n container\n spacing={2}\n className=\"w-full flex flex-col md:flex-row items-start\"\n >\n <Grid\n item\n className=\"border-b border-gray-300 p-2.5 flex flex-col items-start w-full \"\n size={{ sm: 12 }}\n data-testid=\"mobiletypeeventconfigmodal-implicit-params\"\n >\n <Box className=\"whitespace-normal w-full break-words\">\n <strong>{translate(\"Available Implicit Parameters\")}</strong>:{\" \"}\n {type?.implicitParam}\n </Box>\n </Grid>\n <Grid item className=\"w-[90%] sm:w-1/4\">\n <FormControl\n variant=\"outlined\"\n className=\"w-full\"\n data-testid=\"mobiletypeeventconfigmodal-notification-type\"\n >\n <div>\n {translate(\"Notification\")} {translate(\"Type\")}\n </div>\n <Box className=\"w-full\">\n <Controller\n name=\"mobileNotificationType\"\n control={control}\n defaultValue=\"\"\n render={({ field }) => (\n <Select\n {...field}\n size=\"small\"\n error={!!errors.mobileNotificationType}\n onChange={(e) => {\n field.onChange(e.target.value);\n const notification = notificationTypes.filter(\n (data) => data.id === e.target.value,\n );\n setMobileNotification(...notification);\n }}\n className=\"w-full\"\n data-testid=\"mobiletypeeventconfigmodal-notification-select\"\n >\n <MenuItem value=\"\">\n <Typography variant=\"body2\">\n {translate(\"None\")}\n </Typography>\n </MenuItem>\n {notificationTypes?.map((data, index) => (\n <MenuItem key={index + 1} value={data.id}>\n <Typography variant=\"body2\">\n {data.notificationName}\n </Typography>\n </MenuItem>\n ))}\n </Select>\n )}\n />\n {errors?.mobileNotificationType && (\n <p\n className=\"error-helper\"\n data-testid=\"mobiletypeeventconfigmodal-notification-error\"\n >\n {errors?.mobileNotificationType?.message}\n </p>\n )}\n </Box>\n </FormControl>\n </Grid>\n <Grid item sm={4} size={{ sm: 4 }}>\n <FormControl\n variant=\"outlined\"\n className=\" w-full\"\n data-testid=\"mobiletypeeventconfigmodal-base-date-field\"\n >\n <div>\n {translate(\"Base\")} {translate(\"Date\")} {translate(\"Field\")}{\" \"}\n {translate(\"Name\")}\n <span style={{ color: \"red\", marginLeft: 4 }}>*</span>\n </div>\n <Box className=\" w-full\">\n <CustomTextField\n control={control}\n id=\"baseDateFieldName\"\n name=\"baseDateFieldName\"\n errors={errors}\n label=\"\"\n size=\"small\"\n dataTestId=\"mobiletypeeventconfigmodal-base-date-input\"\n />\n </Box>\n </FormControl>\n </Grid>\n <Grid item sm={4} size={{ sm: 4 }}>\n <FormControl\n variant=\"outlined\"\n className=\" w-full\"\n data-testid=\"mobiletypeeventconfigmodal-ref-code-field\"\n >\n <div>\n {translate(\"Ref\")} {translate(\"Code\")} {translate(\"Field\")}{\" \"}\n {translate(\"Name\")}\n </div>\n <Box className=\" w-full\">\n <CustomTextField\n control={control}\n id=\"refCode\"\n name=\"refCode\"\n errors={errors}\n label=\"\"\n size=\"small\"\n dataTestId=\"mobiletypeeventconfigmodal-ref-code-input\"\n />\n </Box>\n </FormControl>\n </Grid>\n {mobileNotification?.notificationFor === \"USER\" && (\n <Grid item size={{ xs: 4 }}>\n <FormControl\n variant=\"outlined\"\n className=\" w-full\"\n data-testid=\"mobiletypeeventconfigmodal-user-field\"\n >\n <div>\n {translate(\"User\")} {translate(\"Field\")}{\" \"}\n {translate(\"Name\")}\n <span style={{ color: \"red\", marginLeft: 4 }}>*</span>\n </div>\n <Box className=\" w-full\">\n <CustomTextField\n control={control}\n id=\"userFieldName\"\n name=\"userFieldName\"\n errors={errors}\n label=\"\"\n size=\"small\"\n dataTestId=\"mobiletypeeventconfigmodal-user-input\"\n />\n </Box>\n </FormControl>\n </Grid>\n )}\n {mobileNotification?.notificationFor === \"MEMBER\" && (\n <Grid item size={{ sm: 4 }}>\n <FormControl\n variant=\"outlined\"\n className=\" w-full\"\n data-testid=\"mobiletypeeventconfigmodal-member-field\"\n >\n <div>\n {translate(\"Member\")} {translate(\"Field\")}{\" \"}\n {translate(\"Name\")}\n <span style={{ color: \"red\", marginLeft: 4 }}>*</span>\n </div>\n <Box className=\" w-full\">\n <CustomTextField\n control={control}\n id=\"memberFieldName\"\n name=\"memberFieldName\"\n errors={errors}\n label=\"\"\n size=\"small\"\n dataTestId=\"mobiletypeeventconfigmodal-member-input\"\n />\n </Box>\n </FormControl>\n </Grid>\n )}\n {(mobileNotification?.notificationFor === \"FAMILY\" ||\n mobileNotification?.notificationFor === \"MEMBER\") && (\n <Grid item sm={4} size={{ sm: 4 }}>\n <FormControl\n variant=\"outlined\"\n className=\" w-full\"\n data-testid=\"mobiletypeeventconfigmodal-family-field\"\n >\n <div>\n {translate(\"Family\")} {translate(\"Field\")}{\" \"}\n {translate(\"Name\")}\n <span style={{ color: \"red\", marginLeft: 4 }}>*</span>\n </div>\n <Box className=\" w-full\">\n <CustomTextField\n control={control}\n id=\"familyFieldName\"\n name=\"familyFieldName\"\n errors={errors}\n label=\"\"\n size=\"small\"\n dataTestId=\"mobiletypeeventconfigmodal-family-input\"\n />\n </Box>\n </FormControl>\n </Grid>\n )}\n </Grid>\n <Grid container className=\"mt-2.5 w-full\">\n <Grid item size={{ xs: 12 }}>\n <Button\n variant=\"contained\"\n onClick={addMobileNotification}\n data-testid=\"mobiletypeeventconfigmodal-add-configuration\"\n >\n {translate(\"Add\")} {translate(\"Configuration\")}\n </Button>\n </Grid>\n <Grid size={{ xs: 12 }}>\n <TableContainer\n component={Paper}\n className=\"m-2.5 w-full mobile-type-event-config-table-container\"\n data-testid=\"mobiletypeeventconfigmodal-table\"\n >\n <Table\n size=\"small\"\n className=\"mobile-type-event-config-table\"\n aria-label=\"mobile notification configuration table\"\n >\n <TableHead>\n <TableRow>\n <TableCell>{translate(\"Code\")}</TableCell>\n <TableCell>\n {translate(\"Added\")} {translate(\"Days\")}{\" \"}\n {translate(\"For\")} {translate(\"Schedule\")}\n </TableCell>\n <TableCell>\n {translate(\"Added\")} {translate(\"Days\")}{\" \"}\n {translate(\"For\")} {translate(\"Due\")}\n </TableCell>\n <TableCell>\n {translate(\"Added\")} {translate(\"Days\")}{\" \"}\n {translate(\"For\")} {translate(\"Expiry\")}\n </TableCell>\n <TableCell>{translate(\"Actions\")}</TableCell>\n </TableRow>\n </TableHead>\n <TableBody>\n {mobileNotificationConfigs.length > 0 ? (\n mobileNotificationConfigs.map((config, index) => (\n <TableRow key={index + 1}>\n <TableCell>\n <Box>\n <FormControl\n variant=\"outlined\"\n className=\" w-full\"\n >\n <Box className=\" w-full\">\n <Controller\n control={control}\n name={`notificationCode${index}`}\n defaultValue={config.notificationCode}\n render={({ field }) => (\n <TextField\n required\n variant=\"outlined\"\n size=\"small\"\n {...field}\n error={Boolean(\n errors[`notificationCode${index}`],\n )}\n onChange={(e) => {\n setValue(\n `notificationCode${index}`,\n e.target.value,\n );\n handleChange(\n index,\n \"notificationCode\",\n e.target.value,\n );\n const fieldPath = `notificationCode${index}`;\n if (getValues(fieldPath) === \"\") {\n setError(fieldPath, {\n type: \"manual\",\n message:\n \"Enter # of days to add\",\n });\n } else {\n clearErrors(fieldPath);\n }\n }}\n placeholder=\"Enter # of days to add\"\n onBlur={() => {\n if (field.value === \"\") {\n setError(\n `notificationCode${index}`,\n {\n type: \"manual\",\n message:\n \"Enter # of days to add\",\n },\n );\n } else {\n clearErrors(\n `notificationCode${index}`,\n );\n }\n }}\n data-testid={`mobiletypeeventconfigmodal-notification-code-input-${index}`}\n />\n )}\n />\n {errors[`notificationCode${index}`] && (\n <p\n className=\"error-helper-table\"\n data-testid={`mobiletypeeventconfigmodal-notification-code-error-${index}`}\n >\n {\n errors[`notificationCode${index}`]\n ?.message\n }\n </p>\n )}\n </Box>\n </FormControl>\n </Box>\n </TableCell>\n <TableCell>\n <Box>\n <FormControl\n variant=\"outlined\"\n className=\" w-full\"\n >\n <Box className=\" w-full\">\n <Controller\n control={control}\n name={`numberOfDaysAddedForOnDate${index}`}\n defaultValue={\n config.numberOfDaysAddedForOnDate\n }\n render={({ field }) => (\n <TextField\n required\n type=\"number\"\n variant=\"outlined\"\n size=\"small\"\n {...field}\n error={Boolean(\n errors[\n `numberOfDaysAddedForOnDate${index}`\n ],\n )}\n onChange={(e) => {\n setValue(\n `numberOfDaysAddedForOnDate${index}`,\n e.target.value,\n );\n handleChange(\n index,\n \"numberOfDaysAddedForOnDate\",\n Number(e.target.value),\n );\n const fieldPath = `numberOfDaysAddedForOnDate${index}`;\n if (getValues(fieldPath) === \"\") {\n setError(fieldPath, {\n type: \"manual\",\n message:\n \"Enter # of days to add\",\n });\n } else {\n clearErrors(fieldPath);\n }\n }}\n placeholder=\"Enter # of days to add\"\n onBlur={() => {\n if (field.value === \"\") {\n setError(\n `numberOfDaysAddedForOnDate${index}`,\n {\n type: \"manual\",\n message:\n \"Enter # of days to add\",\n },\n );\n } else {\n clearErrors(\n `numberOfDaysAddedForOnDate${index}`,\n );\n }\n }}\n data-testid={`mobiletypeeventconfigmodal-on-date-input-${index}`}\n />\n )}\n />\n {errors[\n `numberOfDaysAddedForOnDate${index}`\n ] && (\n <p\n className=\"error-helper-table\"\n data-testid={`mobiletypeeventconfigmodal-on-date-error-${index}`}\n >\n {\n errors[\n `numberOfDaysAddedForOnDate${index}`\n ]?.message\n }\n </p>\n )}\n </Box>\n </FormControl>\n </Box>\n </TableCell>\n <TableCell>\n <Box>\n <FormControl\n variant=\"outlined\"\n className=\" w-full\"\n >\n <Box className=\" w-full\">\n <Controller\n control={control}\n name={`numberOfDaysAddedForDueDate${index}`}\n defaultValue={\n config.numberOfDaysAddedForDueDate\n }\n render={({ field }) => (\n <TextField\n variant=\"outlined\"\n size=\"small\"\n type=\"number\"\n {...field}\n onChange={(e) => {\n setValue(\n `numberOfDaysAddedForDueDate${index}`,\n e.target.value,\n );\n handleChange(\n index,\n \"numberOfDaysAddedForDueDate\",\n Number(e.target.value),\n );\n }}\n data-testid={`mobiletypeeventconfigmodal-due-date-input-${index}`}\n />\n )}\n />\n </Box>\n </FormControl>\n </Box>\n </TableCell>\n <TableCell>\n <Box>\n <FormControl\n variant=\"outlined\"\n className=\" w-full\"\n >\n <Box className=\" w-full\">\n <Controller\n control={control}\n name={`numberOfDaysAddedForExpiryDate${index}`}\n defaultValue={\n config.numberOfDaysAddedForExpiryDate\n }\n render={({ field }) => (\n <TextField\n variant=\"outlined\"\n type=\"number\"\n size=\"small\"\n {...field}\n onChange={(e) => {\n setValue(\n `numberOfDaysAddedForExpiryDate${index}`,\n e.target.value,\n );\n handleChange(\n index,\n \"numberOfDaysAddedForExpiryDate\",\n Number(e.target.value),\n );\n }}\n data-testid={`mobiletypeeventconfigmodal-expiry-date-input-${index}`}\n />\n )}\n />\n </Box>\n </FormControl>\n </Box>\n </TableCell>\n <TableCell>\n <IconButton\n color=\"error\"\n onClick={() => handleDeleteConfig(index)}\n data-testid={`mobiletypeeventconfigmodal-delete-button-${index}`}\n >\n <FontAwesomeIcon icon={faTrash} />\n </IconButton>\n </TableCell>\n </TableRow>\n ))\n ) : (\n <TableRow>\n <TableCell colSpan={5}>\n <Typography\n align=\"center\"\n data-testid=\"mobiletypeeventconfigmodal-no-config\"\n >\n No Mobile Configuration added\n </Typography>\n </TableCell>\n </TableRow>\n )}\n </TableBody>\n </Table>\n </TableContainer>\n </Grid>\n </Grid>\n </Grid>\n <Stack\n direction=\"row\"\n className=\"mr-5\"\n spacing={2}\n justifyContent=\"flex-end\"\n mt={1}\n mb={1}\n >\n <Button\n variant=\"contained\"\n color=\"secondary\"\n onClick={() => {\n close();\n reset();\n }}\n data-testid=\"mobiletypeeventconfigmodal-close-button\"\n >\n <Typography variant=\"body2\">{translate(\"Cancel\")}</Typography>\n </Button>\n <Button\n type=\"submit\"\n variant=\"contained\"\n color=\"primary\"\n data-testid=\"mobiletypeeventconfigmodal-submit-button\"\n >\n {translate(\"Submit\")}\n </Button>\n </Stack>\n </form>\n </Grid>\n </Modal>\n );\n};\n\nMobileTypeEventConfigModal.propTypes = {\n open: PropTypes.any,\n handleClose: PropTypes.any,\n handleClick: PropTypes.any,\n type: PropTypes.any,\n};\n\nexport default MobileTypeEventConfigModal;\n"],"names":["MobileTypeEventConfigModal","open","handleClose","handleClick","type","formRef","useRef","submitRef","trackEvent","useTrackEvent","notificationTypes","setNotificationTypes","useState","mobileNotification","setMobileNotification","mobileNotificationConfigs","setMobileNotificationConfigs","mobileConfigLength","setmobileConfigLength","translate","useTranslateProvider","handleDeleteConfig","index","data","i","setValue","prev","newConfigs","_","handleChange","field","value","validationSchema","Yup","control","handleSubmit","reset","setError","clearErrors","getValues","errors","useForm","yupResolver","useEffect","_a","key","notification","loadInitialState","close","res","retrieveAllNotifications","showToast","addMobileNotification","addconfig","config","fieldPath","onSubmit","jsx","Modal","jsxs","Grid","theme","Typography","IconButton","FontAwesomeIcon","faXmark","Box","FormControl","Controller","Select","e","MenuItem","CustomTextField","Button","TableContainer","Paper","Table","TableHead","TableRow","TableCell","TableBody","TextField","_b","faTrash","Stack","PropTypes"],"mappings":"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"}
@@ -0,0 +1,247 @@
1
+ import { jsxs as p, jsx as l } from "react/jsx-runtime";
2
+ import { useTranslateProvider as D } from "@/common/languageTranslator/TranslationContext";
3
+ import { showToast as W } from "@/common/toaster/toaster";
4
+ import Q from "@/hooks/useTrackEvent";
5
+ import v from "@/common/fontAwesomeIcons/FontAwesomeIcons";
6
+ import U from "@/views/custom-components/PostgresEditor";
7
+ import { Dialog as H, DialogTitle as z, Box as F, Typography as q, IconButton as V, DialogContent as $, DialogActions as M, Button as h } from "@mui/material";
8
+ import E from "prop-types";
9
+ import "react";
10
+ import { useSelector as P } from "react-redux";
11
+ function K({
12
+ open: O,
13
+ handleClose: u,
14
+ data: i,
15
+ roleData: t
16
+ }) {
17
+ var g, w, A, T, b, N;
18
+ const { user: n } = P((r) => r.Authenticate), { translate: c } = D();
19
+ let e = "";
20
+ if (e = "", e += "begin;", e += `
21
+ `, e += "DO $$", e += `
22
+ `, e += "DECLARE", e += `
23
+ `, e += "var_notification_type_id integer;", e += `
24
+ `, e += "var_escalation_level_id integer;", e += `
25
+ `, e += "old_notification_type_id integer;", e += `
26
+ `, e += "old_escalation_level_id integer;", e += `
27
+ `, e += "BEGIN", e += `
28
+ `, i.code !== null || i.code !== void 0) {
29
+ e += "DELETE FROM notification_type_master WHERE code = '" + i.code + "'returning id into old_notification_type_id;", e += `
30
+ `, e += `
31
+ `, e += "INSERT INTO notification_type_master (", e += 'created_by,created_on,modified_by,modified_on,code,"name","type",role_id,state,notification_for,action_on_role_id,data_query,action_query,order_no,color_code,data_for,url_based_action,url,modal_based_action,modal_name,is_location_filter_required,fetch_up_to_level,required_up_to_level,is_fetch_according_aoi,"uuid"', e += ")", e += `
32
+ `, e += "VALUES (", e += (n == null ? void 0 : n.id) + ",", e += "now(),", e += (n == null ? void 0 : n.id) + ",", e += "now(),", e += i.code ? "'" + i.code + "'," : "null,", e += i.notificationName ? "'" + i.notificationName + "'," : "null,", e += i.notificationType ? "'" + i.notificationType + "'," : "null,", i.roleId !== null ? e += i.roleId + "," : e += "null,", e += i.state ? "'" + i.state + "'," : "null,", e += i.notificationFor ? "'" + i.notificationFor + "'," : "null,", e += "null,", i.dataQuery !== null ? e += "'" + ((g = i == null ? void 0 : i.dataQuery) == null ? void 0 : g.replace(/'/g, "''")) + "'," : e += "null,", i.actionQuery !== null ? e += "'" + ((w = i == null ? void 0 : i.actionQuery) == null ? void 0 : w.replace(/'/g, "''")) + "'," : e += "null,", i.orderNo !== null ? e += i.orderNo + "," : e += "null,", i.colorCode !== null ? e += "'" + i.colorCode + "'," : e += "null,", i.dataFor !== null ? e += "'" + i.dataFor + "'," : e += "null,", e += i.urlBasedAction ? i.urlBasedAction + "," : (() => {
33
+ let o;
34
+ return i.urlBasedAction === !1 ? o = "false," : o = "null,", o;
35
+ })(), i.url !== null ? e += "'" + i.url + "'," : e += "null,", e += i.modalBasedAction ? i.modalBasedAction + "," : (() => {
36
+ let o;
37
+ return i.modalBasedAction === !1 ? o = "false," : o = "null,", o;
38
+ })(), i.modalName !== null ? e += "'" + i.modalName + "'," : e += "null,", e += i.isLocationFilterRequired ? i.isLocationFilterRequired + "," : "null,", i.fetchUptoLevel !== null ? e += i.fetchUptoLevel + "," : e += "null,", i.requiredUptoLevel !== null ? e += i.requiredUptoLevel + "," : e += "null,", e += i.isFetchAccordingAOI ? i.isFetchAccordingAOI + "," : "null,", i.uuid !== null ? e += "'" + i.uuid + "'" : e += "null", e += ")", e += "returning id into var_notification_type_id;", e += `
39
+ `, e += `
40
+ `, e += "DELETE FROM notification_type_role_rel WHERE notification_type_id = old_notification_type_id;", e += `
41
+ `, e += `
42
+ `, e += "INSERT INTO notification_type_role_rel (notification_type_id, role_id)", e += `
43
+ `, e += "SELECT var_notification_type_id, id", e += `
44
+ `, e += "FROM um_role_master", e += `
45
+ `, e += "WHERE name IN (";
46
+ let r = (A = i.roles) == null ? void 0 : A.length, m = 0;
47
+ if (((T = i.roles) == null ? void 0 : T.length) > 0)
48
+ i.roles.forEach((o) => {
49
+ var d;
50
+ m += 1, ((d = t.find((f) => f.id === o)) == null ? void 0 : d.name) != null && (e += "'" + t.find((f) => f.id === o).name + "' "), m === r ? e += ");" : e += ",", e += `
51
+ `;
52
+ });
53
+ else {
54
+ m += 1;
55
+ const o = ((b = t == null ? void 0 : t.find((d) => d.id === (i == null ? void 0 : i.roleId))) == null ? void 0 : b.name) ?? null;
56
+ e += o ? `'${o}'` : "'null'", e += ");", e += `
57
+ `;
58
+ }
59
+ ((N = i.escalationLevels) == null ? void 0 : N.length) > 0 && i.escalationLevels.forEach((o) => {
60
+ var f, R, C, x, L, I;
61
+ let d = !1;
62
+ if (e += `
63
+ `, e += "DELETE FROM escalation_level_master WHERE uuid = '" + o.uuid + "' returning id into old_escalation_level_id;", e += `
64
+ `, e += `
65
+ `, e += 'INSERT INTO escalation_level_master ("name", notification_type_id, created_by, created_on, modified_by, modified_on,uuid)', e += "VALUES (", e += "'" + o.name + "',", e += "var_notification_type_id,", e += (n == null ? void 0 : n.id) + ",", e += "now(),", e += (n == null ? void 0 : n.id) + ",", e += "now(),", e += "'" + o.uuid + "'", e += ")", e += "returning id into var_escalation_level_id;", e += `
66
+ `, e += `
67
+ `, e += "DELETE FROM escalation_level_role_rel WHERE escalation_level_id = old_escalation_level_id ;", e += `
68
+ `, e += `
69
+ `, o.performAction != null && ((f = Object.keys(o.performAction)) == null ? void 0 : f.length) > 0) {
70
+ for (const y in o.performAction)
71
+ if (((R = t.find((s) => s.id === y)) == null ? void 0 : R.name) != null) {
72
+ d = !0;
73
+ break;
74
+ }
75
+ }
76
+ if (d) {
77
+ e += "INSERT INTO escalation_level_role_rel (escalation_level_id, role_id, can_perform_action)", e += `
78
+ `, e += "SELECT var_escalation_level_id, id, ";
79
+ let y = (C = Object.keys(o.performAction)) == null ? void 0 : C.length;
80
+ e += `
81
+ `, e += "CASE", e += `
82
+ `;
83
+ let s = 0;
84
+ for (const _ in o.performAction)
85
+ s++, ((x = t.find((a) => a.id === _)) == null ? void 0 : x.name) != null && (e += "WHEN um_role_master.name = '" + ((L = t.find((a) => a.id === _)) == null ? void 0 : L.name) + "' THEN " + o.performAction[_]), s === y && (e += `
86
+ `, e += "ELSE false", e += `
87
+ `, e += "END"), e += `
88
+ `;
89
+ s = 0, e += "FROM um_role_master", e += `
90
+ `, e += "WHERE name IN (";
91
+ for (const _ in o.performAction)
92
+ s++, ((I = t.find((a) => a.id === _)) == null ? void 0 : I.name) !== void 0 && (e += "'" + t.find((a) => a.id === _).name + "' "), s === y ? e += ");" : e += ",", e += `
93
+ `;
94
+ }
95
+ }), e += "END $$;", e += `
96
+ `, e += "commit;";
97
+ }
98
+ const k = Q(), B = () => {
99
+ const r = new Blob([e], { type: "text/plain" }), m = (r.size / 1024).toFixed(2), o = document.createElement("a");
100
+ o.href = URL.createObjectURL(r), o.download = "V" + (/* @__PURE__ */ new Date()).getTime() + "__CREATED_OR_UPDATED_feature_.sql", document.body.appendChild(o), o.click(), k("file_download", {
101
+ file_type: "sql",
102
+ file_name: o.download,
103
+ file_size: `${m} KB`,
104
+ download_status: "success"
105
+ }), document.body.removeChild(o), u();
106
+ }, S = () => {
107
+ navigator.clipboard.writeText(e).then(
108
+ () => {
109
+ W({
110
+ message: "Query copied",
111
+ type: "success"
112
+ });
113
+ },
114
+ (r) => {
115
+ console.error("Could not copy text: ", r);
116
+ }
117
+ ), u();
118
+ };
119
+ return /* @__PURE__ */ p(
120
+ H,
121
+ {
122
+ "data-testid": "notification-flywayquery-modal",
123
+ open: O,
124
+ onClose: u,
125
+ fullWidth: !0,
126
+ maxWidth: "md",
127
+ children: [
128
+ /* @__PURE__ */ p(
129
+ z,
130
+ {
131
+ sx: {
132
+ display: "flex",
133
+ alignItems: "flex-start",
134
+ justifyContent: "space-between",
135
+ gap: 2,
136
+ py: 1.5,
137
+ borderBottom: "1px solid",
138
+ borderColor: "divider"
139
+ },
140
+ children: [
141
+ /* @__PURE__ */ p(F, { children: [
142
+ /* @__PURE__ */ l(
143
+ q,
144
+ {
145
+ variant: "subtitle1",
146
+ component: "span",
147
+ sx: { fontWeight: 700, display: "block" },
148
+ children: c("Flyway Query")
149
+ }
150
+ ),
151
+ /* @__PURE__ */ l(q, { variant: "body2", color: "text.secondary", children: c(
152
+ "Copy or download this migration to recreate this notification on another environment."
153
+ ) })
154
+ ] }),
155
+ /* @__PURE__ */ l(
156
+ V,
157
+ {
158
+ size: "small",
159
+ onClick: u,
160
+ "aria-label": c("Close"),
161
+ "data-testid": "notification-flywayquery-close-button",
162
+ children: /* @__PURE__ */ l(v, { iconName: "faXmark" })
163
+ }
164
+ )
165
+ ]
166
+ }
167
+ ),
168
+ /* @__PURE__ */ l($, { children: /* @__PURE__ */ l(
169
+ F,
170
+ {
171
+ "data-testid": "shownotification-flywayquery-textfield-query-display",
172
+ role: "region",
173
+ "aria-label": c("Flyway Query"),
174
+ sx: {
175
+ mt: 2,
176
+ overflow: "hidden",
177
+ borderRadius: (r) => `${r.shape.borderRadius}px`,
178
+ border: "1px solid",
179
+ borderColor: "divider"
180
+ },
181
+ children: /* @__PURE__ */ l(
182
+ U,
183
+ {
184
+ mode: "READ_ONLY",
185
+ height: "45vh",
186
+ defaultValue: e
187
+ }
188
+ )
189
+ }
190
+ ) }),
191
+ /* @__PURE__ */ p(
192
+ M,
193
+ {
194
+ sx: { px: 3, py: 2, borderTop: "1px solid", borderColor: "divider" },
195
+ children: [
196
+ /* @__PURE__ */ l(
197
+ h,
198
+ {
199
+ "data-testid": "notification-flywayquery-close-button-action",
200
+ variant: "outlined",
201
+ color: "inherit",
202
+ size: "small",
203
+ onClick: u,
204
+ children: c("Close")
205
+ }
206
+ ),
207
+ /* @__PURE__ */ l(
208
+ h,
209
+ {
210
+ "data-testid": "notification-flywayquery-copy-button",
211
+ variant: "outlined",
212
+ color: "primary",
213
+ size: "small",
214
+ startIcon: /* @__PURE__ */ l(v, { iconName: "faCopy" }),
215
+ onClick: S,
216
+ children: c("Copy Query")
217
+ }
218
+ ),
219
+ /* @__PURE__ */ l(
220
+ h,
221
+ {
222
+ "data-testid": "notification-flywayquery-download-button",
223
+ variant: "contained",
224
+ color: "primary",
225
+ size: "small",
226
+ startIcon: /* @__PURE__ */ l(v, { iconName: "faDownload" }),
227
+ onClick: B,
228
+ children: c("Download")
229
+ }
230
+ )
231
+ ]
232
+ }
233
+ )
234
+ ]
235
+ }
236
+ );
237
+ }
238
+ K.propTypes = {
239
+ open: E.any,
240
+ handleClose: E.any,
241
+ data: E.any,
242
+ roleData: E.any
243
+ };
244
+ export {
245
+ K as default
246
+ };
247
+ //# sourceMappingURL=NotificationFlywayQuery-BAHVjf6N.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NotificationFlywayQuery-BAHVjf6N.js","sources":["../src/views/Notifications/NotificationFlywayQuery.jsx"],"sourcesContent":["import { useTranslateProvider } from \"@/common/languageTranslator/TranslationContext\";\nimport { showToast } from \"@/common/toaster/toaster\";\nimport useTrackEvent from \"@/hooks/useTrackEvent\";\nimport FontAwesomeIcons from \"@/common/fontAwesomeIcons/FontAwesomeIcons\";\nimport PostgresEditor from \"@/views/custom-components/PostgresEditor\";\nimport {\n Box,\n Button,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n IconButton,\n Typography,\n} from \"@mui/material\";\nimport PropTypes from \"prop-types\";\nimport React from \"react\";\nimport { useSelector } from \"react-redux\";\n\n/**\n * NotificationFlywayQuery is a React component that renders a notification flyout with data and role information.\n * @module NotificationFlywayQuery\n * @param {Object} props - The props for the component.\n * @param {boolean} props.open - Boolean flag to determine if the notification flyout is open.\n * @param {Function} props.handleClose - Function to handle the closing of the notification flyout.\n * @param {Object} props.data - Data to display inside the notification flyout.\n * @param {Object} props.roleData - Role data to display in the notification flyout (such as user role or permissions).\n *\n * @returns {JSX.Element} A rendered notification flyout component.\n */\nexport default function NotificationFlywayQuery({\n open,\n handleClose,\n data,\n roleData,\n}) {\n const { user } = useSelector((state) => state.Authenticate);\n const { translate } = useTranslateProvider();\n let queryText = \"\";\n queryText = \"\";\n queryText += `begin;`;\n queryText += `\\n`;\n queryText += `DO $$`;\n queryText += `\\n`;\n queryText += `DECLARE`;\n queryText += `\\n`;\n queryText += `var_notification_type_id integer;`;\n queryText += `\\n`;\n queryText += `var_escalation_level_id integer;`;\n queryText += `\\n`;\n queryText += `old_notification_type_id integer;`;\n queryText += `\\n`;\n queryText += `old_escalation_level_id integer;`;\n queryText += `\\n`;\n queryText += `BEGIN`;\n queryText += `\\n`;\n\n if (data.code !== null || data.code !== undefined) {\n queryText +=\n `DELETE FROM notification_type_master WHERE code = '` +\n data.code +\n `'` +\n `returning id into old_notification_type_id;`;\n queryText += `\\n`;\n queryText += `\\n`;\n queryText += `INSERT INTO notification_type_master (`;\n queryText += `created_by,created_on,modified_by,modified_on,code,\"name\",\"type\",role_id,state,notification_for,action_on_role_id,data_query,action_query,order_no,color_code,data_for,url_based_action,url,modal_based_action,modal_name,is_location_filter_required,fetch_up_to_level,required_up_to_level,is_fetch_according_aoi,\"uuid\"`;\n queryText += `)`;\n queryText += `\\n`;\n queryText += `VALUES (`;\n queryText += user?.id + `,`;\n queryText += `now(),`;\n queryText += user?.id + `,`;\n queryText += `now(),`;\n queryText += data.code ? `'` + data.code + `',` : `null,`;\n queryText += data.notificationName\n ? `'` + data.notificationName + `',`\n : `null,`;\n queryText += data.notificationType\n ? `'` + data.notificationType + `',`\n : `null,`;\n if (data.roleId !== null) {\n queryText += data.roleId + \",\";\n } else {\n queryText += \"null,\";\n }\n queryText += data.state ? \"'\" + data.state + \"',\" : \"null,\";\n queryText += data.notificationFor\n ? \"'\" + data.notificationFor + \"',\"\n : \"null,\";\n queryText += \"null,\";\n if (data.dataQuery !== null) {\n queryText += \"'\" + data?.dataQuery?.replace(/'/g, \"''\") + \"',\";\n } else {\n queryText += \"null,\";\n }\n if (data.actionQuery !== null) {\n queryText += \"'\" + data?.actionQuery?.replace(/'/g, \"''\") + \"',\";\n } else {\n queryText += \"null,\";\n }\n if (data.orderNo !== null) {\n queryText += data.orderNo + \",\";\n } else {\n queryText += \"null,\";\n }\n if (data.colorCode !== null) {\n queryText += \"'\" + data.colorCode + \"',\";\n } else {\n queryText += \"null,\";\n }\n if (data.dataFor !== null) {\n queryText += \"'\" + data.dataFor + \"',\";\n } else {\n queryText += \"null,\";\n }\n queryText += data.urlBasedAction\n ? data.urlBasedAction + \",\"\n : (() => {\n let modalBasedActionValue;\n if (data.urlBasedAction === false) {\n modalBasedActionValue = \"false,\";\n } else {\n modalBasedActionValue = \"null,\";\n }\n return modalBasedActionValue;\n })();\n if (data.url !== null) {\n queryText += \"'\" + data.url + \"',\";\n } else {\n queryText += \"null,\";\n }\n queryText += data.modalBasedAction\n ? data.modalBasedAction + \",\"\n : (() => {\n let modalBasedActionValue;\n if (data.modalBasedAction === false) {\n modalBasedActionValue = \"false,\";\n } else {\n modalBasedActionValue = \"null,\";\n }\n return modalBasedActionValue;\n })();\n if (data.modalName !== null) {\n queryText += \"'\" + data.modalName + \"',\";\n } else {\n queryText += \"null,\";\n }\n queryText += data.isLocationFilterRequired\n ? data.isLocationFilterRequired + \",\"\n : \"null,\";\n if (data.fetchUptoLevel !== null) {\n queryText += data.fetchUptoLevel + \",\";\n } else {\n queryText += \"null,\";\n }\n if (data.requiredUptoLevel !== null) {\n queryText += data.requiredUptoLevel + \",\";\n } else {\n queryText += \"null,\";\n }\n queryText += data.isFetchAccordingAOI\n ? data.isFetchAccordingAOI + \",\"\n : \"null,\";\n if (data.uuid !== null) {\n queryText += \"'\" + data.uuid + \"'\";\n } else {\n queryText += \"null\";\n }\n queryText += \")\";\n queryText += \"returning id into var_notification_type_id;\";\n queryText += \"\\n\";\n queryText += \"\\n\";\n queryText +=\n \"DELETE FROM notification_type_role_rel WHERE notification_type_id = old_notification_type_id;\";\n queryText += \"\\n\";\n queryText += \"\\n\";\n queryText +=\n \"INSERT INTO notification_type_role_rel (notification_type_id, role_id)\";\n queryText += \"\\n\";\n queryText += \"SELECT var_notification_type_id, id\";\n queryText += \"\\n\";\n queryText += \"FROM um_role_master\";\n queryText += \"\\n\";\n queryText += \"WHERE name IN (\";\n let notificationRoleLength = data.roles?.length;\n let notificationCount = 0;\n if (data.roles?.length > 0) {\n data.roles.forEach((val) => {\n notificationCount += 1;\n if (roleData.find((item) => item.id === val)?.name != undefined) {\n queryText +=\n \"'\" + roleData.find((item) => item.id === val).name + \"' \";\n }\n if (notificationCount === notificationRoleLength) {\n queryText += \");\";\n } else {\n queryText += \",\";\n }\n queryText += \"\\n\";\n });\n } else {\n notificationCount += 1;\n const roleName =\n roleData?.find((item) => item.id === data?.roleId)?.name ?? null;\n queryText += roleName ? `'${roleName}'` : \"'null'\";\n queryText += \");\";\n queryText += \"\\n\";\n }\n if (data.escalationLevels?.length > 0) {\n data.escalationLevels.forEach((obj) => {\n let isPerformActionValid = false;\n queryText += \"\\n\";\n queryText +=\n \"DELETE FROM escalation_level_master WHERE uuid = \" +\n \"'\" +\n obj.uuid +\n \"' returning id into old_escalation_level_id;\";\n queryText += \"\\n\";\n queryText += \"\\n\";\n queryText +=\n 'INSERT INTO escalation_level_master (\"name\", notification_type_id, created_by, created_on, modified_by, modified_on,uuid)';\n queryText += \"VALUES (\";\n queryText += \"'\" + obj.name + \"',\";\n queryText += \"var_notification_type_id,\";\n queryText += user?.id + \",\";\n queryText += \"now(),\";\n queryText += user?.id + \",\";\n queryText += \"now(),\";\n queryText += \"'\" + obj.uuid + \"'\";\n queryText += \")\";\n queryText += \"returning id into var_escalation_level_id;\";\n queryText += \"\\n\";\n queryText += \"\\n\";\n queryText +=\n \"DELETE FROM escalation_level_role_rel WHERE escalation_level_id = \" +\n \"old_escalation_level_id ;\";\n queryText += \"\\n\";\n queryText += \"\\n\";\n if (\n obj.performAction != null &&\n Object.keys(obj.performAction)?.length > 0\n ) {\n for (const key in obj.performAction) {\n if (roleData.find((item) => item.id === key)?.name != undefined) {\n isPerformActionValid = true;\n break;\n }\n }\n }\n if (isPerformActionValid) {\n queryText +=\n \"INSERT INTO escalation_level_role_rel (escalation_level_id, role_id, can_perform_action)\";\n queryText += \"\\n\";\n queryText += \"SELECT var_escalation_level_id, id, \";\n let escalationLength = Object.keys(obj.performAction)?.length;\n queryText += \"\\n\";\n queryText += \"CASE\";\n queryText += \"\\n\";\n let escalationCount = 0;\n for (const key in obj.performAction) {\n escalationCount++;\n if (roleData.find((item) => item.id === key)?.name != undefined) {\n queryText +=\n \"WHEN um_role_master.name = \" +\n \"'\" +\n roleData.find((item) => item.id === key)?.name +\n \"' \" +\n \"THEN \" +\n obj.performAction[key];\n }\n if (escalationCount === escalationLength) {\n queryText += \"\\n\";\n queryText += \"ELSE false\";\n queryText += \"\\n\";\n queryText += \"END\";\n queryText += \"\\n\";\n } else {\n queryText += \"\\n\";\n }\n }\n escalationCount = 0;\n queryText += \"FROM um_role_master\";\n queryText += \"\\n\";\n queryText += \"WHERE name IN (\";\n for (const key in obj.performAction) {\n escalationCount++;\n if (roleData.find((item) => item.id === key)?.name !== undefined) {\n queryText +=\n \"'\" + roleData.find((item) => item.id === key).name + \"' \";\n }\n if (escalationCount === escalationLength) {\n queryText += \");\";\n } else {\n queryText += \",\";\n }\n queryText += \"\\n\";\n }\n }\n });\n }\n queryText += \"END $$;\";\n queryText += \"\\n\";\n queryText += \"commit;\";\n }\n const trackEvent = useTrackEvent();\n\n /**\n * Handles the download of a SQL file with the query text.\n * @function handleDownload\n * @returns {void}\n */\n\n const handleDownload = () => {\n const blob = new Blob([queryText], { type: \"text/plain\" });\n const blobSizeInKB = (blob.size / 1024).toFixed(2);\n const link = document.createElement(\"a\");\n link.href = URL.createObjectURL(blob);\n link.download =\n \"V\" + new Date().getTime() + \"__CREATED_OR_UPDATED_feature_\" + \".sql\";\n document.body.appendChild(link);\n link.click();\n\n trackEvent(\"file_download\", {\n file_type: \"sql\",\n file_name: link.download,\n file_size: `${blobSizeInKB} KB`,\n download_status: \"success\",\n });\n\n document.body.removeChild(link);\n\n handleClose();\n };\n\n /**\n * Copies the query text to the clipboard and displays a success message.\n * @function handleCopy\n * @returns {void}\n */\n\n const handleCopy = () => {\n navigator.clipboard.writeText(queryText).then(\n () => {\n showToast({\n message: \"Query copied\",\n type: \"success\",\n });\n },\n (err) => {\n console.error(\"Could not copy text: \", err);\n },\n );\n handleClose();\n };\n\n return (\n <Dialog\n data-testid=\"notification-flywayquery-modal\"\n open={open}\n onClose={handleClose}\n fullWidth\n maxWidth=\"md\"\n >\n <DialogTitle\n sx={{\n display: \"flex\",\n alignItems: \"flex-start\",\n justifyContent: \"space-between\",\n gap: 2,\n py: 1.5,\n borderBottom: \"1px solid\",\n borderColor: \"divider\",\n }}\n >\n <Box>\n <Typography\n variant=\"subtitle1\"\n component=\"span\"\n sx={{ fontWeight: 700, display: \"block\" }}\n >\n {translate(\"Flyway Query\")}\n </Typography>\n <Typography variant=\"body2\" color=\"text.secondary\">\n {translate(\n \"Copy or download this migration to recreate this notification on another environment.\",\n )}\n </Typography>\n </Box>\n <IconButton\n size=\"small\"\n onClick={handleClose}\n aria-label={translate(\"Close\")}\n data-testid=\"notification-flywayquery-close-button\"\n >\n <FontAwesomeIcons iconName=\"faXmark\" />\n </IconButton>\n </DialogTitle>\n\n <DialogContent>\n <Box\n data-testid=\"shownotification-flywayquery-textfield-query-display\"\n role=\"region\"\n aria-label={translate(\"Flyway Query\")}\n sx={{\n mt: 2,\n overflow: \"hidden\",\n borderRadius: (t) => `${t.shape.borderRadius}px`,\n border: \"1px solid\",\n borderColor: \"divider\",\n }}\n >\n <PostgresEditor\n mode=\"READ_ONLY\"\n height=\"45vh\"\n defaultValue={queryText}\n />\n </Box>\n </DialogContent>\n\n <DialogActions\n sx={{ px: 3, py: 2, borderTop: \"1px solid\", borderColor: \"divider\" }}\n >\n <Button\n data-testid=\"notification-flywayquery-close-button-action\"\n variant=\"outlined\"\n color=\"inherit\"\n size=\"small\"\n onClick={handleClose}\n >\n {translate(\"Close\")}\n </Button>\n <Button\n data-testid=\"notification-flywayquery-copy-button\"\n variant=\"outlined\"\n color=\"primary\"\n size=\"small\"\n startIcon={<FontAwesomeIcons iconName=\"faCopy\" />}\n onClick={handleCopy}\n >\n {translate(\"Copy Query\")}\n </Button>\n <Button\n data-testid=\"notification-flywayquery-download-button\"\n variant=\"contained\"\n color=\"primary\"\n size=\"small\"\n startIcon={<FontAwesomeIcons iconName=\"faDownload\" />}\n onClick={handleDownload}\n >\n {translate(\"Download\")}\n </Button>\n </DialogActions>\n </Dialog>\n );\n}\n\nNotificationFlywayQuery.propTypes = {\n open: PropTypes.any,\n handleClose: PropTypes.any,\n data: PropTypes.any,\n roleData: PropTypes.any,\n};\n"],"names":["NotificationFlywayQuery","open","handleClose","data","roleData","user","useSelector","state","translate","useTranslateProvider","queryText","_a","_b","modalBasedActionValue","notificationRoleLength","_c","notificationCount","_d","val","item","roleName","_e","_f","obj","isPerformActionValid","key","escalationLength","escalationCount","trackEvent","useTrackEvent","handleDownload","blob","blobSizeInKB","link","handleCopy","showToast","err","jsxs","Dialog","DialogTitle","Box","jsx","Typography","IconButton","FontAwesomeIcons","DialogContent","t","PostgresEditor","DialogActions","Button","PropTypes"],"mappings":"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"}