diff --git a/src/components/Activities/Attendance.jsx b/src/components/Activities/Attendance.jsx index 6d751b12..12edc8fc 100644 --- a/src/components/Activities/Attendance.jsx +++ b/src/components/Activities/Attendance.jsx @@ -62,11 +62,47 @@ const Attendance = ({ getRole, handleModalData, searchTerm }) => { const role = item.jobRoleName?.toLowerCase() || ""; return ( fullName.includes(lowercasedSearchTerm) || - role.includes(lowercasedSearchTerm) // ✅ also search by role + role.includes(lowercasedSearchTerm) // also search by role ); }); }, [group1, group2, searchTerm]); + // const finalFilteredData = useMemo(() => { + // const combinedData = [...group1, ...group2]; + + // let tempData = combinedData; + + // // Search filter + // if (searchTerm) { + // const lowercasedSearchTerm = searchTerm.toLowerCase(); + // tempData = tempData.filter((item) => { + // const fullName = `${item.firstName} ${item.lastName}`.toLowerCase(); + // const role = item.jobRoleName?.toLowerCase() || ""; + // return ( + // fullName.includes(lowercasedSearchTerm) || + // role.includes(lowercasedSearchTerm) // also search by role + // ); + // }); + // } + + // // Organization filter + // if (filters?.selectedOrganization) { + // tempData = tempData.filter( + // (item) => item.organization?.name === filters.selectedOrganization + // ); + // } + + // // Services filter + // if (filters?.selectedServices?.length > 0) { + // tempData = tempData.filter((item) => + // filters.selectedServices.includes(item.service?.name) + // ); + // } + + // return tempData; + // }, [group1, group2, searchTerm, filters]); + + const { currentPage, totalPages, currentItems, paginate } = usePagination( finalFilteredData, @@ -116,7 +152,7 @@ const Attendance = ({ getRole, handleModalData, searchTerm }) => { <>
Date : {formatUTCToLocalTime(todayDate)} diff --git a/src/components/Activities/AttendcesLogs.jsx b/src/components/Activities/AttendcesLogs.jsx index 9aced215..c98eabde 100644 --- a/src/components/Activities/AttendcesLogs.jsx +++ b/src/components/Activities/AttendcesLogs.jsx @@ -150,6 +150,33 @@ const AttendanceLog = ({ handleModalData, searchTerm }) => { }); }, [processedData, searchTerm]); +// const filteredSearchData = useMemo(() => { +// let tempData = processedData; + +// if (searchTerm) { +// const lowercasedSearchTerm = searchTerm.toLowerCase(); +// tempData = tempData.filter((item) => { +// const fullName = `${item.firstName} ${item.lastName}`.toLowerCase(); +// return fullName.includes(lowercasedSearchTerm); +// }); +// } + +// if (filters?.selectedOrganization) { +// tempData = tempData.filter( +// (item) => item.organization?.name === filters.selectedOrganization +// ); +// } + +// if (filters?.selectedServices?.length > 0) { +// tempData = tempData.filter((item) => +// filters.selectedServices.includes(item.service?.name) +// ); +// } + +// return tempData; +// }, [processedData, searchTerm, filters]); + + const { currentPage, totalPages, @@ -242,14 +269,7 @@ const AttendanceLog = ({ handleModalData, searchTerm }) => {
-
- refetch()} - /> -
+
{isLoading ? ( @@ -344,7 +364,7 @@ const AttendanceLog = ({ handleModalData, searchTerm }) => { ) : ( -
No Record Available !
+
No data available for the selected date range. Please Select another date.
)}
{paginatedAttendances?.length == 0 && filteredSearchData?.length > 0 && ( diff --git a/src/components/Activities/Regularization.jsx b/src/components/Activities/Regularization.jsx index 82c906b5..5c3c1930 100644 --- a/src/components/Activities/Regularization.jsx +++ b/src/components/Activities/Regularization.jsx @@ -10,7 +10,7 @@ import eventBus from "../../services/eventBus"; import { cacheData, clearCacheKey, useSelectedProject } from "../../slices/apiDataManager"; import { useQueryClient } from "@tanstack/react-query"; -const Regularization = ({ handleRequest, searchTerm }) => { +const Regularization = ({ handleRequest, searchTerm }) => { const queryClient = useQueryClient(); // var selectedProject = useSelector((store) => store.localVariables.projectId); const selectedProject = useSelectedProject(); @@ -59,6 +59,36 @@ const Regularization = ({ handleRequest, searchTerm }) => { }); }, [regularizesList, searchTerm]); + // const filteredSearchData = useMemo(() => { + // let sortedList = [...regularizesList].sort(sortByName); + + // // Search filter + // if (searchTerm) { + // const lowercasedSearchTerm = searchTerm.toLowerCase(); + // sortedList = sortedList.filter((item) => { + // const fullName = `${item.firstName} ${item.lastName}`.toLowerCase(); + // return fullName.includes(lowercasedSearchTerm); + // }); + // } + + // // Organization filter + // if (filters?.selectedOrganization) { + // sortedList = sortedList.filter( + // (item) => item.organization?.name === filters.selectedOrganization + // ); + // } + + // // Services filter + // if (filters?.selectedServices?.length > 0) { + // sortedList = sortedList.filter((item) => + // filters.selectedServices.includes(item.service?.name) + // ); + // } + + // return sortedList; + // }, [regularizesList, searchTerm, filters]); + + const { currentPage, totalPages, currentItems, paginate } = usePagination(filteredSearchData, 20); diff --git a/src/pages/Activities/AttendancePage.jsx b/src/pages/Activities/AttendancePage.jsx index f0e00ad5..cef91843 100644 --- a/src/pages/Activities/AttendancePage.jsx +++ b/src/pages/Activities/AttendancePage.jsx @@ -39,6 +39,10 @@ const AttendancePage = () => { const [modelConfig, setModelConfig] = useState(); const DoRegularized = useHasUserPermission(REGULARIZE_ATTENDANCE); const { projectNames, loading: projectLoading, fetchData } = useProjectName(); + const [appliedFilters, setAppliedFilters] = useState({ + selectedOrganization: "", + selectedServices: [], + }); const [formData, setFormData] = useState({ markTime: "", @@ -95,11 +99,11 @@ const AttendancePage = () => { {(modelConfig?.action === 0 || modelConfig?.action === 1 || modelConfig?.action === 2) && ( - - )} + + )} {/* For view logs */} {modelConfig?.action === 6 && ( @@ -128,9 +132,8 @@ const AttendancePage = () => {