UNPKG

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