2015-03-20 4 views
1

Можно ли ограничить FullCalendar, поэтому при создании перетаскивания события событие не проходит через другие дни?Как ограничить полномасштабные события до одного дня?

Я имею в виду: если я начну выбирать 20 марта, в 09:00, я хочу, чтобы пользователь не смог выбрать мероприятие для завершения 21 марта в 13:00.

+0

Вы, наконец, решили? –

ответ

4

Вы можете добавить eventConstraint в настройки вашего календаря.

eventConstraint:{ 
      start: '00:00', // a start time (start of the day in this example) 
      end: '24:00', // an end time (end of the day in this example) 
     }, 

Вы можете воспроизвести его in this plunker.

Если вы хотите ограничить его только во время перетаскивания, я думаю, вы можете сделать это только с помощью eventDrop callback. Там вы можете использовать revertFunc, чтобы вернуть перетаскивание назад & в предыдущее состояние, если moment.startOf('day) отличаются.

Что-то вроде:

$('#calendar').fullCalendar({ 
    events: [ 
     // events here 
    ], 
    editable: true, 
    eventDrop: function(event, delta, revertFunc) { 

     if (!event.start.startOf('day').isSame(event.end.startOf('day'))) { 
      revertFunc(); 
     } 
    } 
}); 
-1
$('#calendar').fullCalendar({ 
events: [ 
    { 
     title : 'event1', 
     start : '2010-01-01' 
    }, 
    { 
     title : 'event2', 
     start : '2010-01-09T09:30:00', 
     end : '2010-01-09T15:30:00', 
    }, 
    { 
     title : 'event3', 
     start : '2010-01-09T12:30:00', 
     allDay : false // will make the time show 
    } 
] 

});

Смежные вопросы