1 import {Pipe, PipeTransform} from "@angular/core";
2 import {ServiceContainerToUpgradeUiObject} from "../../automated-upgrade-models/ui-component-to-upgrade";
5 This filter needs to return all not upgraded components sorted by name first, after that all upgraded components sorted by name
6 And in the end all the locked components sorted by name
10 name: 'upgradeListItemOrderBy'
12 export class UpgradeListItemOrderPipe implements PipeTransform {
14 private orderByName = (firstName:string, secondName:string):number => {
15 var textA = firstName.toLocaleLowerCase();
16 var textB = secondName.toLocaleLowerCase();
17 return (textA < textB) ? -1 : (textA > textB) ? 1 : 0;
20 transform(array:Array<ServiceContainerToUpgradeUiObject>):Array<ServiceContainerToUpgradeUiObject> {
21 array.sort((first:ServiceContainerToUpgradeUiObject, second:ServiceContainerToUpgradeUiObject) => {
22 if (first.isLock && second.isLock) {
23 return this.orderByName(first.name, second.name);
24 } else if (first.isLock) {
26 } else if (second.isLock) {
29 if (first.isAlreadyUpgrade && second.isAlreadyUpgrade) {
30 return this.orderByName(first.name, second.name);
31 } else if (first.isAlreadyUpgrade) {
33 } else if (second.isAlreadyUpgrade) {
36 return this.orderByName(first.name, second.name);