@inaccess-fang/ui-components
Version:
The Inaccess UI Components Library for the Front-end projects
41 lines • 5.31 kB
JavaScript
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=