Fullcalendar 3 - получить текущий экземпляр при выборе функции - PullRequest
0 голосов
/ 10 июля 2020

Я использую Fullcalendar 3, и у меня есть несколько экземпляров календарей.

Я хочу выбрать текущий экземпляр в функции выбора, сейчас у меня есть:

$('.calendar').fullCalendar({
    defaultDate: moment('2000-01-03'),
    allDaySlot: false,
    selectable: true,
    editable: true,
    select: function(start, end, allDay) {
        console.log(this);
       
        // this does nothing
        // before I had $('#calendar').fullCalendar('....');
        this.el.fullCalendar('renderEvent', {
                    start: start,
                    end: end,
                    allDay: allDay
                },
                false // make the event "stick"
        );

        this.el.fullCalendar('unselect');
    },

Раньше я использовал $('#calendar').fullCalendar('....');, но теперь у меня разные экземпляры.

Как я могу использовать такую ​​функцию, как renderEvent, внутри функции выбора? Используете текущий экземпляр?

1 Ответ

1 голос
/ 11 июля 2020

Хорошо, этот способ работает:

select: function(start, end, allDay) {
    this.calendar.el.fullCalendar('renderEvent', {
                start: start,
                end: end,
                allDay: allDay
            },
            false // make the event "stick"
    );

    this.calendar.el.fullCalendar('unselect');
},

И, например, для события eventClick мне пришлось использовать другой:

eventClick: function(calEvent, jsEvent, view) {
    if(confirm("Voulez-vous supprimer cet horaire ?")) {
        // delete in frontend
        calEvent.source.calendar.el.fullCalendar('removeEvents', calEvent.id);
    }
}
...