Ошибка при отображении события между двумя месяцами - PullRequest
0 голосов
/ 06 ноября 2018

У меня проблемы с опцией nextDayThreshold. Даже когда я устанавливаю значение «08:00:00», FullCalendar дублирует события, которые заканчиваются на «07:00:00» 1-го числа месяца, отображая его со стрелкой влево в timelineMonth, показ одного и того же события за два месяца:

Same event in two months

$(function() { // document ready

  $('#calendar').fullCalendar({
    schedulerLicenseKey: 'CC-Attribution-NonCommercial-NoDerivatives',
    nextDayThreshold: '08:00:00',
    header: {
      left: 'today prev,next',
      center: 'title',
      right: 'timelineMonth'
    },
    defaultView: 'timelineMonth',
    resourceColumns: [
        {
            labelText: 'first column',
            field: 'title',
            width: 150
        }
    ],
    resources: [{
      id: 'a',
      title: 'Auditorium A',
    }, {
      id: 'b',
      title: 'Auditorium B',
      eventColor: 'green'
    }, {
      id: 'c',
      title: 'Auditorium C',
      eventColor: 'orange'
    }],
    events: [{
      id: '1',
      resourceId: 'b',
      start: '2018-10-31T21:00:00',
      end: '2018-11-01T07:00:00',
      title: 'event 1'
    }]
  });

});

Fiddle

Это ошибка?

1 Ответ

0 голосов
/ 07 ноября 2018

Краткий ответ: нет, это не ошибка.

Длинный ответ: Документация для nextDayThreshold гласит:

Влияет только на синхронизированные события, которые появляются в течение целых дней. Целый день клетки происходит в представлении месяца, basicDay, basicWeek и слотов на весь день в повестки дня.

В представлении "временная шкала", даже если для параметра slotDuration установлено значение 1 день по умолчанию в представлении "временная шкала", fullCalendar все равно рассматривает их как временные слоты, а не целый день клетки. Поэтому правила nextDayThreshold не применяются. например Если вы переключились на представление timelineWeek, оно по-прежнему будет использовать точно такой же макет и слоты, за исключением того, что слоты имеют разную длину. Это не другой тип клетки.

Если мы посмотрим на обновленную версию вашей скрипки: https://jsfiddle.net/q2fk57nb/6/, которая теперь включает в себя обычное представление «месяц» (я просто добавил right: 'timelineMonth,month' в заголовок), мы можем увидеть, что то же событие в этом представлении ограничено 31 октября из-за правила nextDayThreshold и того факта, что в обычном представлении «месяц» используются ячейки «целый день».

...