@argusoft/medplat-core 1.0.19 → 1.0.21

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 (71) hide show
  1. package/dist/{AccessRights-Bvd5Bm5K.js → AccessRights-CupmTG3T.js} +2 -2
  2. package/dist/{AccessRights-Bvd5Bm5K.js.map → AccessRights-CupmTG3T.js.map} +1 -1
  3. package/dist/{AddEditQueryBuilder-Bcjl5mXE.js → AddEditQueryBuilder-C8ZSkOF0.js} +60 -60
  4. package/dist/AddEditQueryBuilder-C8ZSkOF0.js.map +1 -0
  5. package/dist/{AddFeatures-CE5rBxEG.js → AddFeatures-CTVs_Gr9.js} +2 -2
  6. package/dist/{AddFeatures-CE5rBxEG.js.map → AddFeatures-CTVs_Gr9.js.map} +1 -1
  7. package/dist/{AddRoleDrawer-Bc655LQU.js → AddRoleDrawer-CQdzQZLb.js} +36 -36
  8. package/dist/AddRoleDrawer-CQdzQZLb.js.map +1 -0
  9. package/dist/{ChangePasswordModalCore-50EzprTk.js → ChangePasswordModalCore-DotONnMz.js} +459 -458
  10. package/dist/{ChangePasswordModalCore-50EzprTk.js.map → ChangePasswordModalCore-DotONnMz.js.map} +1 -1
  11. package/dist/{ConditionConfig-D2hOAa4n.js → ConditionConfig-C3rF2wXU.js} +2 -2
  12. package/dist/{ConditionConfig-D2hOAa4n.js.map → ConditionConfig-C3rF2wXU.js.map} +1 -1
  13. package/dist/{EventConfigurations-D8juDb29.js → EventConfigurations-BGffjVC7.js} +3 -3
  14. package/dist/{EventConfigurations-D8juDb29.js.map → EventConfigurations-BGffjVC7.js.map} +1 -1
  15. package/dist/{EventsExceptionModal-DsvngLi8.js → EventsExceptionModal-D4Bf1ilS.js} +2 -2
  16. package/dist/{EventsExceptionModal-DsvngLi8.js.map → EventsExceptionModal-D4Bf1ilS.js.map} +1 -1
  17. package/dist/EventsSkeleton-8iiETGcf.js +76 -0
  18. package/dist/EventsSkeleton-8iiETGcf.js.map +1 -0
  19. package/dist/{FeatureMenu-CLX8VNZ-.js → FeatureMenu-DUZL32RI.js} +3 -3
  20. package/dist/{FeatureMenu-CLX8VNZ-.js.map → FeatureMenu-DUZL32RI.js.map} +1 -1
  21. package/dist/Features-CObdzJp_.js +13 -0
  22. package/dist/Features-CObdzJp_.js.map +1 -0
  23. package/dist/{ImmunizationConfigurationBase-C5wnjI_-.js → ImmunizationConfigurationBase-CUQGVlhB.js} +741 -731
  24. package/dist/ImmunizationConfigurationBase-CUQGVlhB.js.map +1 -0
  25. package/dist/ImmunizationConfigurationBase.css +1 -1
  26. package/dist/{ManageDynamicFeature-i6ARKe36.js → ManageDynamicFeature-BhONvfC_.js} +2 -2
  27. package/dist/{ManageDynamicFeature-i6ARKe36.js.map → ManageDynamicFeature-BhONvfC_.js.map} +1 -1
  28. package/dist/{ManageEventConfiguration-CHugu2vQ.js → ManageEventConfiguration-BntUc_YI.js} +5 -5
  29. package/dist/{ManageEventConfiguration-CHugu2vQ.js.map → ManageEventConfiguration-BntUc_YI.js.map} +1 -1
  30. package/dist/{ManageNotification-BUAvg5Ge.js → ManageNotification-CSl02Wq7.js} +2 -2
  31. package/dist/{ManageNotification-BUAvg5Ge.js.map → ManageNotification-CSl02Wq7.js.map} +1 -1
  32. package/dist/{ManageRole-Cbs9dUhc.js → ManageRole-CZAk-IlM.js} +222 -229
  33. package/dist/ManageRole-CZAk-IlM.js.map +1 -0
  34. package/dist/{ManageUser-C6dlK-Mr.js → ManageUser-Ca1BsI1u.js} +2 -2
  35. package/dist/{ManageUser-C6dlK-Mr.js.map → ManageUser-Ca1BsI1u.js.map} +1 -1
  36. package/dist/{MobileTypeEventConfigModal-2w0WQ3WY.js → MobileTypeEventConfigModal-BNjZ8pnq.js} +2 -2
  37. package/dist/{MobileTypeEventConfigModal-2w0WQ3WY.js.map → MobileTypeEventConfigModal-BNjZ8pnq.js.map} +1 -1
  38. package/dist/{NotificationList-CUZSWp2J.js → NotificationList-D1U1LYnz.js} +140 -139
  39. package/dist/NotificationList-D1U1LYnz.js.map +1 -0
  40. package/dist/{OtherTypeEventConfigModal-D1p8M39y.js → OtherTypeEventConfigModal-DiVhWDpG.js} +2 -2
  41. package/dist/{OtherTypeEventConfigModal-D1p8M39y.js.map → OtherTypeEventConfigModal-DiVhWDpG.js.map} +1 -1
  42. package/dist/{QueryBuilder-DXexUIe8.js → QueryBuilder-DI0wCJbz.js} +85 -84
  43. package/dist/QueryBuilder-DI0wCJbz.js.map +1 -0
  44. package/dist/{RoleManagement-BThAL5LO.js → RoleManagement-B9WgZGEj.js} +182 -168
  45. package/dist/RoleManagement-B9WgZGEj.js.map +1 -0
  46. package/dist/{ShowFlywayQuery-BkyA6QaA.js → ShowFlywayQuery-tj42YQAS.js} +33 -33
  47. package/dist/ShowFlywayQuery-tj42YQAS.js.map +1 -0
  48. package/dist/{SubMenu-BGznOP2a.js → SubMenu-CM_4wNCR.js} +2 -2
  49. package/dist/{SubMenu-BGznOP2a.js.map → SubMenu-CM_4wNCR.js.map} +1 -1
  50. package/dist/{TypeConfiguration-D-3xNcyd.js → TypeConfiguration-CupQxH9Y.js} +28 -28
  51. package/dist/TypeConfiguration-CupQxH9Y.js.map +1 -0
  52. package/dist/{UserList-D7GL7jvO.js → UserList-BzHsbYel.js} +186 -185
  53. package/dist/UserList-BzHsbYel.js.map +1 -0
  54. package/dist/{WidgetList-B3Sm9weK.js → WidgetList-B7X8Awkg.js} +2 -2
  55. package/dist/{WidgetList-B3Sm9weK.js.map → WidgetList-B7X8Awkg.js.map} +1 -1
  56. package/dist/index.js +10 -10
  57. package/package.json +1 -1
  58. package/dist/AddEditQueryBuilder-Bcjl5mXE.js.map +0 -1
  59. package/dist/AddRoleDrawer-Bc655LQU.js.map +0 -1
  60. package/dist/EventsSkeleton-DCXwwPbb.js +0 -76
  61. package/dist/EventsSkeleton-DCXwwPbb.js.map +0 -1
  62. package/dist/Features-Cpf1PDx0.js +0 -13
  63. package/dist/Features-Cpf1PDx0.js.map +0 -1
  64. package/dist/ImmunizationConfigurationBase-C5wnjI_-.js.map +0 -1
  65. package/dist/ManageRole-Cbs9dUhc.js.map +0 -1
  66. package/dist/NotificationList-CUZSWp2J.js.map +0 -1
  67. package/dist/QueryBuilder-DXexUIe8.js.map +0 -1
  68. package/dist/RoleManagement-BThAL5LO.js.map +0 -1
  69. package/dist/ShowFlywayQuery-BkyA6QaA.js.map +0 -1
  70. package/dist/TypeConfiguration-D-3xNcyd.js.map +0 -1
  71. package/dist/UserList-D7GL7jvO.js.map +0 -1
