@adaptabletools/adaptable
Version:
Powerful data-agnostic HTML5 AG Grid extension which provides advanced, cutting-edge functionality to meet all DataGrid requirements
95 lines (94 loc) • 4.07 kB
TypeScript
import { AdaptableColumnPredicate } from '../../types';
import { AdaptablePredicateDef, AdaptablePredicate, PredicateDefHandlerContext, PredicateModuleScope } from '../AdaptableState/Common/AdaptablePredicate';
/**
* Functions which manage the Predicate object in AdapTable
*/
export interface PredicateApi {
/**
* Returns all current Predicate Definitions
*/
getPredicateDefs(): AdaptablePredicateDef[];
/**
* Returns Predicate Definitions provided by AdapTable
*/
getSystemPredicateDefs(): AdaptablePredicateDef[];
/**
* Returns Predicate Definitions provided by AdapTable for given Module Scope
* @param moduleScope Module Scope to use
*/
getSystemPredicateDefsByModuleScope<PREDICATE_TYPE extends string = string>(moduleScope: PredicateModuleScope): AdaptablePredicateDef<PREDICATE_TYPE>[];
/**
* Returns Predicate Definitions provided by users
*/
getCustomPredicateDefs(): AdaptablePredicateDef[];
/**
* Retrieves all Predicate Definitions for given Module Scope
* @param moduleScope Module Scope to use
*/
getPredicateDefsByModuleScope(moduleScope: PredicateModuleScope): AdaptablePredicateDef[];
/**
* Gets the Predicate Definition for a given Id
* @param predicateId Id of Predicate Definition
*/
getPredicateDefById(predicateId: string): AdaptablePredicateDef;
/**
* Gets Predicate Definition provided by AdapTable for given Id
* @param predicateId predicateId to check
*/
getSystemPredicateDefById(predicateId: string): AdaptablePredicateDef;
/**
* Gets Predicate Definition provided by users for given Id
* @param predicateId predicateId to check
*/
getCustomPredicateDefById(predicateId: string): AdaptablePredicateDef;
/**
* Stringifies a given Predicate Definition
* @param predicate Predicate Definition to stringify
*/
predicateToString(predicate: AdaptablePredicate): string;
predicatesToString(predicates: AdaptablePredicate[], logicalOperator?: string): string;
/**
* Checks whether a given Predicate Definition is valid
* @param predicate Predicate Definition to check
*/
isValidPredicate(predicate: AdaptablePredicate): boolean;
/**
* Checks if all predicates are valid
* @param predicates Predicates Definitions to check
*/
isEveryPredicateValid(predicates: AdaptablePredicate[]): boolean;
/**
* Same has handle predicate but it tales into account predicate column id.
*
* @param predicate
* @param params
* @param defaultReturn
*/
handleColumnPredicate(predicate: AdaptableColumnPredicate, params: Omit<PredicateDefHandlerContext, 'adaptableApi' | 'inputs'>, defaultReturn: boolean): boolean;
/**
* Same has handle predicates but it tales into account predicate column id.
*
* @param predicate
* @param params
* @param defaultReturn
*/
handleColumnPredicates(predicate: AdaptableColumnPredicate[], params: Omit<PredicateDefHandlerContext, 'adaptableApi' | 'inputs'>, defaultReturn: boolean): boolean;
/**
* Main Handler function for a Predicate Definition - used by AdapTableQL
* @param predicate Predicate to handle
* @param params Additional inputs as required
* @param defaultReturn Whether to return the default
*/
handlePredicate(predicate: AdaptablePredicate | undefined, params: Omit<PredicateDefHandlerContext, 'adaptableApi' | 'inputs'>, defaultReturn: boolean): boolean;
/**
* Handle and compose (with AND) the given Predicate Definitions
* @param predicate Predicate to handle
* @param params Additional inputs as required
* @param defaultReturn Whether to return the default
*/
handlePredicates(predicates: AdaptablePredicate[], params: Omit<PredicateDefHandlerContext, 'adaptableApi' | 'inputs'>, defaultReturn: boolean): boolean;
/**
* Whether Predicates are evaluated using Case Sensitivity
*/
useCaseSensitivity(): boolean;
}