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