调度程序中可选时间的FullCalendar限制数量
问题描述:
在我的调度程序视图中,我试图将用户可以选择的时间限制为最多4小时。我认为selectConstraint
是门票,但没有看到应用最大可选持续时间的方法。调度程序中可选时间的FullCalendar限制数量
我一直希望沿着selectConstraint: {duration: '04:00'}
或duration: '240'
(几分钟)的路线。
或...可能会限制可选插槽的数量?我把它分成15分钟的增量,那么有没有办法将选择限制在最多16个插槽?
我一直在冲刷 FullCalendar Docs(这是我认为是相当贫穷的国际海事组织......),但我似乎无法找到关键因素。
有人吗?
$('#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);
},
});
答
您可以使用fullCalendar的selectAllow和力矩时间asHours功能:
$('#schedulerCalendar').fullCalendar({
//....
selectAllow: function(selectInfo) {
var duration = moment.duration(selectInfo.end.diff(selectInfo.start));
return duration.asHours() <= 4;
},
//...
});
哦,伙计...谢谢!优秀和非常快速的答案。 :-) 周末愉快。 – Drew