"agendaWeek" 中的完整日历 - 如何呈现过去一周中的几天不可访问(灰色,无法 select)?

Fullcalendar in "agendaWeek" - how to render the days of the week in past unaccessible (grey, unable to select)?

我的fullcalendar.io显示为'defaultView: "agendaWeek",'模式。如果一周中的几天过去了,我想让当前一周的单元格变灰。

例如,如果今天是星期三,日历显示 "Apr 19 — 25, 2015",那么星期一和星期二(它们所有没有事件的单元格)应该是灰色的,无法 select。

我认为它与 viewRender 有关,这是它现在的样子(它不允许回到过去,这也是我想要的):

 viewRender: function(currentView) {
  var minDate = moment();
  if (minDate >= currentView.start && minDate <= currentView.end) {
    $(".fc-prev-button").prop('disabled', true); 
    $(".fc-prev-button").addClass('fc-state-disabled'); 
  }
  else {
    $(".fc-prev-button").removeClass('fc-state-disabled'); 
    $(".fc-prev-button").prop('disabled', false); 
  };

  debugger
},

您可以使用select event and eventRender

A callback that will fire after a selection is made.

然后您可以使用unselect方法以编程方式清除当前选择。

代码示例

select: function (start, endDate) {
    var minDate = moment();
    if (minDate >= endDate) {
        $("#calendar").fullCalendar('unselect');
        return;
    }
},
eventRender: function (event, element) {
    var minDate = moment();
    if (minDate >= event.end) {
        $(element).addClass('fc-state-disabled');
        return;
    }
}