在Fullcalendar中,是否可以防止事件“ foo”与事件“ bar”重叠,但允许它与事件“ quux”重叠?

时间:2019-08-14 14:32:57

标签: fullcalendar fullcalendar-4

说我在Fullcalendar中有3个事件类型,“ foo”,“ bar”和“ quux”。 'foo'和'bar'不能相互重叠,但是'quux'可以同时重叠'foo'和'bar'。

这可能吗?如果是这样,我该如何实现?

https://fullcalendar.io/docs/eventOverlap说可以防止重叠,但这可以完全防止事件类型重叠

2 个答案:

答案 0 :(得分:2)

您链接到的eventOverlap文档页面上说

  

“如果给定一个函数,则每次存在该函数时都会调用该函数   一对相交的事件,无论是在用户拖动还是调整大小时。的   如果应该允许重叠,则函数必须返回true,否则返回false   否则”

因此,在该函数中,您可以定义任何逻辑来决定是否允许重叠,包括检查事件的属性。因此,您可以编写代码来检查两个事件分别是“ foo”还是“ bar”,然后相应地返回响应。

天真的例子:

eventOverlap: function(stillEvent, movingEvent) {
  if (
    (stillEvent.title == "foo" && movingEvent.title == "bar")
    ||
    (stillEvent.title == "bar" && movingEvent.title == "foo")
  ) 
  {
    return false;
  }
  return true;
}

答案 1 :(得分:0)

@ADyson评论就在现场!