@argusoft/medplat-core 1.0.14 → 1.0.15

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 (111) 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-CTGy8Ttf.js} +2 -2
  14. package/dist/{ChangePasswordModalCore-DIe4rzW-.js.map → ChangePasswordModalCore-CTGy8Ttf.js.map} +1 -1
  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/ImmunizationConfigurationsList-K2ddBpPJ.js +345 -0
  31. package/dist/ImmunizationConfigurationsList-K2ddBpPJ.js.map +1 -0
  32. package/dist/ImmunizationSkeleton-D2tdv5k-.js.map +1 -1
  33. package/dist/{LanguagesModal-rk6IGQwY.js → LanguagesModal-CX3oS8rk.js} +2 -2
  34. package/dist/{LanguagesModal-rk6IGQwY.js.map → LanguagesModal-CX3oS8rk.js.map} +1 -1
  35. package/dist/{ManageDynamicFeature-C2I7Ho7i.js → ManageDynamicFeature-CsIett5x.js} +2 -2
  36. package/dist/{ManageDynamicFeature-C2I7Ho7i.js.map → ManageDynamicFeature-CsIett5x.js.map} +1 -1
  37. package/dist/{ManageEventConfiguration-BJxS2Su0.js → ManageEventConfiguration-0YBDaxOI.js} +60 -60
  38. package/dist/ManageEventConfiguration-0YBDaxOI.js.map +1 -0
  39. package/dist/{ManageNotification-DMN2szWy.js → ManageNotification-EQgnOO0U.js} +632 -632
  40. package/dist/ManageNotification-EQgnOO0U.js.map +1 -0
  41. package/dist/{ManageRole-CuXmWQyp.js → ManageRole-Cbs9dUhc.js} +244 -191
  42. package/dist/ManageRole-Cbs9dUhc.js.map +1 -0
  43. package/dist/ManageTranslation-D9IScGhk.js +625 -0
  44. package/dist/ManageTranslation-D9IScGhk.js.map +1 -0
  45. package/dist/{ManageUser-Dr3ptCYp.js → ManageUser-C9uMe9av.js} +744 -735
  46. package/dist/ManageUser-C9uMe9av.js.map +1 -0
  47. package/dist/{MobileTypeEventConfigModal-ChhO_A4f.js → MobileTypeEventConfigModal-Ltm529jG.js} +2 -2
  48. package/dist/{MobileTypeEventConfigModal-ChhO_A4f.js.map → MobileTypeEventConfigModal-Ltm529jG.js.map} +1 -1
  49. package/dist/NotificationList-BZwvgsf6.js +402 -0
  50. package/dist/NotificationList-BZwvgsf6.js.map +1 -0
  51. package/dist/{OtherTypeEventConfigModal-ZnCGWm9v.js → OtherTypeEventConfigModal-dXt2qDg_.js} +2 -2
  52. package/dist/OtherTypeEventConfigModal-dXt2qDg_.js.map +1 -0
  53. package/dist/{QueryBuilder-BPfavHH9.js → QueryBuilder-DXexUIe8.js} +154 -148
  54. package/dist/QueryBuilder-DXexUIe8.js.map +1 -0
  55. package/dist/{QueryManagement-DXA73N2j.js → QueryManagement-BpIRH8hI.js} +228 -214
  56. package/dist/QueryManagement-BpIRH8hI.js.map +1 -0
  57. package/dist/RoleManagement-BThAL5LO.js +422 -0
  58. package/dist/RoleManagement-BThAL5LO.js.map +1 -0
  59. package/dist/SubMenu-BGznOP2a.js +191 -0
  60. package/dist/SubMenu-BGznOP2a.js.map +1 -0
  61. package/dist/TableDetails-DztbjsIA.js +2069 -0
  62. package/dist/TableDetails-DztbjsIA.js.map +1 -0
  63. package/dist/TableList-DYwotUDO.js +1425 -0
  64. package/dist/TableList-DYwotUDO.js.map +1 -0
  65. package/dist/{TypeConfiguration-C-lk8Szs.js → TypeConfiguration-DYbBG_hZ.js} +2 -2
  66. package/dist/{TypeConfiguration-C-lk8Szs.js.map → TypeConfiguration-DYbBG_hZ.js.map} +1 -1
  67. package/dist/{UserList-S5Q76wO7.js → UserList-BH6OpZvq.js} +410 -400
  68. package/dist/UserList-BH6OpZvq.js.map +1 -0
  69. package/dist/UserListSkeleton-cglK2SaU.js.map +1 -1
  70. package/dist/WidgetList-D-fIf3N2.js +200 -0
  71. package/dist/WidgetList-D-fIf3N2.js.map +1 -0
  72. package/dist/i18next-CTOWN_jH.js.map +1 -1
  73. package/dist/index.css +1 -1
  74. package/dist/index.js +13 -13
  75. package/dist/xlsx.min-D1LFqt_b.js.map +1 -1
  76. package/package.json +1 -1
  77. package/dist/AccessRights-BMRM1u9S.js +0 -1228
  78. package/dist/AccessRights-BMRM1u9S.js.map +0 -1
  79. package/dist/AddRoleDrawer-ZK1eejxI.js.map +0 -1
  80. package/dist/EventConfigurations-jGCJ4LqP.js +0 -384
  81. package/dist/EventConfigurations-jGCJ4LqP.js.map +0 -1
  82. package/dist/EventsSkeleton-BN7_0IGs.js +0 -74
  83. package/dist/EventsSkeleton-BN7_0IGs.js.map +0 -1
  84. package/dist/FeatureMenu-Ds6lFg4w.js +0 -249
  85. package/dist/FeatureMenu-Ds6lFg4w.js.map +0 -1
  86. package/dist/Features-Cshdl06N.js +0 -12
  87. package/dist/Features-Cshdl06N.js.map +0 -1
  88. package/dist/ImmunizationConfigurationsList-CQnxWa09.js +0 -335
  89. package/dist/ImmunizationConfigurationsList-CQnxWa09.js.map +0 -1
  90. package/dist/ManageEventConfiguration-BJxS2Su0.js.map +0 -1
  91. package/dist/ManageNotification-DMN2szWy.js.map +0 -1
  92. package/dist/ManageRole-CuXmWQyp.js.map +0 -1
  93. package/dist/ManageTranslation-BTxvSYKb.js +0 -616
  94. package/dist/ManageTranslation-BTxvSYKb.js.map +0 -1
  95. package/dist/ManageUser-Dr3ptCYp.js.map +0 -1
  96. package/dist/NotificationList-BqibwMaM.js +0 -400
  97. package/dist/NotificationList-BqibwMaM.js.map +0 -1
  98. package/dist/OtherTypeEventConfigModal-ZnCGWm9v.js.map +0 -1
  99. package/dist/QueryBuilder-BPfavHH9.js.map +0 -1
  100. package/dist/QueryManagement-DXA73N2j.js.map +0 -1
  101. package/dist/RoleManagement-C0feJCuq.js +0 -410
  102. package/dist/RoleManagement-C0feJCuq.js.map +0 -1
  103. package/dist/SubMenu-DAfZC9Xi.js +0 -188
  104. package/dist/SubMenu-DAfZC9Xi.js.map +0 -1
  105. package/dist/TableDetails-DzREeJkm.js +0 -1508
  106. package/dist/TableDetails-DzREeJkm.js.map +0 -1
  107. package/dist/TableList-B9hr05Hs.js +0 -428
  108. package/dist/TableList-B9hr05Hs.js.map +0 -1
  109. package/dist/UserList-S5Q76wO7.js.map +0 -1
  110. package/dist/WidgetList-BSApErov.js +0 -188
  111. package/dist/WidgetList-BSApErov.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"RoleManagement-C0feJCuq.js","sources":["../src/services/Roles.js","../src/views/Roles/Skeletons/RoleManagementSkeleton.jsx","../src/views/Roles/RoleManagement.jsx"],"sourcesContent":["import { api } from \"@/common/interceptors/AxiosInterceptor\";\n\nexport const getAllRoleList = () => api.get(\"/role\");\n\nexport const deleteRoleFeature = (id) =>\n api.delete(`/menuconfig/usermenuitem/${id}`);\n\nexport const getRoleById = (id) => api.get(`/role/${id}`);\n\nexport const postRole = (params) => api.post(\"/role\", { ...params });\n\nexport const ToggleState = (params) =>\n api.put(`role/?is_active=${params.state === \"INACTIVE\" ? \"true\" : \"false\"}`, {\n ...params,\n });\nexport const postNewFeature = (params, id) =>\n api.post(`/menuconfig/assignnewfeature?roleId=${id}`, { ...params });\n","import PropTypes from \"prop-types\";\nimport React from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { getUseSkeleton } from \"@/store/reducers/SkeletonReducer\";\n\nconst RoleManagementSkeleton = ({ children, isLoading = true }) => {\n const useSkeleton = useSelector(getUseSkeleton);\n if (!useSkeleton) {\n return children;\n }\n if (!isLoading) {\n return children;\n }\n\n return (\n <div className=\"pt-6 relative h-[90vh]\">\n {/* skleton for roles and add button */}\n\n <div className=\"flex flex-row h-[80vh] \">\n <div className=\"flex flex-col border border-gray-300 w-[20%] p-2 mr-3 rounded-md\">\n {\" \"}\n <div className=\"flex justify-between\">\n {/* skleton for list of roles and toogle roles */}\n <div className=\"bg-gray-300 animate-pulse rounded-sm w-23 h-[40px] mr-3\"></div>\n <div className=\"bg-gray-300 animate-pulse rounded-sm w-40 h-[40px]\"></div>\n </div>\n <div className=\"bg-gray-300 animate-pulse rounded-sm mt-2 w-full h-[50px]\"></div>\n <div className=\"bg-gray-300 animate-pulse rounded-sm mt-2 w-full h-full\"></div>\n </div>\n <div className=\"flex flex-col border border-gray-300 w-[80%] p-2 rounded-md\">\n <div className=\"flex justify-between\">\n {/* skleton for role name and options */}\n <div className=\"bg-gray-300 animate-pulse rounded-sm w-24 h-[40px]\"></div>\n <div className=\"bg-gray-300 animate-pulse rounded-sm w-21 h-[40px]\"></div>\n </div>\n <div className=\"bg-gray-300 animate-pulse rounded-sm mt-2 w-full h-[50px]\"></div>\n <div className=\"bg-gray-300 animate-pulse rounded-sm mt-2 w-full h-full\"></div>\n </div>\n </div>\n\n <div className=\"absolute bottom-20 right-[10px] \">\n <div className=\"bg-gray-300 animate-pulse rounded-full w-[40px] h-[40px]\"></div>\n </div>\n </div>\n );\n};\n\nRoleManagementSkeleton.propTypes = {\n children: PropTypes.any,\n loading: PropTypes.any,\n isLoading: PropTypes.any,\n};\n\nexport default RoleManagementSkeleton;\n","import { Suspense, useEffect, useState, lazy } from \"react\";\nimport {\n Box,\n Card,\n Switch,\n TextField,\n Button,\n Chip,\n Typography,\n} from \"@mui/material\";\nimport { alpha } from \"@mui/material/styles\";\nimport { useTranslateProvider } from \"@/common/languageTranslator/TranslationContext\";\nimport {\n getAllRoleList,\n ToggleState,\n deleteRoleFeature,\n getRoleById,\n} from \"../../services/Roles.js\";\nimport { getRoleList } from \"@/common/services/GlobalApis.js\";\nimport { showToast } from \"@/common/toaster/toaster\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport { faTrash } from \"@fortawesome/free-solid-svg-icons\";\nimport useTrackEvent from \"@/hooks/useTrackEvent\";\nimport RoleManagementSkeleton from \"./Skeletons/RoleManagementSkeleton.jsx\";\nimport { useSelector } from \"react-redux\";\nconst AddFeatures = lazy(() => import(\"./AddFeatures.jsx\"));\nconst ManageRole = lazy(() => import(\"./ManageRole.jsx\"));\n\nexport default function RoleManagement() {\n const { translate } = useTranslateProvider();\n const [Data, setData] = useState(\"\");\n const [selectedRole, setSelectedRole] = useState(Data[0]);\n const [includeInActive, setincludeInActive] = useState(false);\n const [isLoading, setIsLoading] = useState(false);\n const [openModal, setOpenModal] = useState(false);\n const [openManageRole, setOpenManageRole] = useState(0);\n const [searchText, setSearchText] = useState(\"\");\n const [searchQuery, setSearchQuery] = useState(\"\");\n const trackEvent = useTrackEvent();\n const currentLoogedInUserRoleId = useSelector((state) => state.Authenticate.user.roleId);\n const [allowedRoleIds, setallowedRoleIds] = useState([]);\n\n const getAllData = async (isPreserveRole = false) => {\n try {\n setIsLoading(true);\n const roleListPromise = includeInActive ? getAllRoleList() : getRoleList();\n let data, userRoleIds = [];\n if (currentLoogedInUserRoleId) {\n // Run both APIs in parallel\n const [{ data: roleData }, currRoleData] = await Promise.all([\n roleListPromise,\n getRoleById(currentLoogedInUserRoleId),\n ]);\n data = roleData;\n userRoleIds = currRoleData?.data?.roleIds || [];\n } else {\n // Only fetch role list\n const { data: roleData } = await roleListPromise;\n data = roleData;\n }\n setallowedRoleIds(userRoleIds);\n // ✅ Filter logic (keep only allowed roles)\n const filteredData =\n userRoleIds.length > 0\n ? data.filter((role) => userRoleIds.includes(role.id))\n : data; // fallback: show all if no roleIds\n setData(filteredData);\n if (!isPreserveRole && filteredData.length > 0) {\n setSelectedRole(filteredData[0]);\n }\n } catch (error) {\n console.error(error);\n showToast({ message: \"Error in getting role data\", type: \"error\" });\n } finally {\n setIsLoading(false);\n }\n };\n\n useEffect(function () {\n getAllData();\n }, []);\n\n const handleCheckboxChange = async (event) => {\n let isChecked = event.target.checked;\n setincludeInActive(event.target.checked);\n try {\n setIsLoading((cur) => !cur);\n let data;\n if (isChecked) {\n ({ data } = await getAllRoleList());\n } else {\n ({ data } = await getRoleList());\n }\n if (allowedRoleIds && allowedRoleIds.length > 0) {\n data = data.filter(\n (role) => allowedRoleIds.includes(role.id)\n );\n }\n setData(data);\n setSelectedRole(data[0]);\n setIsLoading((cur) => !cur);\n setSearchText(\"\");\n } catch (error) {\n console.error(error);\n showToast({ message: \"Error in getting role data\", type: \"error\" });\n setIsLoading((cur) => !cur);\n }\n };\n\n const filterData = Data\n ? Data?.filter((feature) =>\n feature.name.toLowerCase().includes(searchText.toLowerCase())\n )\n : [];\n\n const formatDateDDMMYYYY = (timestamp) => {\n if (!timestamp) return \"\";\n const date = new Date(Number(timestamp));\n const day = String(date.getDate()).padStart(2, \"0\");\n const month = String(date.getMonth() + 1).padStart(2, \"0\");\n const year = date.getFullYear();\n return `${day}/${month}/${year}`;\n };\n\n const handleToggleState = async () => {\n try {\n const payload = Data?.find((data) => data.id === selectedRole.id);\n await ToggleState(payload);\n showToast({\n message: `State succesfully changed from ${payload?.state === \"INACTIVE\" ? \"inactive\" : \"active\"} to ${payload?.state === \"INACTIVE\" ? \"active\" : \"inactive\"}`,\n type: \"success\",\n });\n let res;\n setIsLoading((cur) => !cur);\n if (includeInActive) {\n res = await getAllRoleList();\n } else {\n res = await getRoleList();\n }\n\n setData(res.data);\n setSelectedRole(res.data[0]);\n setIsLoading((cur) => !cur);\n } catch (error) {\n console.error(error);\n showToast({ message: \"Error in handle active\", type: \"error\" });\n setIsLoading((cur) => !cur);\n }\n };\n\n const sortedFilteredFeatures = Data\n ? Data.find((obj) => obj.id === selectedRole.id)\n ?.assignedFeatureList.filter((feature) =>\n feature.featureName\n ?.toLowerCase()\n .includes(searchQuery?.toLowerCase())\n )\n .sort((a, b) => a.featureName?.localeCompare(b.featureName))\n : [];\n\n const handleDeleteRoleFeature = async (feature) => {\n try {\n await deleteRoleFeature(feature.userMenuItemId);\n await getAllData(true);\n setSearchQuery(\"\");\n showToast({ message: \"Feature deleted successfully!\", type: \"success\" });\n } catch (error) {\n showToast({ message: error, type: \"error\" });\n }\n };\n\n const handleManageRoleModel = (index) => {\n setOpenManageRole(index);\n trackEvent(\"button_click\", {\n button_name: `${index === 1 ? \"add\" : \"edit\"} role modal button`,\n button_type: \"navigate\",\n button_id: `roles-${index === 1 ? \"add\" : \"edit\"}-button`,\n });\n };\n\n const isRoleListModified = () => {\n getAllData();\n setSearchText(\"\");\n };\n\n const handleOpen = async () => {\n try {\n setOpenModal(true);\n await trackEvent(\"button_click\", {\n button_name: \"add feature button\",\n button_type: \"navigate\",\n button_id: \"roles-addfeatures-button-add\",\n });\n } catch (error) {\n console.error(error);\n }\n };\n\n return (\n <RoleManagementSkeleton isLoading={isLoading}>\n <Box className=\"flex flex-col gap-4 p-4 min-[900px]:flex-row min-[900px]:h-[calc(100vh-80px)]\">\n <Card\n variant=\"outlined\"\n className=\"w-full min-[900px]:w-[300px] flex flex-col p-4\"\n >\n <div className=\"flex justify-between items-center mb-3\">\n <Typography\n variant=\"h6\"\n fontWeight={600}\n className=\"text-customBlue\"\n >\n User Roles\n </Typography>\n <Button\n size=\"small\"\n variant=\"contained\"\n color=\"primary\"\n onClick={() => handleManageRoleModel(1)}\n data-testid=\"managerole-add-button\"\n >\n {translate(\"+ Add Role\")}\n </Button>\n </div>\n <TextField\n size=\"small\"\n variant=\"outlined\"\n placeholder=\"Search roles...\"\n fullWidth\n value={searchText}\n onChange={(e) => setSearchText(e.target.value)}\n data-testid=\"listofroles-search-input\"\n />\n <div className=\"flex items-center gap-2 mt-3\">\n <Switch\n size=\"small\"\n checked={includeInActive}\n onChange={handleCheckboxChange}\n />\n <Typography variant=\"body2\">Include Inactive</Typography>\n </div>\n <div className=\"flex-1 overflow-y-auto mt-4\">\n {filterData.length > 0 && (\n <>\n {filterData.map((role) => (\n <Card\n key={role.id}\n variant=\"outlined\"\n onClick={() => setSelectedRole(role)}\n className={`p-3 cursor-pointer transition\n ${selectedRole.id === role.id\n ? \"border-b-2\"\n : \"border-b-2 border-0\"\n }`}\n sx={\n selectedRole.id === role.id\n ? {\n bgcolor: (t) => alpha(t.palette.primary.main, 0.08),\n }\n : {}\n }\n >\n <Typography fontWeight={600}>\n {role.name}\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\n {role?.state === \"INACTIVE\" && (\n <Chip label=\"INACTIVE\" color=\"disabled\" size=\"small\" />\n )}\n </Typography>\n <Typography variant=\"body2\" color=\"text.secondary\">\n {role.assignedFeatureList.length} Features\n </Typography>\n </Card>\n ))}\n </>\n )}\n </div>\n </Card>\n <Card\n variant=\"outlined\"\n className=\"w-full min-[900px]:flex-1 flex flex-col p-5\"\n >\n <div className=\"flex flex-col sm:flex-row justify-between items-start border-b pb-4 gap-4\">\n <div className=\"flex flex-col gap-1 w-full sm:w-auto\">\n <div className=\"flex items-center gap-2\">\n <Typography\n variant=\"h5\"\n fontWeight={600}\n className=\"text-customBlue\"\n >\n {selectedRole?.name || \"Select Role\"}\n </Typography>\n {selectedRole?.state === \"ACTIVE\" && (\n <Chip label=\"ACTIVE\" color=\"success\" size=\"small\" />\n )}\n {selectedRole?.state === \"INACTIVE\" && (\n <Chip label=\"INACTIVE\" color=\"disabled\" size=\"small\" />\n )}\n </div>\n <Typography\n variant=\"body2\"\n color=\"text.secondary\"\n className=\"mt-1\"\n >\n Created on {formatDateDDMMYYYY(selectedRole?.createdOn)}\n </Typography>\n </div>\n <div className=\"flex gap-2\">\n <Button\n variant=\"outlined\"\n size=\"small\"\n onClick={() => handleToggleState(1)}\n >\n {selectedRole?.state === \"ACTIVE\" ? \"Deactivate\" : \"Activate\"}\n </Button>\n <Button\n variant=\"contained\"\n size=\"small\"\n onClick={() => handleManageRoleModel(2)}\n >\n ✏️ Edit Role\n </Button>\n </div>\n </div>\n {/* ASSIGNED FEATURES */}\n <div className=\"mt-5 flex flex-col flex-1 overflow-hidden\">\n <div className=\"flex flex-col sm:flex-row justify-between items-start sm:items-center mb-4 gap-4\">\n <div className=\"flex flex-row items-center gap-2 w-full sm:w-auto\">\n <Typography fontWeight={600}>{translate(\"Assigned Features\")}</Typography>\n <Typography variant=\"body2\" color=\"text.secondary\">\n ({sortedFilteredFeatures.length} {translate(\"features active for this role\")})\n </Typography>\n </div>\n <TextField\n size=\"small\"\n sx={{ width: { xs: \"100%\", sm: \"60%\" } }}\n placeholder=\"Search Feature Name\"\n variant=\"outlined\"\n value={searchQuery}\n onChange={(e) => setSearchQuery(e.target.value)}\n data-testid=\"assignedfeatures-search-input\"\n />\n </div>\n <Box className=\"overflow-x-auto w-full\">\n <Box\n className=\"grid grid-cols-[minmax(340px,1.5fr)_120px] px-4 py-2 text-[15px] font-semibold border-b min-w-[500px]\"\n sx={{\n color: \"text.secondary\",\n bgcolor: (t) => alpha(t.palette.action.hover, 0.04),\n }}\n >\n <div>{translate(\"FEATURE NAME\")}</div>\n <div className=\"text-center\">{translate(\"ACTIONS\")}</div>\n </Box>\n <Box\n className=\"h-[calc(100vh-440px)] overflow-y-auto min-w-[500px]\"\n sx={{\n bgcolor: \"background.paper\",\n }}\n >\n {sortedFilteredFeatures.length > 0 && (\n <>\n {sortedFilteredFeatures.map((feature, index) => (\n <Box\n key={feature.id}\n className=\"grid grid-cols-[minmax(340px,1.5fr)_120px] px-4 py-3 items-center border-b last:border-b-0 transition\"\n sx={{\n \"&:hover\": {\n bgcolor: (t) => alpha(t.palette.action.hover, 0.04),\n },\n }}\n >\n <div className=\"flex flex-col\">\n <Typography sx={{ fontSize: \"13px\", fontWeight: 600 }}>\n {feature.featureName}\n </Typography>\n </div>\n <div className=\"flex justify-center\">\n <FontAwesomeIcon\n icon={faTrash}\n onClick={() => {\n handleDeleteRoleFeature(feature);\n }}\n color=\"error\"\n className=\"text-red-400 cursor-pointer\"\n data-testid={`assignedfeatures-delete-icon-${index}`}\n />\n </div>\n </Box>\n ))}\n </>\n )}\n {sortedFilteredFeatures.length === 0 && (\n <>\n <Typography\n className=\"p-4\"\n sx={{ fontSize: \"13px\", fontStyle: \"italic\" }}\n >\n No Features assigned yet!\n </Typography>\n </>\n )}\n </Box>\n </Box>\n </div>\n <Box\n className=\"border-t p-4\"\n sx={{\n bgcolor: (t) => alpha(t.palette.primary.main, 0.06),\n }}\n >\n <Button variant=\"outlined\" size=\"small\" onClick={handleOpen}>\n + Add More Features\n </Button>\n </Box>\n </Card>\n <Suspense>\n <ManageRole\n isUpdate={openManageRole !== 1}\n selectedId={openManageRole === 2 ? selectedRole.id : null}\n data-testid=\"roles-managerole-add-button\"\n open={openManageRole}\n setOpen={setOpenManageRole}\n isRoleListModified={isRoleListModified}\n />\n </Suspense>\n <Suspense fallback={<div className=\"animate-pulse w-80 h-20 \"></div>}>\n {openModal === true && (\n <AddFeatures\n open={openModal}\n setOpenModal={setOpenModal}\n selectedId={selectedRole.id}\n setData={() => getAllData(true)}\n assignedFeatureList={\n Data\n ? (() =>\n Data?.find((data) => data?.id === selectedRole.id)\n ?.assignedFeatureList\n ? Data?.find((data) => data?.id === selectedRole.id)\n ?.assignedFeatureList\n : Data[0]?.assignedFeatureList)()\n : []\n }\n data-testid=\"roles-addfeatures-component\"\n />\n )}\n </Suspense>\n </Box>\n </RoleManagementSkeleton>\n );\n}\n"],"names":["getAllRoleList","api","deleteRoleFeature","id","getRoleById","postRole","params","ToggleState","postNewFeature","RoleManagementSkeleton","children","isLoading","useSelector","getUseSkeleton","jsxs","jsx","PropTypes","AddFeatures","lazy","ManageRole","RoleManagement","translate","useTranslateProvider","Data","setData","useState","selectedRole","setSelectedRole","includeInActive","setincludeInActive","setIsLoading","openModal","setOpenModal","openManageRole","setOpenManageRole","searchText","setSearchText","searchQuery","setSearchQuery","trackEvent","useTrackEvent","currentLoogedInUserRoleId","state","allowedRoleIds","setallowedRoleIds","getAllData","isPreserveRole","roleListPromise","getRoleList","data","userRoleIds","roleData","currRoleData","_a","filteredData","role","error","showToast","useEffect","handleCheckboxChange","event","isChecked","cur","filterData","feature","formatDateDDMMYYYY","timestamp","date","day","month","year","handleToggleState","payload","res","sortedFilteredFeatures","obj","a","b","handleDeleteRoleFeature","handleManageRoleModel","index","isRoleListModified","handleOpen","Box","Card","Typography","Button","TextField","Switch","Fragment","t","alpha","Chip","FontAwesomeIcon","faTrash","Suspense","_b","_c"],"mappings":"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"}
@@ -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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"}