From a2a8e90350c58b155c7213ef02502149673388b1 Mon Sep 17 00:00:00 2001 From: Kartik sharma Date: Wed, 18 Jun 2025 10:33:13 +0530 Subject: [PATCH] The current behavior is that when the "All Employees" filter is off, the system should display employees only for the globally selected project, not all employees. --- src/pages/employee/EmployeeList.jsx | 46 +++++++++++++++++++---------- 1 file changed, 31 insertions(+), 15 deletions(-) diff --git a/src/pages/employee/EmployeeList.jsx b/src/pages/employee/EmployeeList.jsx index 24ce0556..b9a6e8de 100644 --- a/src/pages/employee/EmployeeList.jsx +++ b/src/pages/employee/EmployeeList.jsx @@ -25,22 +25,32 @@ import ConfirmModal from "../../components/common/ConfirmModal"; import { useSelector } from "react-redux"; 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); + // const [selectedProject, setSelectedProject] = useState(() => selectedProjectId || ""); + // const { projects, loading: projectLoading } = useProjects(); + + const selectedProjectId = useSelector( + (store) => store.localVariables.projectId + ); + const [showInactive, setShowInactive] = useState(false); const [showAllEmployees, setShowAllEmployees] = useState(false); const Manage_Employee = useHasUserPermission(MANAGE_EMPLOYEES); + const { employees, loading, setLoading, error, recallEmployeeData } = - useEmployeesAllOrByProjectId(showAllEmployees ? null : selectedProject, showInactive); + // useEmployeesAllOrByProjectId(showAllEmployees ? null : selectedProject, showInactive); + useEmployeesAllOrByProjectId( + showAllEmployees ? null : selectedProjectId, + showInactive + ); const [employeeList, setEmployeeList] = useState([]); const [modelConfig, setModelConfig] = useState(); const [currentPage, setCurrentPage] = useState(1); const [itemsPerPage] = useState(ITEMS_PER_PAGE); const [isCreateModalOpen, setIsCreateModalOpen] = useState(false); - const [searchText, setSearchText] = useState(""); - const [filteredData, setFilteredData] = useState([]); + const [searchText, setSearchText] = useState(""); + const [filteredData, setFilteredData] = useState([]); const [showModal, setShowModal] = useState(false); const [selectedEmployeeId, setSelecedEmployeeId] = useState(null); const [IsDeleteModalOpen, setIsDeleteModalOpen] = useState(false); @@ -98,7 +108,8 @@ const EmployeeList = () => { setEmployeeList([]); setFilteredData([]); } - }, [loading, employees, showAllEmployees, searchText, selectedProject]); + }, [loading, employees, showAllEmployees, searchText, selectedProjectId]); + const displayData = filteredData; const indexOfLastItem = currentPage * itemsPerPage; const indexOfFirstItem = indexOfLastItem - itemsPerPage; @@ -198,8 +209,13 @@ const EmployeeList = () => { const isChecked = e.target.checked; setShowInactive(false); setShowAllEmployees(isChecked); + if (isChecked) { + recallEmployeeData(false, null); + } else { + recallEmployeeData(false, selectedProjectId); + } - recallEmployeeData(false, isChecked ? null : selectedProject); + // recallEmployeeData(false, isChecked ? null : selectedProject); }; const handleEmployeeModel = (id) => { @@ -212,15 +228,15 @@ const EmployeeList = () => { setIsDeleteModalOpen(true); }; - const handleProjectSelection = (e) => { - const newProjectId = e.target.value; - setSelectedProject(newProjectId); - setShowAllEmployees(false); - }; + // useEffect(() => { + // setSelectedProject(selectedProjectId || ""); + // }, [selectedProjectId]); useEffect(() => { - setSelectedProject(selectedProjectId || ""); - }, [selectedProjectId]); + if (!showAllEmployees) { + recallEmployeeData(showInactive, selectedProjectId); + } + }, [selectedProjectId, showInactive, showAllEmployees, recallEmployeeData]); return (