FullCalendar限制调度程序中可选择的时间量

时间:2017-06-14 18:42:48

标签: jquery fullcalendar momentjs scheduler fullcalendar-scheduler

在我的日程安排程序视图中,我尝试将用户可以选择的时间限制为最多4小时。我认为selectConstraint会是机票,但是没有办法应用最长可选持续时间。

我希望提供selectConstraint: {duration: '04:00'}duration: '240'(以分钟为单位)的内容。

或者......可能会限制可选插槽的数量?我将它分解为15分钟的增量,那么有没有办法将选择限制为最多16个插槽?

我一直在寻找 FullCalendar Docs(我认为这是相当差的IMO ......),但我似乎无法找到关键因素。

任何?

$('#schedulerCalendar').fullCalendar({
     defaultView: 'agendaDay',
     defaultDate: moment(systemDate),
     eventClick: $scope.eventClick,
     editable: true,
     eventOverlap: false,
     selectable: true,
     selectHelper: true,
     select: $scope.dayClick,
     slotDuration : '00:15:00',
     slotEventOverlap: false,
     allDaySlot: false,

     // Display only business hours (8am to 5pm)
     minTime: "08:00",
     maxTime: "17:00",

     businessHours: {
         dow: [ 1, 2, 3, 4, 5], // Monday - Thursday
         start: '08:00', // start time (8am)
         end: '17:00', // end time (5pm)
     },

    hiddenDays: [ 0, 6 ],  // Hide Sundays and Saturdays

    events: function (start, end, timezone, callback) {
        callback($scope.eventSources);
    },
});

1 个答案:

答案 0 :(得分:4)

您可以使用fullCalendar' selectAllow和片刻持续时间asHours功能:

$('#schedulerCalendar').fullCalendar({  
    //....
    selectAllow: function(selectInfo) { 
         var duration = moment.duration(selectInfo.end.diff(selectInfo.start));
         return duration.asHours() <= 4;
    },
    //...
});