I have an angular pipe which just filter outs the text from ngFor. It works very well with single level of json object but fails when there is multi level object.
Pipe:
import { Pipe, PipeTransform } from '@angular/core';
@Pipe({ name: 'simpleSearch' })
export class SimpleSearchPipe implements PipeTransform {
public transform(value, keys: string, term: string) {
if (!term) return value;
return (value || [])
.filter(item =>
keys.split(',').some(key => {
item.hasOwnProperty(key) && new RegExp(term, 'gi').test(item[key])
})
);
}
}
template:
<div *ngFor="let issue of issuesData
| simpleSearch: 'key,fields.summary,fields.priority.name': searchTerm"
></div>
Here the search works very well for the field "key" (1st level of json object) but doesn't works for other keys.
Can anyone please help me fix this or please let me know if you need some more info.