summaryrefslogtreecommitdiffstats
path: root/vid-webpack-master/src/app/shared/pipes
diff options
context:
space:
mode:
Diffstat (limited to 'vid-webpack-master/src/app/shared/pipes')
-rw-r--r--vid-webpack-master/src/app/shared/pipes/searchFilter/search-filter.pipe.spec.ts17
-rw-r--r--vid-webpack-master/src/app/shared/pipes/searchFilter/search-filter.pipe.ts14
2 files changed, 31 insertions, 0 deletions
diff --git a/vid-webpack-master/src/app/shared/pipes/searchFilter/search-filter.pipe.spec.ts b/vid-webpack-master/src/app/shared/pipes/searchFilter/search-filter.pipe.spec.ts
new file mode 100644
index 000000000..cbf7324ac
--- /dev/null
+++ b/vid-webpack-master/src/app/shared/pipes/searchFilter/search-filter.pipe.spec.ts
@@ -0,0 +1,17 @@
+import {SearchFilterPipe} from "./search-filter.pipe";
+import * as _ from 'lodash';
+
+describe('Search filter pipe', () => {
+
+ const items= [{'id':1, 'name': 'aaa'},
+ {'id':12, 'name': 'bbb', 'children':{'first': 155, 'second': 2, 'third': 3}},
+ {'id':3, 'name': 'ccc', 'children':{'first': 1, 'BbB': '3', 'third': 3}},
+ {'id':4, 'name': 'aad', 'children':{'first': 1, 'second': 2, 'third': 3}}];
+
+ test('should return items contains substring bb', () => {
+ let filter = new SearchFilterPipe();
+ let res:any[] = filter.transform(items,'bb');
+ expect(_.map(res, 'name' )).toEqual(['bbb','ccc']);
+ });
+
+});
diff --git a/vid-webpack-master/src/app/shared/pipes/searchFilter/search-filter.pipe.ts b/vid-webpack-master/src/app/shared/pipes/searchFilter/search-filter.pipe.ts
new file mode 100644
index 000000000..725eacb53
--- /dev/null
+++ b/vid-webpack-master/src/app/shared/pipes/searchFilter/search-filter.pipe.ts
@@ -0,0 +1,14 @@
+import {Pipe, PipeTransform} from '@angular/core';
+
+@Pipe({
+ name: 'searchFilter'
+})
+export class SearchFilterPipe implements PipeTransform {
+ transform(items: Object[], searchText: string): any[] {
+ if(!items) return [];
+ if(!searchText) return items;
+ return items.filter( item => {
+ return JSON.stringify(item).toLowerCase().includes(searchText.toLowerCase());
+ });
+ }
+}