@argusoft/medplat-core 1.0.14 → 1.0.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (119) hide show
  1. package/dist/AccessRights-Bvd5Bm5K.js +1259 -0
  2. package/dist/AccessRights-Bvd5Bm5K.js.map +1 -0
  3. package/dist/{AddEditQueryBuilder-7JRplV5J.js → AddEditQueryBuilder-Bcjl5mXE.js} +2 -2
  4. package/dist/{AddEditQueryBuilder-7JRplV5J.js.map → AddEditQueryBuilder-Bcjl5mXE.js.map} +1 -1
  5. package/dist/{AddFeatures-CkTu7sOI.js → AddFeatures-CE5rBxEG.js} +2 -2
  6. package/dist/{AddFeatures-CkTu7sOI.js.map → AddFeatures-CE5rBxEG.js.map} +1 -1
  7. package/dist/{AddLabelModal-DE3ploGD.js → AddLabelModal-CB8E8cYG.js} +2 -2
  8. package/dist/{AddLabelModal-DE3ploGD.js.map → AddLabelModal-CB8E8cYG.js.map} +1 -1
  9. package/dist/{AddRoleDrawer-ZK1eejxI.js → AddRoleDrawer-SvntLdRu.js} +44 -43
  10. package/dist/AddRoleDrawer-SvntLdRu.js.map +1 -0
  11. package/dist/{AppModal-BgZyfrd-.js → AppModal-BKgIwe1h.js} +2 -2
  12. package/dist/{AppModal-BgZyfrd-.js.map → AppModal-BKgIwe1h.js.map} +1 -1
  13. package/dist/{ChangePasswordModalCore-DIe4rzW-.js → ChangePasswordModalCore-ClND1mel.js} +67 -62
  14. package/dist/ChangePasswordModalCore-ClND1mel.js.map +1 -0
  15. package/dist/{ConditionConfig-GDCXIg3C.js → ConditionConfig-DB0FqwgG.js} +2 -2
  16. package/dist/{ConditionConfig-GDCXIg3C.js.map → ConditionConfig-DB0FqwgG.js.map} +1 -1
  17. package/dist/{EntityManagement-D-x6Qzal.js → EntityManagement-DQKXnEzz.js} +2 -2
  18. package/dist/{EntityManagement-D-x6Qzal.js.map → EntityManagement-DQKXnEzz.js.map} +1 -1
  19. package/dist/EventConfigurations-DZvSJ5EZ.js +395 -0
  20. package/dist/EventConfigurations-DZvSJ5EZ.js.map +1 -0
  21. package/dist/{EventsExceptionModal-BF6E1Np7.js → EventsExceptionModal-DsvngLi8.js} +2 -2
  22. package/dist/{EventsExceptionModal-BF6E1Np7.js.map → EventsExceptionModal-DsvngLi8.js.map} +1 -1
  23. package/dist/EventsSkeleton-DCXwwPbb.js +76 -0
  24. package/dist/EventsSkeleton-DCXwwPbb.js.map +1 -0
  25. package/dist/FeatureMenu-CLX8VNZ-.js +265 -0
  26. package/dist/FeatureMenu-CLX8VNZ-.js.map +1 -0
  27. package/dist/Features-Cpf1PDx0.js +13 -0
  28. package/dist/Features-Cpf1PDx0.js.map +1 -0
  29. package/dist/FileSaver.min-CN9EpL2h.js.map +1 -1
  30. package/dist/{ImmunizationConfigurationBase-DZ8EqXlF.js → ImmunizationConfigurationBase-VqVvVR57.js} +2095 -1872
  31. package/dist/ImmunizationConfigurationBase-VqVvVR57.js.map +1 -0
  32. package/dist/ImmunizationConfigurationsList-K2ddBpPJ.js +345 -0
  33. package/dist/ImmunizationConfigurationsList-K2ddBpPJ.js.map +1 -0
  34. package/dist/ImmunizationSkeleton-D2tdv5k-.js.map +1 -1
  35. package/dist/{LanguagesModal-rk6IGQwY.js → LanguagesModal-CX3oS8rk.js} +2 -2
  36. package/dist/{LanguagesModal-rk6IGQwY.js.map → LanguagesModal-CX3oS8rk.js.map} +1 -1
  37. package/dist/{ManageDynamicFeature-C2I7Ho7i.js → ManageDynamicFeature-CsIett5x.js} +2 -2
  38. package/dist/{ManageDynamicFeature-C2I7Ho7i.js.map → ManageDynamicFeature-CsIett5x.js.map} +1 -1
  39. package/dist/{ManageEventConfiguration-BJxS2Su0.js → ManageEventConfiguration-0YBDaxOI.js} +60 -60
  40. package/dist/ManageEventConfiguration-0YBDaxOI.js.map +1 -0
  41. package/dist/{ManageNotification-DMN2szWy.js → ManageNotification-BUAvg5Ge.js} +1797 -1705
  42. package/dist/ManageNotification-BUAvg5Ge.js.map +1 -0
  43. package/dist/{ManageRole-CuXmWQyp.js → ManageRole-Cbs9dUhc.js} +244 -191
  44. package/dist/ManageRole-Cbs9dUhc.js.map +1 -0
  45. package/dist/ManageTranslation-D9IScGhk.js +625 -0
  46. package/dist/ManageTranslation-D9IScGhk.js.map +1 -0
  47. package/dist/{ManageUser-Dr3ptCYp.js → ManageUser-eBS0yC5k.js} +754 -748
  48. package/dist/ManageUser-eBS0yC5k.js.map +1 -0
  49. package/dist/{MobileTypeEventConfigModal-ChhO_A4f.js → MobileTypeEventConfigModal-Ltm529jG.js} +2 -2
  50. package/dist/{MobileTypeEventConfigModal-ChhO_A4f.js.map → MobileTypeEventConfigModal-Ltm529jG.js.map} +1 -1
  51. package/dist/NotificationList-CUZSWp2J.js +402 -0
  52. package/dist/NotificationList-CUZSWp2J.js.map +1 -0
  53. package/dist/{OtherTypeEventConfigModal-ZnCGWm9v.js → OtherTypeEventConfigModal-dXt2qDg_.js} +2 -2
  54. package/dist/OtherTypeEventConfigModal-dXt2qDg_.js.map +1 -0
  55. package/dist/{QueryBuilder-BPfavHH9.js → QueryBuilder-DXexUIe8.js} +154 -148
  56. package/dist/QueryBuilder-DXexUIe8.js.map +1 -0
  57. package/dist/QueryManagement-B2y23kus.js +935 -0
  58. package/dist/QueryManagement-B2y23kus.js.map +1 -0
  59. package/dist/RoleManagement-BThAL5LO.js +422 -0
  60. package/dist/RoleManagement-BThAL5LO.js.map +1 -0
  61. package/dist/SubMenu-BGznOP2a.js +191 -0
  62. package/dist/SubMenu-BGznOP2a.js.map +1 -0
  63. package/dist/TableDetails-DztbjsIA.js +2069 -0
  64. package/dist/TableDetails-DztbjsIA.js.map +1 -0
  65. package/dist/TableList-DYwotUDO.js +1425 -0
  66. package/dist/TableList-DYwotUDO.js.map +1 -0
  67. package/dist/{TypeConfiguration-C-lk8Szs.js → TypeConfiguration-DYbBG_hZ.js} +2 -2
  68. package/dist/{TypeConfiguration-C-lk8Szs.js.map → TypeConfiguration-DYbBG_hZ.js.map} +1 -1
  69. package/dist/{UserList-S5Q76wO7.js → UserList-BAeAFeXZ.js} +410 -400
  70. package/dist/UserList-BAeAFeXZ.js.map +1 -0
  71. package/dist/{UserListSkeleton-cglK2SaU.js → UserListSkeleton-DhIJ5X3y.js} +10 -7
  72. package/dist/UserListSkeleton-DhIJ5X3y.js.map +1 -0
  73. package/dist/WidgetList-D-fIf3N2.js +200 -0
  74. package/dist/WidgetList-D-fIf3N2.js.map +1 -0
  75. package/dist/i18next-CTOWN_jH.js.map +1 -1
  76. package/dist/index.css +1 -1
  77. package/dist/index.js +64 -63
  78. package/dist/index.js.map +1 -1
  79. package/dist/xlsx.min-D1LFqt_b.js.map +1 -1
  80. package/package.json +1 -1
  81. package/dist/AccessRights-BMRM1u9S.js +0 -1228
  82. package/dist/AccessRights-BMRM1u9S.js.map +0 -1
  83. package/dist/AddRoleDrawer-ZK1eejxI.js.map +0 -1
  84. package/dist/ChangePasswordModalCore-DIe4rzW-.js.map +0 -1
  85. package/dist/EventConfigurations-jGCJ4LqP.js +0 -384
  86. package/dist/EventConfigurations-jGCJ4LqP.js.map +0 -1
  87. package/dist/EventsSkeleton-BN7_0IGs.js +0 -74
  88. package/dist/EventsSkeleton-BN7_0IGs.js.map +0 -1
  89. package/dist/FeatureMenu-Ds6lFg4w.js +0 -249
  90. package/dist/FeatureMenu-Ds6lFg4w.js.map +0 -1
  91. package/dist/Features-Cshdl06N.js +0 -12
  92. package/dist/Features-Cshdl06N.js.map +0 -1
  93. package/dist/ImmunizationConfigurationBase-DZ8EqXlF.js.map +0 -1
  94. package/dist/ImmunizationConfigurationsList-CQnxWa09.js +0 -335
  95. package/dist/ImmunizationConfigurationsList-CQnxWa09.js.map +0 -1
  96. package/dist/ManageEventConfiguration-BJxS2Su0.js.map +0 -1
  97. package/dist/ManageNotification-DMN2szWy.js.map +0 -1
  98. package/dist/ManageRole-CuXmWQyp.js.map +0 -1
  99. package/dist/ManageTranslation-BTxvSYKb.js +0 -616
  100. package/dist/ManageTranslation-BTxvSYKb.js.map +0 -1
  101. package/dist/ManageUser-Dr3ptCYp.js.map +0 -1
  102. package/dist/NotificationList-BqibwMaM.js +0 -400
  103. package/dist/NotificationList-BqibwMaM.js.map +0 -1
  104. package/dist/OtherTypeEventConfigModal-ZnCGWm9v.js.map +0 -1
  105. package/dist/QueryBuilder-BPfavHH9.js.map +0 -1
  106. package/dist/QueryManagement-DXA73N2j.js +0 -671
  107. package/dist/QueryManagement-DXA73N2j.js.map +0 -1
  108. package/dist/RoleManagement-C0feJCuq.js +0 -410
  109. package/dist/RoleManagement-C0feJCuq.js.map +0 -1
  110. package/dist/SubMenu-DAfZC9Xi.js +0 -188
  111. package/dist/SubMenu-DAfZC9Xi.js.map +0 -1
  112. package/dist/TableDetails-DzREeJkm.js +0 -1508
  113. package/dist/TableDetails-DzREeJkm.js.map +0 -1
  114. package/dist/TableList-B9hr05Hs.js +0 -428
  115. package/dist/TableList-B9hr05Hs.js.map +0 -1
  116. package/dist/UserList-S5Q76wO7.js.map +0 -1
  117. package/dist/UserListSkeleton-cglK2SaU.js.map +0 -1
  118. package/dist/WidgetList-BSApErov.js +0 -188
  119. package/dist/WidgetList-BSApErov.js.map +0 -1
