@netgrif/components-core
Version:
Netgrif Application engine frontend core Angular library
37 lines • 4.38 kB
JavaScript
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