@argusoft/medplat-core 1.0.14 → 1.0.16

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 (119) hide show
  1. package/dist/AccessRights-Bvd5Bm5K.js +1259 -0
  2. package/dist/AccessRights-Bvd5Bm5K.js.map +1 -0
  3. package/dist/{AddEditQueryBuilder-7JRplV5J.js → AddEditQueryBuilder-Bcjl5mXE.js} +2 -2
  4. package/dist/{AddEditQueryBuilder-7JRplV5J.js.map → AddEditQueryBuilder-Bcjl5mXE.js.map} +1 -1
  5. package/dist/{AddFeatures-CkTu7sOI.js → AddFeatures-CE5rBxEG.js} +2 -2
  6. package/dist/{AddFeatures-CkTu7sOI.js.map → AddFeatures-CE5rBxEG.js.map} +1 -1
  7. package/dist/{AddLabelModal-DE3ploGD.js → AddLabelModal-CB8E8cYG.js} +2 -2
  8. package/dist/{AddLabelModal-DE3ploGD.js.map → AddLabelModal-CB8E8cYG.js.map} +1 -1
  9. package/dist/{AddRoleDrawer-ZK1eejxI.js → AddRoleDrawer-SvntLdRu.js} +44 -43
  10. package/dist/AddRoleDrawer-SvntLdRu.js.map +1 -0
  11. package/dist/{AppModal-BgZyfrd-.js → AppModal-BKgIwe1h.js} +2 -2
  12. package/dist/{AppModal-BgZyfrd-.js.map → AppModal-BKgIwe1h.js.map} +1 -1
  13. package/dist/{ChangePasswordModalCore-DIe4rzW-.js → ChangePasswordModalCore-ClND1mel.js} +67 -62
  14. package/dist/ChangePasswordModalCore-ClND1mel.js.map +1 -0
  15. package/dist/{ConditionConfig-GDCXIg3C.js → ConditionConfig-DB0FqwgG.js} +2 -2
  16. package/dist/{ConditionConfig-GDCXIg3C.js.map → ConditionConfig-DB0FqwgG.js.map} +1 -1
  17. package/dist/{EntityManagement-D-x6Qzal.js → EntityManagement-DQKXnEzz.js} +2 -2
  18. package/dist/{EntityManagement-D-x6Qzal.js.map → EntityManagement-DQKXnEzz.js.map} +1 -1
  19. package/dist/EventConfigurations-DZvSJ5EZ.js +395 -0
  20. package/dist/EventConfigurations-DZvSJ5EZ.js.map +1 -0
  21. package/dist/{EventsExceptionModal-BF6E1Np7.js → EventsExceptionModal-DsvngLi8.js} +2 -2
  22. package/dist/{EventsExceptionModal-BF6E1Np7.js.map → EventsExceptionModal-DsvngLi8.js.map} +1 -1
  23. package/dist/EventsSkeleton-DCXwwPbb.js +76 -0
  24. package/dist/EventsSkeleton-DCXwwPbb.js.map +1 -0
  25. package/dist/FeatureMenu-CLX8VNZ-.js +265 -0
  26. package/dist/FeatureMenu-CLX8VNZ-.js.map +1 -0
  27. package/dist/Features-Cpf1PDx0.js +13 -0
  28. package/dist/Features-Cpf1PDx0.js.map +1 -0
  29. package/dist/FileSaver.min-CN9EpL2h.js.map +1 -1
  30. package/dist/{ImmunizationConfigurationBase-DZ8EqXlF.js → ImmunizationConfigurationBase-VqVvVR57.js} +2095 -1872
  31. package/dist/ImmunizationConfigurationBase-VqVvVR57.js.map +1 -0
  32. package/dist/ImmunizationConfigurationsList-K2ddBpPJ.js +345 -0
  33. package/dist/ImmunizationConfigurationsList-K2ddBpPJ.js.map +1 -0
  34. package/dist/ImmunizationSkeleton-D2tdv5k-.js.map +1 -1
  35. package/dist/{LanguagesModal-rk6IGQwY.js → LanguagesModal-CX3oS8rk.js} +2 -2
  36. package/dist/{LanguagesModal-rk6IGQwY.js.map → LanguagesModal-CX3oS8rk.js.map} +1 -1
  37. package/dist/{ManageDynamicFeature-C2I7Ho7i.js → ManageDynamicFeature-CsIett5x.js} +2 -2
  38. package/dist/{ManageDynamicFeature-C2I7Ho7i.js.map → ManageDynamicFeature-CsIett5x.js.map} +1 -1
  39. package/dist/{ManageEventConfiguration-BJxS2Su0.js → ManageEventConfiguration-0YBDaxOI.js} +60 -60
  40. package/dist/ManageEventConfiguration-0YBDaxOI.js.map +1 -0
  41. package/dist/{ManageNotification-DMN2szWy.js → ManageNotification-BUAvg5Ge.js} +1797 -1705
  42. package/dist/ManageNotification-BUAvg5Ge.js.map +1 -0
  43. package/dist/{ManageRole-CuXmWQyp.js → ManageRole-Cbs9dUhc.js} +244 -191
  44. package/dist/ManageRole-Cbs9dUhc.js.map +1 -0
  45. package/dist/ManageTranslation-D9IScGhk.js +625 -0
  46. package/dist/ManageTranslation-D9IScGhk.js.map +1 -0
  47. package/dist/{ManageUser-Dr3ptCYp.js → ManageUser-eBS0yC5k.js} +754 -748
  48. package/dist/ManageUser-eBS0yC5k.js.map +1 -0
  49. package/dist/{MobileTypeEventConfigModal-ChhO_A4f.js → MobileTypeEventConfigModal-Ltm529jG.js} +2 -2
  50. package/dist/{MobileTypeEventConfigModal-ChhO_A4f.js.map → MobileTypeEventConfigModal-Ltm529jG.js.map} +1 -1
  51. package/dist/NotificationList-CUZSWp2J.js +402 -0
  52. package/dist/NotificationList-CUZSWp2J.js.map +1 -0
  53. package/dist/{OtherTypeEventConfigModal-ZnCGWm9v.js → OtherTypeEventConfigModal-dXt2qDg_.js} +2 -2
  54. package/dist/OtherTypeEventConfigModal-dXt2qDg_.js.map +1 -0
  55. package/dist/{QueryBuilder-BPfavHH9.js → QueryBuilder-DXexUIe8.js} +154 -148
  56. package/dist/QueryBuilder-DXexUIe8.js.map +1 -0
  57. package/dist/QueryManagement-B2y23kus.js +935 -0
  58. package/dist/QueryManagement-B2y23kus.js.map +1 -0
  59. package/dist/RoleManagement-BThAL5LO.js +422 -0
  60. package/dist/RoleManagement-BThAL5LO.js.map +1 -0
  61. package/dist/SubMenu-BGznOP2a.js +191 -0
  62. package/dist/SubMenu-BGznOP2a.js.map +1 -0
  63. package/dist/TableDetails-DztbjsIA.js +2069 -0
  64. package/dist/TableDetails-DztbjsIA.js.map +1 -0
  65. package/dist/TableList-DYwotUDO.js +1425 -0
  66. package/dist/TableList-DYwotUDO.js.map +1 -0
  67. package/dist/{TypeConfiguration-C-lk8Szs.js → TypeConfiguration-DYbBG_hZ.js} +2 -2
  68. package/dist/{TypeConfiguration-C-lk8Szs.js.map → TypeConfiguration-DYbBG_hZ.js.map} +1 -1
  69. package/dist/{UserList-S5Q76wO7.js → UserList-BAeAFeXZ.js} +410 -400
  70. package/dist/UserList-BAeAFeXZ.js.map +1 -0
  71. package/dist/{UserListSkeleton-cglK2SaU.js → UserListSkeleton-DhIJ5X3y.js} +10 -7
  72. package/dist/UserListSkeleton-DhIJ5X3y.js.map +1 -0
  73. package/dist/WidgetList-D-fIf3N2.js +200 -0
  74. package/dist/WidgetList-D-fIf3N2.js.map +1 -0
  75. package/dist/i18next-CTOWN_jH.js.map +1 -1
  76. package/dist/index.css +1 -1
  77. package/dist/index.js +64 -63
  78. package/dist/index.js.map +1 -1
  79. package/dist/xlsx.min-D1LFqt_b.js.map +1 -1
  80. package/package.json +1 -1
  81. package/dist/AccessRights-BMRM1u9S.js +0 -1228
  82. package/dist/AccessRights-BMRM1u9S.js.map +0 -1
  83. package/dist/AddRoleDrawer-ZK1eejxI.js.map +0 -1
  84. package/dist/ChangePasswordModalCore-DIe4rzW-.js.map +0 -1
  85. package/dist/EventConfigurations-jGCJ4LqP.js +0 -384
  86. package/dist/EventConfigurations-jGCJ4LqP.js.map +0 -1
  87. package/dist/EventsSkeleton-BN7_0IGs.js +0 -74
  88. package/dist/EventsSkeleton-BN7_0IGs.js.map +0 -1
  89. package/dist/FeatureMenu-Ds6lFg4w.js +0 -249
  90. package/dist/FeatureMenu-Ds6lFg4w.js.map +0 -1
  91. package/dist/Features-Cshdl06N.js +0 -12
  92. package/dist/Features-Cshdl06N.js.map +0 -1
  93. package/dist/ImmunizationConfigurationBase-DZ8EqXlF.js.map +0 -1
  94. package/dist/ImmunizationConfigurationsList-CQnxWa09.js +0 -335
  95. package/dist/ImmunizationConfigurationsList-CQnxWa09.js.map +0 -1
  96. package/dist/ManageEventConfiguration-BJxS2Su0.js.map +0 -1
  97. package/dist/ManageNotification-DMN2szWy.js.map +0 -1
  98. package/dist/ManageRole-CuXmWQyp.js.map +0 -1
  99. package/dist/ManageTranslation-BTxvSYKb.js +0 -616
  100. package/dist/ManageTranslation-BTxvSYKb.js.map +0 -1
  101. package/dist/ManageUser-Dr3ptCYp.js.map +0 -1
  102. package/dist/NotificationList-BqibwMaM.js +0 -400
  103. package/dist/NotificationList-BqibwMaM.js.map +0 -1
  104. package/dist/OtherTypeEventConfigModal-ZnCGWm9v.js.map +0 -1
  105. package/dist/QueryBuilder-BPfavHH9.js.map +0 -1
  106. package/dist/QueryManagement-DXA73N2j.js +0 -671
  107. package/dist/QueryManagement-DXA73N2j.js.map +0 -1
  108. package/dist/RoleManagement-C0feJCuq.js +0 -410
  109. package/dist/RoleManagement-C0feJCuq.js.map +0 -1
  110. package/dist/SubMenu-DAfZC9Xi.js +0 -188
  111. package/dist/SubMenu-DAfZC9Xi.js.map +0 -1
  112. package/dist/TableDetails-DzREeJkm.js +0 -1508
  113. package/dist/TableDetails-DzREeJkm.js.map +0 -1
  114. package/dist/TableList-B9hr05Hs.js +0 -428
  115. package/dist/TableList-B9hr05Hs.js.map +0 -1
  116. package/dist/UserList-S5Q76wO7.js.map +0 -1
  117. package/dist/UserListSkeleton-cglK2SaU.js.map +0 -1
  118. package/dist/WidgetList-BSApErov.js +0 -188
  119. package/dist/WidgetList-BSApErov.js.map +0 -1
@@ -1,24 +1,24 @@
1
- import { jsxs as d, jsx as t, Fragment as ke } from "react/jsx-runtime";
2
- import { useState as s, useEffect as Q, Suspense as x, lazy as N } from "react";
3
- import { useTranslateProvider as Ee } from "@/common/languageTranslator/TranslationContext";
4
- import { api as W } from "@/common/interceptors/AxiosInterceptor";
5
- import { execute as _ } from "@/common/services/GlobalApis";
6
- import Ae from "@/common/syncWithServer/SyncWithServerDialog";
7
- import { showToast as p } from "@/common/toaster/toaster";
8
- import De from "@/hooks/usePagination";
9
- import Pe from "@/views/custom-components/CustomConfirmationModal";
10
- import { Box as Oe, Card as Fe, Typography as U, TextField as Re, Button as Be } from "@mui/material";
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";
5
+ import { execute as N } from "@/common/services/GlobalApis";
6
+ import Oe from "@/common/syncWithServer/SyncWithServerDialog";
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";
11
11
  import u from "@mui/material/Grid2";
12
- import He from "@/hooks/useTrackEvent";
13
- import ze from "@/views/custom-components/CustomizedTable/CustomizedTableV2";
14
- import { FontAwesomeIcon as V } from "@fortawesome/react-fontawesome";
15
- import { faBars as Le, faPen as Me } from "@fortawesome/free-solid-svg-icons";
16
- import J from "prop-types";
17
- import { useSelector as je } from "react-redux";
18
- import { getUseSkeleton as Ue } from "@/store/reducers/SkeletonReducer";
19
- import { getAssignedFeatures as Ve } from "@/utils/feature";
20
- import Y from "@/common/services/util/GeneralUtil";
21
- import './QueryBuilder.css';const Je = (l) => W.put("/resource", l), gt = (l) => W.post("/resource", l), $ = ({ children: l, isLoading: g }) => !je(Ue) || !g ? l : /* @__PURE__ */ d("div", { className: "flex flex-col gap-2", children: [
12
+ import Me from "@/hooks/useTrackEvent";
13
+ import je from "@/views/custom-components/CustomizedTable/CustomizedTableV2";
14
+ import { FontAwesomeIcon as Y } from "@fortawesome/react-fontawesome";
15
+ import { faBars as Ue, faPen as Ve } from "@fortawesome/free-solid-svg-icons";
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: [
22
22
  /* @__PURE__ */ d("div", { className: "w-full justify-between flex-wrap flex flex-row pt-6", children: [
23
23
  /* @__PURE__ */ t("div", { children: /* @__PURE__ */ t("div", { className: "bg-gray-300 animate-pulse rounded-sm h-[36px] w-[64px]" }) }),
24
24
  /* @__PURE__ */ d("div", { className: "flex", children: [
@@ -28,12 +28,17 @@ import './QueryBuilder.css';const Je = (l) => W.put("/resource", l), gt = (l) =>
28
28
  ] }),
29
29
  /* @__PURE__ */ t("div", { className: "bg-gray-300 animate-pulse rounded-sm w-full h-100" })
30
30
  ] });
31
- $.propTypes = {
32
- children: J.any,
33
- isLoading: J.any
31
+ K.propTypes = {
32
+ children: W.any,
33
+ isLoading: W.any
34
34
  };
35
- const Ye = N(() => import("./AddEditQueryBuilder-7JRplV5J.js")), We = N(() => import("./ShowFlywayQuery-BkyA6QaA.js")), $e = N(() => import("./ShowQueryHistory-BDN0tzHg.js")), Ge = () => {
36
- const l = He(), [g, k] = s([]), [G, K] = s(!1), [E, X] = s([]), [m, A] = s(1), [Z, ee] = s(""), [te, re] = s(""), [se, oe] = s({}), [ae, D] = s(!1), [ne, ie] = s(""), [le, P] = s(!1), [O, b] = s(null), [c, F] = s(null), [R, ce] = s(null), [i, ue] = s({}), [de, B] = s(!1), [ye, H] = s({}), [fe, w] = s(!1), [z, L] = s(!1), [he, me] = s(0), { translate: v } = Ee(), [n, pe] = s({}), ge = Y.isEkavach || Y.isPhmp, S = [
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);
38
+ p(() => {
39
+ C.current = i;
40
+ }, [i]);
41
+ const we = $.isEkavach || $.isPhmp, T = [
37
42
  { field: "code", label: "Code", align: "left" },
38
43
  {
39
44
  field: "description",
@@ -44,107 +49,108 @@ const Ye = N(() => import("./AddEditQueryBuilder-7JRplV5J.js")), We = N(() => im
44
49
  { field: "returnsResultSet", label: "Returns Result Set" },
45
50
  { field: "isPublic", label: "Is Public" }
46
51
  ];
47
- ge && S.push({
52
+ we && T.push({
48
53
  field: "isClickhouseQuery",
49
54
  label: "Is Clickhouse Query"
50
- }), S.push({ field: "Actions", label: "Actions" });
51
- const [C, y] = s(!1), f = 50, { data: M } = De({
52
- key: ["queries", R, m, G, n],
53
- queryFn: (e) => q(e),
55
+ }), T.push({ field: "Actions", label: "Actions" });
56
+ const [q, y] = s(!1), h = 50, { data: j } = Re({
57
+ key: ["queries", B, m, X, i],
58
+ queryFn: (e) => Q(e),
54
59
  currentPage: m,
55
- limit: f,
56
- searchString: R || null,
60
+ limit: h,
61
+ searchString: B || null,
57
62
  paginationType: "traditional"
58
- }), be = (e) => {
59
- const r = E.filter((o) => o.uuid === e.uuid);
60
- H(r[0]), L((o) => !o), B(!0);
61
- }, we = (e) => {
62
- ee(
63
+ }), ve = (e) => {
64
+ const r = A.filter((o) => o.uuid === e.uuid);
65
+ z(r[0]), M((o) => !o), H(!0);
66
+ }, Se = (e) => {
67
+ re(
63
68
  (e == null ? void 0 : e.state) === "ACTIVE" ? "Mark as Inactive" : "Mark as Active"
64
- ), re(
69
+ ), oe(
65
70
  (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?"
66
71
  );
67
- const r = E.filter((o) => o.uuid === e.uuid);
68
- ue(r[0]);
69
- }, ve = async () => {
70
- w((e) => !e);
71
- }, Se = async () => {
72
+ const r = A.filter((o) => o.uuid === e.uuid);
73
+ ye(r[0]);
74
+ }, Ce = async () => {
75
+ v((e) => !e);
76
+ }, Te = async () => {
72
77
  try {
73
- let e = JSON.parse(JSON.stringify(i));
74
- e.state = (i == null ? void 0 : i.state) === "ACTIVE" ? "INACTIVE" : "ACTIVE", await Je(e), await T();
75
- const r = await q({
76
- limit: f,
77
- offset: (m - 1) * f,
78
+ let e = JSON.parse(JSON.stringify(n));
79
+ e.state = (n == null ? void 0 : n.state) === "ACTIVE" ? "INACTIVE" : "ACTIVE", await $e(e), await I();
80
+ const r = await Q({
81
+ limit: h,
82
+ offset: (m - 1) * h,
78
83
  searchString: c || ""
79
84
  });
80
- I(r), K(i), w((o) => !o);
85
+ x(r), Z(n), v((o) => !o);
81
86
  } catch (e) {
82
- console.error(e), p({ message: "Error in toggle state", type: "error" });
87
+ console.error(e), g({ message: "Error in toggle state", type: "error" });
83
88
  }
84
- }, Ce = async () => {
89
+ }, qe = async () => {
85
90
  var e, r, o;
86
91
  try {
87
92
  const a = {
88
93
  code: "retrieve_logged_actions_by_table_name_query_code",
89
94
  parameters: {
90
95
  tableName: "query_master",
91
- queryCode: i.code
96
+ queryCode: n.code
92
97
  }
93
- }, h = await _(a);
94
- ((r = (e = h == null ? void 0 : h.data) == null ? void 0 : e.result) == null ? void 0 : r.length) === 0 ? p({
98
+ }, f = await N(a);
99
+ ((r = (e = f == null ? void 0 : f.data) == null ? void 0 : e.result) == null ? void 0 : r.length) === 0 ? g({
95
100
  message: "No Query History found for Query code",
96
101
  type: "warn"
97
- }) : (oe((o = h == null ? void 0 : h.data) == null ? void 0 : o.result), D((Ne) => !Ne));
102
+ }) : (ne((o = f == null ? void 0 : f.data) == null ? void 0 : o.result), P((Ee) => !Ee));
98
103
  } catch (a) {
99
- console.error(a), p({ message: "Error in loading Query History", type: "error" });
104
+ console.error(a), g({ message: "Error in loading Query History", type: "error" });
100
105
  }
101
- }, Te = () => {
102
- ie(i), P((e) => !e);
103
- }, qe = () => {
104
- b(i == null ? void 0 : i.uuid);
105
- }, Ie = () => b(() => null), Qe = () => {
106
+ }, Ie = () => {
107
+ ce(n), O((e) => !e);
108
+ }, Qe = () => {
109
+ w(n == null ? void 0 : n.uuid);
110
+ }, xe = () => w(() => null), _e = () => {
111
+ var r;
106
112
  const e = [
107
113
  {
108
114
  label: "",
109
- icon: /* @__PURE__ */ t(V, { icon: Le, size: "lg" }),
110
- menuClick: we,
115
+ icon: /* @__PURE__ */ t(Y, { icon: Ue, size: "lg" }),
116
+ menuClick: Se,
111
117
  menuItems: [
112
118
  {
113
- label: v(Z),
114
- onClick: ve
119
+ label: S(te),
120
+ onClick: Ce
115
121
  },
116
122
  {
117
123
  label: "Show Flyway Query",
118
- onClick: Te
124
+ onClick: Ie
119
125
  },
120
126
  {
121
127
  label: "Show Query History",
122
- onClick: Ce
128
+ onClick: qe
123
129
  },
124
130
  {
125
131
  label: "Sync With Server",
126
- onClick: qe
132
+ onClick: Qe
127
133
  }
128
134
  ],
129
135
  dataTestId: "MenuIcon"
130
136
  }
131
137
  ];
132
- return n != null && n["update.admin.query"] && e.unshift({
138
+ return (r = C.current) != null && r["update.admin.query"] && e.unshift({
133
139
  label: "",
134
- icon: /* @__PURE__ */ t(V, { icon: Me, size: "lg" }),
135
- onClick: be,
140
+ icon: /* @__PURE__ */ t(Y, { icon: Ve, size: "lg" }),
141
+ onClick: ve,
136
142
  dataTestId: "EditIcon"
137
143
  }), e;
138
144
  };
139
- Q(() => {
145
+ p(() => {
140
146
  const e = setTimeout(async () => {
141
- await T(), A(1), ce(c);
147
+ await I(), D(1), de(c);
142
148
  }, 1e3);
143
149
  return () => clearTimeout(e);
144
150
  }, [c]);
145
- const T = async () => {
151
+ const I = async () => {
146
152
  try {
147
- const { data: e } = await _(
153
+ const { data: e } = await N(
148
154
  {
149
155
  code: "fetch_total_count_for_query_builder",
150
156
  parameters: {
@@ -154,15 +160,15 @@ const Ye = N(() => import("./AddEditQueryBuilder-7JRplV5J.js")), We = N(() => im
154
160
  },
155
161
  { showLoader: !1 }
156
162
  );
157
- me(e.result[0].count);
163
+ ge(e.result[0].count);
158
164
  } catch (e) {
159
165
  console.error(e);
160
166
  }
161
- }, q = async (e) => {
167
+ }, Q = async (e) => {
162
168
  try {
163
- if (n != null && n["view.admin.query"]) {
169
+ if (i != null && i["view.admin.query"]) {
164
170
  y((o) => !o);
165
- const { data: r } = await _(
171
+ const { data: r } = await N(
166
172
  {
167
173
  code: "fetch_queries_for_query_builder",
168
174
  parameters: {
@@ -181,23 +187,23 @@ const Ye = N(() => import("./AddEditQueryBuilder-7JRplV5J.js")), We = N(() => im
181
187
  }), y((o) => !o), r.result;
182
188
  }
183
189
  } catch (r) {
184
- p({ message: `error ${r}`, type: "error" }), y((o) => !o);
190
+ g({ message: `error ${r}`, type: "error" }), y((o) => !o);
185
191
  }
186
- }, xe = async () => {
192
+ }, Ne = async () => {
187
193
  try {
188
194
  y(!0);
189
- const { data: e } = await Ve("techo.manage.query");
190
- pe(JSON.parse(e)), y(!1);
195
+ const { data: e } = await We("techo.manage.query");
196
+ be(JSON.parse(e)), y(!1);
191
197
  } catch (e) {
192
198
  console.error("Error loading rights:", e), y(!1);
193
199
  }
194
200
  };
195
- Q(() => {
196
- xe();
201
+ p(() => {
202
+ Ne();
197
203
  }, []);
198
- const I = (e) => {
204
+ const x = (e) => {
199
205
  const r = (e == null ? void 0 : e.flat()) || [];
200
- X(r);
206
+ ee(r);
201
207
  const o = r.map((a) => ({
202
208
  ...a,
203
209
  query: `${a == null ? void 0 : a.query.slice(0, 50)}...`,
@@ -205,89 +211,89 @@ const Ye = N(() => import("./AddEditQueryBuilder-7JRplV5J.js")), We = N(() => im
205
211
  isPublic: a != null && a.isPublic ? "Yes" : "No",
206
212
  isClickhouseQuery: a != null && a.isClickhouseQuery ? "Yes" : "No"
207
213
  }));
208
- k(o);
214
+ E(o);
209
215
  };
210
- Q(() => {
211
- I(M);
212
- }, [M]);
213
- const j = () => {
216
+ p(() => {
217
+ x(j);
218
+ }, [j]);
219
+ const U = () => {
214
220
  l("button_click", {
215
221
  button_name: "querybuilder-add-button",
216
222
  button_type: "navigate",
217
223
  button_id: "querybuilder-add-button"
218
- }), L((e) => !e), B(!1), H({});
219
- }, _e = async () => {
224
+ }), M((e) => !e), H(!1), z({});
225
+ }, ke = async () => {
220
226
  try {
221
227
  if (c !== "")
222
228
  F("");
223
229
  else {
224
- await T();
225
- const e = await q({
226
- limit: f,
227
- offset: (m - 1) * f,
230
+ await I();
231
+ const e = await Q({
232
+ limit: h,
233
+ offset: (m - 1) * h,
228
234
  searchString: c || ""
229
235
  });
230
- I(e);
236
+ x(e);
231
237
  }
232
238
  } catch (e) {
233
239
  console.error(e);
234
240
  }
235
241
  };
236
- return !C && !(n != null && n["view.admin.query"]) ? /* @__PURE__ */ t(Oe, { className: "flex justify-center items-center w-full h-[80vh]", children: /* @__PURE__ */ t(Fe, { className: "h-80 w-150 flex justify-center items-center", children: /* @__PURE__ */ t(U, { 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: [
237
- /* @__PURE__ */ t(x, { children: z && /* @__PURE__ */ t(
238
- Ye,
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
+ /* @__PURE__ */ t(_, { children: L && /* @__PURE__ */ t(
244
+ Ge,
239
245
  {
240
- loadInitialState: _e,
241
- isEditMode: de,
242
- editRow: ye,
243
- open: z,
244
- close: j,
246
+ loadInitialState: ke,
247
+ isEditMode: he,
248
+ editRow: fe,
249
+ open: L,
250
+ close: U,
245
251
  "data-testid": "querybuilder-addeditquerybuilder"
246
252
  }
247
253
  ) }),
248
- O && /* @__PURE__ */ t(
249
- Ae,
254
+ R && /* @__PURE__ */ t(
255
+ Oe,
250
256
  {
251
- isOpen: !!b,
252
- handleClose: Ie,
253
- featureUUID: O,
257
+ isOpen: !!w,
258
+ handleClose: xe,
259
+ featureUUID: R,
254
260
  dataTestId: "querybuilder-syncwithserverdialog"
255
261
  }
256
262
  ),
257
- /* @__PURE__ */ t(x, { children: /* @__PURE__ */ t(
258
- We,
263
+ /* @__PURE__ */ t(_, { children: /* @__PURE__ */ t(
264
+ Ke,
259
265
  {
260
- configuredQuery: ne,
261
- open: le,
266
+ configuredQuery: le,
267
+ open: ue,
262
268
  onClose: () => {
263
- P((e) => !e);
269
+ O((e) => !e);
264
270
  },
265
271
  "data-testid": "querybuilder-showflywayquery"
266
272
  }
267
273
  ) }),
268
- /* @__PURE__ */ t(x, { children: /* @__PURE__ */ t(
269
- $e,
274
+ /* @__PURE__ */ t(_, { children: /* @__PURE__ */ t(
275
+ Xe,
270
276
  {
271
- historyList: se,
272
- open: ae,
277
+ historyList: ae,
278
+ open: ie,
273
279
  handleClose: () => {
274
- D((e) => !e);
280
+ P((e) => !e);
275
281
  },
276
282
  "data-testid": "querybuilder-showqueryhistory"
277
283
  }
278
284
  ) }),
279
285
  /* @__PURE__ */ t(
280
- Pe,
286
+ Fe,
281
287
  {
282
- description: te,
288
+ description: se,
283
289
  title: "CONFIRM ACTION",
284
- handleClick: Se,
285
- open: fe,
286
- handleClose: () => w((e) => !e),
290
+ handleClick: Te,
291
+ open: me,
292
+ handleClose: () => v((e) => !e),
287
293
  dataTestId: "querybuilder-customconfirmationmodal"
288
294
  }
289
295
  ),
290
- /* @__PURE__ */ t(u, { children: /* @__PURE__ */ t($, { isLoading: C, children: /* @__PURE__ */ d(ke, { children: [
296
+ /* @__PURE__ */ t(u, { children: /* @__PURE__ */ t(K, { isLoading: q, children: /* @__PURE__ */ d(Ae, { children: [
291
297
  /* @__PURE__ */ d(
292
298
  u,
293
299
  {
@@ -297,16 +303,16 @@ const Ye = N(() => import("./AddEditQueryBuilder-7JRplV5J.js")), We = N(() => im
297
303
  alignItems: "center",
298
304
  children: [
299
305
  /* @__PURE__ */ t(u, { item: "true", mt: 1, children: /* @__PURE__ */ t(
300
- U,
306
+ J,
301
307
  {
302
308
  variant: "body2",
303
309
  className: "font-bold font-sans text-lg uppercase text-customBlue",
304
- children: v("Queries")
310
+ children: S("Queries")
305
311
  }
306
312
  ) }),
307
313
  /* @__PURE__ */ t(u, { item: "true", children: /* @__PURE__ */ d(u, { container: !0, spacing: 2, children: [
308
314
  /* @__PURE__ */ t(u, { item: "true", children: /* @__PURE__ */ t(
309
- Re,
315
+ ze,
310
316
  {
311
317
  name: "searchQuery",
312
318
  id: "searchQuery",
@@ -331,14 +337,14 @@ const Ye = N(() => import("./AddEditQueryBuilder-7JRplV5J.js")), We = N(() => im
331
337
  "data-testid": "querybuilder-search-textfield"
332
338
  }
333
339
  ) }),
334
- (n == null ? void 0 : n["create.admin.query"]) && /* @__PURE__ */ t(u, { item: "true", className: "flex items-center", children: /* @__PURE__ */ t(
335
- Be,
340
+ (i == null ? void 0 : i["create.admin.query"]) && /* @__PURE__ */ t(u, { item: "true", className: "flex items-center", children: /* @__PURE__ */ t(
341
+ Le,
336
342
  {
337
343
  size: "small",
338
344
  variant: "contained",
339
- onClick: j,
345
+ onClick: U,
340
346
  "data-testid": "querybuilder-add-button",
341
- children: v("Add")
347
+ children: S("Add")
342
348
  }
343
349
  ) })
344
350
  ] }) })
@@ -346,33 +352,33 @@ const Ye = N(() => import("./AddEditQueryBuilder-7JRplV5J.js")), We = N(() => im
346
352
  }
347
353
  ),
348
354
  /* @__PURE__ */ t(u, { container: !0, className: "mt-4", children: /* @__PURE__ */ t(
349
- ze,
355
+ je,
350
356
  {
351
- columns: S,
352
- tableData: g,
353
- actions: Qe(),
357
+ columns: T,
358
+ tableData: b,
359
+ actions: _e(),
354
360
  paginationConfig: {
355
361
  pagination: !0,
356
- rowsPerPageInTable: f,
362
+ rowsPerPageInTable: h,
357
363
  onPageChange: (e) => {
358
- A(e);
364
+ D(e);
359
365
  },
360
366
  currentPage: m,
361
- totalRows: he
367
+ totalRows: pe
362
368
  },
363
369
  dataTestId: "querybuilder-customizedtable",
364
370
  styleConfig: { tableStyle: { maxHeight: 65 } },
365
- isLoading: C
371
+ isLoading: q
366
372
  }
367
373
  ) })
368
374
  ] }) }) })
369
375
  ] });
370
- }, bt = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
376
+ }, St = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
371
377
  __proto__: null,
372
- default: Ge
378
+ default: Ze
373
379
  }, Symbol.toStringTag, { value: "Module" }));
374
380
  export {
375
- bt as Q,
376
- gt as s
381
+ St as Q,
382
+ vt as s
377
383
  };
378
- //# sourceMappingURL=QueryBuilder-BPfavHH9.js.map
384
+ //# sourceMappingURL=QueryBuilder-DXexUIe8.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryBuilder-DXexUIe8.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 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 = GeneralUtil.isEkavach || GeneralUtil.isPhmp;\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","GeneralUtil","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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"}