From 4aebc4ab3d080e24db6e63ddc194ca75b50719f1 Mon Sep 17 00:00:00 2001 From: Kyle Spearrin Date: Fri, 6 Jul 2018 12:40:08 -0400 Subject: [PATCH] search pipe --- src/angular/pipes/search.pipe.ts | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 src/angular/pipes/search.pipe.ts diff --git a/src/angular/pipes/search.pipe.ts b/src/angular/pipes/search.pipe.ts new file mode 100644 index 00000000000..c71ab3a8b1a --- /dev/null +++ b/src/angular/pipes/search.pipe.ts @@ -0,0 +1,30 @@ +import { + Pipe, + PipeTransform, +} from '@angular/core'; + +@Pipe({ + name: 'search', +}) +export class SearchPipe implements PipeTransform { + transform(items: any[], searchText: string, prop1?: string, prop2?: string): any[] { + if (items == null || items.length === 0) { + return []; + } + + if (searchText == null || searchText.length < 2) { + return items; + } + + searchText = searchText.toLowerCase(); + return items.filter((i) => { + if (prop1 != null && i[prop1] != null && i[prop1].toString().toLowerCase().indexOf(searchText) > -1) { + return true; + } + if (prop2 != null && i[prop2] != null && i[prop2].toString().toLowerCase().indexOf(searchText) > -1) { + return true; + } + return false; + }); + } +}