igniteui-angular
Version:
Ignite UI for Angular is a dependency-free Angular toolkit for building modern web apps
510 lines (509 loc) • 15.1 kB
TypeScript
import { AfterViewInit, EventEmitter, TemplateRef } from '@angular/core';
import { ChangeDetectorRef, QueryList, ElementRef, OnDestroy } from '@angular/core';
import { IgxChipComponent } from '../chips/chip.component';
import { IQueryBuilderResourceStrings } from '../core/i18n/query-builder-resources';
import { PlatformUtil, trackByIdentity } from '../core/utils';
import { IExpressionTree, IFilteringExpressionsTree } from '../data-operations/filtering-expressions-tree';
import { IgxOverlayOutletDirective } from '../directives/toggle/toggle.directive';
import { FieldType, EntityType } from '../grids/common/grid.interface';
import { IgxSelectComponent } from '../select/select.component';
import { OverlaySettings } from '../services/overlay/utilities';
import { IComboSelectionChangingEventArgs } from "../combo/combo.component";
import { IChangeCheckboxEventArgs } from '../checkbox/checkbox-base.directive';
import { ISelectionEventArgs } from '../drop-down/drop-down.common';
import { IgxQueryBuilderSearchValueTemplateDirective } from './query-builder.directives';
import { IgxQueryBuilderComponent } from './query-builder.component';
import { IgxQueryBuilderDragService } from './query-builder-drag.service';
import { ExpressionGroupItem, ExpressionItem, ExpressionOperandItem } from './query-builder.common';
import * as i0 from "@angular/core";
/** @hidden */
export declare class IgxQueryBuilderTreeComponent implements AfterViewInit, OnDestroy {
cdr: ChangeDetectorRef;
dragService: IgxQueryBuilderDragService;
protected platform: PlatformUtil;
private elRef;
protected _localeId: string;
/**
* @hidden @internal
*/
_expressionTree: IExpressionTree;
/**
* @hidden @internal
*/
_expressionTreeCopy: IExpressionTree;
/**
* @hidden @internal
*/
get getClass(): string;
/**
* Sets/gets the entities.
*/
entities: EntityType[];
/**
* Sets/gets the parent query builder component.
*/
queryBuilder: IgxQueryBuilderComponent;
/**
* Sets/gets the search value template.
*/
searchValueTemplate: TemplateRef<IgxQueryBuilderSearchValueTemplateDirective>;
/**
* Returns the parent expression operand.
*/
get parentExpression(): ExpressionOperandItem;
/**
* Sets the parent expression operand.
*/
set parentExpression(value: ExpressionOperandItem);
/**
* Returns the fields.
*/
get fields(): FieldType[];
/**
* Sets the fields.
*/
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.
*/
get locale(): string;
/**
* Sets the `locale` of the query builder.
* Expects a valid BCP 47 language tag.
*/
set locale(value: string);
/**
* Sets the resource strings.
* By default it uses EN resources.
*/
set resourceStrings(value: IQueryBuilderResourceStrings);
/**
* Returns the resource strings.
*/
get resourceStrings(): IQueryBuilderResourceStrings;
/**
* Gets/sets the expected return field.
*/
expectedReturnField: string;
/**
* Event fired as the expression tree is changed.
*/
expressionTreeChange: EventEmitter<IExpressionTree>;
/**
* Event fired if a nested query builder tree is being edited.
*/
inEditModeChange: EventEmitter<ExpressionOperandItem>;
protected entitySelect: IgxSelectComponent;
private editingInputs;
private returnFieldsCombo;
protected returnFieldSelect: IgxSelectComponent;
private fieldSelect;
private conditionSelect;
private searchValueInput;
private picker;
private addRootAndGroupButton;
private addConditionButton;
private entityChangeDialog;
private addExpressionItemDropDown;
private groupContextMenuDropDown;
/**
* @hidden @internal
*/
expressionsChips: QueryList<IgxChipComponent>;
protected set editingInputsContainer(value: ElementRef);
/** @hidden */
protected get editingInputsContainer(): ElementRef;
protected set currentGroupButtonsContainer(value: ElementRef);
/** @hidden */
protected get currentGroupButtonsContainer(): ElementRef;
private expressionsContainer;
private overlayOutlet;
private innerQueries;
/**
* @hidden @internal
*/
innerQueryNewExpressionTree: IExpressionTree;
/**
* @hidden @internal
*/
rootGroup: ExpressionGroupItem;
/**
* @hidden @internal
*/
selectedExpressions: ExpressionOperandItem[];
/**
* @hidden @internal
*/
currentGroup: ExpressionGroupItem;
/**
* @hidden @internal
*/
contextualGroup: ExpressionGroupItem;
/**
* @hidden @internal
*/
filteringLogics: any;
/**
* @hidden @internal
*/
selectedCondition: string;
/**
* @hidden @internal
*/
searchValue: {
value: any;
};
/**
* @hidden @internal
*/
pickerOutlet: IgxOverlayOutletDirective | ElementRef;
/**
* @hidden @internal
*/
prevFocusedExpression: ExpressionOperandItem;
/**
* @hidden @internal
*/
initialOperator: number;
/**
* @hidden @internal
*/
returnFieldSelectOverlaySettings: OverlaySettings;
/**
* @hidden @internal
*/
entitySelectOverlaySettings: OverlaySettings;
/**
* @hidden @internal
*/
fieldSelectOverlaySettings: OverlaySettings;
/**
* @hidden @internal
*/
conditionSelectOverlaySettings: OverlaySettings;
/**
* @hidden @internal
*/
addExpressionDropDownOverlaySettings: OverlaySettings;
/**
* @hidden @internal
*/
groupContextMenuDropDownOverlaySettings: OverlaySettings;
private destroy$;
private _timeoutId;
private _lastFocusedChipIndex;
private _focusDelay;
private _parentExpression;
private _selectedEntity;
private _selectedReturnFields;
private _selectedField;
private _editingInputsContainer;
private _currentGroupButtonsContainer;
private _addModeExpression;
private _editedExpression;
private _preventInit;
private _prevFocusedContainer;
private _expandedExpressions;
private _fields;
private _locale;
private _entityNewValue;
private _resourceStrings;
/**
* Returns if the select entity dropdown at the root level is disabled after the initial selection.
*/
get disableEntityChange(): boolean;
/**
* Returns if the fields combo at the root level is disabled.
*/
get disableReturnFieldsChange(): boolean;
/**
* Returns the current level.
*/
get level(): number;
private _positionSettings;
private _overlaySettings;
/** @hidden */
protected isAdvancedFiltering(): boolean;
/** @hidden */
protected isHierarchicalNestedQuery(): boolean;
/** @hidden */
protected isSearchValueInputDisabled(): boolean;
constructor(cdr: ChangeDetectorRef, dragService: IgxQueryBuilderDragService, platform: PlatformUtil, elRef: ElementRef, _localeId: string);
/**
* @hidden @internal
*/
ngAfterViewInit(): void;
/**
* @hidden @internal
*/
ngOnDestroy(): void;
/**
* @hidden @internal
*/
set selectedEntity(value: string);
/**
* @hidden @internal
*/
get selectedEntity(): EntityType;
/**
* @hidden @internal
*/
onEntitySelectChanging(event: ISelectionEventArgs): void;
/**
* @hidden
*/
onShowEntityChangeDialogChange(eventArgs: IChangeCheckboxEventArgs): void;
/**
* @hidden
*/
onEntityChangeCancel(): void;
/**
* @hidden
*/
onEntityChangeConfirm(): void;
/**
* @hidden @internal
*/
set selectedReturnFields(value: string[]);
/**
* @hidden @internal
*/
get selectedReturnFields(): string[];
/**
* @hidden @internal
*/
set selectedField(value: FieldType);
/**
* @hidden @internal
*/
get selectedField(): FieldType;
/**
* @hidden @internal
*
* used by the grid
*/
setPickerOutlet(outlet?: IgxOverlayOutletDirective | ElementRef): void;
/**
* @hidden @internal
*
* used by the grid
*/
get isContextMenuVisible(): boolean;
/**
* @hidden @internal
*/
get hasEditedExpression(): boolean;
/**
* @hidden @internal
*/
addCondition(parent: ExpressionGroupItem, afterExpression?: ExpressionOperandItem, isUIInteraction?: boolean): void;
/**
* @hidden @internal
*/
addReverseGroup(parent?: ExpressionGroupItem, afterExpression?: ExpressionItem): void;
/**
* @hidden @internal
*/
endGroup(groupItem: ExpressionGroupItem): void;
/**
* @hidden @internal
*/
commitExpression(): void;
/**
* @hidden @internal
*/
discardExpression(expressionItem?: ExpressionOperandItem): void;
/**
* @hidden @internal
*/
commitOperandEdit(): void;
/**
* @hidden @internal
*/
cancelOperandAdd(): void;
/**
* @hidden @internal
*/
deleteItem: (expressionItem: ExpressionItem, skipEmit?: boolean) => void;
/**
* @hidden @internal
*/
cancelOperandEdit(): void;
/**
* @hidden @internal
*/
operandCanBeCommitted(): boolean;
/**
* @hidden @internal
*/
canCommitCurrentState(): boolean;
/**
* @hidden @internal
*/
commitCurrentState(): void;
/**
* @hidden @internal
*/
exitEditAddMode(shouldPreventInit?: boolean): void;
/**
* @hidden @internal
*
* used by the grid
*/
exitOperandEdit(): void;
/**
* @hidden @internal
*/
isExpressionGroup(expression: ExpressionItem): boolean;
/**
* @hidden @internal
*/
onExpressionFocus(expressionItem: ExpressionOperandItem): void;
/**
* @hidden @internal
*/
onExpressionBlur(event: any, expressionItem: ExpressionOperandItem): void;
/**
* @hidden @internal
*/
onChipRemove(expressionItem: ExpressionItem): void;
/**
* @hidden @internal
*/
focusChipAfterDrag: (index: number) => void;
/**
* @hidden @internal
*/
addExpressionBlur(): void;
/**
* @hidden @internal
*/
onChipClick(expressionItem: ExpressionOperandItem, chip: IgxChipComponent): void;
/**
* @hidden @internal
*/
enterExpressionEdit(expressionItem: ExpressionOperandItem, chip?: IgxChipComponent): void;
/**
* @hidden @internal
*/
clickExpressionAdd(targetButton: HTMLElement, chip: IgxChipComponent): void;
/**
* @hidden @internal
*/
openExpressionAddDialog(targetButton: HTMLElement): void;
/**
* @hidden @internal
*/
enterExpressionAdd(event: ISelectionEventArgs, expressionItem: ExpressionOperandItem): void;
/**
* @hidden @internal
*/
enterEditMode(expressionItem: ExpressionOperandItem): void;
/**
* @hidden @internal
*/
onConditionSelectChanging(event: ISelectionEventArgs): void;
/**
* @hidden @internal
*/
onKeyDown(eventArgs: KeyboardEvent): void;
/**
* @hidden @internal
*/
onGroupClick(groupContextMenuDropDown: any, targetButton: HTMLButtonElement, groupItem: ExpressionGroupItem): void;
/**
* @hidden @internal
*/
getOperator(expressionItem: any): any;
/**
* @hidden @internal
*/
getSwitchGroupText(expressionItem: any): string;
/**
* @hidden @internal
*/
onGroupContextMenuDropDownSelectionChanging(event: ISelectionEventArgs): void;
/**
* @hidden @internal
*/
ungroup(): void;
/**
* @hidden @internal
*/
selectFilteringLogic(index: number): void;
/**
* @hidden @internal
*/
getConditionFriendlyName(name: string): string;
/**
* @hidden @internal
*/
isDate(value: any): value is Date;
/**
* @hidden @internal
*/
invokeClick(eventArgs: KeyboardEvent): void;
/**
* @hidden @internal
*/
openPicker(args: KeyboardEvent): void;
/**
* @hidden @internal
*/
onOutletPointerDown(event: any): void;
/**
* @hidden @internal
*/
getConditionList(): string[];
/**
* @hidden @internal
*/
getFormatter(field: string): (value: any, rowData?: any) => any;
/**
* @hidden @internal
*/
getFormat(field: string): string;
/**
* @hidden @internal
*
* used by the grid
*/
setAddButtonFocus(): void;
/**
* @hidden @internal
*/
context(expression: ExpressionItem, afterExpression?: ExpressionItem): {
$implicit: ExpressionItem;
afterExpression: ExpressionItem;
};
formatReturnFields(innerTree: IFilteringExpressionsTree): string;
isInEditMode(): boolean;
onInEditModeChanged(expressionItem: ExpressionOperandItem): void;
getExpressionTreeCopy(expressionTree: IExpressionTree, shouldAssignInnerQueryExprTree?: boolean): IExpressionTree;
onSelectAllClicked(): void;
onReturnFieldSelectChanging(event: IComboSelectionChangingEventArgs | ISelectionEventArgs): void;
initExpressionTree(selectedEntityName: string, selectedReturnFields: string[]): void;
getSearchValueTemplateContext(defaultSearchValueTemplate: any): any;
private getPipeArgs;
private selectDefaultCondition;
private getFilters;
private addGroup;
private createExpressionGroupItem;
private createExpressionTreeFromGroupItem;
private scrollElementIntoView;
private focusEditedExpressionChip;
private init;
/** rootGroup is recreated after clicking Apply, which sets new expressionTree and calls init()*/
protected trackExpressionItem: typeof trackByIdentity;
static ɵfac: i0.ɵɵFactoryDeclaration<IgxQueryBuilderTreeComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<IgxQueryBuilderTreeComponent, "igx-query-builder-tree", never, { "entities": { "alias": "entities"; "required": false; }; "queryBuilder": { "alias": "queryBuilder"; "required": false; }; "searchValueTemplate": { "alias": "searchValueTemplate"; "required": false; }; "parentExpression": { "alias": "parentExpression"; "required": false; }; "fields": { "alias": "fields"; "required": false; }; "expressionTree": { "alias": "expressionTree"; "required": false; }; "locale": { "alias": "locale"; "required": false; }; "resourceStrings": { "alias": "resourceStrings"; "required": false; }; "expectedReturnField": { "alias": "expectedReturnField"; "required": false; }; }, { "expressionTreeChange": "expressionTreeChange"; "inEditModeChange": "inEditModeChange"; }, never, never, true, never>;
}