UNPKG

@swimlane/ngx-datatable

Version:

ngx-datatable is an Angular table grid component for presenting large and complex data.

191 lines (190 loc) 4.03 kB
import { PipeTransform } from '@angular/core'; import { ValueGetter } from '../utils/column-prop-getters'; /** * Column property that indicates how to retrieve this column's * value from a row. * 'a.deep.value', 'normalprop', 0 (numeric) */ export declare type TableColumnProp = string | number; /** * Column Type */ export interface TableColumn { /** * Internal unique id * * @memberOf TableColumn */ $$id?: string; /** * Internal for column width distributions * * @memberOf TableColumn */ $$oldWidth?: number; /** * Internal for setColumnDefaults * * @memberOf TableColumn */ $$valueGetter?: ValueGetter; /** * Determines if column is checkbox * * @memberOf TableColumn */ checkboxable?: boolean; /** * Determines if the column is frozen to the left * * @memberOf TableColumn */ frozenLeft?: boolean; /** * Determines if the column is frozen to the right * * @memberOf TableColumn */ frozenRight?: boolean; /** * The grow factor relative to other columns. Same as the flex-grow * API from http =//www.w3.org/TR/css3-flexbox/. Basically; * take any available extra width and distribute it proportionally * according to all columns' flexGrow values. * * @memberOf TableColumn */ flexGrow?: number; /** * Min width of the column * * @memberOf TableColumn */ minWidth?: number; /** * Max width of the column * * @memberOf TableColumn */ maxWidth?: number; /** * The default width of the column, in pixels * * @memberOf TableColumn */ width?: number; /** * Can the column be resized * * @memberOf TableColumn */ resizeable?: boolean; /** * Custom sort comparator * * @memberOf TableColumn */ comparator?: any; /** * Custom pipe transforms * * @memberOf TableColumn */ pipe?: PipeTransform; /** * Can the column be sorted * * @memberOf TableColumn */ sortable?: boolean; /** * Can the column be re-arranged by dragging * * @memberOf TableColumn */ draggable?: boolean; /** * Whether the column can automatically resize to fill space in the table. * * @memberOf TableColumn */ canAutoResize?: boolean; /** * Column name or label * * @memberOf TableColumn */ name?: string; /** * Property to bind to the row. Example: * * `someField` or `some.field.nested`, 0 (numeric) * * If left blank, will use the name as camel case conversion * * @memberOf TableColumn */ prop?: TableColumnProp; /** * Cell template ref * * @memberOf TableColumn */ cellTemplate?: any; /** * Header template ref * * @memberOf TableColumn */ headerTemplate?: any; /** * Tree toggle template ref * * @memberOf TableColumn */ treeToggleTemplate?: any; /** * CSS Classes for the cell * * * @memberOf TableColumn */ cellClass?: string | ((data: any) => string | any); /** * CSS classes for the header * * * @memberOf TableColumn */ headerClass?: string | ((data: any) => string | any); /** * Header checkbox enabled * * @memberOf TableColumn */ headerCheckboxable?: boolean; /** * Is tree displayed on this column * * @memberOf TableColumn */ isTreeColumn?: boolean; /** * Width of the tree level indent * * @memberOf TableColumn */ treeLevelIndent?: number; /** * Summary function * * @memberOf TableColumn */ summaryFunc?: (cells: any[]) => any; /** * Summary cell template ref * * @memberOf TableColumn */ summaryTemplate?: any; }