FullCalendar-Scheduler Google 日历资源 ID 查询

FullCalendar-Scheduler Google Calendars ResourceIDs Query

参考:FullCalendar 3.9.0, FullCalendar-Scheduler 1.9.4

谁能确认是否可以按资源对 Google 日历事件进行分组?将 resourceId 参数添加到日历源,如下所示:

    var myCalSrc = {
    id: 1,
    googleCalendarId: '<myCalSrcURL>',
    color: '<myCalSrcColor>',
    className: '<myCalSrc-events>'
};

导致空白显示。位于 demos 目录中的 FullCalendar-Scheduler gcal.html 文件中的以下注释指出:

  /*
  NOTE: unfortunately, Scheduler doesn't know how to associated events from
  Google Calendar with resources, so if you specify a resource list,
  nothing will show up :(  Working on some solutions.
  */

但是,以下线程似乎表明可能已解决此问题:

GitHub - Add ResourceId Parameter to gcal.js (fix supplied)

GitHub - Specify resourceId in Event Source settings

但是,检查 gcal.js 文件显示修复程序尚未添加到该文件。

是否可以手动为每个 Google 日历提要分配一个 resourceId,以便复制 FullCalendar Timeline View documentation 指示的资源和时间线视图?

任何指导将不胜感激。

根据您的第二个 GitHub link(您的第一个已合并)中的问题,https://github.com/fullcalendar/fullcalendar-scheduler/issues/124,您提到的修复仍在等待测试(截至 11 2018 年 3 月)。因此,如果您有耐心,它可能会被添加到未来的版本中,假设它通过了测试。同时,这里有一个可能的解决方法:

在 fullCalendar 中,可以为每个事件源定义一个单独的 eventDataTransform。

因此我认为您应该能够使用它为每个事件设置资源 ID,具体取决于它来自的 Google 日历:

eventSources: [
  { 
    googleCalendarId: 'abc@group.calendar.google.com', 
    color: 'blue',
    eventDataTransform: function(event) {
      event.resourceId = 1;
      return event;
    } 
  }, 
  { 
    googleCalendarId: 'def@group.calendar.google.com', 
    color: 'green', 
    eventDataTransform: function(event) {
      event.resourceId = 2;
      return event;
    } 
  }, 
  { 
    googleCalendarId: 'ghi@group.calendar.google.com', 
    color: 'red' ,
    eventDataTransform: function(event) {
      event.resourceId = 3;
      return event;
    } 
  }
]

我现在无法对此进行测试,但看起来应该可以。希望这会在它呈现在日历上并且需要属于资源之前发生。