从工作日结束到下一个工作日开始的完整日历JS包装时间



我在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); 
    }
}

最新更新