FullCalendar удаляет все повторяющиеся события вместо события, соответствующего фильтру - PullRequest
0 голосов
/ 07 февраля 2019

Я пытаюсь удалить одно событие из повторяющегося.Я использую драгоценный камень ice_cube, чтобы помочь с повторяющимися событиями.Все функции работают для создания и редактирования повторяющихся событий.

Если пользователь хочет удалить одно событие повторяющегося события, я использую следующее:

  eventClick: (event, jsEvent, view) ->
    $('#calendar').fullCalendar('removeEvents', event._id);
    return

Где event._id являетсяуникальный идентификатор fullCalendar создает для каждого события в календаре.Тем не менее, вместо удаления одного события повторяющихся событий, которые он передает, удаляются все события.

Что я делаю не так и как я могу получить fullCalendar для удаления только одного события из последовательности событий?

1 Ответ

0 голосов
/ 07 февраля 2019

Страница документа события FullCalendar говорит, что повторяющиеся события имеют одинаковый идентификатор.

Страница документации removeEvents говорит, что вы можете предоставить функцию фильтрации, если хотите удалить один объект события.

eventClick: function (calEvent, jsEvent, view) {
    $('#calendar').fullCalendar('removeEvents', function (eventCandidate) {
        return calEvent === eventCandidate;
    });
}

UPD :если функция фильтрации не работает, может помочь настраиваемый хук рендеринга .

Возможно, вам придется установить настраиваемое свойство для события (или запомнить его идентификатор).и дату где-нибудь), а затем исключить такое событие во время рендеринга.

eventClick: function (calEvent, jsEvent, view) {
    calEvent.excludedByUser = true;
},
eventRender: function(calEvent, element) {
    if (calEvent.excludedByUser) {
       return false;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...