UNPKG

@ux-aspects/ux-aspects

Version:

Open source user interface framework for building modern, responsive, mobile big data applications

49 lines (48 loc) 1.65 kB
import { BehaviorSubject, Subject } from 'rxjs'; import { SearchBuilderComponentDefinition } from './interfaces/component-definition.interface'; import { SearchBuilderQuery } from './interfaces/query.interface'; import * as i0 from "@angular/core"; export declare class SearchBuilderService { query: SearchBuilderQuery; queryChange: Subject<SearchBuilderQuery>; validationChange: BehaviorSubject<boolean>; private _componentId; private readonly _components; private _validation; /** * Add a component to the internal list of components */ registerComponent(component: SearchBuilderComponentDefinition): void; /** * Bulk registration of components * (Just a helper method) */ registerComponents(components: SearchBuilderComponentDefinition[]): void; /** * Get a registered component class */ getComponent(name: string): SearchBuilderComponentDefinition; /** * Update the internal search query state * note that the query will be immutable */ setQuery(query: SearchBuilderQuery): void; /** * Return the current query state */ getQuery(): SearchBuilderQuery; /** * Trigger the observable to indicate the query has been updated */ queryHasChanged(): void; /** * Store the validation state of the query */ setValid(id: number, valid: boolean): void; /** * Generate a unique id for each component */ generateComponentId(): number; static ɵfac: i0.ɵɵFactoryDeclaration<SearchBuilderService, never>; static ɵprov: i0.ɵɵInjectableDeclaration<SearchBuilderService>; }