Используйте источники событий FullCalendar для отображения неопределенного количества календарей и соответствующих им событий - PullRequest
0 голосов
/ 11 марта 2020

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 для моего варианта использования?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...