diff --git a/js/calendar/calendar.js b/js/calendar/calendar.js index a382fe01..22ca910d 100644 --- a/js/calendar/calendar.js +++ b/js/calendar/calendar.js @@ -151,25 +151,34 @@ calendar.updateData = function (callback) { } calendar.updateCalendar = function (eventList) { - + var _is_new = true; + if ($('.calendar-table').length) { + _is_new = false; + } table = $('').addClass('xsmall').addClass('calendar-table'); opacity = 1; for (var i in eventList) { var e = eventList[i]; - - var row = $('').css('opacity',opacity); + var row = $('').attr('id', 'event'+i).css('opacity',opacity).addClass('event'); if (this.displaySymbol) { row.append($('
').addClass('fa').addClass('fa-'+e.symbol).addClass('calendar-icon')); } row.append($('').html(e.description).addClass('description')); row.append($('').html(e.days).addClass('days dimmed')); + if (! _is_new && $('#event'+i).length) { + $('#event'+i).updateWithText(row.children(), this.fadeInterval); + } else { + // Something wrong - replace whole table + _is_new = true; + } table.append(row); opacity -= 1 / eventList.length; } - + if (_is_new) { $(this.calendarLocation).updateWithText(table, this.fadeInterval); + } }