@argusoft/medplat-core 1.0.26 → 1.0.28

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 (58) hide show
  1. package/dist/{AccessRights-CupmTG3T.js → AccessRights-CHu27ZOw.js} +220 -217
  2. package/dist/AccessRights-CHu27ZOw.js.map +1 -0
  3. package/dist/{AddEditQueryBuilder-C8ZSkOF0.js → AddEditQueryBuilder-Brdnm6rQ.js} +2 -2
  4. package/dist/{AddEditQueryBuilder-C8ZSkOF0.js.map → AddEditQueryBuilder-Brdnm6rQ.js.map} +1 -1
  5. package/dist/{AddFeatures-CqE3v0BN.js → AddFeatures-C0Z29oSd.js} +2 -2
  6. package/dist/{AddFeatures-CqE3v0BN.js.map → AddFeatures-C0Z29oSd.js.map} +1 -1
  7. package/dist/{AddLabelModal-CB8E8cYG.js → AddLabelModal-DFllBVcd.js} +2 -2
  8. package/dist/{AddLabelModal-CB8E8cYG.js.map → AddLabelModal-DFllBVcd.js.map} +1 -1
  9. package/dist/{AppModal-BKgIwe1h.js → AppModal-CtG2GjD_.js} +2 -2
  10. package/dist/{AppModal-BKgIwe1h.js.map → AppModal-CtG2GjD_.js.map} +1 -1
  11. package/dist/{ChangePasswordModalCore-DTYWRTa-.js → ChangePasswordModalCore-CDxkeIIM.js} +2 -2
  12. package/dist/{ChangePasswordModalCore-DTYWRTa-.js.map → ChangePasswordModalCore-CDxkeIIM.js.map} +1 -1
  13. package/dist/{EventConfigurations-lPcZGpLi.js → EventConfigurations-kNtAj_WM.js} +76 -76
  14. package/dist/EventConfigurations-kNtAj_WM.js.map +1 -0
  15. package/dist/{FeatureMenu-DUZL32RI.js → FeatureMenu-jl7-Tk6y.js} +49 -49
  16. package/dist/FeatureMenu-jl7-Tk6y.js.map +1 -0
  17. package/dist/{ImmunizationConfigurationBase-BevKZx_l.js → ImmunizationConfigurationBase-DZGqwda2.js} +470 -470
  18. package/dist/ImmunizationConfigurationBase-DZGqwda2.js.map +1 -0
  19. package/dist/{ImmunizationConfigurationsList-K2ddBpPJ.js → ImmunizationConfigurationsList-DdSZicTP.js} +72 -73
  20. package/dist/{ImmunizationConfigurationsList-K2ddBpPJ.js.map → ImmunizationConfigurationsList-DdSZicTP.js.map} +1 -1
  21. package/dist/{LanguagesModal-CX3oS8rk.js → LanguagesModal-D6VfaGrl.js} +2 -2
  22. package/dist/{LanguagesModal-CX3oS8rk.js.map → LanguagesModal-D6VfaGrl.js.map} +1 -1
  23. package/dist/{ManageNotification-CSl02Wq7.js → ManageNotification-CaBAOhji.js} +2 -2
  24. package/dist/{ManageNotification-CSl02Wq7.js.map → ManageNotification-CaBAOhji.js.map} +1 -1
  25. package/dist/{ManageRole-B9bs_T00.js → ManageRole-CGYfglpo.js} +2 -2
  26. package/dist/{ManageRole-B9bs_T00.js.map → ManageRole-CGYfglpo.js.map} +1 -1
  27. package/dist/{ManageTranslation-D9IScGhk.js → ManageTranslation-B4C9-lWD.js} +74 -74
  28. package/dist/ManageTranslation-B4C9-lWD.js.map +1 -0
  29. package/dist/{ManageUser-AB3_Vfp_.js → ManageUser-AY1EUDLI.js} +600 -601
  30. package/dist/{ManageUser-AB3_Vfp_.js.map → ManageUser-AY1EUDLI.js.map} +1 -1
  31. package/dist/{NotificationList-D1U1LYnz.js → NotificationList-C3Vb_jKU.js} +73 -73
  32. package/dist/NotificationList-C3Vb_jKU.js.map +1 -0
  33. package/dist/{QueryBuilder-DI0wCJbz.js → QueryBuilder-z7eqfd7D.js} +117 -119
  34. package/dist/QueryBuilder-z7eqfd7D.js.map +1 -0
  35. package/dist/{QueryManagement-CRykYGum.js → QueryManagement-BIhEDKuA.js} +114 -114
  36. package/dist/QueryManagement-BIhEDKuA.js.map +1 -0
  37. package/dist/{RoleManagement-BIiW9uTq.js → RoleManagement-BPl2cE27.js} +99 -99
  38. package/dist/RoleManagement-BPl2cE27.js.map +1 -0
  39. package/dist/{SubMenu-CM_4wNCR.js → SubMenu-DYxAPH2Z.js} +34 -34
  40. package/dist/SubMenu-DYxAPH2Z.js.map +1 -0
  41. package/dist/{UserList-2gGuDgNa.js → UserList-Bc8gYxRL.js} +397 -400
  42. package/dist/UserList-Bc8gYxRL.js.map +1 -0
  43. package/dist/{WidgetList-B7X8Awkg.js → WidgetList-Dw_FmbbE.js} +26 -26
  44. package/dist/WidgetList-Dw_FmbbE.js.map +1 -0
  45. package/dist/index.js +11 -11
  46. package/package.json +1 -1
  47. package/dist/AccessRights-CupmTG3T.js.map +0 -1
  48. package/dist/EventConfigurations-lPcZGpLi.js.map +0 -1
  49. package/dist/FeatureMenu-DUZL32RI.js.map +0 -1
  50. package/dist/ImmunizationConfigurationBase-BevKZx_l.js.map +0 -1
  51. package/dist/ManageTranslation-D9IScGhk.js.map +0 -1
  52. package/dist/NotificationList-D1U1LYnz.js.map +0 -1
  53. package/dist/QueryBuilder-DI0wCJbz.js.map +0 -1
  54. package/dist/QueryManagement-CRykYGum.js.map +0 -1
  55. package/dist/RoleManagement-BIiW9uTq.js.map +0 -1
  56. package/dist/SubMenu-CM_4wNCR.js.map +0 -1
  57. package/dist/UserList-2gGuDgNa.js.map +0 -1
  58. package/dist/WidgetList-B7X8Awkg.js.map +0 -1
@@ -1,10 +1,10 @@
1
- import { jsxs as l, jsx as t, Fragment as R } from "react/jsx-runtime";
1
+ import { jsxs as l, jsx as t, Fragment as $ } from "react/jsx-runtime";
2
2
  import g from "@/common/services/util/GeneralUtil";
3
3
  import { useState as d, useEffect as ue, Suspense as K, lazy as Z } from "react";
