@argusoft/medplat-core 1.0.0

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 (113) hide show
  1. package/dist/AccessRights-sgIhYR30.js +1238 -0
  2. package/dist/AccessRights-sgIhYR30.js.map +1 -0
  3. package/dist/AddEditQueryBuilder-BaZxS2Cm.js +289 -0
  4. package/dist/AddEditQueryBuilder-BaZxS2Cm.js.map +1 -0
  5. package/dist/AddEditQueryBuilder.css +1 -0
  6. package/dist/AddFeatures-BxXCC6ex.js +212 -0
  7. package/dist/AddFeatures-BxXCC6ex.js.map +1 -0
  8. package/dist/AddLabelModal-DE3ploGD.js +734 -0
  9. package/dist/AddLabelModal-DE3ploGD.js.map +1 -0
  10. package/dist/AddMenuConfiguration-QWfpcnuP.js +2237 -0
  11. package/dist/AddMenuConfiguration-QWfpcnuP.js.map +1 -0
  12. package/dist/AddMenuConfiguration.css +1 -0
  13. package/dist/AddRoleDrawer-ZK1eejxI.js +453 -0
  14. package/dist/AddRoleDrawer-ZK1eejxI.js.map +1 -0
  15. package/dist/AppModal-BgZyfrd-.js +428 -0
  16. package/dist/AppModal-BgZyfrd-.js.map +1 -0
  17. package/dist/ChangePasswordModal-MV7g8tkA.js +176 -0
  18. package/dist/ChangePasswordModal-MV7g8tkA.js.map +1 -0
  19. package/dist/ConditionConfig-BqWe0NKO.js +395 -0
  20. package/dist/ConditionConfig-BqWe0NKO.js.map +1 -0
  21. package/dist/ConditionConfig.css +1 -0
  22. package/dist/EntityManagement-D-x6Qzal.js +50 -0
  23. package/dist/EntityManagement-D-x6Qzal.js.map +1 -0
  24. package/dist/EventConfigurations-jGCJ4LqP.js +384 -0
  25. package/dist/EventConfigurations-jGCJ4LqP.js.map +1 -0
  26. package/dist/EventConfigurations.css +1 -0
  27. package/dist/EventsExceptionModal-BF6E1Np7.js +200 -0
  28. package/dist/EventsExceptionModal-BF6E1Np7.js.map +1 -0
  29. package/dist/EventsSkeleton-BN7_0IGs.js +74 -0
  30. package/dist/EventsSkeleton-BN7_0IGs.js.map +1 -0
  31. package/dist/FeatureMenu-BYSRoNm0.js +249 -0
  32. package/dist/FeatureMenu-BYSRoNm0.js.map +1 -0
  33. package/dist/Features-CKMmuqcs.js +11 -0
  34. package/dist/Features-CKMmuqcs.js.map +1 -0
  35. package/dist/FlywayQuery-Cx2sly6g.js +169 -0
  36. package/dist/FlywayQuery-Cx2sly6g.js.map +1 -0
  37. package/dist/ImmunizationConfigurationBase-CdCgDaAl.js +5299 -0
  38. package/dist/ImmunizationConfigurationBase-CdCgDaAl.js.map +1 -0
  39. package/dist/ImmunizationConfigurationBase.css +1 -0
  40. package/dist/ImmunizationConfigurationsList-CQnxWa09.js +335 -0
  41. package/dist/ImmunizationConfigurationsList-CQnxWa09.js.map +1 -0
  42. package/dist/ImmunizationSkeleton-D2tdv5k-.js +186 -0
  43. package/dist/ImmunizationSkeleton-D2tdv5k-.js.map +1 -0
  44. package/dist/LanguagesModal-rk6IGQwY.js +394 -0
  45. package/dist/LanguagesModal-rk6IGQwY.js.map +1 -0
  46. package/dist/ManageDynamicFeature-CeeqiS3K.js +4189 -0
  47. package/dist/ManageDynamicFeature-CeeqiS3K.js.map +1 -0
  48. package/dist/ManageEventConfiguration-BRXh51fc.js +1017 -0
  49. package/dist/ManageEventConfiguration-BRXh51fc.js.map +1 -0
  50. package/dist/ManageEventConfiguration.css +1 -0
  51. package/dist/ManageNotification-B4prX-9Z.js +6819 -0
  52. package/dist/ManageNotification-B4prX-9Z.js.map +1 -0
  53. package/dist/ManageRole-ByqBmjuc.js +699 -0
  54. package/dist/ManageRole-ByqBmjuc.js.map +1 -0
  55. package/dist/ManageTranslation-BTxvSYKb.js +616 -0
  56. package/dist/ManageTranslation-BTxvSYKb.js.map +1 -0
  57. package/dist/ManageTranslation.css +1 -0
  58. package/dist/ManageUser-PHiTNyF8.js +2160 -0
  59. package/dist/ManageUser-PHiTNyF8.js.map +1 -0
  60. package/dist/ManageUser.css +1 -0
  61. package/dist/MobileMenuManagement-DmQU5TTo.js +108 -0
  62. package/dist/MobileMenuManagement-DmQU5TTo.js.map +1 -0
  63. package/dist/MobileTypeEventConfigModal-BCp-SF4-.js +783 -0
  64. package/dist/MobileTypeEventConfigModal-BCp-SF4-.js.map +1 -0
  65. package/dist/NewServerManagement-5YcAtF-g.js +1002 -0
  66. package/dist/NewServerManagement-5YcAtF-g.js.map +1 -0
  67. package/dist/NotificationFlywayQuery-BY8Zzml_.js +244 -0
  68. package/dist/NotificationFlywayQuery-BY8Zzml_.js.map +1 -0
  69. package/dist/NotificationList-BkpOrCpM.js +400 -0
  70. package/dist/NotificationList-BkpOrCpM.js.map +1 -0
  71. package/dist/OtherTypeEventConfigModal-DPB8IYzj.js +2001 -0
  72. package/dist/OtherTypeEventConfigModal-DPB8IYzj.js.map +1 -0
  73. package/dist/QueryBuilder-Cus_mRwZ.js +378 -0
  74. package/dist/QueryBuilder-Cus_mRwZ.js.map +1 -0
  75. package/dist/QueryBuilder.css +1 -0
  76. package/dist/QueryManagement-DXA73N2j.js +671 -0
  77. package/dist/QueryManagement-DXA73N2j.js.map +1 -0
  78. package/dist/QueryManagement.css +1 -0
  79. package/dist/RoleManagement-CLaEJ90J.js +410 -0
  80. package/dist/RoleManagement-CLaEJ90J.js.map +1 -0
  81. package/dist/ServerSyncModal-uNjGCQJz.js +869 -0
  82. package/dist/ServerSyncModal-uNjGCQJz.js.map +1 -0
  83. package/dist/ShowFlywayQuery-DMsAbtOW.js +130 -0
  84. package/dist/ShowFlywayQuery-DMsAbtOW.js.map +1 -0
  85. package/dist/ShowFlywayQuery-DVRCd384.js +259 -0
  86. package/dist/ShowFlywayQuery-DVRCd384.js.map +1 -0
  87. package/dist/ShowQueryHistory-BDN0tzHg.js +190 -0
  88. package/dist/ShowQueryHistory-BDN0tzHg.js.map +1 -0
  89. package/dist/SubMenu-BHcSNSUF.js +187 -0
  90. package/dist/SubMenu-BHcSNSUF.js.map +1 -0
  91. package/dist/TableDetails-DzREeJkm.js +1508 -0
  92. package/dist/TableDetails-DzREeJkm.js.map +1 -0
  93. package/dist/TableList-B9hr05Hs.js +428 -0
  94. package/dist/TableList-B9hr05Hs.js.map +1 -0
  95. package/dist/TypeConfiguration-BYM8PjV9.js +117 -0
  96. package/dist/TypeConfiguration-BYM8PjV9.js.map +1 -0
  97. package/dist/UserList-BxB1tCwM.js +13042 -0
  98. package/dist/UserList-BxB1tCwM.js.map +1 -0
  99. package/dist/UserList.css +1 -0
  100. package/dist/UserListSkeleton-cglK2SaU.js +184 -0
  101. package/dist/UserListSkeleton-cglK2SaU.js.map +1 -0
  102. package/dist/WidgetList-BSApErov.js +188 -0
  103. package/dist/WidgetList-BSApErov.js.map +1 -0
  104. package/dist/_commonjsHelpers-BItOPCY9.js +29 -0
  105. package/dist/_commonjsHelpers-BItOPCY9.js.map +1 -0
  106. package/dist/i18next-CTOWN_jH.js +1394 -0
  107. package/dist/i18next-CTOWN_jH.js.map +1 -0
  108. package/dist/index.js +481 -0
  109. package/dist/index.js.map +1 -0
  110. package/dist/manageImmunization-B4swS745.js +1204 -0
  111. package/dist/manageImmunization-B4swS745.js.map +1 -0
  112. package/dist/manageImmunization.css +1 -0
  113. package/package.json +79 -0
