UNPKG

ngx-select-dropdown

Version:

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

44 lines 5.53 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.trim().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.trim().toLowerCase()) > -1) { return true; } } return false; }); } else { return array.filter((item) => { if (typeof item[keyName] !== 'object' && item[keyName].toString().toLowerCase().indexOf(searchText.trim().toLowerCase()) > -1) { return true; } return false; }); } } } /** @nocollapse */ FilterByPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FilterByPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); /** @nocollapse */ FilterByPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: FilterByPipe, name: "filterBy" }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FilterByPipe, decorators: [{ type: Pipe, args: [{ name: 'filterBy' }] }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWJ5LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2VsZWN0LWRyb3Bkb3duL3NyYy9saWIvcGlwZXMvZmlsdGVyLWJ5LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBRXBEOztHQUVHO0FBSUgsTUFBTSxPQUFPLFlBQVk7SUFDZixTQUFTLENBQUMsS0FBWSxFQUFFLFVBQW1CLEVBQUUsT0FBZ0I7UUFDakUsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLFVBQVUsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDakQsT0FBTyxLQUFLLENBQUM7U0FDZjtRQUNELElBQUksT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssUUFBUSxFQUFFO1lBQy9CLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ2xHO1FBQ0QsMERBQTBEO1FBQzFELG1DQUFtQztRQUNuQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ1gsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBUyxFQUFFLEVBQUU7Z0JBQy9CLEtBQUssTUFBTSxHQUFHLElBQUksSUFBSSxFQUFFO29CQUNyQixJQUFJLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLFFBQVEsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFO3dCQUNwSCxPQUFPLElBQUksQ0FBQztxQkFDZDtpQkFDSDtnQkFDRCxPQUFPLEtBQUssQ0FBQztZQUNoQixDQUFDLENBQUMsQ0FBQztTQUNMO2FBQU07WUFDSixPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFTLEVBQUUsRUFBRTtnQkFDL0IsSUFBSSxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxRQUFRLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRTtvQkFDNUgsT0FBTyxJQUFJLENBQUM7aUJBQ2Q7Z0JBQ0QsT0FBTyxLQUFLLENBQUM7WUFDaEIsQ0FBQyxDQUFDLENBQUM7U0FDTDtJQUVKLENBQUM7OzZIQTVCUyxZQUFZOzJIQUFaLFlBQVk7NEZBQVosWUFBWTtrQkFIeEIsSUFBSTttQkFBQztvQkFDSCxJQUFJLEVBQUUsVUFBVTtpQkFDbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogZmlsdGVycyBhbiBhcnJheSBiYXNlZCBvbiBzZWFyY3RleHRcbiAqL1xuQFBpcGUoe1xuICAgbmFtZTogJ2ZpbHRlckJ5J1xufSlcbmV4cG9ydCBjbGFzcyBGaWx0ZXJCeVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgIHB1YmxpYyB0cmFuc2Zvcm0oYXJyYXk6IGFueVtdLCBzZWFyY2hUZXh0Pzogc3RyaW5nLCBrZXlOYW1lPzogc3RyaW5nKSB7XG4gICAgICBpZiAoIWFycmF5IHx8ICFzZWFyY2hUZXh0IHx8ICFBcnJheS5pc0FycmF5KGFycmF5KSkge1xuICAgICAgICAgcmV0dXJuIGFycmF5O1xuICAgICAgfVxuICAgICAgaWYgKHR5cGVvZiBhcnJheVswXSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgIHJldHVybiBhcnJheS5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0udG9Mb3dlckNhc2UoKS5pbmRleE9mKHNlYXJjaFRleHQudHJpbSgpLnRvTG93ZXJDYXNlKCkpID4gLTEpO1xuICAgICAgfVxuICAgICAgLy8gZmlsdGVyIGFycmF5LCBpdGVtcyB3aGljaCBtYXRjaCBhbmQgcmV0dXJuIHRydWUgd2lsbCBiZVxuICAgICAgLy8ga2VwdCwgZmFsc2Ugd2lsbCBiZSBmaWx0ZXJlZCBvdXRcbiAgICAgIGlmICgha2V5TmFtZSkge1xuICAgICAgICAgcmV0dXJuIGFycmF5LmZpbHRlcigoaXRlbTogYW55KSA9PiB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBpdGVtKSB7XG4gICAgICAgICAgICAgICBpZiAodHlwZW9mIGl0ZW1ba2V5XSAhPT0gJ29iamVjdCcgJiYgaXRlbVtrZXldLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKS5pbmRleE9mKHNlYXJjaFRleHQudHJpbSgpLnRvTG93ZXJDYXNlKCkpID4gLTEpIHtcbiAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAgcmV0dXJuIGFycmF5LmZpbHRlcigoaXRlbTogYW55KSA9PiB7XG4gICAgICAgICAgICBpZiAodHlwZW9mIGl0ZW1ba2V5TmFtZV0gIT09ICdvYmplY3QnICYmIGl0ZW1ba2V5TmFtZV0udG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpLmluZGV4T2Yoc2VhcmNoVGV4dC50cmltKCkudG9Mb3dlckNhc2UoKSkgPiAtMSkge1xuICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgfVxufVxuIl19