我有两个不同的事件源用于在FullCalendar中显示事件 - 一个来自Google日历,另一个来自本地数据库。
以下是我的事件来源:
eventSources: [
{
url: $('#google_calendar_xml').val(), //Get google calendar url from element value
className: 'google-event'
},
{
url: '/planner/events',
className: 'local-event'
}
]
两个事件源都在工作,事件正在完美呈现。但是,如果在Google日历和完整日历中创建相同的事件,则我只需要显示一个事件。为了实现这一点,我需要一种方法来比较来自两个来源的所有事件的标题、开始和结束时间。
我搜索了FullCalendar文档,但找不到任何功能或方法来实现此目的。
您可以使用在两个源的所有事件在 fullCalendar 中完成渲染后触发的eventAfterAllRender
。
eventAfterAllRender: function( view ) {
var allevents = $('#calendar').fullCalendar('clientEvents');
}
现在,使用 allevents
对象,您可以执行许多操作。
这是我为我拿的那个:
eventAfterAllRender: function(view) {
var allevents = $('#calendar').fullCalendar('clientEvents');
var countevents = 0;
if( allevents.length ) {
countevents = countevents + allevents.length;
}
if(!allevents) {
// alert('event count is'+countevents);
console.log('event count is',countevents);
}
}