@@ -0,0 +1,428 @@
1
+ import { jsx as t, jsxs as i } from "react/jsx-runtime";
2
+ import { useRef as ce, useState as l, useEffect as _ } from "react";
3
+ import n from "prop-types";
4
+ import { useForm as pe } from "react-hook-form";
5
+ import { yupResolver as de } from "@hookform/resolvers/yup";
6
+ import a from "@mui/material/Grid2";
7
+ import * as v from "yup";
8
+ import { Modal as me, Typography as ue, IconButton as fe, Button as x, FormControl as B, Box as r } from "@mui/material";
9
+ import D from "@/views/custom-components/CustomTextField";
10
+ import { showToast as d } from "@/common/toaster/toaster";
11
+ import { g as he, A as ye, u as F, c as ge } from "./ManageTranslation-BTxvSYKb.js";
12
+ import be from "@/views/custom-components/CustomConfirmationModal";
13
+ import ve from "@/hooks/useTrackEvent";
14
+ import { useTranslateProvider as xe } from "@/common/languageTranslator/TranslationContext";
15
+ import { faXmark as Ae, faPen as Ce, faBars as Se } from "@fortawesome/free-solid-svg-icons";
16
+ import { FontAwesomeIcon as A } from "@fortawesome/react-fontawesome";
17
+ import ke from "@/views/custom-components/CustomizedTable/CustomizedTableV2";
18
+ const we = ({
19
+ open: K,
20
+ handleClose: L,
21
+ languages: h,
22
+ refresh: C,
23
+ refetch: S,
24
+ selectedApp: O,
25
+ setSelectedApp: R
26
+ }) => {
27
+ const k = ce(null), y = ve(), [W, P] = l([]), [p, X] = l([]), [w, m] = l(!1), [q, T] = l(!1), { translate: s } = xe(), [H, g] = l(!1), [G, U] = l(""), [Y, J] = l(""), [c, Q] = l({}), [I, N] = l(!1), Z = v.object().shape({
28
+ appValue: v.string().required("Select App Value"),
29
+ appKey: v.string().required("Enter App key")
30
+ }), {
31
+ control: V,
32
+ handleSubmit: $,
33
+ reset: E,
34
+ setValue: u,
35
+ formState: { errors: M }
36
+ } = pe({
37
+ defaultValues: {},
38
+ resolver: de(Z),
39
+ mode: "onChange"
40
+ }), ee = [
41
+ { field: "Sr. No.", label: "Sr.No", align: "left" },
42
+ { field: "appValue", label: "App", align: "left" },
43
+ { field: "stateValue", label: "State", align: "left" },
44
+ { field: "Actions", label: "Actions" }
45
+ ], te = (e) => {
46
+ u("appKey", e == null ? void 0 : e.appKey), u("appValue", e == null ? void 0 : e.appValue), u("id", e == null ? void 0 : e.id), u("isActive", e == null ? void 0 : e.isActive), T(!0), m(!0);
47
+ }, ae = (e) => {
48
+ U(
49
+ (e == null ? void 0 : e.stateValue) === "Active" ? "Mark as Inactive" : "Mark as Active"
50
+ ), J(
51
+ (e == null ? void 0 : e.stateValue) === "Active" ? "Are you sure you want to change the state from active to inactive?" : "Are you sure you want to change the state from inactive to active?"
52
+ ), Q(e);
53
+ }, oe = () => {
54
+ g((e) => !e);
55
+ }, ie = async () => {
56
+ try {
57
+ c.isActive = !c.isActive, await F(c), b(), O === (c == null ? void 0 : c.id) && R(null), await C(), S(), g((e) => !e);
58
+ } catch (e) {
59
+ console.error(e), d({ message: "Error in Toggle State", type: "error" });
60
+ }
61
+ }, se = [
62
+ { label: s(G), onClick: oe }
63
+ ], le = [
64
+ {
65
+ label: "",
66
+ icon: /* @__PURE__ */ t(A, { icon: Ce }),
67
+ onClick: te,
68
+ dataTestId: "app-modal-edit-icon"
69
+ },
70
+ {
71
+ label: "",
72
+ icon: /* @__PURE__ */ t(A, { icon: Se }),
73
+ menuClick: ae,
74
+ menuItems: se,
75
+ dataTestId: "app-modal-menu-icon"
76
+ }
77
+ ], ne = () => {
78
+ E(), T(!1), m(!0);
79
+ };
80
+ _(() => {
81
+ if (p) {
82
+ const e = [];
83
+ p == null || p.forEach((o) => {
84
+ let f = { ...o };
85
+ o != null && o.isActive ? f.stateValue = "Active" : f.stateValue = "Inactive", h == null || h.forEach((z) => {
86
+ o.language === z.id && (f.languagevalue = z.languageValue);
87
+ }), e.push(f);
88
+ }), P(e);
89
+ }
90
+ }, [p]), _(() => {
91
+ b();
92
+ }, []);
93
+ const b = async () => {
94
+ N((e) => !e);
95
+ try {
96
+ const e = await he();
97
+ X(e == null ? void 0 : e.data);
98
+ } catch (e) {
99
+ console.error(e), d({ message: "Error in loading apps", type: "error" });
100
+ } finally {
101
+ N((e) => !e);
102
+ }
103
+ }, j = () => {
104
+ L();
105
+ }, re = async (e) => {
106
+ try {
107
+ y("button_click", {
108
+ button_name: "add-app-add-button",
109
+ button_type: "submit",
110
+ button_id: "add-app-submit-button"
111
+ });
112
+ let o = { ...e };
113
+ q ? (await F(o), d({ message: "App Updated Succesfully", type: "success" })) : (o.isActive = !0, await ge(o), d({ message: "App added Succesfully", type: "success" })), y("conversion_event", {
114
+ form: k.current,
115
+ form_name: "Add app Configuration",
116
+ submit: !0
117
+ }), b(), await C(), S(), m(!1);
118
+ } catch (o) {
119
+ console.error(o), d({ message: "Error in Adding App", type: "error" });
120
+ }
121
+ };
122
+ return /* @__PURE__ */ t(
123
+ me,
124
+ {
125
+ "data-testid": "appModal-modal",
126
+ open: K,
127
+ onClose: () => {
128
+ j(), E();
129
+ },
130
+ className: "translation-modal",
131
+ children: /* @__PURE__ */ i(
132
+ a,
133
+ {
134
+ container: !0,
135
+ sx: {
136
+ display: "flex",
137
+ flexDirection: "column",
138
+ position: "absolute",
139
+ top: 20,
140
+ left: "50%",
141
+ transform: "translateX(-50%)",
142
+ width: "95%",
143
+ maxW: "100%",
144
+ maxWidth: { sm: 600, md: 700, lg: 800 },
145
+ bgcolor: "background.paper",
146
+ boxShadow: 24,
147
+ border: 1,
148
+ borderColor: "divider",
149
+ borderRadius: 0.5
150
+ },
151
+ children: [
152
+ /* @__PURE__ */ t(
153
+ be,
154
+ {
155
+ description: Y,
156
+ title: "CONFIRM ACTION",
157
+ handleClick: ie,
158
+ open: H,
159
+ handleClose: () => {
160
+ g((e) => !e);
161
+ },
162
+ "data-testid": "app-modal-customconfirmation"
163
+ }
164
+ ),
165
+ /* @__PURE__ */ i(
166
+ a,
167
+ {
168
+ sx: {
169
+ p: 1.25,
170
+ px: 3,
171
+ display: "flex",
172
+ justifyContent: "space-between",
173
+ alignItems: "center",
174
+ borderBottom: 1,
175
+ borderColor: "divider",
176
+ flexWrap: "wrap",
177
+ gap: 1
178
+ },
179
+ "data-testid": "appModal-header",
180
+ children: [
181
+ /* @__PURE__ */ t(
182
+ ue,
183
+ {
184
+ variant: "body1",
185
+ className: "text-customBlue",
186
+ sx: { fontWeight: "medium", fontSize: "1.125rem" },
187
+ children: s("Manage Apps")
188
+ }
189
+ ),
190
+ /* @__PURE__ */ t(
191
+ fe,
192
+ {
193
+ size: "small",
194
+ onClick: () => {
195
+ j();
196
+ },
197
+ "data-testid": "appModal-close-button",
198
+ children: /* @__PURE__ */ t(A, { icon: Ae })
199
+ }
200
+ )
201
+ ]
202
+ }
203
+ ),
204
+ /* @__PURE__ */ t(
205
+ a,
206
+ {
207
+ item: !0,
208
+ sx: {
209
+ overflowY: "auto",
210
+ maxHeight: "80vh",
211
+ width: "100%",
212
+ overflowX: "auto"
213
+ },
214
+ children: /* @__PURE__ */ t(
215
+ a,
216
+ {
217
+ sx: {
218
+ p: 1.25,
219
+ px: 3,
220
+ display: "flex",
221
+ justifyContent: "space-between",
222
+ alignItems: "center",
223
+ borderBottom: 1,
224
+ borderColor: "divider",
225
+ flexWrap: "wrap",
226
+ gap: 1
227
+ },
228
+ children: /* @__PURE__ */ i(a, { item: !0, className: "w-full", children: [
229
+ !w && /* @__PURE__ */ t(a, { container: !0, justifyContent: "flex-end", className: "pb-[10px]", children: /* @__PURE__ */ t(ye, { isLoading: I, children: /* @__PURE__ */ t(a, { item: !0, children: /* @__PURE__ */ i(
230
+ x,
231
+ {
232
+ size: "small",
233
+ variant: "contained",
234
+ "data-testid": "add-app-button",
235
+ color: "primary",
236
+ onClick: ne,
237
+ children: [
238
+ s("Add"),
239
+ " ",
240
+ s("App")
241
+ ]
242
+ }
243
+ ) }) }) }),
244
+ w && /* @__PURE__ */ t(a, { container: !0, justifyContent: "flex-start", sx: { pb: 1.25 }, children: /* @__PURE__ */ i("form", { onSubmit: $(re), className: "w-full", children: [
245
+ /* @__PURE__ */ t(a, { item: !0, className: "pb-[5px]", children: /* @__PURE__ */ t(
246
+ B,
247
+ {
248
+ variant: "outlined",
249
+ className: "w-full",
250
+ "data-testid": "app-value-field",
251
+ children: /* @__PURE__ */ i(
252
+ r,
253
+ {
254
+ sx: {
255
+ display: "flex",
256
+ alignItems: "center",
257
+ gap: 2,
258
+ mb: 1,
259
+ width: "100%"
260
+ },
261
+ children: [
262
+ /* @__PURE__ */ i(r, { sx: { width: "100%" }, children: [
263
+ s("App"),
264
+ /* @__PURE__ */ t(
265
+ r,
266
+ {
267
+ component: "span",
268
+ sx: { color: "error.main", ml: 0.5 },
269
+ children: "*"
270
+ }
271
+ )
272
+ ] }),
273
+ /* @__PURE__ */ t(
274
+ D,
275
+ {
276
+ control: V,
277
+ id: "appValue",
278
+ name: "appValue",
279
+ errors: M,
280
+ label: "",
281
+ size: "small",
282
+ className: "w-full",
283
+ "data-testid": "app-value-input"
284
+ }
285
+ )
286
+ ]
287
+ }
288
+ )
289
+ }
290
+ ) }),
291
+ /* @__PURE__ */ t(a, { item: !0, className: "pb-[5px]", children: /* @__PURE__ */ t(
292
+ B,
293
+ {
294
+ variant: "outlined",
295
+ className: "w-full",
296
+ "data-testid": "app-key-field",
297
+ children: /* @__PURE__ */ i(
298
+ r,
299
+ {
300
+ sx: {
301
+ display: "flex",
302
+ alignItems: "center",
303
+ gap: 2,
304
+ mb: 1,
305
+ width: "100%"
306
+ },
307
+ children: [
308
+ /* @__PURE__ */ i(r, { sx: { width: "100%" }, children: [
309
+ s("App"),
310
+ " ",
311
+ s("Key"),
312
+ /* @__PURE__ */ t(
313
+ r,
314
+ {
315
+ component: "span",
316
+ sx: { color: "error.main", ml: 0.5 },
317
+ children: "*"
318
+ }
319
+ )
320
+ ] }),
321
+ /* @__PURE__ */ t(
322
+ D,
323
+ {
324
+ control: V,
325
+ id: "appKey",
326
+ name: "appKey",
327
+ errors: M,
328
+ label: "",
329
+ size: "small",
330
+ className: "w-full",
331
+ "data-testid": "app-key-input"
332
+ }
333
+ )
334
+ ]
335
+ }
336
+ )
337
+ }
338
+ ) }),
339
+ /* @__PURE__ */ t(
340
+ a,
341
+ {
342
+ item: !0,
343
+ sx: {
344
+ pb: 0.625,
345
+ display: "flex",
346
+ justifyContent: "flex-end",
347
+ width: "100%"
348
+ },
349
+ children: /* @__PURE__ */ i(
350
+ r,
351
+ {
352
+ sx: {
353
+ display: "flex",
354
+ flexDirection: { xs: "column", sm: "row" },
355
+ gap: 1,
356
+ width: { xs: "100%", sm: "auto" },
357
+ justifyContent: "flex-end"
358
+ },
359
+ children: [
360
+ /* @__PURE__ */ t(
361
+ x,
362
+ {
363
+ size: "small",
364
+ variant: "contained",
365
+ "data-testid": "add-app-cancel",
366
+ color: "secondary",
367
+ onClick: () => {
368
+ m(!1), y("conversion_event", {
369
+ form: k.current,
370
+ form_name: "Add App Configuration",
371
+ submit: !1
372
+ });
373
+ },
374
+ children: s("Cancel")
375
+ }
376
+ ),
377
+ /* @__PURE__ */ t(
378
+ x,
379
+ {
380
+ type: "submit",
381
+ size: "small",
382
+ variant: "contained",
383
+ "data-testid": "add-app-save",
384
+ color: "primary",
385
+ children: s("Save")
386
+ }
387
+ )
388
+ ]
389
+ }
390
+ )
391
+ }
392
+ )
393
+ ] }) }),
394
+ /* @__PURE__ */ t(a, { className: "w-full block", children: /* @__PURE__ */ t(
395
+ ke,
396
+ {
397
+ columns: ee,
398
+ tableData: W,
399
+ actions: le,
400
+ paginationConfig: { pagination: !1 },
401
+ styleConfig: { tableStyle: { maxHeight: 120 } },
402
+ isLoading: I
403
+ }
404
+ ) })
405
+ ] })
406
+ }
407
+ )
408
+ }
409
+ )
410
+ ]
411
+ }
412
+ )
413
+ }
414
+ );
415
+ };
416
+ we.propTypes = {
417
+ open: n.any,
418
+ handleClose: n.any,
419
+ languages: n.any,
420
+ refresh: n.any,
421
+ refetch: n.any,
422
+ selectedApp: n.any,
423
+ setSelectedApp: n.any
424
+ };
425
+ export {
426
+ we as default
427
+ };
428
+ //# sourceMappingURL=AppModal-BgZyfrd-.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AppModal-BgZyfrd-.js","sources":["../src/views/Translation/AppModal.jsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { useForm } 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 Typography,\n} from \"@mui/material\";\nimport CustomTextField from \"@/views/custom-components/CustomTextField\";\nimport { showToast } from \"@/common/toaster/toaster\";\nimport {\n createApp,\n getAllApps,\n updateApp,\n} from \"../../services/TranslationService\";\nimport CustomConfirmationModal from \"@/views/custom-components/CustomConfirmationModal\";\nimport useTrackEvent from \"@/hooks/useTrackEvent\";\nimport { useTranslateProvider } from \"@/common/languageTranslator/TranslationContext\";\nimport { faBars, faPen, faXmark } from \"@fortawesome/free-solid-svg-icons\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport CustomizedTable from \"@/views/custom-components/CustomizedTable/CustomizedTableV2\";\nimport { AppModalSkeleton } from \"./Skeletons/ManageTranslationSkeleton\";\n// Define the validation schema using Yup\n\n/**\n * Modal component for configuring mobile type event notifications.\n * @module appModal\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 {Array} props.languages - List of language objects for language-specific data.\n *\n * @returns {JSX.Element} The rendered modal component.\n *\n */\nconst AppModal = ({\n open,\n handleClose,\n languages,\n refresh,\n refetch,\n selectedApp,\n setSelectedApp,\n}) => {\n const formRef = useRef(null);\n const trackEvent = useTrackEvent();\n const [tableData, setTableData] = useState([]);\n const [apps, setApps] = useState([]);\n const [showForm, setShowForm] = useState(false);\n const [isEdit, setIsEdit] = useState(false);\n const { translate } = useTranslateProvider();\n\n const [toggleOpen, setToggleOpen] = useState(false);\n\n const [isActiveLabel, setIsActiveLabel] = useState(\"\");\n const [isActiveDescription, setIsActiveDescription] = useState(\"\");\n const [clickedRow, setClickedRow] = useState({});\n const [loading, setLoading] = useState(false);\n\n const validationSchema = Yup.object().shape({\n appValue: Yup.string().required(\"Select App Value\"),\n appKey: Yup.string().required(\"Enter App key\"),\n });\n\n const {\n control,\n handleSubmit,\n reset,\n setValue,\n formState: { errors },\n } = useForm({\n defaultValues: {},\n resolver: yupResolver(validationSchema),\n mode: \"onChange\",\n });\n\n const cols = [\n { field: \"Sr. No.\", label: `Sr.No`, align: \"left\" },\n { field: \"appValue\", label: \"App\", align: \"left\" },\n { field: \"stateValue\", label: \"State\", align: \"left\" },\n { field: \"Actions\", label: \"Actions\" },\n ];\n\n /**\n * Handles editing an existing app.\n * @method handleEdit\n * @param {Object} row - The row object containing app data to be edited.\n */\n const handleEdit = (row) => {\n setValue(\"appKey\", row?.appKey);\n setValue(\"appValue\", row?.appValue);\n setValue(\"id\", row?.id);\n setValue(\"isActive\", row?.isActive);\n setIsEdit(true);\n setShowForm(true);\n };\n\n /**\n * Toggles the state option for an app.\n * @method handleToggleOption\n * @param {Object} data - The data related to the app state.\n */\n const handleToggleOption = (data) => {\n setIsActiveLabel(\n data?.stateValue === \"Active\" ? \"Mark as Inactive\" : \"Mark as Active\",\n );\n setIsActiveDescription(\n data?.stateValue === \"Active\"\n ? \"Are you sure you want to change the state from active to inactive?\"\n : \"Are you sure you want to change the state from inactive to active?\",\n );\n setClickedRow(data);\n };\n\n /**\n * Toggles the visibility of the state change confirmation modal.\n * @method handleToggle\n */\n const handleToggle = () => {\n setToggleOpen((curr) => !curr);\n };\n\n /**\n * Handles the toggling of the app state (active/inactive).\n * @method handleToggleState\n */\n const handleToggleState = async () => {\n try {\n clickedRow.isActive = !clickedRow.isActive;\n await updateApp(clickedRow);\n init();\n if (selectedApp === clickedRow?.id) {\n setSelectedApp(null);\n }\n await refresh();\n refetch();\n\n setToggleOpen((cur) => !cur);\n } catch (error) {\n console.error(error);\n showToast({ message: \"Error in Toggle State\", type: \"error\" });\n }\n };\n\n const menuItems = [\n { label: translate(isActiveLabel), onClick: handleToggle },\n ];\n\n const actions = [\n {\n label: \"\",\n icon: <FontAwesomeIcon icon={faPen} />,\n onClick: handleEdit,\n dataTestId: \"app-modal-edit-icon\",\n },\n {\n label: \"\",\n icon: <FontAwesomeIcon icon={faBars} />,\n menuClick: handleToggleOption,\n menuItems: menuItems,\n dataTestId: \"app-modal-menu-icon\",\n },\n ];\n\n /**\n * Initializes the modal by resetting values and setting up state.\n * @method addApp\n */\n const addApp = () => {\n reset();\n setIsEdit(false);\n setShowForm(true);\n };\n\n useEffect(() => {\n if (apps) {\n const data = [];\n apps?.forEach((element) => {\n let newElement = { ...element };\n if (element?.isActive) {\n newElement.stateValue = \"Active\";\n } else {\n newElement.stateValue = \"Inactive\";\n }\n languages?.forEach((lang) => {\n if (element.language === lang.id) {\n newElement.languagevalue = lang.languageValue;\n }\n });\n\n data.push(newElement);\n });\n setTableData(data);\n }\n }, [apps]);\n\n useEffect(() => {\n init();\n }, []);\n const init = async () => {\n setLoading((cur) => !cur);\n try {\n const res = await getAllApps();\n setApps(res?.data);\n } catch (error) {\n console.error(error);\n showToast({ message: \"Error in loading apps\", type: \"error\" });\n } finally {\n setLoading((cur) => !cur);\n }\n };\n const close = () => {\n handleClose();\n };\n const onSubmit = async (data) => {\n try {\n trackEvent(\"button_click\", {\n button_name: \"add-app-add-button\",\n button_type: \"submit\",\n button_id: \"add-app-submit-button\",\n });\n let appDto = { ...data };\n if (isEdit) {\n await updateApp(appDto);\n showToast({ message: \"App Updated Succesfully\", type: \"success\" });\n } else {\n appDto.isActive = true;\n await createApp(appDto);\n showToast({ message: \"App added Succesfully\", type: \"success\" });\n }\n\n trackEvent(\"conversion_event\", {\n form: formRef.current,\n form_name: \"Add app Configuration\",\n submit: true,\n });\n\n init();\n\n await refresh();\n refetch();\n setShowForm(false);\n } catch (error) {\n console.error(error);\n showToast({ message: \"Error in Adding App\", type: \"error\" });\n }\n };\n\n return (\n <Modal\n data-testid=\"appModal-modal\"\n open={open}\n onClose={() => {\n close();\n reset();\n }}\n className=\"translation-modal\"\n >\n <Grid\n container\n sx={{\n display: \"flex\",\n flexDirection: \"column\",\n position: \"absolute\",\n top: 20,\n left: \"50%\",\n transform: \"translateX(-50%)\",\n width: \"95%\",\n maxW: \"100%\",\n maxWidth: { sm: 600, md: 700, lg: 800 },\n bgcolor: \"background.paper\",\n boxShadow: 24,\n border: 1,\n borderColor: \"divider\",\n borderRadius: 0.5,\n }}\n >\n <CustomConfirmationModal\n description={isActiveDescription}\n title={\"CONFIRM ACTION\"}\n handleClick={handleToggleState}\n open={toggleOpen}\n handleClose={() => {\n setToggleOpen((cur) => !cur);\n }}\n data-testid=\"app-modal-customconfirmation\"\n />\n\n <Grid\n sx={{\n p: 1.25,\n px: 3,\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n borderBottom: 1,\n borderColor: \"divider\",\n flexWrap: \"wrap\",\n gap: 1,\n }}\n data-testid=\"appModal-header\"\n >\n <Typography\n variant=\"body1\"\n className=\"text-customBlue\"\n sx={{ fontWeight: \"medium\", fontSize: \"1.125rem\" }}\n >\n {translate(\"Manage Apps\")}\n </Typography>\n <IconButton\n size=\"small\"\n onClick={() => {\n close();\n }}\n data-testid=\"appModal-close-button\"\n >\n <FontAwesomeIcon icon={faXmark} />\n </IconButton>\n </Grid>\n\n <Grid\n item\n sx={{\n overflowY: \"auto\",\n maxHeight: \"80vh\",\n width: \"100%\",\n overflowX: \"auto\",\n }}\n >\n <Grid\n sx={{\n p: 1.25,\n px: 3,\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n borderBottom: 1,\n borderColor: \"divider\",\n flexWrap: \"wrap\",\n gap: 1,\n }}\n >\n <Grid item className=\"w-full\">\n {!showForm && (\n <Grid container justifyContent=\"flex-end\" className=\"pb-[10px]\">\n <AppModalSkeleton isLoading={loading}>\n <Grid item>\n <Button\n size=\"small\"\n variant=\"contained\"\n data-testid=\"add-app-button\"\n color=\"primary\"\n onClick={addApp}\n >\n {translate(\"Add\")} {translate(\"App\")}\n </Button>\n </Grid>\n </AppModalSkeleton>\n </Grid>\n )}\n\n {showForm && (\n <Grid container justifyContent=\"flex-start\" sx={{ pb: 1.25 }}>\n <form onSubmit={handleSubmit(onSubmit)} className=\"w-full\">\n <Grid item className=\"pb-[5px]\">\n <FormControl\n variant=\"outlined\"\n className=\"w-full\"\n data-testid=\"app-value-field\"\n >\n <Box\n sx={{\n display: \"flex\",\n alignItems: \"center\",\n gap: 2,\n mb: 1,\n width: \"100%\",\n }}\n >\n <Box sx={{ width: \"100%\" }}>\n {translate(\"App\")}\n <Box\n component=\"span\"\n sx={{ color: \"error.main\", ml: 0.5 }}\n >\n *\n </Box>\n </Box>\n <CustomTextField\n control={control}\n id=\"appValue\"\n name=\"appValue\"\n errors={errors}\n label=\"\"\n size=\"small\"\n className=\"w-full\"\n data-testid=\"app-value-input\"\n />\n </Box>\n </FormControl>\n </Grid>\n\n <Grid item className=\"pb-[5px]\">\n <FormControl\n variant=\"outlined\"\n className=\"w-full\"\n data-testid=\"app-key-field\"\n >\n <Box\n sx={{\n display: \"flex\",\n alignItems: \"center\",\n gap: 2,\n mb: 1,\n width: \"100%\",\n }}\n >\n <Box sx={{ width: \"100%\" }}>\n {translate(\"App\")} {translate(\"Key\")}\n <Box\n component=\"span\"\n sx={{ color: \"error.main\", ml: 0.5 }}\n >\n *\n </Box>\n </Box>\n <CustomTextField\n control={control}\n id=\"appKey\"\n name=\"appKey\"\n errors={errors}\n label=\"\"\n size=\"small\"\n className=\"w-full\"\n data-testid=\"app-key-input\"\n />\n </Box>\n </FormControl>\n </Grid>\n\n <Grid\n item\n sx={{\n pb: 0.625,\n display: \"flex\",\n justifyContent: \"flex-end\",\n width: \"100%\",\n }}\n >\n <Box\n sx={{\n display: \"flex\",\n flexDirection: { xs: \"column\", sm: \"row\" },\n gap: 1,\n width: { xs: \"100%\", sm: \"auto\" },\n justifyContent: \"flex-end\",\n }}\n >\n <Button\n size=\"small\"\n variant=\"contained\"\n data-testid=\"add-app-cancel\"\n color=\"secondary\"\n onClick={() => {\n setShowForm(false);\n trackEvent(\"conversion_event\", {\n form: formRef.current,\n form_name: \"Add App Configuration\",\n submit: false,\n });\n }}\n >\n {translate(\"Cancel\")}\n </Button>\n <Button\n type=\"submit\"\n size=\"small\"\n variant=\"contained\"\n data-testid=\"add-app-save\"\n color=\"primary\"\n >\n {translate(\"Save\")}\n </Button>\n </Box>\n </Grid>\n </form>\n </Grid>\n )}\n <Grid className=\"w-full block\">\n <CustomizedTable\n columns={cols}\n tableData={tableData}\n actions={actions}\n paginationConfig={{ pagination: false }}\n styleConfig={{ tableStyle: { maxHeight: 120 } }}\n isLoading={loading}\n />\n </Grid>\n </Grid>\n </Grid>\n </Grid>\n </Grid>\n </Modal>\n );\n};\n\nAppModal.propTypes = {\n open: PropTypes.any,\n handleClose: PropTypes.any,\n languages: PropTypes.any,\n refresh: PropTypes.any,\n refetch: PropTypes.any,\n selectedApp: PropTypes.any,\n setSelectedApp: PropTypes.any,\n};\n\nexport default AppModal;\n"],"names":["AppModal","open","handleClose","languages","refresh","refetch","selectedApp","setSelectedApp","formRef","useRef","trackEvent","useTrackEvent","tableData","setTableData","useState","apps","setApps","showForm","setShowForm","isEdit","setIsEdit","translate","useTranslateProvider","toggleOpen","setToggleOpen","isActiveLabel","setIsActiveLabel","isActiveDescription","setIsActiveDescription","clickedRow","setClickedRow","loading","setLoading","validationSchema","Yup","control","handleSubmit","reset","setValue","errors","useForm","yupResolver","cols","handleEdit","row","handleToggleOption","data","handleToggle","curr","handleToggleState","updateApp","init","cur","error","showToast","menuItems","actions","jsx","FontAwesomeIcon","faPen","faBars","addApp","useEffect","element","newElement","lang","res","getAllApps","close","onSubmit","appDto","createApp","Modal","jsxs","Grid","CustomConfirmationModal","Typography","IconButton","faXmark","AppModalSkeleton","Button","FormControl","Box","CustomTextField","CustomizedTable","PropTypes"],"mappings":";;;;;;;;;;;;;;;;;AAyCA,MAAMA,KAAW,CAAC;AAAA,EAChB,MAAAC;AAAA,EACA,aAAAC;AAAA,EACA,WAAAC;AAAA,EACA,SAAAC;AAAA,EACA,SAAAC;AAAA,EACA,aAAAC;AAAA,EACA,gBAAAC;AACF,MAAM;AACJ,QAAMC,IAAUC,GAAO,IAAI,GACrBC,IAAaC,GAAA,GACb,CAACC,GAAWC,CAAY,IAAIC,EAAS,CAAA,CAAE,GACvC,CAACC,GAAMC,CAAO,IAAIF,EAAS,CAAA,CAAE,GAC7B,CAACG,GAAUC,CAAW,IAAIJ,EAAS,EAAK,GACxC,CAACK,GAAQC,CAAS,IAAIN,EAAS,EAAK,GACpC,EAAE,WAAAO,EAAA,IAAcC,GAAA,GAEhB,CAACC,GAAYC,CAAa,IAAIV,EAAS,EAAK,GAE5C,CAACW,GAAeC,CAAgB,IAAIZ,EAAS,EAAE,GAC/C,CAACa,GAAqBC,CAAsB,IAAId,EAAS,EAAE,GAC3D,CAACe,GAAYC,CAAa,IAAIhB,EAAS,CAAA,CAAE,GACzC,CAACiB,GAASC,CAAU,IAAIlB,EAAS,EAAK,GAEtCmB,IAAmBC,EAAI,OAAA,EAAS,MAAM;AAAA,IAC1C,UAAUA,EAAI,SAAS,SAAS,kBAAkB;AAAA,IAClD,QAAQA,EAAI,OAAA,EAAS,SAAS,eAAe;AAAA,EAAA,CAC9C,GAEK;AAAA,IACJ,SAAAC;AAAA,IACA,cAAAC;AAAA,IACA,OAAAC;AAAA,IACA,UAAAC;AAAA,IACA,WAAW,EAAE,QAAAC,EAAA;AAAA,EAAO,IAClBC,GAAQ;AAAA,IACV,eAAe,CAAA;AAAA,IACf,UAAUC,GAAYR,CAAgB;AAAA,IACtC,MAAM;AAAA,EAAA,CACP,GAEKS,KAAO;AAAA,IACX,EAAE,OAAO,WAAW,OAAO,SAAS,OAAO,OAAA;AAAA,IAC3C,EAAE,OAAO,YAAY,OAAO,OAAO,OAAO,OAAA;AAAA,IAC1C,EAAE,OAAO,cAAc,OAAO,SAAS,OAAO,OAAA;AAAA,IAC9C,EAAE,OAAO,WAAW,OAAO,UAAA;AAAA,EAAU,GAQjCC,KAAa,CAACC,MAAQ;AAC1B,IAAAN,EAAS,UAAUM,KAAA,gBAAAA,EAAK,MAAM,GAC9BN,EAAS,YAAYM,KAAA,gBAAAA,EAAK,QAAQ,GAClCN,EAAS,MAAMM,KAAA,gBAAAA,EAAK,EAAE,GACtBN,EAAS,YAAYM,KAAA,gBAAAA,EAAK,QAAQ,GAClCxB,EAAU,EAAI,GACdF,EAAY,EAAI;AAAA,EAClB,GAOM2B,KAAqB,CAACC,MAAS;AACnC,IAAApB;AAAA,OACEoB,KAAA,gBAAAA,EAAM,gBAAe,WAAW,qBAAqB;AAAA,IAAA,GAEvDlB;AAAA,OACEkB,KAAA,gBAAAA,EAAM,gBAAe,WACjB,uEACA;AAAA,IAAA,GAENhB,EAAcgB,CAAI;AAAA,EACpB,GAMMC,KAAe,MAAM;AACzB,IAAAvB,EAAc,CAACwB,MAAS,CAACA,CAAI;AAAA,EAC/B,GAMMC,KAAoB,YAAY;AACpC,QAAI;AACF,MAAApB,EAAW,WAAW,CAACA,EAAW,UAClC,MAAMqB,EAAUrB,CAAU,GAC1BsB,EAAA,GACI7C,OAAgBuB,KAAA,gBAAAA,EAAY,OAC9BtB,EAAe,IAAI,GAErB,MAAMH,EAAA,GACNC,EAAA,GAEAmB,EAAc,CAAC4B,MAAQ,CAACA,CAAG;AAAA,IAC7B,SAASC,GAAO;AACd,cAAQ,MAAMA,CAAK,GACnBC,EAAU,EAAE,SAAS,yBAAyB,MAAM,SAAS;AAAA,IAC/D;AAAA,EACF,GAEMC,KAAY;AAAA,IAChB,EAAE,OAAOlC,EAAUI,CAAa,GAAG,SAASsB,GAAA;AAAA,EAAa,GAGrDS,KAAU;AAAA,IACd;AAAA,MACE,OAAO;AAAA,MACP,MAAM,gBAAAC,EAACC,GAAA,EAAgB,MAAMC,GAAA,CAAO;AAAA,MACpC,SAAShB;AAAA,MACT,YAAY;AAAA,IAAA;AAAA,IAEd;AAAA,MACE,OAAO;AAAA,MACP,MAAM,gBAAAc,EAACC,GAAA,EAAgB,MAAME,GAAA,CAAQ;AAAA,MACrC,WAAWf;AAAA,MACX,WAAAU;AAAA,MACA,YAAY;AAAA,IAAA;AAAA,EACd,GAOIM,KAAS,MAAM;AACnB,IAAAxB,EAAA,GACAjB,EAAU,EAAK,GACfF,EAAY,EAAI;AAAA,EAClB;AAEA,EAAA4C,EAAU,MAAM;AACd,QAAI/C,GAAM;AACR,YAAM+B,IAAO,CAAA;AACb,MAAA/B,KAAA,QAAAA,EAAM,QAAQ,CAACgD,MAAY;AACzB,YAAIC,IAAa,EAAE,GAAGD,EAAA;AACtB,QAAIA,KAAA,QAAAA,EAAS,WACXC,EAAW,aAAa,WAExBA,EAAW,aAAa,YAE1B7D,KAAA,QAAAA,EAAW,QAAQ,CAAC8D,MAAS;AAC3B,UAAIF,EAAQ,aAAaE,EAAK,OAC5BD,EAAW,gBAAgBC,EAAK;AAAA,QAEpC,IAEAnB,EAAK,KAAKkB,CAAU;AAAA,MACtB,IACAnD,EAAaiC,CAAI;AAAA,IACnB;AAAA,EACF,GAAG,CAAC/B,CAAI,CAAC,GAET+C,EAAU,MAAM;AACd,IAAAX,EAAA;AAAA,EACF,GAAG,CAAA,CAAE;AACL,QAAMA,IAAO,YAAY;AACvB,IAAAnB,EAAW,CAACoB,MAAQ,CAACA,CAAG;AACxB,QAAI;AACF,YAAMc,IAAM,MAAMC,GAAA;AAClB,MAAAnD,EAAQkD,KAAA,gBAAAA,EAAK,IAAI;AAAA,IACnB,SAASb,GAAO;AACd,cAAQ,MAAMA,CAAK,GACnBC,EAAU,EAAE,SAAS,yBAAyB,MAAM,SAAS;AAAA,IAC/D,UAAA;AACE,MAAAtB,EAAW,CAACoB,MAAQ,CAACA,CAAG;AAAA,IAC1B;AAAA,EACF,GACMgB,IAAQ,MAAM;AAClB,IAAAlE,EAAA;AAAA,EACF,GACMmE,KAAW,OAAOvB,MAAS;AAC/B,QAAI;AACF,MAAApC,EAAW,gBAAgB;AAAA,QACzB,aAAa;AAAA,QACb,aAAa;AAAA,QACb,WAAW;AAAA,MAAA,CACZ;AACD,UAAI4D,IAAS,EAAE,GAAGxB,EAAA;AAClB,MAAI3B,KACF,MAAM+B,EAAUoB,CAAM,GACtBhB,EAAU,EAAE,SAAS,2BAA2B,MAAM,WAAW,MAEjEgB,EAAO,WAAW,IAClB,MAAMC,GAAUD,CAAM,GACtBhB,EAAU,EAAE,SAAS,yBAAyB,MAAM,WAAW,IAGjE5C,EAAW,oBAAoB;AAAA,QAC7B,MAAMF,EAAQ;AAAA,QACd,WAAW;AAAA,QACX,QAAQ;AAAA,MAAA,CACT,GAED2C,EAAA,GAEA,MAAM/C,EAAA,GACNC,EAAA,GACAa,EAAY,EAAK;AAAA,IACnB,SAASmC,GAAO;AACd,cAAQ,MAAMA,CAAK,GACnBC,EAAU,EAAE,SAAS,uBAAuB,MAAM,SAAS;AAAA,IAC7D;AAAA,EACF;AAEA,SACE,gBAAAG;AAAA,IAACe;AAAA,IAAA;AAAA,MACC,eAAY;AAAA,MACZ,MAAAvE;AAAA,MACA,SAAS,MAAM;AACb,QAAAmE,EAAA,GACA/B,EAAA;AAAA,MACF;AAAA,MACA,WAAU;AAAA,MAEV,UAAA,gBAAAoC;AAAA,QAACC;AAAA,QAAA;AAAA,UACC,WAAS;AAAA,UACT,IAAI;AAAA,YACF,SAAS;AAAA,YACT,eAAe;AAAA,YACf,UAAU;AAAA,YACV,KAAK;AAAA,YACL,MAAM;AAAA,YACN,WAAW;AAAA,YACX,OAAO;AAAA,YACP,MAAM;AAAA,YACN,UAAU,EAAE,IAAI,KAAK,IAAI,KAAK,IAAI,IAAA;AAAA,YAClC,SAAS;AAAA,YACT,WAAW;AAAA,YACX,QAAQ;AAAA,YACR,aAAa;AAAA,YACb,cAAc;AAAA,UAAA;AAAA,UAGhB,UAAA;AAAA,YAAA,gBAAAjB;AAAA,cAACkB;AAAA,cAAA;AAAA,gBACC,aAAahD;AAAA,gBACb,OAAO;AAAA,gBACP,aAAasB;AAAA,gBACb,MAAM1B;AAAA,gBACN,aAAa,MAAM;AACjB,kBAAAC,EAAc,CAAC4B,MAAQ,CAACA,CAAG;AAAA,gBAC7B;AAAA,gBACA,eAAY;AAAA,cAAA;AAAA,YAAA;AAAA,YAGd,gBAAAqB;AAAA,cAACC;AAAA,cAAA;AAAA,gBACC,IAAI;AAAA,kBACF,GAAG;AAAA,kBACH,IAAI;AAAA,kBACJ,SAAS;AAAA,kBACT,gBAAgB;AAAA,kBAChB,YAAY;AAAA,kBACZ,cAAc;AAAA,kBACd,aAAa;AAAA,kBACb,UAAU;AAAA,kBACV,KAAK;AAAA,gBAAA;AAAA,gBAEP,eAAY;AAAA,gBAEZ,UAAA;AAAA,kBAAA,gBAAAjB;AAAA,oBAACmB;AAAA,oBAAA;AAAA,sBACC,SAAQ;AAAA,sBACR,WAAU;AAAA,sBACV,IAAI,EAAE,YAAY,UAAU,UAAU,WAAA;AAAA,sBAErC,YAAU,aAAa;AAAA,oBAAA;AAAA,kBAAA;AAAA,kBAE1B,gBAAAnB;AAAA,oBAACoB;AAAA,oBAAA;AAAA,sBACC,MAAK;AAAA,sBACL,SAAS,MAAM;AACb,wBAAAT,EAAA;AAAA,sBACF;AAAA,sBACA,eAAY;AAAA,sBAEZ,UAAA,gBAAAX,EAACC,GAAA,EAAgB,MAAMoB,GAAA,CAAS;AAAA,oBAAA;AAAA,kBAAA;AAAA,gBAClC;AAAA,cAAA;AAAA,YAAA;AAAA,YAGF,gBAAArB;AAAA,cAACiB;AAAA,cAAA;AAAA,gBACC,MAAI;AAAA,gBACJ,IAAI;AAAA,kBACF,WAAW;AAAA,kBACX,WAAW;AAAA,kBACX,OAAO;AAAA,kBACP,WAAW;AAAA,gBAAA;AAAA,gBAGb,UAAA,gBAAAjB;AAAA,kBAACiB;AAAA,kBAAA;AAAA,oBACC,IAAI;AAAA,sBACF,GAAG;AAAA,sBACH,IAAI;AAAA,sBACJ,SAAS;AAAA,sBACT,gBAAgB;AAAA,sBAChB,YAAY;AAAA,sBACZ,cAAc;AAAA,sBACd,aAAa;AAAA,sBACb,UAAU;AAAA,sBACV,KAAK;AAAA,oBAAA;AAAA,oBAGP,UAAA,gBAAAD,EAACC,GAAA,EAAK,MAAI,IAAC,WAAU,UAClB,UAAA;AAAA,sBAAA,CAACzD,KACA,gBAAAwC,EAACiB,GAAA,EAAK,WAAS,IAAC,gBAAe,YAAW,WAAU,aAClD,UAAA,gBAAAjB,EAACsB,MAAiB,WAAWhD,GAC3B,UAAA,gBAAA0B,EAACiB,GAAA,EAAK,MAAI,IACR,UAAA,gBAAAD;AAAA,wBAACO;AAAA,wBAAA;AAAA,0BACC,MAAK;AAAA,0BACL,SAAQ;AAAA,0BACR,eAAY;AAAA,0BACZ,OAAM;AAAA,0BACN,SAASnB;AAAA,0BAER,UAAA;AAAA,4BAAAxC,EAAU,KAAK;AAAA,4BAAE;AAAA,4BAAEA,EAAU,KAAK;AAAA,0BAAA;AAAA,wBAAA;AAAA,sBAAA,EACrC,CACF,GACF,GACF;AAAA,sBAGDJ,KACC,gBAAAwC,EAACiB,GAAA,EAAK,WAAS,IAAC,gBAAe,cAAa,IAAI,EAAE,IAAI,KAAA,GACpD,4BAAC,QAAA,EAAK,UAAUtC,EAAaiC,EAAQ,GAAG,WAAU,UAChD,UAAA;AAAA,wBAAA,gBAAAZ,EAACiB,GAAA,EAAK,MAAI,IAAC,WAAU,YACnB,UAAA,gBAAAjB;AAAA,0BAACwB;AAAA,0BAAA;AAAA,4BACC,SAAQ;AAAA,4BACR,WAAU;AAAA,4BACV,eAAY;AAAA,4BAEZ,UAAA,gBAAAR;AAAA,8BAACS;AAAA,8BAAA;AAAA,gCACC,IAAI;AAAA,kCACF,SAAS;AAAA,kCACT,YAAY;AAAA,kCACZ,KAAK;AAAA,kCACL,IAAI;AAAA,kCACJ,OAAO;AAAA,gCAAA;AAAA,gCAGT,UAAA;AAAA,kCAAA,gBAAAT,EAACS,GAAA,EAAI,IAAI,EAAE,OAAO,UACf,UAAA;AAAA,oCAAA7D,EAAU,KAAK;AAAA,oCAChB,gBAAAoC;AAAA,sCAACyB;AAAA,sCAAA;AAAA,wCACC,WAAU;AAAA,wCACV,IAAI,EAAE,OAAO,cAAc,IAAI,IAAA;AAAA,wCAChC,UAAA;AAAA,sCAAA;AAAA,oCAAA;AAAA,kCAED,GACF;AAAA,kCACA,gBAAAzB;AAAA,oCAAC0B;AAAA,oCAAA;AAAA,sCACC,SAAAhD;AAAA,sCACA,IAAG;AAAA,sCACH,MAAK;AAAA,sCACL,QAAAI;AAAA,sCACA,OAAM;AAAA,sCACN,MAAK;AAAA,sCACL,WAAU;AAAA,sCACV,eAAY;AAAA,oCAAA;AAAA,kCAAA;AAAA,gCACd;AAAA,8BAAA;AAAA,4BAAA;AAAA,0BACF;AAAA,wBAAA,GAEJ;AAAA,wBAEA,gBAAAkB,EAACiB,GAAA,EAAK,MAAI,IAAC,WAAU,YACnB,UAAA,gBAAAjB;AAAA,0BAACwB;AAAA,0BAAA;AAAA,4BACC,SAAQ;AAAA,4BACR,WAAU;AAAA,4BACV,eAAY;AAAA,4BAEZ,UAAA,gBAAAR;AAAA,8BAACS;AAAA,8BAAA;AAAA,gCACC,IAAI;AAAA,kCACF,SAAS;AAAA,kCACT,YAAY;AAAA,kCACZ,KAAK;AAAA,kCACL,IAAI;AAAA,kCACJ,OAAO;AAAA,gCAAA;AAAA,gCAGT,UAAA;AAAA,kCAAA,gBAAAT,EAACS,GAAA,EAAI,IAAI,EAAE,OAAO,UACf,UAAA;AAAA,oCAAA7D,EAAU,KAAK;AAAA,oCAAE;AAAA,oCAAEA,EAAU,KAAK;AAAA,oCACnC,gBAAAoC;AAAA,sCAACyB;AAAA,sCAAA;AAAA,wCACC,WAAU;AAAA,wCACV,IAAI,EAAE,OAAO,cAAc,IAAI,IAAA;AAAA,wCAChC,UAAA;AAAA,sCAAA;AAAA,oCAAA;AAAA,kCAED,GACF;AAAA,kCACA,gBAAAzB;AAAA,oCAAC0B;AAAA,oCAAA;AAAA,sCACC,SAAAhD;AAAA,sCACA,IAAG;AAAA,sCACH,MAAK;AAAA,sCACL,QAAAI;AAAA,sCACA,OAAM;AAAA,sCACN,MAAK;AAAA,sCACL,WAAU;AAAA,sCACV,eAAY;AAAA,oCAAA;AAAA,kCAAA;AAAA,gCACd;AAAA,8BAAA;AAAA,4BAAA;AAAA,0BACF;AAAA,wBAAA,GAEJ;AAAA,wBAEA,gBAAAkB;AAAA,0BAACiB;AAAA,0BAAA;AAAA,4BACC,MAAI;AAAA,4BACJ,IAAI;AAAA,8BACF,IAAI;AAAA,8BACJ,SAAS;AAAA,8BACT,gBAAgB;AAAA,8BAChB,OAAO;AAAA,4BAAA;AAAA,4BAGT,UAAA,gBAAAD;AAAA,8BAACS;AAAA,8BAAA;AAAA,gCACC,IAAI;AAAA,kCACF,SAAS;AAAA,kCACT,eAAe,EAAE,IAAI,UAAU,IAAI,MAAA;AAAA,kCACnC,KAAK;AAAA,kCACL,OAAO,EAAE,IAAI,QAAQ,IAAI,OAAA;AAAA,kCACzB,gBAAgB;AAAA,gCAAA;AAAA,gCAGlB,UAAA;AAAA,kCAAA,gBAAAzB;AAAA,oCAACuB;AAAA,oCAAA;AAAA,sCACC,MAAK;AAAA,sCACL,SAAQ;AAAA,sCACR,eAAY;AAAA,sCACZ,OAAM;AAAA,sCACN,SAAS,MAAM;AACb,wCAAA9D,EAAY,EAAK,GACjBR,EAAW,oBAAoB;AAAA,0CAC7B,MAAMF,EAAQ;AAAA,0CACd,WAAW;AAAA,0CACX,QAAQ;AAAA,wCAAA,CACT;AAAA,sCACH;AAAA,sCAEC,YAAU,QAAQ;AAAA,oCAAA;AAAA,kCAAA;AAAA,kCAErB,gBAAAiD;AAAA,oCAACuB;AAAA,oCAAA;AAAA,sCACC,MAAK;AAAA,sCACL,MAAK;AAAA,sCACL,SAAQ;AAAA,sCACR,eAAY;AAAA,sCACZ,OAAM;AAAA,sCAEL,YAAU,MAAM;AAAA,oCAAA;AAAA,kCAAA;AAAA,gCACnB;AAAA,8BAAA;AAAA,4BAAA;AAAA,0BACF;AAAA,wBAAA;AAAA,sBACF,EAAA,CACF,EAAA,CACF;AAAA,sBAEF,gBAAAvB,EAACiB,GAAA,EAAK,WAAU,gBACd,UAAA,gBAAAjB;AAAA,wBAAC2B;AAAA,wBAAA;AAAA,0BACC,SAAS1C;AAAA,0BACT,WAAA9B;AAAA,0BACA,SAAA4C;AAAA,0BACA,kBAAkB,EAAE,YAAY,GAAA;AAAA,0BAChC,aAAa,EAAE,YAAY,EAAE,WAAW,MAAI;AAAA,0BAC5C,WAAWzB;AAAA,wBAAA;AAAA,sBAAA,EACb,CACF;AAAA,oBAAA,EAAA,CACF;AAAA,kBAAA;AAAA,gBAAA;AAAA,cACF;AAAA,YAAA;AAAA,UACF;AAAA,QAAA;AAAA,MAAA;AAAA,IACF;AAAA,EAAA;AAGN;AAEA/B,GAAS,YAAY;AAAA,EACnB,MAAMqF,EAAU;AAAA,EAChB,aAAaA,EAAU;AAAA,EACvB,WAAWA,EAAU;AAAA,EACrB,SAASA,EAAU;AAAA,EACnB,SAASA,EAAU;AAAA,EACnB,aAAaA,EAAU;AAAA,EACvB,gBAAgBA,EAAU;AAC5B;"}
@@ -0,0 +1,176 @@
1
+ import { jsx as e, jsxs as r } from "react/jsx-runtime";
2
+ import { yupResolver as j } from "@hookform/resolvers/yup";
3
+ import m from "prop-types";
4
+ import { Modal as q, Paper as R, Card as k, CardHeader as A, Typography as l, CardContent as B, Button as g } from "@mui/material";
5
+ import s from "@mui/material/Grid2";
6
+ import * as n from "yup";
7
+ import { useRef as y, useEffect as F } from "react";
8
+ import { useForm as I } from "react-hook-form";
9
+ import { P, a as M } from "./ManageUser-PHiTNyF8.js";
10
+ import W from "@/hooks/useAESEncryption.js";
11
+ import { o as _ } from "./UserListSkeleton-cglK2SaU.js";
12
+ import { showToast as b } from "@/common/toaster/toaster.jsx";
13
+ import $ from "@/hooks/useTrackEvent";
14
+ import { useTranslateProvider as G } from "@/common/languageTranslator/TranslationContext";
15
+ const H = n.object().shape({
16
+ password: n.string().required("Password is required").matches(
17
+ /^(?=.*[a-z])(?=.*[A-Z])(?=.*[@$!%*?&#]).{8,}$/,
18
+ "Password must be at least 8 characters long with one uppercase letter and one special character"
19
+ ),
20
+ confirmPassword: n.string().required("Confirm Password is required").oneOf([n.ref("password"), null], "Passwords do not match")
21
+ }), O = ({ open: x, onClose: d, userId: C, ...v }) => {
22
+ const {
23
+ control: p,
24
+ formState: { errors: h },
25
+ handleSubmit: N,
26
+ watch: S
27
+ } = I({ resolver: j(H), mode: "onChange" }), i = y(null), u = y(!1), z = $(), E = W(), { translate: a } = G(), T = async ({ password: t }) => {
28
+ var w, f;
29
+ try {
30
+ const c = await E.encrypt(t);
31
+ try {
32
+ await _({
33
+ oldPassword: c,
34
+ userId: C
35
+ }), d(), b({
36
+ message: "Password Changed Successfully",
37
+ type: "success"
38
+ }), u.current = !0;
39
+ } catch (o) {
40
+ console.error(o), b({
41
+ message: ((f = (w = o == null ? void 0 : o.response) == null ? void 0 : w.data) == null ? void 0 : f.message) || "Something Went Wrong",
42
+ type: "error"
43
+ });
44
+ }
45
+ } catch (c) {
46
+ console.error(c);
47
+ }
48
+ };
49
+ return F(() => {
50
+ let t = i.current;
51
+ return () => {
52
+ t && z("conversion_event", {
53
+ form: t,
54
+ form_name: "Change Password",
55
+ submit: u.current
56
+ });
57
+ };
58
+ }, [i.current]), /* @__PURE__ */ e(q, { open: x, onClose: d, ...v, children: /* @__PURE__ */ e(R, { className: "absolute mt-[12rem] top-[10%] left-1/2 transform -translate-x-1/2 -translate-y-1/2 w-[90%] md:w-[60%]", children: /* @__PURE__ */ r(
59
+ k,
60
+ {
61
+ className: "m-0",
62
+ elevation: 5,
63
+ component: "form",
64
+ ref: i,
65
+ onSubmit: N(T),
66
+ noValidate: !0,
67
+ children: [
68
+ /* @__PURE__ */ e(
69
+ A,
70
+ {
71
+ className: "manage-user-type-header",
72
+ subheader: /* @__PURE__ */ r(l, { className: "subheader-style text-customBlue text-lg", children: [
73
+ a("Change Password"),
74
+ " "
75
+ ] }),
76
+ "data-testid": "changepasswordmodal-cardheader-subheader"
77
+ }
78
+ ),
79
+ /* @__PURE__ */ r(B, { children: [
80
+ /* @__PURE__ */ r(s, { container: !0, spacing: 2, alignItems: "space-between", children: [
81
+ /* @__PURE__ */ e(s, { size: { xs: 10 }, children: /* @__PURE__ */ r(l, { variant: "body1", className: "flex items-center", children: [
82
+ a("New Password"),
83
+ " ",
84
+ /* @__PURE__ */ e("span", { className: "text-red-500 ml-1", children: "*" })
85
+ ] }) }),
86
+ /* @__PURE__ */ e(
87
+ s,
88
+ {
89
+ size: { xs: 12 },
90
+ "data-testid": "changepasswordmodal-grid-newpasswordfield",
91
+ children: /* @__PURE__ */ e(
92
+ P,
93
+ {
94
+ control: p,
95
+ name: "password",
96
+ errors: h
97
+ }
98
+ )
99
+ }
100
+ ),
101
+ /* @__PURE__ */ e(
102
+ s,
103
+ {
104
+ size: { xs: 12 },
105
+ "data-testid": "changepasswordmodal-grid-passwordstrengthbar",
106
+ children: /* @__PURE__ */ e(M, { password: S("password") })
107
+ }
108
+ ),
109
+ /* @__PURE__ */ e(
110
+ s,
111
+ {
112
+ size: { xs: 12 },
113
+ "data-testid": "changepasswordmodal-grid-confirmpasswordlabel",
114
+ children: /* @__PURE__ */ r(l, { variant: "body1", className: "flex items-center", children: [
115
+ a("Confirm Password"),
116
+ " ",
117
+ /* @__PURE__ */ e("span", { className: "text-red-500 ml-1", children: "*" })
118
+ ] })
119
+ }
120
+ ),
121
+ /* @__PURE__ */ e(
122
+ s,
123
+ {
124
+ size: { xs: 12 },
125
+ "data-testid": "changepaConfirm Passwordsswordmodal-grid-confirmpasswordfield",
126
+ children: /* @__PURE__ */ e(
127
+ P,
128
+ {
129
+ control: p,
130
+ name: "confirmPassword",
131
+ errors: h
132
+ }
133
+ )
134
+ }
135
+ )
136
+ ] }),
137
+ /* @__PURE__ */ r(s, { container: !0, wrap: "nowrap", gap: 1, justifyContent: "flex-end", children: [
138
+ /* @__PURE__ */ e(
139
+ g,
140
+ {
141
+ type: "submit",
142
+ variant: "contained",
143
+ size: "small",
144
+ color: "primary",
145
+ className: "mt-[1rem]",
146
+ "data-testid": "changepasswordmodal-button-submit",
147
+ children: a("Change Password")
148
+ }
149
+ ),
150
+ /* @__PURE__ */ e(
151
+ g,
152
+ {
153
+ variant: "contained",
154
+ onClick: d,
155
+ className: "mt-[1rem]",
156
+ color: "secondary",
157
+ size: "small",
158
+ "data-testid": "changepasswordmodal-button-cancel",
159
+ children: a("Cancel")
160
+ }
161
+ )
162
+ ] })
163
+ ] })
164
+ ]
165
+ }
166
+ ) }) });
167
+ };
168
+ O.propTypes = {
169
+ open: m.any,
170
+ onClose: m.any,
171
+ userId: m.any
172
+ };
173
+ export {
174
+ O as default
175
+ };
176
+ //# sourceMappingURL=ChangePasswordModal-MV7g8tkA.js.map