Я пытаюсь создать настраиваемое представление с помощью Fullcalendar со следующими функциями:
Представление, которое я хочу показать, похоже на представление timelineMonth с той разницей, что оно должно начинаться за 3 дня до 1 числа запрошенного месяца и заканчиваться через 3 дня после последнего дня запрошенного месяца. Это своего рода "расширенный месяц" просмотра.
Я также требую, чтобы первый видимый день был первым числом месяца (а за 3 дня до первого были видны при прокрутке)
Я пробовал использовать пример пользовательских представлений с опцией видимого диапазона, но не могу найти правильную конфигурацию.
Это мой текущий код. Диапазон дат правильный, но первый видимый день не является первым автономным месяцем (это -3 дня), а заголовок показывает диапазон месяцев (пример: август-октябрь)
views: {
extendedMonth: {
type: 'timeline',
dateAlignment: 'month',
titleFormat: 'MMM',
visibleRange: function(currentDate) {
var startOfMonth = currentDate.clone().startOf('month');
var endOfMonth = currentDate.clone().endOf('month');
return {
start: startOfMonth.clone().subtract(2, 'days'),
end: endOfMonth.clone().add(2, 'days')
};
},
buttonText: 'Extended Month'
}
}
Спасибо вам за помощь!
Извините, я только что обновил свой вопрос! Спасибо
Хорошо спасибо. Первый показанный день всегда будет первым доступным днем на временной шкале. Насколько я знаю, это невозможно изменить на временной шкале. Об этом раньше спрашивали в StackOverflow. Я вижу, вы использовали dateAlignment, но fullcalendar.io/docs/dateAlignment говорит: «Если диапазон представления явно задан с помощью visibleRange, dateAlignment будет проигнорирован». Возможно, вы могли бы обратиться к сопровождающим fullCalendar с просьбой о функции, если этого еще никто не сделал.
Что касается названия, что вы подразумеваете под «запрошенным месяцем»? Вы про месяц, в который попадает currentDate
? Вы потенциально можете изменить настройку fullcalendar.io/docs/titleFormat, чтобы увидеть, сможете ли вы заставить это работать.
что он делает / не делает, чего вы не хотели? Сделайте так, чтобы мы могли помочь вам - постарайтесь быть более конкретным, чем «не могу понять». Спасибо.