UNPKG

ngx-select-dropdown

Version:

A angular(4+) select dropdown for single select or multiselct module.

44 lines 5.42 kB
import { Pipe } from '@angular/core'; import * as i0 from "@angular/core"; /** * filters an array based on searctext */ export class FilterByPipe { transform(array, searchText, keyName) { if (!array || !searchText || !Array.isArray(array)) { return array; } if (typeof array[0] === 'string') { return array.filter((item) => item.toLowerCase().indexOf(searchText.toLowerCase()) > -1); } // filter array, items which match and return true will be // kept, false will be filtered out if (!keyName) { return array.filter((item) => { for (const key in item) { if (typeof item[key] !== 'object' && item[key].toString().toLowerCase().indexOf(searchText.toLowerCase()) > -1) { return true; } } return false; }); } else { return array.filter((item) => { if (typeof item[keyName] !== 'object' && item[keyName].toString().toLowerCase().indexOf(searchText.toLowerCase()) > -1) { return true; } return false; }); } } } /** @nocollapse */ FilterByPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: FilterByPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); /** @nocollapse */ FilterByPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.0.5", ngImport: i0, type: FilterByPipe, name: "filterBy" }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: FilterByPipe, decorators: [{ type: Pipe, args: [{ name: 'filterBy' }] }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWJ5LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2VsZWN0LWRyb3Bkb3duL3NyYy9saWIvcGlwZXMvZmlsdGVyLWJ5LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBRXBEOztHQUVHO0FBSUgsTUFBTSxPQUFPLFlBQVk7SUFDZixTQUFTLENBQUMsS0FBWSxFQUFFLFVBQW1CLEVBQUUsT0FBZ0I7UUFDakUsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLFVBQVUsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDakQsT0FBTyxLQUFLLENBQUM7U0FDZjtRQUNELElBQUksT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssUUFBUSxFQUFFO1lBQy9CLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQzNGO1FBQ0QsMERBQTBEO1FBQzFELG1DQUFtQztRQUNuQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ1gsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBUyxFQUFFLEVBQUU7Z0JBQy9CLEtBQUssTUFBTSxHQUFHLElBQUksSUFBSSxFQUFFO29CQUNyQixJQUFJLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLFFBQVEsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFO3dCQUM3RyxPQUFPLElBQUksQ0FBQztxQkFDZDtpQkFDSDtnQkFDRCxPQUFPLEtBQUssQ0FBQztZQUNoQixDQUFDLENBQUMsQ0FBQztTQUNMO2FBQU07WUFDSixPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFTLEVBQUUsRUFBRTtnQkFDL0IsSUFBSSxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxRQUFRLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRTtvQkFDckgsT0FBTyxJQUFJLENBQUM7aUJBQ2Q7Z0JBQ0QsT0FBTyxLQUFLLENBQUM7WUFDaEIsQ0FBQyxDQUFDLENBQUM7U0FDTDtJQUVKLENBQUM7OzRIQTVCUyxZQUFZOzBIQUFaLFlBQVk7MkZBQVosWUFBWTtrQkFIeEIsSUFBSTttQkFBQztvQkFDSCxJQUFJLEVBQUUsVUFBVTtpQkFDbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogZmlsdGVycyBhbiBhcnJheSBiYXNlZCBvbiBzZWFyY3RleHRcbiAqL1xuQFBpcGUoe1xuICAgbmFtZTogJ2ZpbHRlckJ5J1xufSlcbmV4cG9ydCBjbGFzcyBGaWx0ZXJCeVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgIHB1YmxpYyB0cmFuc2Zvcm0oYXJyYXk6IGFueVtdLCBzZWFyY2hUZXh0Pzogc3RyaW5nLCBrZXlOYW1lPzogc3RyaW5nKSB7XG4gICAgICBpZiAoIWFycmF5IHx8ICFzZWFyY2hUZXh0IHx8ICFBcnJheS5pc0FycmF5KGFycmF5KSkge1xuICAgICAgICAgcmV0dXJuIGFycmF5O1xuICAgICAgfVxuICAgICAgaWYgKHR5cGVvZiBhcnJheVswXSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgIHJldHVybiBhcnJheS5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0udG9Mb3dlckNhc2UoKS5pbmRleE9mKHNlYXJjaFRleHQudG9Mb3dlckNhc2UoKSkgPiAtMSk7XG4gICAgICB9XG4gICAgICAvLyBmaWx0ZXIgYXJyYXksIGl0ZW1zIHdoaWNoIG1hdGNoIGFuZCByZXR1cm4gdHJ1ZSB3aWxsIGJlXG4gICAgICAvLyBrZXB0LCBmYWxzZSB3aWxsIGJlIGZpbHRlcmVkIG91dFxuICAgICAgaWYgKCFrZXlOYW1lKSB7XG4gICAgICAgICByZXR1cm4gYXJyYXkuZmlsdGVyKChpdGVtOiBhbnkpID0+IHtcbiAgICAgICAgICAgIGZvciAoY29uc3Qga2V5IGluIGl0ZW0pIHtcbiAgICAgICAgICAgICAgIGlmICh0eXBlb2YgaXRlbVtrZXldICE9PSAnb2JqZWN0JyAmJiBpdGVtW2tleV0udG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpLmluZGV4T2Yoc2VhcmNoVGV4dC50b0xvd2VyQ2FzZSgpKSA+IC0xKSB7XG4gICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgIHJldHVybiBhcnJheS5maWx0ZXIoKGl0ZW06IGFueSkgPT4ge1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBpdGVtW2tleU5hbWVdICE9PSAnb2JqZWN0JyAmJiBpdGVtW2tleU5hbWVdLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKS5pbmRleE9mKHNlYXJjaFRleHQudG9Mb3dlckNhc2UoKSkgPiAtMSkge1xuICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgfVxufVxuIl19