UNPKG

@netgrif/components-core

Version:

Netgrif Application engine frontend core Angular library

37 lines 4.38 kB
import { Injectable } from '@angular/core'; import { LoadingEmitter } from '../../utility/loading-emitter'; import * as i0 from "@angular/core"; /** * This service is used to signal to inputs in advanced search components, whether they should autofocus, or not. * * The inputs should autofocus, when the user interacts with them, but should not auto focus if the first empty predicate is created on * advanced search component initialization. */ export class AdvancedSearchComponentInitializationService { _initialized; constructor() { this._initialized = new LoadingEmitter(false); } ngOnDestroy() { this._initialized.complete(); } /** * @returns `false` until the [completeInitialization()]{@link AdvancedSearchComponentInitializationService#completeInitialization} * method is called. Returns `true` afterwards. */ get isInitialized() { return this._initialized.isActive; } /** * Changes the state to `initialized`. */ completeInitialization() { this._initialized.on(); } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AdvancedSearchComponentInitializationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AdvancedSearchComponentInitializationService }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AdvancedSearchComponentInitializationService, decorators: [{ type: Injectable }], ctorParameters: () => [] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2YW5jZWQtc2VhcmNoLWNvbXBvbmVudC1pbml0aWFsaXphdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzLWNvcmUvc3JjL2xpYi9zZWFyY2gvYWR2YW5jZWQtc2VhcmNoLWNvbXBvbmVudC1pbml0aWFsaXphdGlvbi1zZXJ2aWNlL2FkdmFuY2VkLXNlYXJjaC1jb21wb25lbnQtaW5pdGlhbGl6YXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ3BELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQzs7QUFFN0Q7Ozs7O0dBS0c7QUFFSCxNQUFNLE9BQU8sNENBQTRDO0lBRTNDLFlBQVksQ0FBaUI7SUFFdkM7UUFDSSxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFBVyxhQUFhO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUM7SUFDdEMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksc0JBQXNCO1FBQ3pCLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxFQUFFLENBQUM7SUFDM0IsQ0FBQzt3R0F6QlEsNENBQTRDOzRHQUE1Qyw0Q0FBNEM7OzRGQUE1Qyw0Q0FBNEM7a0JBRHhELFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGUsIE9uRGVzdHJveX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0xvYWRpbmdFbWl0dGVyfSBmcm9tICcuLi8uLi91dGlsaXR5L2xvYWRpbmctZW1pdHRlcic7XG5cbi8qKlxuICogVGhpcyBzZXJ2aWNlIGlzIHVzZWQgdG8gc2lnbmFsIHRvIGlucHV0cyBpbiBhZHZhbmNlZCBzZWFyY2ggY29tcG9uZW50cywgd2hldGhlciB0aGV5IHNob3VsZCBhdXRvZm9jdXMsIG9yIG5vdC5cbiAqXG4gKiBUaGUgaW5wdXRzIHNob3VsZCBhdXRvZm9jdXMsIHdoZW4gdGhlIHVzZXIgaW50ZXJhY3RzIHdpdGggdGhlbSwgYnV0IHNob3VsZCBub3QgYXV0byBmb2N1cyBpZiB0aGUgZmlyc3QgZW1wdHkgcHJlZGljYXRlIGlzIGNyZWF0ZWQgb25cbiAqIGFkdmFuY2VkIHNlYXJjaCBjb21wb25lbnQgaW5pdGlhbGl6YXRpb24uXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBZHZhbmNlZFNlYXJjaENvbXBvbmVudEluaXRpYWxpemF0aW9uU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG5cbiAgICBwcm90ZWN0ZWQgX2luaXRpYWxpemVkOiBMb2FkaW5nRW1pdHRlcjtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLl9pbml0aWFsaXplZCA9IG5ldyBMb2FkaW5nRW1pdHRlcihmYWxzZSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2luaXRpYWxpemVkLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQHJldHVybnMgYGZhbHNlYCB1bnRpbCB0aGUgW2NvbXBsZXRlSW5pdGlhbGl6YXRpb24oKV17QGxpbmsgQWR2YW5jZWRTZWFyY2hDb21wb25lbnRJbml0aWFsaXphdGlvblNlcnZpY2UjY29tcGxldGVJbml0aWFsaXphdGlvbn1cbiAgICAgKiBtZXRob2QgaXMgY2FsbGVkLiBSZXR1cm5zIGB0cnVlYCBhZnRlcndhcmRzLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgaXNJbml0aWFsaXplZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2luaXRpYWxpemVkLmlzQWN0aXZlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoYW5nZXMgdGhlIHN0YXRlIHRvIGBpbml0aWFsaXplZGAuXG4gICAgICovXG4gICAgcHVibGljIGNvbXBsZXRlSW5pdGlhbGl6YXRpb24oKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2luaXRpYWxpemVkLm9uKCk7XG4gICAgfVxufVxuIl19