22 lines
1.4 KiB
TypeScript
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;
|
|
}
|
|
}
|