4
4
  import fe from "@/views/custom-components/CustomConfirmationModal";
5
- import { Box as p, Card as C, Typography as m, Button as T, TextField as X, Switch as pe, Chip as _ } from "@mui/material";
6
- import { alpha as S } from "@mui/material/styles";
7
- import { useTranslateProvider as he } from "@/common/languageTranslator/TranslationContext";
5
+ import { Box as h, Card as I, Typography as m, Button as S, TextField as X, Switch as he, Chip as _ } from "@mui/material";
6
+ import { alpha as A } from "@mui/material/styles";
7
+ import { useTranslateProvider as pe } from "@/common/languageTranslator/TranslationContext";
8
8
  import O from "@/common/config/implementationConfig";
9
9
  import { api as f } from "@/common/interceptors/AxiosInterceptor";
10
10
  import { getRoleList as z } from "@/common/services/GlobalApis.js";
@@ -16,9 +16,9 @@ import ye from "@/hooks/useTrackEvent";
16
16
  import j from "prop-types";
17
17
  import { useSelector as ee } from "react-redux";
18
18
  import { getUseSkeleton as be } from "@/store/reducers/SkeletonReducer";
19
- const V = () => f.get("/role"), we = (o) => f.delete(O.api.useQueryParamStyle ? `/menuconfig/usermenuitem/delete?empMenuItemId=${o}` : `/menuconfig/usermenuitem/${o}`), Ne = (o) => f.get(O.api.useQueryParamStyle ? `/role/retrieveById?id=${o}` : `/role/${o}`), Ye = (o) => f.post("/role", { ...o }), Qe = (o) => O.api.useQueryParamStyle ? f.put("/role/update", { ...o }) : f.post("/role", { ...o }), Ie = (o) => f.put(`role/?is_active=${o.state === "INACTIVE" ? "true" : "false"}`, {
20
- ...o
21
- }), Je = (o, n) => f.post(`/menuconfig/assignnewfeature?roleId=${n}`, { ...o }), te = ({ children: o, isLoading: n = !0 }) => !ee(be) || !n ? o : /* @__PURE__ */ l("div", { className: "pt-6 relative h-[90vh]", children: [
19
+ const V = () => f.get("/role"), we = (n) => f.delete(O.api.useQueryParamStyle ? `/menuconfig/usermenuitem/delete?empMenuItemId=${n}` : `/menuconfig/usermenuitem/${n}`), Ne = (n) => f.get(O.api.useQueryParamStyle ? `/role/retrieveById?id=${n}` : `/role/${n}`), Ye = (n) => f.post("/role", { ...n }), Qe = (n) => O.api.useQueryParamStyle ? f.put("/role/update", { ...n }) : f.post("/role", { ...n }), Ce = (n) => f.put(`role/?is_active=${n.state === "INACTIVE" ? "true" : "false"}`, {
20
+ ...n
21
+ }), Je = (n, o) => f.post(`/menuconfig/assignnewfeature?roleId=${o}`, { ...n }), te = ({ children: n, isLoading: o = !0 }) => !ee(be) || !o ? n : /* @__PURE__ */ l("div", { className: "pt-6 relative h-[90vh]", children: [
22
22
  /* @__PURE__ */ l("div", { className: "flex flex-row h-[80vh] ", children: [
23
23
  /* @__PURE__ */ l("div", { className: "flex flex-col border border-gray-300 w-[20%] p-2 mr-3 rounded-md", children: [
24
24
  " ",
@@ -45,84 +45,84 @@ te.propTypes = {
45
45
  loading: j.any,
46
46
  isLoading: j.any
47
47
  };
48
- const Ce = Z(() => import("./AddFeatures-CqE3v0BN.js")), Te = Z(() => import("./ManageRole-B9bs_T00.js"));
49
- function Se() {
48
+ const Ie = Z(() => import("./AddFeatures-C0Z29oSd.js")), Se = Z(() => import("./ManageRole-CGYfglpo.js"));
49
+ function Ae() {
50
50
  var H;
51
- const { translate: o } = he(), [n, y] = d(""), [a, b] = d(n[0]), [A, ae] = d(!1), [P, u] = d(!1), [B, D] = d(!1), [F, U] = d(0), [W, k] = d(""), [w, Y] = d(""), [c, re] = d({}), [se, E] = d(!1), Q = ye(), J = ee((e) => e.Authenticate.user.roleId), [M, le] = d([]), N = async (e = !1) => {
52
- var r;
51
+ const { translate: n } = pe(), [o, y] = d(""), [a, b] = d(o[0]), [T, ae] = d(!1), [P, u] = d(!1), [B, D] = d(!1), [k, U] = d(0), [W, F] = d(""), [w, Y] = d(""), [c, se] = d(null), [re, E] = d(!1), Q = ye(), J = ee((e) => e.Authenticate.user.roleId), [R, le] = d([]), N = async (e = !1) => {
52
+ var s;
53
53
  try {
54
54
  u(!0);
55
- const s = A ? V() : z();
56
- let i, h = [];
55
+ const r = T ? V() : z();
56
+ let i, p = [];
57
57
  if (J) {
58
- const [{ data: v }, $] = await Promise.all([
59
- s,
58
+ const [{ data: v }, L] = await Promise.all([
59
+ r,
60
60
  Ne(J)
61
61
  ]);
62
- i = v, h = ((r = $ == null ? void 0 : $.data) == null ? void 0 : r.roleIds) || [];
62
+ i = v, p = ((s = L == null ? void 0 : L.data) == null ? void 0 : s.roleIds) || [];
63
63
  } else {
64
- const { data: v } = await s;
64
+ const { data: v } = await r;
65
65
  i = v;
66
66
  }
67
- le(h);
68
- const L = h.length > 0 ? i.filter((v) => h.includes(v.id)) : i;
69
- y(L), !e && L.length > 0 && b(L[0]);
70
- } catch (s) {
71
- console.error(s), x({ message: "Error in getting role data", type: "error" });
67
+ le(p);
68
+ const M = p.length > 0 ? i.filter((v) => p.includes(v.id)) : i;
69
+ y(M), !e && M.length > 0 && b(M[0]);
70
+ } catch (r) {
71
+ console.error(r), x({ message: "Error in getting role data", type: "error" });
72
72
  } finally {
73
73
  u(!1);
74
74
  }
75
75
  };
76
76
  ue(function() {
77
77
  (async () => {
78
- const { data: r } = await ge("techo.manage.role");
79
- r && re(JSON.parse(r));
78
+ const { data: s } = await ge("techo.manage.role");
79
+ s && se(JSON.parse(s));
80
80
  })(), N();
81
81
  }, []);
82
- const oe = async (e) => {
83
- let r = e.target.checked;
82
+ const ne = async (e) => {
83
+ let s = e.target.checked;
84
84
  ae(e.target.checked);
85
85
  try {
86
86
  u((i) => !i);
87
- let s;
88
- r ? { data: s } = await V() : { data: s } = await z(), M && M.length > 0 && (s = s.filter(
89
- (i) => M.includes(i.id)
90
- )), y(s), b(s[0]), u((i) => !i), k("");
91
- } catch (s) {
92
- console.error(s), x({ message: "Error in getting role data", type: "error" }), u((i) => !i);
87
+ let r;
88
+ s ? { data: r } = await V() : { data: r } = await z(), R && R.length > 0 && (r = r.filter(
89
+ (i) => R.includes(i.id)
90
+ )), y(r), b(r[0]), u((i) => !i), F("");
91
+ } catch (r) {
92
+ console.error(r), x({ message: "Error in getting role data", type: "error" }), u((i) => !i);
93
93
  }
94
- }, G = n ? n == null ? void 0 : n.filter(
94
+ }, G = o ? o == null ? void 0 : o.filter(
95
95
  (e) => e.name.toLowerCase().includes(W.toLowerCase())
96
- ) : [], ne = (e) => {
96
+ ) : [], oe = (e) => {
97
97
  if (!e) return "";
98
- const r = new Date(Number(e)), s = String(r.getDate()).padStart(2, "0"), i = String(r.getMonth() + 1).padStart(2, "0"), h = r.getFullYear();
99
- return `${s}/${i}/${h}`;
98
+ const s = new Date(Number(e)), r = String(s.getDate()).padStart(2, "0"), i = String(s.getMonth() + 1).padStart(2, "0"), p = s.getFullYear();
99
+ return `${r}/${i}/${p}`;
100
100
  }, ie = async () => {
101
101
  E(!1);
102
102
  try {
103
- const e = n == null ? void 0 : n.find((s) => s.id === a.id);
104
- await Ie(e), x({
103
+ const e = o == null ? void 0 : o.find((r) => r.id === a.id);
104
+ await Ce(e), x({
105
105
  message: `State succesfully changed from ${(e == null ? void 0 : e.state) === "INACTIVE" ? "inactive" : "active"} to ${(e == null ? void 0 : e.state) === "INACTIVE" ? "active" : "inactive"}`,
106
106
  type: "success"
107
107
  });
108
- let r;
109
- u((s) => !s), A ? r = await V() : r = await z(), y(r.data), b(r.data[0]), u((s) => !s);
108
+ let s;
109
+ u((r) => !r), T ? s = await V() : s = await z(), y(s.data), b(s.data[0]), u((r) => !r);
110
110
  } catch (e) {
111
- console.error(e), x({ message: "Error in handle active", type: "error" }), u((r) => !r);
111
+ console.error(e), x({ message: "Error in handle active", type: "error" }), u((s) => !s);
112
112
  }
113
- }, I = n ? (H = n.find((e) => e.id === a.id)) == null ? void 0 : H.assignedFeatureList.filter(
113
+ }, C = o ? (H = o.find((e) => e.id === a.id)) == null ? void 0 : H.assignedFeatureList.filter(
114
114
  (e) => {
115
- var r;
116
- return (r = e.featureName) == null ? void 0 : r.toLowerCase().includes(w == null ? void 0 : w.toLowerCase());
115
+ var s;
116
+ return (s = e.featureName) == null ? void 0 : s.toLowerCase().includes(w == null ? void 0 : w.toLowerCase());
117
117
  }
118
- ).sort((e, r) => {
119
- var s;
120
- return (s = e.featureName) == null ? void 0 : s.localeCompare(r.featureName);
118
+ ).sort((e, s) => {
119
+ var r;
120
+ return (r = e.featureName) == null ? void 0 : r.localeCompare(s.featureName);
121
121
  }) : [], ce = async (e) => {
122
122
  try {
123
123
  await we(e.userMenuItemId), await N(!0), Y(""), x({ message: "Feature deleted successfully!", type: "success" });
124
- } catch (r) {
125
- x({ message: r, type: "error" });
124
+ } catch (s) {
125
+ x({ message: s, type: "error" });
126
126
  }
127
127
  }, q = (e) => {
128
128
  U(e), Q("button_click", {
@@ -131,7 +131,7 @@ function Se() {
131
131
  button_id: `roles-${e === 1 ? "add" : "edit"}-button`
132
132
  });
133
133
  }, de = () => {
134
- N(), k("");
134
+ N(), F("");
135
135
  }, me = async () => {
136
136
  try {
137
137
  D(!0), await Q("button_click", {
@@ -143,15 +143,15 @@ function Se() {
143
143
  console.error(e);
144
144
  }
145
145
  };
146
- return g.isTecho && !P && !(c != null && c["view.manage.role"]) ? /* @__PURE__ */ t(p, { className: "flex justify-center items-center w-full h-[80vh]", children: /* @__PURE__ */ t(
147
- C,
146
+ return !P && c !== null && !g.hasCheckRights(c == null ? void 0 : c["view.manage.role"]) ? /* @__PURE__ */ t(h, { className: "flex justify-center items-center w-full h-[80vh]", children: /* @__PURE__ */ t(
147
+ I,
148
148
  {
149
149
  className: "h-80 w-150 flex justify-center items-center",
150
150
  children: /* @__PURE__ */ t(m, { variant: "h5", className: "text-customBlue", children: "You dont have permission to view Roles" })
151
151
  }
152
- ) }) : /* @__PURE__ */ t(te, { isLoading: P, children: /* @__PURE__ */ l(p, { className: "flex flex-col gap-4 p-4 min-[900px]:flex-row min-[900px]:h-[calc(100vh-80px)]", children: [
152
+ ) }) : /* @__PURE__ */ t(te, { isLoading: P, children: /* @__PURE__ */ l(h, { className: "flex flex-col gap-4 p-4 min-[900px]:flex-row min-[900px]:h-[calc(100vh-80px)]", children: [
153
153
  /* @__PURE__ */ l(
154
- C,
154
+ I,
155
155
  {
156
156
  variant: "outlined",
157
157
  className: "w-full min-[900px]:w-[300px] flex flex-col p-4",
@@ -166,15 +166,15 @@ function Se() {
166
166
  children: "User Roles"
167
167
  }
168
168
  ),
169
- (!g.isTecho || (c == null ? void 0 : c["create.manage.role"])) && /* @__PURE__ */ t(
170
- T,
169
+ g.hasCheckRights(c == null ? void 0 : c["create.manage.role"]) && /* @__PURE__ */ t(
170
+ S,
171
171
  {
172
172
  size: "small",
173
173
  variant: "contained",
174
174
  color: "primary",
175
175
  onClick: () => q(1),
176
176
  "data-testid": "managerole-add-button",
177
- children: o("+ Add Role")
177
+ children: n("+ Add Role")
178
178
  }
179
179
  )
180
180
  ] }),
@@ -186,30 +186,30 @@ function Se() {
186
186
  placeholder: "Search roles...",
187
187
  fullWidth: !0,
188
188
  value: W,
189
- onChange: (e) => k(e.target.value),
189
+ onChange: (e) => F(e.target.value),
190
190
  "data-testid": "listofroles-search-input"
191
191
  }
192
192
  ),
193
193
  /* @__PURE__ */ l("div", { className: "flex items-center gap-2 mt-3", children: [
194
194
  /* @__PURE__ */ t(
195
- pe,
195
+ he,
196
196
  {
197
197
  size: "small",
198
- checked: A,
199
- onChange: oe
198
+ checked: T,
199
+ onChange: ne
200
200
  }
201
201
  ),
202
202
  /* @__PURE__ */ t(m, { variant: "body2", children: "Include Inactive" })
203
203
  ] }),
204
- /* @__PURE__ */ t("div", { className: "flex-1 overflow-y-auto mt-4", children: G.length > 0 && /* @__PURE__ */ t(R, { children: G.map((e) => /* @__PURE__ */ l(
205
- C,
204
+ /* @__PURE__ */ t("div", { className: "flex-1 overflow-y-auto mt-4", children: G.length > 0 && /* @__PURE__ */ t($, { children: G.map((e) => /* @__PURE__ */ l(
205
+ I,
206
206
  {
207
207
  variant: "outlined",
208
208
  onClick: () => b(e),
209
209
  className: `p-3 cursor-pointer transition
210
210
  ${a.id === e.id ? "border-b-2" : "border-b-2 border-0"}`,
211
211
  sx: a.id === e.id ? {
212
- bgcolor: (r) => S(r.palette.primary.main, 0.08)
212
+ bgcolor: (s) => A(s.palette.primary.main, 0.08)
213
213
  } : {},
214
214
  children: [
215
215
  /* @__PURE__ */ l(m, { fontWeight: 600, children: [
@@ -229,7 +229,7 @@ function Se() {
229
229
  }
230
230
  ),
231
231
  /* @__PURE__ */ l(
232
- C,
232
+ I,
233
233
  {
234
234
  variant: "outlined",
235
235
  className: "w-full min-[900px]:flex-1 flex flex-col p-5",
@@ -257,14 +257,14 @@ function Se() {
257
257
  className: "mt-1",
258
258
  children: [
259
259
  "Created on ",
260
- ne(a == null ? void 0 : a.createdOn)
260
+ oe(a == null ? void 0 : a.createdOn)
261
261
  ]
262
262
  }
263
263
  )
264
264
  ] }),
265
265
  /* @__PURE__ */ l("div", { className: "flex gap-2", children: [
266
- (!g.isTecho || (c == null ? void 0 : c["update.manage.role.toggleActive"])) && /* @__PURE__ */ t(
267
- T,
266
+ g.hasCheckRights(c == null ? void 0 : c["update.manage.role.toggleActive"]) && /* @__PURE__ */ t(
267
+ S,
268
268
  {
269
269
  variant: "outlined",
270
270
  size: "small",
@@ -272,8 +272,8 @@ function Se() {
272
272
  children: (a == null ? void 0 : a.state) === "ACTIVE" ? "Deactivate" : "Activate"
273
273
  }
274
274
  ),
275
- (!g.isTecho || (c == null ? void 0 : c["update.manage.role"])) && /* @__PURE__ */ t(
276
- T,
275
+ g.hasCheckRights(c == null ? void 0 : c["update.manage.role"]) && /* @__PURE__ */ t(
276
+ S,
277
277
  {
278
278
  variant: "contained",
279
279
  size: "small",
@@ -286,12 +286,12 @@ function Se() {
286
286
  /* @__PURE__ */ l("div", { className: "mt-5 flex flex-col flex-1 overflow-hidden", children: [
287
287
  /* @__PURE__ */ l("div", { className: "flex flex-col sm:flex-row justify-between items-start sm:items-center mb-4 gap-4", children: [
288
288
  /* @__PURE__ */ l("div", { className: "flex flex-row items-center gap-2 w-full sm:w-auto", children: [
289
- /* @__PURE__ */ t(m, { fontWeight: 600, children: o("Assigned Features") }),
289
+ /* @__PURE__ */ t(m, { fontWeight: 600, children: n("Assigned Features") }),
290
290
  /* @__PURE__ */ l(m, { variant: "body2", color: "text.secondary", children: [
291
291
  "(",
292
- I.length,
292
+ C.length,
293
293
  " ",
294
- o("features active for this role"),
294
+ n("features active for this role"),
295
295
  ")"
296
296
  ] })
297
297
  ] }),
@@ -308,41 +308,41 @@ function Se() {
308
308
  }
309
309
  )
310
310
  ] }),
311
- /* @__PURE__ */ l(p, { className: "overflow-x-auto w-full", children: [
311
+ /* @__PURE__ */ l(h, { className: "overflow-x-auto w-full", children: [
312
312
  /* @__PURE__ */ l(
313
- p,
313
+ h,
314
314
  {
315
315
  className: "grid grid-cols-[minmax(340px,1.5fr)_120px] px-4 py-2 text-[15px] font-semibold border-b min-w-[500px]",
316
316
  sx: {
317
317
  color: "text.secondary",
318
- bgcolor: (e) => S(e.palette.action.hover, 0.04)
318
+ bgcolor: (e) => A(e.palette.action.hover, 0.04)
319
319
  },
320
320
  children: [
321
- /* @__PURE__ */ t("div", { children: o("FEATURE NAME") }),
322
- /* @__PURE__ */ t("div", { className: "text-center", children: o("ACTIONS") })
321
+ /* @__PURE__ */ t("div", { children: n("FEATURE NAME") }),
322
+ /* @__PURE__ */ t("div", { className: "text-center", children: n("ACTIONS") })
323
323
  ]
324
324
  }
325
325
  ),
326
326
  /* @__PURE__ */ l(
327
- p,
327
+ h,
328
328
  {
329
329
  className: "h-[calc(100vh-440px)] overflow-y-auto min-w-[500px]",
330
330
  sx: {
331
331
  bgcolor: "background.paper"
332
332
  },
333
333
  children: [
334
- I.length > 0 && /* @__PURE__ */ t(R, { children: I.map((e, r) => /* @__PURE__ */ l(
335
- p,
334
+ C.length > 0 && /* @__PURE__ */ t($, { children: C.map((e, s) => /* @__PURE__ */ l(
335
+ h,
336
336
  {
337
337
  className: "grid grid-cols-[minmax(340px,1.5fr)_120px] px-4 py-3 items-center border-b last:border-b-0 transition",
338
338
  sx: {
339
339
  "&:hover": {
340
- bgcolor: (s) => S(s.palette.action.hover, 0.04)
340
+ bgcolor: (r) => A(r.palette.action.hover, 0.04)
341
341
  }
342
342
  },
343
343
  children: [
344
344
  /* @__PURE__ */ t("div", { className: "flex flex-col", children: /* @__PURE__ */ t(m, { sx: { fontSize: "13px", fontWeight: 600 }, children: e.featureName }) }),
345
- /* @__PURE__ */ t("div", { className: "flex justify-center", children: (!g.isTecho || (c == null ? void 0 : c["view.manage.role.unassignFeature"])) && /* @__PURE__ */ t(
345
+ /* @__PURE__ */ t("div", { className: "flex justify-center", children: g.hasCheckRights(c == null ? void 0 : c["view.manage.role.unassignFeature"]) && /* @__PURE__ */ t(
346
346
  xe,
347
347
  {
348
348
  icon: ve,
@@ -351,14 +351,14 @@ function Se() {
351
351
  },
352
352
  color: "error",
353
353
  className: "text-red-400 cursor-pointer",
354
- "data-testid": `assignedfeatures-delete-icon-${r}`
354
+ "data-testid": `assignedfeatures-delete-icon-${s}`
355
355
  }
356
356
  ) })
357
357
  ]
358
358
  },
359
359
  e.id
360
360
  )) }),
361
- I.length === 0 && /* @__PURE__ */ t(R, { children: /* @__PURE__ */ t(
361
+ C.length === 0 && /* @__PURE__ */ t($, { children: /* @__PURE__ */ t(
362
362
  m,
363
363
  {
364
364
  className: "p-4",
@@ -372,13 +372,13 @@ function Se() {
372
372
  ] })
373
373
  ] }),
374
374
  /* @__PURE__ */ t(
375
- p,
375
+ h,
376
376
  {
377
377
  className: "border-t p-4",
378
378
  sx: {
379
- bgcolor: (e) => S(e.palette.primary.main, 0.06)
379
+ bgcolor: (e) => A(e.palette.primary.main, 0.06)
380
380
  },
381
- children: (!g.isTecho || (c == null ? void 0 : c["view.manage.role.assignFeature"])) && /* @__PURE__ */ t(T, { variant: "outlined", size: "small", onClick: me, children: "+ Add More Features" })
381
+ children: g.hasCheckRights(c == null ? void 0 : c["view.manage.role.assignFeature"]) && /* @__PURE__ */ t(S, { variant: "outlined", size: "small", onClick: me, children: "+ Add More Features" })
382
382
  }
383
383
  )
384
384
  ]
@@ -387,7 +387,7 @@ function Se() {
387
387
  /* @__PURE__ */ t(
388
388
  fe,
389
389
  {
390
- open: se,
390
+ open: re,
391
391
  handleClose: () => E(!1),
392
392
  handleClick: ie,
393
393
  title: (a == null ? void 0 : a.state) === "ACTIVE" ? "Deactivate Role" : "Activate Role",
@@ -396,26 +396,26 @@ function Se() {
396
396
  }
397
397
  ),
398
398
  /* @__PURE__ */ t(K, { children: /* @__PURE__ */ t(
399
- Te,
399
+ Se,
400
400
  {
401
- isUpdate: F !== 1,
402
- selectedId: F === 2 ? a.id : null,
401
+ isUpdate: k !== 1,
402
+ selectedId: k === 2 ? a.id : null,
403
403
  "data-testid": "roles-managerole-add-button",
404
- open: F,
404
+ open: k,
405
405
  setOpen: U,
406
406
  isRoleListModified: de
407
407
  }
408
408
  ) }),
409
409
  /* @__PURE__ */ t(K, { fallback: /* @__PURE__ */ t("div", { className: "animate-pulse w-80 h-20 " }), children: B === !0 && /* @__PURE__ */ t(
410
- Ce,
410
+ Ie,
411
411
  {
412
412
  open: B,
413
413
  setOpenModal: D,
414
414
  selectedId: a.id,
415
415
  setData: () => N(!0),
416
- assignedFeatureList: n ? (() => {
417
- var e, r, s;
418
- return (e = n == null ? void 0 : n.find((i) => (i == null ? void 0 : i.id) === a.id)) != null && e.assignedFeatureList ? (r = n == null ? void 0 : n.find((i) => (i == null ? void 0 : i.id) === a.id)) == null ? void 0 : r.assignedFeatureList : (s = n[0]) == null ? void 0 : s.assignedFeatureList;
416
+ assignedFeatureList: o ? (() => {
417
+ var e, s, r;
418
+ return (e = o == null ? void 0 : o.find((i) => (i == null ? void 0 : i.id) === a.id)) != null && e.assignedFeatureList ? (s = o == null ? void 0 : o.find((i) => (i == null ? void 0 : i.id) === a.id)) == null ? void 0 : s.assignedFeatureList : (r = o[0]) == null ? void 0 : r.assignedFeatureList;
419
419
  })() : [],
420
420
  "data-testid": "roles-addfeatures-component"
421
421
  }
@@ -424,7 +424,7 @@ function Se() {
424
424
  }
425
425
  const Ge = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
426
426
  __proto__: null,
427
- default: Se
427
+ default: Ae
428
428
  }, Symbol.toStringTag, { value: "Module" }));
429
429
  export {
430
430
  Ge as R,
@@ -433,4 +433,4 @@ export {
433
433
  Ne as g,
434
434
  Je as p
435
435
  };
436
- //# sourceMappingURL=RoleManagement-BIiW9uTq.js.map
436
+ //# sourceMappingURL=RoleManagement-BPl2cE27.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RoleManagement-BPl2cE27.js","sources":["../src/services/Roles.js","../src/views/Roles/Skeletons/RoleManagementSkeleton.jsx","../src/views/Roles/RoleManagement.jsx"],"sourcesContent":["import implementationConfig from \"@/common/config/implementationConfig\";\nimport { api } from \"@/common/interceptors/AxiosInterceptor\";\n\nexport const getAllRoleList = () => api.get(\"/role\");\n\nexport const deleteRoleFeature = (id) =>\n api.delete(implementationConfig.api.useQueryParamStyle ? `/menuconfig/usermenuitem/delete?empMenuItemId=${id}` : `/menuconfig/usermenuitem/${id}`);\n\nexport const getRoleById = (id) => api.get(implementationConfig.api.useQueryParamStyle ? `/role/retrieveById?id=${id}` : `/role/${id}`);\n\nexport const postRole = (params) => api.post(\"/role\", { ...params });\n\nexport const putRole = (params) => implementationConfig.api.useQueryParamStyle ? api.put(\"/role/update\", { ...params }) : api.post(\"/role\", { ...params });\n\nexport const ToggleState = (params) =>\n api.put(`role/?is_active=${params.state === \"INACTIVE\" ? \"true\" : \"false\"}`, {\n ...params,\n });\nexport const postNewFeature = (params, id) =>\n api.post(`/menuconfig/assignnewfeature?roleId=${id}`, { ...params });\n","import PropTypes from \"prop-types\";\nimport React from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { getUseSkeleton } from \"@/store/reducers/SkeletonReducer\";\n\nconst RoleManagementSkeleton = ({ children, isLoading = true }) => {\n const useSkeleton = useSelector(getUseSkeleton);\n if (!useSkeleton) {\n return children;\n }\n if (!isLoading) {\n return children;\n }\n\n return (\n <div className=\"pt-6 relative h-[90vh]\">\n {/* skleton for roles and add button */}\n\n <div className=\"flex flex-row h-[80vh] \">\n <div className=\"flex flex-col border border-gray-300 w-[20%] p-2 mr-3 rounded-md\">\n {\" \"}\n <div className=\"flex justify-between\">\n {/* skleton for list of roles and toogle roles */}\n <div className=\"bg-gray-300 animate-pulse rounded-sm w-23 h-[40px] mr-3\"></div>\n <div className=\"bg-gray-300 animate-pulse rounded-sm w-40 h-[40px]\"></div>\n </div>\n <div className=\"bg-gray-300 animate-pulse rounded-sm mt-2 w-full h-[50px]\"></div>\n <div className=\"bg-gray-300 animate-pulse rounded-sm mt-2 w-full h-full\"></div>\n </div>\n <div className=\"flex flex-col border border-gray-300 w-[80%] p-2 rounded-md\">\n <div className=\"flex justify-between\">\n {/* skleton for role name and options */}\n <div className=\"bg-gray-300 animate-pulse rounded-sm w-24 h-[40px]\"></div>\n <div className=\"bg-gray-300 animate-pulse rounded-sm w-21 h-[40px]\"></div>\n </div>\n <div className=\"bg-gray-300 animate-pulse rounded-sm mt-2 w-full h-[50px]\"></div>\n <div className=\"bg-gray-300 animate-pulse rounded-sm mt-2 w-full h-full\"></div>\n </div>\n </div>\n\n <div className=\"absolute bottom-20 right-[10px] \">\n <div className=\"bg-gray-300 animate-pulse rounded-full w-[40px] h-[40px]\"></div>\n </div>\n </div>\n );\n};\n\nRoleManagementSkeleton.propTypes = {\n children: PropTypes.any,\n loading: PropTypes.any,\n isLoading: PropTypes.any,\n};\n\nexport default RoleManagementSkeleton;\n","import GeneralUtil from \"@/common/services/util/GeneralUtil\";\nimport { Suspense, useEffect, useState, lazy } from \"react\";\nimport CustomConfirmationModal from \"@/views/custom-components/CustomConfirmationModal\";\nimport {\n Box,\n Card,\n Switch,\n TextField,\n Button,\n Chip,\n Typography,\n} from \"@mui/material\";\nimport { alpha } from \"@mui/material/styles\";\nimport { useTranslateProvider } from \"@/common/languageTranslator/TranslationContext\";\nimport {\n getAllRoleList,\n ToggleState,\n deleteRoleFeature,\n getRoleById,\n} from \"../../services/Roles.js\";\nimport { getRoleList } from \"@/common/services/GlobalApis.js\";\nimport { getAssignedFeatures } from \"@/utils/feature.js\";\nimport { showToast } from \"@/common/toaster/toaster\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport { faTrash } from \"@fortawesome/free-solid-svg-icons\";\nimport useTrackEvent from \"@/hooks/useTrackEvent\";\nimport RoleManagementSkeleton from \"./Skeletons/RoleManagementSkeleton.jsx\";\nimport { useSelector } from \"react-redux\";\nconst AddFeatures = lazy(() => import(\"./AddFeatures.jsx\"));\nconst ManageRole = lazy(() => import(\"./ManageRole.jsx\"));\n\nexport default function RoleManagement() {\n const { translate } = useTranslateProvider();\n const [Data, setData] = useState(\"\");\n const [selectedRole, setSelectedRole] = useState(Data[0]);\n const [includeInActive, setincludeInActive] = useState(false);\n const [isLoading, setIsLoading] = useState(false);\n const [openModal, setOpenModal] = useState(false);\n const [openManageRole, setOpenManageRole] = useState(0);\n const [searchText, setSearchText] = useState(\"\");\n const [searchQuery, setSearchQuery] = useState(\"\");\n const [rights, setRights] = useState(null);\n const [confirmToggleOpen, setConfirmToggleOpen] = useState(false);\n const trackEvent = useTrackEvent();\n const currentLoogedInUserRoleId = useSelector((state) => state.Authenticate.user.roleId);\n const [allowedRoleIds, setallowedRoleIds] = useState([]);\n\n const getAllData = async (isPreserveRole = false) => {\n try {\n setIsLoading(true);\n const roleListPromise = includeInActive ? getAllRoleList() : getRoleList();\n let data, userRoleIds = [];\n if (currentLoogedInUserRoleId) {\n // Run both APIs in parallel\n const [{ data: roleData }, currRoleData] = await Promise.all([\n roleListPromise,\n getRoleById(currentLoogedInUserRoleId),\n ]);\n data = roleData;\n userRoleIds = currRoleData?.data?.roleIds || [];\n } else {\n // Only fetch role list\n const { data: roleData } = await roleListPromise;\n data = roleData;\n }\n setallowedRoleIds(userRoleIds);\n // ✅ Filter logic (keep only allowed roles)\n const filteredData =\n userRoleIds.length > 0\n ? data.filter((role) => userRoleIds.includes(role.id))\n : data; // fallback: show all if no roleIds\n setData(filteredData);\n if (!isPreserveRole && filteredData.length > 0) {\n setSelectedRole(filteredData[0]);\n }\n } catch (error) {\n console.error(error);\n showToast({ message: \"Error in getting role data\", type: \"error\" });\n } finally {\n setIsLoading(false);\n }\n };\n\n useEffect(function () {\n const fetchRights = async () => {\n const { data: featureJson } = await getAssignedFeatures(\"techo.manage.role\");\n if (featureJson) setRights(JSON.parse(featureJson));\n };\n fetchRights();\n getAllData();\n }, []);\n\n const handleCheckboxChange = async (event) => {\n let isChecked = event.target.checked;\n setincludeInActive(event.target.checked);\n try {\n setIsLoading((cur) => !cur);\n let data;\n if (isChecked) {\n ({ data } = await getAllRoleList());\n } else {\n ({ data } = await getRoleList());\n }\n if (allowedRoleIds && allowedRoleIds.length > 0) {\n data = data.filter(\n (role) => allowedRoleIds.includes(role.id)\n );\n }\n setData(data);\n setSelectedRole(data[0]);\n setIsLoading((cur) => !cur);\n setSearchText(\"\");\n } catch (error) {\n console.error(error);\n showToast({ message: \"Error in getting role data\", type: \"error\" });\n setIsLoading((cur) => !cur);\n }\n };\n\n const filterData = Data\n ? Data?.filter((feature) =>\n feature.name.toLowerCase().includes(searchText.toLowerCase())\n )\n : [];\n\n const formatDateDDMMYYYY = (timestamp) => {\n if (!timestamp) return \"\";\n const date = new Date(Number(timestamp));\n const day = String(date.getDate()).padStart(2, \"0\");\n const month = String(date.getMonth() + 1).padStart(2, \"0\");\n const year = date.getFullYear();\n return `${day}/${month}/${year}`;\n };\n\n const handleToggleState = async () => {\n setConfirmToggleOpen(false);\n try {\n const payload = Data?.find((data) => data.id === selectedRole.id);\n await ToggleState(payload);\n showToast({\n message: `State succesfully changed from ${payload?.state === \"INACTIVE\" ? \"inactive\" : \"active\"} to ${payload?.state === \"INACTIVE\" ? \"active\" : \"inactive\"}`,\n type: \"success\",\n });\n let res;\n setIsLoading((cur) => !cur);\n if (includeInActive) {\n res = await getAllRoleList();\n } else {\n res = await getRoleList();\n }\n\n setData(res.data);\n setSelectedRole(res.data[0]);\n setIsLoading((cur) => !cur);\n } catch (error) {\n console.error(error);\n showToast({ message: \"Error in handle active\", type: \"error\" });\n setIsLoading((cur) => !cur);\n }\n };\n\n const sortedFilteredFeatures = Data\n ? Data.find((obj) => obj.id === selectedRole.id)\n ?.assignedFeatureList.filter((feature) =>\n feature.featureName\n ?.toLowerCase()\n .includes(searchQuery?.toLowerCase())\n )\n .sort((a, b) => a.featureName?.localeCompare(b.featureName))\n : [];\n\n const handleDeleteRoleFeature = async (feature) => {\n try {\n await deleteRoleFeature(feature.userMenuItemId);\n await getAllData(true);\n setSearchQuery(\"\");\n showToast({ message: \"Feature deleted successfully!\", type: \"success\" });\n } catch (error) {\n showToast({ message: error, type: \"error\" });\n }\n };\n\n const handleManageRoleModel = (index) => {\n setOpenManageRole(index);\n trackEvent(\"button_click\", {\n button_name: `${index === 1 ? \"add\" : \"edit\"} role modal button`,\n button_type: \"navigate\",\n button_id: `roles-${index === 1 ? \"add\" : \"edit\"}-button`,\n });\n };\n\n const isRoleListModified = () => {\n getAllData();\n setSearchText(\"\");\n };\n\n const handleOpen = async () => {\n try {\n setOpenModal(true);\n await trackEvent(\"button_click\", {\n button_name: \"add feature button\",\n button_type: \"navigate\",\n button_id: \"roles-addfeatures-button-add\",\n });\n } catch (error) {\n console.error(error);\n }\n };\n\n return !isLoading && rights !== null && !GeneralUtil.hasCheckRights(rights?.[\"view.manage.role\"]) ? (\n <Box className=\"flex justify-center items-center w-full h-[80vh]\">\n <Card\n className=\"h-80 w-150 flex justify-center items-center\"\n >\n <Typography variant=\"h5\" className=\"text-customBlue\">\n You dont have permission to view Roles\n </Typography>\n </Card>\n </Box>\n ) : (\n <RoleManagementSkeleton isLoading={isLoading}>\n <Box className=\"flex flex-col gap-4 p-4 min-[900px]:flex-row min-[900px]:h-[calc(100vh-80px)]\">\n <Card\n variant=\"outlined\"\n className=\"w-full min-[900px]:w-[300px] flex flex-col p-4\"\n >\n <div className=\"flex justify-between items-center mb-3\">\n <Typography\n variant=\"h6\"\n fontWeight={600}\n className=\"text-customBlue\"\n >\n User Roles\n </Typography>\n {GeneralUtil.hasCheckRights(rights?.['create.manage.role']) && (\n <Button\n size=\"small\"\n variant=\"contained\"\n color=\"primary\"\n onClick={() => handleManageRoleModel(1)}\n data-testid=\"managerole-add-button\"\n >\n {translate(\"+ Add Role\")}\n </Button>\n )}\n </div>\n <TextField\n size=\"small\"\n variant=\"outlined\"\n placeholder=\"Search roles...\"\n fullWidth\n value={searchText}\n onChange={(e) => setSearchText(e.target.value)}\n data-testid=\"listofroles-search-input\"\n />\n <div className=\"flex items-center gap-2 mt-3\">\n <Switch\n size=\"small\"\n checked={includeInActive}\n onChange={handleCheckboxChange}\n />\n <Typography variant=\"body2\">Include Inactive</Typography>\n </div>\n <div className=\"flex-1 overflow-y-auto mt-4\">\n {filterData.length > 0 && (\n <>\n {filterData.map((role) => (\n <Card\n key={role.id}\n variant=\"outlined\"\n onClick={() => setSelectedRole(role)}\n className={`p-3 cursor-pointer transition\n ${selectedRole.id === role.id\n ? \"border-b-2\"\n : \"border-b-2 border-0\"\n }`}\n sx={\n selectedRole.id === role.id\n ? {\n bgcolor: (t) => alpha(t.palette.primary.main, 0.08),\n }\n : {}\n }\n >\n <Typography fontWeight={600}>\n {role.name}\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\n {role?.state === \"INACTIVE\" && (\n <Chip label=\"INACTIVE\" color=\"disabled\" size=\"small\" />\n )}\n </Typography>\n <Typography variant=\"body2\" color=\"text.secondary\">\n {role.assignedFeatureList.length} Features\n </Typography>\n </Card>\n ))}\n </>\n )}\n </div>\n </Card>\n <Card\n variant=\"outlined\"\n className=\"w-full min-[900px]:flex-1 flex flex-col p-5\"\n >\n <div className=\"flex flex-col sm:flex-row justify-between items-start border-b pb-4 gap-4\">\n <div className=\"flex flex-col gap-1 w-full sm:w-auto\">\n <div className=\"flex items-center gap-2\">\n <Typography\n variant=\"h5\"\n fontWeight={600}\n className=\"text-customBlue\"\n >\n {selectedRole?.name || \"Select Role\"}\n </Typography>\n {selectedRole?.state === \"ACTIVE\" && (\n <Chip label=\"ACTIVE\" color=\"success\" size=\"small\" />\n )}\n {selectedRole?.state === \"INACTIVE\" && (\n <Chip label=\"INACTIVE\" color=\"disabled\" size=\"small\" />\n )}\n </div>\n <Typography\n variant=\"body2\"\n color=\"text.secondary\"\n className=\"mt-1\"\n >\n Created on {formatDateDDMMYYYY(selectedRole?.createdOn)}\n </Typography>\n </div>\n <div className=\"flex gap-2\">\n {GeneralUtil.hasCheckRights(rights?.['update.manage.role.toggleActive']) && (\n <Button\n variant=\"outlined\"\n size=\"small\"\n onClick={() => setConfirmToggleOpen(true)}\n >\n {selectedRole?.state === \"ACTIVE\" ? \"Deactivate\" : \"Activate\"}\n </Button>\n )}\n {GeneralUtil.hasCheckRights(rights?.['update.manage.role']) && (\n <Button\n variant=\"contained\"\n size=\"small\"\n onClick={() => handleManageRoleModel(2)}\n >\n ✏️ Edit Role\n </Button>\n )}\n </div>\n </div>\n {/* ASSIGNED FEATURES */}\n <div className=\"mt-5 flex flex-col flex-1 overflow-hidden\">\n <div className=\"flex flex-col sm:flex-row justify-between items-start sm:items-center mb-4 gap-4\">\n <div className=\"flex flex-row items-center gap-2 w-full sm:w-auto\">\n <Typography fontWeight={600}>{translate(\"Assigned Features\")}</Typography>\n <Typography variant=\"body2\" color=\"text.secondary\">\n ({sortedFilteredFeatures.length} {translate(\"features active for this role\")})\n </Typography>\n </div>\n <TextField\n size=\"small\"\n sx={{ width: { xs: \"100%\", sm: \"60%\" } }}\n placeholder=\"Search Feature Name\"\n variant=\"outlined\"\n value={searchQuery}\n onChange={(e) => setSearchQuery(e.target.value)}\n data-testid=\"assignedfeatures-search-input\"\n />\n </div>\n <Box className=\"overflow-x-auto w-full\">\n <Box\n className=\"grid grid-cols-[minmax(340px,1.5fr)_120px] px-4 py-2 text-[15px] font-semibold border-b min-w-[500px]\"\n sx={{\n color: \"text.secondary\",\n bgcolor: (t) => alpha(t.palette.action.hover, 0.04),\n }}\n >\n <div>{translate(\"FEATURE NAME\")}</div>\n <div className=\"text-center\">{translate(\"ACTIONS\")}</div>\n </Box>\n <Box\n className=\"h-[calc(100vh-440px)] overflow-y-auto min-w-[500px]\"\n sx={{\n bgcolor: \"background.paper\",\n }}\n >\n {sortedFilteredFeatures.length > 0 && (\n <>\n {sortedFilteredFeatures.map((feature, index) => (\n <Box\n key={feature.id}\n className=\"grid grid-cols-[minmax(340px,1.5fr)_120px] px-4 py-3 items-center border-b last:border-b-0 transition\"\n sx={{\n \"&:hover\": {\n bgcolor: (t) => alpha(t.palette.action.hover, 0.04),\n },\n }}\n >\n <div className=\"flex flex-col\">\n <Typography sx={{ fontSize: \"13px\", fontWeight: 600 }}>\n {feature.featureName}\n </Typography>\n </div>\n <div className=\"flex justify-center\">\n {GeneralUtil.hasCheckRights(rights?.['view.manage.role.unassignFeature']) && (\n <FontAwesomeIcon\n icon={faTrash}\n onClick={() => {\n handleDeleteRoleFeature(feature);\n }}\n color=\"error\"\n className=\"text-red-400 cursor-pointer\"\n data-testid={`assignedfeatures-delete-icon-${index}`}\n />\n )}\n </div>\n </Box>\n ))}\n </>\n )}\n {sortedFilteredFeatures.length === 0 && (\n <>\n <Typography\n className=\"p-4\"\n sx={{ fontSize: \"13px\", fontStyle: \"italic\" }}\n >\n No Features assigned yet!\n </Typography>\n </>\n )}\n </Box>\n </Box>\n </div>\n <Box\n className=\"border-t p-4\"\n sx={{\n bgcolor: (t) => alpha(t.palette.primary.main, 0.06),\n }}\n >\n {GeneralUtil.hasCheckRights(rights?.['view.manage.role.assignFeature']) && (\n <Button variant=\"outlined\" size=\"small\" onClick={handleOpen}>\n + Add More Features\n </Button>\n )}\n </Box>\n </Card>\n <CustomConfirmationModal\n open={confirmToggleOpen}\n handleClose={() => setConfirmToggleOpen(false)}\n handleClick={handleToggleState}\n title={selectedRole?.state === \"ACTIVE\" ? \"Deactivate Role\" : \"Activate Role\"}\n description={`Are you sure you want to ${selectedRole?.state === \"ACTIVE\" ? \"deactivate\" : \"activate\"} the role \"${selectedRole?.name}\"?`}\n dataTestId=\"toggle-role-confirm-modal\"\n />\n <Suspense>\n <ManageRole\n isUpdate={openManageRole !== 1}\n selectedId={openManageRole === 2 ? selectedRole.id : null}\n data-testid=\"roles-managerole-add-button\"\n open={openManageRole}\n setOpen={setOpenManageRole}\n isRoleListModified={isRoleListModified}\n />\n </Suspense>\n <Suspense fallback={<div className=\"animate-pulse w-80 h-20 \"></div>}>\n {openModal === true && (\n <AddFeatures\n open={openModal}\n setOpenModal={setOpenModal}\n selectedId={selectedRole.id}\n setData={() => getAllData(true)}\n assignedFeatureList={\n Data\n ? (() =>\n Data?.find((data) => data?.id === selectedRole.id)\n ?.assignedFeatureList\n ? Data?.find((data) => data?.id === selectedRole.id)\n ?.assignedFeatureList\n : Data[0]?.assignedFeatureList)()\n : []\n }\n data-testid=\"roles-addfeatures-component\"\n />\n )}\n </Suspense>\n </Box>\n </RoleManagementSkeleton>\n );\n}\n"],"names":["getAllRoleList","api","deleteRoleFeature","id","implementationConfig","getRoleById","postRole","params","putRole","ToggleState","postNewFeature","RoleManagementSkeleton","children","isLoading","useSelector","getUseSkeleton","jsxs","jsx","PropTypes","AddFeatures","lazy","ManageRole","RoleManagement","translate","useTranslateProvider","Data","setData","useState","selectedRole","setSelectedRole","includeInActive","setincludeInActive","setIsLoading","openModal","setOpenModal","openManageRole","setOpenManageRole","searchText","setSearchText","searchQuery","setSearchQuery","rights","setRights","confirmToggleOpen","setConfirmToggleOpen","trackEvent","useTrackEvent","currentLoogedInUserRoleId","state","allowedRoleIds","setallowedRoleIds","getAllData","isPreserveRole","roleListPromise","getRoleList","data","userRoleIds","roleData","currRoleData","_a","filteredData","role","error","showToast","useEffect","featureJson","getAssignedFeatures","handleCheckboxChange","event","isChecked","cur","filterData","feature","formatDateDDMMYYYY","timestamp","date","day","month","year","handleToggleState","payload","res","sortedFilteredFeatures","obj","a","b","handleDeleteRoleFeature","handleManageRoleModel","index","isRoleListModified","handleOpen","GeneralUtil","Box","Card","Typography","Button","TextField","Switch","Fragment","t","alpha","Chip","FontAwesomeIcon","faTrash","CustomConfirmationModal","Suspense","_b","_c"],"mappings":"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"}