@argusoft/medplat-core 1.0.28 → 1.0.29

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 (91) hide show
  1. package/dist/AccessRights-Zm8Obm4N.js +1284 -0
  2. package/dist/AccessRights-Zm8Obm4N.js.map +1 -0
  3. package/dist/{AddFeatures-C0Z29oSd.js → AddFeatures-v3TmGQee.js} +2 -2
  4. package/dist/{AddFeatures-C0Z29oSd.js.map → AddFeatures-v3TmGQee.js.map} +1 -1
  5. package/dist/AddMenuConfiguration-Ce91MhnU.js +8547 -0
  6. package/dist/AddMenuConfiguration-Ce91MhnU.js.map +1 -0
  7. package/dist/{AddRoleDrawer-CQdzQZLb.js → AddRoleDrawer-0gqAK8N0.js} +62 -63
  8. package/dist/AddRoleDrawer-0gqAK8N0.js.map +1 -0
  9. package/dist/{ChangePasswordModalCore-CDxkeIIM.js → ChangePasswordModalCore-DutQAZOx.js} +2 -2
  10. package/dist/{ChangePasswordModalCore-CDxkeIIM.js.map → ChangePasswordModalCore-DutQAZOx.js.map} +1 -1
  11. package/dist/{ConditionConfig-DSsgGEXS.js → ConditionConfig-B4Ffpgj3.js} +2 -2
  12. package/dist/ConditionConfig-B4Ffpgj3.js.map +1 -0
  13. package/dist/{EntityManagement-GaYsBTvf.js → EntityManagement-CPQL6qBj.js} +2 -2
  14. package/dist/{EntityManagement-GaYsBTvf.js.map → EntityManagement-CPQL6qBj.js.map} +1 -1
  15. package/dist/{EventConfigurations-kNtAj_WM.js → EventConfigurations-BJcURufo.js} +3 -3
  16. package/dist/{EventConfigurations-kNtAj_WM.js.map → EventConfigurations-BJcURufo.js.map} +1 -1
  17. package/dist/{EventsExceptionModal-D4Bf1ilS.js → EventsExceptionModal-BlZtBQoR.js} +2 -2
  18. package/dist/{EventsExceptionModal-D4Bf1ilS.js.map → EventsExceptionModal-BlZtBQoR.js.map} +1 -1
  19. package/dist/{EventsSkeleton-8iiETGcf.js → EventsSkeleton-DK6JDKAK.js} +26 -19
  20. package/dist/EventsSkeleton-DK6JDKAK.js.map +1 -0
  21. package/dist/{FeatureMenu-jl7-Tk6y.js → FeatureMenu-C3503UIX.js} +3 -3
  22. package/dist/{FeatureMenu-jl7-Tk6y.js.map → FeatureMenu-C3503UIX.js.map} +1 -1
  23. package/dist/Features-Dne21RWu.js +14 -0
  24. package/dist/Features-Dne21RWu.js.map +1 -0
  25. package/dist/{ManageNotification-CaBAOhji.js → Google-DQxMfbaL.js} +1725 -2652
  26. package/dist/{ManageNotification-CaBAOhji.js.map → Google-DQxMfbaL.js.map} +1 -1
  27. package/dist/ImmunizationConfigurationBase-DLQVSNnt.js +5895 -0
  28. package/dist/ImmunizationConfigurationBase-DLQVSNnt.js.map +1 -0
  29. package/dist/ImmunizationConfigurationBase.css +1 -1
  30. package/dist/{ManageDynamicFeature-BhONvfC_.js → ManageDynamicFeature-dt096fyj.js} +2 -2
  31. package/dist/{ManageDynamicFeature-BhONvfC_.js.map → ManageDynamicFeature-dt096fyj.js.map} +1 -1
  32. package/dist/{ManageEventConfiguration-DV3I5POA.js → ManageEventConfiguration-BpSJszSX.js} +5 -5
  33. package/dist/{ManageEventConfiguration-DV3I5POA.js.map → ManageEventConfiguration-BpSJszSX.js.map} +1 -1
  34. package/dist/ManageNotification-CfhHlfxA.js +934 -0
  35. package/dist/ManageNotification-CfhHlfxA.js.map +1 -0
  36. package/dist/{ManageRole-CGYfglpo.js → ManageRole-4Y2PP4dQ.js} +32 -30
  37. package/dist/ManageRole-4Y2PP4dQ.js.map +1 -0
  38. package/dist/{ManageUser-AY1EUDLI.js → ManageUser-DDzyd9jm.js} +1728 -1592
  39. package/dist/ManageUser-DDzyd9jm.js.map +1 -0
  40. package/dist/MobileMenuManagement-Cf8IZlla.js +108 -0
  41. package/dist/MobileMenuManagement-Cf8IZlla.js.map +1 -0
  42. package/dist/{MobileTypeEventConfigModal-BxLympIO.js → MobileTypeEventConfigModal-DUkUYACe.js} +2 -2
  43. package/dist/MobileTypeEventConfigModal-DUkUYACe.js.map +1 -0
  44. package/dist/{NotificationList-C3Vb_jKU.js → NotificationList-BMFpNUJG.js} +109 -110
  45. package/dist/NotificationList-BMFpNUJG.js.map +1 -0
  46. package/dist/{OtherTypeEventConfigModal-BeG1GrUi.js → OtherTypeEventConfigModal-CYBfr2XE.js} +570 -478
  47. package/dist/OtherTypeEventConfigModal-CYBfr2XE.js.map +1 -0
  48. package/dist/{RoleManagement-BPl2cE27.js → RoleManagement-DEiBNfT8.js} +100 -101
  49. package/dist/RoleManagement-DEiBNfT8.js.map +1 -0
  50. package/dist/{ServerSyncModal-D_oFpv3C.js → ServerSyncModal-92U3xtqI.js} +84 -85
  51. package/dist/ServerSyncModal-92U3xtqI.js.map +1 -0
  52. package/dist/{SubMenu-DYxAPH2Z.js → SubMenu-B072oEGb.js} +3 -3
  53. package/dist/{SubMenu-DYxAPH2Z.js.map → SubMenu-B072oEGb.js.map} +1 -1
  54. package/dist/{TableDetails-Cf_YfnY2.js → TableDetails-BtafRxXb.js} +1069 -831
  55. package/dist/TableDetails-BtafRxXb.js.map +1 -0
  56. package/dist/{TableList-D6jnIbnz.js → TableList-Dpo6dO7S.js} +2 -2
  57. package/dist/{TableList-D6jnIbnz.js.map → TableList-Dpo6dO7S.js.map} +1 -1
  58. package/dist/{TypeConfiguration-37wp-gsl.js → TypeConfiguration-C3xoP2Nb.js} +2 -2
  59. package/dist/{TypeConfiguration-37wp-gsl.js.map → TypeConfiguration-C3xoP2Nb.js.map} +1 -1
  60. package/dist/{WidgetList-Dw_FmbbE.js → WidgetList-D7YuWfDD.js} +2 -2
  61. package/dist/{WidgetList-Dw_FmbbE.js.map → WidgetList-D7YuWfDD.js.map} +1 -1
  62. package/dist/dashboardLayoutUtils-D1xCAxp3.js +405 -0
  63. package/dist/dashboardLayoutUtils-D1xCAxp3.js.map +1 -0
  64. package/dist/index.js +4 -752
  65. package/dist/index.js.map +1 -1
  66. package/dist/index.lib-C3fwoM3y.js +820 -0
  67. package/dist/index.lib-C3fwoM3y.js.map +1 -0
  68. package/package.json +2 -2
  69. package/dist/AccessRights-CHu27ZOw.js +0 -1262
  70. package/dist/AccessRights-CHu27ZOw.js.map +0 -1
  71. package/dist/AddMenuConfiguration-BSQLl88V.js +0 -6570
  72. package/dist/AddMenuConfiguration-BSQLl88V.js.map +0 -1
  73. package/dist/AddRoleDrawer-CQdzQZLb.js.map +0 -1
  74. package/dist/ConditionConfig-DSsgGEXS.js.map +0 -1
  75. package/dist/EventsSkeleton-8iiETGcf.js.map +0 -1
  76. package/dist/Features-CObdzJp_.js +0 -13
  77. package/dist/Features-CObdzJp_.js.map +0 -1
  78. package/dist/ImmunizationConfigurationBase-DZGqwda2.js +0 -5910
  79. package/dist/ImmunizationConfigurationBase-DZGqwda2.js.map +0 -1
  80. package/dist/ManageRole-CGYfglpo.js.map +0 -1
  81. package/dist/ManageUser-AY1EUDLI.js.map +0 -1
  82. package/dist/MobileMenuManagement-CVAKyKDa.js +0 -112
  83. package/dist/MobileMenuManagement-CVAKyKDa.js.map +0 -1
  84. package/dist/MobileTypeEventConfigModal-BxLympIO.js.map +0 -1
  85. package/dist/NotificationList-C3Vb_jKU.js.map +0 -1
  86. package/dist/OtherTypeEventConfigModal-BeG1GrUi.js.map +0 -1
  87. package/dist/RoleManagement-BPl2cE27.js.map +0 -1
  88. package/dist/ServerSyncModal-D_oFpv3C.js.map +0 -1
  89. package/dist/TableDetails-Cf_YfnY2.js.map +0 -1
  90. package/dist/dashboardLayoutUtils-Bt5HA96J.js +0 -265
  91. package/dist/dashboardLayoutUtils-Bt5HA96J.js.map +0 -1