@@ -1,24 +1,25 @@
1
- import { jsxs as d, jsx as t, Fragment as Ae } from "react/jsx-runtime";
2
- import { useState as s, useRef as De, useEffect as p, Suspense as _, lazy as k } from "react";
3
- import { useTranslateProvider as Pe } from "@/common/languageTranslator/TranslationContext";
4
- import { api as G } from "@/common/interceptors/AxiosInterceptor";
1
+ import { jsxs as d, jsx as t, Fragment as Ee } from "react/jsx-runtime";
2
+ import { useState as s, useRef as Ae, useEffect as p, Suspense as _, lazy as k } from "react";
3
+ import { useTranslateProvider as De } from "@/common/languageTranslator/TranslationContext";
4
+ import { api as $ } from "@/common/interceptors/AxiosInterceptor";
5
5
  import { execute as N } from "@/common/services/GlobalApis";
6
6
  import Oe from "@/common/syncWithServer/SyncWithServerDialog";
7
7
  import { showToast as g } from "@/common/toaster/toaster";
8
- import Re from "@/hooks/usePagination";
9
- import Fe from "@/views/custom-components/CustomConfirmationModal";
10
- import { Box as Be, Card as He, Typography as J, TextField as ze, Button as Le } from "@mui/material";
8
+ import Pe from "@/hooks/usePagination";
9
+ import Re from "@/views/custom-components/CustomConfirmationModal";
10
+ import { Box as Fe, Card as Be, Typography as J, TextField as He, Button as ze } from "@mui/material";
11
11
  import u from "@mui/material/Grid2";
12
- import Me from "@/hooks/useTrackEvent";
13
- import je from "@/views/custom-components/CustomizedTable/CustomizedTableV2";
12
+ import Le from "@/hooks/useTrackEvent";
13
+ import Me from "@/views/custom-components/CustomizedTable/CustomizedTableV2";
14
14
  import { FontAwesomeIcon as Y } from "@fortawesome/react-fontawesome";
15
- import { faBars as Ue, faPen as Ve } from "@fortawesome/free-solid-svg-icons";
15
+ import { faBars as je, faPen as Ve } from "@fortawesome/free-solid-svg-icons";
16
16
  import W from "prop-types";
