UNPKG

@inaccess-fang/ui-components

Version:

The Inaccess UI Components Library for the Front-end projects

41 lines 5.31 kB
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core'; export class FangSearchComponent { constructor() { this.config = {}; this.filteredDataChange = new EventEmitter(); this.inputTextChange = new EventEmitter(); this.inputText = ''; } filterInputElements() { if (this.data) { this.filteredData = this.data .filter(e => { return this.inputText.toLowerCase().split(' ').every(keyword => { return (this.config.searchBy ? e[this.config.searchBy] : e).toString().toLowerCase().includes(keyword); }); }); this.filteredDataChange.emit(this.filteredData); } this.inputTextChange.emit(this.inputText); } clearInputText(event) { event && event.stopPropagation(); this.inputText = ''; this.filterInputElements(); } } FangSearchComponent.decorators = [ { type: Component, args: [{ selector: 'fang-search', template: "<div class=\"input\">\n\t<input type=\"text\"\n\t\t [(ngModel)]=\"inputText\"\n\t\t (ngModelChange)=\"filterInputElements()\"\n\t\t placeholder=\"{{config?.placeholder ? config.placeholder : 'Search...'}}\"/>\n\t<i class=\"ic-close \" *ngIf=\"inputText.length\"\n\t (click)=\"clearInputText($event)\"\n\t></i>\n</div>\n\n", changeDetection: ChangeDetectionStrategy.OnPush, styles: [""] },] } ]; FangSearchComponent.propDecorators = { data: [{ type: Input }], config: [{ type: Input }], filteredDataChange: [{ type: Output }], inputTextChange: [{ type: Output }] }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFuZy1zZWFyY2guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Ii9ob21lL2lhc29uYXMvRGVza3RvcC9jdXJyZW50L2ZhbmctdWktY29tcG9uZW50cy1saWJyYXJ5L3Byb2plY3RzL2ZhbmctdWktY29tcG9uZW50cy9zcmMvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9zZWFyY2gtZmllbGQvZmFuZy1zZWFyY2guY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFTOUYsTUFBTSxPQUFPLG1CQUFtQjtJQU5oQztRQVFVLFdBQU0sR0FBMEIsRUFBRSxDQUFDO1FBRWxDLHVCQUFrQixHQUFHLElBQUksWUFBWSxFQUFTLENBQUM7UUFDL0Msb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBR2hELGNBQVMsR0FBVyxFQUFFLENBQUM7SUFxQi9CLENBQUM7SUFuQk8sbUJBQW1CO1FBQ3pCLElBQUksSUFBSSxDQUFDLElBQUksRUFBRTtZQUNkLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLElBQUk7aUJBQzNCLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDWCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsRUFBRTtvQkFDOUQsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUN4RyxDQUFDLENBQUMsQ0FBQztZQUNKLENBQUMsQ0FBQyxDQUFDO1lBQ0osSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDaEQ7UUFFRCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVNLGNBQWMsQ0FBQyxLQUFpQjtRQUN0QyxLQUFLLElBQUksS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQzVCLENBQUM7OztZQWxDRCxTQUFTLFNBQUM7Z0JBQ1YsUUFBUSxFQUFFLGFBQWE7Z0JBRXZCLHFWQUEyQztnQkFDM0MsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07O2FBQy9DOzs7bUJBRUMsS0FBSztxQkFDTCxLQUFLO2lDQUVMLE1BQU07OEJBQ04sTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RmFuZ1NlYXJjaEZpZWxkQ29uZmlnfSBmcm9tIFwiLi9mYW5nLXNlYXJjaC5jb21wb25lbnQubW9kZWxcIjtcblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAnZmFuZy1zZWFyY2gnLFxuXHRzdHlsZVVybHM6IFsnLi9mYW5nLXNlYXJjaC5jb21wb25lbnQuc2NzcyddLFxuXHR0ZW1wbGF0ZVVybDogJy4vZmFuZy1zZWFyY2guY29tcG9uZW50Lmh0bWwnLFxuXHRjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBGYW5nU2VhcmNoQ29tcG9uZW50IHtcblx0QElucHV0KCkgZGF0YTogYW55W107XG5cdEBJbnB1dCgpIGNvbmZpZzogRmFuZ1NlYXJjaEZpZWxkQ29uZmlnID0ge307XG5cblx0QE91dHB1dCgpIGZpbHRlcmVkRGF0YUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55W10+KCk7XG5cdEBPdXRwdXQoKSBpbnB1dFRleHRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuXHRmaWx0ZXJlZERhdGE6IGFueVtdO1xuXHRwdWJsaWMgaW5wdXRUZXh0OiBzdHJpbmcgPSAnJztcblxuXHRwdWJsaWMgZmlsdGVySW5wdXRFbGVtZW50cygpOiB2b2lkIHtcblx0XHRpZiAodGhpcy5kYXRhKSB7XG5cdFx0XHR0aGlzLmZpbHRlcmVkRGF0YSA9IHRoaXMuZGF0YVxuXHRcdFx0XHQuZmlsdGVyKGUgPT4ge1xuXHRcdFx0XHRcdHJldHVybiB0aGlzLmlucHV0VGV4dC50b0xvd2VyQ2FzZSgpLnNwbGl0KCcgJykuZXZlcnkoa2V5d29yZCA9PiB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gKHRoaXMuY29uZmlnLnNlYXJjaEJ5ID8gZVt0aGlzLmNvbmZpZy5zZWFyY2hCeV0gOiBlKS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoa2V5d29yZCk7XG5cdFx0XHRcdFx0fSk7XG5cdFx0XHRcdH0pO1xuXHRcdFx0dGhpcy5maWx0ZXJlZERhdGFDaGFuZ2UuZW1pdCh0aGlzLmZpbHRlcmVkRGF0YSk7XG5cdFx0fVxuXG5cdFx0dGhpcy5pbnB1dFRleHRDaGFuZ2UuZW1pdCh0aGlzLmlucHV0VGV4dCk7XG5cdH1cblxuXHRwdWJsaWMgY2xlYXJJbnB1dFRleHQoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcblx0XHRldmVudCAmJiBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblx0XHR0aGlzLmlucHV0VGV4dCA9ICcnO1xuXHRcdHRoaXMuZmlsdGVySW5wdXRFbGVtZW50cygpO1xuXHR9XG59XG4iXX0=