@argusoft/medplat-core 1.0.29 → 1.0.31
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.
- package/dist/AccessRights-DUgY6ewy.js +1031 -0
- package/dist/AccessRights-DUgY6ewy.js.map +1 -0
- package/dist/AddEditQueryBuilder-D-iQiVIe.js +365 -0
- package/dist/AddEditQueryBuilder-D-iQiVIe.js.map +1 -0
- package/dist/{AddFeatures-v3TmGQee.js → AddFeatures-D1sU8RjY.js} +2 -2
- package/dist/{AddFeatures-v3TmGQee.js.map → AddFeatures-D1sU8RjY.js.map} +1 -1
- package/dist/AddLabelModal-Bq-wRqv9.js +631 -0
- package/dist/AddLabelModal-Bq-wRqv9.js.map +1 -0
- package/dist/AddMenuConfiguration-c6ZKiN0i.js +8898 -0
- package/dist/AddMenuConfiguration-c6ZKiN0i.js.map +1 -0
- package/dist/AppModal-CCtrQ5Tr.js +394 -0
- package/dist/AppModal-CCtrQ5Tr.js.map +1 -0
- package/dist/BrandsPage-DMw2vT0u-BVhvhc6J.js +387 -0
- package/dist/BrandsPage-DMw2vT0u-BVhvhc6J.js.map +1 -0
- package/dist/CategoriesPage-D3ihx9Gi-CT58g0ry.js +398 -0
- package/dist/CategoriesPage-D3ihx9Gi-CT58g0ry.js.map +1 -0
- package/dist/{ChangePasswordModalCore-DutQAZOx.js → ChangePasswordModalCore-lQ9GamH1.js} +1605 -1610
- package/dist/ChangePasswordModalCore-lQ9GamH1.js.map +1 -0
- package/dist/ConditionConfig-BQBmBHaM.js +408 -0
- package/dist/ConditionConfig-BQBmBHaM.js.map +1 -0
- package/dist/DashboardPage-asr2XDRu-uOOlX9Vq.js +435 -0
- package/dist/DashboardPage-asr2XDRu-uOOlX9Vq.js.map +1 -0
- package/dist/EventConfig-BY2cgGyx.js +27 -0
- package/dist/EventConfig-BY2cgGyx.js.map +1 -0
- package/dist/EventConfigurations-CUPEN5BV.js +544 -0
- package/dist/EventConfigurations-CUPEN5BV.js.map +1 -0
- package/dist/EventConfigurations.css +1 -1
- package/dist/EventsExceptionModal-BX-ArkBE.js +188 -0
- package/dist/EventsExceptionModal-BX-ArkBE.js.map +1 -0
- package/dist/EventsUi-D6O9S7BK.js +258 -0
- package/dist/EventsUi-D6O9S7BK.js.map +1 -0
- package/dist/FacilityPicker-DYl_PDyt-Cbwo2tAY.js +79 -0
- package/dist/FacilityPicker-DYl_PDyt-Cbwo2tAY.js.map +1 -0
- package/dist/FeatureMenu-CHsBbw3W.js +525 -0
- package/dist/FeatureMenu-CHsBbw3W.js.map +1 -0
- package/dist/{FhirServerList-Dkq7Kbes.js → FhirServerList-iXBPkRVF.js} +22 -22
- package/dist/{FhirServerList-Dkq7Kbes.js.map → FhirServerList-iXBPkRVF.js.map} +1 -1
- package/dist/{FhirServerWizard-Db6Hm4bQ.js → FhirServerWizard-DZI8Olku.js} +15 -15
- package/dist/{FhirServerWizard-Db6Hm4bQ.js.map → FhirServerWizard-DZI8Olku.js.map} +1 -1
- package/dist/FlywayQuery-CQygj51V.js +179 -0
- package/dist/FlywayQuery-CQygj51V.js.map +1 -0
- package/dist/GrantPermissionModal-D7iNZd0M.js +239 -0
- package/dist/GrantPermissionModal-D7iNZd0M.js.map +1 -0
- package/dist/ImmunizationConfigurationBase-aUtx0JEe.js +8019 -0
- package/dist/ImmunizationConfigurationBase-aUtx0JEe.js.map +1 -0
- package/dist/ImmunizationConfigurationBase.css +1 -1
- package/dist/ImmunizationConfigurationsList-TZcLDEci.js +369 -0
- package/dist/ImmunizationConfigurationsList-TZcLDEci.js.map +1 -0
- package/dist/InventoryPage-DOotGZrj-CoPjOJEI.js +665 -0
- package/dist/InventoryPage-DOotGZrj-CoPjOJEI.js.map +1 -0
- package/dist/LanguagesModal-B3NTebYT.js +352 -0
- package/dist/LanguagesModal-B3NTebYT.js.map +1 -0
- package/dist/ManageDynamicFeature-BU0I45dd.js +4475 -0
- package/dist/ManageDynamicFeature-BU0I45dd.js.map +1 -0
- package/dist/ManageEventConfiguration-DqW3krT6.js +1216 -0
- package/dist/ManageEventConfiguration-DqW3krT6.js.map +1 -0
- package/dist/ManageEventConfiguration.css +1 -1
- package/dist/{ManageNotification-CfhHlfxA.js → ManageNotification-C5MhV77Q.js} +2 -2
- package/dist/{ManageNotification-CfhHlfxA.js.map → ManageNotification-C5MhV77Q.js.map} +1 -1
- package/dist/{ManageRole-4Y2PP4dQ.js → ManageRole-CNZBRKGU.js} +2 -2
- package/dist/{ManageRole-4Y2PP4dQ.js.map → ManageRole-CNZBRKGU.js.map} +1 -1
- package/dist/ManageTranslation-vRiptUAP.js +833 -0
- package/dist/ManageTranslation-vRiptUAP.js.map +1 -0
- package/dist/ManageTranslation.css +1 -1
- package/dist/{ManageUser-DDzyd9jm.js → ManageUser-DZltBina.js} +224 -224
- package/dist/{ManageUser-DDzyd9jm.js.map → ManageUser-DZltBina.js.map} +1 -1
- package/dist/MemberProfileCard-D5CgkTdJ-D2NgDJl3.js +272 -0
- package/dist/MemberProfileCard-D5CgkTdJ-D2NgDJl3.js.map +1 -0
- package/dist/MobileAnalytics-BLOionG_.js +17301 -0
- package/dist/MobileAnalytics-BLOionG_.js.map +1 -0
- package/dist/MobileMenuManagement-68Wijb0X.js +220 -0
- package/dist/MobileMenuManagement-68Wijb0X.js.map +1 -0
- package/dist/MobileTypeEventConfigModal-CMcj7Ozp.js +752 -0
- package/dist/MobileTypeEventConfigModal-CMcj7Ozp.js.map +1 -0
- package/dist/NotificationFlywayQuery-BAHVjf6N.js +247 -0
- package/dist/NotificationFlywayQuery-BAHVjf6N.js.map +1 -0
- package/dist/{NotificationList-BMFpNUJG.js → NotificationList-DEyRZEuM.js} +2 -2
- package/dist/{NotificationList-BMFpNUJG.js.map → NotificationList-DEyRZEuM.js.map} +1 -1
- package/dist/OtherTypeEventConfigModal-stNmuSv_.js +1812 -0
- package/dist/OtherTypeEventConfigModal-stNmuSv_.js.map +1 -0
- package/dist/PaymentCreatePage-DfvSZ-kB-CckogYoe.js +482 -0
- package/dist/PaymentCreatePage-DfvSZ-kB-CckogYoe.js.map +1 -0
- package/dist/PaymentsPage-DMNjYWAJ-ChO9IXmk.js +157 -0
- package/dist/PaymentsPage-DMNjYWAJ-ChO9IXmk.js.map +1 -0
- package/dist/PermissionsModal-CCYkcKlC.js +151 -0
- package/dist/PermissionsModal-CCYkcKlC.js.map +1 -0
- package/dist/PickupBatchLinesEditor-CE2RuyJT-BPceiJr8.js +119 -0
- package/dist/PickupBatchLinesEditor-CE2RuyJT-BPceiJr8.js.map +1 -0
- package/dist/PickupCreatePage-B4O_-vE5-DoOo9nJO.js +783 -0
- package/dist/PickupCreatePage-B4O_-vE5-DoOo9nJO.js.map +1 -0
- package/dist/PickupsPage-D7zyioJB-bHKnARYw.js +818 -0
- package/dist/PickupsPage-D7zyioJB-bHKnARYw.js.map +1 -0
- package/dist/PmGuard-BZE-y4In-D_pUm5MP.js +599 -0
- package/dist/PmGuard-BZE-y4In-D_pUm5MP.js.map +1 -0
- package/dist/ProductEditPage-BVlVUCtD-BR-tJ5Wb.js +1305 -0
- package/dist/ProductEditPage-BVlVUCtD-BR-tJ5Wb.js.map +1 -0
- package/dist/ProductsPage-DvNHIeZt-BoOOJJtk.js +253 -0
- package/dist/ProductsPage-DvNHIeZt-BoOOJJtk.js.map +1 -0
- package/dist/PurchaseCreatePage-Cq_i9snz-DRtHHFWw.js +675 -0
- package/dist/PurchaseCreatePage-Cq_i9snz-DRtHHFWw.js.map +1 -0
- package/dist/PurchaseRequestDetailPage-CA9KFOfE-CtjG4Gx6.js +1577 -0
- package/dist/PurchaseRequestDetailPage-CA9KFOfE-CtjG4Gx6.js.map +1 -0
- package/dist/PurchaseRequestsPage-DS9i4o0--TpoxA5Kd.js +279 -0
- package/dist/PurchaseRequestsPage-DS9i4o0--TpoxA5Kd.js.map +1 -0
- package/dist/PurchasesPage-DgL5T6BY-DePUuE9l.js +293 -0
- package/dist/PurchasesPage-DgL5T6BY-DePUuE9l.js.map +1 -0
- package/dist/QueryBuilder-CXaBe6sr.js +478 -0
- package/dist/QueryBuilder-CXaBe6sr.js.map +1 -0
- package/dist/{RoleManagement-DEiBNfT8.js → RoleManagement-s8iNx2Mu.js} +145 -155
- package/dist/RoleManagement-s8iNx2Mu.js.map +1 -0
- package/dist/Roles-BIyiic67.js +14 -0
- package/dist/Roles-BIyiic67.js.map +1 -0
- package/dist/SaleCreatePage-CZnIOydv-DKBw-qp7.js +544 -0
- package/dist/SaleCreatePage-CZnIOydv-DKBw-qp7.js.map +1 -0
- package/dist/SalesPage-DPIRrC_O-M8rqnK7z.js +315 -0
- package/dist/SalesPage-DPIRrC_O-M8rqnK7z.js.map +1 -0
- package/dist/SettingsPage-BC_R6Z-Q-CKNt9zRu.js +676 -0
- package/dist/SettingsPage-BC_R6Z-Q-CKNt9zRu.js.map +1 -0
- package/dist/ShowFlywayQuery-D10Olk5Z.js +154 -0
- package/dist/ShowFlywayQuery-D10Olk5Z.js.map +1 -0
- package/dist/{ShowFlywayQuery-DVRCd384.js → ShowFlywayQuery-DIOUdYfG.js} +170 -123
- package/dist/ShowFlywayQuery-DIOUdYfG.js.map +1 -0
- package/dist/ShowQueryHistory-DRBKYDKk.js +313 -0
- package/dist/ShowQueryHistory-DRBKYDKk.js.map +1 -0
- package/dist/StorageUnitsPage-BDRkdCjW-UF64rf7q.js +728 -0
- package/dist/StorageUnitsPage-BDRkdCjW-UF64rf7q.js.map +1 -0
- package/dist/SubMenu-BdMTYtC1.js +319 -0
- package/dist/SubMenu-BdMTYtC1.js.map +1 -0
- package/dist/TransactionsPage-CqWTMNU8-Df6eGFDW.js +746 -0
- package/dist/TransactionsPage-CqWTMNU8-Df6eGFDW.js.map +1 -0
- package/dist/TransferCreatePage-DF7FZaTJ-CL79V3aR.js +315 -0
- package/dist/TransferCreatePage-DF7FZaTJ-CL79V3aR.js.map +1 -0
- package/dist/TransfersPage-CGrRFaBF-cTwBUv0o.js +476 -0
- package/dist/TransfersPage-CGrRFaBF-cTwBUv0o.js.map +1 -0
- package/dist/TypeConfiguration-JbRCN6GR.js +114 -0
- package/dist/TypeConfiguration-JbRCN6GR.js.map +1 -0
- package/dist/{UserList-Bc8gYxRL.js → UserList-L41Xw0Q6.js} +253 -236
- package/dist/{UserList-Bc8gYxRL.js.map → UserList-L41Xw0Q6.js.map} +1 -1
- package/dist/Users-CsJ08Kjm.js.map +1 -1
- package/dist/VialsPage-rvvXjgZG-Oqo1v6kQ.js +321 -0
- package/dist/VialsPage-rvvXjgZG-Oqo1v6kQ.js.map +1 -0
- package/dist/constants-DpXnLsAB-D6lN5cjK.js +445 -0
- package/dist/constants-DpXnLsAB-D6lN5cjK.js.map +1 -0
- package/dist/{dashboardLayoutUtils-D1xCAxp3.js → dashboardLayoutUtils-CJivzaU1.js} +95 -92
- package/dist/dashboardLayoutUtils-CJivzaU1.js.map +1 -0
- package/dist/format-UOyOu75i-D0GyylyQ.js +63 -0
- package/dist/format-UOyOu75i-D0GyylyQ.js.map +1 -0
- package/dist/index.css +1 -1
- package/dist/index.js +1 -1
- package/dist/index.lib-ETRQOzvE.js +894 -0
- package/dist/index.lib-ETRQOzvE.js.map +1 -0
- package/dist/listValueStore-BFQtDYIR-Bj0yX145.js +36 -0
- package/dist/listValueStore-BFQtDYIR-Bj0yX145.js.map +1 -0
- package/dist/useFieldErrors-hDG8ox_x-DbSAzrGo.js +28 -0
- package/dist/useFieldErrors-hDG8ox_x-DbSAzrGo.js.map +1 -0
- package/dist/validation-BzlHnL-r-CCJm2utQ.js +125 -0
- package/dist/validation-BzlHnL-r-CCJm2utQ.js.map +1 -0
- package/package.json +4 -3
- package/dist/AccessRights-Zm8Obm4N.js +0 -1284
- package/dist/AccessRights-Zm8Obm4N.js.map +0 -1
- package/dist/AddEditQueryBuilder-Brdnm6rQ.js +0 -313
- package/dist/AddEditQueryBuilder-Brdnm6rQ.js.map +0 -1
- package/dist/AddLabelModal-DFllBVcd.js +0 -734
- package/dist/AddLabelModal-DFllBVcd.js.map +0 -1
- package/dist/AddMenuConfiguration-Ce91MhnU.js +0 -8547
- package/dist/AddMenuConfiguration-Ce91MhnU.js.map +0 -1
- package/dist/AppModal-CtG2GjD_.js +0 -428
- package/dist/AppModal-CtG2GjD_.js.map +0 -1
- package/dist/ChangePasswordModalCore-DutQAZOx.js.map +0 -1
- package/dist/ConditionConfig-B4Ffpgj3.js +0 -395
- package/dist/ConditionConfig-B4Ffpgj3.js.map +0 -1
- package/dist/ConditionConfig.css +0 -1
- package/dist/EventConfigurations-BJcURufo.js +0 -449
- package/dist/EventConfigurations-BJcURufo.js.map +0 -1
- package/dist/EventsExceptionModal-BlZtBQoR.js +0 -200
- package/dist/EventsExceptionModal-BlZtBQoR.js.map +0 -1
- package/dist/EventsSkeleton-DK6JDKAK.js +0 -83
- package/dist/EventsSkeleton-DK6JDKAK.js.map +0 -1
- package/dist/FeatureMenu-C3503UIX.js +0 -265
- package/dist/FeatureMenu-C3503UIX.js.map +0 -1
- package/dist/FlywayQuery-Cx2sly6g.js +0 -169
- package/dist/FlywayQuery-Cx2sly6g.js.map +0 -1
- package/dist/ImmunizationConfigurationBase-DLQVSNnt.js +0 -5895
- package/dist/ImmunizationConfigurationBase-DLQVSNnt.js.map +0 -1
- package/dist/ImmunizationConfigurationsList-DdSZicTP.js +0 -344
- package/dist/ImmunizationConfigurationsList-DdSZicTP.js.map +0 -1
- package/dist/LanguagesModal-D6VfaGrl.js +0 -394
- package/dist/LanguagesModal-D6VfaGrl.js.map +0 -1
- package/dist/ManageDynamicFeature-dt096fyj.js +0 -4189
- package/dist/ManageDynamicFeature-dt096fyj.js.map +0 -1
- package/dist/ManageEventConfiguration-BpSJszSX.js +0 -1017
- package/dist/ManageEventConfiguration-BpSJszSX.js.map +0 -1
- package/dist/ManageTranslation-B4C9-lWD.js +0 -625
- package/dist/ManageTranslation-B4C9-lWD.js.map +0 -1
- package/dist/MobileMenuManagement-Cf8IZlla.js +0 -108
- package/dist/MobileMenuManagement-Cf8IZlla.js.map +0 -1
- package/dist/MobileTypeEventConfigModal-DUkUYACe.js +0 -783
- package/dist/MobileTypeEventConfigModal-DUkUYACe.js.map +0 -1
- package/dist/NotificationFlywayQuery-BY8Zzml_.js +0 -244
- package/dist/NotificationFlywayQuery-BY8Zzml_.js.map +0 -1
- package/dist/OtherTypeEventConfigModal-CYBfr2XE.js +0 -2046
- package/dist/OtherTypeEventConfigModal-CYBfr2XE.js.map +0 -1
- package/dist/QueryBuilder-z7eqfd7D.js +0 -383
- package/dist/QueryBuilder-z7eqfd7D.js.map +0 -1
- package/dist/RoleManagement-DEiBNfT8.js.map +0 -1
- package/dist/ShowFlywayQuery-DVRCd384.js.map +0 -1
- package/dist/ShowFlywayQuery-tj42YQAS.js +0 -130
- package/dist/ShowFlywayQuery-tj42YQAS.js.map +0 -1
- package/dist/ShowQueryHistory-BDN0tzHg.js +0 -190
- package/dist/ShowQueryHistory-BDN0tzHg.js.map +0 -1
- package/dist/SubMenu-B072oEGb.js +0 -191
- package/dist/SubMenu-B072oEGb.js.map +0 -1
- package/dist/TypeConfiguration-C3xoP2Nb.js +0 -117
- package/dist/TypeConfiguration-C3xoP2Nb.js.map +0 -1
- package/dist/dashboardLayoutUtils-D1xCAxp3.js.map +0 -1
- package/dist/index.lib-C3fwoM3y.js +0 -820
- package/dist/index.lib-C3fwoM3y.js.map +0 -1
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
import { jsxs as d, Fragment as q, jsx as a } from "react/jsx-runtime";
|
|
2
|
-
import { useTranslateProvider as R } from "@/common/languageTranslator/TranslationContext";
|
|
3
|
-
import { showToast as v } from "@/common/toaster/toaster";
|
|
4
|
-
import I from "@/hooks/useTrackEvent";
|
|
5
|
-
import O from "@/views/custom-components/CustomConfirmationModal";
|
|
6
|
-
import { Dialog as S, DialogTitle as D, DialogContent as F, TextField as A, DialogActions as B, Button as c } from "@mui/material";
|
|
7
|
-
import p from "prop-types";
|
|
8
|
-
import { useState as m, useCallback as M, useEffect as z } from "react";
|
|
9
|
-
import N from "@/common/config/implementationConfig";
|
|
10
|
-
const U = ({ configuredQuery: t, open: b, onClose: s }) => {
|
|
11
|
-
const [n, C] = m(""), [_, T] = m(!1), [E, r] = m(!1), x = I(), { translate: i } = R(), y = N.queryBuilder.showClickhouseOption, w = M(() => {
|
|
12
|
-
const o = t.query.includes("public");
|
|
13
|
-
T(o);
|
|
14
|
-
let e = `DELETE FROM QUERY_MASTER WHERE CODE='${t.code}';
|
|
15
|
-
|
|
16
|
-
`;
|
|
17
|
-
e += `INSERT INTO QUERY_MASTER (uuid, created_by, created_on, modified_by, modified_on, code, params, query, description, returns_result_set, state, is_mobile_query, is_public ${y ? ", is_clickhouse_query" : ""})
|
|
18
|
-
VALUES (
|
|
19
|
-
`, e += `'${t.uuid}', ${t.createdBy}, current_date, ${t.createdBy}, current_date, `, e += `'${t.code}',
|
|
20
|
-
`, e += t.params ? `'${t.params}',
|
|
21
|
-
` : `null,
|
|
22
|
-
`, e += `'${t.query.replace(/'/g, "''")}',
|
|
23
|
-
`, e += t.description ? `'${t.description}',
|
|
24
|
-
` : `null,
|
|
25
|
-
`, e += t.returnsResultSet !== void 0 ? `${t.returnsResultSet}, ` : "false, ", e += t.state ? `'${t.state}', ` : "'ACTIVE', ", e += ` ${t == null ? void 0 : t.isMobileQuery},`, e += `${t == null ? void 0 : t.isPublic}`, y && (e += `,${t.isClickhouseQuery || !1}`), e += ");", C(e);
|
|
26
|
-
}, [t]), $ = () => {
|
|
27
|
-
navigator.clipboard.writeText(n).then(() => {
|
|
28
|
-
v({ message: "Query Copied", type: "success" }), s();
|
|
29
|
-
});
|
|
30
|
-
}, f = () => {
|
|
31
|
-
u(), r((o) => !o);
|
|
32
|
-
}, u = () => {
|
|
33
|
-
const o = new Blob([n], { type: "text/plain" }), e = (o.size / 1024).toFixed(2), h = URL.createObjectURL(o), l = document.createElement("a");
|
|
34
|
-
l.href = h, l.download = `V${(/* @__PURE__ */ new Date()).getTime()}__CHANGE_IN_${t.code}.sql`, document.body.appendChild(l), l.click(), x("file_download", {
|
|
35
|
-
file_type: "sql",
|
|
36
|
-
file_name: l.download,
|
|
37
|
-
file_size: `${e} KB`,
|
|
38
|
-
download_status: "success"
|
|
39
|
-
}), document.body.removeChild(l), URL.revokeObjectURL(h), s();
|
|
40
|
-
}, k = () => {
|
|
41
|
-
_ ? r((o) => !o) : u();
|
|
42
|
-
};
|
|
43
|
-
return z(() => {
|
|
44
|
-
t && w();
|
|
45
|
-
}, [t, w]), /* @__PURE__ */ d(q, { children: [
|
|
46
|
-
/* @__PURE__ */ a(
|
|
47
|
-
O,
|
|
48
|
-
{
|
|
49
|
-
description: "This Flyway contains keyword 'public'. Are you sure you want to download?",
|
|
50
|
-
title: "CONFIRM ACTION",
|
|
51
|
-
handleClick: f,
|
|
52
|
-
open: E,
|
|
53
|
-
handleClose: () => r((o) => !o),
|
|
54
|
-
dataTestId: "showflywayquery-customconfirmationmodal"
|
|
55
|
-
}
|
|
56
|
-
),
|
|
57
|
-
/* @__PURE__ */ d(S, { open: b, onClose: s, fullWidth: !0, maxWidth: "md", children: [
|
|
58
|
-
/* @__PURE__ */ a(D, { className: "p-2.5 px-5 flex border-b font-medium text-lg", children: i("Flyway Query") }),
|
|
59
|
-
/* @__PURE__ */ a(F, { children: /* @__PURE__ */ a(
|
|
60
|
-
A,
|
|
61
|
-
{
|
|
62
|
-
multiline: !0,
|
|
63
|
-
rows: 10,
|
|
64
|
-
variant: "outlined",
|
|
65
|
-
fullWidth: !0,
|
|
66
|
-
value: n,
|
|
67
|
-
sx: {
|
|
68
|
-
"& .MuiInputBase-input": {
|
|
69
|
-
fontSize: "14px"
|
|
70
|
-
},
|
|
71
|
-
"& .MuiOutlinedInput-root": {
|
|
72
|
-
// fontSize: '14px'
|
|
73
|
-
borderRadius: "5px"
|
|
74
|
-
}
|
|
75
|
-
},
|
|
76
|
-
slotProps: {
|
|
77
|
-
input: {
|
|
78
|
-
readOnly: !0
|
|
79
|
-
}
|
|
80
|
-
},
|
|
81
|
-
"data-testid": "showflywayquery-textfield"
|
|
82
|
-
}
|
|
83
|
-
) }),
|
|
84
|
-
/* @__PURE__ */ d(B, { children: [
|
|
85
|
-
/* @__PURE__ */ a(
|
|
86
|
-
c,
|
|
87
|
-
{
|
|
88
|
-
onClick: k,
|
|
89
|
-
variant: "contained",
|
|
90
|
-
size: "small",
|
|
91
|
-
color: "primary",
|
|
92
|
-
"data-testid": "showflywayquery-button-download",
|
|
93
|
-
children: i("Download")
|
|
94
|
-
}
|
|
95
|
-
),
|
|
96
|
-
/* @__PURE__ */ a(
|
|
97
|
-
c,
|
|
98
|
-
{
|
|
99
|
-
onClick: $,
|
|
100
|
-
variant: "contained",
|
|
101
|
-
size: "small",
|
|
102
|
-
color: "primary",
|
|
103
|
-
"data-testid": "showflywayquery-button-copyquery",
|
|
104
|
-
children: i("Copy Query")
|
|
105
|
-
}
|
|
106
|
-
),
|
|
107
|
-
/* @__PURE__ */ a(
|
|
108
|
-
c,
|
|
109
|
-
{
|
|
110
|
-
onClick: s,
|
|
111
|
-
variant: "contained",
|
|
112
|
-
color: "secondary",
|
|
113
|
-
size: "small",
|
|
114
|
-
"data-testid": "showflywayquery-button-cancel",
|
|
115
|
-
children: i("Cancel")
|
|
116
|
-
}
|
|
117
|
-
)
|
|
118
|
-
] })
|
|
119
|
-
] })
|
|
120
|
-
] });
|
|
121
|
-
};
|
|
122
|
-
U.propTypes = {
|
|
123
|
-
configuredQuery: p.any,
|
|
124
|
-
open: p.any,
|
|
125
|
-
onClose: p.any
|
|
126
|
-
};
|
|
127
|
-
export {
|
|
128
|
-
U as default
|
|
129
|
-
};
|
|
130
|
-
//# sourceMappingURL=ShowFlywayQuery-tj42YQAS.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ShowFlywayQuery-tj42YQAS.js","sources":["../src/views/QueryBuilder/ShowFlywayQuery.jsx"],"sourcesContent":["import { useTranslateProvider } from '@/common/languageTranslator/TranslationContext';\nimport { showToast } from '@/common/toaster/toaster';\nimport useTrackEvent from '@/hooks/useTrackEvent';\nimport CustomConfirmationModal from '@/views/custom-components/CustomConfirmationModal';\nimport { Button, Dialog, DialogActions, DialogContent, DialogTitle, TextField } from '@mui/material';\nimport PropTypes from 'prop-types';\nimport React, { useCallback, useEffect, useState } from 'react';\nimport implementationConfig from \"@/common/config/implementationConfig\";\n\n/**\n * A React functional component that displays a configured Flyway query.\n * @mdoule ShowFlywayQuery\n * @param {Object} props - Component properties.\n * @param {Object} props.configuredQuery - The query configuration object to display.\n * @param {boolean} props.open - Boolean flag indicating if the component should be visible.\n * @param {function} props.onClose - Callback function to close the component.\n */\n\nconst ShowFlywayQuery = ({ configuredQuery, open, onClose }) => {\n const [text, setText] = useState('');\n const [isPublicKeyword, setIsPublicKeyword] = useState(false);\n const [openConfirm, setOpenConfirm] = useState(false);\n const trackEvent = useTrackEvent();\n const { translate } = useTranslateProvider();\n const isClickhouseEnabledEnv = implementationConfig.queryBuilder.showClickhouseOption;\n\n /**\n *\n * Generates a SQL query string based on the `configuredQuery` object.\n * @function generateQueryText\n * @param {Object} configuredQuery - The query configuration object used to generate the SQL query.\n * @param {string} configuredQuery.code - The unique code for the query.\n * @param {string} configuredQuery.uuid - The unique identifier for the query.\n * @param {number} configuredQuery.createdBy - The ID of the user who created the query.\n * @param {string} [configuredQuery.params] - The parameters for the query.\n * @param {string} configuredQuery.query - The actual SQL query text.\n * @param {string} [configuredQuery.description] - A description of the query.\n * @param {boolean} [configuredQuery.returnsResultSet] - Flag indicating if the query returns a result set.\n * @param {string} [configuredQuery.state] - The state of the query (e.g., 'ACTIVE').\n * @returns {void}\n */\n\n const generateQueryText = useCallback(() => {\n const publicKeyword = configuredQuery.query.includes('public');\n setIsPublicKeyword(publicKeyword);\n\n let queryText = `DELETE FROM QUERY_MASTER WHERE CODE='${configuredQuery.code}';\\n\\n`;\n queryText += `INSERT INTO QUERY_MASTER (uuid, created_by, created_on, modified_by, modified_on, code, params, query, description, returns_result_set, state, is_mobile_query, is_public ${isClickhouseEnabledEnv ? ', is_clickhouse_query' : ''}) \\nVALUES ( \\n`;\n queryText += `'${configuredQuery.uuid}', ${configuredQuery.createdBy}, current_date, ${configuredQuery.createdBy}, current_date, `;\n queryText += `'${configuredQuery.code}', \\n`;\n\n queryText += configuredQuery.params ? `'${configuredQuery.params}', \\n` : 'null, \\n';\n queryText += `'${configuredQuery.query.replace(/'/g, \"''\")}', \\n`;\n queryText += configuredQuery.description ? `'${configuredQuery.description}', \\n` : 'null, \\n';\n queryText += configuredQuery.returnsResultSet !== undefined ? `${configuredQuery.returnsResultSet}, ` : 'false, ';\n queryText += configuredQuery.state ? `'${configuredQuery.state}', ` : `'ACTIVE', `;\n queryText += ` ${configuredQuery?.isMobileQuery},`;\n queryText += `${configuredQuery?.isPublic}`;\n if (isClickhouseEnabledEnv) queryText += `,${configuredQuery.isClickhouseQuery || false}`;\n queryText += ');';\n\n setText(queryText);\n }, [configuredQuery]);\n\n /**\n *\n * Copies the generated query text to the clipboard and displays a success message.\n * @function copyQuery\n * @returns {void}\n */\n\n const copyQuery = () => {\n navigator.clipboard.writeText(text).then(() => {\n showToast({ message: 'Query Copied', type: 'success' });\n onClose();\n });\n };\n\n /**\n * Triggers a download operation and toggles the confirmation dialog visibility.\n * The function assumes that `download` and `setOpenConfirm` are available in the current scope.\n * @function askForConfirmation\n * @returns {void}\n */\n\n const askForConfirmation = () => {\n download();\n setOpenConfirm((cur) => !cur);\n };\n\n /**\n * Creates and triggers a download of a text file containing the query text.\n *\n * @function download\n * @returns {void}\n */\n\n const download = () => {\n const blob = new Blob([text], { type: 'text/plain' });\n const blobSizeInKB = (blob.size / 1024).toFixed(2);\n const url = URL.createObjectURL(blob);\n const a = document.createElement('a');\n a.href = url;\n a.download = `V${new Date().getTime()}__CHANGE_IN_${configuredQuery.code}.sql`;\n document.body.appendChild(a);\n\n a.click();\n trackEvent('file_download', {\n file_type: 'sql',\n file_name: a.download,\n file_size: `${blobSizeInKB} KB`,\n download_status: 'success',\n });\n document.body.removeChild(a);\n URL.revokeObjectURL(url);\n onClose();\n };\n\n /**\n *\n * Handles the download process based on the presence of a public keyword in the query text.\n * @function handleDownload\n * @returns {void}\n */\n\n const handleDownload = () => {\n if (isPublicKeyword) {\n setOpenConfirm((cur) => !cur);\n } else {\n download();\n }\n };\n\n /**\n * `useEffect` Hook to Generate Query Text\n *\n * This effect hook is used to generate the SQL query text whenever the `configuredQuery` dependency changes.\n *\n * @function useEffect\n * @param {Object} configuredQuery - The query configuration object used to generate the SQL query text.\n * @param {function} generateQueryText - A function that generates the query text based on `configuredQuery`.\n */\n\n useEffect(() => {\n if (configuredQuery) {\n generateQueryText();\n }\n }, [configuredQuery, generateQueryText]);\n return (\n <>\n <CustomConfirmationModal\n description={\"This Flyway contains keyword 'public'. Are you sure you want to download?\"}\n title={'CONFIRM ACTION'}\n handleClick={askForConfirmation}\n open={openConfirm}\n handleClose={() => setOpenConfirm((cur) => !cur)}\n dataTestId=\"showflywayquery-customconfirmationmodal\"\n />\n <Dialog open={open} onClose={onClose} fullWidth maxWidth=\"md\">\n <DialogTitle className=\"p-2.5 px-5 flex border-b font-medium text-lg\">{translate('Flyway Query')}</DialogTitle>\n <DialogContent>\n <TextField\n multiline\n rows={10}\n variant=\"outlined\"\n fullWidth\n value={text}\n sx={{\n '& .MuiInputBase-input': {\n fontSize: '14px',\n },\n '& .MuiOutlinedInput-root': {\n // fontSize: '14px'\n borderRadius: '5px',\n },\n }}\n slotProps={{\n input: {\n readOnly: true,\n },\n }}\n data-testid=\"showflywayquery-textfield\"\n />\n </DialogContent>\n <DialogActions>\n <Button\n onClick={handleDownload}\n variant=\"contained\"\n size=\"small\"\n color=\"primary\"\n data-testid=\"showflywayquery-button-download\"\n >\n {translate('Download')}\n </Button>\n <Button\n onClick={copyQuery}\n variant=\"contained\"\n size=\"small\"\n color=\"primary\"\n data-testid=\"showflywayquery-button-copyquery\"\n >\n {translate('Copy Query')}\n </Button>\n <Button\n onClick={onClose}\n variant=\"contained\"\n color=\"secondary\"\n size=\"small\"\n data-testid=\"showflywayquery-button-cancel\"\n >\n {translate('Cancel')}\n </Button>\n </DialogActions>\n </Dialog>\n </>\n );\n};\n\nShowFlywayQuery.propTypes = {\n configuredQuery: PropTypes.any,\n open: PropTypes.any,\n onClose: PropTypes.any,\n};\n\nexport default ShowFlywayQuery;\n"],"names":["ShowFlywayQuery","configuredQuery","open","onClose","text","setText","useState","isPublicKeyword","setIsPublicKeyword","openConfirm","setOpenConfirm","trackEvent","useTrackEvent","translate","useTranslateProvider","isClickhouseEnabledEnv","implementationConfig","generateQueryText","useCallback","publicKeyword","queryText","copyQuery","showToast","askForConfirmation","download","cur","blob","blobSizeInKB","url","a","handleDownload","useEffect","jsxs","Fragment","jsx","CustomConfirmationModal","Dialog","DialogTitle","DialogContent","TextField","DialogActions","Button","PropTypes"],"mappings":"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"}
|
|
@@ -1,190 +0,0 @@
|
|
|
1
|
-
import { jsx as r, jsxs as e } from "react/jsx-runtime";
|
|
2
|
-
import "react";
|
|
3
|
-
import c from "prop-types";
|
|
4
|
-
import { Modal as w, Box as s, TableContainer as f, Paper as N, Table as v, TableHead as q, TableRow as d, TableCell as l, TableBody as T, Typography as n, Button as y, Stack as C } from "@mui/material";
|
|
5
|
-
import { showToast as u } from "@/common/toaster/toaster";
|
|
6
|
-
import { useTranslateProvider as x } from "@/common/languageTranslator/TranslationContext";
|
|
7
|
-
const D = ({ historyList: i, open: m, handleClose: h }) => {
|
|
8
|
-
const p = (t) => t ? "Yes" : "No", g = (t) => {
|
|
9
|
-
try {
|
|
10
|
-
navigator.clipboard.writeText(t), u({
|
|
11
|
-
message: "Query Copied",
|
|
12
|
-
type: "success"
|
|
13
|
-
});
|
|
14
|
-
} catch (o) {
|
|
15
|
-
console.error(o), u({
|
|
16
|
-
message: "Error in copying query",
|
|
17
|
-
type: "error"
|
|
18
|
-
});
|
|
19
|
-
}
|
|
20
|
-
}, b = (t) => {
|
|
21
|
-
const o = {
|
|
22
|
-
year: "numeric",
|
|
23
|
-
month: "2-digit",
|
|
24
|
-
day: "2-digit",
|
|
25
|
-
hour: "2-digit",
|
|
26
|
-
minute: "2-digit",
|
|
27
|
-
second: "2-digit",
|
|
28
|
-
hour12: !0
|
|
29
|
-
};
|
|
30
|
-
return new Date(t).toLocaleDateString("en-GB", o);
|
|
31
|
-
}, { translate: a } = x();
|
|
32
|
-
return /* @__PURE__ */ r(w, { open: m, onClose: h, "data-testid": "showqueryhistory-modal", className: "z-[1301]", children: /* @__PURE__ */ e(s, { className: "absolute top-[10%] left-1/2 transform -translate-x-1/2 w-3/5 bg-white container-fluid", children: [
|
|
33
|
-
/* @__PURE__ */ e(s, { className: "max-h-[360px] w-full overflow-y-auto overflow-x-hidden row", children: [
|
|
34
|
-
/* @__PURE__ */ r(s, { className: "col-12 padding-left-right-0", children: /* @__PURE__ */ r(f, { component: N, children: /* @__PURE__ */ e(v, { "aria-label": "query history table", children: [
|
|
35
|
-
/* @__PURE__ */ r(q, { children: /* @__PURE__ */ e(d, { children: [
|
|
36
|
-
/* @__PURE__ */ r(l, { className: "w-[5%] text-left align-top", children: a("Version") }),
|
|
37
|
-
/* @__PURE__ */ r(l, { className: "w-[30%] text-left align-top", children: a("Description") }),
|
|
38
|
-
/* @__PURE__ */ r(l, { className: "w-[65%] text-left align-top", children: a("Query") })
|
|
39
|
-
] }) }),
|
|
40
|
-
/* @__PURE__ */ r(T, { children: i && i.length > 0 ? i.map((t, o) => /* @__PURE__ */ e(d, { "data-testid": `showqueryhistory-tablerow-${o}`, children: [
|
|
41
|
-
/* @__PURE__ */ r(
|
|
42
|
-
l,
|
|
43
|
-
{
|
|
44
|
-
className: " text-left align-top",
|
|
45
|
-
"data-testid": `showqueryhistory-tablecell-version-${o}`,
|
|
46
|
-
children: i.length - o
|
|
47
|
-
}
|
|
48
|
-
),
|
|
49
|
-
/* @__PURE__ */ e(
|
|
50
|
-
l,
|
|
51
|
-
{
|
|
52
|
-
className: " text-left align-top",
|
|
53
|
-
"data-testid": `showqueryhistory-tablecell-description-${o}`,
|
|
54
|
-
children: [
|
|
55
|
-
/* @__PURE__ */ e(n, { variant: "body2", children: [
|
|
56
|
-
/* @__PURE__ */ e("strong", { children: [
|
|
57
|
-
a("Code"),
|
|
58
|
-
":"
|
|
59
|
-
] }),
|
|
60
|
-
" ",
|
|
61
|
-
t.oldCode || "N/A"
|
|
62
|
-
] }),
|
|
63
|
-
/* @__PURE__ */ e(n, { variant: "body2", children: [
|
|
64
|
-
/* @__PURE__ */ e("strong", { children: [
|
|
65
|
-
a("Date Time"),
|
|
66
|
-
":"
|
|
67
|
-
] }),
|
|
68
|
-
" ",
|
|
69
|
-
b(t.action_tstamp_tx)
|
|
70
|
-
] }),
|
|
71
|
-
/* @__PURE__ */ e(n, { variant: "body2", children: [
|
|
72
|
-
/* @__PURE__ */ e("strong", { children: [
|
|
73
|
-
a("description"),
|
|
74
|
-
":"
|
|
75
|
-
] }),
|
|
76
|
-
" ",
|
|
77
|
-
t.oldDescription || "N/A"
|
|
78
|
-
] }),
|
|
79
|
-
/* @__PURE__ */ e(n, { variant: "body2", children: [
|
|
80
|
-
/* @__PURE__ */ e("strong", { children: [
|
|
81
|
-
a("Status"),
|
|
82
|
-
":"
|
|
83
|
-
] }),
|
|
84
|
-
" ",
|
|
85
|
-
t.oldState || "N/A"
|
|
86
|
-
] }),
|
|
87
|
-
/* @__PURE__ */ e(n, { variant: "body2", children: [
|
|
88
|
-
/* @__PURE__ */ e("strong", { children: [
|
|
89
|
-
a("Parameters"),
|
|
90
|
-
":"
|
|
91
|
-
] }),
|
|
92
|
-
" ",
|
|
93
|
-
t.oldParams || "N/A"
|
|
94
|
-
] }),
|
|
95
|
-
/* @__PURE__ */ e(n, { variant: "body2", children: [
|
|
96
|
-
/* @__PURE__ */ e("strong", { children: [
|
|
97
|
-
a("Returns Result Set"),
|
|
98
|
-
":"
|
|
99
|
-
] }),
|
|
100
|
-
" ",
|
|
101
|
-
p(t.oldReturnsResultSet)
|
|
102
|
-
] }),
|
|
103
|
-
/* @__PURE__ */ e(n, { variant: "body2", children: [
|
|
104
|
-
/* @__PURE__ */ e("strong", { children: [
|
|
105
|
-
a("Is Public"),
|
|
106
|
-
":"
|
|
107
|
-
] }),
|
|
108
|
-
" ",
|
|
109
|
-
p(t.oldIsPublic)
|
|
110
|
-
] }),
|
|
111
|
-
/* @__PURE__ */ e(n, { variant: "body2", children: [
|
|
112
|
-
/* @__PURE__ */ e("strong", { children: [
|
|
113
|
-
a("CRUD Op"),
|
|
114
|
-
":"
|
|
115
|
-
] }),
|
|
116
|
-
t.action === "I" && "Insert",
|
|
117
|
-
t.action === "U" && "Update",
|
|
118
|
-
t.action === "D" && "Delete",
|
|
119
|
-
t.action === "T" && "Truncate",
|
|
120
|
-
!t.action && "N/A"
|
|
121
|
-
] })
|
|
122
|
-
]
|
|
123
|
-
}
|
|
124
|
-
),
|
|
125
|
-
/* @__PURE__ */ e(
|
|
126
|
-
l,
|
|
127
|
-
{
|
|
128
|
-
className: " text-left align-top",
|
|
129
|
-
"data-testid": `showqueryhistory-tablecell-query-${o}`,
|
|
130
|
-
children: [
|
|
131
|
-
/* @__PURE__ */ r(
|
|
132
|
-
y,
|
|
133
|
-
{
|
|
134
|
-
variant: "contained",
|
|
135
|
-
color: "primary",
|
|
136
|
-
size: "small",
|
|
137
|
-
onClick: () => g(t.oldQuery),
|
|
138
|
-
"data-testid": `showqueryhistory-button-copyquery-${o}`,
|
|
139
|
-
children: a("Copy Query")
|
|
140
|
-
}
|
|
141
|
-
),
|
|
142
|
-
/* @__PURE__ */ r(
|
|
143
|
-
n,
|
|
144
|
-
{
|
|
145
|
-
variant: "body2",
|
|
146
|
-
className: "whitespace-pre-wrap",
|
|
147
|
-
"data-testid": `showqueryhistory-typography-query-${o}`,
|
|
148
|
-
children: t.oldQuery
|
|
149
|
-
}
|
|
150
|
-
)
|
|
151
|
-
]
|
|
152
|
-
}
|
|
153
|
-
)
|
|
154
|
-
] }, o + 1)) : /* @__PURE__ */ r(d, { children: /* @__PURE__ */ r(l, { colSpan: 3, align: "center", children: a("No queries History") }) }) })
|
|
155
|
-
] }) }) }),
|
|
156
|
-
/* @__PURE__ */ r(s, { className: "col-12 padding-left-right-0 flex justify-end p-2" })
|
|
157
|
-
] }),
|
|
158
|
-
/* @__PURE__ */ r(
|
|
159
|
-
C,
|
|
160
|
-
{
|
|
161
|
-
direction: "row",
|
|
162
|
-
spacing: 2,
|
|
163
|
-
justifyContent: "flex-end",
|
|
164
|
-
mt: 1,
|
|
165
|
-
mr: 2,
|
|
166
|
-
mb: 1,
|
|
167
|
-
"data-testid": "showqueryhistory-stack",
|
|
168
|
-
children: /* @__PURE__ */ r(
|
|
169
|
-
y,
|
|
170
|
-
{
|
|
171
|
-
variant: "contained",
|
|
172
|
-
color: "secondary",
|
|
173
|
-
onClick: h,
|
|
174
|
-
"data-testid": "showqueryhistory-button-close",
|
|
175
|
-
children: /* @__PURE__ */ r(n, { variant: "body2", children: a("Close") })
|
|
176
|
-
}
|
|
177
|
-
)
|
|
178
|
-
}
|
|
179
|
-
)
|
|
180
|
-
] }) });
|
|
181
|
-
};
|
|
182
|
-
D.propTypes = {
|
|
183
|
-
historyList: c.any,
|
|
184
|
-
open: c.any,
|
|
185
|
-
handleClose: c.any
|
|
186
|
-
};
|
|
187
|
-
export {
|
|
188
|
-
D as default
|
|
189
|
-
};
|
|
190
|
-
//# sourceMappingURL=ShowQueryHistory-BDN0tzHg.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ShowQueryHistory-BDN0tzHg.js","sources":["../src/views/QueryBuilder/ShowQueryHistory.jsx"],"sourcesContent":["import React from 'react';\n\nimport PropTypes from 'prop-types';\nimport {\n Table,\n TableBody,\n TableCell,\n TableContainer,\n TableHead,\n TableRow,\n Paper,\n Button,\n Typography,\n Box,\n Stack,\n Modal,\n} from '@mui/material';\nimport { showToast } from '@/common/toaster/toaster';\nimport { useTranslateProvider } from '@/common/languageTranslator/TranslationContext';\n\n/**\n * This component displays the query history in a modal or dialog format. It is designed to show a list of historical queries\n * that have been executed, providing users with the ability to view past queries.\n * @module ShowQueryHistory\n * @param {Object[]} historyList - An array of objects representing the history of queries. Each object should include details\n * about individual queries, such as query text, execution time, or any other relevant metadata.\n * @param {boolean} open - A boolean that determines whether the component/modal is currently open or closed.\n * @param {function} handleClose - A callback function to close the modal or dialog. It is triggered when the user performs\n * an action that requires closing the component.\n * @returns {JSX.Element}\n *\n */\n\nconst ShowQueryHistory = ({ historyList, open, handleClose }) => {\n /**\n * Converts a boolean value to a 'Yes' or 'No' string.\n *@function yesOrNo\n * @param {boolean} value - The boolean value to be converted.\n * @returns {string} Returns 'Yes' if the input value is true, and 'No' if the\n */\n\n const yesOrNo = (value) => (value ? 'Yes' : 'No');\n\n /**\n * Copies a given text value to the clipboard and shows a toast notification.\n * @function onCopyQuery\n * @param {string} value - The text value to be copied to the clipboard.\n * It should be a valid string that you want to copy.\n * @returns {void} This function does not return any value.\n */\n\n const onCopyQuery = (value) => {\n try {\n navigator.clipboard.writeText(value);\n showToast({\n message: 'Query Copied',\n type: 'success',\n });\n } catch (error) {\n console.error(error);\n showToast({\n message: 'Error in copying query',\n type: 'error',\n });\n }\n };\n\n /**\n * Formats a date string into a human-readable format.\n * @function formatDate\n * @param {string | Date} dateString - The date string or Date object to format.\n * It should be a valid date string or a Date object that can be parsed by JavaScript's Date constructor.\n * @returns {string} The formatted date string in the format \"dd/mm/yyyy, hh:mm:ss AM/PM\".\n */\n\n const formatDate = (dateString) => {\n const options = {\n year: 'numeric',\n month: '2-digit',\n day: '2-digit',\n hour: '2-digit',\n minute: '2-digit',\n second: '2-digit',\n hour12: true,\n };\n return new Date(dateString).toLocaleDateString('en-GB', options);\n };\n const { translate } = useTranslateProvider();\n\n return (\n <Modal open={open} onClose={handleClose} data-testid=\"showqueryhistory-modal\" className=\"z-[1301]\">\n <Box className=\"absolute top-[10%] left-1/2 transform -translate-x-1/2 w-3/5 bg-white container-fluid\">\n <Box className=\"max-h-[360px] w-full overflow-y-auto overflow-x-hidden row\">\n <Box className=\"col-12 padding-left-right-0\">\n <TableContainer component={Paper}>\n <Table aria-label=\"query history table\">\n <TableHead>\n <TableRow>\n <TableCell className=\"w-[5%] text-left align-top\">{translate('Version')}</TableCell>\n <TableCell className=\"w-[30%] text-left align-top\">{translate('Description')}</TableCell>\n <TableCell className=\"w-[65%] text-left align-top\">{translate('Query')}</TableCell>\n </TableRow>\n </TableHead>\n <TableBody>\n {historyList && historyList.length > 0 ? (\n historyList.map((history, index) => (\n <TableRow key={index + 1} data-testid={`showqueryhistory-tablerow-${index}`}>\n <TableCell\n className=\" text-left align-top\"\n data-testid={`showqueryhistory-tablecell-version-${index}`}\n >\n {historyList.length - index}\n </TableCell>\n <TableCell\n className=\" text-left align-top\"\n data-testid={`showqueryhistory-tablecell-description-${index}`}\n >\n <Typography variant=\"body2\">\n <strong>{translate('Code')}:</strong> {history.oldCode || 'N/A'}\n </Typography>\n <Typography variant=\"body2\">\n <strong>{translate('Date Time')}:</strong> {formatDate(history.action_tstamp_tx)}\n </Typography>\n <Typography variant=\"body2\">\n <strong>{translate('description')}:</strong> {history.oldDescription || 'N/A'}\n </Typography>\n <Typography variant=\"body2\">\n <strong>{translate('Status')}:</strong> {history.oldState || 'N/A'}\n </Typography>\n <Typography variant=\"body2\">\n <strong>{translate('Parameters')}:</strong> {history.oldParams || 'N/A'}\n </Typography>\n <Typography variant=\"body2\">\n <strong>{translate('Returns Result Set')}:</strong> {yesOrNo(history.oldReturnsResultSet)}\n </Typography>\n <Typography variant=\"body2\">\n <strong>{translate('Is Public')}:</strong> {yesOrNo(history.oldIsPublic)}\n </Typography>\n <Typography variant=\"body2\">\n <strong>{translate('CRUD Op')}:</strong>\n {history.action === 'I' && 'Insert'}\n {history.action === 'U' && 'Update'}\n {history.action === 'D' && 'Delete'}\n {history.action === 'T' && 'Truncate'}\n {!history.action && 'N/A'}\n </Typography>\n </TableCell>\n <TableCell\n className=\" text-left align-top\"\n data-testid={`showqueryhistory-tablecell-query-${index}`}\n >\n <Button\n variant=\"contained\"\n color=\"primary\"\n size=\"small\"\n onClick={() => onCopyQuery(history.oldQuery)}\n data-testid={`showqueryhistory-button-copyquery-${index}`}\n >\n {translate('Copy Query')}\n </Button>\n <Typography\n variant=\"body2\"\n className=\"whitespace-pre-wrap\"\n data-testid={`showqueryhistory-typography-query-${index}`}\n >\n {history.oldQuery}\n </Typography>\n </TableCell>\n </TableRow>\n ))\n ) : (\n <TableRow>\n <TableCell colSpan={3} align=\"center\">\n {translate('No queries History')}\n </TableCell>\n </TableRow>\n )}\n </TableBody>\n </Table>\n </TableContainer>\n </Box>\n <Box className=\"col-12 padding-left-right-0 flex justify-end p-2\"></Box>\n </Box>\n <Stack\n direction=\"row\"\n spacing={2}\n justifyContent=\"flex-end\"\n mt={1}\n mr={2}\n mb={1}\n data-testid=\"showqueryhistory-stack\"\n >\n <Button\n variant=\"contained\"\n color=\"secondary\"\n onClick={handleClose}\n data-testid=\"showqueryhistory-button-close\"\n >\n <Typography variant=\"body2\">{translate('Close')}</Typography>\n </Button>\n </Stack>\n </Box>\n </Modal>\n );\n};\n\nShowQueryHistory.propTypes = {\n historyList: PropTypes.any,\n open: PropTypes.any,\n handleClose: PropTypes.any,\n};\nexport default ShowQueryHistory;\n"],"names":["ShowQueryHistory","historyList","open","handleClose","yesOrNo","value","onCopyQuery","showToast","error","formatDate","dateString","options","translate","useTranslateProvider","jsx","Modal","jsxs","Box","TableContainer","Paper","Table","TableHead","TableRow","TableCell","TableBody","history","index","Typography","Button","Stack","PropTypes"],"mappings":"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"}
|
package/dist/SubMenu-B072oEGb.js
DELETED
|
@@ -1,191 +0,0 @@
|
|
|
1
|
-
import { jsxs as u, Fragment as X, jsx as a } from "react/jsx-runtime";
|
|
2
|
-
import { useState as n, Suspense as I, lazy as L } from "react";
|
|
3
|
-
import { useSelector as Z } from "react-redux";
|
|
4
|
-
import "@/assets/scss/scrollBar.scss";
|
|
5
|
-
import { useTranslateProvider as _ } from "@/common/languageTranslator/TranslationContext";
|
|
6
|
-
import { useTheme as ee, Typography as y, TextField as ae, TableContainer as te, Table as oe, TableBody as re, TableRow as ne, TableCell as le, List as M, ListItem as $, darken as se } from "@mui/material";
|
|
7
|
-
import s from "@mui/material/Grid2";
|
|
8
|
-
import t from "prop-types";
|
|
9
|
-
import { useNavigate as ce } from "react-router-dom";
|
|
10
|
-
import { FontAwesomeIcon as f } from "@fortawesome/react-fontawesome";
|
|
11
|
-
import { faArrowsRotate as de, faPen as ie, faFloppyDisk as ue } from "@fortawesome/free-solid-svg-icons";
|
|
12
|
-
import { S as me } from "./FeatureMenu-C3503UIX.js";
|
|
13
|
-
import h from "@/common/services/util/GeneralUtil";
|
|
14
|
-
const pe = L(() => import("./FlywayQuery-Cx2sly6g.js")), ye = L(() => import("./ServerSyncModal-92U3xtqI.js"));
|
|
15
|
-
function fe({
|
|
16
|
-
data: b,
|
|
17
|
-
subMenuId: d,
|
|
18
|
-
setSubMenuId: A,
|
|
19
|
-
setSubMenuGroupName: D,
|
|
20
|
-
setSubMenuFeatureVal: P,
|
|
21
|
-
type: S,
|
|
22
|
-
isLoading: R,
|
|
23
|
-
isNewAPI: z,
|
|
24
|
-
subMenuGroupName: q,
|
|
25
|
-
rights: o
|
|
26
|
-
}) {
|
|
27
|
-
const [x, B] = n(""), [N, v] = n(!1), [C, g] = n(null), [w, G] = n(""), [k, F] = n(!1), [j, O] = n(), [Q, E] = n({}), [H, U] = n(""), m = ee().palette.divider, i = b.filter(
|
|
28
|
-
(e) => e.name.toLowerCase().includes(x.toLowerCase())
|
|
29
|
-
), { translate: T } = _(), { user: l } = Z((e) => e.Authenticate), V = (l == null ? void 0 : l.roleCode) === "argusadmin" || (l == null ? void 0 : l.roleCode) === "medplatadmin", Y = ce(), J = (e, r, c) => {
|
|
30
|
-
const p = r ? "DYNAMIC" : "STATIC", W = `addDynamicFeature?${new URLSearchParams({
|
|
31
|
-
featureId: e,
|
|
32
|
-
featureType: c,
|
|
33
|
-
subMenuGroupName: q,
|
|
34
|
-
staticOrDynamic: p
|
|
35
|
-
}).toString()}`;
|
|
36
|
-
Y(W, { state: { isNew: z } });
|
|
37
|
-
}, K = (e, r, c) => {
|
|
38
|
-
O(e), U(r), E(c), F(!0);
|
|
39
|
-
};
|
|
40
|
-
return /* @__PURE__ */ u(X, { children: [
|
|
41
|
-
/* @__PURE__ */ a(me, { isLoading: R, children: /* @__PURE__ */ u(s, { container: !0, className: "flex flex-col w-full", children: [
|
|
42
|
-
/* @__PURE__ */ a(s, { className: "p-2.5 flex-0", sx: { borderBottom: `1px solid ${m}` }, children: /* @__PURE__ */ a(y, { variant: "body2", className: "pl-1.5 font-bold pt-0.5", children: T("List of Sub Menus") }) }),
|
|
43
|
-
/* @__PURE__ */ a(s, { className: "px-2 py-1 flex-0", sx: { borderBottom: `1px solid ${m}` }, children: /* @__PURE__ */ a(
|
|
44
|
-
ae,
|
|
45
|
-
{
|
|
46
|
-
placeholder: "Search Features",
|
|
47
|
-
variant: "outlined",
|
|
48
|
-
size: "small",
|
|
49
|
-
value: x,
|
|
50
|
-
onChange: (e) => B(e.target.value),
|
|
51
|
-
sx: {
|
|
52
|
-
width: "100%",
|
|
53
|
-
backgroundColor: (e) => e.palette.background.paper
|
|
54
|
-
},
|
|
55
|
-
"data-testid": "submenu-search-input"
|
|
56
|
-
}
|
|
57
|
-
) }),
|
|
58
|
-
/* @__PURE__ */ a(s, { width: "100%", className: "flex-1 ", children: /* @__PURE__ */ a(
|
|
59
|
-
te,
|
|
60
|
-
{
|
|
61
|
-
className: "",
|
|
62
|
-
style: { maxHeight: "calc(100vh - 300px)" },
|
|
63
|
-
children: /* @__PURE__ */ a(oe, { children: /* @__PURE__ */ a(re, { children: /* @__PURE__ */ a(
|
|
64
|
-
ne,
|
|
65
|
-
{
|
|
66
|
-
sx: {
|
|
67
|
-
backgroundColor: (e) => e.palette.background.main
|
|
68
|
-
},
|
|
69
|
-
children: /* @__PURE__ */ a(le, { className: "p-0 h-full align-top", children: /* @__PURE__ */ a(s, { children: i.length ? /* @__PURE__ */ a(M, { className: "p-0 m-0", children: i == null ? void 0 : i.map(
|
|
70
|
-
(e, r, c) => /* @__PURE__ */ u(
|
|
71
|
-
$,
|
|
72
|
-
{
|
|
73
|
-
className: "flex justify-between px-4 py-2 transition-colors duration-300",
|
|
74
|
-
onMouseEnter: () => g(r),
|
|
75
|
-
onMouseLeave: () => g(null),
|
|
76
|
-
onClick: () => {
|
|
77
|
-
A(e.id), D(e.groupName), P(e.isNewFeature);
|
|
78
|
-
},
|
|
79
|
-
"data-testid": `submenu-list-item-${e.id}`,
|
|
80
|
-
sx: {
|
|
81
|
-
borderBottom: r === c.length - 1 ? "none" : `1px solid ${m}`,
|
|
82
|
-
backgroundColor: (p) => d === e.id ? se(
|
|
83
|
-
p.palette.background.default,
|
|
84
|
-
0.1
|
|
85
|
-
) : "inherit"
|
|
86
|
-
},
|
|
87
|
-
children: [
|
|
88
|
-
/* @__PURE__ */ a(
|
|
89
|
-
y,
|
|
90
|
-
{
|
|
91
|
-
variant: "body2",
|
|
92
|
-
className: `m-0 ${d === e.id || C === r ? "font-bold" : "font-normal"} ${C === r ? "cursor-pointer" : "cursor-default"}`,
|
|
93
|
-
children: e.name
|
|
94
|
-
}
|
|
95
|
-
),
|
|
96
|
-
e.isDynamicReport !== !0 && V && /* @__PURE__ */ u(s, { className: "flex flex-row", children: [
|
|
97
|
-
e.isDynamicFeature && h.hasCheckRights(o == null ? void 0 : o["update.manage.featurelist"]) && /* @__PURE__ */ a(
|
|
98
|
-
f,
|
|
99
|
-
{
|
|
100
|
-
size: "lg",
|
|
101
|
-
icon: de,
|
|
102
|
-
rotation: 90,
|
|
103
|
-
onClick: () => K(
|
|
104
|
-
e.id,
|
|
105
|
-
e.navigationState,
|
|
106
|
-
e
|
|
107
|
-
),
|
|
108
|
-
className: "mr-2 text-[var(--color-primary)]"
|
|
109
|
-
}
|
|
110
|
-
),
|
|
111
|
-
h.hasCheckRights(o == null ? void 0 : o["update.manage.featurelist"]) && /* @__PURE__ */ a(
|
|
112
|
-
"button",
|
|
113
|
-
{
|
|
114
|
-
onClick: () => J(
|
|
115
|
-
e.id,
|
|
116
|
-
e.isDynamicFeature,
|
|
117
|
-
S
|
|
118
|
-
),
|
|
119
|
-
disabled: e.id !== d,
|
|
120
|
-
className: `mr-2 ${e.id !== d ? "text-gray-400 cursor-not-allowed" : "text-[var(--color-primary)]"}`,
|
|
121
|
-
children: /* @__PURE__ */ a(
|
|
122
|
-
f,
|
|
123
|
-
{
|
|
124
|
-
size: "lg",
|
|
125
|
-
icon: ie,
|
|
126
|
-
"data-testid": `submenu-edit-button-${e.id}`
|
|
127
|
-
}
|
|
128
|
-
)
|
|
129
|
-
}
|
|
130
|
-
),
|
|
131
|
-
h.hasCheckRights(o == null ? void 0 : o["update.manage.featurelist"]) && /* @__PURE__ */ a(
|
|
132
|
-
f,
|
|
133
|
-
{
|
|
134
|
-
icon: ue,
|
|
135
|
-
size: "lg",
|
|
136
|
-
onClick: () => {
|
|
137
|
-
v(!0), G(e.id);
|
|
138
|
-
},
|
|
139
|
-
"data-testid": `submenu-save-button-${e.id}`,
|
|
140
|
-
className: "mr-1 text-[var(--color-primary)] cursor-pointer"
|
|
141
|
-
}
|
|
142
|
-
)
|
|
143
|
-
] })
|
|
144
|
-
]
|
|
145
|
-
},
|
|
146
|
-
e == null ? void 0 : e.id
|
|
147
|
-
)
|
|
148
|
-
) }) : /* @__PURE__ */ a(M, { className: "p-0 m-0", children: /* @__PURE__ */ a($, { children: /* @__PURE__ */ a(y, { variant: "body2", className: " m-0", children: T("No features for search query") }) }) }) }) })
|
|
149
|
-
}
|
|
150
|
-
) }) })
|
|
151
|
-
}
|
|
152
|
-
) })
|
|
153
|
-
] }) }),
|
|
154
|
-
N === !0 && /* @__PURE__ */ a(I, { children: /* @__PURE__ */ a(
|
|
155
|
-
pe,
|
|
156
|
-
{
|
|
157
|
-
"data-testid": "submenu-flywayquery",
|
|
158
|
-
open: N,
|
|
159
|
-
data: w ? b.find((e) => e.id === w) : {},
|
|
160
|
-
type: S,
|
|
161
|
-
handleClose: () => v(!1)
|
|
162
|
-
}
|
|
163
|
-
) }),
|
|
164
|
-
/* @__PURE__ */ a(I, { children: k && /* @__PURE__ */ a(
|
|
165
|
-
ye,
|
|
166
|
-
{
|
|
167
|
-
id: j,
|
|
168
|
-
selectedFeature: Q,
|
|
169
|
-
navigationState: H,
|
|
170
|
-
openServerSyncModal: k,
|
|
171
|
-
openModalFunc: F
|
|
172
|
-
}
|
|
173
|
-
) })
|
|
174
|
-
] });
|
|
175
|
-
}
|
|
176
|
-
fe.propTypes = {
|
|
177
|
-
data: t.any,
|
|
178
|
-
subMenuId: t.any,
|
|
179
|
-
setSubMenuId: t.any,
|
|
180
|
-
setSubMenuGroupName: t.any,
|
|
181
|
-
setSubMenuFeatureVal: t.any,
|
|
182
|
-
type: t.any,
|
|
183
|
-
isLoading: t.any,
|
|
184
|
-
isNewAPI: t.any,
|
|
185
|
-
subMenuGroupName: t.any,
|
|
186
|
-
rights: t.any
|
|
187
|
-
};
|
|
188
|
-
export {
|
|
189
|
-
fe as default
|
|
190
|
-
};
|
|
191
|
-
//# sourceMappingURL=SubMenu-B072oEGb.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SubMenu-B072oEGb.js","sources":["../src/views/Features/SubMenu.jsx"],"sourcesContent":["import React, { lazy, Suspense, useState } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport \"@/assets/scss/scrollBar.scss\";\nimport { useTranslateProvider } from \"@/common/languageTranslator/TranslationContext\";\nconst FlywayQuery = lazy(() => import(\"./FlywayQuery\"));\nimport {\n darken,\n List,\n ListItem,\n Table,\n TableBody,\n TableCell,\n TableContainer,\n TableRow,\n TextField,\n Typography,\n useTheme,\n} from \"@mui/material\";\nimport Grid from \"@mui/material/Grid2\";\nimport PropTypes from \"prop-types\";\nimport { useNavigate } from \"react-router-dom\";\nconst ServerSyncModal = lazy(() => import(\"./ServerSyncModal\"));\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport {\n faArrowsRotate,\n faFloppyDisk,\n faPen,\n} from \"@fortawesome/free-solid-svg-icons\";\nimport { SubMenuSkeleton } from \"./Skeletons/FeatureSkeletons\";\nimport GeneralUtil from \"@/common/services/util/GeneralUtil\";\n\n/**\n * A component that renders a submenu interface.\n * @module SubMenu\n * @param {Object} props - The props object.\n * @param {Object} props.data - The data to be used or displayed within the submenu.\n * @param {string} props.subMenuId - The ID of the current submenu to display.\n * @param {Function} props.setSubMenuId - Function to update the submenu ID.\n * @param {Function} props.setSubMenuGroupName - Function to update the submenu Group name.\n * @param {Function} props.setSubMenuFeatureVal - Function to update the submenu state.\n * @param {string} props.type - The type of submenu or functionality to render.\n * @returns {JSX.Element} The rendered submenu component.\n */\nexport default function SubMenu({\n data,\n subMenuId,\n setSubMenuId,\n setSubMenuGroupName,\n setSubMenuFeatureVal,\n type,\n isLoading,\n isNewAPI,\n subMenuGroupName,\n rights,\n}) {\n const [searchQuery, setSearchQuery] = useState(\"\");\n const [open, setOpen] = useState(false);\n const [hoveredIndex, setHoveredIndex] = useState(null);\n const [itemId, setItemId] = useState(\"\");\n const [openServerSyncModal, setOpenServerSyncModal] = useState(false);\n const [selectedFeatureId, setSelectedFeatureId] = useState();\n const [selectedFeature, setSelectedFeature] = useState({});\n const [navigationState, setNavigationState] = useState(\"\");\n const theme = useTheme();\n const borderColor = theme.palette.divider;\n const sortedFilteredFeatures = data.filter((feature) =>\n feature.name.toLowerCase().includes(searchQuery.toLowerCase()),\n );\n const { translate } = useTranslateProvider();\n const { user } = useSelector((state) => state.Authenticate);\n const isAdmin =\n user?.roleCode === \"argusadmin\" || user?.roleCode === \"medplatadmin\";\n\n const navigate = useNavigate();\n\n /**\n * Navigates to the edit feature page with the specified feature ID and type.\n * @function handleEdit\n * @param {string|number} id - The ID of the feature to be edited.\n * @param {string} type - The type of the feature to be edited.\n * @returns {void}\n */\n\n const handleEdit = (id, isDynamicFeature, type) => {\n const staticOrDynamic = isDynamicFeature ? \"DYNAMIC\" : \"STATIC\";\n const queryParams = new URLSearchParams({\n featureId: id,\n featureType: type,\n subMenuGroupName: subMenuGroupName,\n staticOrDynamic,\n }).toString();\n\n const url = `addDynamicFeature?${queryParams}`;\n\n navigate(url, { state: { isNew: isNewAPI } });\n };\n\n const handleServerSync = (id, navigationState, feature) => {\n setSelectedFeatureId(id);\n setNavigationState(navigationState);\n setSelectedFeature(feature);\n setOpenServerSyncModal(true);\n };\n\n return (\n <>\n <SubMenuSkeleton isLoading={isLoading}>\n <Grid container className=\"flex flex-col w-full\">\n <Grid className=\"p-2.5 flex-0\" sx={{ borderBottom: `1px solid ${borderColor}` }}>\n <Typography variant=\"body2\" className=\"pl-1.5 font-bold pt-0.5\">\n {translate(\"List of Sub Menus\")}\n </Typography>\n </Grid>\n\n <Grid className=\"px-2 py-1 flex-0\" sx={{ borderBottom: `1px solid ${borderColor}` }}>\n <TextField\n placeholder=\"Search Features\"\n variant=\"outlined\"\n size=\"small\"\n value={searchQuery}\n onChange={(e) => setSearchQuery(e.target.value)}\n sx={{\n width: \"100%\",\n backgroundColor: (theme) => theme.palette.background.paper,\n }}\n data-testid=\"submenu-search-input\"\n />\n </Grid>\n\n <Grid width={\"100%\"} className=\"flex-1 \">\n <TableContainer\n className=\"\"\n style={{ maxHeight: \"calc(100vh - 300px)\" }}\n >\n <Table>\n <TableBody>\n <TableRow\n sx={{\n backgroundColor: (theme) => theme.palette.background.main,\n }}\n >\n <TableCell className=\"p-0 h-full align-top\">\n <Grid>\n {sortedFilteredFeatures.length ? (\n <List className=\"p-0 m-0\">\n {sortedFilteredFeatures?.map(\n (item, index, array) => {\n return (\n <ListItem\n key={item?.id}\n className=\"flex justify-between px-4 py-2 transition-colors duration-300\"\n onMouseEnter={() => setHoveredIndex(index)}\n onMouseLeave={() => setHoveredIndex(null)}\n onClick={() => {\n setSubMenuId(item.id);\n setSubMenuGroupName(item.groupName);\n setSubMenuFeatureVal(item.isNewFeature);\n }}\n data-testid={`submenu-list-item-${item.id}`}\n sx={{\n borderBottom:\n index === array.length - 1 ? \"none\" : `1px solid ${borderColor}`,\n backgroundColor: (theme) =>\n subMenuId === item.id\n ? darken(\n theme.palette.background.default,\n 0.1,\n )\n : \"inherit\",\n }}\n >\n <Typography\n variant=\"body2\"\n className={`m-0 ${\n subMenuId === item.id ||\n hoveredIndex === index\n ? \"font-bold\"\n : \"font-normal\"\n } ${hoveredIndex === index ? \"cursor-pointer\" : \"cursor-default\"}`}\n >\n {item.name}\n </Typography>\n {item.isDynamicReport !== true && isAdmin && (\n <Grid className=\"flex flex-row\">\n {item.isDynamicFeature && GeneralUtil.hasCheckRights(rights?.['update.manage.featurelist']) && (\n <FontAwesomeIcon\n size=\"lg\"\n icon={faArrowsRotate}\n rotation={90}\n onClick={() =>\n handleServerSync(\n item.id,\n item.navigationState,\n item,\n )\n }\n className=\"mr-2 text-[var(--color-primary)]\"\n />\n )}\n {GeneralUtil.hasCheckRights(rights?.['update.manage.featurelist']) && (\n <button\n onClick={() =>\n handleEdit(\n item.id,\n item.isDynamicFeature,\n type,\n )\n }\n disabled={item.id !== subMenuId}\n className={`mr-2 ${\n item.id !== subMenuId\n ? \"text-gray-400 cursor-not-allowed\"\n : \"text-[var(--color-primary)]\"\n }`}\n >\n <FontAwesomeIcon\n size=\"lg\"\n icon={faPen}\n data-testid={`submenu-edit-button-${item.id}`}\n />\n </button>\n )}\n {GeneralUtil.hasCheckRights(rights?.['update.manage.featurelist']) && (\n <FontAwesomeIcon\n icon={faFloppyDisk}\n size=\"lg\"\n onClick={() => {\n setOpen(true);\n setItemId(item.id);\n }}\n data-testid={`submenu-save-button-${item.id}`}\n className=\"mr-1 text-[var(--color-primary)] cursor-pointer\"\n />\n )}\n </Grid>\n )}\n </ListItem>\n );\n },\n )}\n </List>\n ) : (\n <List className=\"p-0 m-0\">\n <ListItem>\n <Typography variant=\"body2\" className=\" m-0\">\n {translate(\"No features for search query\")}\n </Typography>\n </ListItem>\n </List>\n )}\n </Grid>\n </TableCell>\n </TableRow>\n </TableBody>\n </Table>\n </TableContainer>\n </Grid>\n </Grid>\n </SubMenuSkeleton>\n\n {open === true && (\n <Suspense>\n <FlywayQuery\n data-testid=\"submenu-flywayquery\"\n open={open}\n data={itemId ? data.find((data) => data.id === itemId) : {}}\n type={type}\n handleClose={() => setOpen(false)}\n />\n </Suspense>\n )}\n <Suspense>\n {openServerSyncModal && (\n <ServerSyncModal\n id={selectedFeatureId}\n selectedFeature={selectedFeature}\n navigationState={navigationState}\n openServerSyncModal={openServerSyncModal}\n openModalFunc={setOpenServerSyncModal}\n />\n )}\n </Suspense>\n </>\n );\n}\n\nSubMenu.propTypes = {\n data: PropTypes.any,\n subMenuId: PropTypes.any,\n setSubMenuId: PropTypes.any,\n setSubMenuGroupName: PropTypes.any,\n setSubMenuFeatureVal: PropTypes.any,\n type: PropTypes.any,\n isLoading: PropTypes.any,\n isNewAPI: PropTypes.any,\n subMenuGroupName: PropTypes.any,\n rights: PropTypes.any,\n};\n"],"names":["FlywayQuery","lazy","ServerSyncModal","SubMenu","data","subMenuId","setSubMenuId","setSubMenuGroupName","setSubMenuFeatureVal","type","isLoading","isNewAPI","subMenuGroupName","rights","searchQuery","setSearchQuery","useState","open","setOpen","hoveredIndex","setHoveredIndex","itemId","setItemId","openServerSyncModal","setOpenServerSyncModal","selectedFeatureId","setSelectedFeatureId","selectedFeature","setSelectedFeature","navigationState","setNavigationState","borderColor","useTheme","sortedFilteredFeatures","feature","translate","useTranslateProvider","user","useSelector","state","isAdmin","navigate","useNavigate","handleEdit","id","isDynamicFeature","staticOrDynamic","url","handleServerSync","jsxs","Fragment","jsx","SubMenuSkeleton","Grid","Typography","TextField","theme","TableContainer","Table","TableBody","TableRow","TableCell","List","item","index","array","ListItem","darken","GeneralUtil","FontAwesomeIcon","faArrowsRotate","faPen","faFloppyDisk","Suspense","PropTypes"],"mappings":"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"}
|