参考: 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 - 将 ResourceId 参数添加到 gcal.js(已提供修复(
GitHub - 在事件源设置中指定资源 ID
但是,检查 gcal.js 文件会显示修复程序尚未添加到该文件。
是否可以手动为每个 Google 日历 Feed 分配 resourceId,以便复制完整日历时间轴视图文档指示的资源和时间线视图?
任何指导将不胜感激。
根据第二个 GitHub 链接(您的第一个链接已合并(中的问题,https://github.com/fullcalendar/fullcalendar-scheduler/issues/124,您提到的修复仍在等待测试(截至 2018 年 3 月 11 日(。因此,如果您耐心等待,假设它通过了测试,它可能会被添加到未来的版本中。同时,这里有一个可能的解决方法:
在 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;
}
}
]
我现在无法对此进行测试,但看起来它应该可以工作。希望这将在日历上呈现之前发生,并且需要属于资源。