我最近开始使用FullCalendar插件。我正在尝试在日历中删除事件的函数。但在保存到数据库之前,我想检查并禁用/阻止在今天之前的日期丢弃外部事件。
有关如何做到这一点的任何想法?我正在寻找过去几天变灰或类似的东西,以便我可以显示已经存在的事件。只是想阻止用户在过去的日期丢弃事件。
修改
drop: function (date, jsEvent, ui) {
if(date<currentDate) {
$('#calendar').fullCalendar('removeEvents', event.id);
}
我尝试使用此方法从日历中删除已删除的事件并再次将其附加到div。即便如此,它也不会被删除。
感谢。 :)
答案 0 :(得分:9)
eventConstraint可以禁用在既定边界之外的拖放
灰色过去几天
/* SHADE DAYS IN THE PAST */
td.fc-day.fc-past {
background-color: #EEEEEE;
}
对于eventConstraint
/* This constrains it to today or later */
eventConstraint: {
start: moment().format('YYYY-MM-DD'),
end: '2100-01-01' // hard coded goodness unfortunately
}
对于eventConstraint的'end',如果您喜欢vs hard coded,可以在当前日期添加天数
编辑:
要在日视图中显示灰色时间,您可以使用businessHours
businessHours: {
start: moment().format('HH:mm'), /* Current Hour/Minute 24H format */
end: '17:00', // 5pm? set to whatever
dow: [0,1,2,3,4,5,6] // Day of week. If you don't set it, Sat/Sun are gray too
}
允许在过去 中将外部事件丢弃到AgendaDay上。编辑eventConstraint以包含时间将起作用'YYYY-MM-DD HH:mm'但它会阻止今天在月视图中删除......
答案 1 :(得分:3)
eventDrop
应该让你到那里:
eventDrop: function(event, delta, revertFunc) {
if(event.start < currentDate) {
revertFunc();
}
}