Нет необходимости изменять сам плагин. Просто используйте все доступные варианты.
Если вы просто пытаетесь изменить содержимое любого события, отображаемого в календаре, передайте функцию eventRender
callback, которая возвращает новый элемент DOM. Используйте momentjs library для отображения форматированной строки для свойства start
события. Например:
var calendarOptions = {
// ...other options
eventRender: function(event, element) {
$(element).html(moment(event.start).format('h:mm'));
return element;
}
}
Когда вы закончите с calendarOptions, вы, очевидно, нужно передать его fullCalendar:
$(calElement).fullCalendar(calendarOptions);
Если вы хотите отобразить событие в каждой отдельной клетке, затем сначала создайте массив событий для каждого приращения ячейки ... примерно так:
var myEvents = [];
var timeCursor = moment(startTime);
while (+timeCursor < +moment(endTime)) {
var start = +timeCursor;
timeCursor = timeCursor.add(timeIncrement,'minutes');
var end = +timeCursor;
myEvents.push({
start: start,
end: end
});
}
(где вы уже установили 0 !, endTime
и timeIncrement
)
Тогда events
property календаря вариантов для этого массива перед переходом к fullCalendar:
calendarOptions.events = myEvents;
Наконец, для обработки кликов на событии, передать функцию eventClick
callback option, который делает все, что вы хотите. Например, если вы отслеживаете из которых было щелкнуло событие, вы можете нажать их start
раз в массив:
var clickedEvents = [];
calendarOptions.eventClick: function(calEvent, jsEvent) {
if (clickedEvents.indexOf(calEvent.start) < 0) {
clickedEvents.push(calEvent.start);
} else {
return false;
}
}
Тогда, конечно, вы можете изменить свой eventRender
обратный вызов еще раз, чтобы ваше мероприятие дисплей отражает этот статус, изменяя стиль элемента, добавив следующую строку перед возвращением измененного элемента:
if (clickedEvents.indexOf(calEvent.start) < 0) {
$(element).addClass('already-clicked');
}
(. обязательно установите стиль для .already-clicked
в вашем CSS с чем-то вроде cursor: not-allowed
и opacity: 0.5
)
fullCalendar rock!
какой код вы используете? что вы пробовали? – indubitablee
Но это дисплей по умолчанию ... –
Я пытаюсь изменить этот код с четырех дней, и теперь я понятия не имею, как я могу это сделать, поэтому я спрашиваю. @MadalinaTaina Я не знаю, я четко пишу, что я хочу делать:/ Да Это представление по умолчанию, но я хочу, чтобы эти события генерировались автоматически, как первые три на картинке, но в каждой отдельной ячейке за каждый отдельный день во время рендеринга стр. – letsdothisnow