UNPKG

@ngx-custom-code/ngx-table-custom-sort

Version:

Angular easy table

30 lines 4.23 kB
import { Pipe } from '@angular/core'; import * as i0 from "@angular/core"; export class GlobalSearchPipe { transform(array, filter, filteredCountSubject) { filteredCountSubject.next(0); if (typeof array === 'undefined') { return; } if (typeof filter === 'undefined' || Object.keys(filter).length === 0 || filter === '') { filteredCountSubject.next(array.length); return array; } const arr = array.filter((row) => { const element = JSON.stringify(Object.values(row)); const strings = filter.split(','); return strings.some((s) => element.toLocaleLowerCase().indexOf(s.trim().toLocaleLowerCase()) > -1); }); filteredCountSubject.next(arr.length); return arr; } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: GlobalSearchPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); } static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: GlobalSearchPipe, name: "global" }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: GlobalSearchPipe, decorators: [{ type: Pipe, args: [{ name: 'global', }] }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsLXNlYXJjaC1waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWVhc3ktdGFibGUvc3JjL2xpYi9waXBlcy9nbG9iYWwtc2VhcmNoLXBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBTXBELE1BQU0sT0FBTyxnQkFBZ0I7SUFDM0IsU0FBUyxDQUFDLEtBQVksRUFBRSxNQUFjLEVBQUUsb0JBQXFDO1FBQzNFLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM3QixJQUFJLE9BQU8sS0FBSyxLQUFLLFdBQVcsRUFBRSxDQUFDO1lBQ2pDLE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxPQUFPLE1BQU0sS0FBSyxXQUFXLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLE1BQU0sS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUN2RixvQkFBb0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3hDLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztRQUNELE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUMvQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUNuRCxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ2xDLE9BQU8sT0FBTyxDQUFDLElBQUksQ0FDakIsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUM5RSxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7UUFDSCxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRXRDLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQzs4R0FwQlUsZ0JBQWdCOzRHQUFoQixnQkFBZ0I7OzJGQUFoQixnQkFBZ0I7a0JBSDVCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLFFBQVE7aUJBQ2YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuXHJcbkBQaXBlKHtcclxuICBuYW1lOiAnZ2xvYmFsJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEdsb2JhbFNlYXJjaFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICB0cmFuc2Zvcm0oYXJyYXk6IGFueVtdLCBmaWx0ZXI6IHN0cmluZywgZmlsdGVyZWRDb3VudFN1YmplY3Q6IFN1YmplY3Q8bnVtYmVyPik6IGFueSB7XHJcbiAgICBmaWx0ZXJlZENvdW50U3ViamVjdC5uZXh0KDApO1xyXG4gICAgaWYgKHR5cGVvZiBhcnJheSA9PT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaWYgKHR5cGVvZiBmaWx0ZXIgPT09ICd1bmRlZmluZWQnIHx8IE9iamVjdC5rZXlzKGZpbHRlcikubGVuZ3RoID09PSAwIHx8IGZpbHRlciA9PT0gJycpIHtcclxuICAgICAgZmlsdGVyZWRDb3VudFN1YmplY3QubmV4dChhcnJheS5sZW5ndGgpO1xyXG4gICAgICByZXR1cm4gYXJyYXk7XHJcbiAgICB9XHJcbiAgICBjb25zdCBhcnIgPSBhcnJheS5maWx0ZXIoKHJvdykgPT4ge1xyXG4gICAgICBjb25zdCBlbGVtZW50ID0gSlNPTi5zdHJpbmdpZnkoT2JqZWN0LnZhbHVlcyhyb3cpKTtcclxuICAgICAgY29uc3Qgc3RyaW5ncyA9IGZpbHRlci5zcGxpdCgnLCcpO1xyXG4gICAgICByZXR1cm4gc3RyaW5ncy5zb21lKFxyXG4gICAgICAgIChzKSA9PiBlbGVtZW50LnRvTG9jYWxlTG93ZXJDYXNlKCkuaW5kZXhPZihzLnRyaW0oKS50b0xvY2FsZUxvd2VyQ2FzZSgpKSA+IC0xXHJcbiAgICAgICk7XHJcbiAgICB9KTtcclxuICAgIGZpbHRlcmVkQ291bnRTdWJqZWN0Lm5leHQoYXJyLmxlbmd0aCk7XHJcblxyXG4gICAgcmV0dXJuIGFycjtcclxuICB9XHJcbn1cclxuIl19