@adaptabletools/adaptable
Version:
Powerful data-agnostic HTML5 AG Grid extension which provides advanced, cutting-edge functionality to meet all DataGrid requirements
39 lines (38 loc) • 1.6 kB
TypeScript
import { SuspendableObject, AdaptablePredicate } from '../../types';
import { TypeHint } from './Types';
/**
* Defines a Filter applied on a Column using a Predicate
*/
export interface ColumnFilter extends SuspendableObject {
/**
* Column where Filter should be applied
*/
ColumnId: string;
/**
* `AdaptablePredicate` which AdaptableQL will evaluate when the Filter is run
*/
Predicates: ColumnFilterPredicate[];
/**
* Logic used when combining multiple Predicates ('AND'|'OR')
* @defaultValue 'AND'
*/
PredicatesOperator?: PredicatesOperator;
}
/**
* A Predicate used in Column Filtering
*/
export interface ColumnFilterPredicate extends AdaptablePredicate {
PredicateId: TypeHint<string, SystemFilterPredicateId>;
}
/**
* Logic used to join multiple Predicates
*/
export type PredicatesOperator = 'AND' | 'OR';
/**
* Array containing all System Filter Predicates
*/
export type SystemFilterPredicateIds = SystemFilterPredicateId[];
/**
* List of System Predicates available for Filters
*/
export type SystemFilterPredicateId = 'In' | 'NotIn' | 'Blanks' | 'NonBlanks' | 'Equals' | 'NotEquals' | 'GreaterThan' | 'LessThan' | 'Positive' | 'Negative' | 'Zero' | 'Between' | 'NotBetween' | 'Is' | 'IsNot' | 'Contains' | 'NotContains' | 'StartsWith' | 'EndsWith' | 'Regex' | 'Today' | 'Yesterday' | 'Tomorrow' | 'ThisWeek' | 'ThisMonth' | 'ThisQuarter' | 'ThisYear' | 'InPast' | 'InFuture' | 'Before' | 'After' | 'InRange' | 'On' | 'NotOn' | 'NextWorkDay' | 'LastWorkDay' | 'WorkDay' | 'Holiday' | 'True' | 'False' | 'BooleanToggle';