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.

This commit is contained in:
Kartik sharma 2025-06-18 10:33:13 +05:30
parent ad55560d6d
commit 96d45f0bd2

View File

@ -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 (