@argusoft/medplat-core 1.0.26 → 1.0.27

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 (63) 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/FileSaver.min-CN9EpL2h.js.map +1 -1
  18. package/dist/{ImmunizationConfigurationsList-K2ddBpPJ.js → ImmunizationConfigurationsList-DdSZicTP.js} +72 -73
  19. package/dist/{ImmunizationConfigurationsList-K2ddBpPJ.js.map → ImmunizationConfigurationsList-DdSZicTP.js.map} +1 -1
  20. package/dist/ImmunizationSkeleton-D2tdv5k-.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-CaBAOhji.js.map +1 -0
  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-AY1EUDLI.js.map +1 -0
  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/OtherTypeEventConfigModal-BeG1GrUi.js.map +1 -1
  34. package/dist/{QueryBuilder-DI0wCJbz.js → QueryBuilder-z7eqfd7D.js} +117 -119
  35. package/dist/QueryBuilder-z7eqfd7D.js.map +1 -0
  36. package/dist/{QueryManagement-CRykYGum.js → QueryManagement-BIhEDKuA.js} +114 -114
  37. package/dist/QueryManagement-BIhEDKuA.js.map +1 -0
  38. package/dist/{RoleManagement-BIiW9uTq.js → RoleManagement-BPl2cE27.js} +99 -99
  39. package/dist/RoleManagement-BPl2cE27.js.map +1 -0
  40. package/dist/{SubMenu-CM_4wNCR.js → SubMenu-DYxAPH2Z.js} +34 -34
  41. package/dist/SubMenu-DYxAPH2Z.js.map +1 -0
  42. package/dist/{UserList-2gGuDgNa.js → UserList-Bc8gYxRL.js} +397 -400
  43. package/dist/UserList-Bc8gYxRL.js.map +1 -0
  44. package/dist/{WidgetList-B7X8Awkg.js → WidgetList-Dw_FmbbE.js} +26 -26
  45. package/dist/WidgetList-Dw_FmbbE.js.map +1 -0
  46. package/dist/i18next-CTOWN_jH.js.map +1 -1
  47. package/dist/index.css +1 -1
  48. package/dist/index.js +10 -10
  49. package/dist/xlsx.min-D1LFqt_b.js.map +1 -1
  50. package/package.json +1 -1
  51. package/dist/AccessRights-CupmTG3T.js.map +0 -1
  52. package/dist/EventConfigurations-lPcZGpLi.js.map +0 -1
  53. package/dist/FeatureMenu-DUZL32RI.js.map +0 -1
  54. package/dist/ManageNotification-CSl02Wq7.js.map +0 -1
  55. package/dist/ManageTranslation-D9IScGhk.js.map +0 -1
  56. package/dist/ManageUser-AB3_Vfp_.js.map +0 -1
  57. package/dist/NotificationList-D1U1LYnz.js.map +0 -1
  58. package/dist/QueryBuilder-DI0wCJbz.js.map +0 -1
  59. package/dist/QueryManagement-CRykYGum.js.map +0 -1
  60. package/dist/RoleManagement-BIiW9uTq.js.map +0 -1
  61. package/dist/SubMenu-CM_4wNCR.js.map +0 -1
  62. package/dist/UserList-2gGuDgNa.js.map +0 -1
  63. package/dist/WidgetList-B7X8Awkg.js.map +0 -1
@@ -1,29 +1,29 @@
1
1
  import { jsxs as m, jsx as a } from "react/jsx-runtime";
2
- import { useRef as Y, useState as o, useEffect as X, useCallback as va, useMemo as E, Suspense as z, createElement as xa, lazy as R } from "react";
3
- import { api as f } from "@/common/interceptors/AxiosInterceptor";
2
+ import { useRef as J, useState as o, useEffect as Y, useCallback as va, useMemo as E, Suspense as z, createElement as xa, lazy as P } from "react";
3
+ import { api as h } from "@/common/interceptors/AxiosInterceptor";
4
4
  import { execute as Aa, executeQuery as j } from "@/common/services/GlobalApis";
5
5
  import { showToast as b } from "@/common/toaster/toaster";
6
6
  import p from "@mui/material/Grid2";
7
- import { getAssignedFeatures as Ta } from "@/utils/feature";
8
- import { Box as Z, Card as Sa, Typography as L, FormControl as P, Select as La, MenuItem as Na, Autocomplete as Ca, TextField as Se, Chip as ka, Button as M, FormGroup as wa, FormControlLabel as Ma, Checkbox as Ia } from "@mui/material";
7
+ import { getAssignedFeatures as Ca } from "@/utils/feature";
8
+ import { Box as X, Card as Sa, Typography as L, FormControl as Z, Select as La, MenuItem as Na, Autocomplete as ka, TextField as Se, Chip as Ta, Button as M, FormGroup as wa, FormControlLabel as Ma, Checkbox as Ia } from "@mui/material";
9
9
  import _a from "@/hooks/usePagination";
10
10
  import Fa from "@/views/custom-components/CustomConfirmationModal";
11
- import T from "@/common/services/util/GeneralUtil";
11
+ import C from "@/common/services/util/GeneralUtil";
12
12
  import { useTranslateProvider as Ea } from "@/common/languageTranslator/TranslationContext";
13
- import h from "prop-types";
13
+ import f from "prop-types";
14
14
  import { useSelector as O } from "react-redux";
15
15
  import { getUseSkeleton as V } from "@/store/reducers/SkeletonReducer";
16
16
  import za from "@/views/custom-components/CustomizedTable/CustomizedTableV2";
17
17
  import { faPen as ja, faBars as Oa } from "@fortawesome/free-solid-svg-icons";
18
18
  import { FontAwesomeIcon as Le } from "@fortawesome/react-fontawesome";
