Отображение нескольких лет в режиме временной шкалы за полный календарный месяц?

#javascript #fullcalendar #fullcalendar-scheduler

Вопрос:

Я пытаюсь использовать представление временной шкалы, чтобы иметь удобный и простой интерфейс для переноса события на данный месяц (я могу работать с логикой дня месяца). Проблема, которая у меня есть, заключается в том, что я теперь застрял в данном году:

введите описание изображения здесь

В этом примере я хочу перетащить событие обратно в декабрь 2021 года.

Если я чего-то не упускаю, невозможно показать более 12 месяцев. Если бы я мог, по крайней мере, показать предыдущий декабрь и следующий январь, я мог бы запустить повторный рендеринг представления после удаления события, а затем снова перетащить.

Есть какие-нибудь предложения о том, как это реализовать? У меня отбрасывающий обратный вызов работает просто отлично — просто, кажется, не могу найти простой способ

Ответ №1:

Создав пользовательское представление с помощью различных настроек представления, вы можете установить продолжительность временной шкалы практически на любой желаемый промежуток времени.

Вот пример, который показывает 2 года за раз:

 views: {
  resourceTimelineYears: {
    type: 'resourceTimeline',
    duration: { years: 2 },
    buttonText: '2 Years',
    slotDuration: { months: 1 }
  }
},
 

Демо: https://codepen.io/ADyson82/pen/mdMeLbJ

(Примечание.Этот код предполагает, что вы используете FullCalendar 5. x, хотя аналогичный код работал бы и в более ранних версиях.)

Комментарии:

1. Это отвечает на мой вопрос, но теперь я осознал непредвиденные последствия. Слоты для месяцев теперь очень малы — есть ли настройка, обеспечивающая минимальную ширину?

2. Не совсем. Насколько мне известно, это в какой-то степени зависит от общей ширины календаря.

3. А, хорошее решение. Я совсем забыл об этих новых домах, они могли бы помочь