Can I prevent events with conflict time?

前端 未结 5 1177
梦如初夏
梦如初夏 2020-12-11 09:58

How can I prevent events with conflict time? Is there any variable to set up?

5条回答
  •  谎友^
    谎友^ (楼主)
    2020-12-11 10:27

    Correct overlap checking.

            eventDrop: function(event, dayDelta, minuteDelta, allDay, revertFunc, jsEvent, ui, view) {
                /// deny overlap of event
                var start = new Date(event.start);
                var end = new Date(event.end);
    
                var overlap = $('#calendar').fullCalendar('clientEvents', function(ev) {
                    if( ev == event) {
                        return false;
                    }
                    var estart = new Date(ev.start);
                    var eend = new Date(ev.end);
    
                    return (
                        ( Math.round(start) > Math.round(estart) && Math.round(start) < Math.round(eend) )
                        ||
                        ( Math.round(end) > Math.round(estart) && Math.round(end) < Math.round(eend) )
                        ||
                        ( Math.round(start) < Math.round(estart) && Math.round(end) > Math.round(eend) )
                    );
                });
                if (overlap.length){
                    revertFunc();
                    return false;
                }
            }
    

提交回复
热议问题