UNPKG

ag-grid-enterprise

Version:

Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue

76 lines (75 loc) 3.98 kB
import type { BaseCellDataType, IRowNode } from 'ag-grid-community'; import type { ADVANCED_FILTER_LOCALE_TEXT } from './advancedFilterLocaleText'; import type { AutocompleteEntry } from './autocomplete/autocompleteParams'; export interface FilterExpressionEvaluatorParams<ConvertedTValue, TValue = ConvertedTValue> { caseSensitive?: boolean; includeBlanksInEquals?: boolean; includeBlanksInLessThan?: boolean; includeBlanksInGreaterThan?: boolean; valueConverter: (value: TValue, node: IRowNode) => ConvertedTValue; } type FilterExpressionEvaluator<ConvertedTValue, TValue = ConvertedTValue> = (value: TValue | null | undefined, node: IRowNode, params: FilterExpressionEvaluatorParams<ConvertedTValue, TValue>, operand1?: ConvertedTValue, operand2?: ConvertedTValue) => boolean; export interface FilterExpressionOperator<ConvertedTValue, TValue = ConvertedTValue> { displayValue: string; evaluator: FilterExpressionEvaluator<ConvertedTValue, TValue>; numOperands: number; } export interface DataTypeFilterExpressionOperators<ConvertedTValue, TValue = ConvertedTValue> { operators: { [operator: string]: FilterExpressionOperator<ConvertedTValue, TValue>; }; getEntries(activeOperators?: string[]): AutocompleteEntry[]; findOperator(displayValue: string): string | null | undefined; } export declare abstract class FilterExpressionOperators implements Record<BaseCellDataType, DataTypeFilterExpressionOperators<any>> { dateTime: DataTypeFilterExpressionOperators<Date>; dateTimeString: DataTypeFilterExpressionOperators<Date, string>; text: DataTypeFilterExpressionOperators<string>; number: DataTypeFilterExpressionOperators<number>; boolean: DataTypeFilterExpressionOperators<boolean>; date: DataTypeFilterExpressionOperators<Date>; dateString: DataTypeFilterExpressionOperators<Date, string>; object: DataTypeFilterExpressionOperators<string, any>; } export declare function findMatch<T>(searchValue: string, values: { [key: string]: T; }, getDisplayValue: (value: T) => string): string | null | undefined; interface FilterExpressionOperatorsParams { translate: (key: keyof typeof ADVANCED_FILTER_LOCALE_TEXT, variableValues?: string[]) => string; } export declare class TextFilterExpressionOperators<TValue = string> implements DataTypeFilterExpressionOperators<string, TValue> { private params; operators: { [operator: string]: FilterExpressionOperator<string, TValue>; }; constructor(params: FilterExpressionOperatorsParams); getEntries(activeOperators?: string[]): AutocompleteEntry[]; findOperator(displayValue: string): string | null | undefined; private initOperators; private evaluateExpression; } interface ScalarFilterExpressionOperatorsParams<ConvertedTValue> extends FilterExpressionOperatorsParams { equals: (value: ConvertedTValue, operand: ConvertedTValue) => boolean; } export declare class ScalarFilterExpressionOperators<ConvertedTValue extends number | Date, TValue = ConvertedTValue> implements DataTypeFilterExpressionOperators<ConvertedTValue, TValue> { private params; operators: { [operator: string]: FilterExpressionOperator<ConvertedTValue, TValue>; }; constructor(params: ScalarFilterExpressionOperatorsParams<ConvertedTValue>); getEntries(activeOperators?: string[]): AutocompleteEntry[]; findOperator(displayValue: string): string | null | undefined; private initOperators; private evaluateSingleOperandExpression; } export declare class BooleanFilterExpressionOperators implements DataTypeFilterExpressionOperators<boolean> { private params; operators: { [operator: string]: FilterExpressionOperator<boolean>; }; constructor(params: FilterExpressionOperatorsParams); getEntries(activeOperators?: string[]): AutocompleteEntry[]; findOperator(displayValue: string): string | null | undefined; private initOperators; } export {};