如何仅从一个源提取事件Fullcalendar


How to extract event from one source only Fullcalendar

我必须为我公司的员工建立一个程序来申报工作、休假、生病等天数。我的想法是使用完整的日历拖放功能来做一些漂亮的东西。只有在Month视图中,您可以拖动事件"Work"并将其放置到您工作的日期,就像这样简单。

我想做的是提取显示的事件,把它们放在数据库中,我尝试使用:

$('#calendar').fullCalendar('clientEvents');

但是我也从我的google日历中获得事件,用于在后台事件中显示公共假日。

换句话说,我有两种类型的事件,一种是我拖放的,另一种是由google日历放在backgroundEvents上的。

简单地说,我如何过滤我提取的事件,以忽略那些从谷歌日历?所以我把所有的事件从日历中放入一个数组,但我不想要那些从谷歌。

如果可能的话,我真的很感激下一步的任何提示,把这些事件在数据库中。

如何解决仅提取我手工添加的事件?

好吧,多亏了办公室的一个同事,我终于得到了这个。把答案留在这里,以防万一:

googlecalendars事件和手动添加的事件没有相同的属性,googlecalendars事件有'source'和'url'属性,而其他事件没有。

您要做的是获取所有事件,循环遍历数组并只选择那些没有source属性的事件。:

function send(){
        var  cal_events = ''
       data= $('#calendar').fullCalendar('clientEvents');
       for (var key in data) {
            var event = data[key];
            if (typeof(event.source) == 'undefined'){
                 //Your stuff
                    }
                });
            }
        }
    }

这样你就可以只对没有'source'属性的事件进行操作。

谢谢。罗宾

你可以像这样传递一个函数给clientEvents函数:

var data = $('#calendar').fullCalendar('clientEvents',function(event){
    return !(event.source && event.source.googleCalendarId);
});