2011-11-03 2 views
2

FullCalendar는 내가 가지고있는 1 가지 문제와 별개로 훌륭하게 작동합니다. 월별보기에서 달력을로드하는 monthview div는 중복 공휴일이로드 된 것으로 표시됩니다. 이는 이벤트를 추가 한 후 기본적으로 아래 코드를 실행하는 달력 바인드 함수를 호출 할 때 발생합니다.FullCalendar가 모든 이벤트를 제거 할 때도 중복 이벤트를 삽입 중입니다.

누구도 비슷한 문제가 있습니까? 'removeEvents'함수는 내부 데이터베이스에서 오는 데이터 피드에 대해 정상적으로 작동하지만 Google 날짜를 남기는 것으로 보입니다. addEventSource가 호출되면 동일한 이벤트가 다시 추가됩니다.

var googleUkHolidaysFeed = { 
    url: 'http://www.google.com/calendar/feeds/uk__en%40holiday.calendar.google.com/public/basic', 
    cache: true, 
    color: "green"  
}; 

$.getJSON(url, {}, function (data) { 

     $('#dayview').fullCalendar('removeEvents'); 
     $('#dayview').fullCalendar('addEventSource', data);   

     if ($("#monthview")[0]) { 
      $('#monthview').fullCalendar('removeEvents'); 
      $('#monthview').fullCalendar('addEventSource', data); 
      $('#monthview').fullCalendar('addEventSource', googleUkHolidaysFeed); 
     } 
    }); 

답변

5

나는이 문제를 직접 해결했습니다. 다음과 같이 'removeEvents'가 호출되고 'removeEventSource'가 이어집니다.

('data'는 앱에서 제공하는 이벤트의 json 배열이며 'googleCalendarUkHolidayFeed'는 Google의 URL 피드입니다.)

var googleCalendarUkHolidayFeed = { 
    url: "http://www.google.com/calendar/feeds/bla..."  
}  

$('#dayview').fullCalendar('removeEvents');  
$('#dayview').fullCalendar('addEventSource', data); 

if ($("#monthview")[0]) { 
    // remove events and re-add event source to reflect search/non-search 
    $('#monthview').fullCalendar('removeEvents'); 

    $('#monthview').fullCalendar('removeEventSource', googleCalendarUkHolidayFeed); 
    $('#monthview').fullCalendar('removeEventSource', data);   

    $('#monthview').fullCalendar('addEventSource', googleCalendarUkHolidayFeed); 
    $('#monthview').fullCalendar('addEventSource', data);   
} 
관련 문제