From 00902fff9fb397ef3bbbf72bd3ce8e3bc79a237f Mon Sep 17 00:00:00 2001 From: Pramod Mahajan Date: Fri, 13 Jun 2025 13:27:34 +0530 Subject: [PATCH] fixed togger for active and inactive employee --- src/hooks/useEmployees.js | 16 +++++----------- src/pages/employee/EmployeeList.jsx | 14 +++++++------- 2 files changed, 12 insertions(+), 18 deletions(-) diff --git a/src/hooks/useEmployees.js b/src/hooks/useEmployees.js index 7a70c365..67c9f6b8 100644 --- a/src/hooks/useEmployees.js +++ b/src/hooks/useEmployees.js @@ -143,7 +143,8 @@ export const useEmployeesAllOrByProjectId = (projectId, showInactive) => { const [error, setError] = useState(null); const fetchData = async (showInactive) => { - if (projectId) { + if ( projectId ) + { const Employees_cache = getCachedData("employeeListByProject"); if (!Employees_cache || Employees_cache.projectId !== projectId) { setLoading(true); @@ -166,18 +167,11 @@ export const useEmployeesAllOrByProjectId = (projectId, showInactive) => { setEmployees(Employees_cache.data); setLoading(false); } - } else { + } else + { const cacheKey = showInactive ? "allInactiveEmployeeList" : "allEmployeeList"; - const employeesCache = getCachedData(cacheKey); - - if (employeesCache) { - setEmployees(employeesCache.data); - setLoading(false); - } else { - setLoading(true); - setError(null); try { const response = await EmployeeRepository.getAllEmployeeList( @@ -190,7 +184,7 @@ export const useEmployeesAllOrByProjectId = (projectId, showInactive) => { setError("Failed to fetch data."); setLoading(false); } - } + } }; diff --git a/src/pages/employee/EmployeeList.jsx b/src/pages/employee/EmployeeList.jsx index ca830712..5a72fa8d 100644 --- a/src/pages/employee/EmployeeList.jsx +++ b/src/pages/employee/EmployeeList.jsx @@ -9,7 +9,7 @@ import { useEmployeesAllOrByProjectId } from "../../hooks/useEmployees"; import { useProjects } from "../../hooks/useProjects"; import { useProfile } from "../../hooks/useProfile"; import { hasUserPermission } from "../../utils/authUtils"; -import { MANAGE_EMPLOYEES } from "../../utils/constants"; +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"; @@ -29,10 +29,9 @@ const EmployeeList = () => { const [selectedProject, setSelectedProject] = useState(() => selectedProjectId || ""); const { projects, loading: projectLoading } = useProjects(); const [showInactive, setShowInactive] = useState(false); - const [showAllEmployees, setShowAllEmployees] = useState(false); // New state for "All Employee" + const [showAllEmployees, setShowAllEmployees] = useState(false); const Manage_Employee = useHasUserPermission(MANAGE_EMPLOYEES); - // Modify the hook to conditionally pass selectedProject or null based on showAllEmployees const { employees, loading, setLoading, error, recallEmployeeData } = useEmployeesAllOrByProjectId(showAllEmployees ? null : selectedProject, showInactive); const [projectsList, setProjectsList] = useState(projects || []); @@ -40,7 +39,7 @@ const EmployeeList = () => { const [employeeList, setEmployeeList] = useState([]); const [modelConfig, setModelConfig] = useState(); const [currentPage, setCurrentPage] = useState(1); - const [itemsPerPage] = useState(20); + const [itemsPerPage] = useState(ITEMS_PER_PAGE); const [isCreateModalOpen, setIsCreateModalOpen] = useState(false); const [isEmployeeModalOpen, setIsEmployeeModalOpen] = useState(false); const [searchText, setSearchText] = useState(""); @@ -189,10 +188,11 @@ const EmployeeList = () => { recallEmployeeData(e.target.checked); }; - // New handler for "All Employee" toggle const handleAllEmployeesToggle = (e) => { const isChecked = e.target.checked; - setShowAllEmployees(isChecked); + setShowInactive(false) + setShowAllEmployees( isChecked ); + recallEmployeeData(showInactive, isChecked ? null : selectedProject); }; @@ -304,7 +304,7 @@ const EmployeeList = () => { {/* Show Inactive Employees Switch */} - {!showAllEmployees && ( + {showAllEmployees && (