fix(p2): Calendar view toggle - key on DragAndDropCalendar + view prop + onView handler
This commit is contained in:
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user