You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
34 lines
789 B
34 lines
789 B
import { Pipe, PipeTransform } from '@angular/core';
|
|
|
|
@Pipe({
|
|
name: 'deviceSort'
|
|
})
|
|
export class DeviceSortPipe implements PipeTransform {
|
|
|
|
numericalStatus(deviceSummary): number {
|
|
if(!deviceSummary.smart){
|
|
return 0
|
|
} else if (deviceSummary.device.device_status == 0){
|
|
return 1
|
|
} else {
|
|
return deviceSummary.device.device_status * -1 // will return range from -1, -2, -3
|
|
}
|
|
}
|
|
|
|
|
|
transform(deviceSummaries: Array<unknown>, sortBy = ''): Array<unknown> {
|
|
//failed, unknown/empty, passed
|
|
deviceSummaries.sort((a: any, b: any) => {
|
|
|
|
let left = this.numericalStatus(a)
|
|
let right = this.numericalStatus(b)
|
|
|
|
return left - right;
|
|
});
|
|
|
|
|
|
return deviceSummaries;
|
|
}
|
|
|
|
}
|