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 committed by Vikas Nale
parent 33c3bb1282
commit a2a8e90350

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 (