in src/UXClient/Models/EventsTableData.ts [74:112]
public sortEvents (columnKey, isAscending) {
var sortType = this.columns[columnKey].type;
var aTop = 1;
var bTop = -1;
if (!isAscending) {
aTop = -1;
bTop = 1;
}
this.events.sort((a: TimeSeriesEvent, b: TimeSeriesEvent) => {
if ((a.cells && a.cells[columnKey]) || (b.cells && b.cells[columnKey])) {
var aConverted = (a.cells && a.cells[columnKey]) ? a.cells[columnKey].value : null;
var bConverted = (b.cells && b.cells[columnKey]) ? b.cells[columnKey].value : null;
//one value is null
if (aConverted == null)
return bTop;
if (bConverted == null)
return aTop;
//convert to appropriate type
if (sortType == "Double"){
aConverted = Number(aConverted);
bConverted = Number(bConverted);
}
else if (sortType == "DateTime") {
aConverted = (new Date(aConverted)).valueOf();
bConverted = (new Date(bConverted)).valueOf();
}
//compare
if (aConverted > bConverted)
return aTop;
if (aConverted < bConverted)
return bTop;
return 0;
}
return 0;
});
}