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
TypeScript
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;
}