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 c4c3e8d885
commit 41af98e340

View File

@ -27,22 +27,32 @@ import eventBus from "../../services/eventBus";
import { newlineChars } from "pdf-lib";
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);
@ -100,7 +110,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;
@ -200,8 +211,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) => {
@ -214,15 +230,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]);
const handler = useCallback(
(msg) => {