UNPKG

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