19
- import './ManageTranslation.css';const ut = (s) => f.post("/translation/languages", s), pt = (s) => f.put("/translation/languages", s), Va = () => f.get("/translation/languages"), mt = (s) => f.post("/translation/apps", s), gt = (s) => f.post("/translation/apps", s), Da = () => f.get("/translation/apps"), ft = (s) => f.post("/translation/labels", s), ht = (s) => f.post("/translation/map", s), yt = (s) => f.post("/translation/mapUpdate", s), Wa = (s, u, g) => {
19
+ import './ManageTranslation.css';const ut = (s) => h.post("/translation/languages", s), pt = (s) => h.put("/translation/languages", s), Va = () => h.get("/translation/languages"), mt = (s) => h.post("/translation/apps", s), gt = (s) => h.post("/translation/apps", s), Da = () => h.get("/translation/apps"), ht = (s) => h.post("/translation/labels", s), ft = (s) => h.post("/translation/map", s), yt = (s) => h.post("/translation/mapUpdate", s), Wa = (s, u, g) => {
20
20
  const D = new URLSearchParams({
21
21
  key: s,
22
22
  isActive: u,
23
23
  app: g
24
24
  }).toString();
25
- return f.put(`/translation/toggleActive?${D}`, { key: s, isActive: u, app: g });
26
- }, bt = (s, u) => f.get("/translation/translate", { params: { targetLangs: s, englishText: u } }), Ne = ({ children: s, isLoading: u }) => !O(V) || !u ? s : /* @__PURE__ */ m("div", { className: "flex flex-col mt-6 gap-2 w-full", children: [
25
+ return h.put(`/translation/toggleActive?${D}`, { key: s, isActive: u, app: g });
26
+ }, bt = (s, u) => h.get("/translation/translate", { params: { targetLangs: s, englishText: u } }), Ne = ({ children: s, isLoading: u }) => !O(V) || !u ? s : /* @__PURE__ */ m("div", { className: "flex flex-col mt-6 gap-2 w-full", children: [
27
27
  /* @__PURE__ */ m("div", { className: "flex w-full items-center justify-between space-x-2", children: [
28
28
  /* @__PURE__ */ m("div", { className: "flex space-x-2", children: [
29
29
  /* @__PURE__ */ a("div", { className: "bg-gray-300 animate-pulse rounded-sm w-40 h-10" }),
@@ -40,8 +40,8 @@ import './ManageTranslation.css';const ut = (s) => f.post("/translation/language
40
40
  /* @__PURE__ */ a("div", { className: "bg-gray-300 animate-pulse rounded-sm w-full h-100" })
41
41
  ] });
42
42
  Ne.propTypes = {
43
- children: h.any,
44
- isLoading: h.any
43
+ children: f.any,
44
+ isLoading: f.any
45
45
  };
46
46
  const Ba = ({ children: s, isLoading: u = !0 }) => !O(V) || !u ? s : /* @__PURE__ */ m("div", { className: "flex flex-col absolute top-10 left-1/2 -translate-x-1/2 w-[95%] sm:w-[600px] md:w-[700px] lg:w-[800px] bg-white shadow-2xl border border-gray-300 rounded-sm h-[60vh]", children: [
47
47
  /* @__PURE__ */ a("div", { className: "h-15 w-full bg-gray-200 rounded mb-6" }),
@@ -51,27 +51,27 @@ const Ba = ({ children: s, isLoading: u = !0 }) => !O(V) || !u ? s : /* @__PURE_
51
51
  /* @__PURE__ */ a("div", { className: "h-9 w-1/3 bg-gray-200 rounded mt-auto ml-auto mb-2 mr-3" })
52
52
  ] });
53
53
  Ba.propTypes = {
54
- children: h.any,
55
- isLoading: h.any
54
+ children: f.any,
55
+ isLoading: f.any
56
56
  };
57
57
  const Ka = ({ children: s, isLoading: u = !0 }) => !O(V) || !u ? s : /* @__PURE__ */ a("div", { className: "w-full flex justify-end pb-[10px]", children: /* @__PURE__ */ a("div", { className: "bg-gray-300 animate-pulse rounded-sm h-[32px] w-[100px]" }) });
58
58
  Ka.propTypes = {
59
- children: h.any,
60
- isLoading: h.any
59
+ children: f.any,
60
+ isLoading: f.any
61
61
  };
62
62
  const qa = ({ children: s, isLoading: u = !0 }) => !O(V) || !u ? s : /* @__PURE__ */ a("div", { className: "flex justify-end w-full", children: /* @__PURE__ */ a("div", { className: "bg-gray-300 animate-pulse rounded-sm h-[32px] w-[120px]" }) });
63
63
  qa.propTypes = {
64
- children: h.any,
65
- isLoading: h.any
64
+ children: f.any,
65
+ isLoading: f.any
66
66
  };
67
- h.any, h.any;
68
- const Ua = R(() => import("./AppModal-BKgIwe1h.js")), $a = R(() => import("./LanguagesModal-CX3oS8rk.js")), Ga = R(() => import("./AddLabelModal-CB8E8cYG.js"));
67
+ f.any, f.any;
68
+ const Ua = P(() => import("./AppModal-CtG2GjD_.js")), $a = P(() => import("./LanguagesModal-D6VfaGrl.js")), Ga = P(() => import("./AddLabelModal-DFllBVcd.js"));
69
69
  function Ha() {
70
- const { translate: s } = Ea(), u = Y(null), [g, D] = o([]), I = Y(!1), [Ce, ee] = o([]), [ke, ae] = o(!1), [we, W] = o(null), [Me, B] = o(!1), [te, Ie] = o([]), [se, ne] = o(!1), [le, re] = o(!1), [oe, _e] = o(!0), [y, K] = o(""), [N, Fe] = o([]), [ie, C] = o(!1), [Ee, q] = o(null), [k, ce] = o(""), [v, de] = o(""), [S, ue] = o(!1), [r, ze] = o({}), je = Y(r);
71
- X(() => {
70
+ const { translate: s } = Ea(), u = J(null), [g, D] = o([]), I = J(!1), [ke, ee] = o([]), [Te, ae] = o(!1), [we, W] = o(null), [Me, B] = o(!1), [te, Ie] = o([]), [se, ne] = o(!1), [le, re] = o(!1), [oe, _e] = o(!0), [y, K] = o(""), [N, Fe] = o([]), [ie, k] = o(!1), [Ee, q] = o(null), [T, ce] = o(""), [v, de] = o(""), [S, ue] = o(!1), [r, ze] = o(null), je = J(r);
71
+ Y(() => {
72
72
  je.current = r;
73
73
  }, [r]);
74
- const [Oe, U] = o(!1), [pe, Ve] = o(""), [De, We] = o(""), [i, Be] = o({}), [Ke, me] = o(!1), [qe, ge] = o(null), [$, G] = o(!1), [Ue, fe] = o(!1), [_, $e] = o(!1), [Ge, H] = o(!1), [he, He] = o([]), [x, ye] = o([]), Qe = async () => {
74
+ const [Oe, U] = o(!1), [pe, Ve] = o(""), [De, We] = o(""), [i, Be] = o({}), [Ke, me] = o(!1), [qe, ge] = o(null), [$, G] = o(!1), [Ue, he] = o(!1), [_, $e] = o(!1), [Ge, H] = o(!1), [fe, He] = o([]), [x, ye] = o([]), Qe = async () => {
75
75
  var e;
76
76
  try {
77
77
  const t = await Aa({
@@ -83,13 +83,13 @@ function Ha() {
83
83
  console.error(t);
84
84
  }
85
85
  };
86
- X(() => {
87
- Je(), Qe();
86
+ Y(() => {
87
+ Re(), Qe();
88
88
  }, []);
89
- const Je = async () => {
89
+ const Re = async () => {
90
90
  try {
91
91
  await Q();
92
- const { data: e } = await Ta(
92
+ const { data: e } = await Ca(
93
93
  "techo.manage.manageTranslation"
94
94
  );
95
95
  ze(JSON.parse(e));
@@ -107,25 +107,25 @@ function Ha() {
107
107
  } catch (n) {
108
108
  console.error(n), b({ message: "Error in manage Translation", type: "error" });
109
109
  }
110
- }, Ye = (e) => {
110
+ }, Je = (e) => {
111
111
  var t;
112
112
  K((t = e == null ? void 0 : e.target) == null ? void 0 : t.value);
113
113
  }, be = va((e) => {
114
114
  const t = (e.match(/{/g) || []).length, n = (e.match(/}/g) || []).length;
115
115
  t > n || ce(e);
116
- }, []), Xe = (e, t) => {
116
+ }, []), Ye = (e, t) => {
117
117
  let n;
118
118
  return (...c) => {
119
119
  n && clearTimeout(n), n = setTimeout(() => {
120
120
  e(...c);
121
121
  }, t);
122
122
  };
123
- }, Ze = E(
124
- () => Xe(be, 300),
123
+ }, Xe = E(
124
+ () => Ye(be, 300),
125
125
  [be]
126
- ), Pe = (e) => {
126
+ ), Ze = (e) => {
127
127
  const { value: t } = e.target;
128
- Ze(t);
128
+ Xe(t);
129
129
  }, ve = (e) => {
130
130
  de(e);
131
131
  }, xe = [
@@ -145,7 +145,7 @@ function Ha() {
145
145
  });
146
146
  }
147
147
  );
148
- const Re = (e) => {
148
+ const Pe = (e) => {
149
149
  Ve(
150
150
  (e == null ? void 0 : e.state) === "Active" ? "Mark as Inactive" : "Mark as Active"
151
151
  ), We(
@@ -155,7 +155,7 @@ function Ha() {
155
155
  U((e) => !e);
156
156
  }, aa = async () => {
157
157
  try {
158
- W({ key: i == null ? void 0 : i.key }), fe(!0), C((e) => !e);
158
+ W({ key: i == null ? void 0 : i.key }), he(!0), k((e) => !e);
159
159
  } catch (e) {
160
160
  console.error(e), b({ message: "Error in opening Add App Modal", type: "error" });
161
161
  }
@@ -167,18 +167,18 @@ function Ha() {
167
167
  parameters: { key: i == null ? void 0 : i.key.replace(/'/g, "''") }
168
168
  };
169
169
  const d = await j(l);
170
- let fa = (e = d == null ? void 0 : d.data) == null ? void 0 : e.result;
170
+ let ha = (e = d == null ? void 0 : d.data) == null ? void 0 : e.result;
171
171
  q((t = d == null ? void 0 : d.data) == null ? void 0 : t.result);
172
- let ha = {
172
+ let fa = {
173
173
  code: "labels_app_data_for_prepopulating",
174
174
  parameters: {
175
175
  key: i == null ? void 0 : i.key,
176
176
  appValue: i == null ? void 0 : i.app
177
177
  }
178
- }, ya = fa.map((A) => A.app), Te = g.filter((A) => ya.indexOf(A.id) === -1);
179
- if (Te.length > 0) {
180
- const A = await j(ha);
181
- W((n = A == null ? void 0 : A.data) == null ? void 0 : n.result), ee(Te), ae(!0), C((ba) => !ba);
178
+ }, ya = ha.map((A) => A.app), Ce = g.filter((A) => ya.indexOf(A.id) === -1);
179
+ if (Ce.length > 0) {
180
+ const A = await j(fa);
181
+ W((n = A == null ? void 0 : A.data) == null ? void 0 : n.result), ee(Ce), ae(!0), k((ba) => !ba);
182
182
  } else
183
183
  b({
184
184
  message: "Label already present in all apps",
@@ -197,7 +197,7 @@ function Ha() {
197
197
  }, na = async (e) => {
198
198
  var t;
199
199
  try {
200
- B(!0), C((d) => !d), me((d) => !d);
200
+ B(!0), k((d) => !d), me((d) => !d);
201
201
  let n = e == null ? void 0 : e.key.replace(/'/g, "''");
202
202
  ge(n);
203
203
  const l = await j({
@@ -210,7 +210,7 @@ function Ha() {
210
210
  }
211
211
  }, la = (e) => (e == null ? void 0 : e.state) !== "Inactive", ra = E(() => {
212
212
  const e = [];
213
- (!T.isTecho || r != null && r["update.manage.manageTranslation"]) && e.push({
213
+ C.hasCheckRights(r == null ? void 0 : r["update.manage.manageTranslation"]) && e.push({
214
214
  label: "",
215
215
  icon: /* @__PURE__ */ a(Le, { icon: ja }),
216
216
  onClick: na,
@@ -218,10 +218,10 @@ function Ha() {
218
218
  dataTestId: "manage-translation-edit-icon"
219
219
  });
220
220
  const t = [];
221
- return (!T.isTecho || r != null && r["update.manage.manageTranslation"]) && t.push({ label: s(pe), onClick: ea }), (!T.isTecho || r != null && r["create.manage.manageTranslation"]) && (t.push({ label: s("Add app"), onClick: ta }), t.push({ label: s("Add Namespace"), onClick: aa })), t.length > 0 && e.push({
221
+ return C.hasCheckRights(r == null ? void 0 : r["update.manage.manageTranslation"]) && t.push({ label: s(pe), onClick: ea }), C.hasCheckRights(r == null ? void 0 : r["create.manage.manageTranslation"]) && (t.push({ label: s("Add app"), onClick: ta }), t.push({ label: s("Add Namespace"), onClick: aa })), t.length > 0 && e.push({
222
222
  label: "",
223
223
  icon: /* @__PURE__ */ a(Le, { icon: Oa }),
224
- menuClick: Re,
224
+ menuClick: Pe,
225
225
  dataTestId: "manage-translation-menu-icon",
226
226
  menuItems: t
227
227
  }), e;
@@ -230,8 +230,8 @@ function Ha() {
230
230
  }, ia = () => {
231
231
  re((e) => !e);
232
232
  }, ca = () => {
233
- C((e) => !e), ee(g);
234
- }, J = (e) => e == null ? e : e.replace(/'/g, "''"), da = async (e, t) => {
233
+ k((e) => !e), ee(g);
234
+ }, R = (e) => e == null ? e : e.replace(/'/g, "''"), da = async (e, t) => {
235
235
  var n;
236
236
  try {
237
237
  t && !_ ? (I.current = !0, G(!0)) : t && _ && H(!0);
@@ -239,9 +239,9 @@ function Ha() {
239
239
  code: "fetch_labels_translation_translation_master",
240
240
  parameters: {
241
241
  appId: y || null,
242
- searchString: J(k || ""),
243
- startsWith: J(v || ""),
244
- namespaceArray: x.length > 0 ? x.map((d) => J(d)).join(",") : "",
242
+ searchString: R(T || ""),
243
+ startsWith: R(v || ""),
244
+ namespaceArray: x.length > 0 ? x.map((d) => R(d)).join(",") : "",
245
245
  showInactive: S || !1,
246
246
  limit: (e == null ? void 0 : e.limit) || 100,
247
247
  offset: (e == null ? void 0 : e.offset) || 0
@@ -252,16 +252,16 @@ function Ha() {
252
252
  } catch (c) {
253
253
  I.current = !1, console.error(c), H(!1), G(!1), b({ message: "Error in loading data", type: "error" });
254
254
  }
255
- }, Ae = E(() => k === "" && v === "" && S === !1 && y === "" && x.length === 0, [k, v, S, y, x]), ua = E(
255
+ }, Ae = E(() => T === "" && v === "" && S === !1 && y === "" && x.length === 0, [T, v, S, y, x]), ua = E(
256
256
  () => [
257
257
  "translation",
258
258
  y,
259
- k,
259
+ T,
260
260
  v,
261
261
  S,
262
262
  x
263
263
  ],
264
- [y, k, v, S, x]
264
+ [y, T, v, S, x]
265
265
  ), {
266
266
  data: w,
267
267
  fetchNextPage: pa,
@@ -275,7 +275,7 @@ function Ha() {
275
275
  },
276
276
  limit: 100
277
277
  });
278
- X(() => {
278
+ Y(() => {
279
279
  var e;
280
280
  if (w) {
281
281
  let t = ((e = w == null ? void 0 : w.pages) == null ? void 0 : e.flat()) || [];
@@ -296,7 +296,7 @@ function Ha() {
296
296
  const ga = () => {
297
297
  ce(""), de(""), ue(!1), K(""), ye([]), u.current.value = "";
298
298
  };
299
- return T.isTecho && !$ && !(r != null && r["view.manage.manageTranslation"]) ? /* @__PURE__ */ a(Z, { className: "flex justify-center items-center w-full h-[80vh]", children: /* @__PURE__ */ a(
299
+ return !$ && r !== null && !C.hasCheckRights(r == null ? void 0 : r["view.manage.manageTranslation"]) ? /* @__PURE__ */ a(X, { className: "flex justify-center items-center w-full h-[80vh]", children: /* @__PURE__ */ a(
300
300
  Sa,
301
301
  {
302
302
  className: "h-80 w-150 flex justify-center items-center",
@@ -331,10 +331,10 @@ function Ha() {
331
331
  {
332
332
  open: ie,
333
333
  handleClose: () => {
334
- C((e) => !e), ae(!1), fe(!1), q(null), W(null), me(!1), ge(null);
334
+ k((e) => !e), ae(!1), he(!1), q(null), W(null), me(!1), ge(null);
335
335
  },
336
- apps: Ce,
337
- addAppFlag: ke,
336
+ apps: ke,
337
+ addAppFlag: Te,
338
338
  addNameSpaceFlag: Ue,
339
339
  languageList: N,
340
340
  editLabel: Ee,
@@ -360,13 +360,13 @@ function Ha() {
360
360
  }
361
361
  ),
362
362
  /* @__PURE__ */ a(p, { container: !0, spacing: 1, className: "grow", children: /* @__PURE__ */ m(Ne, { isLoading: $, children: [
363
- /* @__PURE__ */ a(p, { size: { xs: 6, sm: 6, md: 3 }, children: /* @__PURE__ */ m(P, { variant: "outlined", fullWidth: !0, children: [
363
+ /* @__PURE__ */ a(p, { size: { xs: 6, sm: 6, md: 3 }, children: /* @__PURE__ */ m(Z, { variant: "outlined", fullWidth: !0, children: [
364
364
  /* @__PURE__ */ a(L, { className: "pl-2", children: /* @__PURE__ */ a("span", { children: s("App") }) }),
365
365
  /* @__PURE__ */ a(
366
366
  La,
367
367
  {
368
368
  value: y,
369
- onChange: Ye,
369
+ onChange: Je,
370
370
  size: "small",
371
371
  displayEmpty: !0,
372
372
  sx: {
@@ -382,15 +382,15 @@ function Ha() {
382
382
  }
383
383
  )
384
384
  ] }) }),
385
- /* @__PURE__ */ a(p, { size: { xs: 6, sm: 6, md: 3 }, children: /* @__PURE__ */ m(P, { variant: "outlined", fullWidth: !0, children: [
385
+ /* @__PURE__ */ a(p, { size: { xs: 6, sm: 6, md: 3 }, children: /* @__PURE__ */ m(Z, { variant: "outlined", fullWidth: !0, children: [
386
386
  /* @__PURE__ */ a(L, { className: "", children: /* @__PURE__ */ a("span", { children: s("Name Spaces") }) }),
387
387
  /* @__PURE__ */ a(
388
- Ca,
388
+ ka,
389
389
  {
390
390
  multiple: !0,
391
- options: he ?? [],
391
+ options: fe ?? [],
392
392
  getOptionLabel: (e) => (e == null ? void 0 : e.label) ?? "",
393
- value: he.filter(
393
+ value: fe.filter(
394
394
  (e) => x.includes(e.value)
395
395
  ),
396
396
  onChange: (e, t) => {
@@ -400,7 +400,7 @@ function Ha() {
400
400
  disableCloseOnSelect: !0,
401
401
  size: "small",
402
402
  renderTags: (e, t) => e.map((n, c) => /* @__PURE__ */ xa(
403
- ka,
403
+ Ta,
404
404
  {
405
405
  variant: "outlined",
406
406
  size: "small",
@@ -424,7 +424,7 @@ function Ha() {
424
424
  }
425
425
  )
426
426
  ] }) }),
427
- /* @__PURE__ */ a(p, { size: { xs: 6, sm: 6, md: 3 }, children: /* @__PURE__ */ m(P, { variant: "outlined", fullWidth: !0, children: [
427
+ /* @__PURE__ */ a(p, { size: { xs: 6, sm: 6, md: 3 }, children: /* @__PURE__ */ m(Z, { variant: "outlined", fullWidth: !0, children: [
428
428
  /* @__PURE__ */ a(L, { sx: { pl: 1 }, children: /* @__PURE__ */ m("span", { children: [
429
429
  s("Search For"),
430
430
  ":"
@@ -437,7 +437,7 @@ function Ha() {
437
437
  id: "searchQuery",
438
438
  placeholder: "Enter Search Value",
439
439
  size: "small",
440
- onChange: Pe,
440
+ onChange: Ze,
441
441
  sx: { bgcolor: "background.paper" },
442
442
  "data-testid": "managetranslation-search-textfield"
443
443
  }
@@ -453,7 +453,7 @@ function Ha() {
453
453
  justifyContent: "end",
454
454
  alignItems: "center"
455
455
  },
456
- children: /* @__PURE__ */ a(Z, { children: /* @__PURE__ */ a(
456
+ children: /* @__PURE__ */ a(X, { children: /* @__PURE__ */ a(
457
457
  M,
458
458
  {
459
459
  variant: "contained",
@@ -485,7 +485,7 @@ function Ha() {
485
485
  justifyContent: "start",
486
486
  alignItems: "center"
487
487
  },
488
- children: /* @__PURE__ */ m(Z, { className: "overflow-x-auto whitespace-nowrap", children: [
488
+ children: /* @__PURE__ */ m(X, { className: "overflow-x-auto whitespace-nowrap", children: [
489
489
  /* @__PURE__ */ a(L, { className: "pb-[7px]", children: /* @__PURE__ */ m("span", { children: [
490
490
  s("Starts With"),
491
491
  ":"
@@ -546,7 +546,7 @@ function Ha() {
546
546
  className: "translation-inactive"
547
547
  }
548
548
  ) }) }),
549
- /* @__PURE__ */ a(p, { item: "true", children: (T.isTecho ? r == null ? void 0 : r["create.manage.manageTranslation"] : r == null ? void 0 : r.canManage) && /* @__PURE__ */ a(
549
+ /* @__PURE__ */ a(p, { item: "true", children: C.hasCheckRights(r == null ? void 0 : r["create.manage.manageTranslation"], r == null ? void 0 : r.canManage) && /* @__PURE__ */ a(
550
550
  M,
551
551
  {
552
552
  size: "small",
@@ -557,7 +557,7 @@ function Ha() {
557
557
  children: s("Manage Apps")
558
558
  }
559
559
  ) }),
560
- /* @__PURE__ */ a(p, { item: "true", children: (T.isTecho ? r == null ? void 0 : r["create.manage.manageTranslation"] : r == null ? void 0 : r.canManage) && /* @__PURE__ */ a(
560
+ /* @__PURE__ */ a(p, { item: "true", children: C.hasCheckRights(r == null ? void 0 : r["create.manage.manageTranslation"], r == null ? void 0 : r.canManage) && /* @__PURE__ */ a(
561
561
  M,
562
562
  {
563
563
  size: "small",
@@ -567,7 +567,7 @@ function Ha() {
567
567
  children: s("Manage Language")
568
568
  }
569
569
  ) }),
570
- /* @__PURE__ */ a(p, { item: "true", children: (!T.isTecho || (r == null ? void 0 : r["create.manage.manageTranslation"])) && /* @__PURE__ */ a(
570
+ /* @__PURE__ */ a(p, { item: "true", children: C.hasCheckRights(r == null ? void 0 : r["create.manage.manageTranslation"]) && /* @__PURE__ */ a(
571
571
  M,
572
572
  {
573
573
  size: "small",
@@ -615,11 +615,11 @@ export {
615
615
  mt as c,
616
616
  ut as d,
617
617
  Ba as e,
618
- ft as f,
618
+ ht as f,
619
619
  Da as g,
620
- ht as h,
620
+ ft as h,
621
621
  yt as i,
622
622
  bt as t,
623
623
  gt as u
624
624
  };
625
- //# sourceMappingURL=ManageTranslation-D9IScGhk.js.map
625
+ //# sourceMappingURL=ManageTranslation-B4C9-lWD.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ManageTranslation-B4C9-lWD.js","sources":["../src/services/TranslationService.js","../src/views/Translation/Skeletons/ManageTranslationSkeleton.jsx","../src/views/Translation/ManageTranslation.jsx"],"sourcesContent":["import { api } from \"@/common/interceptors/AxiosInterceptor\";\nimport { execute } from \"@/common/services/GlobalApis\";\n\nexport const createLanguage = (languageDto) =>\n api.post(\"/translation/languages\", languageDto);\n\nexport const createOrUpdateLanguages = (languageList) =>\n api.post(\"/translation/languages\", languageList);\n\nexport const updateLanguage = (languageDto) =>\n api.put(\"/translation/languages\", languageDto);\n\nexport const getAllLanguages = () => api.get(\"/translation/languages\");\n\nexport const createApp = (appDto) => api.post(\"/translation/apps\", appDto);\n\nexport const updateApp = (appDto) => api.post(\"/translation/apps\", appDto);\n\nexport const getAllApps = () => api.get(\"/translation/apps\");\n\nexport const creatingLabel = (dtoList) =>\n api.post(\"/translation/labels\", dtoList);\n\nexport const translationMap = (dtoList) =>\n api.post(\"/translation/map\", dtoList);\n\nexport const addtranslationMap = (dtoList) =>\n api.post(\"/translation/mapUpdate\", dtoList);\n\nexport const getAppsById = (ids) =>\n api.get(\"/translation/apps-selected\", { params: { ids } });\n\nexport const getLanguagesById = (ids) =>\n api.get(\"/translation/languages-selected\", { params: { ids } });\n\nexport const toggleActive = (key, isActive, app) => {\n const params = new URLSearchParams({\n key,\n isActive,\n app,\n }).toString();\n return api.put(`/translation/toggleActive?${params}`, { key, isActive, app });\n};\n\nexport const getAvailableLanguages = () =>\n api.get(\"/translation/languages-available\");\n\nexport const translateText = (targetLangs, englishText) =>\n api.get(\"/translation/translate\", { params: { targetLangs, englishText } });\n\nexport const getTranslation = async (preferredLanguage) => {\n try {\n const { data: languages } = await getAllLanguages();\n const preferredLanguageId = languages.find(\n (lang) =>\n lang.active &&\n preferredLanguage !== \"en\" &&\n lang.languageKey === preferredLanguage\n )?.id;\n\n const { data: response } = await execute({\n code: \"translation_from_language_key\",\n parameters: {\n languageId: Number(preferredLanguageId),\n appId: 2,\n },\n });\n\n const translations = response.result.reduce((acc, translation) => {\n acc[translation.key] = translation.value;\n return acc;\n }, {});\n\n return translations;\n } catch (error) {\n console.error(\"API call failed:\", error);\n throw error;\n }\n};\n\nexport const getTranslationByKey = (formCode) =>\n api.get(\"/translation/getTranslationsByFormcode\", { params: { formCode } });\n","import PropTypes from \"prop-types\";\nimport React from \"react\";\n\nimport { useSelector } from \"react-redux\";\nimport { getUseSkeleton } from \"@/store/reducers/SkeletonReducer\";\nexport const ManageTranslationSkeleton = ({ 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 mt-6 gap-2 w-full\">\n <div className=\"flex w-full items-center justify-between space-x-2\">\n <div className=\"flex space-x-2\">\n <div className=\"bg-gray-300 animate-pulse rounded-sm w-40 h-10\"></div>\n <div className=\"bg-gray-300 animate-pulse rounded-sm w-40 h-10\"></div>\n <div className=\"bg-gray-300 animate-pulse rounded-sm w-60 h-10\"></div>\n </div>\n <div className=\"flex space-x-2\">\n <div className=\"bg-gray-300 rounded-sm animate-pulse w-40 h-10\"></div>\n <div className=\"bg-gray-300 rounded-sm animate-pulse w-20 h-10\"></div>\n <div className=\"bg-gray-300 rounded-sm animate-pulse w-20 h-10\"></div>\n <div className=\"bg-gray-300 rounded-sm animate-pulse w-20 h-10\"></div>\n </div>\n </div>\n <div className=\"bg-gray-300 animate-pulse rounded-sm w-full h-100\"></div>\n </div>\n );\n};\n\nManageTranslationSkeleton.propTypes = {\n children: PropTypes.any,\n isLoading: PropTypes.any,\n};\n\nexport const AddLabelSkeleton = ({ 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=\"flex flex-col absolute top-10 left-1/2 -translate-x-1/2 w-[95%] sm:w-[600px] md:w-[700px] lg:w-[800px] bg-white shadow-2xl border border-gray-300 rounded-sm h-[60vh]\">\n <div className=\"h-15 w-full bg-gray-200 rounded mb-6\"></div>\n <div className=\"h-10 w-[90%] bg-gray-200 rounded m-4\"></div>\n <div className=\"h-10 w-[90%] bg-gray-200 rounded m-4\"></div>\n <div className=\"h-10 w-[90%] bg-gray-200 rounded m-4 \"></div>\n <div className=\"h-9 w-1/3 bg-gray-200 rounded mt-auto ml-auto mb-2 mr-3\"></div>\n </div>\n );\n};\n\nAddLabelSkeleton.propTypes = {\n children: PropTypes.any,\n isLoading: PropTypes.any,\n};\n\nexport const AppModalSkeleton = ({ 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=\"w-full flex justify-end pb-[10px]\">\n <div className=\"bg-gray-300 animate-pulse rounded-sm h-[32px] w-[100px]\"></div>\n </div>\n );\n};\n\nAppModalSkeleton.propTypes = {\n children: PropTypes.any,\n isLoading: PropTypes.any,\n};\n\nexport const LabelEditModalSkeleton = ({ 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=\"flex justify-end w-full\">\n <div className=\"bg-gray-300 animate-pulse rounded-sm h-[32px] w-[120px]\"></div>\n </div>\n );\n};\n\nLabelEditModalSkeleton.propTypes = {\n children: PropTypes.any,\n isLoading: PropTypes.any,\n};\n\nexport const LabelEditFormSkeleton = ({ 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=\"w-full flex flex-col gap-2\">\n <div className=\"flex flex-col sm:flex-row justify-between gap-4 w-full\">\n <div className=\"bg-gray-300 animate-pulse rounded-sm w-[130px] h-[35px]\"></div>\n <div className=\"bg-gray-300 animate-pulse rounded-sm w-full sm:w-[350px] h-[35px]\"></div>\n </div>\n <div className=\"flex flex-col sm:flex-row gap-4 w-full\">\n <div className=\"bg-gray-300 animate-pulse rounded-sm w-[65px] h-[35px]\"></div>\n <div className=\"bg-gray-300 animate-pulse rounded-sm w-[75px] h-[35px]\"></div>\n </div>\n </div>\n );\n};\n\nLabelEditFormSkeleton.propTypes = {\n children: PropTypes.any,\n isLoading: PropTypes.any,\n};","import React, {\n lazy,\n Suspense,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport {\n getAllApps,\n getAllLanguages,\n toggleActive,\n} from \"../../services/TranslationService\";\nimport { showToast } from \"@/common/toaster/toaster\";\nimport Grid from \"@mui/material/Grid2\";\nimport \"./Styles/ManageTranslation.scss\";\nimport { getAssignedFeatures } from \"@/utils/feature\";\nimport {\n MenuItem,\n FormControl,\n Select,\n Typography,\n TextField,\n Box,\n Card,\n Button,\n FormControlLabel,\n FormGroup,\n Checkbox,\n Chip,\n Autocomplete,\n} from \"@mui/material\";\nimport { executeQuery, execute } from \"@/common/services/GlobalApis\";\nimport usePagination from \"@/hooks/usePagination\";\nimport CustomConfirmationModal from \"@/views/custom-components/CustomConfirmationModal\";\nconst AppModal = lazy(() => import(\"./AppModal\"));\nconst LanguagesModal = lazy(() => import(\"./LanguagesModal\"));\nconst AddLabelModal = lazy(() => import(\"./AddLabelModal\"));\nimport GeneralUtil from \"@/common/services/util/GeneralUtil\";\n// const LabelEditModal = lazy(() => import('./LabelEditModal'));\nimport { useTranslateProvider } from \"@/common/languageTranslator/TranslationContext\";\nimport { ManageTranslationSkeleton } from \"./Skeletons/ManageTranslationSkeleton\";\nimport CustomizedTable from \"@/views/custom-components/CustomizedTable/CustomizedTableV2\";\nimport { faBars, faPen } from \"@fortawesome/free-solid-svg-icons\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\n\n/**\n * @module ManageTranslation\n * @description This component handles the management of translations, including handling app selection, language management, label management, and toggling active states.\n */\n\nfunction ManageTranslation() {\n const { translate } = useTranslateProvider();\n const inputRef = useRef(null);\n const [apps, setApps] = useState([]);\n const isInitialPage = useRef(false);\n const [appList, setAppList] = useState([]);\n const [addAppFlag, setaddAppFlag] = useState(false);\n const [fieldsData, setFieldsData] = useState(null);\n const [loadingEditLabel, setLoadingEditLabel] = useState(false);\n\n const [tableData, setTableData] = useState([]);\n const [appModal, setAppModal] = useState(false);\n const [languageModal, setLanguageModal] = useState(false);\n\n const [hasMore, setHasMore] = useState(true);\n const [selectedApp, setSelectedApp] = useState(\"\");\n const [languages, setLanguages] = useState([]);\n\n const [addLabel, setAddLabel] = useState(false);\n const [editLabel, setEditLabel] = useState(null);\n // const [search, setSearch] = useState('');\n const [searchValue, setSearchValue] = useState(\"\");\n const [startsWith, setStartsWith] = useState(\"\");\n const [inactive, setInactive] = useState(false);\n const [rights, setRights] = useState(null);\n const rightsRef = useRef(rights);\n\n useEffect(() => {\n rightsRef.current = rights;\n }, [rights]);\n\n\n const [toggleOpen, setToggleOpen] = useState(false);\n\n const [isActiveLabel, setIsActiveLabel] = useState(\"\");\n const [isActiveDescription, setIsActiveDescription] = useState(\"\");\n const [clickedRow, setClickedRow] = useState({});\n\n const [labelEdit, setLabelEdit] = useState(false);\n const [labelKey, setLabelKey] = useState(null);\n const [isLoading, setIsLoading] = useState(false);\n const [addNameSpaceFlag, setaddNameSpaceFlag] = useState(false);\n const [isPageLoaded, setIsPageLoaded] = useState(false);\n const [loadingTable, setLoadingTable] = useState(false);\n\n const [namespaceslist, setNameSpaceList] = useState([]);\n const [selectedNameSpace, setSelectedNameSpace] = useState([]);\n\n const getnamespace = async () => {\n try {\n const res = await execute({\n code: \"get_distinct_namespce\",\n parameters: {},\n });\n setNameSpaceList(res?.data?.result);\n } catch (e) {\n console.error(e);\n }\n };\n\n useEffect(() => {\n init();\n getnamespace();\n }, []);\n\n /**\n * @method init\n * @description Initializes the translation management page by fetching necessary data, such as apps and languages, and setting user rights.\n */\n const init = async () => {\n try {\n await refresh();\n const { data: assignedFeatures } = await getAssignedFeatures(\n \"techo.manage.manageTranslation\",\n );\n setRights(JSON.parse(assignedFeatures));\n } catch (error) {\n console.error(error);\n showToast({ message: \"Error in manage Translation\", type: \"error\" });\n }\n };\n\n /**\n * @method refresh\n * @description Refreshes the list of apps and languages.\n */\n const refresh = async () => {\n try {\n let res = await getAllApps();\n const activeApps = res?.data?.filter((app) => {\n return app.isActive === true;\n });\n setApps(activeApps);\n\n res = await getAllLanguages();\n const activeLanguages = res?.data?.filter((lang) => {\n return lang.active === true;\n });\n setLanguages(activeLanguages);\n } catch (error) {\n console.error(error);\n showToast({ message: \"Error in manage Translation\", type: \"error\" });\n }\n };\n\n /**\n * @method handleAppChange\n * @description Handles the change in the selected app and fetches related data.\n * @param {object} event - The change event from the Select component.\n */\n const handleAppChange = (event) => {\n setSelectedApp(event?.target?.value);\n };\n\n const performSearch = useCallback((search) => {\n // If there is an unmatched '{', do not update searchValue\n const openBraces = (search.match(/{/g) || []).length;\n const closeBraces = (search.match(/}/g) || []).length;\n if (openBraces > closeBraces) return;\n setSearchValue(search);\n }, []);\n const debounce = (func, delay) => {\n let timeoutId;\n return (...args) => {\n if (timeoutId) {\n clearTimeout(timeoutId);\n }\n timeoutId = setTimeout(() => {\n func(...args);\n }, delay);\n };\n };\n\n const debouncedSearch = useMemo(\n () => debounce(performSearch, 300),\n [performSearch],\n );\n\n /**\n * @method handleSearch\n * @description Handles the search input change.\n * @param {object} e - The input event.\n */\n const handleSearch = (e) => {\n const { value: search } = e.target;\n // setSearch(search);\n debouncedSearch(search);\n };\n\n /**\n * @method handleLetterClick\n * @description Handles clicking on a letter to filter results that start with that letter.\n * @param {string} letter - The clicked letter.\n */\n const handleLetterClick = (letter) => {\n setStartsWith(letter);\n // searchTranslations(true); // Call your search function here\n };\n\n const cols = [\n { field: \"Sr. No.\", label: `Sr.No`, align: \"left\" },\n { field: \"Actions\", label: \"Actions\" },\n { field: \"app\", label: \"App\", align: \"left\" },\n { field: \"state\", label: \"State\", align: \"left\" },\n { field: \"key\", label: \"Key\", align: \"left\" },\n ];\n\n languages?.map((language) =>\n cols.push({\n field: language?.languageValue?.toLowerCase(),\n label: language?.languageValue,\n align: \"left\",\n }),\n );\n\n /**\n * @method handleToggleOption\n * @description Handles the toggling of the label state between active and inactive.\n * @param {object} data - The label data.\n */\n const handleToggleOption = (data) => {\n setIsActiveLabel(\n data?.state === \"Active\" ? \"Mark as Inactive\" : \"Mark as Active\",\n );\n setIsActiveDescription(\n data?.state === \"Active\"\n ? \"Are you sure you want to change the state from active to inactive?\"\n : \"Are you sure you want to change the state from inactive to active?\",\n );\n setClickedRow(data);\n };\n\n const handleToggle = () => {\n setToggleOpen((curr) => !curr);\n };\n\n /**\n * @method handleAddApp\n * @description Opens the modal for adding a new app to the label.\n */\n const handleAddNameSpace = async () => {\n try {\n setFieldsData({ key: clickedRow?.key });\n setaddNameSpaceFlag(true);\n setAddLabel((curr) => !curr);\n } catch (error) {\n console.error(error);\n showToast({ message: \"Error in opening Add App Modal\", type: \"error\" });\n }\n };\n\n const handleAddApp = async () => {\n try {\n let key = clickedRow?.key.replace(/'/g, \"''\");\n let dto = {\n code: \"labels_selected_apps_for_editing\",\n parameters: { key },\n };\n const res = await executeQuery(dto);\n let editApp = res?.data?.result;\n setEditLabel(res?.data?.result);\n let queryDto = {\n code: \"labels_app_data_for_prepopulating\",\n parameters: {\n key: clickedRow?.key,\n appValue: clickedRow?.app,\n },\n };\n\n let editAppIds = editApp.map((item) => {\n return item.app;\n });\n let appList = apps.filter((app) => {\n return editAppIds.indexOf(app.id) === -1;\n });\n\n if (appList.length > 0) {\n const result = await executeQuery(queryDto);\n setFieldsData(result?.data?.result);\n setAppList(appList);\n\n setaddAppFlag(true);\n setAddLabel((curr) => !curr);\n } else {\n showToast({\n message: \"Label already present in all apps\",\n type: \"info\",\n });\n }\n } catch (error) {\n console.error(error);\n showToast({ message: \"Error in opening Add App Modal\", type: \"error\" });\n }\n };\n\n const handleToggleState = async () => {\n try {\n let isActive = clickedRow?.state === \"Active\";\n await toggleActive(clickedRow?.key, !isActive, clickedRow?.appId);\n refetch();\n setToggleOpen((cur) => !cur);\n } catch (error) {\n console.error(error);\n showToast({ message: \"Error in Toggle State\", type: \"error\" });\n }\n };\n\n /**\n * @method handleEdit\n * @description Handles the edit action for a label.\n * @param {object} row - The row data for the label to be edited.\n */\n const handleEdit = async (row) => {\n try {\n setLoadingEditLabel(true);\n setAddLabel((curr) => !curr);\n setLabelEdit((curr) => !curr);\n let key = row?.key.replace(/'/g, \"''\");\n setLabelKey(key);\n let dto = {\n code: \"labels_selected_apps_for_editing\",\n parameters: { key },\n };\n const res = await executeQuery(dto);\n setEditLabel(res?.data?.result);\n setLoadingEditLabel(false);\n } catch (error) {\n console.error(error);\n showToast({ message: \"Error in Editing label\", type: \"error\" });\n setLoadingEditLabel(false);\n }\n };\n\n const handleInactive = (row) => {\n return row?.state !== \"Inactive\";\n };\n\n const actions = useMemo(() => {\n const list = [];\n if (GeneralUtil.hasCheckRights(rights?.['update.manage.manageTranslation'])) {\n list.push({\n label: \"\",\n icon: <FontAwesomeIcon icon={faPen} />,\n onClick: handleEdit,\n condition: handleInactive,\n dataTestId: \"manage-translation-edit-icon\",\n });\n }\n\n const currentMenuItems = [];\n if (GeneralUtil.hasCheckRights(rights?.['update.manage.manageTranslation'])) {\n currentMenuItems.push({ label: translate(isActiveLabel), onClick: handleToggle });\n }\n if (GeneralUtil.hasCheckRights(rights?.['create.manage.manageTranslation'])) {\n currentMenuItems.push({ label: translate(\"Add app\"), onClick: handleAddApp });\n currentMenuItems.push({ label: translate(\"Add Namespace\"), onClick: handleAddNameSpace });\n }\n\n if (currentMenuItems.length > 0) {\n list.push({\n label: \"\",\n icon: <FontAwesomeIcon icon={faBars} />,\n menuClick: handleToggleOption,\n dataTestId: \"manage-translation-menu-icon\",\n menuItems: currentMenuItems,\n });\n }\n\n return list;\n }, [rights, isActiveLabel, translate]);\n\n const manageApps = () => {\n setAppModal((cur) => !cur);\n };\n const manageLanguages = () => {\n setLanguageModal((curr) => !curr);\n };\n const addLabelTranslation = () => {\n setAddLabel((curr) => !curr);\n setAppList(apps);\n };\n\n const escapeSql = (val) => {\n if (val === null || val === undefined) return val;\n return val.replace(/'/g, \"''\");\n };\n\n const loadData = async (pageParam, isInitial) => {\n try {\n if (isInitial && !isPageLoaded) {\n isInitialPage.current = true;\n setIsLoading(true);\n } else if (isInitial && isPageLoaded) {\n // This is a refetch, not truly the first load\n setLoadingTable(true);\n }\n let queryDto = {\n code: \"fetch_labels_translation_translation_master\",\n parameters: {\n appId: selectedApp || null,\n searchString: escapeSql(searchValue || \"\"),\n startsWith: escapeSql(startsWith || \"\"),\n namespaceArray:\n selectedNameSpace.length > 0\n ? selectedNameSpace.map((v) => escapeSql(v)).join(\",\")\n : \"\",\n showInactive: inactive || false,\n limit: pageParam?.limit || 100,\n offset: pageParam?.offset || 0,\n },\n };\n const res = await executeQuery(queryDto);\n return res?.data?.result;\n } catch (error) {\n isInitialPage.current = false;\n console.error(error);\n setLoadingTable(false);\n setIsLoading(false);\n showToast({ message: \"Error in loading data\", type: \"error\" });\n }\n };\n\n // Place this inside your component, right before the return()\n const isClearDisabled = useMemo(() => {\n return (\n searchValue === \"\" &&\n startsWith === \"\" &&\n inactive === false &&\n selectedApp === \"\" &&\n selectedNameSpace.length === 0\n );\n }, [searchValue, startsWith, inactive, selectedApp, selectedNameSpace]);\n\n const stableKey = useMemo(\n () => [\n \"translation\",\n selectedApp,\n searchValue,\n startsWith,\n inactive,\n selectedNameSpace,\n ],\n [selectedApp, searchValue, startsWith, inactive, selectedNameSpace],\n );\n\n const {\n data: pageData,\n fetchNextPage,\n hasNextPage,\n refetch,\n } = usePagination({\n key: stableKey,\n queryFn: ({ pageParam }) => {\n const isFirstLoad = !isPageLoaded; // first time ever\n const isFirstPage = !pageParam?.offset || pageParam?.offset === 0;\n const isInitial = isFirstPage && isFirstLoad; // only first load is \"initial\"\n return loadData(pageParam, isInitial);\n },\n limit: 100,\n });\n\n useEffect(() => {\n if (pageData) {\n let actualData = pageData?.pages?.flat() || [];\n\n const groupedArray = Object.values(\n actualData?.reduce((acc, element) => {\n const combinedKey = element?.key + \"-\" + element?.app; // Create a unique key combining `key` and `app`\n if (!acc[combinedKey]) {\n acc[combinedKey] = {\n appId: element?.appid,\n key: element?.key,\n app: element?.app,\n state: element?.is_active ? \"Active\" : \"Inactive\",\n };\n }\n\n acc[combinedKey][element?.language.toLowerCase()] = element?.value; // Add the `value` to the group's `values` array\n if (element?.is_active) {\n acc[combinedKey].state = \"Active\";\n }\n return acc;\n }, {}),\n );\n setHasMore(hasNextPage);\n setTableData(groupedArray);\n if (isInitialPage.current) {\n if (!isPageLoaded) {\n setIsLoading(false); // explicitly stop\n setIsPageLoaded(true);\n } else {\n setLoadingTable(false); // explicitly stop\n }\n isInitialPage.current = false;\n }\n }\n }, [pageData]);\n\n const handleClearFilters = () => {\n setSearchValue(\"\");\n setStartsWith(\"\");\n setInactive(false);\n setSelectedApp(\"\");\n setSelectedNameSpace([]);\n inputRef.current.value = \"\";\n };\n\n return !isLoading && rights !== null && !GeneralUtil.hasCheckRights(rights?.[\"view.manage.manageTranslation\"]) ? (\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 Manage Translation\n </Typography>\n </Card>\n </Box>\n ) : (\n <Grid container mt={3} spacing={2}>\n <Suspense>\n {appModal && (\n <AppModal\n open={appModal}\n handleClose={() => setAppModal((curr) => !curr)}\n languages={languages}\n refresh={refresh}\n refetch={refetch}\n selectedApp={selectedApp}\n setSelectedApp={setSelectedApp}\n />\n )}\n </Suspense>\n\n <Suspense>\n {languageModal && (\n <LanguagesModal\n open={languageModal}\n handleClose={() => {\n setLanguageModal((curr) => !curr);\n }}\n refresh={refresh}\n refetch={refetch}\n />\n )}\n </Suspense>\n\n <Suspense>\n {addLabel && (\n <AddLabelModal\n open={addLabel}\n handleClose={() => {\n setAddLabel((curr) => !curr);\n setaddAppFlag(false);\n setaddNameSpaceFlag(false);\n setEditLabel(null);\n setFieldsData(null);\n setLabelEdit(false);\n setLabelKey(null);\n }}\n apps={appList}\n addAppFlag={addAppFlag}\n addNameSpaceFlag={addNameSpaceFlag}\n languageList={languages}\n editLabel={editLabel}\n fieldsData={fieldsData}\n editLabelFlag={labelEdit}\n // editLabel={editLabel}\n labelKey={labelKey}\n refetch={refetch}\n isLoading={loadingEditLabel}\n />\n )}\n </Suspense>\n\n <Suspense>\n {/* {labelEdit && (\n <LabelEditModal\n open={labelEdit}\n handleClose={() => {\n setLabelEdit((curr) => !curr);\n setEditLabel(null);\n setLabelKey(null);\n }}\n editLabel={editLabel}\n labelKey={labelKey}\n refetch={refetch}\n />\n )} */}\n </Suspense>\n\n <CustomConfirmationModal\n description={isActiveDescription}\n title={\"CONFIRM ACTION\"}\n handleClick={handleToggleState}\n open={toggleOpen}\n handleClose={() => {\n setToggleOpen((cur) => !cur);\n }}\n data-testid=\"manageTranslation-modal-customconfirmation\"\n />\n <Grid container spacing={1} className=\"grow\">\n <ManageTranslationSkeleton isLoading={isLoading}>\n <Grid size={{ xs: 6, sm: 6, md: 3 }}>\n <FormControl variant=\"outlined\" fullWidth>\n <Typography className=\"pl-2\">\n <span>{translate(\"App\")}</span>\n </Typography>\n\n <Select\n value={selectedApp}\n onChange={handleAppChange}\n size=\"small\"\n displayEmpty\n sx={{\n bgcolor: \"background.paper\",\n color: selectedApp ? \"text.primary\" : \"text.disabled\", // gray when empty\n }}\n renderValue={(selected) =>\n selected\n ? apps.find((app) => app.id === selected)?.appValue\n : \"Select App\"\n }\n >\n {apps?.map((app) => (\n <MenuItem key={app?.id} value={app?.id}>\n {app?.appValue}\n </MenuItem>\n ))}\n </Select>\n </FormControl>\n </Grid>\n <Grid size={{ xs: 6, sm: 6, md: 3 }}>\n <FormControl variant=\"outlined\" fullWidth>\n <Typography className=\"\">\n <span>{translate(\"Name Spaces\")}</span>\n </Typography>\n <Autocomplete\n multiple\n options={namespaceslist ?? []}\n getOptionLabel={(option) => option?.label ?? \"\"}\n value={namespaceslist.filter((ns) =>\n selectedNameSpace.includes(ns.value),\n )}\n onChange={(e, newValue) => {\n setSelectedNameSpace(newValue.map((item) => item.value));\n }}\n filterSelectedOptions\n disableCloseOnSelect\n size=\"small\"\n renderTags={(value, getTagProps) =>\n value.map((option, index) => (\n <Chip\n variant=\"outlined\"\n size=\"small\"\n label={option.label}\n {...getTagProps({ index })}\n key={option.label}\n sx={{\n bgcolor: \"action.hover\",\n }}\n />\n ))\n }\n renderInput={(params) => (\n <TextField\n {...params}\n placeholder=\"Select Name Space\"\n sx={{ bgcolor: \"background.paper\" }}\n data-testid=\"autocomplete-namespace\"\n />\n )}\n />\n </FormControl>\n </Grid>\n <Grid size={{ xs: 6, sm: 6, md: 3 }}>\n <FormControl variant=\"outlined\" fullWidth>\n <Typography sx={{ pl: 1 }}>\n <span>{translate(\"Search For\")}:</span>\n </Typography>\n\n <TextField\n inputRef={inputRef}\n name=\"searchQuery\"\n id=\"searchQuery\"\n placeholder=\"Enter Search Value\"\n size=\"small\"\n // value={search}\n onChange={handleSearch}\n sx={{ bgcolor: \"background.paper\" }}\n data-testid=\"managetranslation-search-textfield\"\n />\n </FormControl>\n </Grid>\n <Grid\n size={{ xs: 12, sm: 12, md: 2 }}\n sx={{\n display: \"flex\",\n mt: 3,\n justifyContent: \"end\",\n alignItems: \"center\",\n }}\n >\n <Box>\n <Button\n variant=\"contained\"\n disabled={isClearDisabled}\n sx={{\n lineHeight: \"35px\",\n ml: 1,\n mt: 1,\n display: \"inline-block\",\n ...(isClearDisabled\n ? {}\n : {\n bgcolor: \"error.main\",\n color: \"error.contrastText\",\n \"&:hover\": { bgcolor: \"error.dark\" },\n }),\n }}\n onClick={handleClearFilters}\n >\n Clear All Filters\n </Button>\n </Box>\n </Grid>\n\n <Grid\n size={{ xs: 12, sm: 12, md: 6.5 }}\n sx={{\n pl: 1,\n display: \"flex\",\n justifyContent: \"start\",\n alignItems: \"center\",\n }}\n >\n <Box className=\"overflow-x-auto whitespace-nowrap\">\n <Typography className=\"pb-[7px]\">\n <span>{translate(\"Starts With\")}:</span>\n </Typography>\n\n {Array.from({ length: 26 }, (_, index) => {\n const letter = String.fromCharCode(65 + index);\n return (\n <Typography\n key={letter}\n component=\"span\"\n className={`${startsWith === letter ? \"selected-letter\" : \"letter-style\"} inline-block cursor-pointer`}\n onClick={() => handleLetterClick(letter)}\n >\n {letter}\n </Typography>\n );\n })}\n\n <Button\n variant=\"contained\"\n color=\"secondary\"\n disabled={startsWith.length === 0}\n className=\"x-button ml-2 inline-block\"\n onClick={() => handleLetterClick(\"\")}\n >\n ×\n </Button>\n </Box>\n </Grid>\n\n <Grid\n size={{ xs: 12, sm: 12, md: 5.5 }}\n display=\"flex\"\n alignItems=\"center\"\n >\n <Grid\n container\n justifyContent=\"flex-end\"\n alignItems=\"center\"\n spacing={1}\n >\n <Grid item=\"true\">\n <FormGroup>\n <FormControlLabel\n control={\n <Checkbox\n checked={inactive}\n onChange={(event) => setInactive(event.target.checked)}\n />\n }\n label={`${translate(\"Show Inactive\")}`}\n labelPlacement=\"end\"\n className=\"translation-inactive\"\n />\n </FormGroup>\n </Grid>\n <Grid item=\"true\">\n {GeneralUtil.hasCheckRights(rights?.['create.manage.manageTranslation'], rights?.canManage) && (\n <Button\n size=\"small\"\n variant=\"contained\"\n data-testid=\"manageTranslation-manage-apps-button\"\n color=\"primary\"\n onClick={manageApps}\n >\n {translate(\"Manage Apps\")}\n </Button>\n )}\n </Grid>\n\n <Grid item=\"true\">\n {GeneralUtil.hasCheckRights(rights?.['create.manage.manageTranslation'], rights?.canManage) && (\n <Button\n size=\"small\"\n variant=\"contained\"\n data-testid=\"managetranslation-manage-language-button\"\n onClick={manageLanguages}\n >\n {translate(\"Manage Language\")}\n </Button>\n )}\n </Grid>\n\n <Grid item=\"true\">\n {GeneralUtil.hasCheckRights(rights?.['create.manage.manageTranslation']) && (\n <Button\n size=\"small\"\n variant=\"contained\"\n data-testid=\"manageTranalation-add-label-button\"\n onClick={addLabelTranslation}\n >\n {translate(\"Add Label\")}\n </Button>\n )}\n </Grid>\n </Grid>\n </Grid>\n <Grid className=\"mt-2\" size={{ xs: 12 }}>\n <CustomizedTable\n columns={cols}\n tableData={tableData}\n actions={actions}\n paginationConfig={{\n pagination: true,\n paginationType: \"infinite-scroll\",\n loadMore: () =>\n hasMore && fetchNextPage({ cancelRefetch: false }),\n hasMore: hasMore,\n }}\n // rowsPerPageInTable={50}\n // handleSort={handleSort}\n // sortOrder={sortOrder}\n dataTestId=\"manageTranslation-table\"\n isLoading={tableData ? isLoading || loadingTable : false}\n styleConfig={{ tableStyle: { maxHeight: 120 } }}\n />\n </Grid>\n </ManageTranslationSkeleton>\n </Grid>\n </Grid>\n );\n}\n\nexport default ManageTranslation;\n"],"names":["createLanguage","languageDto","api","updateLanguage","getAllLanguages","createApp","appDto","updateApp","getAllApps","creatingLabel","dtoList","translationMap","addtranslationMap","toggleActive","key","isActive","app","params","translateText","targetLangs","englishText","ManageTranslationSkeleton","children","isLoading","useSelector","getUseSkeleton","jsxs","jsx","PropTypes","AddLabelSkeleton","AppModalSkeleton","LabelEditModalSkeleton","AppModal","lazy","LanguagesModal","AddLabelModal","ManageTranslation","translate","useTranslateProvider","inputRef","useRef","apps","setApps","useState","isInitialPage","appList","setAppList","addAppFlag","setaddAppFlag","fieldsData","setFieldsData","loadingEditLabel","setLoadingEditLabel","tableData","setTableData","appModal","setAppModal","languageModal","setLanguageModal","hasMore","setHasMore","selectedApp","setSelectedApp","languages","setLanguages","addLabel","setAddLabel","editLabel","setEditLabel","searchValue","setSearchValue","startsWith","setStartsWith","inactive","setInactive","rights","setRights","rightsRef","useEffect","toggleOpen","setToggleOpen","isActiveLabel","setIsActiveLabel","isActiveDescription","setIsActiveDescription","clickedRow","setClickedRow","labelEdit","setLabelEdit","labelKey","setLabelKey","setIsLoading","addNameSpaceFlag","setaddNameSpaceFlag","isPageLoaded","setIsPageLoaded","loadingTable","setLoadingTable","namespaceslist","setNameSpaceList","selectedNameSpace","setSelectedNameSpace","getnamespace","res","execute","_a","e","init","refresh","assignedFeatures","getAssignedFeatures","error","showToast","activeApps","activeLanguages","_b","lang","handleAppChange","event","performSearch","useCallback","search","openBraces","closeBraces","debounce","func","delay","timeoutId","args","debouncedSearch","useMemo","handleSearch","handleLetterClick","letter","cols","language","handleToggleOption","data","handleToggle","curr","handleAddNameSpace","handleAddApp","dto","executeQuery","editApp","queryDto","editAppIds","item","result","_c","handleToggleState","refetch","cur","handleEdit","row","handleInactive","actions","list","GeneralUtil","FontAwesomeIcon","faPen","currentMenuItems","faBars","manageApps","manageLanguages","addLabelTranslation","escapeSql","val","loadData","pageParam","isInitial","v","isClearDisabled","stableKey","pageData","fetchNextPage","hasNextPage","usePagination","isFirstLoad","actualData","groupedArray","acc","element","combinedKey","handleClearFilters","Box","Card","Typography","Grid","Suspense","CustomConfirmationModal","FormControl","Select","selected","MenuItem","Autocomplete","option","ns","newValue","value","getTagProps","index","createElement","Chip","TextField","Button","_","FormGroup","FormControlLabel","Checkbox","CustomizedTable"],"mappings":"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"}