Attendance page search functionality and Attendance Log Page Resets to First Page After Performing Action on Other Pages.

This commit is contained in:
Kartik Sharma 2025-07-24 17:40:03 +05:30 committed by pramod mahajan
parent 276a2ca9f4
commit 32434da93f

View File

@ -147,26 +147,34 @@ const AttendanceLog = ({
resetPage, resetPage,
} = usePagination(processedData, 20); } = usePagination(processedData, 20);
const handler = useCallback( useEffect(() => {
(msg) => { resetPage();
const { startDate, endDate } = dateRange; }, [processedData, resetPage]);
const checkIn = msg.response.checkInTime.substring(0, 10);
if (
projectId === msg.projectId &&
startDate <= checkIn &&
checkIn <= endDate
) {
const updatedAttendance = data.map((item) =>
item.id === msg.response.id
? { ...item, ...msg.response }
: item
);
filtering(updatedAttendance); const handler = useCallback(
} (msg) => {
}, const { startDate, endDate } = dateRange;
[projectId, dateRange, data, filtering] // removed resetPage from deps const checkIn = msg.response.checkInTime.substring(0, 10);
); if (
selectedProject === msg.projectId &&
startDate <= checkIn &&
checkIn <= endDate
) {
queryClient.setQueriesData(["attendanceLogs"],(oldData)=>{
if(!oldData) {
queryClient.invalidateQueries({queryKey:["attendanceLogs"]})
}
return oldData.map((record) =>
record.id === msg.response.id ? { ...record, ...msg.response } : record
);
})
filtering(updatedAttendance);
resetPage();
}
},
[selectedProject, dateRange, data, filtering, resetPage]
);
useEffect(() => { useEffect(() => {
eventBus.on("attendance_log", handler); eventBus.on("attendance_log", handler);