devextreme-angular
Version:
Angular UI and visualization components based on DevExtreme widgets
420 lines (334 loc) • 17.7 kB
TypeScript
/*!
* devextreme-angular
* Version: 25.1.4
* Build date: Tue Aug 05 2025
*
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
*
* This software may be modified and distributed under the terms
* of the MIT license. See the LICENSE file in the root of the project for details.
*
* https://github.com/DevExpress/devextreme-angular
*/
import { TransferState, ElementRef, NgZone, OnDestroy, EventEmitter, OnChanges, DoCheck, SimpleChanges, QueryList } from '@angular/core';
import { dxFilterBuilderCustomOperation, dxFilterBuilderField, GroupOperation, ContentReadyEvent, DisposingEvent, EditorPreparedEvent, EditorPreparingEvent, InitializedEvent, OptionChangedEvent, ValueChangedEvent } from 'devextreme/ui/filter_builder';
import DxFilterBuilder from 'devextreme/ui/filter_builder';
import { ControlValueAccessor } from '@angular/forms';
import { DxComponent, DxTemplateHost, NestedOptionHost, IterableDifferHelper, WatcherHelper } from 'devextreme-angular/core';
import { DxiCustomOperationComponent } from 'devextreme-angular/ui/nested';
import { DxiFieldComponent } from 'devextreme-angular/ui/nested';
import { DxiFilterBuilderCustomOperationComponent } from 'devextreme-angular/ui/filter-builder/nested';
import { DxiFilterBuilderFieldComponent } from 'devextreme-angular/ui/filter-builder/nested';
import type * as DxFilterBuilderTypes from "devextreme/ui/filter_builder_types";
import * as i0 from "@angular/core";
import * as i1 from "devextreme-angular/ui/nested";
import * as i2 from "devextreme-angular/ui/filter-builder/nested";
import * as i3 from "devextreme-angular/core";
/**
* The FilterBuilder UI component allows a user to build complex filter expressions with an unlimited number of filter conditions, combined by logical operations using the UI.
*/
export declare class DxFilterBuilderComponent extends DxComponent implements OnDestroy, ControlValueAccessor, OnChanges, DoCheck {
private _watcherHelper;
private _idh;
instance: DxFilterBuilder;
/**
* Specifies the shortcut key that sets focus on the UI component.
*/
get accessKey(): string | undefined;
set accessKey(value: string | undefined);
/**
* Specifies whether the UI component changes its visual state as a result of user interaction.
*/
get activeStateEnabled(): boolean;
set activeStateEnabled(value: boolean);
/**
* Specifies whether the UI component can display hierarchical data fields.
*/
get allowHierarchicalFields(): boolean;
set allowHierarchicalFields(value: boolean);
/**
* Configures custom filter operations.
*/
get customOperations(): Array<dxFilterBuilderCustomOperation>;
set customOperations(value: Array<dxFilterBuilderCustomOperation>);
/**
* Specifies whether the UI component responds to user interaction.
*/
get disabled(): boolean;
set disabled(value: boolean);
/**
* Specifies the global attributes to be attached to the UI component's container element.
*/
get elementAttr(): Record<string, any>;
set elementAttr(value: Record<string, any>);
/**
* Configures fields.
*/
get fields(): Array<dxFilterBuilderField>;
set fields(value: Array<dxFilterBuilderField>);
/**
* Specifies filter operation descriptions.
*/
get filterOperationDescriptions(): {
between?: string;
contains?: string;
endsWith?: string;
equal?: string;
greaterThan?: string;
greaterThanOrEqual?: string;
isBlank?: string;
isNotBlank?: string;
lessThan?: string;
lessThanOrEqual?: string;
notContains?: string;
notEqual?: string;
startsWith?: string;
};
set filterOperationDescriptions(value: {
between?: string;
contains?: string;
endsWith?: string;
equal?: string;
greaterThan?: string;
greaterThanOrEqual?: string;
isBlank?: string;
isNotBlank?: string;
lessThan?: string;
lessThanOrEqual?: string;
notContains?: string;
notEqual?: string;
startsWith?: string;
});
/**
* Specifies whether the UI component can be focused using keyboard navigation.
*/
get focusStateEnabled(): boolean;
set focusStateEnabled(value: boolean);
/**
* Specifies group operation descriptions.
*/
get groupOperationDescriptions(): {
and?: string;
notAnd?: string;
notOr?: string;
or?: string;
};
set groupOperationDescriptions(value: {
and?: string;
notAnd?: string;
notOr?: string;
or?: string;
});
/**
* Specifies a set of available group operations.
*/
get groupOperations(): Array<GroupOperation>;
set groupOperations(value: Array<GroupOperation>);
/**
* Specifies the UI component's height.
*/
get height(): number | string | undefined;
set height(value: number | string | undefined);
/**
* Specifies text for a hint that appears when a user pauses on the UI component.
*/
get hint(): string | undefined;
set hint(value: string | undefined);
/**
* Specifies whether the UI component changes its state when a user pauses on it.
*/
get hoverStateEnabled(): boolean;
set hoverStateEnabled(value: boolean);
/**
* Specifies groups' maximum nesting level.
*/
get maxGroupLevel(): number | undefined;
set maxGroupLevel(value: number | undefined);
/**
* Switches the UI component to a right-to-left representation.
*/
get rtlEnabled(): boolean;
set rtlEnabled(value: boolean);
/**
* Specifies the number of the element when the Tab key is used for navigating.
*/
get tabIndex(): number;
set tabIndex(value: number);
/**
* Allows you to specify a filter.
*/
get value(): Array<any> | Function | string;
set value(value: Array<any> | Function | string);
/**
* Specifies whether the UI component is visible.
*/
get visible(): boolean;
set visible(value: boolean);
/**
* Specifies the UI component's width.
*/
get width(): number | string | undefined;
set width(value: number | string | undefined);
/**
* A function that is executed when the UI component is rendered and each time the component is repainted.
*/
onContentReady: EventEmitter<ContentReadyEvent>;
/**
* A function that is executed before the UI component is disposed of.
*/
onDisposing: EventEmitter<DisposingEvent>;
/**
* A function that is executed after an editor is created.
*/
onEditorPrepared: EventEmitter<EditorPreparedEvent>;
/**
* A function that is executed before an editor is created.
*/
onEditorPreparing: EventEmitter<EditorPreparingEvent>;
/**
* A function used in JavaScript frameworks to save the UI component instance.
*/
onInitialized: EventEmitter<InitializedEvent>;
/**
* A function that is executed after a UI component property is changed.
*/
onOptionChanged: EventEmitter<OptionChangedEvent>;
/**
* A function that is executed after the UI component's value is changed.
*/
onValueChanged: EventEmitter<ValueChangedEvent>;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
accessKeyChange: EventEmitter<string | undefined>;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
activeStateEnabledChange: EventEmitter<boolean>;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
allowHierarchicalFieldsChange: EventEmitter<boolean>;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
customOperationsChange: EventEmitter<Array<dxFilterBuilderCustomOperation>>;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
disabledChange: EventEmitter<boolean>;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
elementAttrChange: EventEmitter<Record<string, any>>;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
fieldsChange: EventEmitter<Array<dxFilterBuilderField>>;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
filterOperationDescriptionsChange: EventEmitter<{
between?: string;
contains?: string;
endsWith?: string;
equal?: string;
greaterThan?: string;
greaterThanOrEqual?: string;
isBlank?: string;
isNotBlank?: string;
lessThan?: string;
lessThanOrEqual?: string;
notContains?: string;
notEqual?: string;
startsWith?: string;
}>;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
focusStateEnabledChange: EventEmitter<boolean>;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
groupOperationDescriptionsChange: EventEmitter<{
and?: string;
notAnd?: string;
notOr?: string;
or?: string;
}>;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
groupOperationsChange: EventEmitter<Array<GroupOperation>>;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
heightChange: EventEmitter<number | string | undefined>;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
hintChange: EventEmitter<string | undefined>;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
hoverStateEnabledChange: EventEmitter<boolean>;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
maxGroupLevelChange: EventEmitter<number | undefined>;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
rtlEnabledChange: EventEmitter<boolean>;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
tabIndexChange: EventEmitter<number>;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
valueChange: EventEmitter<Array<any> | Function | string>;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
visibleChange: EventEmitter<boolean>;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
widthChange: EventEmitter<number | string | undefined>;
/**
*
*/
onBlur: EventEmitter<any>;
change(_: any): void;
touched: (_: any) => void;
get customOperationsChildren(): QueryList<DxiFilterBuilderCustomOperationComponent>;
set customOperationsChildren(value: QueryList<DxiFilterBuilderCustomOperationComponent>);
get fieldsChildren(): QueryList<DxiFilterBuilderFieldComponent>;
set fieldsChildren(value: QueryList<DxiFilterBuilderFieldComponent>);
get customOperationsLegacyChildren(): QueryList<DxiCustomOperationComponent>;
set customOperationsLegacyChildren(value: QueryList<DxiCustomOperationComponent>);
get fieldsLegacyChildren(): QueryList<DxiFieldComponent>;
set fieldsLegacyChildren(value: QueryList<DxiFieldComponent>);
constructor(elementRef: ElementRef, ngZone: NgZone, templateHost: DxTemplateHost, _watcherHelper: WatcherHelper, _idh: IterableDifferHelper, optionHost: NestedOptionHost, transferState: TransferState, platformId: any);
protected _createInstance(element: any, options: any): DxFilterBuilder;
writeValue(value: any): void;
setDisabledState(isDisabled: boolean): void;
registerOnChange(fn: (_: any) => void): void;
registerOnTouched(fn: () => void): void;
_createWidget(element: any): void;
ngOnDestroy(): void;
ngOnChanges(changes: SimpleChanges): void;
setupChanges(prop: string, changes: SimpleChanges): void;
ngDoCheck(): void;
_setOption(name: string, value: any): void;
static ɵfac: i0.ɵɵFactoryDeclaration<DxFilterBuilderComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<DxFilterBuilderComponent, "dx-filter-builder", never, { "accessKey": { "alias": "accessKey"; "required": false; }; "activeStateEnabled": { "alias": "activeStateEnabled"; "required": false; }; "allowHierarchicalFields": { "alias": "allowHierarchicalFields"; "required": false; }; "customOperations": { "alias": "customOperations"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "elementAttr": { "alias": "elementAttr"; "required": false; }; "fields": { "alias": "fields"; "required": false; }; "filterOperationDescriptions": { "alias": "filterOperationDescriptions"; "required": false; }; "focusStateEnabled": { "alias": "focusStateEnabled"; "required": false; }; "groupOperationDescriptions": { "alias": "groupOperationDescriptions"; "required": false; }; "groupOperations": { "alias": "groupOperations"; "required": false; }; "height": { "alias": "height"; "required": false; }; "hint": { "alias": "hint"; "required": false; }; "hoverStateEnabled": { "alias": "hoverStateEnabled"; "required": false; }; "maxGroupLevel": { "alias": "maxGroupLevel"; "required": false; }; "rtlEnabled": { "alias": "rtlEnabled"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "value": { "alias": "value"; "required": false; }; "visible": { "alias": "visible"; "required": false; }; "width": { "alias": "width"; "required": false; }; }, { "onContentReady": "onContentReady"; "onDisposing": "onDisposing"; "onEditorPrepared": "onEditorPrepared"; "onEditorPreparing": "onEditorPreparing"; "onInitialized": "onInitialized"; "onOptionChanged": "onOptionChanged"; "onValueChanged": "onValueChanged"; "accessKeyChange": "accessKeyChange"; "activeStateEnabledChange": "activeStateEnabledChange"; "allowHierarchicalFieldsChange": "allowHierarchicalFieldsChange"; "customOperationsChange": "customOperationsChange"; "disabledChange": "disabledChange"; "elementAttrChange": "elementAttrChange"; "fieldsChange": "fieldsChange"; "filterOperationDescriptionsChange": "filterOperationDescriptionsChange"; "focusStateEnabledChange": "focusStateEnabledChange"; "groupOperationDescriptionsChange": "groupOperationDescriptionsChange"; "groupOperationsChange": "groupOperationsChange"; "heightChange": "heightChange"; "hintChange": "hintChange"; "hoverStateEnabledChange": "hoverStateEnabledChange"; "maxGroupLevelChange": "maxGroupLevelChange"; "rtlEnabledChange": "rtlEnabledChange"; "tabIndexChange": "tabIndexChange"; "valueChange": "valueChange"; "visibleChange": "visibleChange"; "widthChange": "widthChange"; "onBlur": "onBlur"; }, ["customOperationsChildren", "fieldsChildren", "customOperationsLegacyChildren", "fieldsLegacyChildren"], never, true, never>;
}
export declare class DxFilterBuilderModule {
static ɵfac: i0.ɵɵFactoryDeclaration<DxFilterBuilderModule, never>;
static ɵmod: i0.ɵɵNgModuleDeclaration<DxFilterBuilderModule, never, [typeof DxFilterBuilderComponent, typeof i1.DxiCustomOperationModule, typeof i1.DxiFieldModule, typeof i1.DxoFormatModule, typeof i1.DxoLookupModule, typeof i1.DxoFilterOperationDescriptionsModule, typeof i1.DxoGroupOperationDescriptionsModule, typeof i2.DxiFilterBuilderCustomOperationModule, typeof i2.DxiFilterBuilderFieldModule, typeof i2.DxoFilterBuilderFilterOperationDescriptionsModule, typeof i2.DxoFilterBuilderFormatModule, typeof i2.DxoFilterBuilderGroupOperationDescriptionsModule, typeof i2.DxoFilterBuilderLookupModule, typeof i3.DxIntegrationModule, typeof i3.DxTemplateModule], [typeof DxFilterBuilderComponent, typeof i1.DxiCustomOperationModule, typeof i1.DxiFieldModule, typeof i1.DxoFormatModule, typeof i1.DxoLookupModule, typeof i1.DxoFilterOperationDescriptionsModule, typeof i1.DxoGroupOperationDescriptionsModule, typeof i2.DxiFilterBuilderCustomOperationModule, typeof i2.DxiFilterBuilderFieldModule, typeof i2.DxoFilterBuilderFilterOperationDescriptionsModule, typeof i2.DxoFilterBuilderFormatModule, typeof i2.DxoFilterBuilderGroupOperationDescriptionsModule, typeof i2.DxoFilterBuilderLookupModule, typeof i3.DxTemplateModule]>;
static ɵinj: i0.ɵɵInjectorDeclaration<DxFilterBuilderModule>;
}
export * from 'devextreme-angular/ui/filter-builder/nested';
export { DxFilterBuilderTypes };