explore-services/src/app/pipes/claimTextFilter.pipe.ts

22 lines
1.4 KiB
TypeScript

import {Pipe, PipeTransform} from '@angular/core';
@Pipe({
name: 'claimTextFilter'
})
export class ClaimTextFilterPipe implements PipeTransform {
transform(value: any, filter: string): any {
console.info('ClaimTextFilterPipe word to filter : '+filter);
filter = filter?filter.toLocaleLowerCase():'';
return filter ? value.filter(claim=> (
claim.sourceType.toLocaleLowerCase().indexOf(filter)!=-1|| //sourceType
claim.targetType.toLocaleLowerCase().indexOf(filter)!=-1|| //targetType
claim.userMail.toLocaleLowerCase().indexOf(filter)!=-1|| //mail
((claim.source.title && claim.source.title.toLocaleLowerCase().indexOf(filter)!=-1)||(claim.source.name && claim.source.name.toLocaleLowerCase().indexOf(filter)!=-1))|| //source title
((claim.target.title && claim.target.title.toLocaleLowerCase().indexOf(filter)!=-1)||(claim.target.name && claim.target.name.toLocaleLowerCase().indexOf(filter)!=-1))|| //target title
((claim.source.funderName && claim.source.funderName.toLocaleLowerCase().indexOf(filter)!=-1)||(claim.source.funderName && claim.source.funderName.toLocaleLowerCase().indexOf(filter)!=-1))|| //source funder name
((claim.target.funderName && claim.target.funderName.toLocaleLowerCase().indexOf(filter)!=-1)||(claim.target.funderName && claim.target.funderName.toLocaleLowerCase().indexOf(filter)!=-1)) //target funder name
)) : value;
}
}