UNPKG

@rangertechnologies/ngnxt

Version:

This library was used for creating dymanic UI based on the input JSON/data

39 lines 4.48 kB
import { Pipe } from '@angular/core'; import * as i0 from "@angular/core"; export class SearchFilterPipe { //getting the array datas and search data from pipe element on every change transform(items, searchText, ele) { if (!items) return []; if (!searchText) return items; return this.searchItems(items, searchText?.toLowerCase(), ele); } // passing that data here, and if the search element included in that array, that element will be returned in new array searchItems(items, searchText, ele) { let results = []; items.forEach((data) => { if (ele) { if (data[ele]?.toLowerCase().includes(searchText)) { results.push(data); } } else { if (data?.toLowerCase().includes(searchText)) { results.push(data); } } }); return results; } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SearchFilterPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: SearchFilterPipe, isStandalone: true, name: "searchFilter" }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SearchFilterPipe, decorators: [{ type: Pipe, args: [{ name: 'searchFilter', standalone: true }] }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWZpbHRlci5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnh0LWFwcC9zcmMvbGliL3BpcGUvc2VhcmNoLWZpbHRlci9zZWFyY2gtZmlsdGVyLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBT3BELE1BQU0sT0FBTyxnQkFBZ0I7SUFHM0IsMkVBQTJFO0lBQzNFLFNBQVMsQ0FBQyxLQUFZLEVBQUUsVUFBa0IsRUFBRSxHQUFRO1FBQ2xELElBQUksQ0FBQyxLQUFLO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLFVBQVU7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUM5QixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBQ0QsdUhBQXVIO0lBQy9HLFdBQVcsQ0FBQyxLQUFZLEVBQUUsVUFBa0IsRUFBRSxHQUFRO1FBQzVELElBQUksT0FBTyxHQUFVLEVBQUUsQ0FBQztRQUN4QixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBUyxFQUFFLEVBQUU7WUFDMUIsSUFBRyxHQUFHLEVBQUMsQ0FBQztnQkFDTixJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztvQkFDbEQsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDckIsQ0FBQztZQUNILENBQUM7aUJBQU0sQ0FBQztnQkFDTixJQUFJLElBQUksRUFBRSxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztvQkFDN0MsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDckIsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7d0dBeEJVLGdCQUFnQjtzR0FBaEIsZ0JBQWdCOzs0RkFBaEIsZ0JBQWdCO2tCQUo1QixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxjQUFjO29CQUNwQixVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cblxuQFBpcGUoe1xuICBuYW1lOiAnc2VhcmNoRmlsdGVyJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBTZWFyY2hGaWx0ZXJQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cblxuICAvL2dldHRpbmcgdGhlIGFycmF5IGRhdGFzIGFuZCBzZWFyY2ggZGF0YSBmcm9tIHBpcGUgZWxlbWVudCBvbiBldmVyeSBjaGFuZ2VcbiAgdHJhbnNmb3JtKGl0ZW1zOiBhbnlbXSwgc2VhcmNoVGV4dDogc3RyaW5nLCBlbGU/OmFueSk6IGFueVtdIHtcbiAgICBpZiAoIWl0ZW1zKSByZXR1cm4gW107XG4gICAgaWYgKCFzZWFyY2hUZXh0KSByZXR1cm4gaXRlbXM7XG4gICAgcmV0dXJuIHRoaXMuc2VhcmNoSXRlbXMoaXRlbXMsIHNlYXJjaFRleHQ/LnRvTG93ZXJDYXNlKCksIGVsZSk7XG4gIH1cbiAgLy8gcGFzc2luZyB0aGF0IGRhdGEgaGVyZSwgYW5kIGlmIHRoZSBzZWFyY2ggZWxlbWVudCBpbmNsdWRlZCBpbiB0aGF0IGFycmF5LCB0aGF0IGVsZW1lbnQgd2lsbCBiZSByZXR1cm5lZCBpbiBuZXcgYXJyYXlcbiAgcHJpdmF0ZSBzZWFyY2hJdGVtcyhpdGVtczogYW55W10sIHNlYXJjaFRleHQ6IHN0cmluZywgZWxlPzphbnkpOiBhbnlbXSB7XG4gICAgbGV0IHJlc3VsdHM6IGFueVtdID0gW107XG4gICAgaXRlbXMuZm9yRWFjaCgoZGF0YTogYW55KSA9PiB7XG4gICAgICBpZihlbGUpe1xuICAgICAgICBpZiAoZGF0YVtlbGVdPy50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaFRleHQpKSB7XG4gICAgICAgICAgcmVzdWx0cy5wdXNoKGRhdGEpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoZGF0YT8udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhzZWFyY2hUZXh0KSkge1xuICAgICAgICAgIHJlc3VsdHMucHVzaChkYXRhKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiByZXN1bHRzO1xuICB9XG59Il19