Подтвердить что ты не робот

Как настроить параметры Fullcalendar динамически

Как настроить параметры minTime и maxTime после создания календаря?

Я пробовал следующее, что не работает:

$('#calendar').fullCalendar('option', 'minTime', 7);
$('#calendar').fullCalendar('render');
4b9b3361

Ответ 1

Невозможно сделать это без повторного создания календаря.

Update: Можно сделать в версии 2.9: ниже

Ответ 2

Я не знаю, насколько это актуально, но я могу изменить параметры со следующим утверждением:

пример для выбора:

$('#calendar').fullCalendar('getView').calendar.options.selectable = false;
$('#calendar').fullCalendar('render'); // rerender to see visual changes

Хотя это не динамически, но по крайней мере вам не нужно уничтожать весь календарь и обновлять ваши события: -)

Ответ 5

Таким образом вы можете изменить как можно больше параметров календаря:

// save the calendar options in a variable
var calendarOptions = $('#calendar')
     .fullCalendar('getView')
     .options;

// make your changes to the calendar options
// I wanted to change the slotDuration
calendarOptions.slotDuration = '00:20:00';

// destroy the calendar
$('#calendar')
     .fullCalendar('destroy');

//Lets load the calendar with the new options
$('#calendar')
     .fullCalendar(calendarOptions);

Надеюсь, это поможет. Спасибо.

Ответ 6

Только я, чувак, на самом деле единственный способ найти себя.

Это просто добавление к этому прежнему ответу: Если вы хотите изменить редактируемый параметр, что очень полезно, если вы хотите заблокировать события для запроса подтверждения при изменении перед обновлением базы данных, это немного сложнее. В случае, если это может сэкономить некоторое время кому-то, я сбрасываю код:

var view = $('#calendar').fullCalendar('getView');
view.calendar.options.editable = false;
view.calendar.overrides.editable = false;
view.calendar.viewSpecCache.month.options.editable = false;
view.calendar.viewSpecCache.agendaWeek.options.editable = false;
view.calendar.viewSpecCache.agendaDay.options.editable = false;
$('#calendar').fullCalendar('render');

Вы, очевидно, меняете все эти false на true, чтобы разблокировать.

Ответ 7

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

function initializeCalendar( timeIntervalCustom ) {
  $('#calendar'+id).fullCalendar({
  slotMinutes: timeIntervalCustom,

});                       

}

$('#calendar').fullCalendar("destroy");
initializeCalendar(10);