From: Jan Schneider Date: Mon, 5 Jul 2010 13:21:11 +0000 (+0200) Subject: Disable unused recurrence form elements. X-Git-Url: https://git.internetallee.de/?a=commitdiff_plain;h=5bad4159642696be4f843ea13f7cf28caf1bfa9f;p=horde.git Disable unused recurrence form elements. --- diff --git a/kronolith/js/kronolith.js b/kronolith/js/kronolith.js index de648c61c..8e5611bf6 100644 --- a/kronolith/js/kronolith.js +++ b/kronolith/js/kronolith.js @@ -3933,6 +3933,14 @@ KronolithCore = { this.toggleRecurrence(id.substring(18)); break; + case 'kronolithEventRepeatDaily': + case 'kronolithEventRepeatWeekly': + case 'kronolithEventRepeatMonthly': + case 'kronolithEventRepeatYearly': + case 'kronolithEventRepeatLength': + this.toggleRecurrence(id.substring(20)); + break; + case 'kronolithEventSave': this.saveEvent(); e.stop(); @@ -5013,7 +5021,6 @@ KronolithCore = { schemeLower = scheme.toLowerCase(), div = $('kronolithEventRepeat' + scheme); $('kronolithEventLink' + scheme).setValue(true); - this.toggleRecurrence(scheme); if (scheme == 'Monthly' || scheme == 'Yearly') { div.down('input[name=recur_' + schemeLower + '_scheme][value=' + ev.r.t + ']').setValue(true); } @@ -5040,6 +5047,7 @@ KronolithCore = { } else { $('kronolithEventRepeatLength').down('input[name=recur_end_type][value=none]').setValue(true); } + this.toggleRecurrence(scheme); } else if (ev.bid) { var div = $('kronolithEventRepeatException'); div.down('span').update(ev.eod); @@ -5280,13 +5288,44 @@ KronolithCore = { */ toggleRecurrence: function(recur) { - $('kronolithEventTabRecur').select('div').invoke('hide'); + if (recur != 'Length') { + $('kronolithEventTabRecur').select('div').invoke('hide'); + } + if (recur == 'Exception') { $('kronolithEventRepeatException').show(); } else if (recur != 'None') { - $('kronolithEventRepeat' + recur).show(); - $('kronolithEventRepeatLength').show(); + var div = $('kronolithEventRepeat' + recur), + length = $('kronolithEventRepeatLength'); + div.show(); + length.show(); $('kronolithEventRepeatType').show(); + switch (recur) { + case 'Daily': + case 'Weekly': + case 'Monthly': + case 'Yearly': + var recurLower = recur.toLowerCase(); + if (div.down('input[name=recur_' + recurLower + '][value=1]').checked) { + div.down('input[name=recur_' + recurLower + '_interval]').disable(); + } else { + div.down('input[name=recur_' + recurLower + '_interval]').enable(); + } + break; + } + + if (length.down('input[name=recur_end_type][value=date]').checked) { + $('kronolithEventRecurDate').enable(); + $('kronolithEventRecurPicker').setStyle({ visibility: 'visible' }); + } else { + $('kronolithEventRecurDate').disable(); + $('kronolithEventRecurPicker').setStyle({ visibility: 'hidden' }); + } + if (length.down('input[name=recur_end_type][value=count]').checked) { + $('kronolithEventRecurCount').enable(); + } else { + $('kronolithEventRecurCount').disable(); + } } else { $('kronolithEventRepeatType').show(); }