FullCalendar имеет документацию об использовании eventSources для отображения нескольких событий в одном календаре ... Мне нужно, чтобы это было более динамично c, поэтому я передаю eventSources
мою функцию, которая возвращает массив календарей
function() {
return $('#calendar').fullCalendar
({googleCalendarApiKey: '<YOUR API KEY>',
eventSources:
function(){
getEventSources();
}
}
);
};
Я хочу перечислить каждое событие из каждого календаря, принадлежащего пользователю, в отличие от заданного количества календарей, которые я передаю.
Вот функция, которую я создал для этого.
function getEventSources(){
const calendarList = "<%= @calendar_list %>"
const keyArray = calendarList.map(cal => {
return 'googleCalendarId'
})
const calendarIds = calendarList.map(cal => {
return cal["id"]
})
eventSources = []
for(i=0; i < keyArray.length; i++) {
var obj = {}
obj[keyArray[i]] = calendarIds[i]
eventSources.push(obj);
}
return eventSources
};
calendarList - список календарей; это определено в контроллере, однако я не думаю, что я устанавливаю его здесь правильно ... Я также попытался установить, используя ajax и даже передавая его по маршруту json.
Я тестировал вручную это и сработало, но я все еще не могу заставить календарь загрузить
2 основных вопроса:
1. Правильно ли я передаю свою функцию eventSources
в функции eventCalendar?
2. Как лучше всего объявить calendarList
для моего варианта использования?