@@ -1,26 +1,25 @@
1
1
  import { jsxs as s, jsx as e } from "react/jsx-runtime";
2
- import { useState as c, useRef as D, useEffect as I, useMemo as fe, useCallback as pe, Suspense as G, lazy as Y } from "react";
3
- import { useTranslateProvider as he } from "@/common/languageTranslator/TranslationContext";
2
+ import { useState as c, useRef as D, useEffect as I, useMemo as me, useCallback as fe, Suspense as Q, lazy as X } from "react";
3
+ import { useTranslateProvider as pe } from "@/common/languageTranslator/TranslationContext";
4
4
  import { api as M } from "@/common/interceptors/AxiosInterceptor";
5
- import E from "@/common/config/implementationConfig";
6
- import { getNotifications as H, getAllRoleList as ge } from "@/common/services/GlobalApis";
7
- import ye from "@/common/syncWithServer/SyncWithServerDialog";
5
+ import { getNotifications as G, getAllRoleList as he } from "@/common/services/GlobalApis";
6
+ import ge from "@/common/syncWithServer/SyncWithServerDialog";
8
7
  import { showToast as T } from "@/common/toaster/toaster";
9
- import be from "@/views/custom-components/CustomConfirmationModal";
10
- import { debounce as xe, Card as Ne, Typography as J, Box as S, FormControlLabel as q, Checkbox as K, TextField as ve, Button as Ce } from "@mui/material";
8
+ import ye from "@/views/custom-components/CustomConfirmationModal";
9
+ import { debounce as be, Card as xe, Typography as H, Box as S, FormControlLabel as J, Checkbox as q, TextField as Ne, Button as ve } from "@mui/material";
11
10
  import { Grid as k } from "@mui/system";
12
11
  import v from "prop-types";
13
- import { useSelector as Z } from "react-redux";
14
- import { getUseSkeleton as ee } from "@/store/reducers/SkeletonReducer";
15
- import we from "@/hooks/useTrackEvent";
16
- import Ie from "@/views/custom-components/CustomizedTable/CustomizedTableV2";
17
- import { faPen as Te, faBars as Se } from "@fortawesome/free-solid-svg-icons";
18
- import { FontAwesomeIcon as X } from "@fortawesome/react-fontawesome";
12
+ import { useSelector as Y } from "react-redux";
13
+ import { getUseSkeleton as Z } from "@/store/reducers/SkeletonReducer";
14
+ import Ce from "@/hooks/useTrackEvent";
15
+ import we from "@/views/custom-components/CustomizedTable/CustomizedTableV2";
16
+ import { faPen as Ie, faBars as Te } from "@fortawesome/free-solid-svg-icons";
17
+ import { FontAwesomeIcon as K } from "@fortawesome/react-fontawesome";
19
18
  import A from "@/common/services/util/GeneralUtil";
