@adaptabletools/adaptable
Version:
Powerful data-agnostic HTML5 AG Grid extension which provides advanced, cutting-edge functionality to meet all DataGrid requirements
322 lines (321 loc) • 11 kB
TypeScript
import { AdaptableColumn, AdaptableColumnDataType, Layout } from '../../types';
import { ColDef, ColGroupDef, Column } from 'ag-grid-enterprise';
/**
* Provides run-time access to AdapTable Column related features
*/
export interface ColumnApi {
/**
* Returns all Columns available (including hidden, special)
*/
getColumns(): AdaptableColumn[];
/**
* Returns all Columns that can be displayed in UI (excludes always hidden cols)
*/
getUIAvailableColumns(): AdaptableColumn[];
/**
* Returns all columns excluding Action, FreeText and Calculated Columns
*/
getNonSpecialColumns(): AdaptableColumn[];
/**
* Returns any Action, FreeText and Calculated Columns
*/
getSpecialColumns(): AdaptableColumn[];
/**
* Returns all visible Columns
*/
getVisibleColumns(): AdaptableColumn[];
/**
* Returns all numeric Columns
*/
getNumericColumns(): AdaptableColumn[];
/**
* Returns all Date Columns
*/
getDateColumns(): AdaptableColumn[];
/**
* Returns all Text Columns
*/
getTextColumns(): AdaptableColumn[];
/**
* Returns all string array Columns
*/
getTextArrayColumns(): AdaptableColumn[];
/**
* Returns all boolean Columns
*/
getBooleanColumns(): AdaptableColumn[];
/**
* Returns all array columns (number, tuple-number, object-number & text)
*/
getArrayColumns(): AdaptableColumn[];
/**
* Returns all numeric array columns (number, tuple-number, object-number)
*/
getNumericArrayColumns(): AdaptableColumn[];
/**
* Returns all number-array columns
*/
getNumberArrayColumns(): AdaptableColumn[];
/**
* Returns all tuple-number-array columns e.g. [[1,2],[3,4]]
*/
getTupleNumberArrayColumns(): AdaptableColumn[];
/**
* Returns all object-number-array columns e.g. [{x:1,y:2},{x:3,y:4}]
*/
getObjectNumberArrayColumns(): AdaptableColumn[];
/**
* Returns all Sortable Columns
*/
getSortableColumns(): AdaptableColumn[];
/**
* Returns all Sortable Columns
*/
getFilterableColumns(): AdaptableColumn[];
/**
* Returns all Groupable Columns
*/
getGroupableColumns(): AdaptableColumn[];
/**
* Returns all Pivotable Columns
*/
getPivotableColumns(): AdaptableColumn[];
/**
* Returns all Aggregatable Columns
*/
getAggregatableColumns(): AdaptableColumn[];
/**
* Returns all Queryable Columns
*/
getQueryableColumns(): AdaptableColumn[];
/**
* Returns Columns that are always hidden in UI (but available for Expressions)
*/
getAlwaysHiddenColumns(): AdaptableColumn[];
/**
* Returns all Exportable Columns
*/
getExportableColumns(): AdaptableColumn[];
/**
* Returns all Columns that have given DataType
* @param dataType the DataType of the Columns to retrieve
*/
getColumnsWithDataType(dataType: AdaptableColumnDataType): AdaptableColumn[];
/**
* Selects (highlights) a Column
* @param columnId Column to select
*/
selectColumn(columnId: string): void;
/**
* Adds (highlights) a Column to any existing selection
* @param columnId Column to select
*/
addColumnToSelection(columnId: string): void;
/**
* Selects (highlights) group of Columns
* @param columnIds columns to select
*/
selectColumns(columnIds: string[]): void;
/**
* Adds (highlights) a group of Columns to any existing selection
* @param columnIds columns to select
*/
addColumnsToSelection(columnIds: string[]): void;
/**
* Selects all Columns
*/
selectAllColumns(): void;
/**
* AutoSizes a Column
* @param columnId Column to autosize
*/
autosizeColumn(columnId: string): void;
/**
* Autosizes given Columns
* @param columnIds Columns to autosize
*/
autosizeColumns(columnIds: string[]): void;
/**
* Autosizes all Columns in the Grid
*/
autosizeAllColumns(): void;
/**
* Hides a Column from Grid
* @param columnId Column to hide
*/
hideColumn(columnId: string): void;
/**
* Makes a Column visible
* @param columnId Column to show
*/
showColumn(columnId: string): void;
/**
* Checks if Column with given ColumnId is a row-group Column automatically generated by AG Grid
* @param columnId ColumnId to check
*/
isAutoRowGroupColumn(columnId: string): boolean;
/**
* Checks if Column with given ColumnId is a row-group Column automatically generated by AG Grid, for row-grouping with group display type = 'single'
* @param columnId ColumnId to check
*/
isAutoRowGroupColumnForSingle(columnId: string): boolean;
/**
* Checks if Column with given ColumnId is a row-group Column automatically generated by AG Grid, for row-grouping with group display type = 'multi'
* @param columnId ColumnId to check
*/
isAutoRowGroupColumnForMulti(columnId: string): boolean;
/**
* Checks if Column with given ColumnId is a pivot Column automatically generated by AG Grid
* @param columnId ColumnId to check
*/
isPivotResultColumn(columnId: string): boolean;
/**
* Checks if Column with given ColumnId is a Calculated Column
* @param columnId ColumnId to check
*/
isCalculatedColumn(columnId: string): boolean;
/**
* Checks if Column with given ColumnId is a Free Text Column
* @param columnId ColumnId to check
*/
isFreeTextColumn(columnId: string): boolean;
/**
* Checks if Column with given ColumnId is an Action Column
* @param columnId ColumnId to check
*/
isActionColumn(columnId: string): boolean;
/**
* Checks if Column with given ColumnId is a FDC3 Column
* @param columnId
*/
isFdc3Column(columnId: string): boolean;
/**
* Checks if the Column with the given `columnId` has DataType Number
* @param columnId Column ID
*/
hasNumberDataType(columnId: string): boolean;
/**
* Checks if the Column with the given `columnId` has DataType Boolean
* @param columnId Column ID
*/
hasBooleanDataType(columnId: string): boolean;
/**
* Checks if the Column with the given `columnId` has DataType Date
* @param columnId Column ID
*/
hasDateDataType(columnId: string): boolean;
/**
* Checks if the Column with the given `columnId` has an Numeric Array-like DataType (`NumberArray`,`TupleNumberArray` or `ObjectNumberArray`)
* @param columnId Column ID
*/
hasNumericArrayDataType(columnId: string): boolean;
/**
* Checks if the Column with the given `columnId` has any Array-like DataType (`TextArray`,`NumberArray`,`TupleNumberArray` or `ObjectNumberArray`)
* @param columnId Column ID
*/
hasArrayDataType(columnId: string): boolean;
/**
* Checks if the Column with the given `columnId` has a Text Array-like DataType (`TextArray`)
* @param columnId Column ID
*/
hasTextArrayDataType(columnId: string): boolean;
/**
* Returns Data Type for the Column with given ColumnId
* @param columnId Column to check
*/
getColumnDataTypeForColumnId(columnId: string): AdaptableColumnDataType | undefined;
/**
* Retrieves Friendly Name of Column with given ColumnId
* @param columnId ColumnId to lookup
*/
getFriendlyNameForColumnId(columnId: string, layout?: Layout): string;
/**
* Checks if Column has already been created
* @param columnId ColumnId to check
*/
doesColumnExist(columnId: string): boolean;
/**
* Retrieves Friendly Names for given ColumnIds
* @param columnIds ColumnIds to lookup
*/
getFriendlyNamesForColumnIds(columnIds: string[]): string[];
/**
* Retrieves AdapTable Column with given Friendly name
* @param columnName Friendly Name to lookup
* @param logWarning Whether to log warning if Column missing
*/
getColumnWithFriendlyName(columnName: string, logWarning?: boolean): AdaptableColumn;
/**
* Retrieves Adaptable Columns with given Friendly names
* @param friendlyNames Friendly Names to lookup
*/
getColumnsWithFriendlyNames(friendlyNames: string[]): AdaptableColumn[];
/**
* Retrieves ColumnId for Column with given Friendly Name
* @param friendlyName Friendly Name to Lookup
*/
getColumnIdForFriendlyName(friendlyName: string): string;
/**
* Retrieves ColumnIds for Columns with given Friendly Names
* @param friendlyName Friendly Names to Lookup
*/
getColumnIdsForFriendlyNames(friendlyNames: string[]): string[];
/**
* Retrieves Adaptable Columns with given ColumnIds
* @param columnIds Column Ids to lookup
*/
getColumnsWithColumnIds(columnIds: string[]): AdaptableColumn[];
/**
* Retrieves AdapTable Column with given ColumnId
* @param columnId ColumnId to lookup
* @param logWarning Whether to log warning if Column missing
*/
getColumnWithColumnId(columnId: string, logWarning?: boolean): AdaptableColumn | undefined;
/**
* Returns true if the given Column exists in the Grid
* @param columnId Column to check
*/
isColumnInGrid(columnId: string): boolean;
/**
* Retrieves current Primary Key Column in AdapTable. It may be undefined if the primary key is auto-generated, or it is NOT mapped to a column.
*/
getPrimaryKeyColumn(): AdaptableColumn | undefined;
/**
* Returns the default Aggregation Function for a Column
* @param columnId Column to Check
*/
getDefaultAggFunc(columnId: string): string;
/**
* Opens Settings Panel with Column Info section selected and visible
*/
openColumnInfoSettingsPanel(): void;
/**
* Returns available columns types defined under columnOptions.columnTypes
*/
getColumnTypes(): string[];
/**
* Returns all columns of a given columnType
* @param columnType the columnType to filter by
*/
getColumnsByColumnType(columnType: string): AdaptableColumn[];
/**
* Returns all columns currently Row Grouped
*/
getRowGroupedColumns(): AdaptableColumn[];
/**
* Sets a new Caption / Header for a Column (only for current Layout)
* @param columnId Column to Update
* @param caption New Caption to display
*/
setColumnCaption(columnId: string, caption: string): void;
/**
* Returns AG Grid ColDef for a given ColumnId
* @param columnId Column to use
*/
getAGGridColDefForColumnId(columnId: string): ColDef | ColGroupDef;
/**
* Returns the AG Grid Column for a given ColumnId
* @param columnId Column to use
*/
getAGGridColumnForColumnId(columnId: string): Column;
}