FullCalendar с Gcal не будет отображать события после 19:00 в режиме basicDay. - PullRequest
0 голосов
/ 24 августа 2010

По какой-то причине fullcalendar не отображает события, происходящие после 7 вечера, в представлении basicDay.События отображаются в представлении месяца, но не в представлении basicDay.

Любые мысли приветствуются.

Вот мой код.У меня есть два календаря на одной странице.Первый - просмотр месяца, второй - просмотр основного дня.

  $(document).ready(function() {

  // page is now ready, initialize the calendar...

  $('#calendar').fullCalendar({
   weekMode:'variable',
   events: $.fullCalendar.gcalFeed(
    "http://www.google.com/calendar/feeds/google_account/public/basic"
   ),
   eventClick: function(event) {
    if (event.url) {
     window.open(event.url,"_blank","toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, copyhistory=no, width=750, height=450");
     return false;
    }
   }
  });

  $('#calendar_min').fullCalendar({
   height:193,
   header:false,
      defaultView: 'basicDay',
   events: $.fullCalendar.gcalFeed(
    "http://www.google.com/calendar/feeds/google_account/public/basic"
   ),
   eventClick: function(event) {
    if (event.url) {
     window.open(event.url,"_blank","toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, copyhistory=no, width=750, height=450");
     return false;
    }
   }
  });
 });

Ответы [ 3 ]

1 голос
/ 21 ноября 2010

Это вызвано тем, что вы находитесь в EST. При создании нового события время - 12:00 по Гринвичу, поэтому -5 часов = 19:00. Вы можете посмотреть на использование ignoreTimezone на http://arshaw.com/fullcalendar/docs/event_data/

0 голосов
/ 25 октября 2014

У меня была похожая проблема. Часовой пояс Календаря Google был EDT, и последние 4 часа события отсутствовали на дисплее.

Я изменил fetchAndRenderEvents () в fullcalendar.js (строка 849), чтобы исправить проблему.

Было:

function fetchAndRenderEvents() {
        fetchEvents(currentView.start, currentView.end);
            // ... will call reportEvents
            // ... which will call renderEvents
    }

Я добавил один день в currentView.end

function fetchAndRenderEvents() {
    // Add 1 day to end to ensure all events are fetched  when the time zone is applied.
    fetchEvents(currentView.start, currentView.end.add(1, 'days'));
        // ... will call reportEvents
        // ... which will call renderEvents
}
0 голосов
/ 24 августа 2010

Какую ошибку вы получаете? Когда я заменяю ваш фид Google событием после 7 вечера, он отображается нормально. (Хотя в вашем примере есть дополнительная)}; это должно быть удалено.

       $('#calendar_min').fullCalendar({
            height: 193,
            header: false,
            defaultView: 'basicDay',
            events: [
            {
                title: 'Day',
                start: new Date(y, m, d, 20),
                end: new Date(y, m, d, 21),
                description: 'long description3',
                id: 2
            }],
            eventClick: function(event) {
                if (event.url) {
                    window.open(event.url, "_blank", "toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, copyhistory=no, width=750, height=450");
                    return false;
                }
            }
        });
...