问题描述
在我的日程安排视图中,我试图将用户可以选择的时间限制为最多4小时。我认为 selectConstraint
是票据,但是没有看到应用最大可选持续时间的方法。
In my scheduler view, I'm trying to limit the amount of time a user can select to a maximum of 4 hours. I thought that selectConstraint
would be the ticket, but don't see a way to apply a max selectable duration.
我希望沿着 selectConstraint:{duration:'04:00'}
或者持续时间:'240'
(以分钟为单位)。
I was hoping for something along the lines of selectConstraint: {duration: '04:00'}
or perhaps duration: '240'
(in minutes).
或...可能会限制可选插槽的数量?我已经把它分成了15分钟的增量,那么有没有办法将选择限制到最多16个插槽?
Or... maybe limit the number of selectable slots?? I have it broken up into 15 minute increments, so is there a way to limit the select to a maximum of 16 slots?
我一直在冲刷(这是我认为比较差的IMO ...),但我似乎无法找到关键
I've been scouring the FullCalendar Docs (which is I think is rather poor IMO...), but I can't seem to find the key ingredient.
$('#schedulerCalendar')
$ b
Anyone?
$('#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);
},
});
推荐答案
You can use fullCalendar's selectAllow and moment duration asHours functions:
$('#schedulerCalendar').fullCalendar({
//....
selectAllow: function(selectInfo) {
var duration = moment.duration(selectInfo.end.diff(selectInfo.start));
return duration.asHours() <= 4;
},
//...
});
这篇关于FullCalendar在调度程序中的可选时间限制的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!