Ich weiß nicht, ob es sich um eine Funktion oder einen Fehler handelt. Der Wert für den Ereignis-Ende wird jedoch auf null gesetzt, wenn allDay wahr ist. Dies ist die Funktion, wo das Ereignis aktualisiert:fullcalendar Rückgabe Ereignis Ende null, wenn allDay wahr ist
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);
},
Die Konsole zeigt
end before update : 1404896400000
end after update: null
Die fullcalendar Eigenschaft forceEventDuration auf 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,
...
})
setted die die Konsole zeigt
end before update : 1404864000000
end after update: 1404813300000
In diesem Fall ist das Rendering für das Ereignis ein Tag. Auch nach dem Update mit allDay auf false wird es weiterhin als ein eintägiges Ereignis angezeigt, bis die Ereignisse vom Server neu geladen werden. Ich denke, dass das Standardverhalten für allDay ein Start- und Enddatum haben muss. Aber ich bin mir nicht sicher, ob ich das Enddatum für null erklären soll. Vielleicht verstehe ich die Schönheit dieses Verhaltens nicht. Ich kann nicht für meine Ziele verwenden. Ich brauche ein Enddatum wie andere Kalender.
http://jsfiddle.net/Mr_Vertigo/k3RZX/1/ Und die Version v2.0.2