我在AgentaWeek视图中使用Full Calendar JS,我将可见时间限制为上午8点至下午5点,而不是默认情况下每天显示的12个小时,但当我尝试扩展事件的时间并将其拖过可见时间的末尾时,它不会换行到第二天。相反,它一直持续到午夜才结束。
有什么简单的方法可以防止这种情况发生吗?基本上,我只想让它在一周中的上午8点到下午5点之间展示活动。
这是我的代码:
$('#calendar').fullCalendar({
defaultView: 'agendaWeek',
allDaySlot: false,
minTime: '8:00am',
maxTime: '6:00pm',
weekends: false,
header: {
left: 'prev,next',
center: 'title',
right: ''
},
editable: true,
droppable: true, // this allows things to be dropped onto the calendar !!!
events: "{{URL::to('schedule/fetch')}}"
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/3.10.0/fullcalendar.min.js"></script>
我的事件存储在数据库中,只有一个开始时间和一个持续时间,都是UTC格式。为了获得结束时间,我只需添加开始时间和持续时间,然后通过AJAX将其传递回来。我想我需要一个完整的日历,如果它溢出到第二天,只需添加到持续时间中,但我不确定如何实现这一点。
我在完整日历的选择中使用以下解决方案进行了解决:
select: function(start, end) {
if(start.format() > minTime && start.format() < maxTime){
eventId++;
var event = {
id : eventId,
start: moment(start.format()),
end: moment(end.format())
};
$('#calendar').fullCalendar('renderEvent', event, true);
}
}