@@ -1,188 +0,0 @@
1
- import { jsxs as d, Fragment as K, jsx as a } from "react/jsx-runtime";
2
- import { useState as o, Suspense as T, lazy as M } from "react";
3
- import { useSelector as W } from "react-redux";
4
- import "@/assets/scss/scrollBar.scss";
5
- import { useTranslateProvider as X } from "@/common/languageTranslator/TranslationContext";
6
- import { useTheme as Z, Typography as p, TextField as _, TableContainer as ee, Table as ae, TableBody as re, TableRow as te, TableCell as oe, List as k, ListItem as I, darken as ne } from "@mui/material";
7
- import s from "@mui/material/Grid2";
8
- import r from "prop-types";
9
- import { useNavigate as se } from "react-router-dom";
10
- import { FontAwesomeIcon as h } from "@fortawesome/react-fontawesome";
11
- import { faArrowsRotate as le, faPen as ie, faFloppyDisk as ce } from "@fortawesome/free-solid-svg-icons";
12
- import { S as de } from "./FeatureMenu-Ds6lFg4w.js";
13
- const ue = M(() => import("./FlywayQuery-Cx2sly6g.js")), me = M(() => import("./ServerSyncModal-D_oFpv3C.js"));
14
- function pe({
15
- data: y,
16
- subMenuId: i,
17
- setSubMenuId: $,
18
- setSubMenuGroupName: L,
19
- setSubMenuFeatureVal: A,
20
- type: f,
21
- isLoading: D,
22
- isNewAPI: P,
23
- subMenuGroupName: z
24
- }) {
25
- const [b, q] = o(""), [S, g] = o(!1), [x, N] = o(null), [v, B] = o(""), [C, w] = o(!1), [R, j] = o(), [G, O] = o({}), [Q, E] = o(""), u = Z().palette.divider, c = y.filter(
26
- (e) => e.name.toLowerCase().includes(b.toLowerCase())
27
- ), { translate: F } = X(), { user: n } = W((e) => e.Authenticate), H = (n == null ? void 0 : n.roleCode) === "argusadmin" || (n == null ? void 0 : n.roleCode) === "medplatadmin", U = se(), V = (e, t, l) => {
28
- const m = t ? "DYNAMIC" : "STATIC", J = `addDynamicFeature?${new URLSearchParams({
29
- featureId: e,
30
- featureType: l,
31
- subMenuGroupName: z,
32
- staticOrDynamic: m
33
- }).toString()}`;
34
- U(J, { state: { isNew: P } });
35
- }, Y = (e, t, l) => {
36
- j(e), E(t), O(l), w(!0);
37
- };
38
- return /* @__PURE__ */ d(K, { children: [
39
- /* @__PURE__ */ a(de, { isLoading: D, children: /* @__PURE__ */ d(s, { container: !0, className: "flex flex-col w-full", children: [
40
- /* @__PURE__ */ a(s, { className: "p-2.5 flex-0", sx: { borderBottom: `1px solid ${u}` }, children: /* @__PURE__ */ a(p, { variant: "body2", className: "pl-1.5 font-bold pt-0.5", children: F("List of Sub Menus") }) }),
41
- /* @__PURE__ */ a(s, { className: "px-2 py-1 flex-0", sx: { borderBottom: `1px solid ${u}` }, children: /* @__PURE__ */ a(
42
- _,
43
- {
44
- placeholder: "Search Features",
45
- variant: "outlined",
46
- size: "small",
47
- value: b,
48
- onChange: (e) => q(e.target.value),
49
- sx: {
50
- width: "100%",
51
- backgroundColor: (e) => e.palette.background.paper
52
- },
53
- "data-testid": "submenu-search-input"
54
- }
55
- ) }),
56
- /* @__PURE__ */ a(s, { width: "100%", className: "flex-1 ", children: /* @__PURE__ */ a(
57
- ee,
58
- {
59
- className: "",
60
- style: { maxHeight: "calc(100vh - 300px)" },
61
- children: /* @__PURE__ */ a(ae, { children: /* @__PURE__ */ a(re, { children: /* @__PURE__ */ a(
62
- te,
63
- {
64
- sx: {
65
- backgroundColor: (e) => e.palette.background.main
66
- },
67
- children: /* @__PURE__ */ a(oe, { className: "p-0 h-full align-top", children: /* @__PURE__ */ a(s, { children: c.length ? /* @__PURE__ */ a(k, { className: "p-0 m-0", children: c == null ? void 0 : c.map(
68
- (e, t, l) => /* @__PURE__ */ d(
69
- I,
70
- {
71
- className: "flex justify-between px-4 py-2 transition-colors duration-300",
72
- onMouseEnter: () => N(t),
73
- onMouseLeave: () => N(null),
74
- onClick: () => {
75
- $(e.id), L(e.groupName), A(e.isNewFeature);
76
- },
77
- "data-testid": `submenu-list-item-${e.id}`,
78
- sx: {
79
- borderBottom: t === l.length - 1 ? "none" : `1px solid ${u}`,
80
- backgroundColor: (m) => i === e.id ? ne(
81
- m.palette.background.default,
82
- 0.1
83
- ) : "inherit"
84
- },
85
- children: [
86
- /* @__PURE__ */ a(
87
- p,
88
- {
89
- variant: "body2",
90
- className: `m-0 ${i === e.id || x === t ? "font-bold" : "font-normal"} ${x === t ? "cursor-pointer" : "cursor-default"}`,
91
- children: e.name
92
- }
93
- ),
94
- e.isDynamicReport !== !0 && H && /* @__PURE__ */ d(s, { className: "flex flex-row", children: [
95
- e.isDynamicFeature && /* @__PURE__ */ a(
96
- h,
97
- {
98
- size: "lg",
99
- icon: le,
100
- rotation: 90,
101
- onClick: () => Y(
102
- e.id,
103
- e.navigationState,
104
- e
105
- ),
106
- className: "mr-2 text-[var(--color-primary)]"
107
- }
108
- ),
109
- /* @__PURE__ */ a(
110
- "button",
111
- {
112
- onClick: () => V(
113
- e.id,
114
- e.isDynamicFeature,
115
- f
116
- ),
117
- disabled: e.id !== i,
118
- className: `mr-2 ${e.id !== i ? "text-gray-400 cursor-not-allowed" : "text-[var(--color-primary)]"}`,
119
- children: /* @__PURE__ */ a(
120
- h,
121
- {
122
- size: "lg",
123
- icon: ie,
124
- "data-testid": `submenu-edit-button-${e.id}`
125
- }
126
- )
127
- }
128
- ),
129
- /* @__PURE__ */ a(
130
- h,
131
- {
132
- icon: ce,
133
- size: "lg",
134
- onClick: () => {
135
- g(!0), B(e.id);
136
- },
137
- "data-testid": `submenu-save-button-${e.id}`,
138
- className: "mr-1 text-[var(--color-primary)] cursor-pointer"
139
- }
140
- )
141
- ] })
142
- ]
143
- },
144
- e == null ? void 0 : e.id
145
- )
146
- ) }) : /* @__PURE__ */ a(k, { className: "p-0 m-0", children: /* @__PURE__ */ a(I, { children: /* @__PURE__ */ a(p, { variant: "body2", className: " m-0", children: F("No features for search query") }) }) }) }) })
147
- }
148
- ) }) })
149
- }
150
- ) })
151
- ] }) }),
152
- S === !0 && /* @__PURE__ */ a(T, { children: /* @__PURE__ */ a(
153
- ue,
154
- {
155
- "data-testid": "submenu-flywayquery",
156
- open: S,
157
- data: v ? y.find((e) => e.id === v) : {},
158
- type: f,
159
- handleClose: () => g(!1)
160
- }
161
- ) }),
162
- /* @__PURE__ */ a(T, { children: C && /* @__PURE__ */ a(
163
- me,
164
- {
165
- id: R,
166
- selectedFeature: G,
167
- navigationState: Q,
168
- openServerSyncModal: C,
169
- openModalFunc: w
170
- }
171
- ) })
172
- ] });
173
- }
174
- pe.propTypes = {
175
- data: r.any,
176
- subMenuId: r.any,
177
- setSubMenuId: r.any,
178
- setSubMenuGroupName: r.any,
179
- setSubMenuFeatureVal: r.any,
180
- type: r.any,
181
- isLoading: r.any,
182
- isNewAPI: r.any,
183
- subMenuGroupName: r.any
184
- };
185
- export {
186
- pe as default
187
- };
188
- //# sourceMappingURL=SubMenu-DAfZC9Xi.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SubMenu-DAfZC9Xi.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\";\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}) {\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 && (\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 <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 <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 </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};\n"],"names":["FlywayQuery","lazy","ServerSyncModal","SubMenu","data","subMenuId","setSubMenuId","setSubMenuGroupName","setSubMenuFeatureVal","type","isLoading","isNewAPI","subMenuGroupName","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","FontAwesomeIcon","faArrowsRotate","faPen","faFloppyDisk","Suspense","PropTypes"],"mappings":"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"}