@argusoft/medplat-core 1.0.28 → 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 (229) 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-C0Z29oSd.js → AddFeatures-D1sU8RjY.js} +2 -2
  6. package/dist/{AddFeatures-C0Z29oSd.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-e5BVXhmw.js +8547 -0
  10. package/dist/AddMenuConfiguration-e5BVXhmw.js.map +1 -0
  11. package/dist/{AddRoleDrawer-CQdzQZLb.js → AddRoleDrawer-0gqAK8N0.js} +62 -63
  12. package/dist/AddRoleDrawer-0gqAK8N0.js.map +1 -0
  13. package/dist/AppModal-CCtrQ5Tr.js +394 -0
  14. package/dist/AppModal-CCtrQ5Tr.js.map +1 -0
  15. package/dist/BrandsPage-DmRW5bhm-Bk1szrjI.js +387 -0
  16. package/dist/BrandsPage-DmRW5bhm-Bk1szrjI.js.map +1 -0
  17. package/dist/CategoriesPage-BsS5IQh3-B03lWRY5.js +391 -0
  18. package/dist/CategoriesPage-BsS5IQh3-B03lWRY5.js.map +1 -0
  19. package/dist/{ChangePasswordModalCore-CDxkeIIM.js → ChangePasswordModalCore-BPsJquTS.js} +1606 -1611
  20. package/dist/ChangePasswordModalCore-BPsJquTS.js.map +1 -0
  21. package/dist/{ConditionConfig-DSsgGEXS.js → ConditionConfig-Ddz9halE.js} +2 -2
  22. package/dist/ConditionConfig-Ddz9halE.js.map +1 -0
  23. package/dist/DashboardPage-C3bKc5na-sBd9Yqbi.js +435 -0
  24. package/dist/DashboardPage-C3bKc5na-sBd9Yqbi.js.map +1 -0
  25. package/dist/{EntityManagement-GaYsBTvf.js → EntityManagement-CPQL6qBj.js} +2 -2
  26. package/dist/{EntityManagement-GaYsBTvf.js.map → EntityManagement-CPQL6qBj.js.map} +1 -1
  27. package/dist/EventConfig-BmLemzX3.js +26 -0
  28. package/dist/EventConfig-BmLemzX3.js.map +1 -0
  29. package/dist/{EventConfigurations-kNtAj_WM.js → EventConfigurations-Bzh1qWXU.js} +31 -30
  30. package/dist/{EventConfigurations-kNtAj_WM.js.map → EventConfigurations-Bzh1qWXU.js.map} +1 -1
  31. package/dist/{EventsExceptionModal-D4Bf1ilS.js → EventsExceptionModal-B2SRrnB1.js} +2 -2
  32. package/dist/{EventsExceptionModal-D4Bf1ilS.js.map → EventsExceptionModal-B2SRrnB1.js.map} +1 -1
  33. package/dist/EventsSkeleton-BIcPks4T.js +61 -0
  34. package/dist/EventsSkeleton-BIcPks4T.js.map +1 -0
  35. package/dist/FacilityPicker-BiZeupmP-CyPHmj6b.js +79 -0
  36. package/dist/FacilityPicker-BiZeupmP-CyPHmj6b.js.map +1 -0
  37. package/dist/FeatureMenu-DYJmDt7q.js +521 -0
  38. package/dist/FeatureMenu-DYJmDt7q.js.map +1 -0
  39. package/dist/Features-Dne21RWu.js +14 -0
  40. package/dist/Features-Dne21RWu.js.map +1 -0
  41. package/dist/{FhirServerList-Dkq7Kbes.js → FhirServerList-DuTwnngN.js} +19 -19
  42. package/dist/{FhirServerList-Dkq7Kbes.js.map → FhirServerList-DuTwnngN.js.map} +1 -1
  43. package/dist/{FhirServerWizard-Db6Hm4bQ.js → FhirServerWizard-DZI8Olku.js} +15 -15
  44. package/dist/{FhirServerWizard-Db6Hm4bQ.js.map → FhirServerWizard-DZI8Olku.js.map} +1 -1
  45. package/dist/FlywayQuery-CQygj51V.js +179 -0
  46. package/dist/FlywayQuery-CQygj51V.js.map +1 -0
  47. package/dist/{ManageNotification-CaBAOhji.js → Google-DQxMfbaL.js} +1725 -2652
  48. package/dist/{ManageNotification-CaBAOhji.js.map → Google-DQxMfbaL.js.map} +1 -1
  49. package/dist/GrantPermissionModal-BDN66Atn.js +236 -0
  50. package/dist/GrantPermissionModal-BDN66Atn.js.map +1 -0
  51. package/dist/ImmunizationConfigurationBase-Di1KO3oW.js +7639 -0
  52. package/dist/ImmunizationConfigurationBase-Di1KO3oW.js.map +1 -0
  53. package/dist/ImmunizationConfigurationBase.css +1 -1
  54. package/dist/ImmunizationConfigurationsList-TZcLDEci.js +369 -0
  55. package/dist/ImmunizationConfigurationsList-TZcLDEci.js.map +1 -0
  56. package/dist/InventoryPage-C_AxSy7A-QLvlL4rE.js +665 -0
  57. package/dist/InventoryPage-C_AxSy7A-QLvlL4rE.js.map +1 -0
  58. package/dist/LanguagesModal-B3NTebYT.js +352 -0
  59. package/dist/LanguagesModal-B3NTebYT.js.map +1 -0
  60. package/dist/ManageDynamicFeature-BU0I45dd.js +4475 -0
  61. package/dist/ManageDynamicFeature-BU0I45dd.js.map +1 -0
  62. package/dist/{ManageEventConfiguration-DV3I5POA.js → ManageEventConfiguration-CoYcpjR9.js} +465 -397
  63. package/dist/ManageEventConfiguration-CoYcpjR9.js.map +1 -0
  64. package/dist/ManageNotification-C5MhV77Q.js +934 -0
  65. package/dist/ManageNotification-C5MhV77Q.js.map +1 -0
  66. package/dist/{ManageRole-CGYfglpo.js → ManageRole-CNZBRKGU.js} +32 -30
  67. package/dist/ManageRole-CNZBRKGU.js.map +1 -0
  68. package/dist/ManageTranslation-vRiptUAP.js +833 -0
  69. package/dist/ManageTranslation-vRiptUAP.js.map +1 -0
  70. package/dist/ManageTranslation.css +1 -1
  71. package/dist/{ManageUser-AY1EUDLI.js → ManageUser-DCFkUMV9.js} +1722 -1586
  72. package/dist/ManageUser-DCFkUMV9.js.map +1 -0
  73. package/dist/MemberProfileCard-BdUNgHRB-VywqQdFF.js +272 -0
  74. package/dist/MemberProfileCard-BdUNgHRB-VywqQdFF.js.map +1 -0
  75. package/dist/MobileAnalytics-pQoE8cG1.js +16888 -0
  76. package/dist/MobileAnalytics-pQoE8cG1.js.map +1 -0
  77. package/dist/MobileMenuManagement-Cf8IZlla.js +108 -0
  78. package/dist/MobileMenuManagement-Cf8IZlla.js.map +1 -0
  79. package/dist/{MobileTypeEventConfigModal-BxLympIO.js → MobileTypeEventConfigModal-BeveaX0C.js} +2 -2
  80. package/dist/MobileTypeEventConfigModal-BeveaX0C.js.map +1 -0
  81. package/dist/NotificationFlywayQuery-BAHVjf6N.js +247 -0
  82. package/dist/NotificationFlywayQuery-BAHVjf6N.js.map +1 -0
  83. package/dist/{NotificationList-C3Vb_jKU.js → NotificationList-DEyRZEuM.js} +109 -110
  84. package/dist/NotificationList-DEyRZEuM.js.map +1 -0
  85. package/dist/{OtherTypeEventConfigModal-BeG1GrUi.js → OtherTypeEventConfigModal-CM6VkdmY.js} +570 -478
  86. package/dist/OtherTypeEventConfigModal-CM6VkdmY.js.map +1 -0
  87. package/dist/PaymentCreatePage-CIVe0P0p-25BQVpOX.js +482 -0
  88. package/dist/PaymentCreatePage-CIVe0P0p-25BQVpOX.js.map +1 -0
  89. package/dist/PaymentsPage-BvPe5Q9F-D2gfziwW.js +157 -0
  90. package/dist/PaymentsPage-BvPe5Q9F-D2gfziwW.js.map +1 -0
  91. package/dist/PermissionsModal-CCYkcKlC.js +151 -0
  92. package/dist/PermissionsModal-CCYkcKlC.js.map +1 -0
  93. package/dist/PickupBatchLinesEditor-DHmcAG23-DL2p6IKJ.js +119 -0
  94. package/dist/PickupBatchLinesEditor-DHmcAG23-DL2p6IKJ.js.map +1 -0
  95. package/dist/PickupCreatePage-CB0Sl0Hb-Mmj7zESG.js +783 -0
  96. package/dist/PickupCreatePage-CB0Sl0Hb-Mmj7zESG.js.map +1 -0
  97. package/dist/PickupsPage-Ctpghavs-CUp4uIZq.js +818 -0
  98. package/dist/PickupsPage-Ctpghavs-CUp4uIZq.js.map +1 -0
  99. package/dist/PmGuard-b10TGXEi-G3N0G_Wg.js +599 -0
  100. package/dist/PmGuard-b10TGXEi-G3N0G_Wg.js.map +1 -0
  101. package/dist/ProductEditPage-C1thoKHu-URQaZ6st.js +1302 -0
  102. package/dist/ProductEditPage-C1thoKHu-URQaZ6st.js.map +1 -0
  103. package/dist/ProductsPage-CupVmOD4-D45a_hf-.js +252 -0
  104. package/dist/ProductsPage-CupVmOD4-D45a_hf-.js.map +1 -0
  105. package/dist/PurchaseCreatePage-YD3NmhPQ-2j4etSjM.js +648 -0
  106. package/dist/PurchaseCreatePage-YD3NmhPQ-2j4etSjM.js.map +1 -0
  107. package/dist/PurchaseRequestDetailPage-Dg_MRY_N-D1bgTEAn.js +1577 -0
  108. package/dist/PurchaseRequestDetailPage-Dg_MRY_N-D1bgTEAn.js.map +1 -0
  109. package/dist/PurchaseRequestsPage-DPAPzpmm-mDH2IrTl.js +279 -0
  110. package/dist/PurchaseRequestsPage-DPAPzpmm-mDH2IrTl.js.map +1 -0
  111. package/dist/PurchasesPage-It1GHiXl-eH4IsF_U.js +293 -0
  112. package/dist/PurchasesPage-It1GHiXl-eH4IsF_U.js.map +1 -0
  113. package/dist/QueryBuilder-CXaBe6sr.js +478 -0
  114. package/dist/QueryBuilder-CXaBe6sr.js.map +1 -0
  115. package/dist/{RoleManagement-BPl2cE27.js → RoleManagement-s8iNx2Mu.js} +131 -142
  116. package/dist/RoleManagement-s8iNx2Mu.js.map +1 -0
  117. package/dist/Roles-BIyiic67.js +14 -0
  118. package/dist/Roles-BIyiic67.js.map +1 -0
  119. package/dist/SaleCreatePage-C9kFmTvm-B3Y0o4CX.js +544 -0
  120. package/dist/SaleCreatePage-C9kFmTvm-B3Y0o4CX.js.map +1 -0
  121. package/dist/SalesPage-D18DCseD-BxktGDRQ.js +315 -0
  122. package/dist/SalesPage-D18DCseD-BxktGDRQ.js.map +1 -0
  123. package/dist/{ServerSyncModal-D_oFpv3C.js → ServerSyncModal-92U3xtqI.js} +84 -85
  124. package/dist/ServerSyncModal-92U3xtqI.js.map +1 -0
  125. package/dist/SettingsPage-VsxI-ano-DcmtUUEj.js +747 -0
  126. package/dist/SettingsPage-VsxI-ano-DcmtUUEj.js.map +1 -0
  127. package/dist/ShowFlywayQuery-D10Olk5Z.js +154 -0
  128. package/dist/ShowFlywayQuery-D10Olk5Z.js.map +1 -0
  129. package/dist/{ShowFlywayQuery-DVRCd384.js → ShowFlywayQuery-D1y_4A1u.js} +161 -121
  130. package/dist/ShowFlywayQuery-D1y_4A1u.js.map +1 -0
  131. package/dist/ShowQueryHistory-DRBKYDKk.js +313 -0
  132. package/dist/ShowQueryHistory-DRBKYDKk.js.map +1 -0
  133. package/dist/StorageUnitsPage-7EqwuMOI-BwUso1Th.js +721 -0
  134. package/dist/StorageUnitsPage-7EqwuMOI-BwUso1Th.js.map +1 -0
  135. package/dist/SubMenu-eEDhZUvh.js +317 -0
  136. package/dist/SubMenu-eEDhZUvh.js.map +1 -0
  137. package/dist/{TableDetails-Cf_YfnY2.js → TableDetails-BtafRxXb.js} +1069 -831
  138. package/dist/TableDetails-BtafRxXb.js.map +1 -0
  139. package/dist/{TableList-D6jnIbnz.js → TableList-Dpo6dO7S.js} +2 -2
  140. package/dist/{TableList-D6jnIbnz.js.map → TableList-Dpo6dO7S.js.map} +1 -1
  141. package/dist/TransactionsPage-DrH53pVS-BkhIGB6C.js +746 -0
  142. package/dist/TransactionsPage-DrH53pVS-BkhIGB6C.js.map +1 -0
  143. package/dist/TransferCreatePage-CuvoMrYH-DTTfHjz-.js +315 -0
  144. package/dist/TransferCreatePage-CuvoMrYH-DTTfHjz-.js.map +1 -0
  145. package/dist/TransfersPage-Cf701t8s-BBbN7cBf.js +476 -0
  146. package/dist/TransfersPage-Cf701t8s-BBbN7cBf.js.map +1 -0
  147. package/dist/{TypeConfiguration-37wp-gsl.js → TypeConfiguration-3O6ABrK-.js} +2 -2
  148. package/dist/{TypeConfiguration-37wp-gsl.js.map → TypeConfiguration-3O6ABrK-.js.map} +1 -1
  149. package/dist/{UserList-Bc8gYxRL.js → UserList-DgPxsnj2.js} +253 -236
  150. package/dist/{UserList-Bc8gYxRL.js.map → UserList-DgPxsnj2.js.map} +1 -1
  151. package/dist/Users-Bpc4Sazd.js +41 -0
  152. package/dist/Users-Bpc4Sazd.js.map +1 -0
  153. package/dist/VialsPage-8oAc1yFv-Cl3FUXBJ.js +321 -0
  154. package/dist/VialsPage-8oAc1yFv-Cl3FUXBJ.js.map +1 -0
  155. package/dist/{WidgetList-Dw_FmbbE.js → WidgetList-D7YuWfDD.js} +2 -2
  156. package/dist/{WidgetList-Dw_FmbbE.js.map → WidgetList-D7YuWfDD.js.map} +1 -1
  157. package/dist/constants-ClZJY2x1-MkSWn6TZ.js +434 -0
  158. package/dist/constants-ClZJY2x1-MkSWn6TZ.js.map +1 -0
  159. package/dist/dashboardLayoutUtils-D1xCAxp3.js +405 -0
  160. package/dist/dashboardLayoutUtils-D1xCAxp3.js.map +1 -0
  161. package/dist/format-UOyOu75i-D0GyylyQ.js +63 -0
  162. package/dist/format-UOyOu75i-D0GyylyQ.js.map +1 -0
  163. package/dist/index.css +1 -1
  164. package/dist/index.js +4 -752
  165. package/dist/index.js.map +1 -1
  166. package/dist/index.lib-Dn8PMkeD.js +862 -0
  167. package/dist/index.lib-Dn8PMkeD.js.map +1 -0
  168. package/dist/useFieldErrors-hDG8ox_x-DbSAzrGo.js +28 -0
  169. package/dist/useFieldErrors-hDG8ox_x-DbSAzrGo.js.map +1 -0
  170. package/dist/validation-BzlHnL-r-CCJm2utQ.js +125 -0
  171. package/dist/validation-BzlHnL-r-CCJm2utQ.js.map +1 -0
  172. package/package.json +5 -4
  173. package/dist/AccessRights-CHu27ZOw.js +0 -1262
  174. package/dist/AccessRights-CHu27ZOw.js.map +0 -1
  175. package/dist/AddEditQueryBuilder-Brdnm6rQ.js +0 -313
  176. package/dist/AddEditQueryBuilder-Brdnm6rQ.js.map +0 -1
  177. package/dist/AddLabelModal-DFllBVcd.js +0 -734
  178. package/dist/AddLabelModal-DFllBVcd.js.map +0 -1
  179. package/dist/AddMenuConfiguration-BSQLl88V.js +0 -6570
  180. package/dist/AddMenuConfiguration-BSQLl88V.js.map +0 -1
  181. package/dist/AddRoleDrawer-CQdzQZLb.js.map +0 -1
  182. package/dist/AppModal-CtG2GjD_.js +0 -428
  183. package/dist/AppModal-CtG2GjD_.js.map +0 -1
  184. package/dist/ChangePasswordModalCore-CDxkeIIM.js.map +0 -1
  185. package/dist/ConditionConfig-DSsgGEXS.js.map +0 -1
  186. package/dist/EventsSkeleton-8iiETGcf.js +0 -76
  187. package/dist/EventsSkeleton-8iiETGcf.js.map +0 -1
  188. package/dist/FeatureMenu-jl7-Tk6y.js +0 -265
  189. package/dist/FeatureMenu-jl7-Tk6y.js.map +0 -1
  190. package/dist/Features-CObdzJp_.js +0 -13
  191. package/dist/Features-CObdzJp_.js.map +0 -1
  192. package/dist/FlywayQuery-Cx2sly6g.js +0 -169
  193. package/dist/FlywayQuery-Cx2sly6g.js.map +0 -1
  194. package/dist/ImmunizationConfigurationBase-DZGqwda2.js +0 -5910
  195. package/dist/ImmunizationConfigurationBase-DZGqwda2.js.map +0 -1
  196. package/dist/ImmunizationConfigurationsList-DdSZicTP.js +0 -344
  197. package/dist/ImmunizationConfigurationsList-DdSZicTP.js.map +0 -1
  198. package/dist/LanguagesModal-D6VfaGrl.js +0 -394
  199. package/dist/LanguagesModal-D6VfaGrl.js.map +0 -1
  200. package/dist/ManageDynamicFeature-BhONvfC_.js +0 -4189
  201. package/dist/ManageDynamicFeature-BhONvfC_.js.map +0 -1
  202. package/dist/ManageEventConfiguration-DV3I5POA.js.map +0 -1
  203. package/dist/ManageRole-CGYfglpo.js.map +0 -1
  204. package/dist/ManageTranslation-B4C9-lWD.js +0 -625
  205. package/dist/ManageTranslation-B4C9-lWD.js.map +0 -1
  206. package/dist/ManageUser-AY1EUDLI.js.map +0 -1
  207. package/dist/MobileMenuManagement-CVAKyKDa.js +0 -112
  208. package/dist/MobileMenuManagement-CVAKyKDa.js.map +0 -1
  209. package/dist/MobileTypeEventConfigModal-BxLympIO.js.map +0 -1
  210. package/dist/NotificationFlywayQuery-BY8Zzml_.js +0 -244
  211. package/dist/NotificationFlywayQuery-BY8Zzml_.js.map +0 -1
  212. package/dist/NotificationList-C3Vb_jKU.js.map +0 -1
  213. package/dist/OtherTypeEventConfigModal-BeG1GrUi.js.map +0 -1
  214. package/dist/QueryBuilder-z7eqfd7D.js +0 -383
  215. package/dist/QueryBuilder-z7eqfd7D.js.map +0 -1
  216. package/dist/RoleManagement-BPl2cE27.js.map +0 -1
  217. package/dist/ServerSyncModal-D_oFpv3C.js.map +0 -1
  218. package/dist/ShowFlywayQuery-DVRCd384.js.map +0 -1
  219. package/dist/ShowFlywayQuery-tj42YQAS.js +0 -130
  220. package/dist/ShowFlywayQuery-tj42YQAS.js.map +0 -1
  221. package/dist/ShowQueryHistory-BDN0tzHg.js +0 -190
  222. package/dist/ShowQueryHistory-BDN0tzHg.js.map +0 -1
  223. package/dist/SubMenu-DYxAPH2Z.js +0 -191
  224. package/dist/SubMenu-DYxAPH2Z.js.map +0 -1
  225. package/dist/TableDetails-Cf_YfnY2.js.map +0 -1
  226. package/dist/Users-CsJ08Kjm.js +0 -40
  227. package/dist/Users-CsJ08Kjm.js.map +0 -1
  228. package/dist/dashboardLayoutUtils-Bt5HA96J.js +0 -265
  229. package/dist/dashboardLayoutUtils-Bt5HA96J.js.map +0 -1
@@ -1,112 +0,0 @@
1
- import { jsx as e, jsxs as i } from "react/jsx-runtime";
2
- import { api as T } from "@/common/interceptors/AxiosInterceptor";
3
- import { showToast as A } from "@/common/toaster/toaster";
4
- import { Typography as w, TextField as k, Button as F, TableContainer as R, Paper as j, Table as E, TableHead as P, TableRow as m, TableCell as a, TableBody as I, IconButton as W } from "@mui/material";
5
- import h from "@mui/material/Grid2";
6
- import { Box as q } from "@mui/system";
7
- import { useState as g, useEffect as B } from "react";
8
- import { useNavigate as z } from "react-router";
9
- import D from "@/common/fontAwesomeIcons/FontAwesomeIcons";
10
- import { c as J } from "./dashboardLayoutUtils-Bt5HA96J.js";
11
- const O = "/mobilemenu/v2", H = {
12
- getMobileMenuList: () => T.get(O + "/list")
13
- };
14
- function oe() {
15
- const [M, x] = g([]), [C, v] = g(""), [d, p] = g([]), b = z(), N = (r, n, s) => {
16
- const c = `addMenuConfiguration?${new URLSearchParams({ id: r }).toString()}`;
17
- b(c, { state: { mobileMenuList: d[s], roleId: n } });
18
- };
19
- B(() => {
20
- (async () => await S())();
21
- }, []);
22
- const S = async () => {
23
- try {
24
- const s = ((await H.getMobileMenuList()).data || []).map((l) => {
25
- const c = JSON.parse(l.configJson);
26
- let u = [];
27
- Object.values(c).forEach((t) => {
28
- let f = [];
29
- t.features && Array.isArray(t.features) ? f = t.features : t.layout && Array.isArray(t.layout) && (u.push(...J(t.layout)), f = t.layout.flatMap((o) => o.type === "SECTION" && o.features && Array.isArray(o.features) ? o.features : [])), f.forEach((o) => {
30
- o.menuName && !o.menus && u.push(o.menuName), o.menus && Array.isArray(o.menus) && o.menus.forEach((y) => {
31
- y.menuName && u.push(y.menuName);
32
- });
33
- });
34
- });
35
- const L = [...new Set(u)].join(", ");
36
- return {
37
- id: l.id,
38
- roleId: l.roleId,
39
- name: l.roleName,
40
- features: L,
41
- configJson: c
42
- };
43
- });
44
- x(s), p(s);
45
- } catch (r) {
46
- A({ message: r, type: "error" });
47
- }
48
- };
49
- return /* @__PURE__ */ e(h, { children: /* @__PURE__ */ i(q, { sx: { p: 3, backgroundColor: "background.default" }, children: [
50
- /* @__PURE__ */ i(h, { container: !0, sx: { justifyContent: "space-between", alignItems: "center", mb: 2 }, children: [
51
- /* @__PURE__ */ e(w, { variant: "h5", sx: { mb: 2, fontWeight: "bold" }, children: "Mobile Menu Management" }),
52
- /* @__PURE__ */ e(
53
- k,
54
- {
55
- size: "small",
56
- placeholder: "Search Role",
57
- variant: "outlined",
58
- value: C,
59
- onChange: (r) => {
60
- const n = r.target.value.toLowerCase();
61
- v(n), p(M.filter((s) => s.name.toLowerCase().includes(n)));
62
- },
63
- sx: { mb: 2, backgroundColor: "var(--color-background2)", borderRadius: 1 }
64
- }
65
- )
66
- ] }),
67
- /* @__PURE__ */ e(h, { sx: { justifyContent: "center", alignItems: "center", mb: 2 }, children: /* @__PURE__ */ e(
68
- F,
69
- {
70
- sx: { float: "right", mb: 2 },
71
- size: "small",
72
- variant: "contained",
73
- color: "success",
74
- onClick: () => {
75
- b("addMenuConfiguration");
76
- },
77
- children: "Add configuration"
78
- }
79
- ) }),
80
- /* @__PURE__ */ e(R, { component: j, elevation: 1, sx: { borderRadius: 2, maxHeight: 700 }, children: /* @__PURE__ */ i(E, { children: [
81
- /* @__PURE__ */ e(P, { children: /* @__PURE__ */ i(m, { sx: { backgroundColor: "#f2f2f2" }, children: [
82
- /* @__PURE__ */ e(a, { sx: { fontWeight: "bold" }, children: "Sr. No." }),
83
- /* @__PURE__ */ e(a, { sx: { fontWeight: "bold" }, children: "Role Name" }),
84
- /* @__PURE__ */ e(a, { sx: { fontWeight: "bold" }, children: "Features" }),
85
- /* @__PURE__ */ e(a, { align: "center", sx: { fontWeight: "bold" }, children: "Actions" })
86
- ] }) }),
87
- /* @__PURE__ */ i(I, { children: [
88
- d.map((r, n) => /* @__PURE__ */ i(
89
- m,
90
- {
91
- sx: {
92
- backgroundColor: n % 2 === 0 ? "#fff" : "var(--color-gray4)",
93
- "&:hover": { backgroundColor: "#e9f3ff" }
94
- },
95
- children: [
96
- /* @__PURE__ */ e(a, { children: n + 1 }),
97
- /* @__PURE__ */ e(a, { children: r.name }),
98
- /* @__PURE__ */ e(a, { children: r.features }),
99
- /* @__PURE__ */ e(a, { align: "center", children: /* @__PURE__ */ e(W, { color: "primary", onClick: () => N(r.id, r.roleId, n), children: /* @__PURE__ */ e(D, { iconName: "faPen", size: "sm" }) }) })
100
- ]
101
- },
102
- n
103
- )),
104
- d.length === 0 && /* @__PURE__ */ e(m, { children: /* @__PURE__ */ e(a, { colSpan: 4, align: "center", sx: { py: 4, color: "gray" }, children: "No roles found." }) })
105
- ] })
106
- ] }) })
107
- ] }) });
108
- }
109
- export {
110
- oe as default
111
- };
112
- //# sourceMappingURL=MobileMenuManagement-CVAKyKDa.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MobileMenuManagement-CVAKyKDa.js","sources":["../src/services/MobileMenuService.js","../src/views/MobileMenuManagement/MobileMenuManagement.jsx"],"sourcesContent":["import { api } from '@/common/interceptors/AxiosInterceptor';\n\nconst basePath = '/mobilemenu/v2';\n\nexport const MobileMenuService = {\n getMobileMenuList: () => api.get(basePath + '/list'),\n};\n","/**\n * @author Sanya Srivastava <ssrivastava@argusoft.com>\n * @date 2025-03-24 (Monday)\n */\n\nimport { MobileMenuService } from '../../services/MobileMenuService';\nimport { showToast } from '@/common/toaster/toaster';\nimport {\n Button,\n IconButton,\n Paper,\n Table,\n TableBody,\n TableCell,\n TableContainer,\n TableHead,\n TableRow,\n TextField,\n Typography,\n} from '@mui/material';\nimport Grid from '@mui/material/Grid2';\nimport { Box } from '@mui/system';\nimport React, { useEffect, useState } from 'react';\nimport { useNavigate } from 'react-router';\nimport FontAwesomeIcons from '@/common/fontAwesomeIcons/FontAwesomeIcons';\nimport { collectFeatureNamesFromLayout } from './dashboardLayoutUtils';\n\nexport default function MobileMenuManagement() {\n const [mobileMenuList, setMobileMenuList] = useState([]);\n const [searchText, setSearchText] = useState('');\n const [filteredList, setFilteredList] = useState([]);\n\n const navigate = useNavigate();\n\n const handleEdit = (id, roleId, index) => {\n const queryParams = new URLSearchParams({ id: id }).toString();\n const url = `addMenuConfiguration?${queryParams}`;\n navigate(url, { state: { mobileMenuList: filteredList[index], roleId: roleId } });\n };\n\n useEffect(() => {\n (async () => {\n await fetchMenuRelations();\n })();\n }, []);\n\n const fetchMenuRelations = async () => {\n try {\n const response = await MobileMenuService.getMobileMenuList();\n const menuData = response.data || [];\n const formattedData = menuData.map((item) => {\n const config = JSON.parse(item.configJson);\n let allFeatureNames = [];\n\n Object.values(config).forEach((tab) => {\n let topLevelItems = [];\n\n if (tab.features && Array.isArray(tab.features)) {\n topLevelItems = tab.features;\n } else if (tab.layout && Array.isArray(tab.layout)) {\n allFeatureNames.push(...collectFeatureNamesFromLayout(tab.layout));\n topLevelItems = tab.layout.flatMap((layoutItem) => {\n if (layoutItem.type === 'SECTION' && layoutItem.features && Array.isArray(layoutItem.features)) {\n return layoutItem.features;\n }\n return [];\n });\n }\n\n topLevelItems.forEach((item) => {\n if (item.menuName && !item.menus) {\n allFeatureNames.push(item.menuName);\n }\n\n if (item.menus && Array.isArray(item.menus)) {\n item.menus.forEach((menuItem) => {\n if (menuItem.menuName) {\n allFeatureNames.push(menuItem.menuName);\n }\n });\n }\n });\n });\n\n const uniqueNames = [...new Set(allFeatureNames)];\n const featureSummary = uniqueNames.join(', ');\n\n return {\n id: item.id,\n roleId: item.roleId,\n name: item.roleName,\n features: featureSummary,\n configJson: config,\n };\n });\n setMobileMenuList(formattedData);\n setFilteredList(formattedData);\n } catch (error) {\n showToast({ message: error, type: 'error' });\n }\n };\n\n const handleSearch = (e) => {\n const value = e.target.value.toLowerCase();\n setSearchText(value);\n setFilteredList(mobileMenuList.filter((item) => item.name.toLowerCase().includes(value)));\n };\n\n return (\n <Grid>\n <Box sx={{ p: 3, backgroundColor: 'background.default' }}>\n <Grid container sx={{ justifyContent: 'space-between', alignItems: 'center', mb: 2 }}>\n <Typography variant=\"h5\" sx={{ mb: 2, fontWeight: 'bold' }}>\n Mobile Menu Management\n </Typography>\n <TextField\n size=\"small\"\n placeholder=\"Search Role\"\n variant=\"outlined\"\n value={searchText}\n onChange={handleSearch}\n sx={{ mb: 2, backgroundColor: 'var(--color-background2)', borderRadius: 1 }}\n />\n </Grid>\n\n <Grid sx={{ justifyContent: 'center', alignItems: 'center', mb: 2 }}>\n <Button\n sx={{ float: 'right', mb: 2 }}\n size=\"small\"\n variant=\"contained\"\n color=\"success\"\n onClick={() => {\n navigate('addMenuConfiguration');\n }}\n >\n Add configuration\n </Button>\n </Grid>\n\n <TableContainer component={Paper} elevation={1} sx={{ borderRadius: 2, maxHeight: 700 }}>\n <Table>\n <TableHead>\n <TableRow sx={{ backgroundColor: '#f2f2f2' }}>\n <TableCell sx={{ fontWeight: 'bold' }}>Sr. No.</TableCell>\n <TableCell sx={{ fontWeight: 'bold' }}>Role Name</TableCell>\n <TableCell sx={{ fontWeight: 'bold' }}>Features</TableCell>\n <TableCell align=\"center\" sx={{ fontWeight: 'bold' }}>\n Actions\n </TableCell>\n </TableRow>\n </TableHead>\n <TableBody>\n {filteredList.map((item, index) => (\n <TableRow\n key={index}\n sx={{\n backgroundColor: index % 2 === 0 ? '#fff' : 'var(--color-gray4)',\n '&:hover': { backgroundColor: '#e9f3ff' },\n }}\n >\n <TableCell>{index + 1}</TableCell>\n <TableCell>{item.name}</TableCell>\n <TableCell>{item.features}</TableCell>\n <TableCell align=\"center\">\n <IconButton color=\"primary\" onClick={() => handleEdit(item.id, item.roleId, index)}>\n <FontAwesomeIcons iconName=\"faPen\" size=\"sm\" />\n </IconButton>\n </TableCell>\n </TableRow>\n ))}\n {filteredList.length === 0 && (\n <TableRow>\n <TableCell colSpan={4} align=\"center\" sx={{ py: 4, color: 'gray' }}>\n No roles found.\n </TableCell>\n </TableRow>\n )}\n </TableBody>\n </Table>\n </TableContainer>\n </Box>\n </Grid>\n );\n}\n"],"names":["basePath","MobileMenuService","api","MobileMenuManagement","mobileMenuList","setMobileMenuList","useState","searchText","setSearchText","filteredList","setFilteredList","navigate","useNavigate","handleEdit","id","roleId","index","url","useEffect","fetchMenuRelations","formattedData","item","config","allFeatureNames","tab","topLevelItems","collectFeatureNamesFromLayout","layoutItem","menuItem","featureSummary","error","showToast","jsx","Grid","jsxs","Box","Typography","TextField","e","value","Button","TableContainer","Paper","Table","TableHead","TableRow","TableCell","TableBody","IconButton","FontAwesomeIcons"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"MobileTypeEventConfigModal-BxLympIO.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 \"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,244 +0,0 @@
1
- import { jsx as l, jsxs as v } from "react/jsx-runtime";
2
- import { useTranslateProvider as S } from "@/common/languageTranslator/TranslationContext";
3
- import { showToast as M } from "@/common/toaster/toaster";
4
- import U from "@/hooks/useTrackEvent";
5
- import { faXmark as W } from "@fortawesome/free-solid-svg-icons";
6
- import { FontAwesomeIcon as z } from "@fortawesome/react-fontawesome";
7
- import { Modal as H, Typography as C, IconButton as Q, TextField as V, Stack as $, Button as h } from "@mui/material";
8
- import y from "@mui/material/Grid2";
9
- import E from "prop-types";
10
- import "react";
11
- import { useSelector as D } from "react-redux";
12
- function P({
13
- open: F,
14
- handleClose: a,
15
- data: i,
16
- roleData: t
17
- }) {
18
- var b, g, w, T, A, x;
19
- const { user: n } = D((r) => r.Authenticate), { translate: m } = S();
20
- let e = "";
21
- if (e = "", e += "begin;", e += `
22
- `, e += "DO $$", e += `
23
- `, e += "DECLARE", e += `
24
- `, e += "var_notification_type_id integer;", e += `
25
- `, e += "var_escalation_level_id integer;", e += `
26
- `, e += "old_notification_type_id integer;", e += `
27
- `, e += "old_escalation_level_id integer;", e += `
28
- `, e += "BEGIN", e += `
29
- `, i.code !== null || i.code !== void 0) {
30
- e += "DELETE FROM notification_type_master WHERE code = '" + i.code + "'returning id into old_notification_type_id;", e += `
31
- `, e += `
32
- `, 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 += `
33
- `, 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 += "'" + ((b = i == null ? void 0 : i.dataQuery) == null ? void 0 : b.replace(/'/g, "''")) + "'," : e += "null,", i.actionQuery !== null ? e += "'" + ((g = i == null ? void 0 : i.actionQuery) == null ? void 0 : g.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 + "," : (() => {
34
- let o;
35
- return i.urlBasedAction === !1 ? o = "false," : o = "null,", o;
36
- })(), i.url !== null ? e += "'" + i.url + "'," : e += "null,", e += i.modalBasedAction ? i.modalBasedAction + "," : (() => {
37
- let o;
38
- return i.modalBasedAction === !1 ? o = "false," : o = "null,", o;
39
- })(), 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 += `
40
- `, e += `
41
- `, e += "DELETE FROM notification_type_role_rel WHERE notification_type_id = old_notification_type_id;", e += `
42
- `, e += `
43
- `, e += "INSERT INTO notification_type_role_rel (notification_type_id, role_id)", e += `
44
- `, e += "SELECT var_notification_type_id, id", e += `
45
- `, e += "FROM um_role_master", e += `
46
- `, e += "WHERE name IN (";
47
- let r = (w = i.roles) == null ? void 0 : w.length, _ = 0;
48
- if (((T = i.roles) == null ? void 0 : T.length) > 0)
49
- i.roles.forEach((o) => {
50
- var c;
51
- _ += 1, ((c = t.find((u) => u.id === o)) == null ? void 0 : c.name) != null && (e += "'" + t.find((u) => u.id === o).name + "' "), _ === r ? e += ");" : e += ",", e += `
52
- `;
53
- });
54
- else {
55
- _ += 1;
56
- const o = ((A = t == null ? void 0 : t.find((c) => c.id === (i == null ? void 0 : i.roleId))) == null ? void 0 : A.name) ?? null;
57
- e += o ? `'${o}'` : "'null'", e += ");", e += `
58
- `;
59
- }
60
- ((x = i.escalationLevels) == null ? void 0 : x.length) > 0 && i.escalationLevels.forEach((o) => {
61
- var u, N, R, L, I, k;
62
- let c = !1;
63
- if (e += `
64
- `, e += "DELETE FROM escalation_level_master WHERE uuid = '" + o.uuid + "' returning id into old_escalation_level_id;", e += `
65
- `, e += `
66
- `, 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 += `
67
- `, e += `
68
- `, e += "DELETE FROM escalation_level_role_rel WHERE escalation_level_id = old_escalation_level_id ;", e += `
69
- `, e += `
70
- `, o.performAction != null && ((u = Object.keys(o.performAction)) == null ? void 0 : u.length) > 0) {
71
- for (const p in o.performAction)
72
- if (((N = t.find((d) => d.id === p)) == null ? void 0 : N.name) != null) {
73
- c = !0;
74
- break;
75
- }
76
- }
77
- if (c) {
78
- e += "INSERT INTO escalation_level_role_rel (escalation_level_id, role_id, can_perform_action)", e += `
79
- `, e += "SELECT var_escalation_level_id, id, ";
80
- let p = (R = Object.keys(o.performAction)) == null ? void 0 : R.length;
81
- e += `
82
- `, e += "CASE", e += `
83
- `;
84
- let d = 0;
85
- for (const f in o.performAction)
86
- d++, ((L = t.find((s) => s.id === f)) == null ? void 0 : L.name) != null && (e += "WHEN um_role_master.name = '" + ((I = t.find((s) => s.id === f)) == null ? void 0 : I.name) + "' THEN " + o.performAction[f]), d === p && (e += `
87
- `, e += "ELSE false", e += `
88
- `, e += "END"), e += `
89
- `;
90
- d = 0, e += "FROM um_role_master", e += `
91
- `, e += "WHERE name IN (";
92
- for (const f in o.performAction)
93
- d++, ((k = t.find((s) => s.id === f)) == null ? void 0 : k.name) !== void 0 && (e += "'" + t.find((s) => s.id === f).name + "' "), d === p ? e += ");" : e += ",", e += `
94
- `;
95
- }
96
- }), e += "END $$;", e += `
97
- `, e += "commit;";
98
- }
99
- const O = U(), q = () => {
100
- const r = new Blob([e], { type: "text/plain" }), _ = (r.size / 1024).toFixed(2), o = document.createElement("a");
101
- o.href = URL.createObjectURL(r), o.download = "V" + (/* @__PURE__ */ new Date()).getTime() + "__CREATED_OR_UPDATED_feature_.sql", document.body.appendChild(o), o.click(), O("file_download", {
102
- file_type: "sql",
103
- file_name: o.download,
104
- file_size: `${_} KB`,
105
- download_status: "success"
106
- }), document.body.removeChild(o), a();
107
- }, B = () => {
108
- navigator.clipboard.writeText(e).then(
109
- () => {
110
- M({
111
- message: "Query copied",
112
- type: "success"
113
- });
114
- },
115
- (r) => {
116
- console.error("Could not copy text: ", r);
117
- }
118
- ), a();
119
- };
120
- return /* @__PURE__ */ l(
121
- H,
122
- {
123
- "data-testid": "notification-flywayquery-modal",
124
- open: F,
125
- onClose: a,
126
- sx: {
127
- "& .MuiBackdrop-root": {
128
- backgroundColor: "rgba(0, 0, 0, 0.1)"
129
- }
130
- },
131
- children: /* @__PURE__ */ v(
132
- y,
133
- {
134
- container: !0,
135
- sx: {
136
- position: "absolute",
137
- top: "10%",
138
- left: "50%",
139
- transform: "translateX(-50%)",
140
- width: "100%",
141
- bgcolor: "background.paper",
142
- boxShadow: 24,
143
- maxWidth: 900,
144
- display: "flex",
145
- flexDirection: "column"
146
- },
147
- children: [
148
- /* @__PURE__ */ v(y, { className: "p-2.5 px-5 flex justify-between border-b", children: [
149
- /* @__PURE__ */ l(C, { variant: "body1", className: "font-medium text-lg text-customBlue", children: m("Flyway Query") }),
150
- /* @__PURE__ */ l(
151
- Q,
152
- {
153
- size: "small",
154
- onClick: a,
155
- "data-testid": "notification-flywayquery-close-button",
156
- children: /* @__PURE__ */ l(z, { icon: W })
157
- }
158
- )
159
- ] }),
160
- /* @__PURE__ */ l(y, { className: "border-b border-gray-300 p-[10px]", children: /* @__PURE__ */ l(
161
- V,
162
- {
163
- multiline: !0,
164
- rows: 10,
165
- variant: "outlined",
166
- fullWidth: !0,
167
- value: e,
168
- sx: {
169
- "& .MuiInputBase-input": {
170
- fontSize: "14px"
171
- },
172
- "& .MuiOutlinedInput-root": {
173
- borderRadius: "5px"
174
- }
175
- },
176
- slotProps: {
177
- input: {
178
- readOnly: !0
179
- }
180
- },
181
- "data-testid": "shownotification-flywayquery-textfield-query-display"
182
- }
183
- ) }),
184
- /* @__PURE__ */ l(y, { className: "border-b border-gray-300 pr-[10px] pb-[1px]", children: /* @__PURE__ */ v(
185
- $,
186
- {
187
- direction: "row",
188
- spacing: 2,
189
- justifyContent: "flex-end",
190
- mt: 1,
191
- mb: 1,
192
- children: [
193
- /* @__PURE__ */ l(
194
- h,
195
- {
196
- "data-testid": "notification-flywayquery-download-button",
197
- variant: "contained",
198
- color: "primary",
199
- size: "small",
200
- onClick: q,
201
- children: m("Download")
202
- }
203
- ),
204
- /* @__PURE__ */ l(
205
- h,
206
- {
207
- "data-testid": "notification-flywayquery-copy-button",
208
- variant: "contained",
209
- color: "primary",
210
- size: "small",
211
- onClick: B,
212
- children: m("Copy Query")
213
- }
214
- ),
215
- /* @__PURE__ */ l(
216
- h,
217
- {
218
- "data-testid": "notification-flywayquery-close-button-action",
219
- variant: "contained",
220
- color: "secondary",
221
- size: "small",
222
- onClick: a,
223
- children: /* @__PURE__ */ l(C, { variant: "body2", children: m("Close") })
224
- }
225
- )
226
- ]
227
- }
228
- ) })
229
- ]
230
- }
231
- )
232
- }
233
- );
234
- }
235
- P.propTypes = {
236
- open: E.any,
237
- handleClose: E.any,
238
- data: E.any,
239
- roleData: E.any
240
- };
241
- export {
242
- P as default
243
- };
244
- //# sourceMappingURL=NotificationFlywayQuery-BY8Zzml_.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"NotificationFlywayQuery-BY8Zzml_.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 { faXmark } from \"@fortawesome/free-solid-svg-icons\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport {\n Button,\n IconButton,\n Modal,\n Stack,\n TextField,\n Typography,\n} from \"@mui/material\";\nimport Grid from \"@mui/material/Grid2\";\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 <Modal\n data-testid=\"notification-flywayquery-modal\"\n open={open}\n onClose={handleClose}\n sx={{\n \"& .MuiBackdrop-root\": {\n backgroundColor: \"rgba(0, 0, 0, 0.1)\",\n },\n }}\n >\n <Grid\n container\n sx={{\n position: \"absolute\",\n top: \"10%\",\n left: \"50%\",\n transform: \"translateX(-50%)\",\n width: \"100%\",\n bgcolor: \"background.paper\",\n boxShadow: 24,\n maxWidth: 900,\n display: \"flex\",\n flexDirection: \"column\",\n }}\n >\n <Grid className=\"p-2.5 px-5 flex justify-between border-b\">\n <Typography variant=\"body1\" className=\"font-medium text-lg text-customBlue\">\n {translate(\"Flyway Query\")}\n </Typography>\n <IconButton\n size=\"small\"\n onClick={handleClose}\n data-testid=\"notification-flywayquery-close-button\"\n >\n <FontAwesomeIcon icon={faXmark} />\n </IconButton>\n </Grid>\n <Grid className=\"border-b border-gray-300 p-[10px]\">\n <TextField\n multiline\n rows={10}\n variant=\"outlined\"\n fullWidth\n value={queryText}\n sx={{\n \"& .MuiInputBase-input\": {\n fontSize: \"14px\",\n },\n \"& .MuiOutlinedInput-root\": {\n borderRadius: \"5px\",\n },\n }}\n slotProps={{\n input: {\n readOnly: true,\n },\n }}\n data-testid=\"shownotification-flywayquery-textfield-query-display\"\n />\n </Grid>\n <Grid className=\"border-b border-gray-300 pr-[10px] pb-[1px]\">\n <Stack\n direction=\"row\"\n spacing={2}\n justifyContent=\"flex-end\"\n mt={1}\n mb={1}\n >\n <Button\n data-testid=\"notification-flywayquery-download-button\"\n variant=\"contained\"\n color=\"primary\"\n size=\"small\"\n onClick={handleDownload}\n >\n {translate(\"Download\")}\n </Button>\n <Button\n data-testid=\"notification-flywayquery-copy-button\"\n variant=\"contained\"\n color=\"primary\"\n size=\"small\"\n onClick={handleCopy}\n >\n {translate(\"Copy Query\")}\n </Button>\n <Button\n data-testid=\"notification-flywayquery-close-button-action\"\n variant=\"contained\"\n color=\"secondary\"\n size=\"small\"\n onClick={handleClose}\n >\n <Typography variant=\"body2\">{translate(\"Close\")}</Typography>\n </Button>\n </Stack>\n </Grid>\n </Grid>\n </Modal>\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","jsx","Modal","jsxs","Grid","Typography","IconButton","FontAwesomeIcon","faXmark","TextField","Stack","Button","PropTypes"],"mappings":"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"}