FullCalendar ограничивает количество выбираемого времени в планировщике

В моем представлении планировщика я пытаюсь ограничить количество времени, которое пользователь может выбрать, максимум 4 часами. Я думал, что selectConstraint будет билетом, но не вижу способа применить максимальную выбираемую продолжительность.

Я надеялся на что-то вроде selectConstraint: {duration: '04:00'} или, возможно, duration: '240' (в минутах).

Или... может ограничить количество выбираемых слотов?? Я разбил его на 15-минутные интервалы, так есть ли способ ограничить выбор максимум 16 слотами?

Я просматривал FullCalendar Docs (что, на мой взгляд, довольно плохо, IMO...), но Я не могу найти ключевой ингредиент.

Кто угодно?

$('#schedulerCalendar').fullCalendar({
     defaultView: 'agendaDay',
     defaultDate: moment(systemDate),
     eventClick: $scope.eventClick,
     editable: true,
     eventOverlap: false,
     selectable: true,
     selectHelper: true,
     select: $scope.dayClick,
     slotDuration : '00:15:00',
     slotEventOverlap: false,
     allDaySlot: false,

     // Display only business hours (8am to 5pm)
     minTime: "08:00",
     maxTime: "17:00",

     businessHours: {
         dow: [ 1, 2, 3, 4, 5], // Monday - Thursday
         start: '08:00', // start time (8am)
         end: '17:00', // end time (5pm)
     },

    hiddenDays: [ 0, 6 ],  // Hide Sundays and Saturdays

    events: function (start, end, timezone, callback) {
        callback($scope.eventSources);
    },
});

person Drew    schedule 14.06.2017    source источник


Ответы (1)


Вы можете использовать selectAllow fullCalendar и продолжительность момента asHours:

$('#schedulerCalendar').fullCalendar({  
    //....
    selectAllow: function(selectInfo) { 
         var duration = moment.duration(selectInfo.end.diff(selectInfo.start));
         return duration.asHours() <= 4;
    },
    //...
});
person Laurynas Gerbutavicius    schedule 14.06.2017
comment
О человек... спасибо! Отличный и очень быстрый ответ. :-) Хороших выходных. - person Drew; 16.06.2017
comment
О, мальчик, если бы ты был в моем месте, я бы устроил тебе грандиозную вечеринку за это :) - person Kamran Sohail; 31.12.2018