27
loading...
This website collects cookies to deliver better user experience
This was originally published on https://eichgi.hashnode.dev/react-fullcalendar-snippet
<FullCalendar
ref={calendar}
fixedWeekCount={false}
height={'auto'}
locale={esLocale}
plugins={[dayGridPlugin, interactionPlugin]}
initialView={setCalendarViewByWidth()}
headerToolbar={{
start: 'prev today next',
center: 'title',
end: 'newAppointment'
}}
footerToolbar={{
center: 'toggleMonth toggleWeek toggleDay',
}}
customButtons={{
newAppointment: {
text: 'Nueva cita',
click: () => {
dateClickHandler();
},
},
toggleDay: {
text: 'Hoy',
click: () => {
calendar.current.getApi().changeView('dayGridDay');
}
},
toggleWeek: {
text: 'Semana',
click: () => {
calendar.current.getApi().changeView('dayGridWeek');
}
},
toggleMonth: {
text: 'Mes',
click: () => {
calendar.current.getApi().changeView('dayGridMonth')
}
},
}}
dateClick={e => dateClickHandler(e)}
events={appointments}
datesSet={async (dateInfo) => {
await getEvents(dateInfo.startStr.split('T')[0], dateInfo.endStr.split('T')[0]);
}}
eventsSet={(events => {
console.log('Events set: ', events);
})}
eventClick={e => eventsHandler(e)}
/>
const calendar = useRef(null);
import esLocale from '@fullcalendar/core/locales/es';
import dayGridPlugin from '@fullcalendar/daygrid';
import interactionPlugin from '@fullcalendar/interaction';
headerToolbar={{
start: 'prev today next',
center: 'title',
end: 'newAppointment'
}}
footerToolbar={{
center: 'toggleMonth toggleWeek toggleDay',
}}
customButtons={{
newAppointment: {
text: 'Nueva cita',
click: () => {
dateClickHandler();
},
},
...
}}
dateClick={e => dateClickHandler(e)}
events={[
{ title: 'event 1', date: '2019-04-01' },
{ title: 'event 2', date: '2019-04-02' }
]}
datesSet={async (dateInfo) => {
await getEvents(dateInfo.startStr.split('T')[0], dateInfo.endStr.split('T')[0]);
}}
eventClick={e => eventsHandler(e)}