@argusoft/medplat-core 1.0.29 → 1.0.30
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-xrday-L1.js +1023 -0
- package/dist/AccessRights-xrday-L1.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-Ce91MhnU.js → AddMenuConfiguration-e5BVXhmw.js} +2 -2
- package/dist/{AddMenuConfiguration-Ce91MhnU.js.map → AddMenuConfiguration-e5BVXhmw.js.map} +1 -1
- package/dist/AppModal-CCtrQ5Tr.js +394 -0
- package/dist/AppModal-CCtrQ5Tr.js.map +1 -0
- package/dist/BrandsPage-DmRW5bhm-Bk1szrjI.js +387 -0
- package/dist/BrandsPage-DmRW5bhm-Bk1szrjI.js.map +1 -0
- package/dist/CategoriesPage-BsS5IQh3-B03lWRY5.js +391 -0
- package/dist/CategoriesPage-BsS5IQh3-B03lWRY5.js.map +1 -0
- package/dist/{ChangePasswordModalCore-DutQAZOx.js → ChangePasswordModalCore-BPsJquTS.js} +1606 -1611
- package/dist/ChangePasswordModalCore-BPsJquTS.js.map +1 -0
- package/dist/{ConditionConfig-B4Ffpgj3.js → ConditionConfig-Ddz9halE.js} +2 -2
- package/dist/{ConditionConfig-B4Ffpgj3.js.map → ConditionConfig-Ddz9halE.js.map} +1 -1
- package/dist/DashboardPage-C3bKc5na-sBd9Yqbi.js +435 -0
- package/dist/DashboardPage-C3bKc5na-sBd9Yqbi.js.map +1 -0
- package/dist/EventConfig-BmLemzX3.js +26 -0
- package/dist/EventConfig-BmLemzX3.js.map +1 -0
- package/dist/{EventConfigurations-BJcURufo.js → EventConfigurations-Bzh1qWXU.js} +31 -30
- package/dist/{EventConfigurations-BJcURufo.js.map → EventConfigurations-Bzh1qWXU.js.map} +1 -1
- package/dist/{EventsExceptionModal-BlZtBQoR.js → EventsExceptionModal-B2SRrnB1.js} +2 -2
- package/dist/{EventsExceptionModal-BlZtBQoR.js.map → EventsExceptionModal-B2SRrnB1.js.map} +1 -1
- package/dist/EventsSkeleton-BIcPks4T.js +61 -0
- package/dist/EventsSkeleton-BIcPks4T.js.map +1 -0
- package/dist/FacilityPicker-BiZeupmP-CyPHmj6b.js +79 -0
- package/dist/FacilityPicker-BiZeupmP-CyPHmj6b.js.map +1 -0
- package/dist/FeatureMenu-DYJmDt7q.js +521 -0
- package/dist/FeatureMenu-DYJmDt7q.js.map +1 -0
- package/dist/{FhirServerList-Dkq7Kbes.js → FhirServerList-DuTwnngN.js} +19 -19
- package/dist/{FhirServerList-Dkq7Kbes.js.map → FhirServerList-DuTwnngN.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-BDN66Atn.js +236 -0
- package/dist/GrantPermissionModal-BDN66Atn.js.map +1 -0
- package/dist/ImmunizationConfigurationBase-Di1KO3oW.js +7639 -0
- package/dist/ImmunizationConfigurationBase-Di1KO3oW.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-C_AxSy7A-QLvlL4rE.js +665 -0
- package/dist/InventoryPage-C_AxSy7A-QLvlL4rE.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-BpSJszSX.js → ManageEventConfiguration-CoYcpjR9.js} +465 -397
- package/dist/ManageEventConfiguration-CoYcpjR9.js.map +1 -0
- 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-DCFkUMV9.js} +131 -131
- package/dist/{ManageUser-DDzyd9jm.js.map → ManageUser-DCFkUMV9.js.map} +1 -1
- package/dist/MemberProfileCard-BdUNgHRB-VywqQdFF.js +272 -0
- package/dist/MemberProfileCard-BdUNgHRB-VywqQdFF.js.map +1 -0
- package/dist/MobileAnalytics-pQoE8cG1.js +16888 -0
- package/dist/MobileAnalytics-pQoE8cG1.js.map +1 -0
- package/dist/{MobileTypeEventConfigModal-DUkUYACe.js → MobileTypeEventConfigModal-BeveaX0C.js} +2 -2
- package/dist/{MobileTypeEventConfigModal-DUkUYACe.js.map → MobileTypeEventConfigModal-BeveaX0C.js.map} +1 -1
- 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-CYBfr2XE.js → OtherTypeEventConfigModal-CM6VkdmY.js} +3 -3
- package/dist/OtherTypeEventConfigModal-CM6VkdmY.js.map +1 -0
- package/dist/PaymentCreatePage-CIVe0P0p-25BQVpOX.js +482 -0
- package/dist/PaymentCreatePage-CIVe0P0p-25BQVpOX.js.map +1 -0
- package/dist/PaymentsPage-BvPe5Q9F-D2gfziwW.js +157 -0
- package/dist/PaymentsPage-BvPe5Q9F-D2gfziwW.js.map +1 -0
- package/dist/PermissionsModal-CCYkcKlC.js +151 -0
- package/dist/PermissionsModal-CCYkcKlC.js.map +1 -0
- package/dist/PickupBatchLinesEditor-DHmcAG23-DL2p6IKJ.js +119 -0
- package/dist/PickupBatchLinesEditor-DHmcAG23-DL2p6IKJ.js.map +1 -0
- package/dist/PickupCreatePage-CB0Sl0Hb-Mmj7zESG.js +783 -0
- package/dist/PickupCreatePage-CB0Sl0Hb-Mmj7zESG.js.map +1 -0
- package/dist/PickupsPage-Ctpghavs-CUp4uIZq.js +818 -0
- package/dist/PickupsPage-Ctpghavs-CUp4uIZq.js.map +1 -0
- package/dist/PmGuard-b10TGXEi-G3N0G_Wg.js +599 -0
- package/dist/PmGuard-b10TGXEi-G3N0G_Wg.js.map +1 -0
- package/dist/ProductEditPage-C1thoKHu-URQaZ6st.js +1302 -0
- package/dist/ProductEditPage-C1thoKHu-URQaZ6st.js.map +1 -0
- package/dist/ProductsPage-CupVmOD4-D45a_hf-.js +252 -0
- package/dist/ProductsPage-CupVmOD4-D45a_hf-.js.map +1 -0
- package/dist/PurchaseCreatePage-YD3NmhPQ-2j4etSjM.js +648 -0
- package/dist/PurchaseCreatePage-YD3NmhPQ-2j4etSjM.js.map +1 -0
- package/dist/PurchaseRequestDetailPage-Dg_MRY_N-D1bgTEAn.js +1577 -0
- package/dist/PurchaseRequestDetailPage-Dg_MRY_N-D1bgTEAn.js.map +1 -0
- package/dist/PurchaseRequestsPage-DPAPzpmm-mDH2IrTl.js +279 -0
- package/dist/PurchaseRequestsPage-DPAPzpmm-mDH2IrTl.js.map +1 -0
- package/dist/PurchasesPage-It1GHiXl-eH4IsF_U.js +293 -0
- package/dist/PurchasesPage-It1GHiXl-eH4IsF_U.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-C9kFmTvm-B3Y0o4CX.js +544 -0
- package/dist/SaleCreatePage-C9kFmTvm-B3Y0o4CX.js.map +1 -0
- package/dist/SalesPage-D18DCseD-BxktGDRQ.js +315 -0
- package/dist/SalesPage-D18DCseD-BxktGDRQ.js.map +1 -0
- package/dist/SettingsPage-VsxI-ano-DcmtUUEj.js +747 -0
- package/dist/SettingsPage-VsxI-ano-DcmtUUEj.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-D1y_4A1u.js} +161 -121
- package/dist/ShowFlywayQuery-D1y_4A1u.js.map +1 -0
- package/dist/ShowQueryHistory-DRBKYDKk.js +313 -0
- package/dist/ShowQueryHistory-DRBKYDKk.js.map +1 -0
- package/dist/StorageUnitsPage-7EqwuMOI-BwUso1Th.js +721 -0
- package/dist/StorageUnitsPage-7EqwuMOI-BwUso1Th.js.map +1 -0
- package/dist/SubMenu-eEDhZUvh.js +317 -0
- package/dist/SubMenu-eEDhZUvh.js.map +1 -0
- package/dist/TransactionsPage-DrH53pVS-BkhIGB6C.js +746 -0
- package/dist/TransactionsPage-DrH53pVS-BkhIGB6C.js.map +1 -0
- package/dist/TransferCreatePage-CuvoMrYH-DTTfHjz-.js +315 -0
- package/dist/TransferCreatePage-CuvoMrYH-DTTfHjz-.js.map +1 -0
- package/dist/TransfersPage-Cf701t8s-BBbN7cBf.js +476 -0
- package/dist/TransfersPage-Cf701t8s-BBbN7cBf.js.map +1 -0
- package/dist/{TypeConfiguration-C3xoP2Nb.js → TypeConfiguration-3O6ABrK-.js} +2 -2
- package/dist/{TypeConfiguration-C3xoP2Nb.js.map → TypeConfiguration-3O6ABrK-.js.map} +1 -1
- package/dist/{UserList-Bc8gYxRL.js → UserList-DgPxsnj2.js} +253 -236
- package/dist/{UserList-Bc8gYxRL.js.map → UserList-DgPxsnj2.js.map} +1 -1
- package/dist/Users-Bpc4Sazd.js +41 -0
- package/dist/Users-Bpc4Sazd.js.map +1 -0
- package/dist/VialsPage-8oAc1yFv-Cl3FUXBJ.js +321 -0
- package/dist/VialsPage-8oAc1yFv-Cl3FUXBJ.js.map +1 -0
- package/dist/constants-ClZJY2x1-MkSWn6TZ.js +434 -0
- package/dist/constants-ClZJY2x1-MkSWn6TZ.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-Dn8PMkeD.js +862 -0
- package/dist/index.lib-Dn8PMkeD.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/AppModal-CtG2GjD_.js +0 -428
- package/dist/AppModal-CtG2GjD_.js.map +0 -1
- package/dist/ChangePasswordModalCore-DutQAZOx.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.map +0 -1
- package/dist/ManageTranslation-B4C9-lWD.js +0 -625
- package/dist/ManageTranslation-B4C9-lWD.js.map +0 -1
- package/dist/NotificationFlywayQuery-BY8Zzml_.js +0 -244
- package/dist/NotificationFlywayQuery-BY8Zzml_.js.map +0 -1
- 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/Users-CsJ08Kjm.js +0 -40
- package/dist/Users-CsJ08Kjm.js.map +0 -1
- package/dist/index.lib-C3fwoM3y.js +0 -820
- package/dist/index.lib-C3fwoM3y.js.map +0 -1
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
import { api as n } from "@/common/interceptors/AxiosInterceptor";
|
|
2
|
-
import { jsxs as s, jsx as a } from "react/jsx-runtime";
|
|
3
|
-
import r from "prop-types";
|
|
4
|
-
import "react";
|
|
5
|
-
import { useSelector as i } from "react-redux";
|
|
6
|
-
import { getUseSkeleton as o } from "@/store/reducers/SkeletonReducer";
|
|
7
|
-
const f = (e, t = "EVENTS") => {
|
|
8
|
-
const l = new FormData();
|
|
9
|
-
return l.append("file", e), n.post(
|
|
10
|
-
implementationConfig.api.useQueryParamStyle ? `document/uploaddocument?moduleName=${t}&isTemporary=false` : `document/uploaddocument/${t}/false`,
|
|
11
|
-
l,
|
|
12
|
-
{ type: "fileUpload", showLoader: !1 }
|
|
13
|
-
);
|
|
14
|
-
}, y = (e = !0) => n.get(`/eventconfig?isActive=${e}`, { isActive: e }), h = (e) => n.put("/eventconfig", e, {
|
|
15
|
-
headers: {
|
|
16
|
-
"Content-Type": "application/json;charset=UTF-8",
|
|
17
|
-
Title: "Login"
|
|
18
|
-
}
|
|
19
|
-
}), N = (e) => n.get(`/eventconfig/run?id=${e}`), b = () => n.get("/eventconfig/manualevents"), w = (e) => n.post("/eventconfig", e), S = (e) => n.put("/eventconfig/update", e), k = (e) => n.get(`eventconfig/retrieveById?id=${e}`), E = (e) => n.get("/form", e), T = () => i(o) ? /* @__PURE__ */ s("div", { className: "flex flex-col gap-2", children: [
|
|
20
|
-
/* @__PURE__ */ s("div", { className: "flex justify-between gap-2 mb-[10px]", children: [
|
|
21
|
-
/* @__PURE__ */ a("div", { className: "bg-gray-300 animate-pulse rounded-sm w-[130px] h-[40px]" }),
|
|
22
|
-
/* @__PURE__ */ s("div", { className: "flex space-x-2", children: [
|
|
23
|
-
/* @__PURE__ */ a("div", { className: "bg-gray-300 animate-pulse rounded-sm w-[130px] h-[40px]" }),
|
|
24
|
-
/* @__PURE__ */ a("div", { className: "bg-gray-300 animate-pulse rounded-sm w-[130px] h-[40px]" }),
|
|
25
|
-
/* @__PURE__ */ a("div", { className: "bg-gray-300 animate-pulse rounded-sm w-[130px] h-[40px]" }),
|
|
26
|
-
/* @__PURE__ */ a("div", { className: "bg-gray-300 animate-pulse rounded-sm w-[130px] h-[40px]" })
|
|
27
|
-
] })
|
|
28
|
-
] }),
|
|
29
|
-
/* @__PURE__ */ a("div", { className: "bg-gray-300 animate-pulse rounded-sm w-full h-100" })
|
|
30
|
-
] }) : null, d = ({ children: e, isLoading: t }) => !i(o) || !t ? e : /* @__PURE__ */ s("div", { className: "my-6", children: [
|
|
31
|
-
/* @__PURE__ */ a("div", { className: "bg-gray-300 animate-pulse rounded-sm w-[250px] h-[40px] ml-5" }),
|
|
32
|
-
/* @__PURE__ */ s("div", { className: "flex gap-10 flex-wrap p-5", children: [
|
|
33
|
-
/* @__PURE__ */ a("div", { className: "bg-gray-300 animate-pulse rounded-sm w-[45%] h-[40px]" }),
|
|
34
|
-
/* @__PURE__ */ a("div", { className: "bg-gray-300 animate-pulse rounded-sm w-[45%] h-[120px]" }),
|
|
35
|
-
/* @__PURE__ */ a("div", { className: "bg-gray-300 animate-pulse rounded-sm w-[45%] h-[40px]" })
|
|
36
|
-
] }),
|
|
37
|
-
/* @__PURE__ */ s("div", { className: "flex flex-col p-5", children: [
|
|
38
|
-
/* @__PURE__ */ s("div", { className: "flex justify-between", children: [
|
|
39
|
-
/* @__PURE__ */ a("div", { className: "bg-gray-300 animate-pulse rounded-sm w-[150px] h-[40px]" }),
|
|
40
|
-
/* @__PURE__ */ a("div", { className: "bg-gray-300 animate-pulse rounded-sm w-[90px] h-[40px]" })
|
|
41
|
-
] }),
|
|
42
|
-
/* @__PURE__ */ a("div", { className: "bg-gray-300 animate-pulse rounded-sm h-[40px] mt-10" })
|
|
43
|
-
] }),
|
|
44
|
-
/* @__PURE__ */ s("div", { className: "flex justify-end gap-5 pr-5", children: [
|
|
45
|
-
/* @__PURE__ */ a("div", { className: "bg-gray-300 animate-pulse rounded-sm w-[90px] h-[40px]" }),
|
|
46
|
-
/* @__PURE__ */ a("div", { className: "bg-gray-300 animate-pulse rounded-sm w-[90px] h-[40px]" })
|
|
47
|
-
] })
|
|
48
|
-
] });
|
|
49
|
-
d.propTypes = {
|
|
50
|
-
children: r.any,
|
|
51
|
-
isLoading: r.any
|
|
52
|
-
};
|
|
53
|
-
const m = ({ children: e, isLoading: t }) => !i(o) || !t ? e : /* @__PURE__ */ s("div", { className: "w-full h-[220px] flex flex-col justify-between animate-pulse", children: [
|
|
54
|
-
/* @__PURE__ */ a("div", { className: "bg-gray-300 rounded-sm h-[28px] w-[180px] mb-4" }),
|
|
55
|
-
/* @__PURE__ */ a("div", { className: "bg-gray-300 rounded-sm h-[80px] w-full mb-4" }),
|
|
56
|
-
/* @__PURE__ */ s("div", { className: "flex flex-row space-x-4 mb-2", children: [
|
|
57
|
-
/* @__PURE__ */ a("div", { className: "bg-gray-300 rounded-sm h-[20px] w-[140px]" }),
|
|
58
|
-
/* @__PURE__ */ a("div", { className: "bg-gray-300 rounded-sm h-[20px] w-[180px]" })
|
|
59
|
-
] }),
|
|
60
|
-
/* @__PURE__ */ s("div", { className: "flex flex-row space-x-4", children: [
|
|
61
|
-
/* @__PURE__ */ a("div", { className: "bg-gray-300 rounded-sm h-[20px] w-[140px]" }),
|
|
62
|
-
/* @__PURE__ */ a("div", { className: "bg-gray-300 rounded-sm h-[20px] w-[180px]" })
|
|
63
|
-
] })
|
|
64
|
-
] });
|
|
65
|
-
m.propTypes = {
|
|
66
|
-
children: r.any,
|
|
67
|
-
isLoading: r.any
|
|
68
|
-
};
|
|
69
|
-
export {
|
|
70
|
-
T as E,
|
|
71
|
-
d as M,
|
|
72
|
-
N as a,
|
|
73
|
-
E as b,
|
|
74
|
-
b as c,
|
|
75
|
-
k as d,
|
|
76
|
-
m as e,
|
|
77
|
-
f,
|
|
78
|
-
y as r,
|
|
79
|
-
w as s,
|
|
80
|
-
h as t,
|
|
81
|
-
S as u
|
|
82
|
-
};
|
|
83
|
-
//# sourceMappingURL=EventsSkeleton-DK6JDKAK.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"EventsSkeleton-DK6JDKAK.js","sources":["../src/services/EventConfig.js","../src/views/Events/Skeletons/EventsSkeleton.jsx"],"sourcesContent":["import { api } from \"@/common/interceptors/AxiosInterceptor\";\n\nexport const uploadDocument = (file, moduleName = \"EVENTS\") => {\n const formData = new FormData();\n formData.append(\"file\", file);\n return api.post(\n implementationConfig.api.useQueryParamStyle\n ? `document/uploaddocument?moduleName=${moduleName}&isTemporary=false`\n : `document/uploaddocument/${moduleName}/false`,\n formData,\n { type: \"fileUpload\", showLoader: false }\n );\n};\n\nexport const getFileById = (fileId) =>\n api.get(\n implementationConfig.api.useQueryParamStyle\n ? `/document/getFileById?id=${fileId}`\n : `/document/getfile/${fileId}`,\n { showLoader: false, responseType: \"blob\" }\n );\n\nexport const retrieveAll = (isActive = true) =>\n api.get(`/eventconfig?isActive=${isActive}`, { isActive: isActive });\n\nexport const toggleState = (data) =>\n api.put(`/eventconfig`, data, {\n headers: {\n \"Content-Type\": \"application/json;charset=UTF-8\",\n Title: \"Login\",\n },\n });\n\nexport const runEvent = (uuid) => api.get(`/eventconfig/run?id=${uuid}`);\n\nexport const retrieveManualEvents = () => api.get(`/eventconfig/manualevents`);\n\nexport const save = (data) => api.post(\"/eventconfig\", data);\n\nexport const update = (data) => api.put(\"/eventconfig/update\", data);\n\nexport const retrieveByUUID = (id) => api.get(`eventconfig/retrieveById?id=${id}`);\n\nexport const retrieveAllForm = (data) => api.get(`/form`, data);\n","import PropTypes from \"prop-types\";\nimport React from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { getUseSkeleton } from \"@/store/reducers/SkeletonReducer\";\n\nexport const EventConfigurationSkeleton = () => {\n const useSkeleton = useSelector(getUseSkeleton);\n if (!useSkeleton) {\n return null;\n }\n return (\n <div className=\"flex flex-col gap-2\">\n <div className=\"flex justify-between gap-2 mb-[10px]\">\n <div className=\"bg-gray-300 animate-pulse rounded-sm w-[130px] h-[40px]\"></div>\n <div className=\"flex space-x-2\">\n <div className=\"bg-gray-300 animate-pulse rounded-sm w-[130px] h-[40px]\"></div>\n <div className=\"bg-gray-300 animate-pulse rounded-sm w-[130px] h-[40px]\"></div>\n <div className=\"bg-gray-300 animate-pulse rounded-sm w-[130px] h-[40px]\"></div>\n <div className=\"bg-gray-300 animate-pulse rounded-sm w-[130px] h-[40px]\"></div>\n </div>\n </div>\n\n <div className=\"bg-gray-300 animate-pulse rounded-sm w-full h-100\"></div>\n </div>\n );\n};\n\nexport const ManageEventConfigurationSkeleton = ({ children, isLoading }) => {\n const useSkeleton = useSelector(getUseSkeleton);\n if (!useSkeleton) {\n return children;\n }\n if (!isLoading) return children;\n\n return (\n <div className=\"my-6\">\n <div className=\"bg-gray-300 animate-pulse rounded-sm w-[250px] h-[40px] ml-5\"></div>\n <div className=\"flex gap-10 flex-wrap p-5\">\n <div className=\"bg-gray-300 animate-pulse rounded-sm w-[45%] h-[40px]\"></div>\n <div className=\"bg-gray-300 animate-pulse rounded-sm w-[45%] h-[120px]\"></div>\n <div className=\"bg-gray-300 animate-pulse rounded-sm w-[45%] h-[40px]\"></div>\n </div>\n <div className=\"flex flex-col p-5\">\n <div className=\"flex justify-between\">\n <div className=\"bg-gray-300 animate-pulse rounded-sm w-[150px] h-[40px]\"></div>\n <div className=\"bg-gray-300 animate-pulse rounded-sm w-[90px] h-[40px]\"></div>\n </div>\n <div className=\"bg-gray-300 animate-pulse rounded-sm h-[40px] mt-10\"></div>\n </div>\n <div className=\"flex justify-end gap-5 pr-5\">\n <div className=\"bg-gray-300 animate-pulse rounded-sm w-[90px] h-[40px]\"></div>\n <div className=\"bg-gray-300 animate-pulse rounded-sm w-[90px] h-[40px]\"></div>\n </div>\n </div>\n );\n};\n\nManageEventConfigurationSkeleton.propTypes = {\n children: PropTypes.any,\n isLoading: PropTypes.any,\n};\n\nexport const EventExceptionModalSkeleton = ({ children, isLoading }) => {\n const useSkeleton = useSelector(getUseSkeleton);\n if (!useSkeleton) {\n return children;\n }\n if (!isLoading) return children;\n\n return (\n <div className=\"w-full h-[220px] flex flex-col justify-between animate-pulse\">\n <div className=\"bg-gray-300 rounded-sm h-[28px] w-[180px] mb-4\"></div>\n <div className=\"bg-gray-300 rounded-sm h-[80px] w-full mb-4\"></div>\n <div className=\"flex flex-row space-x-4 mb-2\">\n <div className=\"bg-gray-300 rounded-sm h-[20px] w-[140px]\"></div>\n <div className=\"bg-gray-300 rounded-sm h-[20px] w-[180px]\"></div>\n </div>\n <div className=\"flex flex-row space-x-4\">\n <div className=\"bg-gray-300 rounded-sm h-[20px] w-[140px]\"></div>\n <div className=\"bg-gray-300 rounded-sm h-[20px] w-[180px]\"></div>\n </div>\n </div>\n );\n};\n\nEventExceptionModalSkeleton.propTypes = {\n children: PropTypes.any,\n isLoading: PropTypes.any,\n};\n"],"names":["uploadDocument","file","moduleName","formData","api","retrieveAll","isActive","toggleState","data","runEvent","uuid","retrieveManualEvents","save","update","retrieveByUUID","id","retrieveAllForm","EventConfigurationSkeleton","useSelector","getUseSkeleton","jsxs","jsx","ManageEventConfigurationSkeleton","children","isLoading","PropTypes","EventExceptionModalSkeleton"],"mappings":"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"}
|
|
@@ -1,265 +0,0 @@
|
|
|
1
|
-
import { jsx as e, jsxs as n, Fragment as Z } from "react/jsx-runtime";
|
|
2
|
-
import { useState as g, useMemo as w, useCallback as _, useEffect as D, Suspense as L, startTransition as ee, lazy as E } from "react";
|
|
3
|
-
import { useTranslateProvider as ae } from "@/common/languageTranslator/TranslationContext";
|
|
4
|
-
import { g as te } from "./Features-Dne21RWu.js";
|
|
5
|
-
import { showToast as se } from "@/common/toaster/toaster";
|
|
6
|
-
import ne from "@/hooks/useTrackEvent";
|
|
7
|
-
import { useTheme as re, Card as P, Typography as S, Tabs as le, Tab as oe, Button as $ } from "@mui/material";
|
|
8
|
-
import p from "@mui/material/Grid2";
|
|
9
|
-
import { useSelector as m, useDispatch as ie } from "react-redux";
|
|
10
|
-
import { useNavigate as ue } from "react-router-dom";
|
|
11
|
-
import { Box as B } from "@mui/system";
|
|
12
|
-
import { FontAwesomeIcon as me } from "@fortawesome/react-fontawesome";
|
|
13
|
-
import { faGear as ce } from "@fortawesome/free-solid-svg-icons";
|
|
14
|
-
import f from "prop-types";
|
|
15
|
-
import { getUseSkeleton as F } from "@/store/reducers/SkeletonReducer";
|
|
16
|
-
import { setSubMenuFeatureVal as de, setSubMenuGroupName as pe, setSubMenuId as fe } from "@/store/reducers/FeatureReducer";
|
|
17
|
-
import { getAssignedFeatures as he } from "@/utils/feature";
|
|
18
|
-
import k from "@/common/services/util/GeneralUtil";
|
|
19
|
-
const M = ({ children: l, isLoading: o }) => !m(F) || !o ? l : /* @__PURE__ */ e("div", { className: "flex flex-col mt-6", children: /* @__PURE__ */ n("div", { className: "w-full justify-between flex-wrap flex flex-row", children: [
|
|
20
|
-
/* @__PURE__ */ n("div", { className: "flex-wrap flex flex-row", children: [
|
|
21
|
-
/* @__PURE__ */ e("div", { className: "bg-gray-300 animate-pulse rounded-sm h-[45px] w-[85px] mr-2 mb-2" }),
|
|
22
|
-
/* @__PURE__ */ e("div", { className: "bg-gray-300 animate-pulse rounded-sm h-[45px] w-[85px] mr-2 mb-2" }),
|
|
23
|
-
/* @__PURE__ */ e("div", { className: "bg-gray-300 animate-pulse rounded-sm h-[45px] w-[85px] mr-2 mb-2" }),
|
|
24
|
-
/* @__PURE__ */ e("div", { className: "bg-gray-300 animate-pulse rounded-sm h-[45px] w-[85px] mr-2 mb-2" }),
|
|
25
|
-
/* @__PURE__ */ e("div", { className: "bg-gray-300 animate-pulse rounded-sm h-[45px] w-[85px] mr-2 mb-2" })
|
|
26
|
-
] }),
|
|
27
|
-
/* @__PURE__ */ n("div", { className: "flex", children: [
|
|
28
|
-
/* @__PURE__ */ e("div", { className: "bg-gray-300 animate-pulse rounded-sm h-[32px] w-[120px] m-0.5" }),
|
|
29
|
-
/* @__PURE__ */ e("div", { className: "bg-gray-300 animate-pulse rounded-sm h-[32px] w-[130px] m-0.5" }),
|
|
30
|
-
/* @__PURE__ */ e("div", { className: "bg-gray-300 animate-pulse rounded-sm h-[32px] w-[100px] m-0.5" })
|
|
31
|
-
] })
|
|
32
|
-
] }) });
|
|
33
|
-
M.propTypes = {
|
|
34
|
-
children: f.any,
|
|
35
|
-
isLoading: f.any
|
|
36
|
-
};
|
|
37
|
-
f.any, f.any;
|
|
38
|
-
const xe = ({ children: l, isLoading: o }) => !m(F) || !o ? l : /* @__PURE__ */ n("div", { className: "w-full p-2", children: [
|
|
39
|
-
/* @__PURE__ */ e("div", { className: "bg-gray-300 animate-pulse rounded-sm h-[40px] w-full mb-2" }),
|
|
40
|
-
/* @__PURE__ */ e("div", { className: "bg-gray-300 animate-pulse rounded-sm h-[60px] w-full mb-2" }),
|
|
41
|
-
/* @__PURE__ */ e("div", { className: "bg-gray-300 animate-pulse rounded-sm h-[280px] w-full" })
|
|
42
|
-
] });
|
|
43
|
-
xe.propTypes = {
|
|
44
|
-
children: f.any,
|
|
45
|
-
isLoading: f.any
|
|
46
|
-
};
|
|
47
|
-
const ge = E(() => import("./AccessRights-Zm8Obm4N.js")), be = E(() => import("./SubMenu-B072oEGb.js"));
|
|
48
|
-
function Ne() {
|
|
49
|
-
const l = m(F), o = re(), h = ie(), [C, O] = g([]), [i, V] = g(0), c = m((a) => {
|
|
50
|
-
var t;
|
|
51
|
-
return (t = a == null ? void 0 : a.FeatureReducer) == null ? void 0 : t.subMenuId;
|
|
52
|
-
}), I = m(
|
|
53
|
-
(a) => {
|
|
54
|
-
var t;
|
|
55
|
-
return (t = a == null ? void 0 : a.FeatureReducer) == null ? void 0 : t.subMenuGroupName;
|
|
56
|
-
}
|
|
57
|
-
), U = m(
|
|
58
|
-
(a) => {
|
|
59
|
-
var t;
|
|
60
|
-
return (t = a == null ? void 0 : a.FeatureReducer) == null ? void 0 : t.subMenuFeatureVal;
|
|
61
|
-
}
|
|
62
|
-
), N = ue(), { user: y } = m((a) => a.Authenticate), { translate: d } = ae(), [u, v] = g(!1), T = ne(), [A, J] = g({}), [s, Y] = g(null), R = (y == null ? void 0 : y.features) || {}, r = w(
|
|
63
|
-
() => Object.keys(R).filter((a) => a !== "mch"),
|
|
64
|
-
[R]
|
|
65
|
-
), j = o.palette.mode === "dark" ? o.palette.divider : o.palette.grey[200], q = _((a, t) => {
|
|
66
|
-
V(t);
|
|
67
|
-
}, []), H = _(() => {
|
|
68
|
-
T("button_click", {
|
|
69
|
-
button_name: "featuremenu-add-button",
|
|
70
|
-
button_type: "navigate",
|
|
71
|
-
button_id: "featuremenu-add-button"
|
|
72
|
-
}), N("addDynamicFeature");
|
|
73
|
-
}, [N, T]);
|
|
74
|
-
D(() => {
|
|
75
|
-
async function a() {
|
|
76
|
-
const { data: t } = await he("techo.manage.menu"), b = JSON.parse(t);
|
|
77
|
-
Y(b);
|
|
78
|
-
}
|
|
79
|
-
a();
|
|
80
|
-
}, []), D(() => {
|
|
81
|
-
(async () => {
|
|
82
|
-
var t, b;
|
|
83
|
-
if (!(!r.length || i >= r.length))
|
|
84
|
-
try {
|
|
85
|
-
v(!0);
|
|
86
|
-
const { data: x } = await te(r[i]), z = x.sort((W, X) => {
|
|
87
|
-
var G;
|
|
88
|
-
return (G = W.name) == null ? void 0 : G.localeCompare(X.name);
|
|
89
|
-
});
|
|
90
|
-
ee(() => {
|
|
91
|
-
O(z), z.length > 0, v(!1);
|
|
92
|
-
});
|
|
93
|
-
} catch (x) {
|
|
94
|
-
se({
|
|
95
|
-
message: `Error : ${(b = (t = x == null ? void 0 : x.response) == null ? void 0 : t.data) == null ? void 0 : b.message}`,
|
|
96
|
-
type: "error"
|
|
97
|
-
}), v(!1);
|
|
98
|
-
}
|
|
99
|
-
})();
|
|
100
|
-
}, [i, r]);
|
|
101
|
-
const K = w(
|
|
102
|
-
() => /* @__PURE__ */ e(L, { fallback: /* @__PURE__ */ e(M, {}), children: /* @__PURE__ */ e(
|
|
103
|
-
be,
|
|
104
|
-
{
|
|
105
|
-
"data-testid": "featuremenu-submenu",
|
|
106
|
-
data: C,
|
|
107
|
-
subMenuId: c,
|
|
108
|
-
setSubMenuId: (a) => {
|
|
109
|
-
h(fe(a));
|
|
110
|
-
},
|
|
111
|
-
setSubMenuGroupName: (a) => {
|
|
112
|
-
h(pe(a));
|
|
113
|
-
},
|
|
114
|
-
setSubMenuFeatureVal: (a) => {
|
|
115
|
-
h(de(a));
|
|
116
|
-
},
|
|
117
|
-
type: r[i],
|
|
118
|
-
isLoading: u,
|
|
119
|
-
isNewAPI: A,
|
|
120
|
-
subMenuGroupName: I,
|
|
121
|
-
rights: s
|
|
122
|
-
}
|
|
123
|
-
) }),
|
|
124
|
-
[C, c, i, u, r, A, s]
|
|
125
|
-
), Q = w(
|
|
126
|
-
() => /* @__PURE__ */ e(
|
|
127
|
-
L,
|
|
128
|
-
{
|
|
129
|
-
fallback: /* @__PURE__ */ e("div", { className: "p-2 text-sm text-gray-500", children: "Loading Access Rights..." }),
|
|
130
|
-
children: /* @__PURE__ */ e(
|
|
131
|
-
ge,
|
|
132
|
-
{
|
|
133
|
-
"data-testid": "featuremenu-access-rights",
|
|
134
|
-
subMenuId: c,
|
|
135
|
-
subMenuGroupName: I,
|
|
136
|
-
subMenuFeatureVal: U,
|
|
137
|
-
selectedTab: r[i],
|
|
138
|
-
parentLoading: u,
|
|
139
|
-
onNewAPIChange: J,
|
|
140
|
-
rights: s
|
|
141
|
-
}
|
|
142
|
-
)
|
|
143
|
-
}
|
|
144
|
-
),
|
|
145
|
-
[c, u, s]
|
|
146
|
-
);
|
|
147
|
-
return !u && s !== null && !k.hasCheckRights(s == null ? void 0 : s["view.manage.featurelist"]) ? /* @__PURE__ */ e(B, { className: "flex justify-center items-center w-full h-[80vh]", children: /* @__PURE__ */ e(
|
|
148
|
-
P,
|
|
149
|
-
{
|
|
150
|
-
className: "h-80 w-150 flex justify-center items-center",
|
|
151
|
-
children: /* @__PURE__ */ e(S, { variant: "h5", className: "text-customBlue", children: "You dont have permission to view Features" })
|
|
152
|
-
}
|
|
153
|
-
) }) : /* @__PURE__ */ n(P, { variant: "elevation", className: "p-3 mt-6 flex flex-col shadow-2xl", children: [
|
|
154
|
-
/* @__PURE__ */ e(M, { isLoading: u, children: /* @__PURE__ */ n(p, { className: "w-full justify-between flex-wrap flex flex-row", children: [
|
|
155
|
-
/* @__PURE__ */ e(p, { className: "flex-wrap flex flex-row", children: /* @__PURE__ */ e(
|
|
156
|
-
le,
|
|
157
|
-
{
|
|
158
|
-
value: i,
|
|
159
|
-
onChange: q,
|
|
160
|
-
variant: "scrollable",
|
|
161
|
-
scrollButtons: "auto",
|
|
162
|
-
children: r.map((a, t) => /* @__PURE__ */ e(
|
|
163
|
-
oe,
|
|
164
|
-
{
|
|
165
|
-
label: a.toUpperCase(),
|
|
166
|
-
"data-testid": `featuremenu-button-${t}`,
|
|
167
|
-
id: `feature-tab-${t}`
|
|
168
|
-
},
|
|
169
|
-
a
|
|
170
|
-
))
|
|
171
|
-
}
|
|
172
|
-
) }),
|
|
173
|
-
/* @__PURE__ */ n(p, { className: "flex gap-2 items-center ml-auto", children: [
|
|
174
|
-
k.hasCheckRights(s == null ? void 0 : s["update.manage.featurelist"]) && /* @__PURE__ */ n(
|
|
175
|
-
$,
|
|
176
|
-
{
|
|
177
|
-
size: "small",
|
|
178
|
-
className: "mb-1 ml-0.5",
|
|
179
|
-
variant: "contained",
|
|
180
|
-
onClick: () => N("/ui/medplat/report/all/groups"),
|
|
181
|
-
sx: {
|
|
182
|
-
mt: { xs: "15px", md: "0px" }
|
|
183
|
-
},
|
|
184
|
-
children: [
|
|
185
|
-
d("Manage"),
|
|
186
|
-
" ",
|
|
187
|
-
d("Menu"),
|
|
188
|
-
" ",
|
|
189
|
-
d("Group")
|
|
190
|
-
]
|
|
191
|
-
}
|
|
192
|
-
),
|
|
193
|
-
k.hasCheckRights(s == null ? void 0 : s["create.manage.featurelist"]) && /* @__PURE__ */ n(
|
|
194
|
-
$,
|
|
195
|
-
{
|
|
196
|
-
size: "small",
|
|
197
|
-
"data-testid": "featuremenu-add-button",
|
|
198
|
-
className: "mb-1 ml-0.5",
|
|
199
|
-
variant: "contained",
|
|
200
|
-
onClick: H,
|
|
201
|
-
sx: {
|
|
202
|
-
mt: { xs: "15px", md: "0px" }
|
|
203
|
-
},
|
|
204
|
-
children: [
|
|
205
|
-
d("Add"),
|
|
206
|
-
" ",
|
|
207
|
-
d("Feature")
|
|
208
|
-
]
|
|
209
|
-
}
|
|
210
|
-
)
|
|
211
|
-
] })
|
|
212
|
-
] }) }),
|
|
213
|
-
/* @__PURE__ */ n(p, { container: !0, spacing: 2, className: "w-full py-3 rounded-sm", children: [
|
|
214
|
-
/* @__PURE__ */ e(
|
|
215
|
-
p,
|
|
216
|
-
{
|
|
217
|
-
size: { xs: 12, sm: 12, md: 3 },
|
|
218
|
-
className: "flex",
|
|
219
|
-
sx: { border: `1px solid ${j}` },
|
|
220
|
-
children: K
|
|
221
|
-
}
|
|
222
|
-
),
|
|
223
|
-
/* @__PURE__ */ n(
|
|
224
|
-
p,
|
|
225
|
-
{
|
|
226
|
-
size: { xs: 12, sm: 12, md: 9 },
|
|
227
|
-
className: "flex flex-col",
|
|
228
|
-
sx: { border: `1px solid ${j}` },
|
|
229
|
-
children: [
|
|
230
|
-
u && l ? /* @__PURE__ */ e("div", { className: "flex flex-col p-2", children: /* @__PURE__ */ e("div", { className: "bg-slate-200 dark:bg-slate-800 animate-pulse rounded-sm h-[30px] w-[180px]" }) }) : /* @__PURE__ */ n(B, { className: "flex items-center p-2", children: [
|
|
231
|
-
/* @__PURE__ */ e(me, { icon: ce, size: "lg", className: "mr-2" }),
|
|
232
|
-
/* @__PURE__ */ e(S, { variant: "body2", className: "font-bold font-sans pt-1", children: d("Access Rights") })
|
|
233
|
-
] }),
|
|
234
|
-
c && Q,
|
|
235
|
-
!c && /* @__PURE__ */ e(Z, { children: /* @__PURE__ */ e(
|
|
236
|
-
S,
|
|
237
|
-
{
|
|
238
|
-
variant: "body2",
|
|
239
|
-
className: "p-2",
|
|
240
|
-
"data-testid": "featuremenu-no-feature-selected",
|
|
241
|
-
sx: {
|
|
242
|
-
textAlign: "center",
|
|
243
|
-
position: "relative",
|
|
244
|
-
top: "10%",
|
|
245
|
-
fontSize: "25px",
|
|
246
|
-
color: "grey"
|
|
247
|
-
},
|
|
248
|
-
children: "Please select a feature!"
|
|
249
|
-
}
|
|
250
|
-
) })
|
|
251
|
-
]
|
|
252
|
-
}
|
|
253
|
-
)
|
|
254
|
-
] })
|
|
255
|
-
] });
|
|
256
|
-
}
|
|
257
|
-
const Pe = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
258
|
-
__proto__: null,
|
|
259
|
-
default: Ne
|
|
260
|
-
}, Symbol.toStringTag, { value: "Module" }));
|
|
261
|
-
export {
|
|
262
|
-
Pe as F,
|
|
263
|
-
xe as S
|
|
264
|
-
};
|
|
265
|
-
//# sourceMappingURL=FeatureMenu-C3503UIX.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FeatureMenu-C3503UIX.js","sources":["../src/views/Features/Skeletons/FeatureSkeletons.jsx","../src/views/Features/FeatureMenu.jsx"],"sourcesContent":["import PropTypes from \"prop-types\";\nimport React from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { getUseSkeleton } from \"@/store/reducers/SkeletonReducer\";\n\nexport const FeatureMenuSkeleton = ({ 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 mt-6\">\n <div className=\"w-full justify-between flex-wrap flex flex-row\">\n <div className=\"flex-wrap flex flex-row\">\n <div className=\"bg-gray-300 animate-pulse rounded-sm h-[45px] w-[85px] mr-2 mb-2\"></div>\n <div className=\"bg-gray-300 animate-pulse rounded-sm h-[45px] w-[85px] mr-2 mb-2\"></div>\n <div className=\"bg-gray-300 animate-pulse rounded-sm h-[45px] w-[85px] mr-2 mb-2\"></div>\n <div className=\"bg-gray-300 animate-pulse rounded-sm h-[45px] w-[85px] mr-2 mb-2\"></div>\n <div className=\"bg-gray-300 animate-pulse rounded-sm h-[45px] w-[85px] mr-2 mb-2\"></div>\n </div>\n\n <div className=\"flex\">\n <div className=\"bg-gray-300 animate-pulse rounded-sm h-[32px] w-[120px] m-0.5\"></div>\n <div className=\"bg-gray-300 animate-pulse rounded-sm h-[32px] w-[130px] m-0.5\"></div>\n <div className=\"bg-gray-300 animate-pulse rounded-sm h-[32px] w-[100px] m-0.5\"></div>\n </div>\n </div>\n </div>\n );\n};\n\nFeatureMenuSkeleton.propTypes = {\n children: PropTypes.any,\n isLoading: PropTypes.any,\n};\n\nexport const ManageFeatureSkeleton = ({ children, isLoading }) => {\n const useSkeleton = useSelector(getUseSkeleton);\n if (!useSkeleton) {\n return children;\n }\n if (!isLoading) return children;\n\n return (\n <div className=\"mt-8 ml-4\">\n <div className=\"bg-gray-300 animate-pulse rounded-sm w-[150px] h-[35px]\"></div>\n <div className=\"flex flex-col gap-4 my-3\">\n <div className=\"flex justify-between w-[870px]\">\n <div className=\"bg-gray-300 animate-pulse rounded-sm w-[130px] h-[40px]\"></div>\n <div className=\"bg-gray-300 animate-pulse rounded-sm w-[520px] h-[40px]\"></div>\n </div>\n <div className=\"flex justify-between w-[870px]\">\n <div className=\"bg-gray-300 animate-pulse rounded-sm w-[130px] h-[40px]\"></div>\n <div className=\"bg-gray-300 animate-pulse rounded-sm w-[520px] h-[40px]\"></div>\n </div>\n <div className=\"flex justify-between w-[870px]\">\n <div className=\"bg-gray-300 animate-pulse rounded-sm w-[200px] h-[40px]\"></div>\n <div className=\"bg-gray-300 animate-pulse rounded-sm w-[30px] h-[40px]\"></div>\n </div>\n <div className=\"flex justify-between w-[870px]\">\n <div className=\"bg-gray-300 animate-pulse rounded-sm w-[130px] h-[40px]\"></div>\n <div className=\"bg-gray-300 animate-pulse rounded-sm w-[520px] h-[40px] ml-8\"></div>\n </div>\n </div>\n <div className=\"flex justify-end gap-5 m-7\">\n <div className=\"bg-gray-300 animate-pulse rounded-sm w-[64px] h-[40px]\"></div>\n <div className=\"bg-gray-300 animate-pulse rounded-sm w-[64px] h-[40px]\"></div>\n </div>\n </div>\n );\n};\n\nManageFeatureSkeleton.propTypes = {\n children: PropTypes.any,\n isLoading: PropTypes.any,\n};\n\nexport const SubMenuSkeleton = ({ children, isLoading }) => {\n const useSkeleton = useSelector(getUseSkeleton);\n if (!useSkeleton) {\n return children;\n }\n if (!isLoading) return children;\n\n return (\n <div className=\"w-full p-2\">\n <div className=\"bg-gray-300 animate-pulse rounded-sm h-[40px] w-full mb-2\"></div>\n <div className=\"bg-gray-300 animate-pulse rounded-sm h-[60px] w-full mb-2\"></div>\n <div className=\"bg-gray-300 animate-pulse rounded-sm h-[280px] w-full\"></div>\n </div>\n );\n};\n\nSubMenuSkeleton.propTypes = {\n children: PropTypes.any,\n isLoading: PropTypes.any,\n};\n","import React, {\n lazy,\n Suspense,\n useEffect,\n useMemo,\n useState,\n startTransition,\n useCallback,\n} from \"react\";\nimport { useTranslateProvider } from \"@/common/languageTranslator/TranslationContext\";\nimport { getFeatureName } from \"../../services/Features\";\nimport { showToast } from \"@/common/toaster/toaster\";\nimport useTrackEvent from \"@/hooks/useTrackEvent\";\nconst AccessRights = lazy(() => import(\"./AccessRights\"));\nconst SubMenu = lazy(() => import(\"./SubMenu\"));\nimport { Button, Card, Tab, Tabs, Typography, useTheme } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid2\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { useNavigate } from \"react-router-dom\";\nimport { Box } from \"@mui/system\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport { faGear } from \"@fortawesome/free-solid-svg-icons\";\nimport { FeatureMenuSkeleton } from \"./Skeletons/FeatureSkeletons\";\nimport {\n setSubMenuId,\n setSubMenuGroupName,\n setSubMenuFeatureVal,\n} from \"@/store/reducers/FeatureReducer\";\nimport { getUseSkeleton } from \"@/store/reducers/SkeletonReducer\";\nimport { getAssignedFeatures } from \"@/utils/feature\";\nimport GeneralUtil from \"@/common/services/util/GeneralUtil\";\n\n/**\n * The `FeatureMenu` component renders a menu or list of features in the application.\n * @module FeatureMenu\n * @returns {JSX.Element} The rendered `FeatureMenu` component.\n */\n\nexport default function FeatureMenu() {\n const useSkeleton = useSelector(getUseSkeleton);\n const theme = useTheme();\n const dispatch = useDispatch();\n const [Data, setData] = useState([]);\n const [selectedId, setSelectedId] = useState(0);\n const subMenuId = useSelector((state) => {\n return state?.FeatureReducer?.subMenuId;\n });\n const subMenuGroupName = useSelector(\n (state) => state?.FeatureReducer?.subMenuGroupName,\n );\n const subMenuFeatureVal = useSelector(\n (state) => state?.FeatureReducer?.subMenuFeatureVal,\n );\n const navigate = useNavigate();\n const { user } = useSelector((state) => state.Authenticate);\n const { translate } = useTranslateProvider();\n const [isLoading, setIsLoading] = useState(false);\n const trackEvent = useTrackEvent();\n const [isNewAPI, setIsNewAPI] = useState({});\n const [rights, setRights] = useState(null);\n const features = user?.features || {};\n const featureNames = useMemo(\n () => Object.keys(features).filter((key) => key !== \"mch\"),\n [features],\n );\n const panelBorderColor =\n theme.palette.mode === \"dark\" ? theme.palette.divider : theme.palette.grey[200];\n\n // 🧠 handle tab switch\n const handleTabChange = useCallback((e, newValue) => {\n setSelectedId(newValue);\n }, []);\n\n /**\n * Navigates to the '/ui/addfeature' route when called.\n * @function handleClick\n * @returns {void} This function does not return a value.\n */\n\n const handleFeature = useCallback(() => {\n trackEvent(\"button_click\", {\n button_name: \"featuremenu-add-button\",\n button_type: \"navigate\",\n button_id: \"featuremenu-add-button\",\n });\n navigate(\"addDynamicFeature\");\n }, [navigate, trackEvent]);\n\n // 📦 fetch feature data\n /**\n * Effect hook that runs when `selectedId` changes to load and set initial feature data.\n * @effect\n * @returns {void} This effect does not return a value.\n */\n useEffect(() => {\n async function getFeatures() {\n const { data } = await getAssignedFeatures(\"techo.manage.menu\");\n const parsedRights = JSON.parse(data);\n setRights(parsedRights);\n }\n getFeatures();\n }, []);\n\n useEffect(() => {\n const loadInitialData = async () => {\n if (!featureNames.length || selectedId >= featureNames.length) return;\n\n try {\n setIsLoading(true);\n const { data } = await getFeatureName(featureNames[selectedId]);\n const filterData = data.sort((a, b) => a.name?.localeCompare(b.name));\n startTransition(() => {\n setData(filterData);\n if (filterData.length > 0) {\n // prohibiting the feature to be selected if it is not available\n // dispatch(setSubMenuId(filterData[0].id));\n // dispatch(setSubMenuFeatureVal(filterData[0].isNewFeature));\n }\n setIsLoading(false);\n });\n } catch (error) {\n showToast({\n message: `Error : ${error?.response?.data?.message}`,\n type: \"error\",\n });\n setIsLoading(false);\n }\n };\n\n loadInitialData();\n }, [selectedId, featureNames]);\n\n // 🧠 Memoized SubMenu\n const SubMenuContent = useMemo(\n () => (\n <Suspense fallback={<FeatureMenuSkeleton />}>\n <SubMenu\n data-testid=\"featuremenu-submenu\"\n data={Data}\n subMenuId={subMenuId}\n setSubMenuId={(id) => {\n dispatch(setSubMenuId(id));\n }}\n setSubMenuGroupName={(name) => {\n dispatch(setSubMenuGroupName(name));\n }}\n setSubMenuFeatureVal={(val) => {\n dispatch(setSubMenuFeatureVal(val));\n }}\n type={featureNames[selectedId]}\n isLoading={isLoading}\n isNewAPI={isNewAPI}\n subMenuGroupName={subMenuGroupName}\n rights={rights}\n />\n </Suspense>\n ),\n [Data, subMenuId, selectedId, isLoading, featureNames, isNewAPI, rights],\n );\n\n // 🧠 Memoized AccessRights\n const AccessRightsContent = useMemo(\n () => (\n <Suspense\n fallback={\n <div className=\"p-2 text-sm text-gray-500\">\n Loading Access Rights...\n </div>\n }\n >\n <AccessRights\n data-testid=\"featuremenu-access-rights\"\n subMenuId={subMenuId}\n subMenuGroupName={subMenuGroupName}\n subMenuFeatureVal={subMenuFeatureVal}\n selectedTab={featureNames[selectedId]}\n parentLoading={isLoading}\n onNewAPIChange={setIsNewAPI}\n rights={rights}\n />\n </Suspense>\n ),\n [subMenuId, isLoading, rights],\n );\n\n return !isLoading && rights !== null && !GeneralUtil.hasCheckRights(rights?.[\"view.manage.featurelist\"]) ? (\n <Box className=\"flex justify-center items-center w-full h-[80vh]\">\n <Card\n className=\"h-80 w-150 flex justify-center items-center\"\n >\n <Typography variant=\"h5\" className=\"text-customBlue\">\n You dont have permission to view Features\n </Typography>\n </Card>\n </Box>\n ) : (\n <Card variant=\"elevation\" className=\"p-3 mt-6 flex flex-col shadow-2xl\">\n <FeatureMenuSkeleton isLoading={isLoading}>\n <Grid className=\"w-full justify-between flex-wrap flex flex-row\">\n <Grid className=\"flex-wrap flex flex-row\">\n <Tabs\n value={selectedId}\n onChange={handleTabChange}\n variant=\"scrollable\"\n scrollButtons=\"auto\"\n >\n {featureNames.map((feat, index) => (\n <Tab\n key={feat}\n label={feat.toUpperCase()}\n data-testid={`featuremenu-button-${index}`}\n id={`feature-tab-${index}`}\n />\n ))}\n </Tabs>\n </Grid>\n <Grid className=\"flex gap-2 items-center ml-auto\">\n {GeneralUtil.hasCheckRights(rights?.['update.manage.featurelist']) && (\n <Button\n size=\"small\"\n className=\"mb-1 ml-0.5\"\n variant=\"contained\"\n onClick={() => navigate(\"/ui/medplat/report/all/groups\")}\n sx={{\n mt: { xs: \"15px\", md: \"0px\" },\n }}\n >\n {translate(\"Manage\")} {translate(\"Menu\")} {translate(\"Group\")}\n </Button>\n )}\n {GeneralUtil.hasCheckRights(rights?.['create.manage.featurelist']) && (\n <Button\n size=\"small\"\n data-testid=\"featuremenu-add-button\"\n className=\"mb-1 ml-0.5\"\n variant=\"contained\"\n onClick={handleFeature}\n sx={{\n mt: { xs: \"15px\", md: \"0px\" },\n }}\n >\n {translate(\"Add\")} {translate(\"Feature\")}\n </Button>\n )}\n </Grid>\n </Grid>\n </FeatureMenuSkeleton>\n\n <Grid container spacing={2} className=\"w-full py-3 rounded-sm\">\n <Grid\n size={{ xs: 12, sm: 12, md: 3 }}\n className=\"flex\"\n sx={{ border: `1px solid ${panelBorderColor}` }}\n >\n {SubMenuContent}\n </Grid>\n\n <Grid\n size={{ xs: 12, sm: 12, md: 9 }}\n className=\"flex flex-col\"\n sx={{ border: `1px solid ${panelBorderColor}` }}\n >\n {isLoading && useSkeleton ? (\n <div className=\"flex flex-col p-2\">\n <div className=\"bg-slate-200 dark:bg-slate-800 animate-pulse rounded-sm h-[30px] w-[180px]\" />\n </div>\n ) : (\n <Box className=\"flex items-center p-2\">\n <FontAwesomeIcon icon={faGear} size=\"lg\" className=\"mr-2\" />\n <Typography variant=\"body2\" className=\"font-bold font-sans pt-1\">\n {translate(\"Access Rights\")}\n </Typography>\n </Box>\n )}\n {subMenuId && AccessRightsContent}\n {!subMenuId && (\n <>\n <Typography\n variant=\"body2\"\n className=\"p-2\"\n data-testid=\"featuremenu-no-feature-selected\"\n sx={{\n textAlign: \"center\",\n position: \"relative\",\n top: \"10%\",\n fontSize: \"25px\",\n color: \"grey\",\n }}\n >\n Please select a feature!\n </Typography>\n </>\n )}\n </Grid>\n </Grid>\n </Card>\n );\n}\n"],"names":["FeatureMenuSkeleton","children","isLoading","useSelector","getUseSkeleton","jsxs","jsx","PropTypes","SubMenuSkeleton","AccessRights","lazy","SubMenu","FeatureMenu","useSkeleton","theme","useTheme","dispatch","useDispatch","Data","setData","useState","selectedId","setSelectedId","subMenuId","state","_a","subMenuGroupName","subMenuFeatureVal","navigate","useNavigate","user","translate","useTranslateProvider","setIsLoading","trackEvent","useTrackEvent","isNewAPI","setIsNewAPI","rights","setRights","features","featureNames","useMemo","key","panelBorderColor","handleTabChange","useCallback","e","newValue","handleFeature","useEffect","getFeatures","data","getAssignedFeatures","parsedRights","getFeatureName","filterData","a","b","startTransition","error","showToast","_b","SubMenuContent","Suspense","id","setSubMenuId","name","setSubMenuGroupName","val","setSubMenuFeatureVal","AccessRightsContent","GeneralUtil","Box","Card","Typography","Grid","Tabs","feat","index","Tab","Button","FontAwesomeIcon","faGear","Fragment"],"mappings":"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"}
|
|
@@ -1,169 +0,0 @@
|
|
|
1
|
-
import { jsx as r, jsxs as s } from "react/jsx-runtime";
|
|
2
|
-
import { useTranslateProvider as h } from "@/common/languageTranslator/TranslationContext";
|
|
3
|
-
import { showToast as v } from "@/common/toaster/toaster";
|
|
4
|
-
import U from "@/hooks/useTrackEvent";
|
|
5
|
-
import { generateUUID as k } from "@/utils/UUIDgenerator";
|
|
6
|
-
import { faXmark as T } from "@fortawesome/free-solid-svg-icons";
|
|
7
|
-
import { FontAwesomeIcon as N } from "@fortawesome/react-fontawesome";
|
|
8
|
-
import { Modal as I, Typography as x, IconButton as q, TextField as C, Stack as D, Button as c } from "@mui/material";
|
|
9
|
-
import a from "@mui/material/Grid2";
|
|
10
|
-
import m from "prop-types";
|
|
11
|
-
import { useState as S, useEffect as E } from "react";
|
|
12
|
-
function j({ open: f, handleClose: l, data: t, type: d }) {
|
|
13
|
-
const [n, b] = S({}), p = k(), { translate: i } = h(), g = U();
|
|
14
|
-
E(() => {
|
|
15
|
-
let e = {};
|
|
16
|
-
t != null && t.featureJson && (t == null ? void 0 : t.featureJson) != null ? e.featureJson = t == null ? void 0 : t.featureJson : e.featureJson = null;
|
|
17
|
-
let u = "";
|
|
18
|
-
e.groupName = t == null ? void 0 : t.groupName, e.menuName = t == null ? void 0 : t.name, e.subgroupName = t == null ? void 0 : t.subgroupName, e.navigationState = t == null ? void 0 : t.navigationState, e.menuType = d, e.uuid = p, e.groupName && e.groupName != null ? (u = "select id from menu_group mg where group_name = '" + e.groupName + "'", e.groupUUID = p) : (u = null, e.groupUUID = null);
|
|
19
|
-
let o;
|
|
20
|
-
e.subgroupName && e.subgroupName != null ? (o = "select sub_group_id from menu_config mc where menu_name = '" + e.subgroupName + "'", e.subgroupUUID = p) : (o = null, e.subgroupUUID = null), e.text = "insert into menu_config (feature_json, group_id, active, is_dynamic_report, menu_name, navigation_state, sub_group_id,", e.text += `
|
|
21
|
-
`, e.text += 'menu_type,"uuid", group_name_uuid, sub_group_uuid)', e.text += `
|
|
22
|
-
`, e.text += "values(", e.featureJson != null ? e.text += "'" + e.featureJson + "'" : e.text += "null", e.text += `
|
|
23
|
-
`, e.text += ",", u != null ? e.text += "(" + u + ")" : e.text += "null", e.text += ",", e.text += "true, false,", e.text += "'" + e.menuName + "'", e.text += ",", e.text += `
|
|
24
|
-
`, e.text += "'" + e.navigationState + "'", e.text += ",", o != null ? e.text += "(" + o + ")" : e.text += "null", e.text += ",", e.text += "'" + e.menuType + "'", e.text += ",", e.text += "'" + e.uuid + "'", e.text += ",", e.groupUUID != null ? e.text += "'" + e.groupUUID + "'" : e.text += "null", e.text += ",", e.subgroupUUID != null ? e.text += "'" + e.subgroupUUID + "'" : e.text += "null", e.text += ")", e.text += `
|
|
25
|
-
`, e.text += "on conflict(navigation_state,active) do update", e.text += `
|
|
26
|
-
`, e.text += "SET feature_json = excluded.feature_json,", e.text += `
|
|
27
|
-
`, e.text += " group_id= excluded.group_id,", e.text += `
|
|
28
|
-
`, e.text += " menu_name = excluded.menu_name,", e.text += `
|
|
29
|
-
`, e.text += " sub_group_id= excluded.sub_group_id,", e.text += `
|
|
30
|
-
`, e.text += " menu_type= excluded.menu_type;", b((w) => ({ ...w, queryText: e.text }));
|
|
31
|
-
}, []);
|
|
32
|
-
const y = () => {
|
|
33
|
-
const e = new Blob([n == null ? void 0 : n.queryText], { type: "text/plain" }), u = (e.size / 1024).toFixed(2), o = document.createElement("a");
|
|
34
|
-
o.href = URL.createObjectURL(e), o.download = "V" + (/* @__PURE__ */ new Date()).getTime() + "__CREATED_OR_UPDATED_feature_" + d + ".sql", document.body.appendChild(o), o.click(), document.body.removeChild(o), g("file_download", {
|
|
35
|
-
file_type: "sql",
|
|
36
|
-
file_name: o.download,
|
|
37
|
-
file_size: `${u} KB`,
|
|
38
|
-
download_status: "success"
|
|
39
|
-
}), l();
|
|
40
|
-
}, _ = () => {
|
|
41
|
-
navigator.clipboard.writeText(n == null ? void 0 : n.queryText).then(
|
|
42
|
-
() => {
|
|
43
|
-
v({
|
|
44
|
-
message: "Query copied",
|
|
45
|
-
type: "success"
|
|
46
|
-
});
|
|
47
|
-
},
|
|
48
|
-
(e) => {
|
|
49
|
-
console.error("Could not copy text: ", e);
|
|
50
|
-
}
|
|
51
|
-
), l();
|
|
52
|
-
};
|
|
53
|
-
return /* @__PURE__ */ r(
|
|
54
|
-
I,
|
|
55
|
-
{
|
|
56
|
-
"data-testid": "flywayquery-modal",
|
|
57
|
-
open: f,
|
|
58
|
-
onClose: l,
|
|
59
|
-
sx: {
|
|
60
|
-
"& .MuiBackdrop-root": {
|
|
61
|
-
backgroundColor: "rgba(0, 0, 0, 0.1)"
|
|
62
|
-
}
|
|
63
|
-
},
|
|
64
|
-
children: /* @__PURE__ */ s(
|
|
65
|
-
a,
|
|
66
|
-
{
|
|
67
|
-
container: !0,
|
|
68
|
-
className: "flex flex-col absolute top-[5%] left-1/2 transform -translate-x-1/2 w-[99%] max-w-full sm:max-w-[600px] md:max-w-[750px] lg:max-w-[900px] bg-[var(--color-background2)] shadow-md border border-slate-300 dark:border-slate-700 overflow-y-auto max-h-[90vh]",
|
|
69
|
-
children: [
|
|
70
|
-
/* @__PURE__ */ s(a, { className: "flex justify-between items-center p-[5px_10px] bg-slate-200 dark:bg-slate-800 border-b border-slate-300 dark:border-slate-700", children: [
|
|
71
|
-
/* @__PURE__ */ r(x, { variant: "body1", className: "font-bold text-customBlue", children: i("FLYWAY QUERY") }),
|
|
72
|
-
/* @__PURE__ */ r(
|
|
73
|
-
q,
|
|
74
|
-
{
|
|
75
|
-
size: "small",
|
|
76
|
-
onClick: l,
|
|
77
|
-
"data-testid": "flywayquery-close-button",
|
|
78
|
-
children: /* @__PURE__ */ r(N, { icon: T })
|
|
79
|
-
}
|
|
80
|
-
)
|
|
81
|
-
] }),
|
|
82
|
-
/* @__PURE__ */ r(a, { className: "border-b border-slate-200 dark:border-slate-800 p-2.5 ", children: /* @__PURE__ */ r(
|
|
83
|
-
C,
|
|
84
|
-
{
|
|
85
|
-
multiline: !0,
|
|
86
|
-
rows: 10,
|
|
87
|
-
variant: "outlined",
|
|
88
|
-
fullWidth: !0,
|
|
89
|
-
value: n == null ? void 0 : n.queryText,
|
|
90
|
-
sx: {
|
|
91
|
-
"& .MuiInputBase-input": {
|
|
92
|
-
fontSize: "14px"
|
|
93
|
-
},
|
|
94
|
-
"& .MuiOutlinedInput-root": {
|
|
95
|
-
borderRadius: "5px"
|
|
96
|
-
}
|
|
97
|
-
},
|
|
98
|
-
slotProps: {
|
|
99
|
-
input: {
|
|
100
|
-
readOnly: !0
|
|
101
|
-
}
|
|
102
|
-
},
|
|
103
|
-
"data-testid": "flywayquery-textfield-query-display"
|
|
104
|
-
}
|
|
105
|
-
) }),
|
|
106
|
-
/* @__PURE__ */ r(a, { className: "border-b border-slate-200 dark:border-slate-800 pb-[1px] pr-2.5 ", children: /* @__PURE__ */ s(
|
|
107
|
-
D,
|
|
108
|
-
{
|
|
109
|
-
direction: "row",
|
|
110
|
-
spacing: 2,
|
|
111
|
-
justifyContent: "flex-end",
|
|
112
|
-
mt: 1,
|
|
113
|
-
mb: 1,
|
|
114
|
-
children: [
|
|
115
|
-
/* @__PURE__ */ r(
|
|
116
|
-
c,
|
|
117
|
-
{
|
|
118
|
-
"data-testid": "flywayquery-download-button",
|
|
119
|
-
variant: "contained",
|
|
120
|
-
color: "primary",
|
|
121
|
-
size: "small",
|
|
122
|
-
onClick: y,
|
|
123
|
-
children: i("Download")
|
|
124
|
-
}
|
|
125
|
-
),
|
|
126
|
-
/* @__PURE__ */ r(
|
|
127
|
-
c,
|
|
128
|
-
{
|
|
129
|
-
"data-testid": "flywayquery-copy-button",
|
|
130
|
-
variant: "contained",
|
|
131
|
-
size: "small",
|
|
132
|
-
color: "primary",
|
|
133
|
-
onClick: _,
|
|
134
|
-
children: i("Copy")
|
|
135
|
-
}
|
|
136
|
-
),
|
|
137
|
-
/* @__PURE__ */ r(
|
|
138
|
-
c,
|
|
139
|
-
{
|
|
140
|
-
"data-testid": "flywayquery-close-button-action",
|
|
141
|
-
variant: "contained",
|
|
142
|
-
size: "small",
|
|
143
|
-
color: "secondary",
|
|
144
|
-
onClick: l,
|
|
145
|
-
children: /* @__PURE__ */ s(x, { variant: "body2", children: [
|
|
146
|
-
i("Close"),
|
|
147
|
-
" "
|
|
148
|
-
] })
|
|
149
|
-
}
|
|
150
|
-
)
|
|
151
|
-
]
|
|
152
|
-
}
|
|
153
|
-
) })
|
|
154
|
-
]
|
|
155
|
-
}
|
|
156
|
-
)
|
|
157
|
-
}
|
|
158
|
-
);
|
|
159
|
-
}
|
|
160
|
-
j.propTypes = {
|
|
161
|
-
open: m.any,
|
|
162
|
-
handleClose: m.any,
|
|
163
|
-
data: m.any,
|
|
164
|
-
type: m.any
|
|
165
|
-
};
|
|
166
|
-
export {
|
|
167
|
-
j as default
|
|
168
|
-
};
|
|
169
|
-
//# sourceMappingURL=FlywayQuery-Cx2sly6g.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FlywayQuery-Cx2sly6g.js","sources":["../src/views/Features/FlywayQuery.jsx"],"sourcesContent":["import { useTranslateProvider } from \"@/common/languageTranslator/TranslationContext\";\nimport { showToast } from \"@/common/toaster/toaster\";\nimport useTrackEvent from \"@/hooks/useTrackEvent\";\nimport { generateUUID } from \"@/utils/UUIDgenerator\";\nimport { faXmark } from \"@fortawesome/free-solid-svg-icons\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport {\n Button,\n IconButton,\n Modal,\n Stack,\n TextField,\n Typography,\n} from \"@mui/material\";\nimport Grid from \"@mui/material/Grid2\";\nimport PropTypes from \"prop-types\";\nimport React, { useEffect, useState } from \"react\";\n\n/**\n * A functional component that renders a Flyway query interface.\n * @module FlywayQuery\n * @param {Object} props - The props object.\n * @param {boolean} props.open - Controls the visibility of the component.\n * @param {Function} props.handleClose - Callback function to handle closing the component.\n * @param {Object} props.data - Data to be used or displayed within the component.\n * @param {string} props.type - Determines the type of query or functionality.\n * @returns {JSX.Element} The rendered component.\n */\nexport default function FlywayQuery({ open, handleClose, data, type }) {\n const [flywayData, setFlywayData] = useState({});\n\n const uuid = generateUUID();\n const { translate } = useTranslateProvider();\n const trackEvent = useTrackEvent();\n\n useEffect(() => {\n let temp = {};\n if (data?.featureJson && data?.featureJson != null) {\n temp.featureJson = data?.featureJson;\n } else {\n temp.featureJson = null;\n }\n let groupIdString = \"\";\n temp.groupName = data?.groupName;\n temp.menuName = data?.name;\n temp.subgroupName = data?.subgroupName;\n temp.navigationState = data?.navigationState;\n temp.menuType = type;\n temp.uuid = uuid;\n temp.groupUUID;\n temp.subgroupUUID;\n\n if (temp.groupName && temp.groupName != null) {\n groupIdString =\n \"select id from menu_group mg where group_name = '\" +\n temp.groupName +\n \"'\";\n temp.groupUUID = uuid;\n } else {\n groupIdString = null;\n temp.groupUUID = null;\n }\n let subgroupIdString;\n if (temp.subgroupName && temp.subgroupName != null) {\n subgroupIdString =\n \"select sub_group_id from menu_config mc where menu_name = '\" +\n temp.subgroupName +\n \"'\";\n temp.subgroupUUID = uuid;\n } else {\n subgroupIdString = null;\n temp.subgroupUUID = null;\n }\n\n temp.text =\n \"insert into menu_config (feature_json, group_id, active, is_dynamic_report, menu_name, navigation_state, sub_group_id,\";\n temp.text += \"\\n\";\n temp.text += 'menu_type,\"uuid\", group_name_uuid, sub_group_uuid)';\n temp.text += \"\\n\";\n temp.text += \"values(\";\n if (temp.featureJson != null) {\n temp.text += \"'\" + temp.featureJson + \"'\";\n } else {\n temp.text += \"null\";\n }\n temp.text += \"\\n\";\n temp.text += \",\";\n if (groupIdString != null) {\n temp.text += \"(\" + groupIdString + \")\";\n } else {\n temp.text += \"null\";\n }\n temp.text += \",\";\n temp.text += \"true, false,\";\n temp.text += \"'\" + temp.menuName + \"'\";\n temp.text += \",\";\n temp.text += \"\\n\";\n temp.text += \"'\" + temp.navigationState + \"'\";\n temp.text += \",\";\n if (subgroupIdString != null) {\n temp.text += \"(\" + subgroupIdString + \")\";\n } else {\n temp.text += \"null\";\n }\n temp.text += \",\";\n temp.text += \"'\" + temp.menuType + \"'\";\n temp.text += \",\";\n temp.text += \"'\" + temp.uuid + \"'\";\n temp.text += \",\";\n if (temp.groupUUID != null) {\n temp.text += \"'\" + temp.groupUUID + \"'\";\n } else {\n temp.text += \"null\";\n }\n temp.text += \",\";\n if (temp.subgroupUUID != null) {\n temp.text += \"'\" + temp.subgroupUUID + \"'\";\n } else {\n temp.text += \"null\";\n }\n temp.text += \")\";\n temp.text += \"\\n\";\n temp.text += \"on conflict(navigation_state,active) do update\";\n temp.text += \"\\n\";\n temp.text += \"SET feature_json = excluded.feature_json,\";\n temp.text += \"\\n\";\n temp.text += \"\tgroup_id= excluded.group_id,\";\n temp.text += \"\\n\";\n temp.text += \" \tmenu_name = excluded.menu_name,\";\n temp.text += \"\\n\";\n temp.text += \"\tsub_group_id= excluded.sub_group_id,\";\n temp.text += \"\\n\";\n temp.text += \" \tmenu_type= excluded.menu_type;\";\n\n setFlywayData((prev) => ({ ...prev, queryText: temp.text }));\n }, []);\n\n /**\n * Handles the download of a SQL file with the query text.\n * @function handleDownload\n * @returns {void}\n */\n\n const handleDownload = () => {\n const blob = new Blob([flywayData?.queryText], { type: \"text/plain\" });\n const blobSizeInKB = (blob.size / 1024).toFixed(2);\n const link = document.createElement(\"a\");\n link.href = URL.createObjectURL(blob);\n link.download =\n \"V\" +\n new Date().getTime() +\n \"__CREATED_OR_UPDATED_feature_\" +\n type +\n \".sql\";\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n trackEvent(\"file_download\", {\n file_type: \"sql\",\n file_name: link.download,\n file_size: `${blobSizeInKB} KB`,\n download_status: \"success\",\n });\n handleClose();\n };\n\n /**\n * Copies the query text to the clipboard and displays a success message.\n * @function handleCopy\n * @returns {void}\n */\n\n const handleCopy = () => {\n navigator.clipboard.writeText(flywayData?.queryText).then(\n () => {\n showToast({\n message: \"Query copied\",\n type: \"success\",\n });\n },\n (err) => {\n console.error(\"Could not copy text: \", err);\n },\n );\n handleClose();\n };\n\n return (\n <Modal\n data-testid=\"flywayquery-modal\"\n open={open}\n onClose={handleClose}\n sx={{\n \"& .MuiBackdrop-root\": {\n backgroundColor: \"rgba(0, 0, 0, 0.1)\",\n },\n }}\n >\n <Grid\n container\n className=\"flex flex-col absolute top-[5%] left-1/2 transform -translate-x-1/2 w-[99%] max-w-full sm:max-w-[600px] md:max-w-[750px] lg:max-w-[900px] bg-[var(--color-background2)] shadow-md border border-slate-300 dark:border-slate-700 overflow-y-auto max-h-[90vh]\"\n >\n <Grid className=\"flex justify-between items-center p-[5px_10px] bg-slate-200 dark:bg-slate-800 border-b border-slate-300 dark:border-slate-700\">\n <Typography variant=\"body1\" className=\"font-bold text-customBlue\">\n {translate(\"FLYWAY QUERY\")}\n </Typography>\n <IconButton\n size=\"small\"\n onClick={handleClose}\n data-testid=\"flywayquery-close-button\"\n >\n <FontAwesomeIcon icon={faXmark} />\n </IconButton>\n </Grid>\n <Grid className=\"border-b border-slate-200 dark:border-slate-800 p-2.5 \">\n <TextField\n multiline\n rows={10}\n variant=\"outlined\"\n fullWidth\n value={flywayData?.queryText}\n sx={{\n \"& .MuiInputBase-input\": {\n fontSize: \"14px\",\n },\n \"& .MuiOutlinedInput-root\": {\n borderRadius: \"5px\",\n },\n }}\n slotProps={{\n input: {\n readOnly: true,\n },\n }}\n data-testid=\"flywayquery-textfield-query-display\"\n />\n </Grid>\n <Grid className=\"border-b border-slate-200 dark:border-slate-800 pb-[1px] pr-2.5 \">\n <Stack\n direction=\"row\"\n spacing={2}\n justifyContent=\"flex-end\"\n mt={1}\n mb={1}\n >\n <Button\n data-testid=\"flywayquery-download-button\"\n variant=\"contained\"\n color=\"primary\"\n size=\"small\"\n onClick={handleDownload}\n >\n {translate(\"Download\")}\n </Button>\n <Button\n data-testid=\"flywayquery-copy-button\"\n variant=\"contained\"\n size=\"small\"\n color=\"primary\"\n onClick={handleCopy}\n >\n {translate(\"Copy\")}\n </Button>\n <Button\n data-testid=\"flywayquery-close-button-action\"\n variant=\"contained\"\n size=\"small\"\n color=\"secondary\"\n onClick={handleClose}\n >\n <Typography variant=\"body2\">{translate(\"Close\")} </Typography>\n </Button>\n </Stack>\n </Grid>\n </Grid>\n </Modal>\n );\n}\n\nFlywayQuery.propTypes = {\n open: PropTypes.any,\n handleClose: PropTypes.any,\n data: PropTypes.any,\n type: PropTypes.any,\n};\n"],"names":["FlywayQuery","open","handleClose","data","type","flywayData","setFlywayData","useState","uuid","generateUUID","translate","useTranslateProvider","trackEvent","useTrackEvent","useEffect","temp","groupIdString","subgroupIdString","prev","handleDownload","blob","blobSizeInKB","link","handleCopy","showToast","err","jsx","Modal","jsxs","Grid","Typography","IconButton","FontAwesomeIcon","faXmark","TextField","Stack","Button","PropTypes"],"mappings":"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"}
|