Перемещение внешнего внешнего события с помощью jquery fullcalendar.
Я хотел бы знать, когда пользователь расширяет событие до нескольких дат, используя перетаскивание панели управления, если есть какие-либо возможности для создания нескольких object(fc-event)
div
object(fc-event)
?
Теперь, показывая только один div (fc-event
) для всех выбранных дней, для каждого дня необходимо разделить div
s (fc-event
).
Вы можете использовать событие eventResize
:
Вызывается при изменении размера и времени события.
в случае клонирования элемента и установки новой даты начала и окончания на нем, затем визуализируйте его в календаре с renderEvent
метода renderEvent
; в конце не забудьте вернуть стандартный эффект изменения размера с помощью revertFunc
Код:
$('#mycalendar').fullCalendar({
header: {
left: 'prev,next today',
center: 'title',
right: 'month,agendaWeek,agendaDay'
},
editable: true,
events: [{
title: 'event1',
start: '2014-05-02'
}, {
title: 'event2',
start: '2014-05-10'
}],
eventResize: function (event, dayDelta, minuteDelta, revertFunc) {
var originalEventObject = event;
for (var i = 0; i < dayDelta; i++) {
var selectedIndex = parseInt(originalEventObject._id.replace(/_fc/, '') - 1);
var copiedEventObject = $.extend({}, $("#mycalendar").fullCalendar("clientEvents")[selectedIndex]);
copiedEventObject.source = null;
var newDay = new Date(copiedEventObject.start);
newDay.setDate(newDay.getDate() + i + 1);
copiedEventObject._id = "_fc" + parseInt($("#mycalendar").fullCalendar("clientEvents").length + 1);
copiedEventObject.start = newDay;
copiedEventObject.end = newDay;
$('#mycalendar').fullCalendar('renderEvent', copiedEventObject, true);
}
revertFunc();
}
});