Fullcalendar经常性事件排除

时间:2015-10-01 08:38:40

标签: javascript fullcalendar

我使用fullcalendar和拖放外部事件以及json数据源。 这些事件默认每周重复一次。

我现在想要添加一些功能,使用户能够删除此重复事件的单个实例(例如在Google日历中)。 我相信这需要某种机制来从重复事件中排除某个事件日期。

我无法在fullcalendar文档中找到任何可以支持这种开箱即用行为的内容。

我更倾向于客户端解决方案。

1 个答案:

答案 0 :(得分:0)

我创建了一个jsfiddle,它显示了如何显示每日并发事件,但一个日期除外。我已经包含了一个自定义属性(excludedDate)。 在您的解决方案中,您需要包含一个名为excludedDates的属性,其中包含一个日期数组,每次要删除单个实例时,只需将日期添加到此属性数组即可。然后,在eventRender中,您将遍历此数组以查看是否需要在任何给定日期排除该事件。

eventRender: function(event, element, view) {

    var theDate = event.start
    var excludedDate = event.excludedDate;
    var excludedTomorrrow = new Date(excludedDate);
     //if the date is in between August 29th at 00:00 and August 30th at 00:00 DO NOT RENDER
    if( theDate >= excludedDate && theDate < excludedTomorrrow.setDate(excludedTomorrrow.getDate() + 1) ) {
        return false;
    }
    }