igniteui-angular
Version:
Ignite UI for Angular is a dependency-free Angular toolkit for building modern web apps
136 lines (135 loc) • 4.55 kB
TypeScript
import { FilteringLogic, IFilteringExpression } from './filtering-expression.interface';
import { IBaseEventArgs } from '../core/utils';
export declare enum FilteringExpressionsTreeType {
Regular = 0,
Advanced = 1
}
export declare interface IExpressionTree {
filteringOperands: (IExpressionTree | IFilteringExpression)[];
operator: FilteringLogic;
fieldName?: string | null;
entity?: string | null;
returnFields?: string[] | null;
}
export declare interface IFilteringExpressionsTree extends IBaseEventArgs, IExpressionTree {
filteringOperands: (IFilteringExpressionsTree | IFilteringExpression)[];
type?: FilteringExpressionsTreeType;
/**
* @deprecated in version 18.2.0. Use `ExpressionsTreeUtil.find` instead.
*/
find?: (fieldName: string) => IFilteringExpressionsTree | IFilteringExpression;
/**
* @deprecated in version 18.2.0. Use `ExpressionsTreeUtil.findIndex` instead.
*/
findIndex?: (fieldName: string) => number;
}
export declare class FilteringExpressionsTree implements IFilteringExpressionsTree {
/**
* Sets/gets the filtering operands.
* ```typescript
* const gridExpressionsTree = new FilteringExpressionsTree(FilteringLogic.And);
* const expression = [
* {
* condition: IgxStringFilteringOperand.instance().condition('contains'),
* fieldName: 'Column Field',
* searchVal: 'Value',
* ignoreCase: false
* }];
* gridExpressionsTree.filteringOperands.push(expression);
* this.grid.filteringExpressionsTree = gridExpressionsTree;
* ```
* ```typescript
* let filteringOperands = gridExpressionsTree.filteringOperands;
* ```
*
* @memberof FilteringExpressionsTree
*/
filteringOperands: (IFilteringExpressionsTree | IFilteringExpression)[];
/**
* Sets/gets the operator.
* ```typescript
* gridExpressionsTree.operator = FilteringLogic.And;
* ```
* ```typescript
* let operator = gridExpressionsTree.operator;
* ```
*
* @memberof FilteringExpressionsTree
*/
operator: FilteringLogic;
/**
* Sets/gets the field name of the column where the filtering expression is placed.
* ```typescript
* gridExpressionTree.fieldName = 'Column Field';
* ```
* ```typescript
* let columnField = expressionTree.fieldName;
* ```
*
* @memberof FilteringExpressionsTree
*/
fieldName?: string;
/**
* Sets/gets the type of the filtering expressions tree.
* ```typescript
* gridExpressionTree.type = FilteringExpressionsTree.Advanced;
* ```
* ```typescript
* let type = expressionTree.type;
* ```
*
* @memberof FilteringExpressionsTree
*/
type?: FilteringExpressionsTreeType;
/**
* Sets/gets the entity.
* ```typescript
* gridExpressionsTree.entity = 'Entity A';
* ```
* ```typescript
* let entity = gridExpressionsTree.entity;
* ```
*
* @memberof FilteringExpressionsTree
*/
entity?: string;
/**
* Sets/gets the return fields.
* ```typescript
* gridExpressionsTree.returnFields = ['Column Field 1', 'Column Field 2'];
* ```
* ```typescript
* let returnFields = gridExpressionsTree.returnFields;
* ```
*
* @memberof FilteringExpressionsTree
*/
returnFields?: string[];
constructor(operator: FilteringLogic, fieldName?: string, entity?: string, returnFields?: string[]);
/**
* Checks if filtering expressions tree is empty.
*
* @param expressionTree filtering expressions tree.
*/
static empty(expressionTree: IFilteringExpressionsTree): boolean;
/**
* Returns the filtering expression for a column with the provided fieldName.
* ```typescript
* let filteringExpression = gridExpressionTree.find('Column Field');
* ```
*
* @memberof FilteringExpressionsTree
* @deprecated in version 18.2.0. Use `ExpressionsTreeUtil.find` instead.
*/
find(fieldName: string): IFilteringExpressionsTree | IFilteringExpression;
/**
* Returns the index of the filtering expression for a column with the provided fieldName.
* ```typescript
* let filteringExpressionIndex = gridExpressionTree.findIndex('Column Field');
* ```
*
* @memberof FilteringExpressionsTree
* @deprecated in version 18.2.0. Use `ExpressionsTreeUtil.findIndex` instead.
*/
findIndex(fieldName: string): number;
}