在 FullCalendar 中禁用过去日期

新手上路,请多包涵

我最近开始使用 FullCalendar 插件。我正在尝试实现在日历中删除事件的功能。但在保存到数据库之前,我想检查并禁用/防止在今天之前的日期删除外部事件。

关于如何做到这一点的任何想法?我正在寻找过去几天变灰之类的东西,以便我也可以显示已经存在的事件。只是想防止用户删除过去日期的事件。

编辑:

  drop: function (date, jsEvent, ui) {

     if(date<currentDate) {
         $('#calendar').fullCalendar('removeEvents', event.id);
     }

我尝试使用此方法从日历中删除删除的事件并将其再次附加到 div。即使那样,它也没有被删除。

谢谢。 :)

原文由 FireDrakon 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.5k
2 个回答

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
        }

http://jsfiddle.net/1qsrjffL/

对于 eventConstraint 的“结束”,如果你喜欢与硬编码相比,你可以在当前日期上添加天数

编辑:

要在日视图中显示灰色时间,您可以使用 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’ 但它会阻止在月视图中显示今天…

http://jsfiddle.net/1qsrjffL/1/

原文由 smcd 发布,翻译遵循 CC BY-SA 3.0 许可协议

eventDrop 应该让你到那里:

 eventDrop: function(event, delta, revertFunc) {
        if(event.start < currentDate) {
            revertFunc();
        }
    }

原文由 Slyvain 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题