@argusoft/medplat-core 1.0.18 → 1.0.20

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 (106) hide show
  1. package/dist/{AccessRights-Bvd5Bm5K.js → AccessRights-CupmTG3T.js} +2 -2
  2. package/dist/{AccessRights-Bvd5Bm5K.js.map → AccessRights-CupmTG3T.js.map} +1 -1
  3. package/dist/{AddEditQueryBuilder-Bcjl5mXE.js → AddEditQueryBuilder-C8ZSkOF0.js} +60 -60
  4. package/dist/AddEditQueryBuilder-C8ZSkOF0.js.map +1 -0
  5. package/dist/{AddFeatures-CE5rBxEG.js → AddFeatures-CiZZZ0GL.js} +2 -2
  6. package/dist/{AddFeatures-CE5rBxEG.js.map → AddFeatures-CiZZZ0GL.js.map} +1 -1
  7. package/dist/{AddMenuConfiguration-QWfpcnuP.js → AddMenuConfiguration-DsnY0Rws.js} +544 -544
  8. package/dist/AddMenuConfiguration-DsnY0Rws.js.map +1 -0
  9. package/dist/{AddRoleDrawer-SvntLdRu.js → AddRoleDrawer-CQdzQZLb.js} +39 -39
  10. package/dist/AddRoleDrawer-CQdzQZLb.js.map +1 -0
  11. package/dist/ChangePasswordModalCore-50EzprTk.js +5495 -0
  12. package/dist/ChangePasswordModalCore-50EzprTk.js.map +1 -0
  13. package/dist/{ConditionConfig-DB0FqwgG.js → ConditionConfig-C3rF2wXU.js} +2 -2
  14. package/dist/{ConditionConfig-DB0FqwgG.js.map → ConditionConfig-C3rF2wXU.js.map} +1 -1
  15. package/dist/{EntityManagement-DQKXnEzz.js → EntityManagement-D4nG7wUX.js} +2 -2
  16. package/dist/{EntityManagement-DQKXnEzz.js.map → EntityManagement-D4nG7wUX.js.map} +1 -1
  17. package/dist/{EventConfigurations-D8juDb29.js → EventConfigurations-BGffjVC7.js} +3 -3
  18. package/dist/{EventConfigurations-D8juDb29.js.map → EventConfigurations-BGffjVC7.js.map} +1 -1
  19. package/dist/{EventsExceptionModal-DsvngLi8.js → EventsExceptionModal-D4Bf1ilS.js} +2 -2
  20. package/dist/{EventsExceptionModal-DsvngLi8.js.map → EventsExceptionModal-D4Bf1ilS.js.map} +1 -1
  21. package/dist/EventsSkeleton-8iiETGcf.js +76 -0
  22. package/dist/EventsSkeleton-8iiETGcf.js.map +1 -0
  23. package/dist/{FeatureMenu-CLX8VNZ-.js → FeatureMenu-DUZL32RI.js} +3 -3
  24. package/dist/{FeatureMenu-CLX8VNZ-.js.map → FeatureMenu-DUZL32RI.js.map} +1 -1
  25. package/dist/Features-CObdzJp_.js +13 -0
  26. package/dist/Features-CObdzJp_.js.map +1 -0
  27. package/dist/ImmunizationConfigurationBase-C5wnjI_-.js +5706 -0
  28. package/dist/ImmunizationConfigurationBase-C5wnjI_-.js.map +1 -0
  29. package/dist/ImmunizationConfigurationBase.css +1 -1
  30. package/dist/{ManageDynamicFeature-CsIett5x.js → ManageDynamicFeature-BhONvfC_.js} +3 -3
  31. package/dist/{ManageDynamicFeature-CsIett5x.js.map → ManageDynamicFeature-BhONvfC_.js.map} +1 -1
  32. package/dist/{ManageEventConfiguration-0YBDaxOI.js → ManageEventConfiguration-BntUc_YI.js} +93 -93
  33. package/dist/ManageEventConfiguration-BntUc_YI.js.map +1 -0
  34. package/dist/{ManageNotification-BUAvg5Ge.js → ManageNotification-CSl02Wq7.js} +2 -2
  35. package/dist/{ManageNotification-BUAvg5Ge.js.map → ManageNotification-CSl02Wq7.js.map} +1 -1
  36. package/dist/{ManageRole-Cbs9dUhc.js → ManageRole-tdzAiCOE.js} +222 -229
  37. package/dist/ManageRole-tdzAiCOE.js.map +1 -0
  38. package/dist/{ManageUser-eBS0yC5k.js → ManageUser-C6dlK-Mr.js} +3 -4
  39. package/dist/{ManageUser-eBS0yC5k.js.map → ManageUser-C6dlK-Mr.js.map} +1 -1
  40. package/dist/{MobileMenuManagement-BmrO-7MN.js → MobileMenuManagement-CV6QCeos.js} +15 -15
  41. package/dist/MobileMenuManagement-CV6QCeos.js.map +1 -0
  42. package/dist/{MobileTypeEventConfigModal-Ltm529jG.js → MobileTypeEventConfigModal-BNjZ8pnq.js} +2 -2
  43. package/dist/{MobileTypeEventConfigModal-Ltm529jG.js.map → MobileTypeEventConfigModal-BNjZ8pnq.js.map} +1 -1
  44. package/dist/{NewServerManagement-5YcAtF-g.js → NewServerManagement-Cxe0dV0O.js} +5 -5
  45. package/dist/NewServerManagement-Cxe0dV0O.js.map +1 -0
  46. package/dist/{NotificationList-CUZSWp2J.js → NotificationList-D1U1LYnz.js} +140 -139
  47. package/dist/NotificationList-D1U1LYnz.js.map +1 -0
  48. package/dist/{OtherTypeEventConfigModal-dXt2qDg_.js → OtherTypeEventConfigModal-DiVhWDpG.js} +43 -43
  49. package/dist/{OtherTypeEventConfigModal-dXt2qDg_.js.map → OtherTypeEventConfigModal-DiVhWDpG.js.map} +1 -1
  50. package/dist/{QueryBuilder-DXexUIe8.js → QueryBuilder-DI0wCJbz.js} +85 -84
  51. package/dist/QueryBuilder-DI0wCJbz.js.map +1 -0
  52. package/dist/{QueryManagement-DGHV_-d5.js → QueryManagement-CRykYGum.js} +3 -3
  53. package/dist/QueryManagement-CRykYGum.js.map +1 -0
  54. package/dist/{RoleManagement-BThAL5LO.js → RoleManagement-Cg8-EiVr.js} +83 -82
  55. package/dist/RoleManagement-Cg8-EiVr.js.map +1 -0
  56. package/dist/SecurityAuditLogList-Dod711KT.js +874 -0
  57. package/dist/SecurityAuditLogList-Dod711KT.js.map +1 -0
  58. package/dist/{ShowFlywayQuery-BkyA6QaA.js → ShowFlywayQuery-tj42YQAS.js} +33 -33
  59. package/dist/ShowFlywayQuery-tj42YQAS.js.map +1 -0
  60. package/dist/{SubMenu-BGznOP2a.js → SubMenu-CM_4wNCR.js} +2 -2
  61. package/dist/{SubMenu-BGznOP2a.js.map → SubMenu-CM_4wNCR.js.map} +1 -1
  62. package/dist/{TableDetails-DztbjsIA.js → TableDetails-Cf_YfnY2.js} +235 -235
  63. package/dist/TableDetails-Cf_YfnY2.js.map +1 -0
  64. package/dist/{TableList-DYwotUDO.js → TableList-HGbEN4bv.js} +28 -28
  65. package/dist/TableList-HGbEN4bv.js.map +1 -0
  66. package/dist/{TypeConfiguration-DYbBG_hZ.js → TypeConfiguration-CupQxH9Y.js} +28 -28
  67. package/dist/TypeConfiguration-CupQxH9Y.js.map +1 -0
  68. package/dist/{UserList-BAeAFeXZ.js → UserList-BzHsbYel.js} +423 -423
  69. package/dist/UserList-BzHsbYel.js.map +1 -0
  70. package/dist/{WidgetList-D-fIf3N2.js → WidgetList-B7X8Awkg.js} +2 -2
  71. package/dist/{WidgetList-D-fIf3N2.js.map → WidgetList-B7X8Awkg.js.map} +1 -1
  72. package/dist/index-D9YNFPn9.js +1439 -0
  73. package/dist/index-D9YNFPn9.js.map +1 -0
  74. package/dist/index.css +1 -1
  75. package/dist/index.js +102 -100
  76. package/dist/index.js.map +1 -1
  77. package/dist/{index-BFznsakV.js → pdfmake-Cf-381ou.js} +13951 -15385
  78. package/dist/pdfmake-Cf-381ou.js.map +1 -0
  79. package/package.json +1 -1
  80. package/dist/AddEditQueryBuilder-Bcjl5mXE.js.map +0 -1
  81. package/dist/AddMenuConfiguration-QWfpcnuP.js.map +0 -1
  82. package/dist/AddRoleDrawer-SvntLdRu.js.map +0 -1
  83. package/dist/ChangePasswordModalCore-ClND1mel.js +0 -181
  84. package/dist/ChangePasswordModalCore-ClND1mel.js.map +0 -1
  85. package/dist/EventsSkeleton-DCXwwPbb.js +0 -76
  86. package/dist/EventsSkeleton-DCXwwPbb.js.map +0 -1
  87. package/dist/Features-Cpf1PDx0.js +0 -13
  88. package/dist/Features-Cpf1PDx0.js.map +0 -1
  89. package/dist/ImmunizationConfigurationBase-BqPTExSk.js +0 -5653
  90. package/dist/ImmunizationConfigurationBase-BqPTExSk.js.map +0 -1
  91. package/dist/ManageEventConfiguration-0YBDaxOI.js.map +0 -1
  92. package/dist/ManageRole-Cbs9dUhc.js.map +0 -1
  93. package/dist/MobileMenuManagement-BmrO-7MN.js.map +0 -1
  94. package/dist/NewServerManagement-5YcAtF-g.js.map +0 -1
  95. package/dist/NotificationList-CUZSWp2J.js.map +0 -1
  96. package/dist/QueryBuilder-DXexUIe8.js.map +0 -1
  97. package/dist/QueryManagement-DGHV_-d5.js.map +0 -1
  98. package/dist/RoleManagement-BThAL5LO.js.map +0 -1
  99. package/dist/SecurityAuditLogList-DHTcOtbx.js +0 -748
  100. package/dist/SecurityAuditLogList-DHTcOtbx.js.map +0 -1
  101. package/dist/ShowFlywayQuery-BkyA6QaA.js.map +0 -1
  102. package/dist/TableDetails-DztbjsIA.js.map +0 -1
  103. package/dist/TableList-DYwotUDO.js.map +0 -1
  104. package/dist/TypeConfiguration-DYbBG_hZ.js.map +0 -1
  105. package/dist/UserList-BAeAFeXZ.js.map +0 -1
  106. package/dist/index-BFznsakV.js.map +0 -1