20
- import { getAssignedFeatures as ke } from "@/utils/feature";
21
- const Ae = ({ id: o, state: r }) => M.put(
22
- E.api.useQueryParamStyle ? `notificationtype/toggleActive?id=${o}&is_active=${r === "INACTIVE" ? "true" : "false"}` : `notificationtype/${o}?is_active=${r === "INACTIVE" ? "true" : "false"}`
23
- ), Ze = (o) => M.post(E.api.useQueryParamStyle ? "notificationtype/create" : "notificationtype", o), et = (o) => M.post(E.api.useQueryParamStyle ? "notificationtype/update" : "notificationtype", o), te = ({ children: o, isLoading: r }) => !Z(ee) || !r ? o : /* @__PURE__ */ s("div", { className: "flex flex-col gap-2", children: [
19
+ import { getAssignedFeatures as Se } from "@/utils/feature";
20
+ const ke = ({ id: l, state: d }) => M.put(
21
+ `notificationtype/toggleActive?id=${l}&is_active=${d === "INACTIVE" ? "true" : "false"}`
22
+ ), Xe = (l) => M.post("notificationtype/create", l), Ye = (l) => M.post("notificationtype/update", l), ee = ({ children: l, isLoading: d }) => !Y(Z) || !d ? l : /* @__PURE__ */ s("div", { className: "flex flex-col gap-2", children: [
24
23
  /* @__PURE__ */ s("div", { className: "flex space-between justify-between m-[0px]", children: [
25
24
  /* @__PURE__ */ e("div", { className: "bg-gray-300 animate-pulse rounded-sm w-[130px] h-[40px]" }),
26
25
  /* @__PURE__ */ s("div", { className: "flex", children: [
@@ -30,11 +29,11 @@ const Ae = ({ id: o, state: r }) => M.put(
30
29
  ] }),
31
30
  /* @__PURE__ */ e("div", { className: "bg-gray-300 animate-pulse rounded-sm w-full h-100" })
32
31
  ] });
33
- te.propTypes = {
32
+ ee.propTypes = {
34
33
  children: v.any,
35
34
  isLoading: v.any
36
35
  };
37
- const Me = ({ children: o, isLoading: r }) => !Z(ee) || !r ? o : /* @__PURE__ */ s("div", { className: "flex flex-col w-full md:w-[650px] bg-white ", children: [
36
+ const Ae = ({ children: l, isLoading: d }) => !Y(Z) || !d ? l : /* @__PURE__ */ s("div", { className: "flex flex-col w-full md:w-[650px] bg-white ", children: [
38
37
  /* @__PURE__ */ e("div", { className: "px-2 py-2 flex items-center ", children: /* @__PURE__ */ e("div", { className: "bg-gray-300 animate-pulse rounded-sm w-60 h-10" }) }),
39
38
  /* @__PURE__ */ e("hr", {}),
40
39
  /* @__PURE__ */ s("div", { className: "flex flex-col w-full space-y-2 p-2", children: [
@@ -65,13 +64,13 @@ const Me = ({ children: o, isLoading: r }) => !Z(ee) || !r ? o : /* @__PURE__ */
65
64
  /* @__PURE__ */ e("div", { className: "bg-gray-300 animate-pulse rounded-sm w-20 h-10" })
66
65
  ] })
67
66
  ] });
68
- Me.propTypes = {
67
+ Ae.propTypes = {
69
68
  children: v.any,
70
69
  isLoading: v.any
71
70
  };
72
- const Ee = Y(() => import("./ManageNotification-CaBAOhji.js")), Oe = Y(() => import("./NotificationFlywayQuery-BY8Zzml_.js"));
73
- function Le() {
74
- const o = we(), [r, x] = c(""), [C, O] = c([]), [L, h] = c([]), [g, u] = c(""), [n, N] = c({}), [w, ae] = c([]), { translate: m } = he(), [_, B] = c(null), [F, p] = c(!1), [d, ie] = c({}), se = [
71
+ const Me = X(() => import("./ManageNotification-CfhHlfxA.js")), Ee = X(() => import("./NotificationFlywayQuery-BY8Zzml_.js"));
72
+ function Oe() {
73
+ const l = Ce(), [d, x] = c(""), [C, E] = c([]), [O, h] = c([]), [g, u] = c(""), [o, N] = c({}), [w, te] = c([]), { translate: m } = pe(), [L, B] = c(null), [F, p] = c(!1), [r, ae] = c({}), ie = [
75
74
  {
76
75
  field: "notificationName",
77
76
  label: "Name",
@@ -90,7 +89,7 @@ function Le() {
90
89
  field: "notificationType",
91
90
  label: "Type",
92
91
  align: "left",
93
- render: (t) => /* @__PURE__ */ e(J, { mt: 0.5, children: t.notificationType === "WEB" ? "WEB" : "MOBILE" })
92
+ render: (t) => /* @__PURE__ */ e(H, { mt: 0.5, children: t.notificationType === "WEB" ? "WEB" : "MOBILE" })
94
93
  },
95
94
  {
96
95
  field: "state",
@@ -100,19 +99,19 @@ function Le() {
100
99
  align: "left"
101
100
  },
102
101
  { field: "Actions", label: "Actions", align: "left" }
103
- ], [oe, ne] = c(se), [y, le] = c(!0), [b, ce] = c(!0), V = D(y), P = D(b);
102
+ ], [se, oe] = c(ie), [y, ne] = c(!0), [b, le] = c(!0), _ = D(y), R = D(b);
104
103
  I(() => {
105
- V.current = y;
104
+ _.current = y;
106
105
  }, [y]), I(() => {
107
- P.current = b;
106
+ R.current = b;
108
107
  }, [b]);
109
- const re = async () => {
108
+ const ce = async () => {
110
109
  try {
111
- p((i) => !i), await Ae({ id: n.id, state: n.state }), u("");
112
- const { data: t } = await H();
113
- O(t), h(t), T({
110
+ p((i) => !i), await ke({ id: o.id, state: o.state }), u("");
111
+ const { data: t } = await G();
112
+ E(t), h(t), T({
114
113
  type: "success",
115
- message: `State succesfully changed from ${(n == null ? void 0 : n.state) === "INACTIVE" ? "inactive" : "active"} to ${(n == null ? void 0 : n.state) === "INACTIVE" ? "active" : "inactive"}`
114
+ message: `State succesfully changed from ${(o == null ? void 0 : o.state) === "INACTIVE" ? "inactive" : "active"} to ${(o == null ? void 0 : o.state) === "INACTIVE" ? "active" : "inactive"}`
116
115
  }), p((i) => !i);
117
116
  } catch (t) {
118
117
  T({
@@ -120,14 +119,14 @@ function Le() {
120
119
  message: `Error ${t}`
121
120
  }), p((i) => !i);
122
121
  }
123
- }, de = fe(() => (t) => {
122
+ }, re = me(() => (t) => {
124
123
  const i = [];
125
- A.hasCheckRights(d == null ? void 0 : d["update.manage.notificationlist"]) && i.push({
124
+ A.hasCheckRights(r == null ? void 0 : r["update.manage.notificationlist"]) && i.push({
126
125
  label: "",
127
126
  icon: /* @__PURE__ */ e(
128
- X,
127
+ K,
129
128
  {
130
- icon: Te,
129
+ icon: Ie,
131
130
  "data-testid": "notificationlist-button-edit"
132
131
  }
133
132
  ),
@@ -135,15 +134,15 @@ function Le() {
135
134
  u(1), N(a);
136
135
  }
137
136
  });
138
- const l = [];
139
- return A.hasCheckRights(d == null ? void 0 : d["update.manage.notificationlist"]) && (l.push({
137
+ const n = [];
138
+ return A.hasCheckRights(r == null ? void 0 : r["update.manage.notificationlist"]) && (n.push({
140
139
  label: m(
141
140
  t.state === "ACTIVE" ? "Mark as Inactive" : "Mark as Active"
142
141
  ),
143
142
  onClick: (a) => {
144
143
  N(a), u(2);
145
144
  }
146
- }), l.push({
145
+ }), n.push({
147
146
  label: m("Sync With Server"),
148
147
  onClick: (a) => {
149
148
  if (!a.uuid) {
@@ -155,129 +154,129 @@ function Le() {
155
154
  }
156
155
  u(4), B(a == null ? void 0 : a.uuid), N(a);
157
156
  }
158
- }), l.push({
157
+ }), n.push({
159
158
  label: m("Show Flyway Query"),
160
159
  onClick: (a) => {
161
160
  u(3), N(a);
162
161
  }
163
- })), l.length > 0 && i.push({
162
+ })), n.length > 0 && i.push({
164
163
  label: "",
165
164
  icon: /* @__PURE__ */ e(
166
- X,
165
+ K,
167
166
  {
168
- icon: Se,
167
+ icon: Te,
169
168
  "data-testid": "notificationlist-button-menu"
170
169
  }
171
170
  ),
172
- menuItems: l
171
+ menuItems: n
173
172
  }), i;
174
- }, [d, m]), R = pe(
175
- xe((t) => {
173
+ }, [r, m]), V = fe(
174
+ be((t) => {
176
175
  const i = C.filter(
177
- (l) => {
176
+ (n) => {
178
177
  var a;
179
- return ((a = l.notificationName) == null ? void 0 : a.toLowerCase().includes(t)) && l.state === (V.current ? "ACTIVE" : "INACTIVE") && l.notificationType === (P.current ? "MO" : "WEB");
178
+ return ((a = n.notificationName) == null ? void 0 : a.toLowerCase().includes(t)) && n.state === (_.current ? "ACTIVE" : "INACTIVE") && n.notificationType === (R.current ? "MO" : "WEB");
180
179
  }
181
180
  );
182
- o("search_tracking", {
181
+ l("search_tracking", {
183
182
  searchTerm: t,
184
183
  results_count: i.length,
185
184
  search_type: "Page Search"
186
185
  }), h(i);
187
186
  }, 500),
188
- [C, o]
189
- ), ue = (t) => {
187
+ [C, l]
188
+ ), de = (t) => {
190
189
  const i = t.target.value.toLowerCase();
191
- x(i), R(i);
192
- }, me = (t) => {
190
+ x(i), V(i);
191
+ }, ue = (t) => {
193
192
  const i = t.sortOrder === "asc" ? "desc" : "asc";
194
- ne(
193
+ oe(
195
194
  (a) => a.map((f) => f.field === t.field ? { ...f, sortOrder: i } : f)
196
195
  );
197
- const l = [...L].sort((a, f) => {
196
+ const n = [...O].sort((a, f) => {
198
197
  var U, W;
199
- const z = (U = a[t.field]) == null ? void 0 : U.toString().toLowerCase(), Q = (W = f[t.field]) == null ? void 0 : W.toString().toLowerCase();
200
- return z < Q ? i === "asc" ? -1 : 1 : z > Q ? i === "asc" ? 1 : -1 : 0;
198
+ const j = (U = a[t.field]) == null ? void 0 : U.toString().toLowerCase(), z = (W = f[t.field]) == null ? void 0 : W.toString().toLowerCase();
199
+ return j < z ? i === "asc" ? -1 : 1 : j > z ? i === "asc" ? 1 : -1 : 0;
201
200
  });
202
- h(l);
203
- }, $ = async () => {
201
+ h(n);
202
+ }, P = async () => {
204
203
  try {
205
204
  p((a) => !a);
206
- const { data: t } = await H();
207
- O(t);
205
+ const { data: t } = await G();
206
+ E(t);
208
207
  const i = t.filter((a) => a.notificationType === "MO" && a.state === "ACTIVE");
209
208
  if (h(i), !w.length) {
210
- const { data: a } = await ge();
211
- ae(a);
209
+ const { data: a } = await he();
210
+ te(a);
212
211
  }
213
- const { data: l } = await ke("techo.manage.notification");
214
- ie(JSON.parse(l)), p((a) => !a), x("");
212
+ const { data: n } = await Se("techo.manage.notification");
213
+ ae(JSON.parse(n)), p((a) => !a), x("");
215
214
  } catch (t) {
216
215
  console.error("error", t), p((i) => !i);
217
216
  }
218
217
  };
219
218
  I(() => {
220
- $();
219
+ P();
221
220
  }, []);
222
- const j = (t, i) => {
223
- const l = i === "status" ? t : y, a = i === "notificationType" ? t : b;
224
- le(l), ce(a), r ? R(r) : h(
221
+ const $ = (t, i) => {
222
+ const n = i === "status" ? t : y, a = i === "notificationType" ? t : b;
223
+ ne(n), le(a), d ? V(d) : h(
225
224
  C.filter(
226
- (f) => f.state === (l ? "ACTIVE" : "INACTIVE") && f.notificationType === (a ? "MO" : "WEB")
225
+ (f) => f.state === (n ? "ACTIVE" : "INACTIVE") && f.notificationType === (a ? "MO" : "WEB")
227
226
  )
228
227
  );
229
228
  };
230
229
  return /* @__PURE__ */ s(
231
- Ne,
230
+ xe,
232
231
  {
233
232
  variant: "elevation",
234
233
  container: !0,
235
234
  className: "mt-6 p-3 flex flex-col space-y-3 shadow-xl",
236
235
  children: [
237
- /* @__PURE__ */ e(G, { children: /* @__PURE__ */ e(
238
- Ee,
236
+ /* @__PURE__ */ e(Q, { children: /* @__PURE__ */ e(
237
+ Me,
239
238
  {
240
239
  open: g === 1 || g === 5,
241
240
  handleClose: () => u(""),
242
- data: g === 1 ? n : null,
241
+ data: g === 1 ? o : null,
243
242
  roleData: w,
244
- setNotifications: $,
243
+ setNotifications: P,
245
244
  "data-testid": "notification-list-managenotification-dialog"
246
245
  }
247
246
  ) }),
248
- /* @__PURE__ */ e(G, { children: /* @__PURE__ */ e(
249
- Oe,
247
+ /* @__PURE__ */ e(Q, { children: /* @__PURE__ */ e(
248
+ Ee,
250
249
  {
251
250
  open: g === 3,
252
251
  handleClose: () => u(""),
253
- data: n,
252
+ data: o,
254
253
  roleData: w
255
254
  }
256
255
  ) }),
257
256
  /* @__PURE__ */ e(
258
- be,
257
+ ye,
259
258
  {
260
259
  title: "CONFIRM ACTION",
261
260
  open: g === 2,
262
- description: `Are you sure you want to change the state ${(n == null ? void 0 : n.state) === "INACTIVE" ? "inactive" : "active"} to ${(n == null ? void 0 : n.state) === "INACTIVE" ? "active" : "inactive"}`,
263
- handleClick: re,
261
+ description: `Are you sure you want to change the state ${(o == null ? void 0 : o.state) === "INACTIVE" ? "inactive" : "active"} to ${(o == null ? void 0 : o.state) === "INACTIVE" ? "active" : "inactive"}`,
262
+ handleClick: ce,
264
263
  handleClose: () => u(""),
265
264
  dataTestId: "notification-list-customconfirmationmodal-dialog"
266
265
  }
267
266
  ),
268
267
  /* @__PURE__ */ e(
269
- ye,
268
+ ge,
270
269
  {
271
- isOpen: !!_,
270
+ isOpen: !!L,
272
271
  handleClose: () => B(() => null),
273
- featureUUID: _,
272
+ featureUUID: L,
274
273
  dataTestId: "notification-list-syncwithserverdialog-dialog"
275
274
  }
276
275
  ),
277
- /* @__PURE__ */ s(te, { isLoading: F, children: [
276
+ /* @__PURE__ */ s(ee, { isLoading: F, children: [
278
277
  /* @__PURE__ */ s(k, { container: !0, className: "flex justify-between", children: [
279
278
  /* @__PURE__ */ e(k, { children: /* @__PURE__ */ e(
280
- J,
279
+ H,
281
280
  {
282
281
  variant: "body2",
283
282
  className: "font-bold font-sans text-lg text-customBlue uppercase",
@@ -288,13 +287,13 @@ function Le() {
288
287
  /* @__PURE__ */ s(S, { className: "flex flex-col sm:flex-row sm:items-center gap-3 w-full sm:w-auto", children: [
289
288
  /* @__PURE__ */ s(S, { className: "flex items-center gap-3", children: [
290
289
  /* @__PURE__ */ e(
291
- q,
290
+ J,
292
291
  {
293
292
  control: /* @__PURE__ */ e(
294
- K,
293
+ q,
295
294
  {
296
295
  checked: y,
297
- onChange: (t) => j(t.target.checked, "status"),
296
+ onChange: (t) => $(t.target.checked, "status"),
298
297
  "data-testid": "notifications-checkbox-include-active"
299
298
  }
300
299
  ),
@@ -307,13 +306,13 @@ function Le() {
307
306
  }
308
307
  ),
309
308
  /* @__PURE__ */ e(
310
- q,
309
+ J,
311
310
  {
312
311
  control: /* @__PURE__ */ e(
313
- K,
312
+ q,
314
313
  {
315
314
  checked: b,
316
- onChange: (t) => j(t.target.checked, "notificationType"),
315
+ onChange: (t) => $(t.target.checked, "notificationType"),
317
316
  "data-testid": "notifications-checkbox-include-mobile"
318
317
  }
319
318
  ),
@@ -328,14 +327,14 @@ function Le() {
328
327
  ] }),
329
328
  /* @__PURE__ */ s(S, { className: "flex items-center gap-3 w-full sm:w-auto", children: [
330
329
  /* @__PURE__ */ e(
331
- ve,
330
+ Ne,
332
331
  {
333
332
  id: "searchQuery",
334
333
  placeholder: "Search Text",
335
334
  size: "small",
336
- onChange: ue,
335
+ onChange: de,
337
336
  className: "m-0 p-0 bg-white",
338
- value: r,
337
+ value: d,
339
338
  "data-testid": "notification-list-textfield-search",
340
339
  sx: {
341
340
  "& .MuiInputBase-root": {
@@ -346,13 +345,13 @@ function Le() {
346
345
  }
347
346
  }
348
347
  ),
349
- A.hasCheckRights(d == null ? void 0 : d["create.manage.notificationlist"]) && /* @__PURE__ */ e(
350
- Ce,
348
+ A.hasCheckRights(r == null ? void 0 : r["create.manage.notificationlist"]) && /* @__PURE__ */ e(
349
+ ve,
351
350
  {
352
351
  size: "small",
353
352
  variant: "contained",
354
353
  onClick: () => {
355
- o("button_click", {
354
+ l("button_click", {
356
355
  button_name: "notification-list-add-button",
357
356
  button_type: "navigate",
358
357
  button_id: "notification-list-button-add"
@@ -367,11 +366,11 @@ function Le() {
367
366
  ] })
368
367
  ] }),
369
368
  /* @__PURE__ */ e(k, { size: { xs: 12 }, children: /* @__PURE__ */ e(
370
- Ie,
369
+ we,
371
370
  {
372
- columns: oe,
373
- actions: de,
374
- tableData: L,
371
+ columns: se,
372
+ actions: re,
373
+ tableData: O,
375
374
  paginationConfig: {
376
375
  pagination: !1
377
376
  },
@@ -380,7 +379,7 @@ function Le() {
380
379
  maxHeight: 40
381
380
  }
382
381
  },
383
- handleSort: me,
382
+ handleSort: ue,
384
383
  isLoading: F,
385
384
  dataTestId: "notification-list-customizedtable"
386
385
  }
@@ -390,14 +389,14 @@ function Le() {
390
389
  }
391
390
  );
392
391
  }
393
- const tt = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
392
+ const Ze = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
394
393
  __proto__: null,
395
- default: Le
394
+ default: Oe
396
395
  }, Symbol.toStringTag, { value: "Module" }));
397
396
  export {
398
- Me as M,
399
- tt as N,
400
- Ze as c,
401
- et as u
397
+ Ae as M,
398
+ Ze as N,
399
+ Xe as c,
400
+ Ye as u
402
401
  };
403
- //# sourceMappingURL=NotificationList-C3Vb_jKU.js.map
402
+ //# sourceMappingURL=NotificationList-BMFpNUJG.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NotificationList-BMFpNUJG.js","sources":["../src/services/Notifications.js","../src/views/Notifications/Skeletons/NotificationsSkeletons.jsx","../src/views/Notifications/NotificationList.jsx"],"sourcesContent":["import { api } from \"@/common/interceptors/AxiosInterceptor\";\nexport const toggleActiveState = ({ id, state }) =>\n api.put(\n `notificationtype/toggleActive?id=${id}&is_active=${state === \"INACTIVE\" ? \"true\" : \"false\"}`\n );\n\nexport const createNotification = (params) =>\n api.post(\"notificationtype/create\", params);\n\nexport const updateNotification = (params) =>\n api.post(\"notificationtype/update\", params);\n","import PropTypes from \"prop-types\";\nimport React from \"react\";\n\nimport { useSelector } from \"react-redux\";\nimport { getUseSkeleton } from \"@/store/reducers/SkeletonReducer\";\n\nexport const NotificationListSkeleton = ({ children, isLoading }) => {\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=\"flex flex-col gap-2\">\n <div className=\"flex space-between justify-between m-[0px]\">\n <div className=\"bg-gray-300 animate-pulse rounded-sm w-[130px] h-[40px]\"></div>\n <div className=\"flex\">\n <div className=\"bg-gray-300 animate-pulse rounded-sm w-[150px] h-[40px] mx-[5px]\"></div>\n <div className=\"bg-gray-300 animate-pulse rounded-sm w-[100px] h-[40px]\"></div>\n </div>\n </div>\n\n <div className=\"bg-gray-300 animate-pulse rounded-sm w-full h-100\"></div>\n </div>\n );\n};\n\nNotificationListSkeleton.propTypes = {\n children: PropTypes.any,\n isLoading: PropTypes.any,\n};\n\nexport const ManageNotificationSkeleton = ({ children, isLoading }) => {\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=\"flex flex-col w-full md:w-[650px] bg-white \">\n <div className=\"px-2 py-2 flex items-center \">\n <div className=\"bg-gray-300 animate-pulse rounded-sm w-60 h-10\"></div>\n </div>\n <hr></hr>\n <div className=\"flex flex-col w-full space-y-2 p-2\">\n <div className=\"flex flex-col space-y-2\">\n <button className=\"bg-gray-300 animate-pulse rounded-sm w-40 h-5 mr-[100px]\"></button>\n <button className=\"bg-gray-300 animate-pulse rounded-sm w-full h-10 \"></button>\n </div>\n <div className=\"flex flex-col space-y-2 \">\n <button className=\"bg-gray-300 animate-pulse rounded-sm w-40 h-5 mr-[100px]\"></button>\n <button className=\"bg-gray-300 animate-pulse rounded-sm w-full h-10 \"></button>\n </div>\n <div className=\"flex flex-col space-y-2 \">\n <button className=\"bg-gray-300 animate-pulse rounded-sm w-40 h-5 mr-[100px]\"></button>\n <button className=\"bg-gray-300 animate-pulse rounded-sm w-full h-10 \"></button>\n </div>\n <div className=\"flex flex-col space-y-2 \">\n <button className=\"bg-gray-300 animate-pulse rounded-sm w-40 h-5 mr-[100px]\"></button>\n <button className=\"bg-gray-300 animate-pulse rounded-sm w-full h-10 \"></button>\n </div>\n <div className=\"flex flex-col space-y-2 \">\n <button className=\"bg-gray-300 animate-pulse rounded-sm w-40 h-5 mr-[100px]\"></button>\n <button className=\"bg-gray-300 animate-pulse rounded-sm w-full h-10 \"></button>\n </div>\n </div>\n <hr></hr>\n <div className=\"px-2 py-2 w-full flex space-x-3 items-center justify-end \">\n <div className=\"bg-gray-300 animate-pulse rounded-sm w-20 h-10\"></div>\n <div className=\"bg-gray-300 animate-pulse rounded-sm w-20 h-10\"></div>\n </div>\n </div>\n );\n};\n\nManageNotificationSkeleton.propTypes = {\n children: PropTypes.any,\n isLoading: PropTypes.any,\n};\n","import {\n lazy,\n default as React,\n Suspense,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { useTranslateProvider } from \"@/common/languageTranslator/TranslationContext\";\nimport { toggleActiveState } from \"../../services/Notifications\";\nimport { getAllRoleList, getNotifications } from \"@/common/services/GlobalApis\";\nimport SyncWithServerDialog from \"@/common/syncWithServer/SyncWithServerDialog\";\nimport { showToast } from \"@/common/toaster/toaster\";\nimport CustomConfirmationModal from \"@/views/custom-components/CustomConfirmationModal\";\nconst ManageNotification = lazy(() => import(\"./ManageNotification\"));\nconst NotificationFlywayQuery = lazy(() => import(\"./NotificationFlywayQuery\"));\nimport { Box, Button, Card, Checkbox, debounce, FormControlLabel, TextField, Typography } from \"@mui/material\";\nimport { Grid } from \"@mui/system\";\nimport { NotificationListSkeleton } from \"./Skeletons/NotificationsSkeletons\";\nimport useTrackEvent from \"@/hooks/useTrackEvent\";\nimport CustomizedTable from \"@/views/custom-components/CustomizedTable/CustomizedTableV2\";\nimport { faBars, faPen } from \"@fortawesome/free-solid-svg-icons\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport GeneralUtil from \"@/common/services/util/GeneralUtil\";\nimport { getAssignedFeatures } from \"@/utils/feature\";\n\n/**\n *\n * @module NotificationList\n * @returns {JSX.element}\n *\n */\nexport default function NotificationList() {\n const trackEvent = useTrackEvent();\n const [search, setSearch] = useState(\"\");\n const [notifications, setNotifications] = useState([]);\n const [filteredNotifications, setFilteredNotifications] = useState([]);\n const [openModal, setOpenModal] = useState(\"\");\n const [rowData, setRowData] = useState({});\n const [roleData, setRoleData] = useState([]);\n const { translate } = useTranslateProvider();\n const [featureUuid, setFeatureUuid] = useState(null);\n const [isLoading, setIsLoading] = useState(false);\n const [rights, setRights] = useState({});\n const defaultColumns = [\n {\n field: \"notificationName\",\n label: \"Name\",\n sortable: true,\n sortOrder: \"asc\",\n align: \"left\",\n },\n {\n field: \"code\",\n label: \"Code\",\n sortable: true,\n sortOrder: \"asc\",\n align: \"left\",\n },\n {\n field: \"notificationType\",\n label: \"Type\",\n align: \"left\",\n render: (row) => {\n return <Typography mt={0.5}>{row.notificationType === 'WEB' ? 'WEB' : 'MOBILE'}</Typography>;\n }\n },\n {\n field: \"state\",\n label: \"State\",\n sortable: true,\n sortOrder: \"asc\",\n align: \"left\",\n },\n { field: \"Actions\", label: \"Actions\", align: \"left\" },\n ];\n const [columns, setColumns] = useState(defaultColumns);\n const [isActive, setisActive] = useState(true);\n const [isMobile, setisMobile] = useState(true);\n\n const isActiveRef = useRef(isActive);\n const isMobileRef = useRef(isMobile);\n\n useEffect(() => {\n isActiveRef.current = isActive;\n }, [isActive]);\n\n useEffect(() => {\n isMobileRef.current = isMobile;\n }, [isMobile]);\n\n /**\n * Toggles the active/inactive status of a notification.\n * @async\n * @function toggleActiveStatus\n * @returns {Promise<void>} A promise that resolves when the active status has been toggled and notifications reloaded.\n */\n const toggleActiveStatus = async () => {\n try {\n setIsLoading((cur) => !cur);\n await toggleActiveState({ id: rowData.id, state: rowData.state });\n setOpenModal(\"\");\n const { data } = await getNotifications();\n setNotifications(data);\n setFilteredNotifications(data);\n showToast({\n type: \"success\",\n message: `State succesfully changed from ${rowData?.state === \"INACTIVE\" ? \"inactive\" : \"active\"} to ${rowData?.state === \"INACTIVE\" ? \"active\" : \"inactive\"}`,\n });\n setIsLoading((cur) => !cur);\n } catch (error) {\n showToast({\n type: \"error\",\n message: `Error ${error}`,\n });\n setIsLoading((cur) => !cur);\n }\n };\n\n const actions = useMemo(() => (row) => {\n const list = [];\n\n if (GeneralUtil.hasCheckRights(rights?.['update.manage.notificationlist'])) {\n list.push({\n label: \"\",\n icon: (\n <FontAwesomeIcon\n icon={faPen}\n data-testid=\"notificationlist-button-edit\"\n />\n ),\n onClick: (e) => {\n setOpenModal(1);\n setRowData(e);\n },\n });\n }\n\n const currentMenuItems = [];\n if (GeneralUtil.hasCheckRights(rights?.['update.manage.notificationlist'])) {\n currentMenuItems.push({\n label: translate(\n row.state === \"ACTIVE\" ? \"Mark as Inactive\" : \"Mark as Active\"\n ),\n onClick: (e) => {\n setRowData(e);\n setOpenModal(2);\n },\n });\n currentMenuItems.push({\n label: translate(\"Sync With Server\"),\n onClick: (e) => {\n if (!e.uuid) {\n showToast({\n type: \"info\",\n message: `No configuration found. Please open the respective feature item and save it.`,\n });\n return;\n }\n setOpenModal(4);\n setFeatureUuid(e?.uuid);\n setRowData(e);\n },\n });\n currentMenuItems.push({\n label: translate(\"Show Flyway Query\"),\n onClick: (e) => {\n setOpenModal(3);\n setRowData(e);\n },\n });\n }\n\n if (currentMenuItems.length > 0) {\n list.push({\n label: \"\",\n icon: (\n <FontAwesomeIcon\n icon={faBars}\n data-testid=\"notificationlist-button-menu\"\n />\n ),\n menuItems: currentMenuItems,\n });\n }\n\n return list;\n }, [rights, translate]);\n\n const debouncedFilter = useCallback(\n debounce((searchValue) => {\n const filteredData = notifications.filter(d =>\n d.notificationName?.toLowerCase().includes(searchValue) &&\n d.state === (isActiveRef.current ? 'ACTIVE' : 'INACTIVE') &&\n d.notificationType === (isMobileRef.current ? 'MO' : 'WEB')\n );\n trackEvent(\"search_tracking\", {\n searchTerm: searchValue,\n results_count: filteredData.length,\n search_type: \"Page Search\",\n });\n setFilteredNotifications(filteredData);\n }, 500),\n [notifications, trackEvent]\n );\n\n /**\n * Handles the search input to filter notifications by name.\n * @function handleSearch\n * @param {Object} e - The event object from the input field.\n * @param {string} e.target.value - The current value in the search input field.\n */\n const handleSearch = (e) => {\n const searchValue = e.target.value.toLowerCase();\n setSearch(searchValue);\n debouncedFilter(searchValue);\n };\n\n /**\n * Handles sorting of the notification list based on the specified column.\n * @function handleSort\n */\n const handleSort = (column) => {\n const order = column.sortOrder === \"asc\" ? \"desc\" : \"asc\";\n setColumns((prev) =>\n prev.map((col) => {\n if (col.field === column.field) {\n return { ...col, sortOrder: order };\n }\n return col;\n })\n );\n\n const sortedData = [...filteredNotifications].sort((a, b) => {\n const valA = a[column.field]?.toString().toLowerCase();\n const valB = b[column.field]?.toString().toLowerCase();\n\n if (valA < valB) {\n return order === \"asc\" ? -1 : 1;\n }\n if (valA > valB) {\n return order === \"asc\" ? 1 : -1;\n }\n return 0;\n });\n\n setFilteredNotifications(sortedData);\n };\n\n /**\n * Loads initial data for notifications and roles when the component is mounted or when `openModal` changes.\n * @function useEffect\n * @param {boolean} openModal - The state that controls whether a modal is open. Triggers the hook to reload data when it changes.\n */\n\n const loadInitialData = async () => {\n try {\n setIsLoading((cur) => !cur);\n const { data } = await getNotifications();\n setNotifications(data);\n const filteredData = data.filter(d => d.notificationType === 'MO' && d.state === 'ACTIVE');\n setFilteredNotifications(filteredData);\n if (!roleData.length) {\n const { data: roleData } = await getAllRoleList();\n setRoleData(roleData);\n }\n const { data: assignedFeatures } = await getAssignedFeatures(\"techo.manage.notification\");\n setRights(JSON.parse(assignedFeatures));\n setIsLoading((cur) => !cur);\n setSearch('');\n } catch (error) {\n console.error(\"error\", error);\n setIsLoading((cur) => !cur);\n }\n };\n\n useEffect(() => {\n loadInitialData();\n }, []);\n\n const handleFilter = (value, filterType) => {\n const nextIsActive =\n filterType === 'status' ? value : isActive;\n\n const nextIsMobile =\n filterType === 'notificationType' ? value : isMobile;\n\n setisActive(nextIsActive);\n setisMobile(nextIsMobile);\n\n if (search) {\n debouncedFilter(search);\n } else {\n setFilteredNotifications(\n notifications.filter(d =>\n d.state === (nextIsActive ? 'ACTIVE' : 'INACTIVE') &&\n d.notificationType === (nextIsMobile ? 'MO' : 'WEB')\n )\n );\n }\n };\n\n return (\n <Card\n variant=\"elevation\"\n container\n className=\"mt-6 p-3 flex flex-col space-y-3 shadow-xl\"\n >\n <Suspense>\n <ManageNotification\n open={openModal === 1 || openModal === 5}\n handleClose={() => setOpenModal(\"\")}\n data={openModal === 1 ? rowData : null}\n roleData={roleData}\n setNotifications={loadInitialData}\n data-testid=\"notification-list-managenotification-dialog\"\n />\n </Suspense>\n <Suspense>\n <NotificationFlywayQuery\n open={openModal === 3}\n handleClose={() => setOpenModal(\"\")}\n data={rowData}\n roleData={roleData}\n />\n </Suspense>\n <CustomConfirmationModal\n title={\"CONFIRM ACTION\"}\n open={openModal === 2}\n description={`Are you sure you want to change the state ${rowData?.state === \"INACTIVE\" ? \"inactive\" : \"active\"} to ${rowData?.state === \"INACTIVE\" ? \"active\" : \"inactive\"}`}\n handleClick={toggleActiveStatus}\n handleClose={() => setOpenModal(\"\")}\n dataTestId=\"notification-list-customconfirmationmodal-dialog\"\n />\n <SyncWithServerDialog\n isOpen={Boolean(featureUuid)}\n handleClose={() => setFeatureUuid(() => null)}\n featureUUID={featureUuid}\n dataTestId=\"notification-list-syncwithserverdialog-dialog\"\n />\n <NotificationListSkeleton isLoading={isLoading}>\n <Grid container className=\"flex justify-between\">\n <Grid>\n <Typography\n variant=\"body2\"\n className=\"font-bold font-sans text-lg text-customBlue uppercase\"\n data-testid=\"notification-list-typography-title\"\n >\n {translate(\"Notification Configuration\")}\n </Typography>\n </Grid>\n <Box className=\"flex flex-col sm:flex-row sm:items-center gap-3 w-full sm:w-auto\">\n <Box className=\"flex items-center gap-3\">\n <FormControlLabel\n control={\n <Checkbox\n checked={isActive}\n onChange={(e) =>\n handleFilter(e.target.checked, 'status')\n }\n data-testid=\"notifications-checkbox-include-active\"\n />\n }\n label={translate(\"Active\")}\n slotProps={{\n typography: {\n className: \"custom-label\",\n },\n }}\n />\n <FormControlLabel\n control={\n <Checkbox\n checked={isMobile}\n onChange={(e) =>\n handleFilter(e.target.checked, 'notificationType')\n }\n data-testid=\"notifications-checkbox-include-mobile\"\n />\n }\n label={translate(\"Mobile\")}\n slotProps={{\n typography: {\n className: \"custom-label\",\n },\n }}\n />\n </Box>\n <Box className=\"flex items-center gap-3 w-full sm:w-auto\">\n <TextField\n id=\"searchQuery\"\n placeholder=\"Search Text\"\n size=\"small\"\n onChange={handleSearch}\n className=\"m-0 p-0 bg-white\"\n value={search}\n data-testid=\"notification-list-textfield-search\"\n sx={{\n \"& .MuiInputBase-root\": {\n height: \"2.4em\",\n width: { xs: \"100%\", sm: \"190px\" },\n },\n flex: { xs: 1, sm: 1 }\n }}\n />\n {GeneralUtil.hasCheckRights(rights?.['create.manage.notificationlist']) && (\n <Button\n size=\"small\"\n variant=\"contained\"\n onClick={() => {\n trackEvent(\"button_click\", {\n button_name: \"notification-list-add-button\",\n button_type: \"navigate\",\n button_id: \"notification-list-button-add\",\n });\n setOpenModal(5);\n }}\n data-testid=\"notification-list-button-add\"\n sx={{ whiteSpace: 'nowrap' }}\n >\n {translate(\"Add\")}\n </Button>\n )}\n </Box>\n </Box>\n </Grid>\n <Grid size={{ xs: 12 }}>\n <CustomizedTable\n columns={columns}\n actions={actions}\n tableData={filteredNotifications}\n paginationConfig={{\n pagination: false,\n }}\n styleConfig={{\n tableStyle: {\n maxHeight: 40,\n },\n }}\n handleSort={handleSort}\n isLoading={isLoading}\n dataTestId=\"notification-list-customizedtable\"\n />\n </Grid>\n </NotificationListSkeleton>\n </Card>\n );\n}\n"],"names":["toggleActiveState","id","state","api","createNotification","params","updateNotification","NotificationListSkeleton","children","isLoading","useSelector","getUseSkeleton","jsxs","jsx","PropTypes","ManageNotificationSkeleton","ManageNotification","lazy","NotificationFlywayQuery","NotificationList","trackEvent","useTrackEvent","search","setSearch","useState","notifications","setNotifications","filteredNotifications","setFilteredNotifications","openModal","setOpenModal","rowData","setRowData","roleData","setRoleData","translate","useTranslateProvider","featureUuid","setFeatureUuid","setIsLoading","rights","setRights","defaultColumns","row","Typography","columns","setColumns","isActive","setisActive","isMobile","setisMobile","isActiveRef","useRef","isMobileRef","useEffect","toggleActiveStatus","cur","data","getNotifications","showToast","error","actions","useMemo","list","GeneralUtil","FontAwesomeIcon","faPen","e","currentMenuItems","faBars","debouncedFilter","useCallback","debounce","searchValue","filteredData","_a","d","handleSearch","handleSort","column","order","prev","col","sortedData","b","valA","valB","_b","loadInitialData","getAllRoleList","assignedFeatures","getAssignedFeatures","handleFilter","value","filterType","nextIsActive","nextIsMobile","Card","Suspense","CustomConfirmationModal","SyncWithServerDialog","Grid","Box","FormControlLabel","Checkbox","TextField","Button","CustomizedTable"],"mappings":"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"}