diff --git a/plugins/calendar/calendar_ui.js b/plugins/calendar/calendar_ui.js index 9c6c4d02..40197aed 100644 --- a/plugins/calendar/calendar_ui.js +++ b/plugins/calendar/calendar_ui.js @@ -3423,12 +3423,13 @@ function rcube_calendar_ui(settings) this._search_message = rcmail.display_message(rcmail.gettext('searchnoresults', 'calendar'), 'notice'); append = '
'; } - append += ''; + append += ''; addlinks = true; } if (fc.fullCalendar('getView').name == 'table') { - var container = fc.find('.fc-list-content > .fc-listappend'); + var elastic = $('#calendar').data('elastic-mode'); + var container = elastic ? $('#searchcontrols') : fc.find('.fc-list-content > .fc-listappend'); if (append) { if (!container.length) container = $('').appendTo(fc.find('.fc-list-content')); @@ -3436,23 +3437,41 @@ function rcube_calendar_ui(settings) } else if (container.length) container.hide(); - + // add links to adjust search date range if (addlinks) { var lc = container.find('.fc-bottomlinks'); - $('').attr('href', '#').html(rcmail.gettext('searchearlierdates', 'calendar')).appendTo(lc).click(function(){ - fc.fullCalendar('incrementDate', 0, -1, 0); - }); + + if (elastic) { + $('').attr({href: '#', 'class': 'button icon tools'}) + .append($('').text(rcmail.gettext('showtools'))) + .prependTo('#searchcontrols') + .click(function() { + $(this).attr('title', rcmail.gettext($('#searchcontrols').toggleClass('open').is('.open') ? 'hidetools' : 'showtools')); + }); + } + + $('').attr({href: '#', 'class': 'button prev'}) + .append($('').text(rcmail.gettext(elastic ? 'earlierevents' : 'searchearlierdates', 'calendar'))) + .appendTo(lc) + .click(function() { + fc.fullCalendar('incrementDate', 0, -1, 0); + }); + lc.append(" "); - $('').attr('href', '#').html(rcmail.gettext('searchlaterdates', 'calendar')).appendTo(lc).click(function(){ - var range = fc.fullCalendar('option', 'listRange'); - if (range < 90) { - fc.fullCalendar('option', 'listRange', fc.fullCalendar('option', 'listRange') + 30).fullCalendar('render'); - update_agenda_toolbar(); - } - else - fc.fullCalendar('incrementDate', 0, 1, 0); - }); + + $('').attr({href: '#', 'class': 'button next'}) + .append($('').text(rcmail.gettext(elastic ? 'laterevents' : 'searchlaterdates', 'calendar'))) + .appendTo(lc) + .click(function() { + var range = fc.fullCalendar('option', 'listRange'); + if (range < 90) { + fc.fullCalendar('option', 'listRange', fc.fullCalendar('option', 'listRange') + 30).fullCalendar('render'); + update_agenda_toolbar(); + } + else + fc.fullCalendar('incrementDate', 0, 1, 0); + }); } } diff --git a/plugins/calendar/localization/en_US.inc b/plugins/calendar/localization/en_US.inc index 2892213e..25ef90da 100644 --- a/plugins/calendar/localization/en_US.inc +++ b/plugins/calendar/localization/en_US.inc @@ -103,6 +103,8 @@ $labels['printdescriptions'] = 'Print descriptions'; $labels['parentcalendar'] = 'Insert inside'; $labels['searchearlierdates'] = '« Search for earlier events'; $labels['searchlaterdates'] = 'Search for later events »'; +$labels['earlierevents'] = 'Earlier'; +$labels['laterevents'] = 'Later'; $labels['andnmore'] = '$nr more...'; $labels['togglerole'] = 'Click to toggle role'; $labels['createfrommail'] = 'Save as event'; @@ -117,6 +119,7 @@ $labels['showfburl'] = 'Show free-busy URL'; $labels['fburldescription'] = 'Use the following address to access Free-Busy information from other applications. You can copy and paste this into any calendar software that supports free-busy information in iCal format. No authentication is required for this URL.'; $labels['findcalendars'] = 'Find calendars...'; $labels['searchterms'] = 'Search terms'; +$labels['findevents'] = 'Find events'; $labels['calsearchresults'] = 'Available Calendars'; $labels['calendarsubscribe'] = 'List permanently'; $labels['nocalendarsfound'] = 'No calendars found'; diff --git a/plugins/calendar/skins/elastic/templates/calendar.html b/plugins/calendar/skins/elastic/templates/calendar.html index 9a61666f..29b70e1f 100644 --- a/plugins/calendar/skins/elastic/templates/calendar.html +++ b/plugins/calendar/skins/elastic/templates/calendar.html @@ -40,6 +40,7 @@