UNPKG

@netgrif/components-core

Version:

Netgrif Application engine frontend core Angular library

41 lines 5.39 kB
import { FormControl } from '@angular/forms'; import { debounceTime, filter, map } from 'rxjs/operators'; import { Component, Input } from '@angular/core'; import * as i0 from "@angular/core"; import * as i1 from "../search-service/search.service"; export class AbstractFulltextSearchComponent { _searchService; set disabled(value) { if (value) { this.fullTextFormControl.disable(); } else { this.fullTextFormControl.enable(); } } fullTextFormControl; constructor(_searchService) { this._searchService = _searchService; this.fullTextFormControl = new FormControl(); this.fullTextFormControl.valueChanges.pipe(debounceTime(600), filter(newValue => typeof newValue === 'string'), map((newValue) => newValue.trim())).subscribe((fulltext) => { if (fulltext.length === 0) { this._searchService.clearFullTextFilter(); } else { this._searchService.setFullTextFilter(fulltext); } }); } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AbstractFulltextSearchComponent, deps: [{ token: i1.SearchService }], target: i0.ɵɵFactoryTarget.Component }); static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: AbstractFulltextSearchComponent, selector: "ncc-abstract-fulltext-search", inputs: { disabled: "disabled" }, ngImport: i0, template: '', isInline: true }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AbstractFulltextSearchComponent, decorators: [{ type: Component, args: [{ selector: 'ncc-abstract-fulltext-search', template: '' }] }], ctorParameters: () => [{ type: i1.SearchService }], propDecorators: { disabled: [{ type: Input }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtZnVsbHRleHQtc2VhcmNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy1jb3JlL3NyYy9saWIvc2VhcmNoL2Z1bGx0ZXh0LXNlYXJjaC1jb21wb25lbnQvYWJzdHJhY3QtZnVsbHRleHQtc2VhcmNoLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFDLFlBQVksRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFekQsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7OztBQU0vQyxNQUFNLE9BQWdCLCtCQUErQjtJQVlqQjtJQVRoQyxJQUFhLFFBQVEsQ0FBQyxLQUFjO1FBQ2hDLElBQUksS0FBSyxFQUFFO1lBQ1AsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxDQUFDO1NBQ3RDO2FBQU07WUFDSCxJQUFJLENBQUMsbUJBQW1CLENBQUMsTUFBTSxFQUFFLENBQUM7U0FDckM7SUFDTCxDQUFDO0lBQ00sbUJBQW1CLENBQWM7SUFFeEMsWUFBZ0MsY0FBNkI7UUFBN0IsbUJBQWMsR0FBZCxjQUFjLENBQWU7UUFDekQsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksV0FBVyxFQUFFLENBQUM7UUFFN0MsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFlBQVksQ0FBQyxJQUFJLENBQ3RDLFlBQVksQ0FBQyxHQUFHLENBQUMsRUFDakIsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsT0FBTyxRQUFRLEtBQUssUUFBUSxDQUFDLEVBQ2hELEdBQUcsQ0FBQyxDQUFDLFFBQWdCLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUM3QyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFFBQWdCLEVBQUUsRUFBRTtZQUM3QixJQUFJLFFBQVEsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO2dCQUN2QixJQUFJLENBQUMsY0FBYyxDQUFDLG1CQUFtQixFQUFFLENBQUM7YUFDN0M7aUJBQU07Z0JBQ0gsSUFBSSxDQUFDLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUNuRDtRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzt3R0ExQmlCLCtCQUErQjs0RkFBL0IsK0JBQStCLHNHQUZ2QyxFQUFFOzs0RkFFTSwrQkFBK0I7a0JBSnBELFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLDhCQUE4QjtvQkFDeEMsUUFBUSxFQUFFLEVBQUU7aUJBQ2Y7a0ZBSWdCLFFBQVE7c0JBQXBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0Zvcm1Db250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge2RlYm91bmNlVGltZSwgZmlsdGVyLCBtYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7U2VhcmNoU2VydmljZX0gZnJvbSAnLi4vc2VhcmNoLXNlcnZpY2Uvc2VhcmNoLnNlcnZpY2UnO1xuaW1wb3J0IHtDb21wb25lbnQsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduY2MtYWJzdHJhY3QtZnVsbHRleHQtc2VhcmNoJyxcbiAgICB0ZW1wbGF0ZTogJydcbn0pXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RGdWxsdGV4dFNlYXJjaENvbXBvbmVudCB7XG5cblxuICAgIEBJbnB1dCgpIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuZnVsbFRleHRGb3JtQ29udHJvbC5kaXNhYmxlKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmZ1bGxUZXh0Rm9ybUNvbnRyb2wuZW5hYmxlKCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcHVibGljIGZ1bGxUZXh0Rm9ybUNvbnRyb2w6IEZvcm1Db250cm9sO1xuXG4gICAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBfc2VhcmNoU2VydmljZTogU2VhcmNoU2VydmljZSkge1xuICAgICAgICB0aGlzLmZ1bGxUZXh0Rm9ybUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woKTtcblxuICAgICAgICB0aGlzLmZ1bGxUZXh0Rm9ybUNvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoXG4gICAgICAgICAgICBkZWJvdW5jZVRpbWUoNjAwKSxcbiAgICAgICAgICAgIGZpbHRlcihuZXdWYWx1ZSA9PiB0eXBlb2YgbmV3VmFsdWUgPT09ICdzdHJpbmcnKSxcbiAgICAgICAgICAgIG1hcCgobmV3VmFsdWU6IHN0cmluZykgPT4gbmV3VmFsdWUudHJpbSgpKVxuICAgICAgICApLnN1YnNjcmliZSgoZnVsbHRleHQ6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgaWYgKGZ1bGx0ZXh0Lmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgICAgIHRoaXMuX3NlYXJjaFNlcnZpY2UuY2xlYXJGdWxsVGV4dEZpbHRlcigpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9zZWFyY2hTZXJ2aWNlLnNldEZ1bGxUZXh0RmlsdGVyKGZ1bGx0ZXh0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG59XG4iXX0=