FullCalendar日历开始日期



我正在尝试禁用日历上的前几天,这样选择的事件就不会在这些日期执行。

我试过

  defaultDate: '2015-03-25',
  minDate: '2015-03-25',
  eventConstraint: {
    start: '2015-03-25'
  },

有人知道我该怎么做吗?

感谢

更新——像这样?

  viewRender: function(view){
          if (view.start < minDate){
              $('#calendar').fullCalendar('gotoDate', minDate);
          }
      },

禁用查看过去

假设viewRender更新中的代码是所需的行为,那么它应该是:

viewRender: function(view){
      if (view.start.isBefore(moment())){  //if view start is before now
          $('#calendar').fullCalendar('gotoDate', moment); //go to now
      }
  },

Fullcalendar使用momentjs库进行日期比较,因此不能使用<进行比较。

JSFiddle演示

但这种行为有点奇怪。你确定你不想让人们看到过去吗?当你一个月工作到一半的时候呢?

将事件限制在当前

让我们添加一些调整以使其更可用:

  • 两个背景事件,均涵盖相同的日期(从过去到当前日期/时间)。我们需要一个全天活动和一个定时活动,因为:

    定时的后台事件将仅在该时间呈现议程视图中的插槽。全天的背景事件将仅在月视图或议程视图的全天时段中呈现

  • 选择Overlap和eventOverlap callbacks。这些提供了一种简单的方法来阻止用户创建或将事件转移到过去
events: [{ // All-day past
    id: 'past',
    start: '1900-01-01',
    end: moment(),
    rendering: 'background',
    allDay: true
}, { // Timed past
    id: 'past',
    start: '1900-01-01',
    end: moment(),
    rendering: 'background',
}, /*other event sources...*/ ],
// Disable selection on top of the "past" event
selectOverlap: function (event) {
    return event.id !== 'past';
},
// Disable dragging on top of the "past" event
eventOverlap: function (stillEvent, movingEvent) {
    return stillEvent.id !== 'past';
},

JSFiddle演示

相关内容

  • 没有找到相关文章

最新更新