@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.
- package/dist/AccessRights-Bvd5Bm5K.js +1259 -0
- package/dist/AccessRights-Bvd5Bm5K.js.map +1 -0
- package/dist/{AddEditQueryBuilder-7JRplV5J.js → AddEditQueryBuilder-Bcjl5mXE.js} +2 -2
- package/dist/{AddEditQueryBuilder-7JRplV5J.js.map → AddEditQueryBuilder-Bcjl5mXE.js.map} +1 -1
- package/dist/{AddFeatures-CkTu7sOI.js → AddFeatures-CE5rBxEG.js} +2 -2
- package/dist/{AddFeatures-CkTu7sOI.js.map → AddFeatures-CE5rBxEG.js.map} +1 -1
- package/dist/{AddLabelModal-DE3ploGD.js → AddLabelModal-CB8E8cYG.js} +2 -2
- package/dist/{AddLabelModal-DE3ploGD.js.map → AddLabelModal-CB8E8cYG.js.map} +1 -1
- package/dist/{AddRoleDrawer-ZK1eejxI.js → AddRoleDrawer-SvntLdRu.js} +44 -43
- package/dist/AddRoleDrawer-SvntLdRu.js.map +1 -0
- package/dist/{AppModal-BgZyfrd-.js → AppModal-BKgIwe1h.js} +2 -2
- package/dist/{AppModal-BgZyfrd-.js.map → AppModal-BKgIwe1h.js.map} +1 -1
- package/dist/{ChangePasswordModalCore-DIe4rzW-.js → ChangePasswordModalCore-CTGy8Ttf.js} +2 -2
- package/dist/{ChangePasswordModalCore-DIe4rzW-.js.map → ChangePasswordModalCore-CTGy8Ttf.js.map} +1 -1
- package/dist/{ConditionConfig-GDCXIg3C.js → ConditionConfig-DB0FqwgG.js} +2 -2
- package/dist/{ConditionConfig-GDCXIg3C.js.map → ConditionConfig-DB0FqwgG.js.map} +1 -1
- package/dist/{EntityManagement-D-x6Qzal.js → EntityManagement-DQKXnEzz.js} +2 -2
- package/dist/{EntityManagement-D-x6Qzal.js.map → EntityManagement-DQKXnEzz.js.map} +1 -1
- package/dist/EventConfigurations-DZvSJ5EZ.js +395 -0
- package/dist/EventConfigurations-DZvSJ5EZ.js.map +1 -0
- package/dist/{EventsExceptionModal-BF6E1Np7.js → EventsExceptionModal-DsvngLi8.js} +2 -2
- package/dist/{EventsExceptionModal-BF6E1Np7.js.map → EventsExceptionModal-DsvngLi8.js.map} +1 -1
- package/dist/EventsSkeleton-DCXwwPbb.js +76 -0
- package/dist/EventsSkeleton-DCXwwPbb.js.map +1 -0
- package/dist/FeatureMenu-CLX8VNZ-.js +265 -0
- package/dist/FeatureMenu-CLX8VNZ-.js.map +1 -0
- package/dist/Features-Cpf1PDx0.js +13 -0
- package/dist/Features-Cpf1PDx0.js.map +1 -0
- package/dist/FileSaver.min-CN9EpL2h.js.map +1 -1
- package/dist/ImmunizationConfigurationsList-K2ddBpPJ.js +345 -0
- package/dist/ImmunizationConfigurationsList-K2ddBpPJ.js.map +1 -0
- package/dist/ImmunizationSkeleton-D2tdv5k-.js.map +1 -1
- package/dist/{LanguagesModal-rk6IGQwY.js → LanguagesModal-CX3oS8rk.js} +2 -2
- package/dist/{LanguagesModal-rk6IGQwY.js.map → LanguagesModal-CX3oS8rk.js.map} +1 -1
- package/dist/{ManageDynamicFeature-C2I7Ho7i.js → ManageDynamicFeature-CsIett5x.js} +2 -2
- package/dist/{ManageDynamicFeature-C2I7Ho7i.js.map → ManageDynamicFeature-CsIett5x.js.map} +1 -1
- package/dist/{ManageEventConfiguration-BJxS2Su0.js → ManageEventConfiguration-0YBDaxOI.js} +60 -60
- package/dist/ManageEventConfiguration-0YBDaxOI.js.map +1 -0
- package/dist/{ManageNotification-DMN2szWy.js → ManageNotification-EQgnOO0U.js} +632 -632
- package/dist/ManageNotification-EQgnOO0U.js.map +1 -0
- package/dist/{ManageRole-CuXmWQyp.js → ManageRole-Cbs9dUhc.js} +244 -191
- package/dist/ManageRole-Cbs9dUhc.js.map +1 -0
- package/dist/ManageTranslation-D9IScGhk.js +625 -0
- package/dist/ManageTranslation-D9IScGhk.js.map +1 -0
- package/dist/{ManageUser-Dr3ptCYp.js → ManageUser-C9uMe9av.js} +744 -735
- package/dist/ManageUser-C9uMe9av.js.map +1 -0
- package/dist/{MobileTypeEventConfigModal-ChhO_A4f.js → MobileTypeEventConfigModal-Ltm529jG.js} +2 -2
- package/dist/{MobileTypeEventConfigModal-ChhO_A4f.js.map → MobileTypeEventConfigModal-Ltm529jG.js.map} +1 -1
- package/dist/NotificationList-BZwvgsf6.js +402 -0
- package/dist/NotificationList-BZwvgsf6.js.map +1 -0
- package/dist/{OtherTypeEventConfigModal-ZnCGWm9v.js → OtherTypeEventConfigModal-dXt2qDg_.js} +2 -2
- package/dist/OtherTypeEventConfigModal-dXt2qDg_.js.map +1 -0
- package/dist/{QueryBuilder-BPfavHH9.js → QueryBuilder-DXexUIe8.js} +154 -148
- package/dist/QueryBuilder-DXexUIe8.js.map +1 -0
- package/dist/{QueryManagement-DXA73N2j.js → QueryManagement-BpIRH8hI.js} +228 -214
- package/dist/QueryManagement-BpIRH8hI.js.map +1 -0
- package/dist/RoleManagement-BThAL5LO.js +422 -0
- package/dist/RoleManagement-BThAL5LO.js.map +1 -0
- package/dist/SubMenu-BGznOP2a.js +191 -0
- package/dist/SubMenu-BGznOP2a.js.map +1 -0
- package/dist/TableDetails-DztbjsIA.js +2069 -0
- package/dist/TableDetails-DztbjsIA.js.map +1 -0
- package/dist/TableList-DYwotUDO.js +1425 -0
- package/dist/TableList-DYwotUDO.js.map +1 -0
- package/dist/{TypeConfiguration-C-lk8Szs.js → TypeConfiguration-DYbBG_hZ.js} +2 -2
- package/dist/{TypeConfiguration-C-lk8Szs.js.map → TypeConfiguration-DYbBG_hZ.js.map} +1 -1
- package/dist/{UserList-S5Q76wO7.js → UserList-BH6OpZvq.js} +410 -400
- package/dist/UserList-BH6OpZvq.js.map +1 -0
- package/dist/UserListSkeleton-cglK2SaU.js.map +1 -1
- package/dist/WidgetList-D-fIf3N2.js +200 -0
- package/dist/WidgetList-D-fIf3N2.js.map +1 -0
- package/dist/i18next-CTOWN_jH.js.map +1 -1
- package/dist/index.css +1 -1
- package/dist/index.js +13 -13
- package/dist/xlsx.min-D1LFqt_b.js.map +1 -1
- package/package.json +1 -1
- package/dist/AccessRights-BMRM1u9S.js +0 -1228
- package/dist/AccessRights-BMRM1u9S.js.map +0 -1
- package/dist/AddRoleDrawer-ZK1eejxI.js.map +0 -1
- package/dist/EventConfigurations-jGCJ4LqP.js +0 -384
- package/dist/EventConfigurations-jGCJ4LqP.js.map +0 -1
- package/dist/EventsSkeleton-BN7_0IGs.js +0 -74
- package/dist/EventsSkeleton-BN7_0IGs.js.map +0 -1
- package/dist/FeatureMenu-Ds6lFg4w.js +0 -249
- package/dist/FeatureMenu-Ds6lFg4w.js.map +0 -1
- package/dist/Features-Cshdl06N.js +0 -12
- package/dist/Features-Cshdl06N.js.map +0 -1
- package/dist/ImmunizationConfigurationsList-CQnxWa09.js +0 -335
- package/dist/ImmunizationConfigurationsList-CQnxWa09.js.map +0 -1
- package/dist/ManageEventConfiguration-BJxS2Su0.js.map +0 -1
- package/dist/ManageNotification-DMN2szWy.js.map +0 -1
- package/dist/ManageRole-CuXmWQyp.js.map +0 -1
- package/dist/ManageTranslation-BTxvSYKb.js +0 -616
- package/dist/ManageTranslation-BTxvSYKb.js.map +0 -1
- package/dist/ManageUser-Dr3ptCYp.js.map +0 -1
- package/dist/NotificationList-BqibwMaM.js +0 -400
- package/dist/NotificationList-BqibwMaM.js.map +0 -1
- package/dist/OtherTypeEventConfigModal-ZnCGWm9v.js.map +0 -1
- package/dist/QueryBuilder-BPfavHH9.js.map +0 -1
- package/dist/QueryManagement-DXA73N2j.js.map +0 -1
- package/dist/RoleManagement-C0feJCuq.js +0 -410
- package/dist/RoleManagement-C0feJCuq.js.map +0 -1
- package/dist/SubMenu-DAfZC9Xi.js +0 -188
- package/dist/SubMenu-DAfZC9Xi.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/UserList-S5Q76wO7.js.map +0 -1
- package/dist/WidgetList-BSApErov.js +0 -188
- package/dist/WidgetList-BSApErov.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"QueryBuilder-BPfavHH9.js","sources":["../src/services/QueryBuilder.js","../src/views/QueryBuilder/Skeletons/QueryBuilderSkeleton.jsx","../src/views/QueryBuilder/QueryBuilder.jsx"],"sourcesContent":["import { api } from \"@/common/interceptors/AxiosInterceptor\";\n\nexport const retrieveAllConfigured = (isActive) =>\n api.get(\"/resource\", { params: { is_active: isActive } });\n\nexport const toggleState = (data) => api.put(\"/resource\", data);\n\nexport const executeForFormConfigurator = (data) =>\n api.post(`/resource/getdataforformconfigurator/${data.code}`, data);\n\nexport const executeWithTimeout = (params) =>\n api.post(\"/resource/getdatawithtimeout\", params);\n\nexport const executeQueryForFamilyReport = (data) =>\n api.post(\"/resource/getdata\", data);\n\nexport const executeAllQuery = (dataList) =>\n api.post(\"/resource/getdatas\", dataList);\n\nexport const executeAll = (dataList) =>\n api.post(\"/resource/getalldata\", dataList);\n\nexport const getServerList = () =>\n api.post(\"/resource/getdata\", {\n code: \"get_runqueryactive_server_list\",\n parameters: {},\n });\n\nexport const saveOrUpdate = (data) => api.post(\"/resource\", data);\n\nexport const runQuery = (query) =>\n api.post(\"/resource/runquery\", query, {\n headers: { \"Content-Type\": \"application/json\" },\n transformRequest: [(data) => data],\n });\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { useSelector } from \"react-redux\";\nimport { getUseSkeleton } from \"@/store/reducers/SkeletonReducer\";\n\nexport const QueryBuilderSkeleton = ({children , isLoading}) => {\n const useSkeleton = useSelector(getUseSkeleton);\n if (!useSkeleton) {\n return children;\n }\n if (!isLoading) return children;\n return (\n <div className=\"flex flex-col gap-2\">\n <div className=\"w-full justify-between flex-wrap flex flex-row pt-6\">\n <div>\n <div className=\"bg-gray-300 animate-pulse rounded-sm h-[36px] w-[64px]\"></div>\n </div>\n\n <div className=\"flex\">\n <div className=\"bg-gray-300 animate-pulse rounded-sm h-[32px] w-[160px] mr-2\"></div>\n <div className=\"bg-gray-300 animate-pulse rounded-sm h-[32px] w-[60px]\"></div>\n </div>\n </div>\n\n <div className=\"bg-gray-300 animate-pulse rounded-sm w-full h-100\"></div>\n </div>\n );\n};\n\nQueryBuilderSkeleton.propTypes = {\n children: PropTypes.any,\n isLoading: PropTypes.any,\n};\n","import { lazy, default as React, Suspense, useEffect, useState } from \"react\";\nimport { useTranslateProvider } from \"@/common/languageTranslator/TranslationContext\";\nimport { toggleState } from \"../../services/QueryBuilder\";\nimport { execute } from \"@/common/services/GlobalApis\";\nimport SyncWithServerDialog from \"@/common/syncWithServer/SyncWithServerDialog\";\nimport { showToast } from \"@/common/toaster/toaster\";\nimport usePagination from \"@/hooks/usePagination\";\nimport CustomConfirmationModal from \"@/views/custom-components/CustomConfirmationModal\";\nimport \"./Styles/QueryBuilder.scss\";\nconst AddEditQueryBuilder = lazy(() => import(\"./AddEditQueryBuilder\"));\nconst ShowFlywayQuery = lazy(() => import(\"./ShowFlywayQuery\"));\nconst ShowQueryHistory = lazy(() => import(\"./ShowQueryHistory\"));\nimport { Box, Button, Card, TextField, Typography } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid2\";\n\nimport useTrackEvent from \"@/hooks/useTrackEvent\";\nimport CustomizedTable from \"@/views/custom-components/CustomizedTable/CustomizedTableV2\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport { faBars, faPen } from \"@fortawesome/free-solid-svg-icons\";\nimport { QueryBuilderSkeleton } from \"./Skeletons/QueryBuilderSkeleton\";\nimport { getAssignedFeatures } from \"@/utils/feature\";\nimport GeneralUtil from \"@/common/services/util/GeneralUtil\";\n\n/**\n * @module QueryBuilder\n * @returns {JSX.Element}\n */\n\nconst QueryBuilder = () => {\n const trackEvent = useTrackEvent();\n const [queryTableValues, setQueryTableValues] = useState([]);\n const [refreshData, setRefreshData] = useState(false);\n const [actualData, setActualData] = useState([]);\n const [currentPage, setCurrentPage] = useState(1);\n const [isActiveLabel, setIsActiveLabel] = useState(\"\");\n const [isActiveDescription, setIsActiveDescription] = useState(\"\");\n const [queryHistory, setQueryHistory] = useState({});\n const [openHistory, setOpenHistory] = useState(false);\n const [configuredQuery, setConfiguredQuery] = useState(\"\");\n const [openFlywayQuery, setOpenFlywayQuery] = useState(false);\n const [featureUuid, setFeatureUuid] = useState(null);\n const [search, setSearch] = useState(null);\n const [debounceSearch, setDebounceSearch] = useState(null);\n const [clickedRow, setClickedRow] = useState({});\n const [isEdit, setIsEdit] = useState(false);\n const [editRow, setEditRow] = useState({});\n const [toggleOpen, setToggleOpen] = useState(false);\n const [addEdit, setAddEdit] = useState(false);\n const [totalRows, setTotalRows] = useState(0);\n const { translate } = useTranslateProvider();\n const [rights, setRights] = useState({});\n const isClickhouseEnabledEnv = GeneralUtil.isEkavach || GeneralUtil.isPhmp;\n\n const queryTableFields = [\n { field: \"code\", label: \"Code\", align: \"left\" },\n {\n field: \"description\",\n label: \"Description\",\n align: \"left\",\n },\n { field: \"query\", label: \"Query\", align: \"left\" },\n { field: \"returnsResultSet\", label: \"Returns Result Set\" },\n { field: \"isPublic\", label: \"Is Public\" },\n ];\n\n if (isClickhouseEnabledEnv) {\n queryTableFields.push({\n field: \"isClickhouseQuery\",\n label: \"Is Clickhouse Query\",\n });\n }\n\n queryTableFields.push({ field: \"Actions\", label: \"Actions\" });\n\n const [isLoading, setIsLoading] = useState(false);\n\n const pageSize = 50;\n\n /**\n * Custom hook for managing paginated user data.\n *\n * @CustomHook\n * @type {Object}\n * @property {Array} pageData - The paginated user data fetched from the server.\n * @property {Function} fetchNextPage - Function to fetch the next page of data.\n * @property {boolean} isFetchingNextPage - Indicates if the next page is currently being fetched.\n **/\n const { data: pageData } = usePagination({\n key: [\"queries\", debounceSearch, currentPage, refreshData, rights],\n queryFn: (pageParam) => loadMoreData(pageParam),\n currentPage,\n limit: pageSize,\n searchString: debounceSearch || null,\n paginationType: \"traditional\",\n });\n\n /**\n * Handles the editing of a data item.\n * @function handleEdit\n * @param {Object} data - The data item to be edited, including at least the `uuid` property.\n * @param {string} data.uuid - The unique identifier of the data item.\n * @returns {void}\n */\n\n const handleEdit = (data) => {\n const toggledData = actualData.filter((item) => item.uuid === data.uuid);\n setEditRow(toggledData[0]);\n setAddEdit((cur) => !cur);\n setIsEdit(true);\n };\n\n /**\n * Handles toggling the state of a data item between active and inactive.\n * @function handleToggleOption\n * @param {Object} data - The data item whose state is being toggled, including at least the `uuid` and `state` properties.\n * @param {string} data.uuid - The unique identifier of the data item.\n * @param {string} data.state - The current state of the data item (e.g., 'ACTIVE' or 'INACTIVE').\n * @returns {void}\n */\n\n const handleToggleOption = (data) => {\n setIsActiveLabel(\n data?.state === \"ACTIVE\" ? \"Mark as Inactive\" : \"Mark as Active\"\n );\n setIsActiveDescription(\n data?.state === \"ACTIVE\"\n ? \"Are you sure you want to change the state from active to inactive?\"\n : \"Are you sure you want to change the state from inactive to active?\"\n );\n const toggledData = actualData.filter((item) => item.uuid === data.uuid);\n setClickedRow(toggledData[0]);\n };\n\n /**\n * Toggles the state of a boolean value used to open or close a toggle component.\n * @async\n * @function handleToggle\n * @returns {void}\n */\n\n const handleToggle = async () => {\n setToggleOpen((cur) => !cur);\n };\n\n /**\n * Handles the state toggling operation and updates the UI accordingly.\n * @async\n * @function handleToggleState\n * @returns {Promise<void>} A promise that resolves when the operation is complete.\n * @throws {Error} Throws an error if `toggleState` or `loadInitialState` fails, which is caught and handled by showing a toast message.\n */\n\n const handleToggleState = async () => {\n try {\n let data = JSON.parse(JSON.stringify(clickedRow));\n data.state = clickedRow?.state === \"ACTIVE\" ? \"INACTIVE\" : \"ACTIVE\";\n await toggleState(data);\n await fetchTotalRows();\n const updatedData = await loadMoreData({\n limit: pageSize,\n offset: (currentPage - 1) * pageSize,\n searchString: search || \"\",\n });\n setTableData(updatedData);\n setRefreshData(clickedRow);\n setToggleOpen((cur) => !cur);\n } catch (error) {\n console.error(error);\n showToast({ message: \"Error in toggle state\", type: \"error\" });\n }\n };\n\n /**\n * Retrieves and displays the query history for a specific query code.\n * @async\n * @function showQueryHistory\n * @returns {Promise<void>} A promise that resolves when the query history has been retrieved and displayed.\n * @throws {Error} Throws an error if `getQueryHistory` fails, which is caught and handled by showing a toast message.\n */\n\n const showQueryHistory = async () => {\n try {\n const data = {\n code: \"retrieve_logged_actions_by_table_name_query_code\",\n parameters: {\n tableName: \"query_master\",\n queryCode: clickedRow.code,\n },\n };\n const response = await execute(data);\n\n if (response?.data?.result?.length === 0) {\n showToast({\n message: \"No Query History found for Query code\",\n type: \"warn\",\n });\n } else {\n setQueryHistory(response?.data?.result);\n setOpenHistory((cur) => !cur);\n }\n } catch (error) {\n console.error(error);\n showToast({ message: \"Error in loading Query History\", type: \"error\" });\n }\n };\n\n /**\n * Toggles the display of the Flyway query configuration modal.\n * @function showFlywayQuery\n * @returns {void} This function does not return any value.\n */\n\n const showFlywayQuery = () => {\n setConfiguredQuery(clickedRow);\n setOpenFlywayQuery((cur) => !cur);\n };\n\n /**\n * Synchronizes the local feature state with the server.\n * @function syncWithServer\n * @returns {void} This function does not return any value.\n */\n\n const syncWithServer = () => {\n setFeatureUuid(clickedRow?.uuid);\n };\n\n /**\n * sets the feature UUid to null.\n * @function handleSyncClose\n * @returns {void} This function does not return any value.\n */\n\n const handleSyncClose = () => setFeatureUuid(() => null);\n\n const getActions = () => {\n const actions = [\n {\n label: \"\",\n icon: <FontAwesomeIcon icon={faBars} size=\"lg\" />,\n menuClick: handleToggleOption,\n menuItems: [\n {\n label: translate(isActiveLabel),\n onClick: handleToggle,\n },\n {\n label: \"Show Flyway Query\",\n onClick: showFlywayQuery,\n },\n {\n label: \"Show Query History\",\n onClick: showQueryHistory,\n },\n {\n label: \"Sync With Server\",\n onClick: syncWithServer,\n },\n ],\n dataTestId: \"MenuIcon\",\n },\n ];\n if (rights?.[\"update.admin.query\"]) {\n actions.unshift({\n label: \"\",\n icon: <FontAwesomeIcon icon={faPen} size=\"lg\" />,\n onClick: handleEdit,\n dataTestId: \"EditIcon\",\n });\n }\n return actions;\n };\n\n useEffect(() => {\n const timer = setTimeout(async () => {\n await fetchTotalRows();\n setCurrentPage(1);\n setDebounceSearch(search);\n }, 1000);\n\n return () => clearTimeout(timer); // Cleanup previous timer\n }, [search]);\n\n const fetchTotalRows = async () => {\n try {\n const { data: countData } = await execute(\n {\n code: \"fetch_total_count_for_query_builder\",\n parameters: {\n state: null,\n searchString: search || null,\n },\n },\n { showLoader: false }\n );\n setTotalRows(countData.result[0].count);\n } catch (error) {\n console.error(error);\n }\n };\n\n /**\n * Fetches additional query data for pagination and logs the search tracking event.\n * @async\n * @function loadMoreData\n * @param {Object} pageParam - The pagination parameters for the API request.\n * @param {number} pageParam.limit - The number of items to fetch per page.\n * @param {number} pageParam.offset - The offset for pagination.\n * @returns {Promise<Array>} - A promise that resolves to an array of user data fetched from the API.\n * @throws {Error} - Displays a toast notification if an error occurs during the API call.\n *\n **/\n\n const loadMoreData = async (pageParam) => {\n try {\n if (rights?.[\"view.admin.query\"]) {\n setIsLoading((cur) => !cur);\n const { data } = await execute(\n {\n code: \"fetch_queries_for_query_builder\",\n parameters: {\n limit: pageParam.limit || 50,\n offset: pageParam.offset || 0,\n state: null,\n searchString: pageParam.searchString || \"\",\n },\n },\n { showLoader: false }\n );\n search !== \"\" &&\n trackEvent(\"search_tracking\", {\n searchTerm: search,\n results_count: data?.length,\n search_type: \"Page Search\",\n });\n setIsLoading((cur) => !cur);\n return data.result;\n }\n } catch (error) {\n showToast({ message: `error ${error}`, type: \"error\" });\n setIsLoading((cur) => !cur);\n }\n };\n\n const loadRights = async () => {\n try {\n setIsLoading(true);\n const { data: featureJson } =\n await getAssignedFeatures(\"techo.manage.query\");\n setRights(JSON.parse(featureJson));\n setIsLoading(false);\n } catch (error) {\n console.error(\"Error loading rights:\", error);\n setIsLoading(false);\n }\n };\n useEffect(() => {\n loadRights();\n }, []);\n\n const setTableData = (tableData) => {\n const allQueriesData = tableData?.flat() || [];\n\n setActualData(allQueriesData);\n const data = allQueriesData.map((item) => {\n return {\n ...item,\n query: `${item?.query.slice(0, 50)}...`,\n returnsResultSet: item?.returnsResultSet ? \"Yes\" : \"No\",\n isPublic: item?.isPublic ? \"Yes\" : \"No\",\n isClickhouseQuery: item?.isClickhouseQuery ? \"Yes\" : \"No\",\n };\n });\n setQueryTableValues(data);\n };\n\n /**\n * `useEffect` hook that loads initial data when the component mounts.\n * @function useEffect\n * @async\n * @returns {void} This function does not return a value.\n */\n useEffect(() => {\n setTableData(pageData);\n }, [pageData]);\n\n /**\n * Toggles the add/edit state of the component and resets the edit row.\n * @function handleAddEdit\n */\n\n const handleAddEdit = () => {\n trackEvent(\"button_click\", {\n button_name: \"querybuilder-add-button\",\n button_type: \"navigate\",\n button_id: \"querybuilder-add-button\",\n });\n setAddEdit((cur) => !cur);\n setIsEdit(false);\n setEditRow({});\n };\n\n const addEditLoadInitial = async () => {\n try {\n if (search !== \"\") {\n setSearch(\"\");\n } else {\n await fetchTotalRows();\n const updatedData = await loadMoreData({\n limit: pageSize,\n offset: (currentPage - 1) * pageSize,\n searchString: search || \"\",\n });\n setTableData(updatedData);\n }\n } catch (error) {\n console.error(error);\n }\n };\n\n return !isLoading && !rights?.[\"view.admin.query\"] ? (\n <Box className=\"flex justify-center items-center w-full h-[80vh]\">\n <Card className=\"h-80 w-150 flex justify-center items-center\">\n <Typography variant=\"h5\" data-testid=\"no-permission-message\" className=\"text-customBlue\">\n You dont have permission to view Queries\n </Typography>\n </Card>\n </Box>\n ) : (\n <Grid pt={2} sx={{ height: \"calc(100vh - 84px)\" }}>\n <Suspense>\n {addEdit && (\n <AddEditQueryBuilder\n loadInitialState={addEditLoadInitial}\n isEditMode={isEdit}\n editRow={editRow}\n open={addEdit}\n close={handleAddEdit}\n data-testid=\"querybuilder-addeditquerybuilder\"\n />\n )}\n </Suspense>\n\n {featureUuid && (\n <SyncWithServerDialog\n isOpen={Boolean(setFeatureUuid)}\n handleClose={handleSyncClose}\n featureUUID={featureUuid}\n dataTestId=\"querybuilder-syncwithserverdialog\"\n />\n )}\n\n <Suspense>\n <ShowFlywayQuery\n configuredQuery={configuredQuery}\n open={openFlywayQuery}\n onClose={() => {\n setOpenFlywayQuery((cur) => !cur);\n }}\n data-testid=\"querybuilder-showflywayquery\"\n />\n </Suspense>\n\n <Suspense>\n <ShowQueryHistory\n historyList={queryHistory}\n open={openHistory}\n handleClose={() => {\n setOpenHistory((cur) => !cur);\n }}\n data-testid=\"querybuilder-showqueryhistory\"\n />\n </Suspense>\n\n <CustomConfirmationModal\n description={isActiveDescription}\n title={\"CONFIRM ACTION\"}\n handleClick={handleToggleState}\n open={toggleOpen}\n handleClose={() => setToggleOpen((cur) => !cur)}\n dataTestId=\"querybuilder-customconfirmationmodal\"\n />\n\n <Grid>\n <QueryBuilderSkeleton isLoading={isLoading}>\n <>\n <Grid\n container\n direction=\"row\"\n justifyContent=\"space-between\"\n alignItems={\"center\"}\n >\n <Grid item=\"true\" mt={1}>\n <Typography\n variant=\"body2\"\n className=\"font-bold font-sans text-lg uppercase text-customBlue\"\n >\n {translate(\"Queries\")}\n </Typography>\n </Grid>\n <Grid item=\"true\">\n <Grid container spacing={2}>\n <Grid item=\"true\">\n <TextField\n name=\"searchQuery\"\n id=\"searchQuery\"\n className=\"m-0 p-0\"\n placeholder=\"Search Code\"\n size=\"small\"\n value={search}\n onChange={(e) => setSearch(e?.target?.value)}\n slotProps={{\n input: {\n className: \"custom-input-root\",\n },\n }}\n sx={{\n \"& .MuiInputBase-root\": {\n backgroundColor: (theme) =>\n theme.palette.background.paper,\n },\n }}\n data-testid=\"querybuilder-search-textfield\"\n />\n </Grid>\n {rights?.[\"create.admin.query\"] && (\n <Grid item=\"true\" className=\"flex items-center\">\n <Button\n size=\"small\"\n variant=\"contained\"\n onClick={handleAddEdit}\n data-testid=\"querybuilder-add-button\"\n >\n {translate(\"Add\")}\n </Button>\n </Grid>\n )}\n </Grid>\n </Grid>\n </Grid>\n <Grid container className=\"mt-4\">\n <CustomizedTable\n columns={queryTableFields}\n tableData={queryTableValues}\n actions={getActions()}\n paginationConfig={{\n pagination: true,\n rowsPerPageInTable: pageSize,\n onPageChange: (newPage) => {\n setCurrentPage(newPage);\n },\n currentPage: currentPage,\n totalRows: totalRows,\n }}\n dataTestId=\"querybuilder-customizedtable\"\n styleConfig={{ tableStyle: { maxHeight: 65 } }}\n isLoading={isLoading}\n />\n </Grid>\n </>\n </QueryBuilderSkeleton>\n </Grid>\n </Grid>\n );\n};\n\nexport default QueryBuilder;\n"],"names":["toggleState","data","api","saveOrUpdate","QueryBuilderSkeleton","children","isLoading","useSelector","getUseSkeleton","jsxs","jsx","PropTypes","AddEditQueryBuilder","lazy","ShowFlywayQuery","ShowQueryHistory","QueryBuilder","trackEvent","useTrackEvent","queryTableValues","setQueryTableValues","useState","refreshData","setRefreshData","actualData","setActualData","currentPage","setCurrentPage","isActiveLabel","setIsActiveLabel","isActiveDescription","setIsActiveDescription","queryHistory","setQueryHistory","openHistory","setOpenHistory","configuredQuery","setConfiguredQuery","openFlywayQuery","setOpenFlywayQuery","featureUuid","setFeatureUuid","search","setSearch","debounceSearch","setDebounceSearch","clickedRow","setClickedRow","isEdit","setIsEdit","editRow","setEditRow","toggleOpen","setToggleOpen","addEdit","setAddEdit","totalRows","setTotalRows","translate","useTranslateProvider","rights","setRights","isClickhouseEnabledEnv","GeneralUtil","queryTableFields","setIsLoading","pageSize","pageData","usePagination","pageParam","loadMoreData","handleEdit","toggledData","item","cur","handleToggleOption","handleToggle","handleToggleState","fetchTotalRows","updatedData","setTableData","error","showToast","showQueryHistory","response","execute","_b","_a","_c","showFlywayQuery","syncWithServer","handleSyncClose","getActions","actions","FontAwesomeIcon","faBars","faPen","useEffect","timer","countData","loadRights","featureJson","getAssignedFeatures","tableData","allQueriesData","handleAddEdit","addEditLoadInitial","Box","Card","Typography","Grid","Suspense","SyncWithServerDialog","CustomConfirmationModal","Fragment","TextField","theme","Button","CustomizedTable","newPage"],"mappings":"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"}
|
|
@@ -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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"}
|
|
@@ -1,410 +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-CkTu7sOI.js")), xe = H(() => import("./ManageRole-CuXmWQyp.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((e) => e.Authenticate.user.roleId), [A, Z] = d([]), y = async (e = !1) => {
|
|
48
|
-
var a;
|
|
49
|
-
try {
|
|
50
|
-
m(!0);
|
|
51
|
-
const r = C ? z() : R();
|
|
52
|
-
let o, u = [];
|
|
53
|
-
if (B) {
|
|
54
|
-
const [{ data: g }, k] = await Promise.all([
|
|
55
|
-
r,
|
|
56
|
-
he(B)
|
|
57
|
-
]);
|
|
58
|
-
o = g, u = ((a = k == null ? void 0 : k.data) == null ? void 0 : a.roleIds) || [];
|
|
59
|
-
} else {
|
|
60
|
-
const { data: g } = await r;
|
|
61
|
-
o = g;
|
|
62
|
-
}
|
|
63
|
-
Z(u);
|
|
64
|
-
const F = u.length > 0 ? o.filter((g) => u.includes(g.id)) : o;
|
|
65
|
-
x(F), !e && F.length > 0 && v(F[0]);
|
|
66
|
-
} catch (r) {
|
|
67
|
-
console.error(r), h({ message: "Error in getting role data", type: "error" });
|
|
68
|
-
} finally {
|
|
69
|
-
m(!1);
|
|
70
|
-
}
|
|
71
|
-
};
|
|
72
|
-
ne(function() {
|
|
73
|
-
y();
|
|
74
|
-
}, []);
|
|
75
|
-
const ee = async (e) => {
|
|
76
|
-
let a = e.target.checked;
|
|
77
|
-
Q(e.target.checked);
|
|
78
|
-
try {
|
|
79
|
-
m((o) => !o);
|
|
80
|
-
let r;
|
|
81
|
-
a ? { data: r } = await z() : { data: r } = await R(), A && A.length > 0 && (r = r.filter(
|
|
82
|
-
(o) => A.includes(o.id)
|
|
83
|
-
)), 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(c, { sx: { fontSize: "13px", fontWeight: 600 }, children: e.featureName }) }),
|
|
331
|
-
/* @__PURE__ */ t("div", { className: "flex justify-center", children: /* @__PURE__ */ t(
|
|
332
|
-
ce,
|
|
333
|
-
{
|
|
334
|
-
icon: de,
|
|
335
|
-
onClick: () => {
|
|
336
|
-
re(e);
|
|
337
|
-
},
|
|
338
|
-
color: "error",
|
|
339
|
-
className: "text-red-400 cursor-pointer",
|
|
340
|
-
"data-testid": `assignedfeatures-delete-icon-${a}`
|
|
341
|
-
}
|
|
342
|
-
) })
|
|
343
|
-
]
|
|
344
|
-
},
|
|
345
|
-
e.id
|
|
346
|
-
)) }),
|
|
347
|
-
N.length === 0 && /* @__PURE__ */ t(E, { children: /* @__PURE__ */ t(
|
|
348
|
-
c,
|
|
349
|
-
{
|
|
350
|
-
className: "p-4",
|
|
351
|
-
sx: { fontSize: "13px", fontStyle: "italic" },
|
|
352
|
-
children: "No Features assigned yet!"
|
|
353
|
-
}
|
|
354
|
-
) })
|
|
355
|
-
]
|
|
356
|
-
}
|
|
357
|
-
)
|
|
358
|
-
] })
|
|
359
|
-
] }),
|
|
360
|
-
/* @__PURE__ */ t(
|
|
361
|
-
f,
|
|
362
|
-
{
|
|
363
|
-
className: "border-t p-4",
|
|
364
|
-
sx: {
|
|
365
|
-
bgcolor: (e) => I(e.palette.primary.main, 0.06)
|
|
366
|
-
},
|
|
367
|
-
children: /* @__PURE__ */ t(w, { variant: "outlined", size: "small", onClick: le, children: "+ Add More Features" })
|
|
368
|
-
}
|
|
369
|
-
)
|
|
370
|
-
]
|
|
371
|
-
}
|
|
372
|
-
),
|
|
373
|
-
/* @__PURE__ */ t(q, { children: /* @__PURE__ */ t(
|
|
374
|
-
xe,
|
|
375
|
-
{
|
|
376
|
-
isUpdate: S !== 1,
|
|
377
|
-
selectedId: S === 2 ? l.id : null,
|
|
378
|
-
"data-testid": "roles-managerole-add-button",
|
|
379
|
-
open: S,
|
|
380
|
-
setOpen: V,
|
|
381
|
-
isRoleListModified: se
|
|
382
|
-
}
|
|
383
|
-
) }),
|
|
384
|
-
/* @__PURE__ */ t(q, { fallback: /* @__PURE__ */ t("div", { className: "animate-pulse w-80 h-20 " }), children: $ === !0 && /* @__PURE__ */ t(
|
|
385
|
-
ge,
|
|
386
|
-
{
|
|
387
|
-
open: $,
|
|
388
|
-
setOpenModal: j,
|
|
389
|
-
selectedId: l.id,
|
|
390
|
-
setData: () => y(!0),
|
|
391
|
-
assignedFeatureList: n ? (() => {
|
|
392
|
-
var e, a, r;
|
|
393
|
-
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;
|
|
394
|
-
})() : [],
|
|
395
|
-
"data-testid": "roles-addfeatures-component"
|
|
396
|
-
}
|
|
397
|
-
) })
|
|
398
|
-
] }) });
|
|
399
|
-
}
|
|
400
|
-
const ze = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
401
|
-
__proto__: null,
|
|
402
|
-
default: ve
|
|
403
|
-
}, Symbol.toStringTag, { value: "Module" }));
|
|
404
|
-
export {
|
|
405
|
-
ze as R,
|
|
406
|
-
Re as a,
|
|
407
|
-
he as g,
|
|
408
|
-
_e as p
|
|
409
|
-
};
|
|
410
|
-
//# sourceMappingURL=RoleManagement-C0feJCuq.js.map
|