in static/js/com/events-table.js [167:207]
function EventsTable(elem, events) {
var that = this;
that.elem = elem;
// Convert event date from string to Date object
for (var i = 0, len = events.length; i < len; i++) {
var event = events[i];
var isDateRange = util.isArray(event.date);
if (isDateRange && (typeof event.date[0] === 'string')) {
event.date = [
new Date(event.date[0]),
new Date(event.date[1])
];
}
else if (!isDateRange && typeof event.date === 'string') {
event.date = new Date(event.date);
}
}
// Sorting
events.sort(function (a, b) {
var dateA = a.date,
dateB = b.date,
isADateIsRange = util.isArray(dateA),
isBDateIsRange = util.isArray(dateB),
compareA = isADateIsRange ? dateA[1] : dateA,
compareB = isBDateIsRange ? dateB[1] : dateB;
if (compareA === compareB) {
return 0;
}
return (compareA < compareB) ? 1 : -1;
});
this.events = events;
elem.appendChild(that.render());
}