From d8269cfbe8372451db9e2cb7c007250554328d95 Mon Sep 17 00:00:00 2001 From: Kartik sharma Date: Mon, 23 Jun 2025 17:27:22 +0530 Subject: [PATCH] Changes in search employee when double error message is shown. --- src/pages/employee/EmployeeList.jsx | 42 +++++++++++------------------ 1 file changed, 15 insertions(+), 27 deletions(-) diff --git a/src/pages/employee/EmployeeList.jsx b/src/pages/employee/EmployeeList.jsx index 884e95d2..c7d6a64f 100644 --- a/src/pages/employee/EmployeeList.jsx +++ b/src/pages/employee/EmployeeList.jsx @@ -6,13 +6,13 @@ import Avatar from "../../components/common/Avatar"; import Breadcrumb from "../../components/common/Breadcrumb"; import ManageEmp from "../../components/Employee/ManageRole"; import { useEmployeesAllOrByProjectId } from "../../hooks/useEmployees"; -import { useProjects } from "../../hooks/useProjects"; -import { useProfile } from "../../hooks/useProfile"; -import { hasUserPermission } from "../../utils/authUtils"; +import { useProjects } from "../../hooks/useProjects"; // Keep if you use projects elsewhere +import { useProfile } from "../../hooks/useProfile"; // Keep if you use profile elsewhere +import { hasUserPermission } from "../../utils/authUtils"; // Keep if you use this elsewhere import { ITEMS_PER_PAGE, MANAGE_EMPLOYEES } from "../../utils/constants"; import { clearCacheKey } from "../../slices/apiDataManager"; import { useHasUserPermission } from "../../hooks/useHasUserPermission"; -import SuspendEmp from "../../components/Employee/SuspendEmp"; +import SuspendEmp from "../../components/Employee/SuspendEmp"; // Keep if you use SuspendEmp import { exportToCSV, exportToExcel, @@ -24,13 +24,9 @@ import ManageEmployee from "../../components/Employee/ManageEmployee"; import ConfirmModal from "../../components/common/ConfirmModal"; import { useSelector } from "react-redux"; import eventBus from "../../services/eventBus"; -import { newlineChars } from "pdf-lib"; +import { newlineChars } from "pdf-lib"; // Unused import, consider removing const EmployeeList = () => { - // const selectedProjectId = useSelector((store) => store.localVariables.projectId); - // const [selectedProject, setSelectedProject] = useState(() => selectedProjectId || ""); - // const { projects, loading: projectLoading } = useProjects(); - const selectedProjectId = useSelector( (store) => store.localVariables.projectId ); @@ -40,9 +36,8 @@ const EmployeeList = () => { const Manage_Employee = useHasUserPermission(MANAGE_EMPLOYEES); const { employees, loading, setLoading, error, recallEmployeeData } = - // useEmployeesAllOrByProjectId(showAllEmployees ? null : selectedProject, showInactive); useEmployeesAllOrByProjectId( - showAllEmployees ? null : selectedProjectId, + showAllEmployees ? null : selectedProjectId, // Use selectedProjectId here showInactive ); @@ -105,13 +100,12 @@ const EmployeeList = () => { setEmployeeList(sorted); const results = applySearchFilter(sorted, searchText); setFilteredData(results); - } else if (!loading && !employees) { setEmployeeList([]); setFilteredData([]); } - }, [loading, employees, showAllEmployees, searchText, selectedProjectId]); - + }, [loading, employees, showAllEmployees, searchText, selectedProjectId]); // Add selectedProjectId to dependencies + const displayData = filteredData; const indexOfLastItem = currentPage * itemsPerPage; const indexOfFirstItem = indexOfLastItem - itemsPerPage; @@ -140,7 +134,7 @@ const EmployeeList = () => { } setShowModal(false); clearCacheKey("employeeProfile"); - recallEmployeeData(showInactive, showAllEmployees ? null : selectedProject); + recallEmployeeData(showInactive, showAllEmployees ? null : selectedProjectId); // Use selectedProjectId here }; const handleShow = () => setShowModal(true); const handleClose = () => setShowModal(false); @@ -155,7 +149,7 @@ const EmployeeList = () => { clearCacheKey("allInactiveEmployeeList"); clearCacheKey("employeeProfile"); // Recall data based on current filter states after deletion to refresh the table - recallEmployeeData(showInactive, showAllEmployees ? null : selectedProject); + recallEmployeeData(showInactive, showAllEmployees ? null : selectedProjectId); // Use selectedProjectId here setemployeeLodaing(false); setIsDeleteModalOpen(false); }) @@ -204,7 +198,7 @@ const EmployeeList = () => { const handleToggle = (e) => { setShowInactive(e.target.checked); - recallEmployeeData(e.target.checked, showAllEmployees ? null : selectedProject); + recallEmployeeData(e.target.checked, showAllEmployees ? null : selectedProjectId); // Use selectedProjectId here }; const handleAllEmployeesToggle = (e) => { @@ -217,7 +211,7 @@ const EmployeeList = () => { recallEmployeeData(false, selectedProjectId); } - // recallEmployeeData(false, isChecked ? null : selectedProject); + // recallEmployeeData(false, isChecked ? null : selectedProject); // This line also used selectedProject }; const handleEmployeeModel = (id) => { @@ -230,10 +224,6 @@ const EmployeeList = () => { setIsDeleteModalOpen(true); }; - // useEffect(() => { - // setSelectedProject(selectedProjectId || ""); - // }, [selectedProjectId]); - useEffect(() => { if (!showAllEmployees) { recallEmployeeData(showInactive, selectedProjectId); @@ -244,9 +234,9 @@ const EmployeeList = () => { (msg) => { if(employees.some((item) => item.id == msg.employeeId)){ setEmployeeList([]); - recallEmployeeData(showInactive); + recallEmployeeData(showInactive, showAllEmployees ? null : selectedProjectId); // Use selectedProjectId here } - },[employees] + },[employees, showInactive, showAllEmployees, selectedProjectId] // Add all relevant dependencies ); useEffect(() => { @@ -370,8 +360,6 @@ const EmployeeList = () => { className="form-control form-control-sm" placeholder="Search User" aria-controls="DataTables_Table_0" - // The 'disabled' attribute is intentionally removed here - // to keep the search box always active as requested. /> @@ -727,4 +715,4 @@ const EmployeeList = () => { ); }; -export default EmployeeList; +export default EmployeeList; \ No newline at end of file