From bb5ccc5731e268d868857ff4754dca4cab47bd34 Mon Sep 17 00:00:00 2001 From: Bart Visscher Date: Tue, 18 Oct 2011 21:15:11 +0200 Subject: [PATCH] Connect popup to fullcalendar --- apps/calendar/ajax/events.php | 7 ++++--- apps/calendar/js/calendar.js | 31 ++++++++++--------------------- 2 files changed, 14 insertions(+), 24 deletions(-) diff --git a/apps/calendar/ajax/events.php b/apps/calendar/ajax/events.php index f9911f0a91d..d2ef66a8472 100644 --- a/apps/calendar/ajax/events.php +++ b/apps/calendar/ajax/events.php @@ -32,14 +32,15 @@ foreach($events as $event) $return_event = array(); $return_event['id'] = $event['id']; $return_event['title'] = $event['summary']; - $return_event['start'] = $start_dt->format('Y-m-d H:i'); - $return_event['end'] = $end_dt->format('Y-m-d H:i'); + $return_event['description'] = isset($vevent->DESCRIPTION)?$vevent->DESCRIPTION:''; + $return_event['start'] = $start_dt->format('Y-m-d H:i:s'); + $return_event['end'] = $end_dt->format('Y-m-d H:i:s'); $return_event['allDay'] = false; if ($dtstart->getDateType() == Sabre_VObject_Element_DateTime::DATE) { $return_event['allDay'] = true; $end_dt->modify('-1 sec'); - $return_event['end'] = $end_dt->format('Y-m-d H:i'); + $return_event['end'] = $end_dt->format('Y-m-d H:i:s'); } $return[] = $return_event; } diff --git a/apps/calendar/js/calendar.js b/apps/calendar/js/calendar.js index adb79cc156f..22606a72802 100644 --- a/apps/calendar/js/calendar.js +++ b/apps/calendar/js/calendar.js @@ -201,10 +201,9 @@ Calendar={ $("#advanced_options").css("display", "block"); $("#advanced_options_button").css("display", "none"); }, - createEventPopup:function(e){ + createEventPopup:function(event, e, view){ var popup = $(this).data('popup'); if (!popup){ - var event = $(this).data('event_info'); popup = $(document.createElement('div')); $(this).data('popup', popup).append(popup); popup.addClass('popup') @@ -218,27 +217,15 @@ Calendar={ $(this).data('popup').hide(); }, getEventPopupText:function(event){ - var startdate = this.formatDate(event.startdate) - var starttime = this.formatTime(event.startdate) - var enddate = this.formatDate(event.enddate) - var endtime = this.formatTime(event.enddate) - if (event.allday){ - var timespan = startdate; - if (event.startdate[2] != parseInt(event.enddate[2])-1){ - timespan += ' - ' + enddate; - } + if (event.allDay){ + var timespan = $.fullCalendar.formatDates(event.start, event.end, t('calendar', "MMMM d[ yyyy]{ '—'[ MMMM][ d] yyyy}")); }else{ - var start = startdate + ' ' + starttime; - if (startdate == enddate){ - var end = endtime; - }else{ - var end = enddate + ' ' + endtime; - } - var timespan = start + ' - ' + end; + var timespan = $.fullCalendar.formatDates(event.start, event.end, t('calendar', "HH:mm[ MMMM d yyyy]{ '—' HH:mm MMMM d yyyy}")); } return '' + timespan + '' + ' ' - + '' + event.description + ''; + + '' + event.title + '' + + '' + event.description + ''; }, addDateInfo:function(selector, date){ $(selector).data('date_info', date); @@ -501,13 +488,15 @@ $(document).ready(function(){ dayNames: dayNames, dayNamesShort: dayNamesShort, allDayText: allDayText, - eventSources: eventSources, viewDisplay: function(view) { $('#datecontrol_date').html(view.title); $.get(OC.filePath('calendar', 'ajax', 'changeview.php') + "?v="+view.name); }, dayClick: Calendar.UI.newEvent, - eventClick: Calendar.UI.editEvent + eventClick: Calendar.UI.editEvent, + eventMouseover: Calendar.UI.createEventPopup, + eventMouseout: Calendar.UI.hideEventPopup, + eventSources: eventSources }); $('#oneweekview_radio').click(function(){ $('#calendar_holder').fullCalendar('changeView', 'agendaWeek'); -- 2.39.5