@@ -1,31 +1,31 @@
1
1
  import { jsx as e, jsxs as l } from "react/jsx-runtime";
2
- import { Drawer as he, Typography as m, Button as x, Table as L, TableHead as z, TableRow as N, TableCell as i, TableBody as j, Divider as be } from "@mui/material";
2
+ import { Drawer as he, Typography as m, Button as S, Table as L, TableHead as z, TableRow as N, TableCell as i, TableBody as j, Divider as be } from "@mui/material";
3
3
  import { Grid as h, Box as ye, Stack as ge } from "@mui/system";
4
- import S from "prop-types";
5
- import Q from "@/views/custom-components/CustomTextField";
4
+ import _ from "prop-types";
5
+ import K from "@/views/custom-components/CustomTextField";
6
6
  import { useForm as we } from "react-hook-form";
7
7
  import * as X from "yup";
8
8
  import { yupResolver as ve } from "@hookform/resolvers/yup";
9
- import Ne, { useRef as Y, useState as E, useEffect as B } from "react";
9
+ import Ne, { useRef as Y, useState as x, useEffect as B } from "react";
10
10
  import Z from "@/views/custom-components/CustomConfirmationModal";
11
11
  import { showToast as W } from "@/common/toaster/toaster";
12
12
  import Ce from "@/views/custom-components/CustomCheckBox";
