Issue 2195: Might be wrong at mutateEvent -- logic of find out allDay
Status:  Done
Owner: ----
Closed:  Jul 2014
Reported by joe.1984...@gmail.com, Jun 29, 2014
FullCalendar 2.0.2
function: mutateEvent (line: 1797)

I think there is a problem at this part:
================================================================
// detect new allDay
if (event.allDay != oldAllDay) { // if value has changed, use it
    newAllDay = event.allDay;
}
else { // otherwise, see if any of the new dates are allDay
    newAllDay = !(newStart || newEnd).hasTime();
}
================================================================

the allDay field should have the first priority. if it didn't change, just
use it as it is, no need to guess it from the start and end.

for example, I have this event:
{
   title: 'meeting',
   start: '2014-06-26T00:30:00Z',
   allDay: true
}

this event was rendered correctly on first display, if I update this event's title (and only update title) to 'all day meeting' and call 'updateEvent' method, the event's allDay field will be set to false cause the start got time part on it. and event was rerendered as non-allDay event.

I think this is not right.
Jul 3, 2014
Project Member #1 adamrs...@gmail.com
No, if your event data provide time information, but had allDay=true, the time info should have been stripped out:
https://github.com/arshaw/fullcalendar/blob/v2.0.2/src/EventManager.js#L478-L484

So I don't know how this bug would happen. Not saying it isn't real though. But to debug further, I need a JSFiddle recreation...

http://arshaw.com/fullcalendar/wiki/Reporting-Bugs/

Im closing this ticket but please reopen a new one if you find the bug is still a problem.
Status: Done