17
- import { useSelector as Je } from "react-redux";
18
- import { getUseSkeleton as Ye } from "@/store/reducers/SkeletonReducer";
19
- import { getAssignedFeatures as We } from "@/utils/feature";
20
- import $ from "@/common/services/util/GeneralUtil";
21
- import './QueryBuilder.css';const $e = (l) => G.put("/resource", l), vt = (l) => G.post("/resource", l), K = ({ children: l, isLoading: b }) => !Je(Ye) || !b ? l : /* @__PURE__ */ d("div", { className: "flex flex-col gap-2", children: [
17
+ import { useSelector as Ue } from "react-redux";
18
+ import { getUseSkeleton as Je } from "@/store/reducers/SkeletonReducer";
19
+ import { getAssignedFeatures as Ye } from "@/utils/feature";
20
+ import We from "@/common/config/implementationConfig";
21
+ import "@/common/services/util/GeneralUtil";
22
+ import './QueryBuilder.css';const $e = (l) => $.put("/resource", l), St = (l) => $.post("/resource", l), G = ({ children: l, isLoading: b }) => !Ue(Je) || !b ? l : /* @__PURE__ */ d("div", { className: "flex flex-col gap-2", children: [
22
23
  /* @__PURE__ */ d("div", { className: "w-full justify-between flex-wrap flex flex-row pt-6", children: [
23
24
  /* @__PURE__ */ t("div", { children: /* @__PURE__ */ t("div", { className: "bg-gray-300 animate-pulse rounded-sm h-[36px] w-[64px]" }) }),
24
25
  /* @__PURE__ */ d("div", { className: "flex", children: [
@@ -28,17 +29,17 @@ import './QueryBuilder.css';const $e = (l) => G.put("/resource", l), vt = (l) =>
28
29
  ] }),
29
30
  /* @__PURE__ */ t("div", { className: "bg-gray-300 animate-pulse rounded-sm w-full h-100" })
30
31
  ] });
31
- K.propTypes = {
32
+ G.propTypes = {
32
33
  children: W.any,
33
34
  isLoading: W.any
34
35
  };
35
- const Ge = k(() => import("./AddEditQueryBuilder-Bcjl5mXE.js")), Ke = k(() => import("./ShowFlywayQuery-BkyA6QaA.js")), Xe = k(() => import("./ShowQueryHistory-BDN0tzHg.js")), Ze = () => {
36
- var V;
37
- const l = Me(), [b, E] = s([]), [X, Z] = s(!1), [A, ee] = s([]), [m, D] = s(1), [te, re] = s(""), [se, oe] = s(""), [ae, ne] = s({}), [ie, P] = s(!1), [le, ce] = s(""), [ue, O] = s(!1), [R, w] = s(null), [c, F] = s(null), [B, de] = s(null), [n, ye] = s({}), [he, H] = s(!1), [fe, z] = s({}), [me, v] = s(!1), [L, M] = s(!1), [pe, ge] = s(0), { translate: S } = Pe(), [i, be] = s({}), C = De(i);
36
+ const Ge = k(() => import("./AddEditQueryBuilder-C8ZSkOF0.js")), Ke = k(() => import("./ShowFlywayQuery-tj42YQAS.js")), Xe = k(() => import("./ShowQueryHistory-BDN0tzHg.js")), Ze = () => {
37
+ var U;
38
+ const l = Le(), [b, E] = s([]), [K, X] = s(!1), [A, Z] = s([]), [m, D] = s(1), [ee, te] = s(""), [re, se] = s(""), [oe, ae] = s({}), [ne, O] = s(!1), [ie, le] = s(""), [ce, P] = s(!1), [R, w] = s(null), [c, F] = s(null), [B, ue] = s(null), [n, de] = s({}), [ye, H] = s(!1), [he, z] = s({}), [fe, C] = s(!1), [L, M] = s(!1), [me, pe] = s(0), { translate: S } = De(), [i, ge] = s({}), v = Ae(i);
38
39
  p(() => {
39
- C.current = i;
40
+ v.current = i;
40
41
  }, [i]);
41
- const we = $.isEkavach || $.isPhmp, T = [
42
+ const be = We.queryBuilder.showClickhouseOption, T = [
42
43
  { field: "code", label: "Code", align: "left" },
43
44
  {
44
45
  field: "description",
@@ -49,31 +50,31 @@ const Ge = k(() => import("./AddEditQueryBuilder-Bcjl5mXE.js")), Ke = k(() => im
49
50
  { field: "returnsResultSet", label: "Returns Result Set" },
50
51
  { field: "isPublic", label: "Is Public" }
51
52
  ];
52
- we && T.push({
53
+ be && T.push({
53
54
  field: "isClickhouseQuery",
54
55
  label: "Is Clickhouse Query"
55
56
  }), T.push({ field: "Actions", label: "Actions" });
56
- const [q, y] = s(!1), h = 50, { data: j } = Re({
57
- key: ["queries", B, m, X, i],
57
+ const [q, y] = s(!1), h = 50, { data: j } = Pe({
58
+ key: ["queries", B, m, K, i],
58
59
  queryFn: (e) => Q(e),
59
60
  currentPage: m,
60
61
  limit: h,
61
62
  searchString: B || null,
62
63
  paginationType: "traditional"
63
- }), ve = (e) => {
64
+ }), we = (e) => {
64
65
  const r = A.filter((o) => o.uuid === e.uuid);
65
66
  z(r[0]), M((o) => !o), H(!0);
66
- }, Se = (e) => {
67
- re(
67
+ }, Ce = (e) => {
68
+ te(
68
69
  (e == null ? void 0 : e.state) === "ACTIVE" ? "Mark as Inactive" : "Mark as Active"
69
- ), oe(
70
+ ), se(
70
71
  (e == null ? void 0 : e.state) === "ACTIVE" ? "Are you sure you want to change the state from active to inactive?" : "Are you sure you want to change the state from inactive to active?"
71
72
  );
72
73
  const r = A.filter((o) => o.uuid === e.uuid);
73
- ye(r[0]);
74
- }, Ce = async () => {
75
- v((e) => !e);
76
- }, Te = async () => {
74
+ de(r[0]);
75
+ }, Se = async () => {
76
+ C((e) => !e);
77
+ }, ve = async () => {
77
78
  try {
78
79
  let e = JSON.parse(JSON.stringify(n));
79
80
  e.state = (n == null ? void 0 : n.state) === "ACTIVE" ? "INACTIVE" : "ACTIVE", await $e(e), await I();
@@ -82,11 +83,11 @@ const Ge = k(() => import("./AddEditQueryBuilder-Bcjl5mXE.js")), Ke = k(() => im
82
83
  offset: (m - 1) * h,
83
84
  searchString: c || ""
84
85
  });
85
- x(r), Z(n), v((o) => !o);
86
+ x(r), X(n), C((o) => !o);
86
87
  } catch (e) {
87
88
  console.error(e), g({ message: "Error in toggle state", type: "error" });
88
89
  }
89
- }, qe = async () => {
90
+ }, Te = async () => {
90
91
  var e, r, o;
91
92
  try {
92
93
  const a = {
@@ -99,52 +100,52 @@ const Ge = k(() => import("./AddEditQueryBuilder-Bcjl5mXE.js")), Ke = k(() => im
99
100
  ((r = (e = f == null ? void 0 : f.data) == null ? void 0 : e.result) == null ? void 0 : r.length) === 0 ? g({
100
101
  message: "No Query History found for Query code",
101
102
  type: "warn"
102
- }) : (ne((o = f == null ? void 0 : f.data) == null ? void 0 : o.result), P((Ee) => !Ee));
103
+ }) : (ae((o = f == null ? void 0 : f.data) == null ? void 0 : o.result), O((ke) => !ke));
103
104
  } catch (a) {
104
105
  console.error(a), g({ message: "Error in loading Query History", type: "error" });
105
106
  }
107
+ }, qe = () => {
108
+ le(n), P((e) => !e);
106
109
  }, Ie = () => {
107
- ce(n), O((e) => !e);
108
- }, Qe = () => {
109
110
  w(n == null ? void 0 : n.uuid);
110
- }, xe = () => w(() => null), _e = () => {
111
+ }, Qe = () => w(() => null), xe = () => {
111
112
  var r;
112
113
  const e = [
113
114
  {
114
115
  label: "",
115
- icon: /* @__PURE__ */ t(Y, { icon: Ue, size: "lg" }),
116
- menuClick: Se,
116
+ icon: /* @__PURE__ */ t(Y, { icon: je, size: "lg" }),
117
+ menuClick: Ce,
117
118
  menuItems: [
118
119
  {
119
- label: S(te),
120
- onClick: Ce
120
+ label: S(ee),
121
+ onClick: Se
121
122
  },
122
123
  {
123
124
  label: "Show Flyway Query",
124
- onClick: Ie
125
+ onClick: qe
125
126
  },
126
127
  {
127
128
  label: "Show Query History",
128
- onClick: qe
129
+ onClick: Te
129
130
  },
130
131
  {
131
132
  label: "Sync With Server",
132
- onClick: Qe
133
+ onClick: Ie
133
134
  }
134
135
  ],
135
136
  dataTestId: "MenuIcon"
136
137
  }
137
138
  ];
138
- return (r = C.current) != null && r["update.admin.query"] && e.unshift({
139
+ return (r = v.current) != null && r["update.admin.query"] && e.unshift({
139
140
  label: "",
140
141
  icon: /* @__PURE__ */ t(Y, { icon: Ve, size: "lg" }),
141
- onClick: ve,
142
+ onClick: we,
142
143
  dataTestId: "EditIcon"
143
144
  }), e;
144
145
  };
145
146
  p(() => {
146
147
  const e = setTimeout(async () => {
147
- await I(), D(1), de(c);
148
+ await I(), D(1), ue(c);
148
149
  }, 1e3);
149
150
  return () => clearTimeout(e);
150
151
  }, [c]);
@@ -160,7 +161,7 @@ const Ge = k(() => import("./AddEditQueryBuilder-Bcjl5mXE.js")), Ke = k(() => im
160
161
  },
161
162
  { showLoader: !1 }
162
163
  );
163
- ge(e.result[0].count);
164
+ pe(e.result[0].count);
164
165
  } catch (e) {
165
166
  console.error(e);
166
167
  }
@@ -189,21 +190,21 @@ const Ge = k(() => import("./AddEditQueryBuilder-Bcjl5mXE.js")), Ke = k(() => im
189
190
  } catch (r) {
190
191
  g({ message: `error ${r}`, type: "error" }), y((o) => !o);
191
192
  }
192
- }, Ne = async () => {
193
+ }, _e = async () => {
193
194
  try {
194
195
  y(!0);
195
- const { data: e } = await We("techo.manage.query");
196
- be(JSON.parse(e)), y(!1);
196
+ const { data: e } = await Ye("techo.manage.query");
197
+ ge(JSON.parse(e)), y(!1);
197
198
  } catch (e) {
198
199
  console.error("Error loading rights:", e), y(!1);
199
200
  }
200
201
  };
201
202
  p(() => {
202
- Ne();
203
+ _e();
203
204
  }, []);
204
205
  const x = (e) => {
205
206
  const r = (e == null ? void 0 : e.flat()) || [];
206
- ee(r);
207
+ Z(r);
207
208
  const o = r.map((a) => ({
208
209
  ...a,
209
210
  query: `${a == null ? void 0 : a.query.slice(0, 50)}...`,
@@ -216,13 +217,13 @@ const Ge = k(() => import("./AddEditQueryBuilder-Bcjl5mXE.js")), Ke = k(() => im
216
217
  p(() => {
217
218
  x(j);
218
219
  }, [j]);
219
- const U = () => {
220
+ const V = () => {
220
221
  l("button_click", {
221
222
  button_name: "querybuilder-add-button",
222
223
  button_type: "navigate",
223
224
  button_id: "querybuilder-add-button"
224
225
  }), M((e) => !e), H(!1), z({});
225
- }, ke = async () => {
226
+ }, Ne = async () => {
226
227
  try {
227
228
  if (c !== "")
228
229
  F("");
@@ -239,15 +240,15 @@ const Ge = k(() => import("./AddEditQueryBuilder-Bcjl5mXE.js")), Ke = k(() => im
239
240
  console.error(e);
240
241
  }
241
242
  };
242
- return !q && !((V = C.current) != null && V["view.admin.query"]) ? /* @__PURE__ */ t(Be, { className: "flex justify-center items-center w-full h-[80vh]", children: /* @__PURE__ */ t(He, { className: "h-80 w-150 flex justify-center items-center", children: /* @__PURE__ */ t(J, { variant: "h5", "data-testid": "no-permission-message", className: "text-customBlue", children: "You dont have permission to view Queries" }) }) }) : /* @__PURE__ */ d(u, { pt: 2, sx: { height: "calc(100vh - 84px)" }, children: [
243
+ return !q && !((U = v.current) != null && U["view.admin.query"]) ? /* @__PURE__ */ t(Fe, { className: "flex justify-center items-center w-full h-[80vh]", children: /* @__PURE__ */ t(Be, { className: "h-80 w-150 flex justify-center items-center", children: /* @__PURE__ */ t(J, { variant: "h5", "data-testid": "no-permission-message", className: "text-customBlue", children: "You dont have permission to view Queries" }) }) }) : /* @__PURE__ */ d(u, { pt: 2, sx: { height: "calc(100vh - 84px)" }, children: [
243
244
  /* @__PURE__ */ t(_, { children: L && /* @__PURE__ */ t(
244
245
  Ge,
245
246
  {
246
- loadInitialState: ke,
247
- isEditMode: he,
248
- editRow: fe,
247
+ loadInitialState: Ne,
248
+ isEditMode: ye,
249
+ editRow: he,
249
250
  open: L,
250
- close: U,
251
+ close: V,
251
252
  "data-testid": "querybuilder-addeditquerybuilder"
252
253
  }
253
254
  ) }),
@@ -255,7 +256,7 @@ const Ge = k(() => import("./AddEditQueryBuilder-Bcjl5mXE.js")), Ke = k(() => im
255
256
  Oe,
256
257
  {
257
258
  isOpen: !!w,
258
- handleClose: xe,
259
+ handleClose: Qe,
259
260
  featureUUID: R,
260
261
  dataTestId: "querybuilder-syncwithserverdialog"
261
262
  }
@@ -263,10 +264,10 @@ const Ge = k(() => import("./AddEditQueryBuilder-Bcjl5mXE.js")), Ke = k(() => im
263
264
  /* @__PURE__ */ t(_, { children: /* @__PURE__ */ t(
264
265
  Ke,
265
266
  {
266
- configuredQuery: le,
267
- open: ue,
267
+ configuredQuery: ie,
268
+ open: ce,
268
269
  onClose: () => {
269
- O((e) => !e);
270
+ P((e) => !e);
270
271
  },
271
272
  "data-testid": "querybuilder-showflywayquery"
272
273
  }
@@ -274,26 +275,26 @@ const Ge = k(() => import("./AddEditQueryBuilder-Bcjl5mXE.js")), Ke = k(() => im
274
275
  /* @__PURE__ */ t(_, { children: /* @__PURE__ */ t(
275
276
  Xe,
276
277
  {
277
- historyList: ae,
278
- open: ie,
278
+ historyList: oe,
279
+ open: ne,
279
280
  handleClose: () => {
280
- P((e) => !e);
281
+ O((e) => !e);
281
282
  },
282
283
  "data-testid": "querybuilder-showqueryhistory"
283
284
  }
284
285
  ) }),
285
286
  /* @__PURE__ */ t(
286
- Fe,
287
+ Re,
287
288
  {
288
- description: se,
289
+ description: re,
289
290
  title: "CONFIRM ACTION",
290
- handleClick: Te,
291
- open: me,
292
- handleClose: () => v((e) => !e),
291
+ handleClick: ve,
292
+ open: fe,
293
+ handleClose: () => C((e) => !e),
293
294
  dataTestId: "querybuilder-customconfirmationmodal"
294
295
  }
295
296
  ),
296
- /* @__PURE__ */ t(u, { children: /* @__PURE__ */ t(K, { isLoading: q, children: /* @__PURE__ */ d(Ae, { children: [
297
+ /* @__PURE__ */ t(u, { children: /* @__PURE__ */ t(G, { isLoading: q, children: /* @__PURE__ */ d(Ee, { children: [
297
298
  /* @__PURE__ */ d(
298
299
  u,
299
300
  {
@@ -312,7 +313,7 @@ const Ge = k(() => import("./AddEditQueryBuilder-Bcjl5mXE.js")), Ke = k(() => im
312
313
  ) }),
313
314
  /* @__PURE__ */ t(u, { item: "true", children: /* @__PURE__ */ d(u, { container: !0, spacing: 2, children: [
314
315
  /* @__PURE__ */ t(u, { item: "true", children: /* @__PURE__ */ t(
315
- ze,
316
+ He,
316
317
  {
317
318
  name: "searchQuery",
318
319
  id: "searchQuery",
@@ -338,11 +339,11 @@ const Ge = k(() => import("./AddEditQueryBuilder-Bcjl5mXE.js")), Ke = k(() => im
338
339
  }
339
340
  ) }),
340
341
  (i == null ? void 0 : i["create.admin.query"]) && /* @__PURE__ */ t(u, { item: "true", className: "flex items-center", children: /* @__PURE__ */ t(
341
- Le,
342
+ ze,
342
343
  {
343
344
  size: "small",
344
345
  variant: "contained",
345
- onClick: U,
346
+ onClick: V,
346
347
  "data-testid": "querybuilder-add-button",
347
348
  children: S("Add")
348
349
  }
@@ -352,11 +353,11 @@ const Ge = k(() => import("./AddEditQueryBuilder-Bcjl5mXE.js")), Ke = k(() => im
352
353
  }
353
354
  ),
354
355
  /* @__PURE__ */ t(u, { container: !0, className: "mt-4", children: /* @__PURE__ */ t(
355
- je,
356
+ Me,
356
357
  {
357
358
  columns: T,
358
359
  tableData: b,
359
- actions: _e(),
360
+ actions: xe(),
360
361
  paginationConfig: {
361
362
  pagination: !0,
362
363
  rowsPerPageInTable: h,
@@ -364,7 +365,7 @@ const Ge = k(() => import("./AddEditQueryBuilder-Bcjl5mXE.js")), Ke = k(() => im
364
365
  D(e);
365
366
  },
366
367
  currentPage: m,
367
- totalRows: pe
368
+ totalRows: me
368
369
  },
369
370
  dataTestId: "querybuilder-customizedtable",
370
371
  styleConfig: { tableStyle: { maxHeight: 65 } },
@@ -373,12 +374,12 @@ const Ge = k(() => import("./AddEditQueryBuilder-Bcjl5mXE.js")), Ke = k(() => im
373
374
  ) })
374
375
  ] }) }) })
375
376
  ] });
376
- }, St = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
377
+ }, vt = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
377
378
  __proto__: null,
378
379
  default: Ze
379
380
  }, Symbol.toStringTag, { value: "Module" }));
380
381
  export {
381
- St as Q,
382
- vt as s
382
+ vt as Q,
383
+ St as s
383
384
  };
384
- //# sourceMappingURL=QueryBuilder-DXexUIe8.js.map
385
+ //# sourceMappingURL=QueryBuilder-DI0wCJbz.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryBuilder-DI0wCJbz.js","sources":["../src/services/QueryBuilder.js","../src/views/QueryBuilder/Skeletons/QueryBuilderSkeleton.jsx","../src/views/QueryBuilder/QueryBuilder.jsx"],"sourcesContent":["import { api } from \"@/common/interceptors/AxiosInterceptor\";\n\nexport const retrieveAllConfigured = (isActive) =>\n api.get(\"/resource\", { params: { is_active: isActive } });\n\nexport const toggleState = (data) => api.put(\"/resource\", data);\n\nexport const executeForFormConfigurator = (data) =>\n api.post(`/resource/getdataforformconfigurator/${data.code}`, data);\n\nexport const executeWithTimeout = (params) =>\n api.post(\"/resource/getdatawithtimeout\", params);\n\nexport const executeQueryForFamilyReport = (data) =>\n api.post(\"/resource/getdata\", data);\n\nexport const executeAllQuery = (dataList) =>\n api.post(\"/resource/getdatas\", dataList);\n\nexport const executeAll = (dataList) =>\n api.post(\"/resource/getalldata\", dataList);\n\nexport const getServerList = () =>\n api.post(\"/resource/getdata\", {\n code: \"get_runqueryactive_server_list\",\n parameters: {},\n });\n\nexport const saveOrUpdate = (data) => api.post(\"/resource\", data);\n\nexport const runQuery = (query) =>\n api.post(\"/resource/runquery\", query, {\n headers: { \"Content-Type\": \"application/json\" },\n transformRequest: [(data) => data],\n });\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { useSelector } from \"react-redux\";\nimport { getUseSkeleton } from \"@/store/reducers/SkeletonReducer\";\n\nexport const QueryBuilderSkeleton = ({children , isLoading}) => {\n const useSkeleton = useSelector(getUseSkeleton);\n if (!useSkeleton) {\n return children;\n }\n if (!isLoading) return children;\n return (\n <div className=\"flex flex-col gap-2\">\n <div className=\"w-full justify-between flex-wrap flex flex-row pt-6\">\n <div>\n <div className=\"bg-gray-300 animate-pulse rounded-sm h-[36px] w-[64px]\"></div>\n </div>\n\n <div className=\"flex\">\n <div className=\"bg-gray-300 animate-pulse rounded-sm h-[32px] w-[160px] mr-2\"></div>\n <div className=\"bg-gray-300 animate-pulse rounded-sm h-[32px] w-[60px]\"></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\nQueryBuilderSkeleton.propTypes = {\n children: PropTypes.any,\n isLoading: PropTypes.any,\n};\n","import { lazy, default as React, Suspense, useEffect, useState, useRef } from \"react\";\nimport { useTranslateProvider } from \"@/common/languageTranslator/TranslationContext\";\nimport { toggleState } from \"../../services/QueryBuilder\";\nimport { execute } from \"@/common/services/GlobalApis\";\nimport SyncWithServerDialog from \"@/common/syncWithServer/SyncWithServerDialog\";\nimport { showToast } from \"@/common/toaster/toaster\";\nimport usePagination from \"@/hooks/usePagination\";\nimport CustomConfirmationModal from \"@/views/custom-components/CustomConfirmationModal\";\nimport \"./Styles/QueryBuilder.scss\";\nconst AddEditQueryBuilder = lazy(() => import(\"./AddEditQueryBuilder\"));\nconst ShowFlywayQuery = lazy(() => import(\"./ShowFlywayQuery\"));\nconst ShowQueryHistory = lazy(() => import(\"./ShowQueryHistory\"));\nimport { Box, Button, Card, TextField, Typography } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid2\";\n\nimport useTrackEvent from \"@/hooks/useTrackEvent\";\nimport CustomizedTable from \"@/views/custom-components/CustomizedTable/CustomizedTableV2\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport { faBars, faPen } from \"@fortawesome/free-solid-svg-icons\";\nimport { QueryBuilderSkeleton } from \"./Skeletons/QueryBuilderSkeleton\";\nimport { getAssignedFeatures } from \"@/utils/feature\";\nimport implementationConfig from \"@/common/config/implementationConfig\";\nimport GeneralUtil from \"@/common/services/util/GeneralUtil\";\n\n/**\n * @module QueryBuilder\n * @returns {JSX.Element}\n */\n\nconst QueryBuilder = () => {\n const trackEvent = useTrackEvent();\n const [queryTableValues, setQueryTableValues] = useState([]);\n const [refreshData, setRefreshData] = useState(false);\n const [actualData, setActualData] = useState([]);\n const [currentPage, setCurrentPage] = useState(1);\n const [isActiveLabel, setIsActiveLabel] = useState(\"\");\n const [isActiveDescription, setIsActiveDescription] = useState(\"\");\n const [queryHistory, setQueryHistory] = useState({});\n const [openHistory, setOpenHistory] = useState(false);\n const [configuredQuery, setConfiguredQuery] = useState(\"\");\n const [openFlywayQuery, setOpenFlywayQuery] = useState(false);\n const [featureUuid, setFeatureUuid] = useState(null);\n const [search, setSearch] = useState(null);\n const [debounceSearch, setDebounceSearch] = useState(null);\n const [clickedRow, setClickedRow] = useState({});\n const [isEdit, setIsEdit] = useState(false);\n const [editRow, setEditRow] = useState({});\n const [toggleOpen, setToggleOpen] = useState(false);\n const [addEdit, setAddEdit] = useState(false);\n const [totalRows, setTotalRows] = useState(0);\n const { translate } = useTranslateProvider();\n const [rights, setRights] = useState({});\n const rightsRef = useRef(rights);\n\n useEffect(() => {\n rightsRef.current = rights;\n }, [rights]);\n\n const isClickhouseEnabledEnv = implementationConfig.queryBuilder.showClickhouseOption;\n\n const queryTableFields = [\n { field: \"code\", label: \"Code\", align: \"left\" },\n {\n field: \"description\",\n label: \"Description\",\n align: \"left\",\n },\n { field: \"query\", label: \"Query\", align: \"left\" },\n { field: \"returnsResultSet\", label: \"Returns Result Set\" },\n { field: \"isPublic\", label: \"Is Public\" },\n ];\n\n if (isClickhouseEnabledEnv) {\n queryTableFields.push({\n field: \"isClickhouseQuery\",\n label: \"Is Clickhouse Query\",\n });\n }\n\n queryTableFields.push({ field: \"Actions\", label: \"Actions\" });\n\n const [isLoading, setIsLoading] = useState(false);\n\n const pageSize = 50;\n\n /**\n * Custom hook for managing paginated user data.\n *\n * @CustomHook\n * @type {Object}\n * @property {Array} pageData - The paginated user data fetched from the server.\n * @property {Function} fetchNextPage - Function to fetch the next page of data.\n * @property {boolean} isFetchingNextPage - Indicates if the next page is currently being fetched.\n **/\n const { data: pageData } = usePagination({\n key: [\"queries\", debounceSearch, currentPage, refreshData, rights],\n queryFn: (pageParam) => loadMoreData(pageParam),\n currentPage,\n limit: pageSize,\n searchString: debounceSearch || null,\n paginationType: \"traditional\",\n });\n\n /**\n * Handles the editing of a data item.\n * @function handleEdit\n * @param {Object} data - The data item to be edited, including at least the `uuid` property.\n * @param {string} data.uuid - The unique identifier of the data item.\n * @returns {void}\n */\n\n const handleEdit = (data) => {\n const toggledData = actualData.filter((item) => item.uuid === data.uuid);\n setEditRow(toggledData[0]);\n setAddEdit((cur) => !cur);\n setIsEdit(true);\n };\n\n /**\n * Handles toggling the state of a data item between active and inactive.\n * @function handleToggleOption\n * @param {Object} data - The data item whose state is being toggled, including at least the `uuid` and `state` properties.\n * @param {string} data.uuid - The unique identifier of the data item.\n * @param {string} data.state - The current state of the data item (e.g., 'ACTIVE' or 'INACTIVE').\n * @returns {void}\n */\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 const toggledData = actualData.filter((item) => item.uuid === data.uuid);\n setClickedRow(toggledData[0]);\n };\n\n /**\n * Toggles the state of a boolean value used to open or close a toggle component.\n * @async\n * @function handleToggle\n * @returns {void}\n */\n\n const handleToggle = async () => {\n setToggleOpen((cur) => !cur);\n };\n\n /**\n * Handles the state toggling operation and updates the UI accordingly.\n * @async\n * @function handleToggleState\n * @returns {Promise<void>} A promise that resolves when the operation is complete.\n * @throws {Error} Throws an error if `toggleState` or `loadInitialState` fails, which is caught and handled by showing a toast message.\n */\n\n const handleToggleState = async () => {\n try {\n let data = JSON.parse(JSON.stringify(clickedRow));\n data.state = clickedRow?.state === \"ACTIVE\" ? \"INACTIVE\" : \"ACTIVE\";\n await toggleState(data);\n await fetchTotalRows();\n const updatedData = await loadMoreData({\n limit: pageSize,\n offset: (currentPage - 1) * pageSize,\n searchString: search || \"\",\n });\n setTableData(updatedData);\n setRefreshData(clickedRow);\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 * Retrieves and displays the query history for a specific query code.\n * @async\n * @function showQueryHistory\n * @returns {Promise<void>} A promise that resolves when the query history has been retrieved and displayed.\n * @throws {Error} Throws an error if `getQueryHistory` fails, which is caught and handled by showing a toast message.\n */\n\n const showQueryHistory = async () => {\n try {\n const data = {\n code: \"retrieve_logged_actions_by_table_name_query_code\",\n parameters: {\n tableName: \"query_master\",\n queryCode: clickedRow.code,\n },\n };\n const response = await execute(data);\n\n if (response?.data?.result?.length === 0) {\n showToast({\n message: \"No Query History found for Query code\",\n type: \"warn\",\n });\n } else {\n setQueryHistory(response?.data?.result);\n setOpenHistory((cur) => !cur);\n }\n } catch (error) {\n console.error(error);\n showToast({ message: \"Error in loading Query History\", type: \"error\" });\n }\n };\n\n /**\n * Toggles the display of the Flyway query configuration modal.\n * @function showFlywayQuery\n * @returns {void} This function does not return any value.\n */\n\n const showFlywayQuery = () => {\n setConfiguredQuery(clickedRow);\n setOpenFlywayQuery((cur) => !cur);\n };\n\n /**\n * Synchronizes the local feature state with the server.\n * @function syncWithServer\n * @returns {void} This function does not return any value.\n */\n\n const syncWithServer = () => {\n setFeatureUuid(clickedRow?.uuid);\n };\n\n /**\n * sets the feature UUid to null.\n * @function handleSyncClose\n * @returns {void} This function does not return any value.\n */\n\n const handleSyncClose = () => setFeatureUuid(() => null);\n\n const getActions = () => {\n const actions = [\n {\n label: \"\",\n icon: <FontAwesomeIcon icon={faBars} size=\"lg\" />,\n menuClick: handleToggleOption,\n menuItems: [\n {\n label: translate(isActiveLabel),\n onClick: handleToggle,\n },\n {\n label: \"Show Flyway Query\",\n onClick: showFlywayQuery,\n },\n {\n label: \"Show Query History\",\n onClick: showQueryHistory,\n },\n {\n label: \"Sync With Server\",\n onClick: syncWithServer,\n },\n ],\n dataTestId: \"MenuIcon\",\n },\n ];\n if (rightsRef.current?.[\"update.admin.query\"]) {\n actions.unshift({\n label: \"\",\n icon: <FontAwesomeIcon icon={faPen} size=\"lg\" />,\n onClick: handleEdit,\n dataTestId: \"EditIcon\",\n });\n }\n return actions;\n };\n\n useEffect(() => {\n const timer = setTimeout(async () => {\n await fetchTotalRows();\n setCurrentPage(1);\n setDebounceSearch(search);\n }, 1000);\n\n return () => clearTimeout(timer); // Cleanup previous timer\n }, [search]);\n\n const fetchTotalRows = async () => {\n try {\n const { data: countData } = await execute(\n {\n code: \"fetch_total_count_for_query_builder\",\n parameters: {\n state: null,\n searchString: search || null,\n },\n },\n { showLoader: false }\n );\n setTotalRows(countData.result[0].count);\n } catch (error) {\n console.error(error);\n }\n };\n\n /**\n * Fetches additional query data for pagination and logs the search tracking event.\n * @async\n * @function loadMoreData\n * @param {Object} pageParam - The pagination parameters for the API request.\n * @param {number} pageParam.limit - The number of items to fetch per page.\n * @param {number} pageParam.offset - The offset for pagination.\n * @returns {Promise<Array>} - A promise that resolves to an array of user data fetched from the API.\n * @throws {Error} - Displays a toast notification if an error occurs during the API call.\n *\n **/\n\n const loadMoreData = async (pageParam) => {\n try {\n if (rights?.[\"view.admin.query\"]) {\n setIsLoading((cur) => !cur);\n const { data } = await execute(\n {\n code: \"fetch_queries_for_query_builder\",\n parameters: {\n limit: pageParam.limit || 50,\n offset: pageParam.offset || 0,\n state: null,\n searchString: pageParam.searchString || \"\",\n },\n },\n { showLoader: false }\n );\n search !== \"\" &&\n trackEvent(\"search_tracking\", {\n searchTerm: search,\n results_count: data?.length,\n search_type: \"Page Search\",\n });\n setIsLoading((cur) => !cur);\n return data.result;\n }\n } catch (error) {\n showToast({ message: `error ${error}`, type: \"error\" });\n setIsLoading((cur) => !cur);\n }\n };\n\n const loadRights = async () => {\n try {\n setIsLoading(true);\n const { data: featureJson } =\n await getAssignedFeatures(\"techo.manage.query\");\n setRights(JSON.parse(featureJson));\n setIsLoading(false);\n } catch (error) {\n console.error(\"Error loading rights:\", error);\n setIsLoading(false);\n }\n };\n useEffect(() => {\n loadRights();\n }, []);\n\n const setTableData = (tableData) => {\n const allQueriesData = tableData?.flat() || [];\n\n setActualData(allQueriesData);\n const data = allQueriesData.map((item) => {\n return {\n ...item,\n query: `${item?.query.slice(0, 50)}...`,\n returnsResultSet: item?.returnsResultSet ? \"Yes\" : \"No\",\n isPublic: item?.isPublic ? \"Yes\" : \"No\",\n isClickhouseQuery: item?.isClickhouseQuery ? \"Yes\" : \"No\",\n };\n });\n setQueryTableValues(data);\n };\n\n /**\n * `useEffect` hook that loads initial data when the component mounts.\n * @function useEffect\n * @async\n * @returns {void} This function does not return a value.\n */\n useEffect(() => {\n setTableData(pageData);\n }, [pageData]);\n\n /**\n * Toggles the add/edit state of the component and resets the edit row.\n * @function handleAddEdit\n */\n\n const handleAddEdit = () => {\n trackEvent(\"button_click\", {\n button_name: \"querybuilder-add-button\",\n button_type: \"navigate\",\n button_id: \"querybuilder-add-button\",\n });\n setAddEdit((cur) => !cur);\n setIsEdit(false);\n setEditRow({});\n };\n\n const addEditLoadInitial = async () => {\n try {\n if (search !== \"\") {\n setSearch(\"\");\n } else {\n await fetchTotalRows();\n const updatedData = await loadMoreData({\n limit: pageSize,\n offset: (currentPage - 1) * pageSize,\n searchString: search || \"\",\n });\n setTableData(updatedData);\n }\n } catch (error) {\n console.error(error);\n }\n };\n\n return !isLoading && !rightsRef.current?.[\"view.admin.query\"] ? (\n <Box className=\"flex justify-center items-center w-full h-[80vh]\">\n <Card className=\"h-80 w-150 flex justify-center items-center\">\n <Typography variant=\"h5\" data-testid=\"no-permission-message\" className=\"text-customBlue\">\n You dont have permission to view Queries\n </Typography>\n </Card>\n </Box>\n ) : (\n <Grid pt={2} sx={{ height: \"calc(100vh - 84px)\" }}>\n <Suspense>\n {addEdit && (\n <AddEditQueryBuilder\n loadInitialState={addEditLoadInitial}\n isEditMode={isEdit}\n editRow={editRow}\n open={addEdit}\n close={handleAddEdit}\n data-testid=\"querybuilder-addeditquerybuilder\"\n />\n )}\n </Suspense>\n\n {featureUuid && (\n <SyncWithServerDialog\n isOpen={Boolean(setFeatureUuid)}\n handleClose={handleSyncClose}\n featureUUID={featureUuid}\n dataTestId=\"querybuilder-syncwithserverdialog\"\n />\n )}\n\n <Suspense>\n <ShowFlywayQuery\n configuredQuery={configuredQuery}\n open={openFlywayQuery}\n onClose={() => {\n setOpenFlywayQuery((cur) => !cur);\n }}\n data-testid=\"querybuilder-showflywayquery\"\n />\n </Suspense>\n\n <Suspense>\n <ShowQueryHistory\n historyList={queryHistory}\n open={openHistory}\n handleClose={() => {\n setOpenHistory((cur) => !cur);\n }}\n data-testid=\"querybuilder-showqueryhistory\"\n />\n </Suspense>\n\n <CustomConfirmationModal\n description={isActiveDescription}\n title={\"CONFIRM ACTION\"}\n handleClick={handleToggleState}\n open={toggleOpen}\n handleClose={() => setToggleOpen((cur) => !cur)}\n dataTestId=\"querybuilder-customconfirmationmodal\"\n />\n\n <Grid>\n <QueryBuilderSkeleton isLoading={isLoading}>\n <>\n <Grid\n container\n direction=\"row\"\n justifyContent=\"space-between\"\n alignItems={\"center\"}\n >\n <Grid item=\"true\" mt={1}>\n <Typography\n variant=\"body2\"\n className=\"font-bold font-sans text-lg uppercase text-customBlue\"\n >\n {translate(\"Queries\")}\n </Typography>\n </Grid>\n <Grid item=\"true\">\n <Grid container spacing={2}>\n <Grid item=\"true\">\n <TextField\n name=\"searchQuery\"\n id=\"searchQuery\"\n className=\"m-0 p-0\"\n placeholder=\"Search Code\"\n size=\"small\"\n value={search}\n onChange={(e) => setSearch(e?.target?.value)}\n slotProps={{\n input: {\n className: \"custom-input-root\",\n },\n }}\n sx={{\n \"& .MuiInputBase-root\": {\n backgroundColor: (theme) =>\n theme.palette.background.paper,\n },\n }}\n data-testid=\"querybuilder-search-textfield\"\n />\n </Grid>\n {rights?.[\"create.admin.query\"] && (\n <Grid item=\"true\" className=\"flex items-center\">\n <Button\n size=\"small\"\n variant=\"contained\"\n onClick={handleAddEdit}\n data-testid=\"querybuilder-add-button\"\n >\n {translate(\"Add\")}\n </Button>\n </Grid>\n )}\n </Grid>\n </Grid>\n </Grid>\n <Grid container className=\"mt-4\">\n <CustomizedTable\n columns={queryTableFields}\n tableData={queryTableValues}\n actions={getActions()}\n paginationConfig={{\n pagination: true,\n rowsPerPageInTable: pageSize,\n onPageChange: (newPage) => {\n setCurrentPage(newPage);\n },\n currentPage: currentPage,\n totalRows: totalRows,\n }}\n dataTestId=\"querybuilder-customizedtable\"\n styleConfig={{ tableStyle: { maxHeight: 65 } }}\n isLoading={isLoading}\n />\n </Grid>\n </>\n </QueryBuilderSkeleton>\n </Grid>\n </Grid>\n );\n};\n\nexport default QueryBuilder;\n"],"names":["toggleState","data","api","saveOrUpdate","QueryBuilderSkeleton","children","isLoading","useSelector","getUseSkeleton","jsxs","jsx","PropTypes","AddEditQueryBuilder","lazy","ShowFlywayQuery","ShowQueryHistory","QueryBuilder","trackEvent","useTrackEvent","queryTableValues","setQueryTableValues","useState","refreshData","setRefreshData","actualData","setActualData","currentPage","setCurrentPage","isActiveLabel","setIsActiveLabel","isActiveDescription","setIsActiveDescription","queryHistory","setQueryHistory","openHistory","setOpenHistory","configuredQuery","setConfiguredQuery","openFlywayQuery","setOpenFlywayQuery","featureUuid","setFeatureUuid","search","setSearch","debounceSearch","setDebounceSearch","clickedRow","setClickedRow","isEdit","setIsEdit","editRow","setEditRow","toggleOpen","setToggleOpen","addEdit","setAddEdit","totalRows","setTotalRows","translate","useTranslateProvider","rights","setRights","rightsRef","useRef","useEffect","isClickhouseEnabledEnv","implementationConfig","queryTableFields","setIsLoading","pageSize","pageData","usePagination","pageParam","loadMoreData","handleEdit","toggledData","item","cur","handleToggleOption","handleToggle","handleToggleState","fetchTotalRows","updatedData","setTableData","error","showToast","showQueryHistory","response","execute","_b","_a","_c","showFlywayQuery","syncWithServer","handleSyncClose","getActions","actions","FontAwesomeIcon","faBars","faPen","timer","countData","loadRights","featureJson","getAssignedFeatures","tableData","allQueriesData","handleAddEdit","addEditLoadInitial","Box","Card","Typography","Grid","Suspense","SyncWithServerDialog","CustomConfirmationModal","Fragment","TextField","theme","Button","CustomizedTable","newPage"],"mappings":"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"}