@argusoft/medplat-core 1.0.26 → 1.0.27
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{AccessRights-CupmTG3T.js → AccessRights-CHu27ZOw.js} +220 -217
- package/dist/AccessRights-CHu27ZOw.js.map +1 -0
- package/dist/{AddEditQueryBuilder-C8ZSkOF0.js → AddEditQueryBuilder-Brdnm6rQ.js} +2 -2
- package/dist/{AddEditQueryBuilder-C8ZSkOF0.js.map → AddEditQueryBuilder-Brdnm6rQ.js.map} +1 -1
- package/dist/{AddFeatures-CqE3v0BN.js → AddFeatures-C0Z29oSd.js} +2 -2
- package/dist/{AddFeatures-CqE3v0BN.js.map → AddFeatures-C0Z29oSd.js.map} +1 -1
- package/dist/{AddLabelModal-CB8E8cYG.js → AddLabelModal-DFllBVcd.js} +2 -2
- package/dist/{AddLabelModal-CB8E8cYG.js.map → AddLabelModal-DFllBVcd.js.map} +1 -1
- package/dist/{AppModal-BKgIwe1h.js → AppModal-CtG2GjD_.js} +2 -2
- package/dist/{AppModal-BKgIwe1h.js.map → AppModal-CtG2GjD_.js.map} +1 -1
- package/dist/{ChangePasswordModalCore-DTYWRTa-.js → ChangePasswordModalCore-CDxkeIIM.js} +2 -2
- package/dist/{ChangePasswordModalCore-DTYWRTa-.js.map → ChangePasswordModalCore-CDxkeIIM.js.map} +1 -1
- package/dist/{EventConfigurations-lPcZGpLi.js → EventConfigurations-kNtAj_WM.js} +76 -76
- package/dist/EventConfigurations-kNtAj_WM.js.map +1 -0
- package/dist/{FeatureMenu-DUZL32RI.js → FeatureMenu-jl7-Tk6y.js} +49 -49
- package/dist/FeatureMenu-jl7-Tk6y.js.map +1 -0
- package/dist/FileSaver.min-CN9EpL2h.js.map +1 -1
- package/dist/{ImmunizationConfigurationsList-K2ddBpPJ.js → ImmunizationConfigurationsList-DdSZicTP.js} +72 -73
- package/dist/{ImmunizationConfigurationsList-K2ddBpPJ.js.map → ImmunizationConfigurationsList-DdSZicTP.js.map} +1 -1
- package/dist/ImmunizationSkeleton-D2tdv5k-.js.map +1 -1
- package/dist/{LanguagesModal-CX3oS8rk.js → LanguagesModal-D6VfaGrl.js} +2 -2
- package/dist/{LanguagesModal-CX3oS8rk.js.map → LanguagesModal-D6VfaGrl.js.map} +1 -1
- package/dist/{ManageNotification-CSl02Wq7.js → ManageNotification-CaBAOhji.js} +2 -2
- package/dist/ManageNotification-CaBAOhji.js.map +1 -0
- package/dist/{ManageRole-B9bs_T00.js → ManageRole-CGYfglpo.js} +2 -2
- package/dist/{ManageRole-B9bs_T00.js.map → ManageRole-CGYfglpo.js.map} +1 -1
- package/dist/{ManageTranslation-D9IScGhk.js → ManageTranslation-B4C9-lWD.js} +74 -74
- package/dist/ManageTranslation-B4C9-lWD.js.map +1 -0
- package/dist/{ManageUser-AB3_Vfp_.js → ManageUser-AY1EUDLI.js} +600 -601
- package/dist/ManageUser-AY1EUDLI.js.map +1 -0
- package/dist/{NotificationList-D1U1LYnz.js → NotificationList-C3Vb_jKU.js} +73 -73
- package/dist/NotificationList-C3Vb_jKU.js.map +1 -0
- package/dist/OtherTypeEventConfigModal-BeG1GrUi.js.map +1 -1
- package/dist/{QueryBuilder-DI0wCJbz.js → QueryBuilder-z7eqfd7D.js} +117 -119
- package/dist/QueryBuilder-z7eqfd7D.js.map +1 -0
- package/dist/{QueryManagement-CRykYGum.js → QueryManagement-BIhEDKuA.js} +114 -114
- package/dist/QueryManagement-BIhEDKuA.js.map +1 -0
- package/dist/{RoleManagement-BIiW9uTq.js → RoleManagement-BPl2cE27.js} +99 -99
- package/dist/RoleManagement-BPl2cE27.js.map +1 -0
- package/dist/{SubMenu-CM_4wNCR.js → SubMenu-DYxAPH2Z.js} +34 -34
- package/dist/SubMenu-DYxAPH2Z.js.map +1 -0
- package/dist/{UserList-2gGuDgNa.js → UserList-Bc8gYxRL.js} +397 -400
- package/dist/UserList-Bc8gYxRL.js.map +1 -0
- package/dist/{WidgetList-B7X8Awkg.js → WidgetList-Dw_FmbbE.js} +26 -26
- package/dist/WidgetList-Dw_FmbbE.js.map +1 -0
- package/dist/i18next-CTOWN_jH.js.map +1 -1
- package/dist/index.css +1 -1
- package/dist/index.js +10 -10
- package/dist/xlsx.min-D1LFqt_b.js.map +1 -1
- package/package.json +1 -1
- package/dist/AccessRights-CupmTG3T.js.map +0 -1
- package/dist/EventConfigurations-lPcZGpLi.js.map +0 -1
- package/dist/FeatureMenu-DUZL32RI.js.map +0 -1
- package/dist/ManageNotification-CSl02Wq7.js.map +0 -1
- package/dist/ManageTranslation-D9IScGhk.js.map +0 -1
- package/dist/ManageUser-AB3_Vfp_.js.map +0 -1
- package/dist/NotificationList-D1U1LYnz.js.map +0 -1
- package/dist/QueryBuilder-DI0wCJbz.js.map +0 -1
- package/dist/QueryManagement-CRykYGum.js.map +0 -1
- package/dist/RoleManagement-BIiW9uTq.js.map +0 -1
- package/dist/SubMenu-CM_4wNCR.js.map +0 -1
- package/dist/UserList-2gGuDgNa.js.map +0 -1
- package/dist/WidgetList-B7X8Awkg.js.map +0 -1
|
@@ -3,13 +3,13 @@ import { useState as n, Suspense as I, lazy as L } from "react";
|
|
|
3
3
|
import { useSelector as Z } from "react-redux";
|
|
4
4
|
import "@/assets/scss/scrollBar.scss";
|
|
5
5
|
import { useTranslateProvider as _ } from "@/common/languageTranslator/TranslationContext";
|
|
6
|
-
import { useTheme as ee, Typography as y, TextField as ae, TableContainer as
|
|
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
7
|
import s from "@mui/material/Grid2";
|
|
8
|
-
import
|
|
8
|
+
import t from "prop-types";
|
|
9
9
|
import { useNavigate as ce } from "react-router-dom";
|
|
10
10
|
import { FontAwesomeIcon as f } from "@fortawesome/react-fontawesome";
|
|
11
11
|
import { faArrowsRotate as de, faPen as ie, faFloppyDisk as ue } from "@fortawesome/free-solid-svg-icons";
|
|
12
|
-
import { S as me } from "./FeatureMenu-
|
|
12
|
+
import { S as me } from "./FeatureMenu-jl7-Tk6y.js";
|
|
13
13
|
import h from "@/common/services/util/GeneralUtil";
|
|
14
14
|
const pe = L(() => import("./FlywayQuery-Cx2sly6g.js")), ye = L(() => import("./ServerSyncModal-D_oFpv3C.js"));
|
|
15
15
|
function fe({
|
|
@@ -19,27 +19,27 @@ function fe({
|
|
|
19
19
|
setSubMenuGroupName: D,
|
|
20
20
|
setSubMenuFeatureVal: P,
|
|
21
21
|
type: S,
|
|
22
|
-
isLoading:
|
|
23
|
-
isNewAPI:
|
|
24
|
-
subMenuGroupName:
|
|
25
|
-
rights:
|
|
22
|
+
isLoading: R,
|
|
23
|
+
isNewAPI: z,
|
|
24
|
+
subMenuGroupName: q,
|
|
25
|
+
rights: o
|
|
26
26
|
}) {
|
|
27
|
-
const [x,
|
|
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
28
|
(e) => e.name.toLowerCase().includes(x.toLowerCase())
|
|
29
|
-
), { translate:
|
|
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
30
|
const p = r ? "DYNAMIC" : "STATIC", W = `addDynamicFeature?${new URLSearchParams({
|
|
31
31
|
featureId: e,
|
|
32
32
|
featureType: c,
|
|
33
|
-
subMenuGroupName:
|
|
33
|
+
subMenuGroupName: q,
|
|
34
34
|
staticOrDynamic: p
|
|
35
35
|
}).toString()}`;
|
|
36
|
-
Y(W, { state: { isNew:
|
|
36
|
+
Y(W, { state: { isNew: z } });
|
|
37
37
|
}, K = (e, r, c) => {
|
|
38
38
|
O(e), U(r), E(c), F(!0);
|
|
39
39
|
};
|
|
40
40
|
return /* @__PURE__ */ u(X, { children: [
|
|
41
|
-
/* @__PURE__ */ a(me, { isLoading:
|
|
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:
|
|
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
43
|
/* @__PURE__ */ a(s, { className: "px-2 py-1 flex-0", sx: { borderBottom: `1px solid ${m}` }, children: /* @__PURE__ */ a(
|
|
44
44
|
ae,
|
|
45
45
|
{
|
|
@@ -47,7 +47,7 @@ function fe({
|
|
|
47
47
|
variant: "outlined",
|
|
48
48
|
size: "small",
|
|
49
49
|
value: x,
|
|
50
|
-
onChange: (e) =>
|
|
50
|
+
onChange: (e) => B(e.target.value),
|
|
51
51
|
sx: {
|
|
52
52
|
width: "100%",
|
|
53
53
|
backgroundColor: (e) => e.palette.background.paper
|
|
@@ -56,11 +56,11 @@ function fe({
|
|
|
56
56
|
}
|
|
57
57
|
) }),
|
|
58
58
|
/* @__PURE__ */ a(s, { width: "100%", className: "flex-1 ", children: /* @__PURE__ */ a(
|
|
59
|
-
|
|
59
|
+
te,
|
|
60
60
|
{
|
|
61
61
|
className: "",
|
|
62
62
|
style: { maxHeight: "calc(100vh - 300px)" },
|
|
63
|
-
children: /* @__PURE__ */ a(
|
|
63
|
+
children: /* @__PURE__ */ a(oe, { children: /* @__PURE__ */ a(re, { children: /* @__PURE__ */ a(
|
|
64
64
|
ne,
|
|
65
65
|
{
|
|
66
66
|
sx: {
|
|
@@ -94,7 +94,7 @@ function fe({
|
|
|
94
94
|
}
|
|
95
95
|
),
|
|
96
96
|
e.isDynamicReport !== !0 && V && /* @__PURE__ */ u(s, { className: "flex flex-row", children: [
|
|
97
|
-
e.isDynamicFeature &&
|
|
97
|
+
e.isDynamicFeature && h.hasCheckRights(o == null ? void 0 : o["update.manage.featurelist"]) && /* @__PURE__ */ a(
|
|
98
98
|
f,
|
|
99
99
|
{
|
|
100
100
|
size: "lg",
|
|
@@ -108,7 +108,7 @@ function fe({
|
|
|
108
108
|
className: "mr-2 text-[var(--color-primary)]"
|
|
109
109
|
}
|
|
110
110
|
),
|
|
111
|
-
|
|
111
|
+
h.hasCheckRights(o == null ? void 0 : o["update.manage.featurelist"]) && /* @__PURE__ */ a(
|
|
112
112
|
"button",
|
|
113
113
|
{
|
|
114
114
|
onClick: () => J(
|
|
@@ -128,13 +128,13 @@ function fe({
|
|
|
128
128
|
)
|
|
129
129
|
}
|
|
130
130
|
),
|
|
131
|
-
|
|
131
|
+
h.hasCheckRights(o == null ? void 0 : o["update.manage.featurelist"]) && /* @__PURE__ */ a(
|
|
132
132
|
f,
|
|
133
133
|
{
|
|
134
134
|
icon: ue,
|
|
135
135
|
size: "lg",
|
|
136
136
|
onClick: () => {
|
|
137
|
-
v(!0),
|
|
137
|
+
v(!0), G(e.id);
|
|
138
138
|
},
|
|
139
139
|
"data-testid": `submenu-save-button-${e.id}`,
|
|
140
140
|
className: "mr-1 text-[var(--color-primary)] cursor-pointer"
|
|
@@ -145,7 +145,7 @@ function fe({
|
|
|
145
145
|
},
|
|
146
146
|
e == null ? void 0 : e.id
|
|
147
147
|
)
|
|
148
|
-
) }) : /* @__PURE__ */ a(M, { className: "p-0 m-0", children: /* @__PURE__ */ a($, { children: /* @__PURE__ */ a(y, { variant: "body2", className: " m-0", children:
|
|
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
149
|
}
|
|
150
150
|
) }) })
|
|
151
151
|
}
|
|
@@ -161,31 +161,31 @@ function fe({
|
|
|
161
161
|
handleClose: () => v(!1)
|
|
162
162
|
}
|
|
163
163
|
) }),
|
|
164
|
-
/* @__PURE__ */ a(I, { children:
|
|
164
|
+
/* @__PURE__ */ a(I, { children: k && /* @__PURE__ */ a(
|
|
165
165
|
ye,
|
|
166
166
|
{
|
|
167
167
|
id: j,
|
|
168
168
|
selectedFeature: Q,
|
|
169
169
|
navigationState: H,
|
|
170
|
-
openServerSyncModal:
|
|
170
|
+
openServerSyncModal: k,
|
|
171
171
|
openModalFunc: F
|
|
172
172
|
}
|
|
173
173
|
) })
|
|
174
174
|
] });
|
|
175
175
|
}
|
|
176
176
|
fe.propTypes = {
|
|
177
|
-
data:
|
|
178
|
-
subMenuId:
|
|
179
|
-
setSubMenuId:
|
|
180
|
-
setSubMenuGroupName:
|
|
181
|
-
setSubMenuFeatureVal:
|
|
182
|
-
type:
|
|
183
|
-
isLoading:
|
|
184
|
-
isNewAPI:
|
|
185
|
-
subMenuGroupName:
|
|
186
|
-
rights:
|
|
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
187
|
};
|
|
188
188
|
export {
|
|
189
189
|
fe as default
|
|
190
190
|
};
|
|
191
|
-
//# sourceMappingURL=SubMenu-
|
|
191
|
+
//# sourceMappingURL=SubMenu-DYxAPH2Z.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SubMenu-DYxAPH2Z.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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"}
|