UNPKG

igniteui-angular

Version:

Ignite UI for Angular is a dependency-free Angular toolkit for building modern web apps

157 lines (156 loc) 5.23 kB
import { EventEmitter, TemplateRef } from '@angular/core'; import { ElementRef, OnDestroy } from '@angular/core'; import { IQueryBuilderResourceStrings } from '../core/i18n/query-builder-resources'; import { IExpressionTree } from '../data-operations/filtering-expressions-tree'; import { IgxOverlayOutletDirective } from '../directives/toggle/toggle.directive'; import { EntityType, FieldType } from '../grids/common/grid.interface'; import { IgxQueryBuilderTreeComponent } from './query-builder-tree.component'; import { IgxIconService } from '../icon/icon.service'; import * as i0 from "@angular/core"; /** * A component used for operating with complex filters by creating or editing conditions * and grouping them using AND/OR logic. * It is used internally in the Advanced Filtering of the Grid. * * @example * ```html * <igx-query-builder [entities]="this.entities"> * </igx-query-builder> * ``` */ export declare class IgxQueryBuilderComponent implements OnDestroy { protected iconService: IgxIconService; /** * @hidden @internal */ cssClass: string; /** * @hidden @internal */ display: string; /** * Gets/sets whether the confirmation dialog should be shown when changing entity. * Default value is `true`. */ showEntityChangeDialog: boolean; /** * Returns the entities. * @hidden */ get entities(): EntityType[]; /** * Sets the entities. * @hidden */ set entities(entities: EntityType[]); /** * Returns the fields. * @hidden * @deprecated in version 19.1.0. Use the `entities` property instead. */ get fields(): FieldType[]; /** * Sets the fields. * @hidden * @deprecated in version 19.1.0. Use the `entities` property instead. */ set fields(fields: FieldType[]); /** * Returns the expression tree. */ get expressionTree(): IExpressionTree; /** * Sets the expression tree. */ set expressionTree(expressionTree: IExpressionTree); /** * Gets the `locale` of the query builder. * If not set, defaults to application's locale. */ locale: string; /** * Sets the resource strings. * By default it uses EN resources. */ set resourceStrings(value: IQueryBuilderResourceStrings); /** * Returns the resource strings. */ get resourceStrings(): IQueryBuilderResourceStrings; /** * Disables subsequent entity changes at the root level after the initial selection. */ disableEntityChange: boolean; /** * Disables return fields changes at the root level. */ disableReturnFieldsChange: boolean; /** * Event fired as the expression tree is changed. * * ```html * <igx-query-builder (expressionTreeChange)='onExpressionTreeChange()'></igx-query-builder> * ``` */ expressionTreeChange: EventEmitter<IExpressionTree>; /** * @hidden @internal */ searchValueTemplate: TemplateRef<any>; /** * @hidden @internal */ queryTree: IgxQueryBuilderTreeComponent; private destroy$; private _resourceStrings; private _expressionTree; private _fields; private _entities; private _shouldEmitTreeChange; constructor(iconService: IgxIconService); /** * Returns whether the expression tree can be committed in the current state. */ canCommit(): boolean; /** * Commits the expression tree in the current state if it is valid. If not throws an exception. */ commit(): void; /** * Discards all unsaved changes to the expression tree. */ discard(): void; /** * @hidden @internal */ ngOnDestroy(): void; /** * @hidden @internal * * used by the grid */ setPickerOutlet(outlet?: IgxOverlayOutletDirective | ElementRef): void; /** * @hidden @internal * * used by the grid */ get isContextMenuVisible(): boolean; /** * @hidden @internal * * used by the grid */ exitOperandEdit(): void; /** * @hidden @internal * * used by the grid */ setAddButtonFocus(): void; onExpressionTreeChange(tree: IExpressionTree): void; private registerSVGIcons; static ɵfac: i0.ɵɵFactoryDeclaration<IgxQueryBuilderComponent, never>; static ɵcmp: i0.ɵɵComponentDeclaration<IgxQueryBuilderComponent, "igx-query-builder", never, { "showEntityChangeDialog": { "alias": "showEntityChangeDialog"; "required": false; }; "entities": { "alias": "entities"; "required": false; }; "fields": { "alias": "fields"; "required": false; }; "expressionTree": { "alias": "expressionTree"; "required": false; }; "locale": { "alias": "locale"; "required": false; }; "resourceStrings": { "alias": "resourceStrings"; "required": false; }; "disableEntityChange": { "alias": "disableEntityChange"; "required": false; }; "disableReturnFieldsChange": { "alias": "disableReturnFieldsChange"; "required": false; }; }, { "expressionTreeChange": "expressionTreeChange"; }, ["searchValueTemplate"], ["igx-query-builder-header"], true, never>; static ngAcceptInputType_showEntityChangeDialog: unknown; }