diff options
Diffstat (limited to 'apps/calendar/js/calendar.js')
-rw-r--r-- | apps/calendar/js/calendar.js | 147 |
1 files changed, 146 insertions, 1 deletions
diff --git a/apps/calendar/js/calendar.js b/apps/calendar/js/calendar.js index c3644b53704..ae586661ccc 100644 --- a/apps/calendar/js/calendar.js +++ b/apps/calendar/js/calendar.js @@ -8,7 +8,15 @@ Calendar={ UI:{ + loading: function(isLoading){ + if (isLoading){ + $('#loading').show(); + }else{ + $('#loading').hide(); + } + }, startEventDialog:function(){ + Calendar.UI.loading(false); $('.tipsy').remove(); $('#calendar_holder').fullCalendar('unselect'); Calendar.UI.lockTime(); @@ -25,6 +33,19 @@ Calendar={ minWidth:'auto', classes: 'category', }); + Calendar.UI.repeat('init'); + $('#end').change(function(){ + Calendar.UI.repeat('end'); + }); + $('#repeat').change(function(){ + Calendar.UI.repeat('repeat'); + }); + $('#advanced_year').change(function(){ + Calendar.UI.repeat('year'); + }); + $('#advanced_month').change(function(){ + Calendar.UI.repeat('month'); + }); $('#event').dialog({ width : 500, close : function(event, ui) { @@ -41,6 +62,7 @@ Calendar={ // TODO: save event $('#event').dialog('destroy').remove(); }else{ + Calendar.UI.loading(true); $('#dialog_holder').load(OC.filePath('calendar', 'ajax', 'neweventform.php'), {start:start, end:end, allday:allday?1:0}, Calendar.UI.startEventDialog); } }, @@ -50,13 +72,16 @@ Calendar={ // TODO: save event $('#event').dialog('destroy').remove(); }else{ + Calendar.UI.loading(true); $('#dialog_holder').load(OC.filePath('calendar', 'ajax', 'editeventform.php') + '?id=' + id, Calendar.UI.startEventDialog); } }, submitDeleteEventForm:function(url){ var post = $( '#event_form' ).serialize(); $('#errorbox').empty(); + Calendar.UI.loading(true); $.post(url, post, function(data){ + Calendar.UI.loading(false); if(data.status == 'success'){ $('#calendar_holder').fullCalendar('removeEvents', $('#event_form input[name=id]').val()); $('#event').dialog('destroy').remove(); @@ -69,8 +94,10 @@ Calendar={ validateEventForm:function(url){ var post = $( "#event_form" ).serialize(); $("#errorbox").empty(); + Calendar.UI.loading(true); $.post(url, post, function(data){ + Calendar.UI.loading(false); if(data.status == "error"){ var output = missing_field + ": <br />"; if(data.title == "true"){ @@ -107,8 +134,10 @@ Calendar={ }, moveEvent:function(event, dayDelta, minuteDelta, allDay, revertFunc){ $('.tipsy').remove(); + Calendar.UI.loading(true); $.post(OC.filePath('calendar', 'ajax', 'moveevent.php'), { id: event.id, dayDelta: dayDelta, minuteDelta: minuteDelta, allDay: allDay?1:0, lastmodified: event.lastmodified}, function(data) { + Calendar.UI.loading(false); if (data.status == 'success'){ event.lastmodified = data.lastmodified; console.log("Event moved successfully"); @@ -120,8 +149,10 @@ Calendar={ }, resizeEvent:function(event, dayDelta, minuteDelta, revertFunc){ $('.tipsy').remove(); + Calendar.UI.loading(true); $.post(OC.filePath('calendar', 'ajax', 'resizeevent.php'), { id: event.id, dayDelta: dayDelta, minuteDelta: minuteDelta, lastmodified: event.lastmodified}, function(data) { + Calendar.UI.loading(false); if (data.status == 'success'){ event.lastmodified = data.lastmodified; console.log("Event resized successfully"); @@ -132,9 +163,16 @@ Calendar={ }); }, showadvancedoptions:function(){ - $("#advanced_options").css("display", "block"); + $("#advanced_options").slideDown('slow'); $("#advanced_options_button").css("display", "none"); }, + showadvancedoptionsforrepeating:function(){ + if($("#advanced_options_repeating").is(":hidden")){ + $('#advanced_options_repeating').slideDown('slow'); + }else{ + $('#advanced_options_repeating').slideUp('slow'); + } + }, getEventPopupText:function(event){ if (event.allDay){ var timespan = $.fullCalendar.formatDates(event.start, event.end, 'ddd d MMMM[ yyyy]{ -[ddd d] MMMM yyyy}', {monthNamesShort: monthNamesShort, monthNames: monthNames, dayNames: dayNames, dayNamesShort: dayNamesShort}); //t('calendar', "ddd d MMMM[ yyyy]{ -[ddd d] MMMM yyyy}") @@ -205,11 +243,114 @@ Calendar={ event.preventDefault(); } }, + repeat:function(task){ + if(task=='init'){ + $('#byweekno').multiselect({ + header: false, + noneSelectedText: $('#advanced_byweekno').attr('title'), + selectedList: 2, + minWidth:'auto' + }); + $('#weeklyoptions').multiselect({ + header: false, + noneSelectedText: $('#weeklyoptions').attr('title'), + selectedList: 2, + minWidth:'auto' + }); + $('input[name="bydate"]').datepicker({ + dateFormat : 'dd-mm-yy' + }); + $('#byyearday').multiselect({ + header: false, + noneSelectedText: $('#byyearday').attr('title'), + selectedList: 2, + minWidth:'auto' + }); + $('#bymonth').multiselect({ + header: false, + noneSelectedText: $('#bymonth').attr('title'), + selectedList: 2, + minWidth:'auto' + }); + $('#bymonthday').multiselect({ + header: false, + noneSelectedText: $('#bymonthday').attr('title'), + selectedList: 2, + minWidth:'auto' + }); + Calendar.UI.repeat('end'); + Calendar.UI.repeat('month'); + Calendar.UI.repeat('year'); + Calendar.UI.repeat('repeat'); + } + if(task == 'end'){ + $('#byoccurrences').css('display', 'none'); + $('#bydate').css('display', 'none'); + if($('#end option:selected').val() == 'count'){ + $('#byoccurrences').css('display', 'block'); + } + if($('#end option:selected').val() == 'date'){ + $('#bydate').css('display', 'block'); + } + } + if(task == 'repeat'){ + $('#advanced_month').css('display', 'none'); + $('#advanced_weekday').css('display', 'none'); + $('#advanced_weekofmonth').css('display', 'none'); + $('#advanced_byyearday').css('display', 'none'); + $('#advanced_bymonth').css('display', 'none'); + $('#advanced_byweekno').css('display', 'none'); + $('#advanced_year').css('display', 'none'); + $('#advanced_bymonthday').css('display', 'none'); + if($('#repeat option:selected').val() == 'monthly'){ + $('#advanced_month').css('display', 'block'); + Calendar.UI.repeat('month'); + } + if($('#repeat option:selected').val() == 'weekly'){ + $('#advanced_weekday').css('display', 'block'); + } + if($('#repeat option:selected').val() == 'yearly'){ + $('#advanced_year').css('display', 'block'); + Calendar.UI.repeat('year'); + } + if($('#repeat option:selected').val() == 'doesnotrepeat'){ + $('#advanced_options_repeating').slideUp('slow'); + } + } + if(task == 'month'){ + $('#advanced_weekday').css('display', 'none'); + $('#advanced_weekofmonth').css('display', 'none'); + if($('#advanced_month_select option:selected').val() == 'weekday'){ + $('#advanced_weekday').css('display', 'block'); + $('#advanced_weekofmonth').css('display', 'block'); + } + } + if(task == 'year'){ + $('#advanced_weekday').css('display', 'none'); + $('#advanced_byyearday').css('display', 'none'); + $('#advanced_bymonth').css('display', 'none'); + $('#advanced_byweekno').css('display', 'none'); + $('#advanced_bymonthday').css('display', 'none'); + if($('#advanced_year_select option:selected').val() == 'byyearday'){ + //$('#advanced_byyearday').css('display', 'block'); + } + if($('#advanced_year_select option:selected').val() == 'byweekno'){ + $('#advanced_byweekno').css('display', 'block'); + } + if($('#advanced_year_select option:selected').val() == 'bydaymonth'){ + $('#advanced_bymonth').css('display', 'block'); + $('#advanced_bymonthday').css('display', 'block'); + $('#advanced_weekday').css('display', 'block'); + } + } + + }, Calendar:{ overview:function(){ if($('#choosecalendar_dialog').dialog('isOpen') == true){ $('#choosecalendar_dialog').dialog('moveToTop'); }else{ + Calendar.UI.loading(true); $('#dialog_holder').load(OC.filePath('calendar', 'ajax', 'choosecalendar.php'), function(){ $('#choosecalendar_dialog').dialog({ width : 600, @@ -217,13 +358,16 @@ Calendar={ $(this).dialog('destroy').remove(); } }); + Calendar.UI.loading(false); }); } }, activation:function(checkbox, calendarid) { + Calendar.UI.loading(true); $.post(OC.filePath('calendar', 'ajax', 'activation.php'), { calendarid: calendarid, active: checkbox.checked?1:0 }, function(data) { + Calendar.UI.loading(false); if (data.status == 'success'){ checkbox.checked = data.active == 1; if (data.active == 1){ @@ -520,6 +664,7 @@ $(document).ready(function(){ } }); }, + loading: Calendar.UI.loading, eventSources: eventSources }); $('#oneweekview_radio').click(function(){ |