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,
} = usePagination(processedData, 20);
const handler = useCallback(
(msg) => {
const { startDate, endDate } = dateRange;
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
);
useEffect(() => {
resetPage();
}, [processedData, resetPage]);
filtering(updatedAttendance);
}
},
[projectId, dateRange, data, filtering] // removed resetPage from deps
);
const handler = useCallback(
(msg) => {
const { startDate, endDate } = dateRange;
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(() => {
eventBus.on("attendance_log", handler);