Использование статических событий в div работает нормально. Но когда я заполняю div динамическими событиями, я получаю следующую ошибку:
fullcalendar.bundle.js:1036 Uncaught TypeError: Cannot read property 'startTime' of undefined
at refineProps (fullcalendar.bundle.js:1036)
at Object.parseDragMeta (fullcalendar.bundle.js:8140)
at ExternalElementDragging.buildDragMeta (fullcalendar.bundle.js:12401)
at EmitterMixin.ExternalElementDragging.handleDragStart (fullcalendar.bundle.js:12315)
at applyAll (fullcalendar.bundle.js:981)
at EmitterMixin.triggerWith (fullcalendar.bundle.js:3523)
at EmitterMixin.trigger (fullcalendar.bundle.js:3518)
at EmitterMixin.HitDragging.handleDragStart (fullcalendar.bundle.js:11484)
at applyAll (fullcalendar.bundle.js:981)
at EmitterMixin.triggerWith (fullcalendar.bundle.js:3523)
Я использую fullcalendar v4, чтобы включить перетаскивание событий:
var Draggable = FullCalendarInteraction.Draggable;
new Draggable(containerEl, {
itemSelector: '.fc-draggable-handle',
eventData: function(eventEl) {
return $(eventEl).data('event');
}
});
Кто-нибудь может помочь ??
Редактировать:
Ошибка, похоже, отсюда, но я понимаю, почему. Когда я изменяю этот код:
$('#kt_calendar_external_events .fc-draggable-handle').each(function() {
// store data so the calendar knows to render an event upon drop
$(this).data('event', {
id: $(this).attr("data-id"),
startEditable: true,
durationEditable: true,
title: $.trim($(this).text()), // use the element's text as the event title
stick: true, // maintain when user navigates (see docs on the renderEvent method)
classNames: [$(this).data('color')],
description: 'Lorem ipsum dolor eius mod tempor labore',
source: 'planificacion'
});
});
, это работает, но мне нужно позже иметь возможность перетаскивать события снова и изменять размер ...
$ ('# kt_calendar_external_events .fc-draggable-handle '). each (function () {// хранить данные, чтобы календарь знал, как отобразить событие при отбрасывании
$(this).data('event', {
title: $.trim($(this).text()), // use the element's text as the event title
stick: true, // maintain when user navigates (see docs on the renderEvent method)
classNames: [$(this).data('color')],
description: 'Lorem ipsum dolor eius mod tempor labore'
});
});