Проблема в том, что переменная с именем "calendar" не находится в области видимости при использовании ее в обратном вызове, поэтому она не определена.Его область действия ограничена обратным вызовом «DOMContentLoaded», в котором вы его объявили.
Теперь вам не нужны два отдельных обратных вызова «DOMContentLoaded».Как правило, одного достаточно для всего кода, который должен быть запущен при загрузке страницы.
Если вы переместите все внутри одного обратного вызова, у вас не будет проблем:
document.addEventListener('DOMContentLoaded', function() {
var calendar1 = document.getElementById('calendar_mini');
var calendar_mini = new FullCalendar.Calendar(calendar1, {
plugins: ['interaction', 'dayGrid'],
eventClick: function(info) {
//when clicking on events, go to date on main calendar
calendar.gotoDate(info.event.start)
}
var calendar_full = document.getElementById('calendar_full');
var calendar = new FullCalendar.Calendar(calendar_full, {
plugins: ['interaction', 'resourceDayGrid', 'resourceTimeGrid', 'timeGrid'],
header: {
right: 'prevYear,prev,next,nextYear,today',
left: 'title',
center: 'resourceTimeGridDay,resourceTimeGridWeek,resourceDayGridMonth'
},
selectMirror: true,
...
)};