UNPKG

@paddls/ngx-easy-table

Version:
29 lines 4.4 kB
import { Pipe } from '@angular/core'; import * as i0 from "@angular/core"; export class GlobalSearchPipe { transform(array, filter, columns, filteredCountSubject) { filteredCountSubject.next(0); if (typeof array === 'undefined') { return; } if (typeof filter === 'undefined' || filter === '') { filteredCountSubject.next(array.length); return array; } const predicate = (row) => columns.reduce((acc, curr) => acc || curr?.searchPredicate?.(row) || (['number', 'boolean', 'string'].includes(typeof row?.[curr.key]) && `${row?.[curr.key]}`.toLocaleLowerCase().includes(filter.toLocaleLowerCase())), false); const arr = array.filter(predicate); filteredCountSubject.next(arr.length); return arr; } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: GlobalSearchPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); } static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.1.7", ngImport: i0, type: GlobalSearchPipe, name: "global" }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: GlobalSearchPipe, decorators: [{ type: Pipe, args: [{ name: 'global', }] }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsLXNlYXJjaC1waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWVhc3ktdGFibGUvc3JjL2xpYi9waXBlcy9nbG9iYWwtc2VhcmNoLXBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBT3BELE1BQU0sT0FBTyxnQkFBZ0I7SUFFcEIsU0FBUyxDQUFDLEtBQVksRUFBRSxNQUFjLEVBQUUsT0FBa0IsRUFBRSxvQkFBcUM7UUFDdEcsb0JBQW9CLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzdCLElBQUksT0FBTyxLQUFLLEtBQUssV0FBVyxFQUFFO1lBQ2hDLE9BQU87U0FDUjtRQUVELElBQUksT0FBTyxNQUFNLEtBQUssV0FBVyxJQUFJLE1BQU0sS0FBSyxFQUFFLEVBQUU7WUFDbEQsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN4QyxPQUFPLEtBQUssQ0FBQztTQUNkO1FBRUQsTUFBTSxTQUFTLEdBQTBCLENBQUMsR0FBUSxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUNuRSxDQUFDLEdBQVksRUFBRSxJQUFhLEVBQUUsRUFBRSxDQUM5QixHQUFHO1lBQ0gsSUFBSSxFQUFFLGVBQWUsRUFBRSxDQUFDLEdBQUcsQ0FBQztZQUM1QixDQUFDLENBQUMsUUFBUSxFQUFFLFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxHQUFJLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUUsRUFBRSxDQUFDLGlCQUFpQixFQUFFLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLENBQUMsRUFDdkosS0FBSyxDQUNOLENBQUM7UUFFRixNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3BDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFdEMsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDOzhHQXpCVSxnQkFBZ0I7NEdBQWhCLGdCQUFnQjs7MkZBQWhCLGdCQUFnQjtrQkFINUIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsUUFBUTtpQkFDZiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENvbHVtbnMgfSBmcm9tICcuLi9tb2RlbC9jb2x1bW5zJztcblxuQFBpcGUoe1xuICBuYW1lOiAnZ2xvYmFsJyxcbn0pXG5leHBvcnQgY2xhc3MgR2xvYmFsU2VhcmNoUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuXG4gIHB1YmxpYyB0cmFuc2Zvcm0oYXJyYXk6IGFueVtdLCBmaWx0ZXI6IHN0cmluZywgY29sdW1uczogQ29sdW1uc1tdLCBmaWx0ZXJlZENvdW50U3ViamVjdDogU3ViamVjdDxudW1iZXI+KTogYW55IHtcbiAgICBmaWx0ZXJlZENvdW50U3ViamVjdC5uZXh0KDApO1xuICAgIGlmICh0eXBlb2YgYXJyYXkgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBmaWx0ZXIgPT09ICd1bmRlZmluZWQnIHx8IGZpbHRlciA9PT0gJycpIHtcbiAgICAgIGZpbHRlcmVkQ291bnRTdWJqZWN0Lm5leHQoYXJyYXkubGVuZ3RoKTtcbiAgICAgIHJldHVybiBhcnJheTtcbiAgICB9XG5cbiAgICBjb25zdCBwcmVkaWNhdGU6IChyb3c6IGFueSkgPT4gYm9vbGVhbiA9IChyb3c6IGFueSkgPT4gY29sdW1ucy5yZWR1Y2UoXG4gICAgICAoYWNjOiBib29sZWFuLCBjdXJyOiBDb2x1bW5zKSA9PlxuICAgICAgICBhY2MgfHxcbiAgICAgICAgY3Vycj8uc2VhcmNoUHJlZGljYXRlPy4ocm93KSB8fFxuICAgICAgICAoWydudW1iZXInLCAnYm9vbGVhbicsICdzdHJpbmcnXS5pbmNsdWRlcyh0eXBlb2Ygcm93Py5bY3Vyci5rZXldKSAmJiBgJHsgcm93Py5bY3Vyci5rZXldIH1gLnRvTG9jYWxlTG93ZXJDYXNlKCkuaW5jbHVkZXMoZmlsdGVyLnRvTG9jYWxlTG93ZXJDYXNlKCkpKSxcbiAgICAgIGZhbHNlXG4gICAgKTtcblxuICAgIGNvbnN0IGFyciA9IGFycmF5LmZpbHRlcihwcmVkaWNhdGUpO1xuICAgIGZpbHRlcmVkQ291bnRTdWJqZWN0Lm5leHQoYXJyLmxlbmd0aCk7XG5cbiAgICByZXR1cm4gYXJyO1xuICB9XG59XG4iXX0=