13
13
  import { api as Ae } from "@/common/interceptors/AxiosInterceptor";
14
- import Te from "@/common/services/util/GeneralUtil";
15
- import Re from "@/hooks/useTrackEvent";
14
+ import Te from "@/common/config/implementationConfig";
15
+ import Pe from "@/hooks/useTrackEvent";
16
16
  import D from "@/views/custom-components/CustomAutoComplete";
17
- import { useTranslateProvider as Pe } from "@/common/languageTranslator/TranslationContext";
17
+ import { useTranslateProvider as Re } from "@/common/languageTranslator/TranslationContext";
18
18
  import { faTrash as ee } from "@fortawesome/free-solid-svg-icons";
19
19
  import { FontAwesomeIcon as re } from "@fortawesome/react-fontawesome";
20
- const Ie = (R) => Ae.post(Te.isTecho ? "/notificationtype/update" : "/notificationtype", R);
21
- function ke({ open: R, handleClose: _, data: f, roleData: y }) {
22
- var q, H;
23
- const P = Y(null), F = Y(!1), [O, $] = E([]), [g, U] = E(null), [G, v] = E(0), [oe, te] = E(null), { translate: n } = Pe(), ae = X.object().shape({
20
+ const Ie = (P) => Ae.post(Te.api.useQueryParamStyle ? "/notificationtype/update" : "/notificationtype", P);
21
+ function ke({ open: P, handleClose: E, data: f, roleData: y }) {
22
+ var G, H;
23
+ const R = Y(null), F = Y(!1), [O, $] = x([]), [g, U] = x(null), [q, v] = x(0), [oe, te] = x(null), { translate: n } = Re(), ae = X.object().shape({
24
24
  name: X.string().required("Enter Name")
25
25
  });
26
26
  B(() => {
27
- if (P.current) {
28
- let o = P.current;
27
+ if (R.current) {
28
+ let o = R.current;
29
29
  return () => {
30
30
  M("conversion_event", {
31
31
  form: o,
@@ -34,7 +34,7 @@ function ke({ open: R, handleClose: _, data: f, roleData: y }) {
34
34
  });
35
35
  };
36
36
  }
37
- }, [P.current]);
37
+ }, [R.current]);
38
38
  const {
39
39
  control: C,
40
40
  formState: { errors: I },
@@ -54,7 +54,7 @@ function ke({ open: R, handleClose: _, data: f, roleData: y }) {
54
54
  "roles",
55
55
  f.roles ? f.roles.map((r) => y == null ? void 0 : y.find((t) => t.name === r)).filter((r) => r !== void 0) : []
56
56
  ), f.escalationLevels || (f.escalationLevels = []), p("escalationLevels", f.escalationLevels);
57
- }, [R]);
57
+ }, [P]);
58
58
  const ne = (o, r) => {
59
59
  const t = o == null ? void 0 : o.map((a) => a.id);
60
60
  p(`selectedPerformer[${r}].roles`, t);
@@ -117,7 +117,7 @@ function ke({ open: R, handleClose: _, data: f, roleData: y }) {
117
117
  } catch (t) {
118
118
  W({ message: t, type: "error" });
119
119
  }
120
- }, M = Re(), fe = async (o) => {
120
+ }, M = Pe(), fe = async (o) => {
121
121
  try {
122
122
  M("button_click", {
123
123
  button_name: f ? "update widget button" : "add widget button",
@@ -127,7 +127,7 @@ function ke({ open: R, handleClose: _, data: f, roleData: y }) {
127
127
  const { roles: r = [], escalationLevels: t } = o, a = r.map((u) => u.id), d = { ...f, escalationLevels: t, roles: a };
128
128
  await Ie(d).catch((u) => {
129
129
  console.error("error in updating notification", u);
130
- }), W({ message: "Widget Updated Successfully", type: "success" }), F.current = !0, _(!0);
130
+ }), W({ message: "Widget Updated Successfully", type: "success" }), F.current = !0, E(!0);
131
131
  } catch (r) {
132
132
  console.error(r);
133
133
  }
@@ -135,9 +135,9 @@ function ke({ open: R, handleClose: _, data: f, roleData: y }) {
135
135
  return /* @__PURE__ */ e(
136
136
  he,
137
137
  {
138
- open: R,
138
+ open: P,
139
139
  anchor: "right",
140
- onClose: _,
140
+ onClose: E,
141
141
  className: "z-[1300]",
142
142
  "data-testid": "addroledrawer-drawer-container",
143
143
  children: /* @__PURE__ */ l(
@@ -145,7 +145,7 @@ function ke({ open: R, handleClose: _, data: f, roleData: y }) {
145
145
  {
146
146
  container: !0,
147
147
  className: "flex flex-col w-full md:w-[600px] ",
148
- ref: P,
148
+ ref: R,
149
149
  children: [
150
150
  /* @__PURE__ */ e(
151
151
  h,
@@ -172,7 +172,7 @@ function ke({ open: R, handleClose: _, data: f, roleData: y }) {
172
172
  /* @__PURE__ */ e("span", { className: "text-red-500 ml-1", children: "*" })
173
173
  ] }),
174
174
  /* @__PURE__ */ e(
175
- Q,
175
+ K,
176
176
  {
177
177
  id: "name",
178
178
  control: C,
@@ -202,7 +202,7 @@ function ke({ open: R, handleClose: _, data: f, roleData: y }) {
202
202
  }
203
203
  ) }),
204
204
  /* @__PURE__ */ e(h, { className: "pt-2", children: /* @__PURE__ */ e(
205
- x,
205
+ S,
206
206
  {
207
207
  variant: "contained",
208
208
  size: "small",
@@ -224,7 +224,7 @@ function ke({ open: R, handleClose: _, data: f, roleData: y }) {
224
224
  /* @__PURE__ */ e(i, { className: "border-r border-gray-300 p-2", children: /* @__PURE__ */ e(m, { variant: "body2", className: "font-bold", children: `${n("Role")}${n("name")} (${n("Assigned to")})` }) }),
225
225
  /* @__PURE__ */ e(i, { className: "p-2", children: /* @__PURE__ */ e(m, { variant: "body2", className: "font-bold", children: n("Delete") }) })
226
226
  ] }) }),
227
- /* @__PURE__ */ e(j, { children: (q = c == null ? void 0 : c.roles) == null ? void 0 : q.map((o, r) => /* @__PURE__ */ l(
227
+ /* @__PURE__ */ e(j, { children: (G = c == null ? void 0 : c.roles) == null ? void 0 : G.map((o, r) => /* @__PURE__ */ l(
228
228
  N,
229
229
  {
230
230
  "data-testid": "addroledrawer-tablerow-roles",
@@ -245,7 +245,7 @@ function ke({ open: R, handleClose: _, data: f, roleData: y }) {
245
245
  /* @__PURE__ */ e(
246
246
  Z,
247
247
  {
248
- open: G === 1 && g === o.id,
248
+ open: q === 1 && g === o.id,
249
249
  handleClose: () => v(0),
250
250
  handleClick: (t) => pe(),
251
251
  title: "CONFIRM ACTION",
@@ -262,7 +262,7 @@ function ke({ open: R, handleClose: _, data: f, roleData: y }) {
262
262
  }
263
263
  ) }),
264
264
  (H = c.escalationLevels) == null ? void 0 : H.map((o, r) => {
265
- var t, a, d, u, A, k, V, J;
265
+ var t, a, d, u, A, k, V, Q;
266
266
  return /* @__PURE__ */ l(Ne.Fragment, { children: [
267
267
  /* @__PURE__ */ e(h, { "data-testid": "addroledrawer-grid-escalationlevel", children: /* @__PURE__ */ l(L, { className: "border border-gray-300", children: [
268
268
  /* @__PURE__ */ e(z, { children: /* @__PURE__ */ l(N, { children: [
@@ -272,7 +272,7 @@ function ke({ open: R, handleClose: _, data: f, roleData: y }) {
272
272
  ] }) }),
273
273
  /* @__PURE__ */ e(j, { children: /* @__PURE__ */ l(N, { "data-testid": "addroledrawer-tablerow-escalationperformer", children: [
274
274
  /* @__PURE__ */ e(i, { className: "border-r border-gray-300 p-2", children: /* @__PURE__ */ e(
275
- Q,
275
+ K,
276
276
  {
277
277
  id: "escalationLevel",
278
278
  control: C,
@@ -301,7 +301,7 @@ function ke({ open: R, handleClose: _, data: f, roleData: y }) {
301
301
  }
302
302
  ) }),
303
303
  /* @__PURE__ */ e(i, { children: /* @__PURE__ */ e(
304
- x,
304
+ S,
305
305
  {
306
306
  variant: "contained",
307
307
  size: "small",
@@ -324,10 +324,10 @@ function ke({ open: R, handleClose: _, data: f, roleData: y }) {
324
324
  /* @__PURE__ */ e(i, { className: "border border-gray-300 p-2", children: /* @__PURE__ */ e(m, { variant: "body2", className: "font-bold", children: n("Roles with perform action") }) }),
325
325
  /* @__PURE__ */ e(i, { className: "p-2", children: /* @__PURE__ */ e(m, { variant: "body2", className: "font-bold", children: n("Delete") }) })
326
326
  ] }) }),
327
- /* @__PURE__ */ e(j, { children: (J = o.roles) == null ? void 0 : J.filter(
327
+ /* @__PURE__ */ e(j, { children: (Q = o.roles) == null ? void 0 : Q.filter(
328
328
  (s) => y.find((b) => b.id === s)
329
329
  ).map((s, b) => {
330
- var K;
330
+ var J;
331
331
  return /* @__PURE__ */ l(
332
332
  N,
333
333
  {
@@ -353,7 +353,7 @@ function ke({ open: R, handleClose: _, data: f, roleData: y }) {
353
353
  "data-testid": "addroledrawer-checkbox-performaction"
354
354
  }
355
355
  ),
356
- /* @__PURE__ */ e(m, { variant: "caption", children: (K = y.find((T) => T.id === s)) == null ? void 0 : K.name })
356
+ /* @__PURE__ */ e(m, { variant: "caption", children: (J = y.find((T) => T.id === s)) == null ? void 0 : J.name })
357
357
  ] }) }),
358
358
  /* @__PURE__ */ l(i, { className: "border border-gray-300 p-2", children: [
359
359
  /* @__PURE__ */ e(
@@ -370,7 +370,7 @@ function ke({ open: R, handleClose: _, data: f, roleData: y }) {
370
370
  /* @__PURE__ */ e(
371
371
  Z,
372
372
  {
373
- open: G === 2 && g === s && oe === r,
373
+ open: q === 2 && g === s && oe === r,
374
374
  handleClose: () => v(0),
375
375
  handleClick: (T) => {
376
376
  ue(T, r);
@@ -405,7 +405,7 @@ function ke({ open: R, handleClose: _, data: f, roleData: y }) {
405
405
  mb: 1.5,
406
406
  children: [
407
407
  /* @__PURE__ */ e(
408
- x,
408
+ S,
409
409
  {
410
410
  variant: "contained",
411
411
  color: "secondary",
@@ -415,14 +415,14 @@ function ke({ open: R, handleClose: _, data: f, roleData: y }) {
415
415
  button_name: "cancel widget button",
416
416
  button_type: "cancel",
417
417
  button_id: "addroledrawer-button-close"
418
- }), se(), $([]), _();
418
+ }), se(), $([]), E();
419
419
  },
420
420
  "data-testid": "addroledrawer-button-close",
421
421
  children: /* @__PURE__ */ e(m, { variant: "caption", children: `${n("Close")}` })
422
422
  }
423
423
  ),
424
424
  /* @__PURE__ */ e(
425
- x,
425
+ S,
426
426
  {
427
427
  variant: "contained",
428
428
  color: "primary",
@@ -443,12 +443,12 @@ function ke({ open: R, handleClose: _, data: f, roleData: y }) {
443
443
  );
444
444
  }
445
445
  ke.propTypes = {
446
- open: S.any,
447
- handleClose: S.func,
448
- data: S.any,
449
- roleData: S.any
446
+ open: _.any,
447
+ handleClose: _.func,
448
+ data: _.any,
449
+ roleData: _.any
450
450
  };
451
451
  export {
452
452
  ke as default
453
453
  };
454
- //# sourceMappingURL=AddRoleDrawer-SvntLdRu.js.map
454
+ //# sourceMappingURL=AddRoleDrawer-CQdzQZLb.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AddRoleDrawer-CQdzQZLb.js","sources":["../src/services/Widgets.js","../src/views/Widgets/AddRoleDrawer.jsx"],"sourcesContent":["import { api } from \"@/common/interceptors/AxiosInterceptor\";\nimport implementationConfig from \"@/common/config/implementationConfig\";\n\nexport const retrieveAllNotifications = (isActive) =>\n api.get(`/notificationtype`, { is_active: isActive });\n\nexport const updateNotification = (data) => api.post(implementationConfig.api.useQueryParamStyle ? \"/notificationtype/update\" : \"/notificationtype\", data);\n","import {\n Button,\n Divider,\n Drawer,\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableRow,\n Typography,\n} from \"@mui/material\";\nimport { Box, Grid, Stack } from \"@mui/system\";\nimport PropTypes from \"prop-types\";\nimport CustomTextField from \"@/views/custom-components/CustomTextField\";\nimport { useForm } from \"react-hook-form\";\nimport * as yup from \"yup\";\nimport { yupResolver } from \"@hookform/resolvers/yup\";\nimport React, { useEffect, useState, useRef } from \"react\";\nimport CustomConfirmationModal from \"@/views/custom-components/CustomConfirmationModal\";\nimport { showToast } from \"@/common/toaster/toaster\";\nimport CustomCheckBox from \"@/views/custom-components/CustomCheckBox\";\nimport { updateNotification } from \"../../services/Widgets\";\nimport useTrackEvent from \"@/hooks/useTrackEvent\";\nimport CustomAutocomplete from \"@/views/custom-components/CustomAutoComplete\";\nimport { useTranslateProvider } from \"@/common/languageTranslator/TranslationContext\";\nimport { faTrash } from \"@fortawesome/free-solid-svg-icons\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\n\nexport default function AddRoleDrawer({ open, handleClose, data, roleData }) {\n const formRef = useRef(null);\n const submitRef = useRef(false);\n const [selectedData, setSelectedData] = useState([]);\n const [deleteId, setDeleteId] = useState(null);\n const [openModal, setOpenModal] = useState(0);\n const [DOMIndex, setDOMIndex] = useState(null);\n const { translate } = useTranslateProvider();\n\n const validationSchema = yup.object().shape({\n name: yup.string().required(\"Enter Name\"),\n });\n useEffect(() => {\n if (formRef.current) {\n let form = formRef.current;\n\n return () => {\n trackEvent(\"conversion_event\", {\n form,\n form_name: \"Add Widget Role\",\n submit: submitRef.current,\n }); // Use the current ref value\n };\n }\n }, [formRef.current]);\n const {\n control,\n formState: { errors },\n handleSubmit,\n setValue,\n getValues,\n watch,\n reset,\n } = useForm({\n defaultValues: { selectedPerformer: [] },\n mode: \"onChange\",\n resolver: yupResolver(validationSchema),\n });\n\n const watchFields = watch();\n\n useEffect(() => {\n setValue(\"name\", data.notificationName);\n data?.roles?.length &&\n setValue(\n \"roles\",\n data.roles\n ? data.roles\n .map((role) => roleData?.find((cur) => cur.name === role))\n .filter((role) => role !== undefined)\n : []\n );\n if (!data.escalationLevels) data.escalationLevels = [];\n setValue(\"escalationLevels\", data.escalationLevels);\n }, [open]);\n\n /**\n * Adds a role to the selected performer at the specified index.\n * @param {Object} val - The role object to be added, containing at least an `id` property.\n * @param {number} index - The index of the performer in the `selectedPerformer` array to which the role should be added.\n *\n * @returns {void}\n */\n\n const addPerformer = (values, index) => {\n const ids = values?.map((value) => value.id);\n setValue(`selectedPerformer[${index}].roles`, ids);\n };\n\n /**\n * Handles the perform action change for a specific role in the escalation levels.\n *\n * @param {boolean} e - The new value indicating whether the action is performed (checked state of the checkbox).\n * @param {number} index - The index of the escalation level in the escalation levels array.\n * @param {number} roleId - The ID of the role whose action status is being updated.\n *\n * @returns {void}\n */\n\n const handlePerformAction = (e, index, roleId) => {\n const previousEscalationValues = getValues(\"escalationLevels\");\n previousEscalationValues[index].performAction[roleId] = e;\n setValue(\"escalationLevels\", previousEscalationValues);\n };\n\n /**\n * Handles adding selected roles to the existing roles table.\n *\n * @description This function checks if the selected roles already exist in the current roles. If they do not exist, it adds them to the roles array and updates the form value. It also clears the `selectedData` after adding the roles.\n *\n * @returns {void}\n */\n const handleAddTable = () => {\n const previousRoleValues = watchFields.roles || [];\n const updatedRoles = [...previousRoleValues];\n selectedData.forEach((role) => {\n const exists = previousRoleValues.some((item) => item.id === role.id);\n if (!exists) {\n updatedRoles.push(role);\n }\n });\n\n setValue(\"roles\", updatedRoles);\n setSelectedData([]);\n };\n\n useEffect(() => {\n const currentSelected = getValues(\"selectedPerformer\");\n const validRoles = watchFields?.roles || [];\n\n const updatedSelected = currentSelected.map((performer) => {\n const filteredRoles = (performer?.roles || []).filter((roleId) =>\n validRoles.some((role) => role.id === roleId)\n );\n\n return { ...performer, roles: filteredRoles };\n });\n\n setValue(\"selectedPerformer\", updatedSelected, { shouldValidate: true });\n }, [watchFields.roles]);\n\n /**\n * Handles adding selected roles to the escalation levels for a specified performer.\n *\n * @description This function retrieves the current escalation levels and the selected performers.\n * It updates the roles of the performer at the given index by merging the selected roles with the\n * existing roles.\n * @param {Event} e - The event object representing the triggering event (e.g., a button click).\n * @param {number} index - The index of the performer whose roles are being updated in the escalation levels table.\n *\n * @returns {void}\n */\n\n const addPerformerInTable = (e, index) => {\n const previousEscalationValues = getValues(\"escalationLevels\");\n const selectedPerformer = getValues(\"selectedPerformer\");\n previousEscalationValues[index].roles = [\n ...new Set([\n ...previousEscalationValues[index].roles,\n ...selectedPerformer[index].roles,\n ]),\n ];\n\n selectedPerformer[index].roles.forEach((role) => {\n previousEscalationValues[index].performAction[role] =\n previousEscalationValues[index].performAction[role] || false;\n });\n selectedPerformer[index].roles = [];\n\n setValue(\"escalationLevels\", previousEscalationValues);\n setValue(\"selectedPerformer\", selectedPerformer);\n };\n\n /**\n * Handles the deletion of a role feature from the roles and escalation levels.\n *\n * @returns {void}\n */\n\n const handleDeleteRoleFeature = () => {\n try {\n const prevValue = getValues(\"roles\");\n const updatedValue = prevValue.filter((role) => role.id !== deleteId);\n setValue(\"roles\", [...updatedValue]);\n\n const previousEscalationValues = getValues(\"escalationLevels\");\n\n const updatedEscalationValues = previousEscalationValues.map(\n (escalationLevel) => {\n // Remove the role from the roles array\n const updatedRoles = escalationLevel.roles.filter(\n (roleId) => roleId !== deleteId\n );\n // Remove the role from the performAction object\n // eslint-disable-next-line no-unused-vars\n const { [deleteId]: _, ...updatedPerformAction } =\n escalationLevel.performAction;\n\n return {\n ...escalationLevel,\n roles: updatedRoles,\n performAction: updatedPerformAction,\n };\n }\n );\n\n setValue(\"escalationLevels\", updatedEscalationValues);\n setOpenModal(0);\n } catch (error) {\n showToast({ message: error, type: \"error\" });\n }\n };\n\n /**\n * Deletes a role from the escalation levels at the specified index.\n * @param {string} value - The value associated with the role being deleted (not currently used in the function).\n * @param {number} index - The index of the escalation level from which the role should be deleted.\n *\n * @returns {void}\n */\n const DeleteRolesWithActions = (value, index) => {\n try {\n const prevValue = getValues(\"escalationLevels\");\n prevValue[index].roles = prevValue[index].roles.filter(\n (role) => role !== deleteId\n );\n\n // eslint-disable-next-line no-unused-vars\n const { [deleteId]: _, ...updatedPerformAction } =\n prevValue[index].performAction;\n prevValue[index].performAction = updatedPerformAction;\n setValue(\"escalationValues\", [...prevValue]);\n\n setOpenModal(0);\n } catch (error) {\n showToast({ message: error, type: \"error\" });\n }\n };\n\n /**\n * Handles the form submission by updating notification data with the provided values.\n * @param {Object} values - The submitted form values.\n * @param {Array} values.roles - The list of roles, each containing an `id`.\n * @param {Array} values.escalationLevels - The updated escalation levels.\n *\n * @returns {Promise<void>} - A promise that resolves when the submission is complete.\n */\n const trackEvent = useTrackEvent();\n\n const onSubmit = async (values) => {\n try {\n trackEvent(\"button_click\", {\n button_name: data ? \"update widget button\" : \"add widget button\",\n button_type: \"submit\",\n button_id: \"addroledrawer-button-submit\",\n });\n\n const { roles = [], escalationLevels } = values;\n const roleIds = roles.map((role) => role.id);\n const updatedData = { ...data, escalationLevels, roles: roleIds };\n await updateNotification(updatedData).catch((e) => {\n console.error(\"error in updating notification\", e);\n });\n showToast({ message: \"Widget Updated Successfully\", type: \"success\" });\n submitRef.current = true;\n handleClose(true);\n } catch (error) {\n console.error(error);\n }\n };\n\n return (\n <Drawer\n open={open}\n anchor=\"right\"\n onClose={handleClose}\n className=\"z-[1300]\"\n data-testid=\"addroledrawer-drawer-container\"\n >\n <Grid\n container\n className=\"flex flex-col w-full md:w-[600px] \"\n ref={formRef}\n >\n <Grid\n p={1}\n alignContent={\"flex-start\"}\n className=\"p-2.5 px-5 flex border-b font-medium text-lg\"\n data-testid=\"addroledrawer-grid-header uppercase\"\n >\n {translate(\"Assign Role\")}\n </Grid>\n <Grid\n container\n display={\"flex\"}\n flexDirection={\"column\"}\n p={1}\n data-testid=\"addroledrawer-grid-content\"\n >\n <Grid data-testid=\"addroledrawer-grid-name\">\n <Typography variant=\"body2\">\n {translate(\"Name\")}\n <span className=\"text-red-500 ml-1\">*</span>\n </Typography>\n <CustomTextField\n id={\"name\"}\n control={control}\n name={\"name\"}\n errors={errors}\n InputProps={{\n readOnly: true,\n }}\n dataTestId=\"addroledrawer-textfield-name\"\n />\n </Grid>\n <Grid data-testid=\"addroledrawer-grid-actionby\">\n <Typography variant=\"body2\" mt={1}>\n {translate(\"Select Role\")}\n </Typography>\n <Grid container display={\"flex\"} flexDirection={\"row\"}>\n <Grid width={\"70%\"} mr={2}>\n <CustomAutocomplete\n name=\"role\"\n control={control}\n value={selectedData}\n options={roleData}\n getOptionLabel={(option) => option.name}\n errors={errors}\n dataTestId=\"addroledrawer-select-roles\"\n onChange={(e, val) => setSelectedData(val)}\n />\n </Grid>\n <Grid className=\"pt-2\">\n <Button\n variant=\"contained\"\n size=\"small\"\n disabled={!selectedData.length}\n onClick={handleAddTable}\n data-testid=\"addroledrawer-button-add\"\n >\n {translate(\"Assign\")}\n </Button>\n </Grid>\n </Grid>\n </Grid>\n <Grid data-testid=\"addroledrawer-grid-table\">\n <Table\n data-testid=\"addroledrawer-table\"\n className=\"border border-gray-300\"\n >\n <TableHead>\n <TableRow>\n <TableCell className=\"border-r border-gray-300 p-2\">\n <Typography variant=\"body2\" className=\"font-bold\">\n {`${translate(\"Role\")}${translate(\"name\")} (${translate(\"Assigned to\")})`}\n </Typography>\n </TableCell>\n <TableCell className=\"p-2\">\n <Typography variant=\"body2\" className=\"font-bold\">\n {translate(\"Delete\")}\n </Typography>\n </TableCell>\n </TableRow>\n </TableHead>\n <TableBody>\n {watchFields?.roles?.map((item, index) => (\n <TableRow\n key={item.id}\n data-testid=\"addroledrawer-tablerow-roles\"\n >\n <TableCell className=\"border border-gray-300 p-2\">\n <Typography variant=\"caption\">{item.name}</Typography>\n </TableCell>\n <TableCell className=\"p-2\">\n <FontAwesomeIcon\n icon={faTrash}\n className=\"text-[18px] text-[var(--color-error)]\"\n onClick={() => {\n setOpenModal(1);\n setDeleteId(item.id);\n }}\n data-testid=\"addroledrawer-icon-delete\"\n />\n <CustomConfirmationModal\n open={openModal === 1 && deleteId === item.id}\n handleClose={() => setOpenModal(0)}\n handleClick={(e) => handleDeleteRoleFeature(e, index)}\n title={\"CONFIRM ACTION\"}\n description={\n \"Are you sure you want to delete this role? It will also delete role from each escalation level.\"\n }\n dataTestId=\"addroledrawer-modal-confirmdelete\"\n />\n </TableCell>\n </TableRow>\n ))}\n </TableBody>\n </Table>\n </Grid>\n {watchFields.escalationLevels?.map((escalationLevelData, index) => (\n <React.Fragment key={escalationLevelData.id}>\n <Grid data-testid=\"addroledrawer-grid-escalationlevel\">\n <Table className=\"border border-gray-300\">\n <TableHead>\n <TableRow>\n <TableCell className=\"border-r border-gray-300 p-2 w-80\">\n <Typography variant=\"body2\" className=\"font-bold\">\n {translate(\"Escalation Level\")}\n </Typography>\n </TableCell>\n <TableCell className=\"border-r border-gray-300 p-2 w-60\">\n <Typography variant=\"body2\" className=\"font-bold\">\n {translate(\"Performer\")}\n </Typography>\n </TableCell>\n <TableCell className=\"p-2 w-40 \">\n <Typography variant=\"body2\" className=\"font-bold\">\n {translate(\"Action\")}\n </Typography>\n </TableCell>\n </TableRow>\n </TableHead>\n <TableBody>\n <TableRow data-testid=\"addroledrawer-tablerow-escalationperformer\">\n <TableCell className=\"border-r border-gray-300 p-2\">\n <CustomTextField\n id={\"escalationLevel\"}\n control={control}\n name={`escalationLevelData[${index}].name`}\n defaultValue={escalationLevelData?.name}\n errors={errors}\n disabled={true}\n dataTestId=\"addroledrawer-textfield-escalationlevel\"\n />\n </TableCell>\n <TableCell className=\"border-r border-gray-300 p-2\">\n <CustomAutocomplete\n control={control}\n value={\n watchFields.selectedPerformer?.[index]?.roles\n ? watchFields.selectedPerformer[\n index\n ]?.roles?.map((role) =>\n roleData.find((item) => item.id === role)\n )\n : []\n }\n name={`selectedPerformer[${index}].roles`}\n options={watchFields?.roles?.map((role) =>\n roleData.find((item) => item.id === role.id)\n )}\n getOptionLabel={(option) => option?.name}\n onChange={(e, val) => addPerformer(val, index)}\n dataTestId=\"addroledrawer-select-performer\"\n errors={errors}\n />\n </TableCell>\n <TableCell>\n <Button\n variant=\"contained\"\n size=\"small\"\n disabled={\n !watchFields.selectedPerformer[index]?.roles?.length\n }\n onClick={(e) => addPerformerInTable(e, index)}\n data-testid=\"addroledrawer-button-addperformer\"\n >\n {translate(\"Add\")}\n </Button>\n </TableCell>\n </TableRow>\n </TableBody>\n </Table>\n </Grid>\n <Grid>\n {escalationLevelData.roles.length ? (\n <Table\n className=\"border border-gray-300\"\n data-testid=\"addroledrawer-table-performactionroles\"\n >\n <TableHead>\n <TableRow>\n <TableCell className=\"border border-gray-300 p-2\">\n <Typography variant=\"body2\" className=\"font-bold\">\n {translate(\"Name\")}\n </Typography>\n </TableCell>\n <TableCell className=\"border border-gray-300 p-2\">\n <Typography variant=\"body2\" className=\"font-bold\">\n {translate(\"Roles with perform action\")}\n </Typography>\n </TableCell>\n <TableCell className=\"p-2\">\n <Typography variant=\"body2\" className=\"font-bold\">\n {translate(\"Delete\")}\n </Typography>\n </TableCell>\n </TableRow>\n </TableHead>\n <TableBody>\n {escalationLevelData.roles\n ?.filter((item) =>\n roleData.find((role) => role.id === item)\n ) // Filter first\n .map((item, roleIndex) => (\n <TableRow\n key={item}\n data-testid=\"addroledrawer-tablerow-roleactions\"\n >\n {roleIndex === 0 && (\n <TableCell\n className=\"border border-gray-300 p-2\"\n rowSpan={escalationLevelData.roles.length}\n >\n {escalationLevelData.name}\n </TableCell>\n )}\n <TableCell className=\"border border-gray-300 p-2\">\n <Box className=\"flex items-center\">\n <CustomCheckBox\n name={`${index}-${roleIndex}`}\n control={control}\n isFullWidth={false}\n checked={\n escalationLevelData.performAction[item]\n }\n onChange={(e) =>\n handlePerformAction(e, index, item)\n }\n data-testid=\"addroledrawer-checkbox-performaction\"\n />\n <Typography variant=\"caption\">\n {\n roleData.find((role) => role.id === item)\n ?.name\n }\n </Typography>\n </Box>\n </TableCell>\n <TableCell className=\"border border-gray-300 p-2\">\n <FontAwesomeIcon\n icon={faTrash}\n className=\"text-[18px] text-[var(--color-error)]\"\n onClick={() => {\n setOpenModal(2);\n setDeleteId(item);\n setDOMIndex(index);\n }}\n data-testid=\"addroledrawer-icon-deleterole\"\n />\n <CustomConfirmationModal\n open={\n openModal === 2 &&\n deleteId === item &&\n DOMIndex === index\n }\n handleClose={() => setOpenModal(0)}\n handleClick={(e) => {\n DeleteRolesWithActions(e, index);\n }}\n title={\"CONFIRM ACTION\"}\n description={\n \"Are you sure you want to delete this role?\"\n }\n dataTestId=\"addroledrawer-modal-confirmdeleterole\"\n />\n </TableCell>\n </TableRow>\n ))}\n </TableBody>\n </Table>\n ) : null}\n </Grid>\n </React.Fragment>\n ))}\n </Grid>\n <Divider data-testid=\"addroledrawer-divider\" />\n <Stack\n direction=\"row\"\n spacing={2}\n justifyContent=\"flex-end\"\n mt={2}\n mb={1.5}\n >\n <Button\n variant=\"contained\"\n color=\"secondary\"\n size=\"small\"\n onClick={() => {\n trackEvent(\"button_click\", {\n button_name: \"cancel widget button\",\n button_type: \"cancel\",\n button_id: \"addroledrawer-button-close\",\n });\n reset();\n setSelectedData([]);\n handleClose();\n }}\n data-testid=\"addroledrawer-button-close\"\n >\n <Typography variant=\"caption\">{`${translate(\"Close\")}`}</Typography>\n </Button>\n <Button\n variant=\"contained\"\n color=\"primary\"\n className=\"mr-2\"\n size=\"small\"\n onClick={handleSubmit(onSubmit)}\n data-testid=\"addroledrawer-button-submit\"\n >\n {translate(\"Update\")}\n </Button>\n </Stack>\n </Grid>\n </Drawer>\n );\n}\nAddRoleDrawer.propTypes = {\n open: PropTypes.any,\n handleClose: PropTypes.func,\n data: PropTypes.any,\n roleData: PropTypes.any,\n};\n"],"names":["updateNotification","data","api","implementationConfig","AddRoleDrawer","open","handleClose","roleData","formRef","useRef","submitRef","selectedData","setSelectedData","useState","deleteId","setDeleteId","openModal","setOpenModal","DOMIndex","setDOMIndex","translate","useTranslateProvider","validationSchema","yup","useEffect","form","trackEvent","control","errors","handleSubmit","setValue","getValues","watch","reset","useForm","yupResolver","watchFields","_a","role","cur","addPerformer","values","index","ids","value","handlePerformAction","e","roleId","previousEscalationValues","handleAddTable","previousRoleValues","updatedRoles","item","currentSelected","validRoles","updatedSelected","performer","filteredRoles","addPerformerInTable","selectedPerformer","handleDeleteRoleFeature","updatedValue","updatedEscalationValues","escalationLevel","_","updatedPerformAction","error","showToast","DeleteRolesWithActions","prevValue","useTrackEvent","onSubmit","roles","escalationLevels","roleIds","updatedData","jsx","Drawer","jsxs","Grid","Typography","CustomTextField","CustomAutocomplete","option","val","Button","Table","TableHead","TableRow","TableCell","TableBody","FontAwesomeIcon","faTrash","CustomConfirmationModal","_b","escalationLevelData","React","_d","_c","_e","_g","_f","_h","roleIndex","Box","CustomCheckBox","Divider","Stack","PropTypes"],"mappings":"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"}