Thursday, 22 November 2018

GrdFilterPipe in angular



@NgModule({
declarations: [ GrdFilterPipe]
})

import { Pipe, PipeTransform } from '@angular/core';

@Pipe({
name: 'grdFilter'
})
export class GrdFilterPipe implements PipeTransform {

// <table *ngFor="let emp of customerData
//| grdFilter: {column1: searchText, column2:searchText, colum: searchText};
//let i=index;">

transform(items: any, filter: any, defaultFilter: boolean): any {
if (!filter) {
return items;
}

if (!Array.isArray(items)) {
return items;
}

if (filter && Array.isArray(items)) {
let filterKeys = Object.keys(filter);

if (defaultFilter) {
return items.filter(item =>
filterKeys.reduce((x, keyName) =>
(x && new RegExp(filter[keyName], 'gi').test(item[keyName])) ||
filter[keyName] == "", true));
}
else {
return items.filter(item => {
return filterKeys.some((keyName) => {
return new RegExp(filter[keyName], 'gi').test(item[keyName]) ||
filter[keyName] == "";
});
});
}
}
}
}

1 comment:

  1. please provide grdfilterpipe for angular 11 version.because i am getting error in stricter type angular version

    ReplyDelete

IIS deployment support details

  Node JS - IIS deployment support details node: http://go.microsoft.com/?linkid=9784334 IISNode: https://github.com/azure/iisnode/releases/...