aboutsummaryrefslogtreecommitdiffstats
path: root/vid-webpack-master/src/app/shared/pipes/dataFilter/data-filter.pipe.ts
diff options
context:
space:
mode:
authorIttay Stern <ittay.stern@att.com>2018-08-29 17:01:32 +0300
committerIttay Stern <ittay.stern@att.com>2019-02-18 18:35:30 +0200
commit6f900cc45d7dd7f97430812b86b5c1d1693c8ae3 (patch)
tree936005c364dc5a7264d6304d4777c3d83494db22 /vid-webpack-master/src/app/shared/pipes/dataFilter/data-filter.pipe.ts
parent67d99f816cc583643c35193197594cf78d8ce60a (diff)
merge from ecomp a88f0072 - Modern UI
Issue-ID: VID-378 Change-Id: Ibcb23dd27f550cf32ce2fe0239f0f496ae014ff6 Signed-off-by: Ittay Stern <ittay.stern@att.com>
Diffstat (limited to 'vid-webpack-master/src/app/shared/pipes/dataFilter/data-filter.pipe.ts')
-rw-r--r--vid-webpack-master/src/app/shared/pipes/dataFilter/data-filter.pipe.ts47
1 files changed, 47 insertions, 0 deletions
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();
+ }
+}