@adaptabletools/adaptable
Version:
Powerful data-agnostic HTML5 AG Grid extension which provides advanced, cutting-edge functionality to meet all DataGrid requirements
50 lines (49 loc) • 1.74 kB
TypeScript
import { BaseState } from './BaseState';
import { AdaptableObject } from './Common/AdaptableObject';
import { AdaptableAggregatedScalarQuery, AdaptableScalarQuery } from './Common/AdaptableQuery';
import { SpecialColumnSettings } from './Common/SpecialColumnSettings';
import { XOR } from '../Utilities/Extensions/TypeExtensions';
/**
* Adaptable State Section for Calculated Column Module
**/
export interface CalculatedColumnState extends BaseState {
/**
* Collection of Calculated Columns
*/
CalculatedColumns?: CalculatedColumn[];
}
/**
* Defines a Column where the display value is derived from other values in row, and the definition is stored in State.
*/
export interface CalculatedColumn extends AdaptableObject {
/**
* Name of Calculated Column
*/
ColumnId: string;
/**
* Name to be used in Column Header; if blank `ColumnId` is used
*/
FriendlyName?: string;
/**
* Additional optional properties for Column (e.g. filterable, resizable)
*/
CalculatedColumnSettings: CalculatedColumnSettings;
/**
* Scalar/AggregatedScalar Query used by AdapTableQL to evaluate Column's value
*/
Query: AdaptableCalculatedColumnQuery;
}
/**
* Set properties that define Calculated Column's behaviour (all optional except DataType)
*/
export interface CalculatedColumnSettings extends SpecialColumnSettings {
/**
* Show underlying Expression as ToolTip when hovering over a cell
* @defaultValue false
*/
ShowToolTip?: boolean;
}
/**
* Calculated Column Query which may be a Scalar or an AggregatedScalar Expression
*/
export type AdaptableCalculatedColumnQuery = XOR<AdaptableScalarQuery, AdaptableAggregatedScalarQuery>;