From 6f900cc45d7dd7f97430812b86b5c1d1693c8ae3 Mon Sep 17 00:00:00 2001 From: Ittay Stern Date: Wed, 29 Aug 2018 17:01:32 +0300 Subject: merge from ecomp a88f0072 - Modern UI Issue-ID: VID-378 Change-Id: Ibcb23dd27f550cf32ce2fe0239f0f496ae014ff6 Signed-off-by: Ittay Stern --- .../shared/pipes/dataFilter/data-filter.pipe.ts | 47 ++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 vid-webpack-master/src/app/shared/pipes/dataFilter/data-filter.pipe.ts (limited to 'vid-webpack-master/src/app/shared/pipes/dataFilter/data-filter.pipe.ts') diff --git a/vid-webpack-master/src/app/shared/pipes/dataFilter/data-filter.pipe.ts b/vid-webpack-master/src/app/shared/pipes/dataFilter/data-filter.pipe.ts new file mode 100644 index 000000000..4b4f1a5bc --- /dev/null +++ b/vid-webpack-master/src/app/shared/pipes/dataFilter/data-filter.pipe.ts @@ -0,0 +1,47 @@ +/** + * Created by cp2122 on 1/4/2018. + */ +import { Pipe, PipeTransform } from '@angular/core'; +import * as _ from 'lodash'; + +@Pipe({ + name: 'dataFilter' +}) +export class DataFilterPipe implements PipeTransform { + + transform(items: any, searchStr: string, keys?: string[][]): any { + if (items != null && items.length > 0 && !_.isNil(searchStr)) { + let ans = []; + + if (_.isNil(keys) || keys.length === 0) { + keys = Object.keys(items[0]).map((key)=> new Array(key) ); + } + for (const item of items) { + for(const key of keys) { + + let val: string = DataFilterPipe.getDeepObjectValueByKeys(item, key); + if (!_.isNil(val) && val.toLowerCase().includes(searchStr.toLowerCase())) { + ans.push(item); + break; + } + } + } + return ans; + } + } + /********************************************************************** + get value from obj data by array of keys. + @keys: all table column and keys + @rowData : row data + ************************************************************************/ + static getDeepObjectValueByKeys(rowData: any , keys: string[]) : string { + let obj = rowData[keys[0]]; + if(_.isNil(obj)) { + return obj; + } + for(let i = 1; i < keys.length ; i++){ + obj = obj[keys[i]]; + } + return obj.toString(); + } +} -- cgit 1.2.3-korg