36 lines
1.5 KiB
TypeScript
36 lines
1.5 KiB
TypeScript
|
|
import {Pipe, PipeTransform} from '@angular/core';
|
|
|
|
@Pipe({name: 'claimTypeFilter'})
|
|
export class ClaimTypeFilterPipe implements PipeTransform {
|
|
transform(value: any, publication:boolean,dataset:boolean,project:boolean,context:boolean) : any {
|
|
let filter = publication;
|
|
console.info('ClaimTypeFilterPipe types to show : '+(publication?'publication ':' ')+(dataset?'dataset ':' ')+(project?'project ':' ')+(context?'context ':' '));
|
|
return (value)?value.filter((claim) =>{
|
|
let filter =publication;
|
|
if(publication||dataset||project||context) {
|
|
let filter = publication
|
|
if(filter && (claim.sourceType.toLocaleLowerCase().indexOf('publication')!=-1 || claim.targetType.toLocaleLowerCase().indexOf('publication')!=-1 )) {
|
|
return true;
|
|
}
|
|
filter = dataset;
|
|
if(filter && (claim.sourceType.toLocaleLowerCase().indexOf('dataset')!=-1 || claim.targetType.toLocaleLowerCase().indexOf('dataset')!=-1 )) {
|
|
return true;
|
|
}
|
|
filter = project;
|
|
if(filter && (claim.sourceType.toLocaleLowerCase().indexOf('project')!=-1 || claim.targetType.toLocaleLowerCase().indexOf('project')!=-1 )) {
|
|
return true;
|
|
}
|
|
filter = context;
|
|
if(filter && (claim.sourceType.toLocaleLowerCase().indexOf('context')!=-1 || claim.targetType.toLocaleLowerCase().indexOf('context')!=-1 )) {
|
|
return true;
|
|
}
|
|
return false;
|
|
}else{
|
|
return true;
|
|
}
|
|
}):value;
|
|
}
|
|
|
|
}
|