具有禁用期限的Fullcalendar用于拖放 ' n' drop

时间:2016-07-07 13:49:12

标签: fullcalendar

如何配置fullcalendar并禁用某些句点以进行拖动' n' drop。例如,我需要禁用

  • 2016-07-03至2016-07-07
  • 2016-07-10至2016-07-15
  • 2016-07-24至2016-07-26

1 个答案:

答案 0 :(得分:1)

选项1.创建从2016-07-03到2016-07-07等三个事件。使用eventOverlap:设置一个禁止事件与这些事件重叠的函数。

选项2.创建跨越所有允许时间的多个事件。所有事件必须具有相同的ID - 这很重要。然后将eventConstraint与事件ID一起使用。这样,任何用户事件都必须完全包含在您的虚拟事件中,否则拖放将失败。

选项3.可能是最合理的解决方案。使用eventDrop和eventResize处理程序验证新事件的开始和结束是否符合您的约束。如果没有,则调用revertFunc()以将事件返回到其原始状态。

示例:

eventDrop: function(event, delta, revertFunc) {

    if (event.start.isAfter('2016-07-03') && 
         event.start.isBefore('2016-07-07') { //also add check for event.end
             revertFunc();
         }
}