Non so se si tratta di una funzionalità o di un bug. Ma il valore finale dell'evento è impostato su null se allDay è true. Questa è la funzione in cui viene aggiornata l'evento:evento di ritorno fullcalendar null quando allDay è true
change: function (eventModel) {
var currEvId = eventModel.get('_id');
var fcEvent = $("#calendar").fullCalendar('clientEvents', currEvId)[0] || {};
console.log("end before update : " + fcEvent.end);
fcEvent.title = alvEventModel.get("title");
fcEvent.start = new Date(alvEventModel.get("start"));
fcEvent.end = new Date(alvEventModel.get("end"));
fcEvent.allDay = alvEventModel.get("allDay"); //true or false
this.el.fullCalendar('updateEvent', fcEvent);
console.log("start: " + fcEvent.start);
console.log("end: " + fcEvent.end);
},
La console mostra
end before update : 1404896400000
end after update: null
La proprietà forceEventDuration fullcalendar è settata su true
this.$el.fullCalendar({
lang: 'sv',
header: {
left: 'prev,next, today',
center: 'title',
right: 'month,agendaWeek,agendaDay',
ignoreTimezone: false
},
forceEventDuration:true,
select: this.select,
selectable: true,
selectHelper: true,
editable: true,
disableDragging: true,
disableResizing: true,
aspectRatio: 2.5,
height: 600,
weekNumbers: true,
...
})
la console mostra
end before update : 1404864000000
end after update: 1404813300000
In questo caso il rendering per l'evento è un giorno. Anche dopo l'aggiornamento con allDay su false, continua a essere visualizzato come un evento di un giorno fino a quando non si ricaricano gli eventi dal server. Penso che il comportamento standard sia per tutti i giorni deve avere una data di inizio e di fine. Ma non sono sicuro che le intenzioni di dichiarare la data di fine siano nulle. Potrei essere io a capire la bellezza di questo comportamento. Non so come usare per i miei obiettivi. Ho bisogno di una data di fine come altri calendari.
http://jsfiddle.net/Mr_Vertigo/k3RZX/1/ E la versione è v2.0.2