in metron-interface/metron-config/src/app/sensors/sensor-parser-list/sensor-parser-list.component.ts [84:119]
onSort($event: SortEvent) {
switch ($event.sortBy) {
case 'sensorName':
this.sensors.sort((obj1: SensorParserConfigHistory, obj2: SensorParserConfigHistory) => {
if ($event.sortOrder === Sort.ASC) {
return obj1.sensorName.localeCompare(obj2.sensorName);
}
return obj2.sensorName.localeCompare(obj1.sensorName);
});
break;
case 'parserClassName':
this.sensors.sort((obj1: SensorParserConfigHistory, obj2: SensorParserConfigHistory) => {
if ($event.sortOrder === Sort.ASC) {
return this.getParserType(obj1.config).localeCompare(this.getParserType(obj2.config));
}
return this.getParserType(obj2.config).localeCompare(this.getParserType(obj1.config));
});
break;
case 'status':
case 'modifiedBy':
case 'modifiedByDate':
case 'latency':
case 'throughput':
this.sensors.sort((obj1: SensorParserConfigHistory, obj2: SensorParserConfigHistory) => {
if (!obj1[$event.sortBy] || !obj1[$event.sortBy]) {
return 0;
}
if ($event.sortOrder === Sort.ASC) {
return obj1[$event.sortBy].localeCompare(obj2[$event.sortBy]);
}
return obj2[$event.sortBy].localeCompare(obj1[$event.sortBy]);
});
break;
}
}