UNPKG

@catull/igniteui-angular

Version:

Ignite UI for Angular is a dependency-free Angular toolkit for building modern web apps

25 lines (24 loc) 1.46 kB
import { IFilteringExpression } from './filtering-expression.interface'; import { IFilteringExpressionsTree } from './filtering-expressions-tree'; export interface IFilteringStrategy { filter(data: any[], expressionsTree: IFilteringExpressionsTree, advancedExpressionsTree?: IFilteringExpressionsTree): any[]; } export declare class NoopFilteringStrategy implements IFilteringStrategy { private static _instance; private constructor(); static instance(): NoopFilteringStrategy; filter(data: any[], expressionsTree: IFilteringExpressionsTree, advancedExpressionsTree?: IFilteringExpressionsTree): any[]; } export declare abstract class BaseFilteringStrategy implements IFilteringStrategy { abstract filter(data: any[], expressionsTree: IFilteringExpressionsTree, advancedExpressionsTree?: IFilteringExpressionsTree): any[]; protected abstract getFieldValue(rec: object, fieldName: string): any; findMatchByExpression(rec: object, expr: IFilteringExpression): boolean; matchRecord(rec: object, expressions: IFilteringExpressionsTree | IFilteringExpression): boolean; } export declare class FilteringStrategy extends BaseFilteringStrategy { private static _instace; constructor(); static instance(): FilteringStrategy; filter<T>(data: T[], expressionsTree: IFilteringExpressionsTree, advancedExpressionsTree?: IFilteringExpressionsTree): T[]; protected getFieldValue(rec: object, fieldName: string): any; }