UNPKG

@adaptabletools/adaptable

Version:

Powerful data-agnostic HTML5 AG Grid extension which provides advanced, cutting-edge functionality to meet all DataGrid requirements

52 lines (51 loc) 3.25 kB
import { Observable } from 'rxjs'; import { IAdaptableService } from './IAdaptableService'; import { IRowNode } from 'ag-grid-enterprise'; import { CellDataChangedInfo } from '../../../AdaptableState/Common/CellDataChangedInfo'; import { RowDataChangedInfo } from '../../../AdaptableState/Common/RowDataChangedInfo'; import { AdaptableModule } from '../../../AdaptableState/Common/Types'; import { AggregatedScalarFunctionName, ScalarAggregationParameter } from '../../ExpressionFunctions/aggregatedScalarExpressionFunctions'; import { AggregatedBooleanFunctionName, BooleanAggregationParameter } from '../../ExpressionFunctions/aggregatedBooleanExpressionFunctions'; import { BooleanFunctionName } from '../../ExpressionFunctions/booleanExpressionFunctions'; import { ScalarFunctionName } from '../../ExpressionFunctions/scalarExpressionFunctions'; import { ObservableFunctionName } from '../../ExpressionFunctions/observableExpressionFunctions'; import { ExpressionFunctionMap } from '../../../parser/src/types'; export interface IQueryLanguageService extends IAdaptableService { evaluateBooleanExpression(expression: string, module: AdaptableModule, rowNode: IRowNode, dataChangedEvent?: CellDataChangedInfo): boolean; evaluateScalarExpression(expression: string, module: AdaptableModule, rowNode: IRowNode): any; evaluateObservableExpression(expression: string, module: AdaptableModule): Observable<CellDataChangedInfo | RowDataChangedInfo>; evaluateAggregatedBooleanExpression(expression: string, module: AdaptableModule): BooleanAggregationParameter; evaluateAggregatedScalarExpression(expression: string, module: AdaptableModule, getRowNodes?: () => IRowNode[]): ScalarAggregationParameter; validateBoolean(expression: string, module: AdaptableModule, config?: { force?: boolean; }): { isValid: boolean; errorMessage: string; }; validateObservable(expression: string, module: AdaptableModule): { isValid: boolean; errorMessage: string; }; validateAggregatedBoolean(expression: string, module: AdaptableModule): { isValid: boolean; errorMessage: string; }; validateAggregatedScalar(expression: string, module: AdaptableModule): { isValid: boolean; errorMessage: string; }; computeAggregatedBooleanValue(expression: string, module: AdaptableModule): boolean; getModuleExpressionFunctionsMap(module: AdaptableModule): ModuleExpressionFunctionsMap; getColumnsFromExpression(input: string): string[]; getNamedQueryNamesFromExpression(input: string): string[]; evaluateCustomQueryVariable(functionName: string, args?: any[]): any; getExpressionWithColumnFriendlyNames(expression: string): string; getNodesFromExpression(input: string, nodeType: string): string[]; } export interface ModuleExpressionFunctionsMap { booleanFunctions?: ExpressionFunctionMap<BooleanFunctionName>; scalarFunctions?: ExpressionFunctionMap<ScalarFunctionName>; observableFunctions?: ExpressionFunctionMap<ObservableFunctionName>; aggregatedBooleanFunctions?: ExpressionFunctionMap<AggregatedBooleanFunctionName>; aggregatedScalarFunctions?: ExpressionFunctionMap<AggregatedScalarFunctionName>; }