Comment puis-je ajuster la date de fin d'un événement fullcalendar qui est supprimé dans le calendrier? J'utilise l'interface utilisateur Calendrier de AngularJS et fullcalendar-planificateur-1.3.2 et j'ai la fonction suivante qui gère un nouvel événement reçuLa définition de la date de fin de l'événement fullcalendar reçu échoue avec l'erreur
function eventReceive(event) { // called when a new event is received
console.log(event.start.format()); // 2017-06-14T12:00:00
console.log(event.end); // null
event.end = moment(event.start).add(3600, 'seconds');
console.log(event.end.format()); // 2017-06-14T13:00:00+00:00
}
Quand je laisse tomber le premier événement, tout fonctionne bien. Lorsque je dépose le deuxième événement, l'erreur ci-dessous se produit. Lorsque j'augmente la date de fin de 0 secondes au lieu de 3600 (ce qui signifie que la durée de l'événement est 0 et n'a que peu de sens), l'erreur ne se produit pas.
Uncaught TypeError: Cannot read property 'apply' of undefined
at n.fb.time (fullcalendar.min.js:6)
at r.d.internalApiVersion.o.isValidDate (scheduler.min.js:7)
at r.d.internalApiVersion.o.spanToSegs (scheduler.min.js:7)
at r.d.internalApiVersion.r.spanToSegs (scheduler.min.js:8)
at r.eventSpanToSegs (fullcalendar.min.js:7)
at r.eventRangeToSegs (fullcalendar.min.js:7)
at Array.<anonymous> (fullcalendar.min.js:7)
at Function.each (jquery.js:382)
at r.eventsToSegs (fullcalendar.min.js:7)
at renderFgEvents (fullcalendar.min.js:7)
fb.time @ fullcalendar.min.js:6
d.internalApiVersion.o.isValidDate @ scheduler.min.js:7
d.internalApiVersion.o.spanToSegs @ scheduler.min.js:7
d.internalApiVersion.r.spanToSegs @ scheduler.min.js:8
eventSpanToSegs @ fullcalendar.min.js:7
eventRangeToSegs @ fullcalendar.min.js:7
(anonymous) @ fullcalendar.min.js:7
each @ jquery.js:382
eventsToSegs @ fullcalendar.min.js:7
renderFgEvents @ fullcalendar.min.js:7
renderEvents @ fullcalendar.min.js:7
d.internalApiVersion.r.renderEvents @ scheduler.min.js:7
displayEvents @ fullcalendar.min.js:8
(anonymous) @ scheduler.min.js:6
d.internalApiVersion.X.whenResources @ scheduler.min.js:6
d.internalApiVersion.X.displayEvents @ scheduler.min.js:6
o @ fullcalendar.min.js:6
s @ fullcalendar.min.js:6
p @ fullcalendar.min.js:6
reportExternalDrop @ fullcalendar.min.js:8
reportExternalDrop @ scheduler.min.js:6
interactionEnd @ fullcalendar.min.js:7
trigger @ fullcalendar.min.js:7
handleInteractionEnd @ fullcalendar.min.js:7
handleInteractionEnd @ fullcalendar.min.js:7
endInteraction @ fullcalendar.min.js:7
f @ jquery.js:512
dispatch @ jquery.js:4435
r.handle @ jquery.js:4121
J'ai trouvé une question similaire StackOverflow how to get start and end date of external dragged and dropped event on fullcalendar mais la date de fin est réglée dans le menu gestionnaire et donc pour chaque événement de chute. Je pense aussi que $ (cela) ne fonctionne pas correctement avec AngularJS parce que $ (ce) .data n'est pas une fonction
MISE À JOUR
Un autre symptôme: appeler UpdateEvent après avoir modifié l'événement fixe la date de fin de retour à null
function eventReceive(event) { // called when a new event is received
// here everything as above
console.log(event.start.format()); // 2017-06-14T12:00:00
console.log(event.end); // null
event.end = moment(event.start).add(3600, 'seconds');
console.log(event.end.format()); // 2017-06-14T13:00:00+00:00
// here additional test code
event.title = 'TEST';
uiCalendarConfig.calendars.myCalendar.fullCalendar('updateEvent', event);
console.log(event.title); // TEST, ok
console.log(event.end); // null, not ok
}
Je vois la même question. Je mets l'objet événement dans l'attribut data-event sur l'élément html. La valeur de fin est correcte dans le rappel de suppression pour les événements externes, mais dans eventReceive, elle revient à zéro, uniquement après avoir déplacé le même événement pour la deuxième fois. J'utilise FullCalendar version 3.4.0. – Jonathan