fix(p2): Calendar view toggle - key on DragAndDropCalendar + view prop + onView handler

This commit is contained in:
Hermes
2026-07-31 01:56:25 +00:00
parent de06a9aa21
commit bf37f9a488
@@ -40,12 +40,12 @@ interface CalendarEvent {
} }
interface BigCalendarWrapperProps { interface BigCalendarWrapperProps {
onViewChange?: (view: string) => void;
events: CalendarEvent[]; events: CalendarEvent[];
onEventDrop?: (event: CalendarEvent, newStart: Date) => void; onEventDrop?: (event: CalendarEvent, newStart: Date) => void;
defaultView?: string; defaultView?: string;
date?: Date; date?: Date;
onNavigate?: (date: Date) => void; onNavigate?: (date: Date) => void;
onViewChange?: (view: string) => void;
} }
function eventStyleGetter(event: CalendarEvent) { function eventStyleGetter(event: CalendarEvent) {
@@ -123,7 +123,15 @@ export function BigCalendarWrapper({
return d; return d;
}, []); }, []);
const handleViewChange = useCallback(
(newView: string) => {
if (onViewChange) onViewChange(newView);
},
[onViewChange]
);
return ( return (
<DragAndDropCalendar <DragAndDropCalendar
key={defaultView} key={defaultView}
localizer={localizer} localizer={localizer}
@@ -135,9 +143,9 @@ export function BigCalendarWrapper({
onSelectEvent={handleSelectEvent} onSelectEvent={handleSelectEvent}
views={['month', 'week', 'day']} views={['month', 'week', 'day']}
view={defaultView} view={defaultView}
onView={handleViewChange}
date={date} date={date}
onNavigate={handleNavigate} onNavigate={handleNavigate}
onView={handleViewChange}
popup popup
onEventDrop={handleEventDrop} onEventDrop={handleEventDrop}
resizable resizable