参考: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日历Feed添加resourceId,以便复制FullCalendar Timeline View documentation指示的资源和时间轴视图?
非常感谢任何指导。
答案 0 :(得分:0)
根据第二个GitHub链接(与第一个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;
}
}
]
我现在无法测试,但看起来应该可以。希望这会在日历上呈现之前发生,并且需要属于资源。