2014-11-08 2 views
1

После изменения размера события, он возвращает неправильную дату конца .. я не понимаю, почему ..fullcalendar неправильного событие дата окончания после eventResize

Я использую этот код:

$('#calendar').fullCalendar({ 
    header: { 
     left: 'prev,next today', 
     center: 'title', 
     right: 'month,basicWeek,basicDay' 
    }, 
    defaultDate: '2014-11-07', 
    editable: true, 

    eventDrop: function(event){ 
     event.start._i = event.start.format(); 
    }, 
    eventResize: function(event) { 
     event.end._i = event.end.format(); 
    }, 

    eventLimit: true, // allow "more" link when too many events 
    events: [{ 
     id: 'All Day Event', 
     title: 'All Day Event', 
     start: '2014-11-03' 
    }, { 
     id: 'popo', 
     title: 'popo', 
     start: '2014-11-04T10:30:00', 
     end: '2014-11-05T12:30:00', 
     description: 'This is a cool event' 
    }, { 
     id: 'popo2', 
     title: 'popo2', 
     //url: 'http://google.com/', 
     start: '2014-11-06' 
    }] 
}); 

Если Я просто переместить событие (перетащить & падения) работает нормально и правильно возвращает дату начала,

но если изменить размер события, он возвращает неправильную дату окончания,
, а также дата начала становится некорректной ..

DEMO

+0

Выражение относится ко мне? –

ответ

0

Я создать Plunker, где вы можете увидеть, как производится обновление.

Важно, что при изменении события объект, который вы изменяете, является объектом, который исходит из fullCalendar ('clientEvents');

Что-то вроде этого не получится:

myEvent = { 
     id: 1, title : "myTitle", start: moment() 
    } 
    .fullCalendar('renderEvent', myEvent); 
    mySlot.myTitle = "anotherTitle"; 
    .fullCalendar('updateEvent', myEvent); 

Но это будет работать:

myEvent = { 
     id: 1, title : "myTitle", start: moment() 
    } 
    .fullCalendar('renderEvent', myEvent); 
    myFCEvent = .fullCalendar('clientEvents', 1); 
    myFCEvent.title = "Another title"; 
    .fullCalendar('updateEvent', myFCEvent); 

Demo Plunker

0

Мой ответ приходит поздно, но, как говорится в this post, в event.start._i используется для внутренней логики Moments.js.

В вашем event.start содержится обновленная дата (которая, по моему мнению, находится на event.start_d), но вам не нужно использовать эти внутренние объекты, поскольку FullCalendar учитывает их и будет использовать правильные (обновленные) дата сама по себе.

Смежные вопросы