@argusoft/medplat-core 1.0.9 → 1.0.11
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/index-D6bNg8bx.js +66 -0
- package/dist/index-D6bNg8bx.js.map +1 -0
- package/dist/index.css +1 -1
- package/dist/index.js +99455 -445
- package/dist/index.js.map +1 -1
- package/package.json +4 -1
- package/dist/AccessRights-sgIhYR30.js +0 -1238
- package/dist/AccessRights-sgIhYR30.js.map +0 -1
- package/dist/AddEditQueryBuilder-BaZxS2Cm.js +0 -289
- package/dist/AddEditQueryBuilder-BaZxS2Cm.js.map +0 -1
- package/dist/AddEditQueryBuilder.css +0 -1
- package/dist/AddFeatures-DLbjDGei.js +0 -212
- package/dist/AddFeatures-DLbjDGei.js.map +0 -1
- package/dist/AddLabelModal-DE3ploGD.js +0 -734
- package/dist/AddLabelModal-DE3ploGD.js.map +0 -1
- package/dist/AddMenuConfiguration-QWfpcnuP.js +0 -2237
- package/dist/AddMenuConfiguration-QWfpcnuP.js.map +0 -1
- package/dist/AddMenuConfiguration.css +0 -1
- package/dist/AddRoleDrawer-ZK1eejxI.js +0 -453
- package/dist/AddRoleDrawer-ZK1eejxI.js.map +0 -1
- package/dist/AppModal-BgZyfrd-.js +0 -428
- package/dist/AppModal-BgZyfrd-.js.map +0 -1
- package/dist/ChangePasswordModal-MV7g8tkA.js +0 -176
- package/dist/ChangePasswordModal-MV7g8tkA.js.map +0 -1
- package/dist/ConditionConfig-GDCXIg3C.js +0 -395
- package/dist/ConditionConfig-GDCXIg3C.js.map +0 -1
- package/dist/ConditionConfig.css +0 -1
- package/dist/EntityManagement-D-x6Qzal.js +0 -50
- package/dist/EntityManagement-D-x6Qzal.js.map +0 -1
- package/dist/EventConfigurations-jGCJ4LqP.js +0 -384
- package/dist/EventConfigurations-jGCJ4LqP.js.map +0 -1
- package/dist/EventConfigurations.css +0 -1
- package/dist/EventsExceptionModal-BF6E1Np7.js +0 -200
- package/dist/EventsExceptionModal-BF6E1Np7.js.map +0 -1
- package/dist/EventsSkeleton-BN7_0IGs.js +0 -74
- package/dist/EventsSkeleton-BN7_0IGs.js.map +0 -1
- package/dist/FeatureMenu-BYSRoNm0.js +0 -249
- package/dist/FeatureMenu-BYSRoNm0.js.map +0 -1
- package/dist/Features-CKMmuqcs.js +0 -11
- package/dist/Features-CKMmuqcs.js.map +0 -1
- package/dist/FlywayQuery-Cx2sly6g.js +0 -169
- package/dist/FlywayQuery-Cx2sly6g.js.map +0 -1
- package/dist/ImmunizationConfigurationBase-DZ8EqXlF.js +0 -5166
- package/dist/ImmunizationConfigurationBase-DZ8EqXlF.js.map +0 -1
- package/dist/ImmunizationConfigurationBase.css +0 -1
- package/dist/ImmunizationConfigurationsList-CQnxWa09.js +0 -335
- package/dist/ImmunizationConfigurationsList-CQnxWa09.js.map +0 -1
- package/dist/ImmunizationSkeleton-D2tdv5k-.js +0 -186
- package/dist/ImmunizationSkeleton-D2tdv5k-.js.map +0 -1
- package/dist/LanguagesModal-rk6IGQwY.js +0 -394
- package/dist/LanguagesModal-rk6IGQwY.js.map +0 -1
- package/dist/ManageDynamicFeature-BKkCnQvF.js +0 -4189
- package/dist/ManageDynamicFeature-BKkCnQvF.js.map +0 -1
- package/dist/ManageEventConfiguration-BJxS2Su0.js +0 -1017
- package/dist/ManageEventConfiguration-BJxS2Su0.js.map +0 -1
- package/dist/ManageEventConfiguration.css +0 -1
- package/dist/ManageNotification-B4prX-9Z.js +0 -6819
- package/dist/ManageNotification-B4prX-9Z.js.map +0 -1
- package/dist/ManageRole-BjIIXAlK.js +0 -728
- package/dist/ManageRole-BjIIXAlK.js.map +0 -1
- package/dist/ManageTranslation-BTxvSYKb.js +0 -616
- package/dist/ManageTranslation-BTxvSYKb.js.map +0 -1
- package/dist/ManageTranslation.css +0 -1
- package/dist/ManageUser-PHiTNyF8.js +0 -2160
- package/dist/ManageUser-PHiTNyF8.js.map +0 -1
- package/dist/ManageUser.css +0 -1
- package/dist/MobileMenuManagement-DmQU5TTo.js +0 -108
- package/dist/MobileMenuManagement-DmQU5TTo.js.map +0 -1
- package/dist/MobileTypeEventConfigModal-ChhO_A4f.js +0 -783
- package/dist/MobileTypeEventConfigModal-ChhO_A4f.js.map +0 -1
- package/dist/NewServerManagement-5YcAtF-g.js +0 -1002
- package/dist/NewServerManagement-5YcAtF-g.js.map +0 -1
- package/dist/NotificationFlywayQuery-BY8Zzml_.js +0 -244
- package/dist/NotificationFlywayQuery-BY8Zzml_.js.map +0 -1
- package/dist/NotificationList-BkpOrCpM.js +0 -400
- package/dist/NotificationList-BkpOrCpM.js.map +0 -1
- package/dist/OtherTypeEventConfigModal-ZnCGWm9v.js +0 -1953
- package/dist/OtherTypeEventConfigModal-ZnCGWm9v.js.map +0 -1
- package/dist/QueryBuilder-Cus_mRwZ.js +0 -378
- package/dist/QueryBuilder-Cus_mRwZ.js.map +0 -1
- package/dist/QueryBuilder.css +0 -1
- package/dist/QueryManagement-DXA73N2j.js +0 -671
- package/dist/QueryManagement-DXA73N2j.js.map +0 -1
- package/dist/QueryManagement.css +0 -1
- package/dist/RoleManagement-v5Nyp1vr.js +0 -416
- package/dist/RoleManagement-v5Nyp1vr.js.map +0 -1
- package/dist/ServerSyncModal-uNjGCQJz.js +0 -869
- package/dist/ServerSyncModal-uNjGCQJz.js.map +0 -1
- package/dist/ShowFlywayQuery-DMsAbtOW.js +0 -130
- package/dist/ShowFlywayQuery-DMsAbtOW.js.map +0 -1
- package/dist/ShowFlywayQuery-DVRCd384.js +0 -259
- package/dist/ShowFlywayQuery-DVRCd384.js.map +0 -1
- package/dist/ShowQueryHistory-BDN0tzHg.js +0 -190
- package/dist/ShowQueryHistory-BDN0tzHg.js.map +0 -1
- package/dist/SubMenu-BHcSNSUF.js +0 -187
- package/dist/SubMenu-BHcSNSUF.js.map +0 -1
- package/dist/TableDetails-DzREeJkm.js +0 -1508
- package/dist/TableDetails-DzREeJkm.js.map +0 -1
- package/dist/TableList-B9hr05Hs.js +0 -428
- package/dist/TableList-B9hr05Hs.js.map +0 -1
- package/dist/TypeConfiguration-C-lk8Szs.js +0 -117
- package/dist/TypeConfiguration-C-lk8Szs.js.map +0 -1
- package/dist/UserList-BxB1tCwM.js +0 -13042
- package/dist/UserList-BxB1tCwM.js.map +0 -1
- package/dist/UserList.css +0 -1
- package/dist/UserListSkeleton-cglK2SaU.js +0 -184
- package/dist/UserListSkeleton-cglK2SaU.js.map +0 -1
- package/dist/WidgetList-BSApErov.js +0 -188
- package/dist/WidgetList-BSApErov.js.map +0 -1
- package/dist/_commonjsHelpers-BItOPCY9.js +0 -29
- package/dist/_commonjsHelpers-BItOPCY9.js.map +0 -1
- package/dist/i18next-CTOWN_jH.js +0 -1394
- package/dist/i18next-CTOWN_jH.js.map +0 -1
- package/dist/manageImmunization-B4swS745.js +0 -1204
- package/dist/manageImmunization-B4swS745.js.map +0 -1
- package/dist/manageImmunization.css +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"QueryManagement-DXA73N2j.js","sources":["../src/services/QueryManagement.js","../src/views/QueryManagement/Skeletons/QueryManagementSkeleton.jsx","../src/views/QueryManagement/QueryManagement.jsx"],"sourcesContent":["import { api } from \"@/common/interceptors/AxiosInterceptor\";\n\nexport const getDataWithTimeout = (params) =>\n api.post(\"resource/getdatawithtimeout\", params);\n\nexport const getQueryBasedData = (query) =>\n api.post(\"querymanagement/retrieve\", query, {\n headers: { \"Content-Type\": \"application/json\" },\n transformRequest: [(data) => data],\n });\n\nexport const executeQuery = (query) =>\n api.post(\"querymanagement/execute\", query, {\n headers: { \"Content-Type\": \"application/json\" },\n transformRequest: [(data) => data],\n });\n","import PropTypes from \"prop-types\";\nimport React from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { getUseSkeleton } from \"@/store/reducers/SkeletonReducer\";\n\nexport const QueryManagementSkeleton = ({ children, loading }) => {\n const useSkeleton = useSelector(getUseSkeleton);\n if (!useSkeleton) {\n return children;\n }\n if (!loading) {\n return children;\n }\n\n return (\n <div className=\"flex flex-col space-y-4 h-[100vh] pt-3 relative w-full\">\n <div className=\" flex flex-row space-x-2 overflow-auto\">\n <div className=\"bg-gray-300 animate-pulse rounded-sm w-[100%] h-[50px] \"></div>\n <div className=\"bg-gray-300 animate-pulse rounded-sm w-[100%] h-[50px] mx-[10px]\"></div>\n </div>\n <div className=\" flex flex-col flex-1 \">\n <div className=\"bg-gray-300 animate-pulse h-[10rem] w-full rounded-md mb-2\"></div>\n <div className=\"flex h-40 space-x-6\">\n <div className=\"bg-gray-300 animate-pulse rounded-sm w-60 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 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 </div>\n );\n};\n\nQueryManagementSkeleton.propTypes = {\n children: PropTypes.any,\n loading: PropTypes.any,\n};\n","import React, { useEffect, useMemo, useState } from \"react\";\nimport {\n Accordion,\n AccordionSummary,\n AccordionDetails,\n Typography,\n Button,\n Box,\n TextField,\n} from \"@mui/material\";\nimport {\n executeQuery,\n getDataWithTimeout,\n getQueryBasedData,\n} from \"../../services/QueryManagement\";\n// import { getResource } from \"@/common/services/Users\";\nimport { execute, downloadExcel } from \"@/common/services/GlobalApis\";\nimport { useSelector } from \"react-redux\";\nimport CustomTextField from \"@/views/custom-components/CustomTextField\";\nimport { useForm } from \"react-hook-form\";\nimport useTrackEvent from \"@/hooks/useTrackEvent\";\nimport CustomConfirmationModal from \"@/views/custom-components/CustomConfirmationModal\";\nimport { showToast } from \"@/common/toaster/toaster\";\nimport { Link } from \"react-router-dom\";\nimport dayjs from \"dayjs\";\nimport { useTranslateProvider } from \"@/common/languageTranslator/TranslationContext\";\nimport { QueryManagementSkeleton } from \"./Skeletons/QueryManagementSkeleton\";\nimport { Grid } from \"@mui/system\";\nimport CustomTextArea from \"@/views/custom-components/CustomTextArea\";\nimport \"./Styles/QueryManagement.scss\";\nimport CustomizedTable from \"@/views/custom-components/CustomizedTable/CustomizedTableV2\";\nimport { faChevronDown } from \"@fortawesome/free-solid-svg-icons\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport debounce from \"lodash/debounce\";\nimport { getUseSkeleton } from \"@/store/reducers/SkeletonReducer\";\n\nconst staticTableListPaginationConfig = { pagination: false };\nconst staticTableListStyleConfig = { tableStyle: { maxHeight: 180 } };\nconst staticQueryOutputPaginationConfig = {\n pagination: false,\n paginationType: \"virtual-scroll\",\n};\nconst staticQueryOutputStyleConfig = { tableStyle: { maxHeight: \"60vh\" } };\n\nconst QueryManagement = () => {\n const useSkeleton = useSelector(getUseSkeleton);\n const handleSelectedTable = async (row, queryType = null) => {\n let query;\n if (queryType === \"index\") {\n query =\n \"SELECT * FROM pg_indexes WHERE tablename = '\" +\n row.tablename +\n \"' limit 100\";\n } else if (queryType === \"ddl\") {\n query = `WITH table_columns AS (\n SELECT \n c.relname AS table_name, \n a.attname AS column_name,\n pg_catalog.format_type(a.atttypid, a.atttypmod) AS column_type,\n CASE \n WHEN a.attnotnull THEN 'not null' \n ELSE 'null' \n END AS column_constraint\n FROM \n pg_class c\n JOIN pg_attribute a ON a.attrelid = c.oid\n JOIN pg_type t ON a.atttypid = t.oid\n WHERE \n c.relname = '${row.tablename}'\n AND a.attnum > 0 -- Exclude system columns\n ORDER BY a.attnum\n ),\n table_indexes AS (\n SELECT \n t.relname AS table_name,\n i.relname AS index_name,\n pg_catalog.pg_get_indexdef(ix.indexrelid) AS index_def\n FROM \n pg_class t\n JOIN pg_index ix ON t.oid = ix.indrelid\n JOIN pg_class i ON i.oid = ix.indexrelid\n WHERE \n t.relname = '${row.tablename}'\n )\n SELECT \n 'CREATE TABLE ' || tc.table_name || E'\\n(\\n' ||\n array_to_string(\n array_agg(\n DISTINCT ' ' || tc.column_name || ' ' || tc.column_type || ' ' || tc.column_constraint\n ),\n E',\\n'\n ) || E'\\n);\\n' ||\n COALESCE(\n string_agg(\n DISTINCT ti.index_def,\n E'\\n'\n ), \n ''\n ) AS ddl\n FROM \n table_columns tc\n LEFT JOIN table_indexes ti ON tc.table_name = ti.table_name\n GROUP BY \n tc.table_name;\n `;\n } else {\n query = `select * from ${row.tablename} limit 100`;\n }\n setSelectedQuery(query);\n handleRetrieveData(query);\n return {};\n };\n const handleSelectedQuery = async (row) => {\n setSelectedQuery(row.query);\n setExpanded(0);\n // handleRetrieveData(row.query);\n };\n\n const [processId, setProcessId] = useState(null);\n const [selectedQuery, setSelectedQuery] = useState(\"\");\n const [modalIndex, setModalIndex] = useState(0);\n const tableListColumns = [\n { field: \"Sr. No.\", label: \"#\", align: \"left\" },\n { field: \"size_pretty\", label: \"Size\", align: \"left\" },\n {\n field: \"tablename\",\n label: \"Table Name\",\n align: \"left\",\n onClick: handleSelectedTable,\n },\n {\n field: \"Action\",\n label: \"Action\",\n align: \"left\",\n render: (row) => {\n return (\n <Button\n variant=\"contained\"\n color=\"primary\"\n size=\"small\"\n className=\"text-[0.75rem]\"\n onClick={() => handleSelectedTable(row, \"index\")}\n >\n {translate(\"Index\")}\n </Button>\n );\n },\n },\n {\n field: \"DDL\",\n label: \"DDL\",\n align: \"left\",\n render: (row) => {\n return (\n <Button\n variant=\"contained\"\n color=\"primary\"\n size=\"small\"\n className=\"text-[0.75rem]\"\n onClick={() => handleSelectedTable(row, \"ddl\")}\n >\n {translate(\"DDL\")}\n </Button>\n );\n },\n },\n ];\n const queryHistoryColumns = [\n { field: \"Sr. No.\", label: \"#\", align: \"left\" },\n {\n field: \"query\",\n label: \"Query\",\n align: \"left\",\n onClick: handleSelectedQuery,\n },\n { field: \"created_on\", label: \"Executed On\", align: \"left\" },\n ];\n const [queryOutputColumns, setQueryOutputColumns] = useState([]);\n const [queryOutputData, setQueryOutputData] = useState([]);\n const [isfetchLockedQuery, setisFetchLockedQuery] = useState(false);\n\n const { user } = useSelector((state) => state.Authenticate);\n const [tableListData, setTableListData] = useState([]);\n\n const [filteredTableData, setFilteredTableData] = useState([]);\n const [queryHistoryData, setQueryHistoryData] = useState([]);\n const [actions, setActions] = useState([]);\n const numberOfRows = queryOutputData.length || null;\n const populateStateQuery = `select pid,query,wait_event_type,state_change,cast (now()-state_change as TEXT) as Since from pg_stat_activity where state = 'active' order by state_change`;\n const killProcessQuery = `select pg_terminate_backend( ${processId} )`;\n const fetchLockedQuery = `select cast(pid as text) as pid, cast(usename as text) as usename, cast(pg_blocking_pids(pid) as text) as blocked_by, datname as Database_Name,cast(query as text) as blocked_query from pg_stat_activity where cardinality(pg_blocking_pids(pid)) > 0`;\n const { translate } = useTranslateProvider();\n const [loading, setLoading] = useState(false);\n const [expanded, setExpanded] = useState(0);\n const [isCustomLoading, setisCustomLoading] = useState(false);\n const [isTableDataLoading, setisTableDataLoading] = useState(false);\n const [disabled, setDisabled] = useState(true);\n\n const {\n control,\n setValue,\n getValues,\n formState: { errors },\n } = useForm({\n mode: \"onChange\",\n defaultValues: {\n excelFileName: \"\",\n },\n });\n\n // const queryWatch = watch('query');\n // const queryWatch = useWatch({\n // control,\n // name: \"query\",\n // });\n\n useEffect(() => {\n setFilteredTableData(tableListData);\n }, [tableListData]);\n\n useEffect(() => {\n if (selectedQuery) {\n if (selectedQuery?.length > 0) {\n setDisabled(false);\n setValue(\"query\", selectedQuery);\n return;\n }\n setDisabled(true);\n // keep form in sync\n }\n }, [selectedQuery]);\n\n const trackEvent = useTrackEvent();\n\n const handleRetrieveData = async (query, actions = []) => {\n try {\n if (!query) {\n showToast({ message: `Query can not be empty`, type: \"error\" });\n return;\n }\n\n setisCustomLoading(true);\n const { data } = await getQueryBasedData(query).catch((error) => {\n setQueryOutputData([]);\n console.error(error);\n setisCustomLoading(false);\n showToast({ message: `${error.response.data.message}`, type: \"error\" });\n });\n if (data && !data.length) {\n setExpanded(0);\n setQueryOutputData([]);\n showToast({ message: `No data found`, type: \"info\" });\n setisCustomLoading(false);\n return;\n }\n if (data?.length) {\n setExpanded(0);\n if (query !== populateStateQuery) {\n showToast({\n message: `Query Executed Successfully`,\n type: \"success\",\n });\n }\n }\n if (query === populateStateQuery) {\n actions = [\n {\n label: \"KILL PROCESS\",\n icon: (\n <Button\n variant=\"contained\"\n color=\"error\"\n className=\"text-[0.75rem]\"\n >\n {translate(\"Kill Process\")}\n </Button>\n ),\n onClick: openKillProcessModal,\n },\n ];\n } else if (query === killProcessQuery) {\n if (data?.length) {\n showToast({ message: `Terminated Successfully`, type: \"success\" });\n }\n setQueryOutputData([]);\n return;\n }\n setQueryOutputData(\n data.map((data, index) => ({ index: index + 1, ...data })),\n );\n const columnNames = Object.keys(data[0]);\n if (actions.length || query === populateStateQuery) {\n columnNames.push(\"Actions\");\n }\n const columns = columnNames.map((column) => {\n return {\n field: column,\n label: column,\n align: \"left\",\n };\n });\n setActions(actions);\n setQueryOutputColumns([\n { field: \"index\", label: \"#\", align: \"left\" },\n ...columns,\n ]);\n fetchLimitedQueryHistory();\n setisCustomLoading(false);\n } catch (error) {\n setisCustomLoading(false);\n console.error(error);\n }\n };\n\n const handleExecuteData = async (query) => {\n try {\n if (!query) {\n showToast({ message: `Query can not be empty`, type: \"error\" });\n return;\n }\n\n const { data } = await executeQuery(query).catch((error) => {\n console.error(error);\n showToast({ message: `${error.response.data.message}`, type: \"error\" });\n });\n if (!data.length) showToast({ message: `No data found`, type: \"info\" });\n if (data.length)\n showToast({ message: `Query updated successfully`, type: \"success\" });\n } catch (error) {\n console.error(error);\n }\n };\n\n const handleDownloadExcel = async () => {\n const queryUUID = \"d91d249f-c8e1-4397-a84d-6ce6eb33eb48\";\n const queryValue = getValues(\"query\");\n const excelFileName = getValues(\"excelFileName\");\n if (!queryValue) {\n showToast({ message: `Query can not be empty`, type: \"info\" });\n return;\n }\n try {\n setisCustomLoading(true);\n const reportExcelDto = {\n paramObj: { query: queryValue },\n };\n const response = await downloadExcel(queryUUID, reportExcelDto).catch(\n (error) => {\n console.error(error);\n showToast({\n message: `Operation Unsuccessful, Something went wrong`,\n type: \"error\",\n });\n return null;\n },\n );\n\n if (!response) {\n setisCustomLoading(false);\n return;\n }\n\n const blob = new Blob([response.data], {\n type: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\",\n });\n\n const filename = `${excelFileName || \"rename\"}_${new Date().getTime()}.xlsx`;\n // Check if the browser supports msSaveBlob\n if (navigator.msSaveBlob) {\n const blobData = new Blob([response.data], { type: \"\" });\n const blobDataSizeInKB = (blobData.size / 1024).toFixed(2);\n trackEvent(\"file_download\", {\n file_type: \"xlsx\",\n file_name: filename,\n file_size: `${blobDataSizeInKB} KB`,\n download_status: \"success\",\n });\n return navigator.msSaveBlob(blobData, filename);\n } else {\n // Create a URL for the Blob\n const url = URL.createObjectURL(blob);\n const blobSizeInKB = (blob.size / 1024).toFixed(2);\n\n // Create a temporary link element\n const a = document.createElement(\"a\");\n a.href = url;\n a.download = filename;\n a.style.display = \"none\";\n document.body.appendChild(a);\n\n // Trigger a click event on the link to start the download\n a.click();\n trackEvent(\"file_download\", {\n file_type: \"xlsx\",\n file_name: filename,\n file_size: `${blobSizeInKB} KB`,\n download_status: \"success\",\n });\n\n // Cleanup\n URL.revokeObjectURL(url);\n a.remove();\n }\n setisCustomLoading(false);\n } catch (error) {\n console.error(error);\n setisCustomLoading(false);\n showToast({ type: \"error\", message: `Something went wrong!` });\n }\n };\n\n const handleFetchLockedQuery = async () => {\n try {\n setisFetchLockedQuery(true);\n setSelectedQuery(fetchLockedQuery);\n await handleRetrieveData(fetchLockedQuery);\n } catch (error) {\n console.error(error);\n }\n };\n\n const openKillProcessModal = async (row) => {\n setModalIndex(3);\n setProcessId(row.pid);\n };\n\n const handleKillProcess = async () => {\n try {\n await handleRetrieveData(killProcessQuery);\n\n let query;\n if (isfetchLockedQuery === true) {\n query = fetchLockedQuery;\n } else {\n query = populateStateQuery;\n }\n await handleRetrieveData(query);\n } catch (error) {\n console.error(error);\n }\n };\n\n const handlePopulateStateQuery = async () => {\n try {\n setSelectedQuery(populateStateQuery);\n await handleRetrieveData(populateStateQuery);\n } catch (error) {\n console.error(error);\n }\n };\n\n const fetchLimitedQueryHistory = async () => {\n try {\n const queryHistorySearchKey = getValues(\"queryHistorySearchKey\");\n const { data } = await execute({\n code: \"retrieve_limited_query_history\",\n parameters: {\n userId: user?.id,\n limit: 100,\n searchKey: queryHistorySearchKey,\n },\n });\n setQueryHistoryData(\n data.result.map((data, index) => ({\n index: index + 1,\n ...data,\n created_on: dayjs(data.created_on).format(\"DD-MM-YYYY h:mm:ss A\"),\n })),\n );\n } catch (error) {\n console.error(error);\n }\n };\n\n const init = async () => {\n setLoading((cur) => !cur);\n fetchLimitedQueryHistory();\n setLoading((cur) => !cur);\n };\n\n useEffect(() => {\n init();\n }, []);\n\n const fetchTableList = async () => {\n try {\n setisTableDataLoading(true);\n const { data } = await getDataWithTimeout({\n code: \"retrieve_all_tables\",\n });\n setTableListData(\n data.result.map((data, index) => ({\n index: index + 1,\n ...data,\n })),\n );\n setisTableDataLoading(false);\n } catch (error) {\n console.error(error);\n setisTableDataLoading(false);\n }\n };\n\n const handleSearchKeyChange = (e) => {\n const value = e.target.value;\n // setTableListSearchKey(value);\n handleSearchChange(value);\n };\n\n const handleSearchChange = useMemo(\n () =>\n debounce((value) => {\n const lowerCaseValue = value.toLowerCase();\n const filtered = tableListData.filter((data) =>\n data?.tablename?.toLowerCase().includes(lowerCaseValue),\n );\n setFilteredTableData(filtered);\n }, 300), // debounce time in ms\n [tableListData],\n );\n\n const handleChange = (panel, isExpanded) => {\n setExpanded(isExpanded ? panel : false);\n };\n\n return (\n <QueryManagementSkeleton loading={loading}>\n {isCustomLoading && useSkeleton && (\n <div className=\"loader-overlay\">\n <div className=\"loader-spinner\"></div>\n </div>\n )}\n <Box minHeight=\"80vh\" className=\"flex flex-col mt-5\">\n {/* Sidebar */}\n <Box\n // bgcolor=\"#f5f5f5\"\n className=\"flex flex-col md:flex-row md:space-x-2 space-y-2 md:space-y-0\"\n >\n {/* Accordion for Tables */}\n <Grid className=\"w-full md:w-1/2\">\n <Accordion\n expanded={expanded === 1}\n onChange={(event, isExpanded) => {\n isExpanded && !tableListData.length && fetchTableList();\n handleChange(1, isExpanded);\n }}\n data-testid=\"table-list-accordion\"\n className=\"accordion\"\n >\n <AccordionSummary\n expandIcon={<FontAwesomeIcon icon={faChevronDown} />}\n data-testid=\"table-list-accordion-title\"\n sx={{\n \"&.Mui-expanded\": {\n minHeight: \"unset\",\n paddingBottom: \"2px\",\n \"& .MuiAccordionSummary-content\": {\n marginBottom: \"2px\",\n },\n },\n }}\n >\n <Typography>{translate(\"All Table List\")}</Typography>\n </AccordionSummary>\n\n <AccordionDetails\n className=\"accordion-details mt-2.5\"\n sx={{\n backgroundColor: \"background.paper\",\n \".Mui-expanded &\": {\n opacity: 1,\n pointerEvents: \"auto\",\n },\n }}\n >\n <TextField\n id=\"tableListSearchKey\"\n onChange={handleSearchKeyChange}\n size=\"small\"\n placeholder=\"Search Table Name\"\n className=\"w-[70%] mb-2\"\n />\n <CustomizedTable\n strip={true}\n isLoading={isTableDataLoading}\n columns={tableListColumns}\n tableData={filteredTableData}\n paginationConfig={staticTableListPaginationConfig}\n dataTestId=\"table-list-table-customized\"\n styleConfig={staticTableListStyleConfig}\n />\n </AccordionDetails>\n </Accordion>\n </Grid>\n\n {/* Accordion for Query History */}\n <Grid className=\"w-full md:w-1/2\">\n <Accordion\n expanded={expanded === 2}\n onChange={(event, isExpanded) => {\n isExpanded &&\n !queryHistoryData.length &&\n fetchLimitedQueryHistory();\n handleChange(2, isExpanded);\n }}\n data-testid=\"query-history-accordion\"\n className=\"accordion\"\n >\n <AccordionSummary\n expandIcon={<FontAwesomeIcon icon={faChevronDown} />}\n data-testid=\"query-history-accordion-title\"\n sx={{\n \"&.Mui-expanded\": {\n minHeight: \"unset\",\n paddingBottom: \"2px\",\n \"& .MuiAccordionSummary-content\": {\n marginBottom: \"2px\",\n },\n },\n }}\n >\n <Typography>{translate(\"Query History\")}</Typography>\n </AccordionSummary>\n <AccordionDetails\n className=\"accordion-details mt-2.5\"\n sx={{\n backgroundColor: \"background.paper\",\n \".Mui-expanded &\": {\n opacity: 1,\n pointerEvents: \"auto\",\n },\n }}\n test=\"work\"\n >\n <Box className=\"flex items-center mb-2\">\n <CustomTextField\n id=\"queryHistorySearchKey\"\n name=\"queryHistorySearchKey\"\n control={control}\n placeholder=\"Search in History\"\n size=\"small\"\n className=\"w-auto mr-1\"\n />\n <Button\n variant=\"contained\"\n color=\"primary\"\n onClick={fetchLimitedQueryHistory}\n data-testid=\"query-history-accordion-submit\"\n sx={{ ml: { xs: \"10px\", md: \"0px\" } }}\n >\n {translate(\"Search\")}\n </Button>\n </Box>\n\n <CustomizedTable\n strip={true}\n columns={queryHistoryColumns}\n tableData={queryHistoryData}\n paginationConfig={staticTableListPaginationConfig}\n dataTestId=\"query-history-table-customized\"\n styleConfig={staticTableListStyleConfig}\n />\n </AccordionDetails>\n </Accordion>\n </Grid>\n </Box>\n\n {/* Main Area */}\n <Box className=\"flex flex-col space-y-4\">\n <CustomTextArea\n control={control}\n minRows={5}\n variant=\"outlined\"\n placeholder=\"Type your query here...\"\n id=\"query\"\n name=\"query\"\n className=\"mt-5\"\n sx={{ backgroundColor: \"background.paper\" }}\n errors={errors}\n margin=\"normal\"\n dataTestId=\"query-text-area\"\n onChange={(e) => {\n setValue(\"query\", e.target.value);\n if (e?.target?.value?.length > 0) {\n setDisabled(false);\n return;\n }\n setDisabled(true);\n }}\n />\n <Box className=\"flex flex-col md:flex-row md:items-center mb-4 gap-3\">\n <CustomTextField\n id=\"excelFileName\"\n name=\"excelFileName\"\n className=\"m-0 p-0\"\n control={control}\n placeholder=\"Enter File Name\"\n size=\"small\"\n fullWidth={false}\n dataTestId=\"enter-file-field\"\n />\n <Button\n variant=\"contained\"\n color=\"info\"\n onClick={handleDownloadExcel}\n data-testid=\"download-excel-button\"\n >\n {translate(\"Download Excel\")}\n </Button>\n <Box className=\"m-1 flex\">\n <Link onClick={() => handleFetchLockedQuery()} className=\"m-1\">\n <Typography variant=\"body2\" color=\"info\">\n {translate(\"Fetch Locked Queries\")}\n </Typography>\n </Link>\n <Typography variant=\"body2\" className=\"m-1\">\n |\n </Typography>\n <Link onClick={handlePopulateStateQuery} className=\"m-1\">\n <Typography variant=\"body2\" color=\"info\">\n {translate(\"Populate State Query\")}\n </Typography>\n </Link>\n </Box>\n\n <Button\n variant=\"contained\"\n color=\"success\"\n onClick={async () => {\n const queryValue = getValues(\"query\");\n setSelectedQuery(queryValue);\n\n if (queryValue?.toLowerCase().includes(\"where\")) {\n await handleRetrieveData(queryValue);\n return;\n }\n setModalIndex(1);\n }}\n data-testid=\"retrieve-data-button\"\n disabled={disabled}\n >\n {translate(\"Retrieve Data\")}\n </Button>\n <Button\n variant=\"contained\"\n color=\"secondary\"\n onClick={async () => {\n const queryValue = getValues(\"query\");\n setSelectedQuery(queryValue);\n if (queryValue?.toLowerCase().includes(\"where\")) {\n await handleExecuteData(queryValue);\n return;\n }\n setModalIndex(2);\n }}\n data-testid=\"execute-button\"\n disabled={disabled}\n >\n {translate(\"Execute\")}\n </Button>\n </Box>\n {!!numberOfRows && (\n <Typography variant=\"body2\">\n {translate(\"Total rows fetched\")} :{\" \"}\n <strong> {numberOfRows}</strong>{\" \"}\n </Typography>\n )}\n {!!queryOutputData.length && (\n <Grid className=\"max-h-[80vh] overflow-x-auto mb-2\">\n <CustomizedTable\n className=\"min-w-[500px]\"\n columns={queryOutputColumns}\n actions={actions}\n tableData={queryOutputData}\n paginationConfig={staticQueryOutputPaginationConfig}\n dataTestId=\"query-output-table-customized\"\n styleConfig={staticQueryOutputStyleConfig}\n />\n </Grid>\n )}\n {!!modalIndex && (\n <CustomConfirmationModal\n description={\n modalIndex === 3\n ? `Are you sure you want to kill process id ${processId}`\n : \"The query does not include where clause. Are you sure you want to proceed ?\"\n }\n title={\"CONFIRM ACTION\"}\n open={modalIndex}\n handleClick={async () => {\n if (modalIndex === 1) handleRetrieveData(selectedQuery);\n if (modalIndex === 2) handleExecuteData(selectedQuery);\n if (modalIndex === 3) handleKillProcess();\n setModalIndex(0);\n }}\n handleClose={() => setModalIndex(0)}\n dataTestId=\"modal\"\n />\n )}\n </Box>\n </Box>\n </QueryManagementSkeleton>\n );\n};\n\nexport default QueryManagement;\n"],"names":["getDataWithTimeout","params","api","getQueryBasedData","query","data","executeQuery","QueryManagementSkeleton","children","loading","useSelector","getUseSkeleton","jsxs","jsx","PropTypes","staticTableListPaginationConfig","staticTableListStyleConfig","staticQueryOutputPaginationConfig","staticQueryOutputStyleConfig","QueryManagement","useSkeleton","handleSelectedTable","row","queryType","setSelectedQuery","handleRetrieveData","handleSelectedQuery","setExpanded","processId","setProcessId","useState","selectedQuery","modalIndex","setModalIndex","tableListColumns","Button","queryHistoryColumns","queryOutputColumns","setQueryOutputColumns","queryOutputData","setQueryOutputData","isfetchLockedQuery","setisFetchLockedQuery","user","state","tableListData","setTableListData","filteredTableData","setFilteredTableData","queryHistoryData","setQueryHistoryData","actions","setActions","numberOfRows","populateStateQuery","killProcessQuery","fetchLockedQuery","translate","useTranslateProvider","setLoading","expanded","isCustomLoading","setisCustomLoading","isTableDataLoading","setisTableDataLoading","disabled","setDisabled","control","setValue","getValues","errors","useForm","useEffect","trackEvent","useTrackEvent","showToast","error","openKillProcessModal","index","columnNames","columns","column","fetchLimitedQueryHistory","handleExecuteData","handleDownloadExcel","queryUUID","queryValue","excelFileName","response","downloadExcel","blob","filename","blobData","blobDataSizeInKB","url","blobSizeInKB","a","handleFetchLockedQuery","handleKillProcess","handlePopulateStateQuery","queryHistorySearchKey","execute","dayjs","init","cur","fetchTableList","handleSearchKeyChange","value","handleSearchChange","useMemo","debounce","lowerCaseValue","filtered","_a","handleChange","panel","isExpanded","Box","Grid","Accordion","event","AccordionSummary","FontAwesomeIcon","faChevronDown","Typography","AccordionDetails","TextField","CustomizedTable","CustomTextField","CustomTextArea","_b","Link","CustomConfirmationModal"],"mappings":"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"}
|
package/dist/QueryManagement.css
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.accordion{position:relative;overflow:visible;min-height:unset}.accordion-details{overflow:auto;max-height:500px;position:absolute;top:100%;left:0;right:0;opacity:0;pointer-events:none;transform:translateY(-10px);transition:opacity .35s ease,transform .35s ease;z-index:1099}
|
|
@@ -1,416 +0,0 @@
|
|
|
1
|
-
import { jsxs as s, jsx as t, Fragment as E } from "react/jsx-runtime";
|
|
2
|
-
import { useState as d, useEffect as ne, Suspense as q, lazy as H } from "react";
|
|
3
|
-
import { Box as f, Card as L, Typography as c, Button as w, TextField as G, Switch as oe, Chip as M } from "@mui/material";
|
|
4
|
-
import { alpha as I } from "@mui/material/styles";
|
|
5
|
-
import { useTranslateProvider as ie } from "@/common/languageTranslator/TranslationContext";
|
|
6
|
-
import { api as p } from "@/common/interceptors/AxiosInterceptor";
|
|
7
|
-
import { getRoleList as R } from "@/common/services/GlobalApis.js";
|
|
8
|
-
import { showToast as h } from "@/common/toaster/toaster";
|
|
9
|
-
import { FontAwesomeIcon as ce } from "@fortawesome/react-fontawesome";
|
|
10
|
-
import { faTrash as de } from "@fortawesome/free-solid-svg-icons";
|
|
11
|
-
import me from "@/hooks/useTrackEvent";
|
|
12
|
-
import _ from "prop-types";
|
|
13
|
-
import { useSelector as J } from "react-redux";
|
|
14
|
-
import { getUseSkeleton as ue } from "@/store/reducers/SkeletonReducer";
|
|
15
|
-
const z = () => p.get("/role"), fe = (i) => p.delete(`/menuconfig/usermenuitem/${i}`), he = (i) => p.get(`/role/${i}`), Re = (i) => p.post("/role", { ...i }), pe = (i) => p.put(`role/?is_active=${i.state === "INACTIVE" ? "true" : "false"}`, {
|
|
16
|
-
...i
|
|
17
|
-
}), _e = (i, n) => p.post(`/menuconfig/assignnewfeature?roleId=${n}`, { ...i }), K = ({ children: i, isLoading: n = !0 }) => !J(ue) || !n ? i : /* @__PURE__ */ s("div", { className: "pt-6 relative h-[90vh]", children: [
|
|
18
|
-
/* @__PURE__ */ s("div", { className: "flex flex-row h-[80vh] ", children: [
|
|
19
|
-
/* @__PURE__ */ s("div", { className: "flex flex-col border border-gray-300 w-[20%] p-2 mr-3 rounded-md", children: [
|
|
20
|
-
" ",
|
|
21
|
-
/* @__PURE__ */ s("div", { className: "flex justify-between", children: [
|
|
22
|
-
/* @__PURE__ */ t("div", { className: "bg-gray-300 animate-pulse rounded-sm w-23 h-[40px] mr-3" }),
|
|
23
|
-
/* @__PURE__ */ t("div", { className: "bg-gray-300 animate-pulse rounded-sm w-40 h-[40px]" })
|
|
24
|
-
] }),
|
|
25
|
-
/* @__PURE__ */ t("div", { className: "bg-gray-300 animate-pulse rounded-sm mt-2 w-full h-[50px]" }),
|
|
26
|
-
/* @__PURE__ */ t("div", { className: "bg-gray-300 animate-pulse rounded-sm mt-2 w-full h-full" })
|
|
27
|
-
] }),
|
|
28
|
-
/* @__PURE__ */ s("div", { className: "flex flex-col border border-gray-300 w-[80%] p-2 rounded-md", children: [
|
|
29
|
-
/* @__PURE__ */ s("div", { className: "flex justify-between", children: [
|
|
30
|
-
/* @__PURE__ */ t("div", { className: "bg-gray-300 animate-pulse rounded-sm w-24 h-[40px]" }),
|
|
31
|
-
/* @__PURE__ */ t("div", { className: "bg-gray-300 animate-pulse rounded-sm w-21 h-[40px]" })
|
|
32
|
-
] }),
|
|
33
|
-
/* @__PURE__ */ t("div", { className: "bg-gray-300 animate-pulse rounded-sm mt-2 w-full h-[50px]" }),
|
|
34
|
-
/* @__PURE__ */ t("div", { className: "bg-gray-300 animate-pulse rounded-sm mt-2 w-full h-full" })
|
|
35
|
-
] })
|
|
36
|
-
] }),
|
|
37
|
-
/* @__PURE__ */ t("div", { className: "absolute bottom-20 right-[10px] ", children: /* @__PURE__ */ t("div", { className: "bg-gray-300 animate-pulse rounded-full w-[40px] h-[40px]" }) })
|
|
38
|
-
] });
|
|
39
|
-
K.propTypes = {
|
|
40
|
-
children: _.any,
|
|
41
|
-
loading: _.any,
|
|
42
|
-
isLoading: _.any
|
|
43
|
-
};
|
|
44
|
-
const ge = H(() => import("./AddFeatures-DLbjDGei.js")), xe = H(() => import("./ManageRole-BjIIXAlK.js"));
|
|
45
|
-
function ve() {
|
|
46
|
-
var Y;
|
|
47
|
-
const { translate: i } = ie(), [n, x] = d(""), [l, v] = d(n[0]), [C, Q] = d(!1), [X, m] = d(!1), [$, j] = d(!1), [S, V] = d(0), [O, T] = d(""), [b, D] = d(""), W = me(), B = J(
|
|
48
|
-
(e) => e.Authenticate.user.roleId
|
|
49
|
-
), [A, Z] = d([]), y = async (e = !1) => {
|
|
50
|
-
var a;
|
|
51
|
-
try {
|
|
52
|
-
m(!0);
|
|
53
|
-
const r = C ? z() : R();
|
|
54
|
-
let o, u = [];
|
|
55
|
-
if (B) {
|
|
56
|
-
const [{ data: g }, k] = await Promise.all([
|
|
57
|
-
r,
|
|
58
|
-
he(B)
|
|
59
|
-
]);
|
|
60
|
-
o = g, u = ((a = k == null ? void 0 : k.data) == null ? void 0 : a.roleIds) || [];
|
|
61
|
-
} else {
|
|
62
|
-
const { data: g } = await r;
|
|
63
|
-
o = g;
|
|
64
|
-
}
|
|
65
|
-
Z(u);
|
|
66
|
-
const F = u.length > 0 ? o.filter((g) => u.includes(g.id)) : o;
|
|
67
|
-
x(F), !e && F.length > 0 && v(F[0]);
|
|
68
|
-
} catch (r) {
|
|
69
|
-
console.error(r), h({ message: "Error in getting role data", type: "error" });
|
|
70
|
-
} finally {
|
|
71
|
-
m(!1);
|
|
72
|
-
}
|
|
73
|
-
};
|
|
74
|
-
ne(function() {
|
|
75
|
-
y();
|
|
76
|
-
}, []);
|
|
77
|
-
const ee = async (e) => {
|
|
78
|
-
let a = e.target.checked;
|
|
79
|
-
Q(e.target.checked);
|
|
80
|
-
try {
|
|
81
|
-
m((o) => !o);
|
|
82
|
-
let r;
|
|
83
|
-
a ? { data: r } = await z() : { data: r } = await R(), A && A.length > 0 && (r = r.filter((o) => A.includes(o.id))), x(r), v(r[0]), m((o) => !o), T("");
|
|
84
|
-
} catch (r) {
|
|
85
|
-
console.error(r), h({ message: "Error in getting role data", type: "error" }), m((o) => !o);
|
|
86
|
-
}
|
|
87
|
-
}, P = n ? n == null ? void 0 : n.filter(
|
|
88
|
-
(e) => e.name.toLowerCase().includes(O.toLowerCase())
|
|
89
|
-
) : [], te = (e) => {
|
|
90
|
-
if (!e) return "";
|
|
91
|
-
const a = new Date(Number(e)), r = String(a.getDate()).padStart(2, "0"), o = String(a.getMonth() + 1).padStart(2, "0"), u = a.getFullYear();
|
|
92
|
-
return `${r}/${o}/${u}`;
|
|
93
|
-
}, ae = async () => {
|
|
94
|
-
try {
|
|
95
|
-
const e = n == null ? void 0 : n.find((r) => r.id === l.id);
|
|
96
|
-
await pe(e), h({
|
|
97
|
-
message: `State succesfully changed from ${(e == null ? void 0 : e.state) === "INACTIVE" ? "inactive" : "active"} to ${(e == null ? void 0 : e.state) === "INACTIVE" ? "active" : "inactive"}`,
|
|
98
|
-
type: "success"
|
|
99
|
-
});
|
|
100
|
-
let a;
|
|
101
|
-
m((r) => !r), C ? a = await z() : a = await R(), x(a.data), v(a.data[0]), m((r) => !r);
|
|
102
|
-
} catch (e) {
|
|
103
|
-
console.error(e), h({ message: "Error in handle active", type: "error" }), m((a) => !a);
|
|
104
|
-
}
|
|
105
|
-
}, N = n ? (Y = n.find((e) => e.id === l.id)) == null ? void 0 : Y.assignedFeatureList.filter(
|
|
106
|
-
(e) => {
|
|
107
|
-
var a;
|
|
108
|
-
return (a = e.featureName) == null ? void 0 : a.toLowerCase().includes(b == null ? void 0 : b.toLowerCase());
|
|
109
|
-
}
|
|
110
|
-
).sort((e, a) => {
|
|
111
|
-
var r;
|
|
112
|
-
return (r = e.featureName) == null ? void 0 : r.localeCompare(a.featureName);
|
|
113
|
-
}) : [], re = async (e) => {
|
|
114
|
-
try {
|
|
115
|
-
await fe(e.userMenuItemId), await y(!0), D(""), h({ message: "Feature deleted successfully!", type: "success" });
|
|
116
|
-
} catch (a) {
|
|
117
|
-
h({ message: a, type: "error" });
|
|
118
|
-
}
|
|
119
|
-
}, U = (e) => {
|
|
120
|
-
V(e), W("button_click", {
|
|
121
|
-
button_name: `${e === 1 ? "add" : "edit"} role modal button`,
|
|
122
|
-
button_type: "navigate",
|
|
123
|
-
button_id: `roles-${e === 1 ? "add" : "edit"}-button`
|
|
124
|
-
});
|
|
125
|
-
}, se = () => {
|
|
126
|
-
y(), T("");
|
|
127
|
-
}, le = async () => {
|
|
128
|
-
try {
|
|
129
|
-
j(!0), await W("button_click", {
|
|
130
|
-
button_name: "add feature button",
|
|
131
|
-
button_type: "navigate",
|
|
132
|
-
button_id: "roles-addfeatures-button-add"
|
|
133
|
-
});
|
|
134
|
-
} catch (e) {
|
|
135
|
-
console.error(e);
|
|
136
|
-
}
|
|
137
|
-
};
|
|
138
|
-
return /* @__PURE__ */ t(K, { isLoading: X, children: /* @__PURE__ */ s(f, { className: "flex flex-col gap-4 p-4 min-[900px]:flex-row min-[900px]:h-[calc(100vh-80px)]", children: [
|
|
139
|
-
/* @__PURE__ */ s(
|
|
140
|
-
L,
|
|
141
|
-
{
|
|
142
|
-
variant: "outlined",
|
|
143
|
-
className: "w-full min-[900px]:w-[300px] flex flex-col p-4",
|
|
144
|
-
children: [
|
|
145
|
-
/* @__PURE__ */ s("div", { className: "flex justify-between items-center mb-3", children: [
|
|
146
|
-
/* @__PURE__ */ t(
|
|
147
|
-
c,
|
|
148
|
-
{
|
|
149
|
-
variant: "h6",
|
|
150
|
-
fontWeight: 600,
|
|
151
|
-
className: "text-customBlue",
|
|
152
|
-
children: "User Roles"
|
|
153
|
-
}
|
|
154
|
-
),
|
|
155
|
-
/* @__PURE__ */ t(
|
|
156
|
-
w,
|
|
157
|
-
{
|
|
158
|
-
size: "small",
|
|
159
|
-
variant: "contained",
|
|
160
|
-
color: "primary",
|
|
161
|
-
onClick: () => U(1),
|
|
162
|
-
"data-testid": "managerole-add-button",
|
|
163
|
-
children: i("+ Add Role")
|
|
164
|
-
}
|
|
165
|
-
)
|
|
166
|
-
] }),
|
|
167
|
-
/* @__PURE__ */ t(
|
|
168
|
-
G,
|
|
169
|
-
{
|
|
170
|
-
size: "small",
|
|
171
|
-
variant: "outlined",
|
|
172
|
-
placeholder: "Search roles...",
|
|
173
|
-
fullWidth: !0,
|
|
174
|
-
value: O,
|
|
175
|
-
onChange: (e) => T(e.target.value),
|
|
176
|
-
"data-testid": "listofroles-search-input"
|
|
177
|
-
}
|
|
178
|
-
),
|
|
179
|
-
/* @__PURE__ */ s("div", { className: "flex items-center gap-2 mt-3", children: [
|
|
180
|
-
/* @__PURE__ */ t(
|
|
181
|
-
oe,
|
|
182
|
-
{
|
|
183
|
-
size: "small",
|
|
184
|
-
checked: C,
|
|
185
|
-
onChange: ee
|
|
186
|
-
}
|
|
187
|
-
),
|
|
188
|
-
/* @__PURE__ */ t(c, { variant: "body2", children: "Include Inactive" })
|
|
189
|
-
] }),
|
|
190
|
-
/* @__PURE__ */ t("div", { className: "flex-1 overflow-y-auto mt-4", children: P.length > 0 && /* @__PURE__ */ t(E, { children: P.map((e) => /* @__PURE__ */ s(
|
|
191
|
-
L,
|
|
192
|
-
{
|
|
193
|
-
variant: "outlined",
|
|
194
|
-
onClick: () => v(e),
|
|
195
|
-
className: `p-3 cursor-pointer transition
|
|
196
|
-
${l.id === e.id ? "border-b-2" : "border-b-2 border-0"}`,
|
|
197
|
-
sx: l.id === e.id ? {
|
|
198
|
-
bgcolor: (a) => I(a.palette.primary.main, 0.08)
|
|
199
|
-
} : {},
|
|
200
|
-
children: [
|
|
201
|
-
/* @__PURE__ */ s(c, { fontWeight: 600, children: [
|
|
202
|
-
e.name,
|
|
203
|
-
" ",
|
|
204
|
-
(e == null ? void 0 : e.state) === "INACTIVE" && /* @__PURE__ */ t(M, { label: "INACTIVE", color: "disabled", size: "small" })
|
|
205
|
-
] }),
|
|
206
|
-
/* @__PURE__ */ s(c, { variant: "body2", color: "text.secondary", children: [
|
|
207
|
-
e.assignedFeatureList.length,
|
|
208
|
-
" Features"
|
|
209
|
-
] })
|
|
210
|
-
]
|
|
211
|
-
},
|
|
212
|
-
e.id
|
|
213
|
-
)) }) })
|
|
214
|
-
]
|
|
215
|
-
}
|
|
216
|
-
),
|
|
217
|
-
/* @__PURE__ */ s(
|
|
218
|
-
L,
|
|
219
|
-
{
|
|
220
|
-
variant: "outlined",
|
|
221
|
-
className: "w-full min-[900px]:flex-1 flex flex-col p-5",
|
|
222
|
-
children: [
|
|
223
|
-
/* @__PURE__ */ s("div", { className: "flex flex-col sm:flex-row justify-between items-start border-b pb-4 gap-4", children: [
|
|
224
|
-
/* @__PURE__ */ s("div", { className: "flex flex-col gap-1 w-full sm:w-auto", children: [
|
|
225
|
-
/* @__PURE__ */ s("div", { className: "flex items-center gap-2", children: [
|
|
226
|
-
/* @__PURE__ */ t(
|
|
227
|
-
c,
|
|
228
|
-
{
|
|
229
|
-
variant: "h5",
|
|
230
|
-
fontWeight: 600,
|
|
231
|
-
className: "text-customBlue",
|
|
232
|
-
children: (l == null ? void 0 : l.name) || "Select Role"
|
|
233
|
-
}
|
|
234
|
-
),
|
|
235
|
-
(l == null ? void 0 : l.state) === "ACTIVE" && /* @__PURE__ */ t(M, { label: "ACTIVE", color: "success", size: "small" }),
|
|
236
|
-
(l == null ? void 0 : l.state) === "INACTIVE" && /* @__PURE__ */ t(M, { label: "INACTIVE", color: "disabled", size: "small" })
|
|
237
|
-
] }),
|
|
238
|
-
/* @__PURE__ */ s(
|
|
239
|
-
c,
|
|
240
|
-
{
|
|
241
|
-
variant: "body2",
|
|
242
|
-
color: "text.secondary",
|
|
243
|
-
className: "mt-1",
|
|
244
|
-
children: [
|
|
245
|
-
"Created on ",
|
|
246
|
-
te(l == null ? void 0 : l.createdOn)
|
|
247
|
-
]
|
|
248
|
-
}
|
|
249
|
-
)
|
|
250
|
-
] }),
|
|
251
|
-
/* @__PURE__ */ s("div", { className: "flex gap-2", children: [
|
|
252
|
-
/* @__PURE__ */ t(
|
|
253
|
-
w,
|
|
254
|
-
{
|
|
255
|
-
variant: "outlined",
|
|
256
|
-
size: "small",
|
|
257
|
-
onClick: () => ae(),
|
|
258
|
-
children: (l == null ? void 0 : l.state) === "ACTIVE" ? "Deactivate" : "Activate"
|
|
259
|
-
}
|
|
260
|
-
),
|
|
261
|
-
/* @__PURE__ */ t(
|
|
262
|
-
w,
|
|
263
|
-
{
|
|
264
|
-
variant: "contained",
|
|
265
|
-
size: "small",
|
|
266
|
-
onClick: () => U(2),
|
|
267
|
-
children: "✏️ Edit Role"
|
|
268
|
-
}
|
|
269
|
-
)
|
|
270
|
-
] })
|
|
271
|
-
] }),
|
|
272
|
-
/* @__PURE__ */ s("div", { className: "mt-5 flex flex-col flex-1 overflow-hidden", children: [
|
|
273
|
-
/* @__PURE__ */ s("div", { className: "flex flex-col sm:flex-row justify-between items-start sm:items-center mb-4 gap-4", children: [
|
|
274
|
-
/* @__PURE__ */ s("div", { className: "flex flex-row items-center gap-2 w-full sm:w-auto", children: [
|
|
275
|
-
/* @__PURE__ */ t(c, { fontWeight: 600, children: i("Assigned Features") }),
|
|
276
|
-
/* @__PURE__ */ s(c, { variant: "body2", color: "text.secondary", children: [
|
|
277
|
-
"(",
|
|
278
|
-
N.length,
|
|
279
|
-
" ",
|
|
280
|
-
i("features active for this role"),
|
|
281
|
-
")"
|
|
282
|
-
] })
|
|
283
|
-
] }),
|
|
284
|
-
/* @__PURE__ */ t(
|
|
285
|
-
G,
|
|
286
|
-
{
|
|
287
|
-
size: "small",
|
|
288
|
-
sx: { width: { xs: "100%", sm: "60%" } },
|
|
289
|
-
placeholder: "Search Feature Name",
|
|
290
|
-
variant: "outlined",
|
|
291
|
-
value: b,
|
|
292
|
-
onChange: (e) => D(e.target.value),
|
|
293
|
-
"data-testid": "assignedfeatures-search-input"
|
|
294
|
-
}
|
|
295
|
-
)
|
|
296
|
-
] }),
|
|
297
|
-
/* @__PURE__ */ s(f, { className: "overflow-x-auto w-full", children: [
|
|
298
|
-
/* @__PURE__ */ s(
|
|
299
|
-
f,
|
|
300
|
-
{
|
|
301
|
-
className: "grid grid-cols-[minmax(340px,1.5fr)_120px] px-4 py-2 text-[15px] font-semibold border-b min-w-[500px]",
|
|
302
|
-
sx: {
|
|
303
|
-
color: "text.secondary",
|
|
304
|
-
bgcolor: (e) => I(e.palette.action.hover, 0.04)
|
|
305
|
-
},
|
|
306
|
-
children: [
|
|
307
|
-
/* @__PURE__ */ t("div", { children: i("FEATURE NAME") }),
|
|
308
|
-
/* @__PURE__ */ t("div", { className: "text-center", children: i("ACTIONS") })
|
|
309
|
-
]
|
|
310
|
-
}
|
|
311
|
-
),
|
|
312
|
-
/* @__PURE__ */ s(
|
|
313
|
-
f,
|
|
314
|
-
{
|
|
315
|
-
className: "h-[calc(100vh-440px)] overflow-y-auto min-w-[500px]",
|
|
316
|
-
sx: {
|
|
317
|
-
bgcolor: "background.paper"
|
|
318
|
-
},
|
|
319
|
-
children: [
|
|
320
|
-
N.length > 0 && /* @__PURE__ */ t(E, { children: N.map((e, a) => /* @__PURE__ */ s(
|
|
321
|
-
f,
|
|
322
|
-
{
|
|
323
|
-
className: "grid grid-cols-[minmax(340px,1.5fr)_120px] px-4 py-3 items-center border-b last:border-b-0 transition",
|
|
324
|
-
sx: {
|
|
325
|
-
"&:hover": {
|
|
326
|
-
bgcolor: (r) => I(r.palette.action.hover, 0.04)
|
|
327
|
-
}
|
|
328
|
-
},
|
|
329
|
-
children: [
|
|
330
|
-
/* @__PURE__ */ t("div", { className: "flex flex-col", children: /* @__PURE__ */ t(
|
|
331
|
-
c,
|
|
332
|
-
{
|
|
333
|
-
sx: { fontSize: "13px", fontWeight: 600 },
|
|
334
|
-
children: e.featureName
|
|
335
|
-
}
|
|
336
|
-
) }),
|
|
337
|
-
/* @__PURE__ */ t("div", { className: "flex justify-center", children: /* @__PURE__ */ t(
|
|
338
|
-
ce,
|
|
339
|
-
{
|
|
340
|
-
icon: de,
|
|
341
|
-
onClick: () => {
|
|
342
|
-
re(e);
|
|
343
|
-
},
|
|
344
|
-
color: "error",
|
|
345
|
-
className: "text-red-400 cursor-pointer",
|
|
346
|
-
"data-testid": `assignedfeatures-delete-icon-${a}`
|
|
347
|
-
}
|
|
348
|
-
) })
|
|
349
|
-
]
|
|
350
|
-
},
|
|
351
|
-
e.id
|
|
352
|
-
)) }),
|
|
353
|
-
N.length === 0 && /* @__PURE__ */ t(E, { children: /* @__PURE__ */ t(
|
|
354
|
-
c,
|
|
355
|
-
{
|
|
356
|
-
className: "p-4",
|
|
357
|
-
sx: { fontSize: "13px", fontStyle: "italic" },
|
|
358
|
-
children: "No Features assigned yet!"
|
|
359
|
-
}
|
|
360
|
-
) })
|
|
361
|
-
]
|
|
362
|
-
}
|
|
363
|
-
)
|
|
364
|
-
] })
|
|
365
|
-
] }),
|
|
366
|
-
/* @__PURE__ */ t(
|
|
367
|
-
f,
|
|
368
|
-
{
|
|
369
|
-
className: "border-t p-4",
|
|
370
|
-
sx: {
|
|
371
|
-
bgcolor: (e) => I(e.palette.primary.main, 0.06)
|
|
372
|
-
},
|
|
373
|
-
children: /* @__PURE__ */ t(w, { variant: "outlined", size: "small", onClick: le, children: "+ Add More Features" })
|
|
374
|
-
}
|
|
375
|
-
)
|
|
376
|
-
]
|
|
377
|
-
}
|
|
378
|
-
),
|
|
379
|
-
/* @__PURE__ */ t(q, { children: /* @__PURE__ */ t(
|
|
380
|
-
xe,
|
|
381
|
-
{
|
|
382
|
-
isUpdate: S !== 1,
|
|
383
|
-
selectedId: S === 2 ? l.id : null,
|
|
384
|
-
"data-testid": "roles-managerole-add-button",
|
|
385
|
-
open: S,
|
|
386
|
-
setOpen: V,
|
|
387
|
-
isRoleListModified: se
|
|
388
|
-
}
|
|
389
|
-
) }),
|
|
390
|
-
/* @__PURE__ */ t(q, { fallback: /* @__PURE__ */ t("div", { className: "animate-pulse w-80 h-20 " }), children: $ === !0 && /* @__PURE__ */ t(
|
|
391
|
-
ge,
|
|
392
|
-
{
|
|
393
|
-
open: $,
|
|
394
|
-
setOpenModal: j,
|
|
395
|
-
selectedId: l.id,
|
|
396
|
-
setData: () => y(!0),
|
|
397
|
-
assignedFeatureList: n ? (() => {
|
|
398
|
-
var e, a, r;
|
|
399
|
-
return (e = n == null ? void 0 : n.find((o) => (o == null ? void 0 : o.id) === l.id)) != null && e.assignedFeatureList ? (a = n == null ? void 0 : n.find((o) => (o == null ? void 0 : o.id) === l.id)) == null ? void 0 : a.assignedFeatureList : (r = n[0]) == null ? void 0 : r.assignedFeatureList;
|
|
400
|
-
})() : [],
|
|
401
|
-
"data-testid": "roles-addfeatures-component"
|
|
402
|
-
}
|
|
403
|
-
) })
|
|
404
|
-
] }) });
|
|
405
|
-
}
|
|
406
|
-
const ze = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
407
|
-
__proto__: null,
|
|
408
|
-
default: ve
|
|
409
|
-
}, Symbol.toStringTag, { value: "Module" }));
|
|
410
|
-
export {
|
|
411
|
-
ze as R,
|
|
412
|
-
Re as a,
|
|
413
|
-
he as g,
|
|
414
|
-
_e as p
|
|
415
|
-
};
|
|
416
|
-
//# sourceMappingURL=RoleManagement-v5Nyp1vr.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RoleManagement-v5Nyp1vr.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(\n (state) => state.Authenticate.user.roleId,\n );\n const [allowedRoleIds, setallowedRoleIds] = useState([]);\n\n const getAllData = async (isPreserveRole = false) => {\n try {\n setIsLoading(true);\n const roleListPromise = includeInActive\n ? getAllRoleList()\n : getRoleList();\n let data,\n 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((role) => allowedRoleIds.includes(role.id));\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 ${\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 \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}>\n {translate(\"Assigned Features\")}\n </Typography>\n <Typography variant=\"body2\" color=\"text.secondary\">\n ({sortedFilteredFeatures.length}{\" \"}\n {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\n sx={{ fontSize: \"13px\", fontWeight: 600 }}\n >\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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"}
|