diff --git a/plugins/calendar/calendar_ui.js b/plugins/calendar/calendar_ui.js
index 3792299e..533d9068 100644
--- a/plugins/calendar/calendar_ui.js
+++ b/plugins/calendar/calendar_ui.js
@@ -73,11 +73,11 @@ function rcube_calendar_ui(settings)
// general datepicker settings
var datepicker_settings = {
// translate from fullcalendar format to datepicker format
- dateFormat: settings['date_format'].replace(/M/g, 'm').replace(/mmmmm/, 'MM').replace(/mmm/, 'M').replace(/dddd/, 'DD').replace(/ddd/, 'D').replace(/yy/g, 'y'),
- firstDay : settings['first_day'],
- dayNamesMin: settings['days_short'],
- monthNames: settings['months'],
- monthNamesShort: settings['months'],
+ dateFormat: settings.date_format.replace(/M/g, 'm').replace(/mmmmm/, 'MM').replace(/mmm/, 'M').replace(/dddd/, 'DD').replace(/ddd/, 'D').replace(/yy/g, 'y'),
+ firstDay: settings.first_day,
+ // dayNamesMin: settings.days_short,
+ monthNames: settings.months,
+ monthNamesShort: settings.months,
changeMonth: false,
showOtherMonths: true,
selectOtherMonths: true
@@ -110,7 +110,7 @@ function rcube_calendar_ui(settings)
titleFormat: {
month: 'MMMM yyyy',
week: settings.dates_long,
- day: 'dddd ' + settings['date_long'],
+ day: 'dddd ' + settings.date_long,
table: settings.dates_long
},
listPage: 7, // advance one week in agenda view
@@ -386,7 +386,7 @@ function rcube_calendar_ui(settings)
changed = parseISO8601(event.changed);
$('.event-created', $dialog).text(created ? format_datetime(created) : rcmail.gettext('unknown','calendar'));
$('.event-changed', $dialog).text(changed ? format_datetime(changed) : rcmail.gettext('unknown','calendar'));
- $('#event-created-changed').show()
+ $('#event-created,#event-changed,#event-created-changed').show()
}
// create attachments list
@@ -452,22 +452,22 @@ function rcube_calendar_ui(settings)
if (morelink) {
$('#event-attendees .event-text').append(morelink);
morelink.click(function(e){
- rcmail.show_popup_dialog(
+ rcmail.simple_dialog(
'
' + html + overflow + '
',
rcmail.gettext('tabattendees','calendar'),
null,
- { width:450, modal:false });
+ {width: 450, cancel_button: 'close'});
$('#all-event-attendees a.mailtolink').click(event_attendee_click);
return false;
- })
+ });
}
}
if (mystatus && !rsvp) {
- $('#event-partstat').show().find('.changersvp')
+ $('#event-partstat').show().find('.changersvp, .event-text')
.removeClass('accepted tentative declined delegated needs-action unknown')
- .addClass(mystatus)
- .find('.event-text')
+ .addClass(mystatus);
+ $('#event-partstat').find('.event-text')
.text(rcmail.gettext('status' + mystatus, 'libcalendaring'));
}
@@ -511,15 +511,13 @@ function rcube_calendar_ui(settings)
});
}
- if (!buttons.length) {
- buttons.push({
- text: rcmail.gettext('close', 'calendar'),
- 'class': 'cancel',
- click: function() {
- $dialog.dialog('close');
- }
- });
- }
+ buttons.push({
+ text: rcmail.gettext('close', 'calendar'),
+ 'class': 'cancel',
+ click: function() {
+ $dialog.dialog('close');
+ }
+ });
// open jquery UI dialog
$dialog.dialog({
@@ -2509,7 +2507,7 @@ function rcube_calendar_ui(settings)
if (action == 'remove' && cal.group != 'shared' && !_is_organizer && _is_attendee) {
decline = true;
checked = event.status != 'CANCELLED' ? checked : '';
- html += '' +
+ html += '
' +
'
';
@@ -2517,7 +2515,7 @@ function rcube_calendar_ui(settings)
else if (_is_organizer) {
notify = true;
if (settings.itip_notify & 2) {
- html += '
' +
+ html += '
' +
'
';
@@ -2538,13 +2536,12 @@ function rcube_calendar_ui(settings)
future_disabled = ' disabled';
}
- html += '
' +
- rcmail.gettext(message_label, 'calendar') + '
' +
+ html += '
' + rcmail.gettext(message_label, 'calendar') + '
' +
'
';
}
@@ -4132,6 +4129,12 @@ function rcube_calendar_ui(settings)
} // end rcube_calendar class
+// Update layout after initialization
+// In devel mode we have to wait until all styles are applied by less
+if (rcmail.env.devel_mode && window.less) {
+ less.pageLoadFinished.then(function() { $(window).resize(); });
+}
+
/* calendar plugin initialization */
window.rcmail && rcmail.addEventListener('init', function(evt) {
// configure toolbar buttons
@@ -4197,4 +4200,54 @@ window.rcmail && rcmail.addEventListener('init', function(evt) {
// show toolbar
$('#toolbar').show();
+ // Elastic mods
+ if ($('#calendar').data('elastic-mode')) {
+ var selector = $('
').appendTo('.fc-header-left'),
+ nav = $('
').appendTo('.fc-header-right');
+
+ $('.fc-header-left > span').each(function() {
+ var cl = 'btn btn-secondary', btn = $(this);
+
+ if (btn.is('.fc-state-active')) {
+ cl += ' active';
+ }
+
+ $('
-