FullCalendar-Scheduler Google Calendars ResourceIDs查询

时间:2018-06-18 07:34:28

标签: json fullcalendar fullcalendar-scheduler gcal

参考: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指示的资源和时间轴视图?

非常感谢任何指导。

1 个答案:

答案 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;
    } 
  }
]

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