UNPKG

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