Infinite Table Props
In the API Reference below we'll use
DATA_TYPE
to refer to the TypeScript type that represents the data the component is bound to.activeCellIndex
[number,number] | null
activeRowIndex
number | null
autoSizeColumnsKey
number|string|{key,includeHeader,columnsToSkip,columnsToResize}
columnDefaultDraggable
boolean
columnDefaultEditable
boolean
columnDefaultSortable
Default: true
boolean
columnDefaultWidth
Default: 200
number
columnGroupVisibility
Record<string, boolean>
columnHeaderHeight
number
columnMaxWidth
Default: 2000
number
columnMinWidth
Default: 30
number
columnOrder
string[]|true
columns
Record<string, InfiniteTableColumn<DATA_TYPE>>
columns.align
'start' | 'center' | 'end'
columns.className
string | (param: InfiniteTableColumnStyleFnParams) => string
columns.components
columns.components.ColumnCell
columns.components.Editor
columns.components.HeaderCell
columns.contentFocusable
boolean|(params) => boolean
columns.cssEllipsis
Default: true
boolean
columns.dataType
string
columns.defaultDraggable
boolean
columns.defaultEditable
boolean|(param)=>boolean|Promise<boolean>
columns.defaultFlex
number
columns.defaultHiddenWhenGroupedBy
'*'| true | keyof DATA_TYPE | { [keyof DATA_TYPE]: true }
columns.defaultWidth
number
columns.field
keyof DATA_TYPE
columns.filterType
string
columns.getValueToEdit
(params) => any|Promise<any>
columns.getValueToPersist
(params) => any|Promise<any>
columns.header
React.ReactNode|({column, columnSortInfo, columnApi})=>React.ReactNode
columns.headerAlign
'start' | 'center' | 'end'
columns.headerClassName
string | (args) => string
columns.headerCssEllipsis
Default: true
boolean
columns.headerStyle
CSSProperties | (args) => CSSProperties
columns.maxWidth
number
columns.minWidth
number
columns.render
(cellContext) => Renderable
columns.renderFilterIcon
columns.renderGroupIcon
(cellContext) => Renderable
columns.renderGroupValue
({ data, rowInfo, column, renderBag, rowIndex, ... })
columns.renderHeader
(param: InfiniteTableColumnHeaderParam) => ReactNode
columns.renderLeafValue
({ data, rowInfo, column, renderBag, rowIndex, ... })
columns.renderMenuIcon
boolean|(cellContext)=> ReactNode
columns.renderRowDetailIcon
boolean|(cellContext) => ReactNode
columns.renderSelectionCheckBox
boolean | ({ data, rowSelected: boolean | null, selectRow, deselectRow, ... })
columns.renderTreeIcon
boolean|(cellContext) => ReactNode
columns.renderValue
(cellContext) => Renderable
columns.resizable
boolean
columns.rowspan
({ rowInfo, data, rowIndex, column }) => number
columns.shouldAcceptEdit
(params) => boolean|Error|Promise<boolean|Error>
columns.sortable
boolean
columns.sortType
Default: 'string'
string | string[]
columns.style
CSSProperties | (param: InfiniteTableColumnStyleFnParams) => CSSProperties
columns.type
Default: 'default'
string | string[]
columns.valueFormatter
({ data?, isGroupRow, rowInfo, field?, rowSelected, rowActive, isGroupRow }) => Renderable
columns.valueGetter
({ data, field? }) => string | number | boolean | null | undefined
columns.verticalAlign
'start' | 'center' | 'end'
columnSizing
Record<string,{width,flex,...}>
columnSizing.flex
number
columnSizing.maxWidth
number
columnSizing.minWidth
number
columnSizing.width
number
columnsTypes.sortable
boolean
columnTypes
Record<string,InfiniteTableColumnType>
columnTypes.components
columnTypes.defaultFlex
number
columnTypes.defaultSortable
boolean
columnTypes.defaultWidth
number
columnTypes.headerClassName
string | (args) => string
columnTypes.headerStyle
CSSProperties | (args) => CSSProperties
columnTypes.maxWidth
number
columnTypes.minWidth
number
components
components.LoadMask
components.RowDetail
debugId
string
defaultActiveCellIndex
[number,number]
defaultActiveRowIndex
number
defaultColumnOrder
Default: true
string[]|true
defaultColumnSizing
Record<string,{width,flex,...}>
defaultColumnSizing.flex
number
defaultColumnSizing.maxWidth
number
defaultColumnSizing.minWidth
number
defaultColumnSizing.width
number
defaultRowDetailState
RowDetailState
domProps
React.HTMLProps<HTMLDivElement>
draggableColumns
boolean
editable
(param) => boolean | Promise<boolean>
focusedClassName
string
focusedStyle
focusedWithinClassName
string
focusedWithinStyle
getCellContextMenuItems
({data, column, rowInfo}) => MenuItem[] | null | { items: MenuItem[], columns: [{name}] } | Promise
getColumnMenuItems
(items, context) => MenuItem[]
getContextMenuItems
({event, data?, column?, rowInfo}, {api, dataSourceApi}) => MenuItem[] | null | { items: MenuItem[], columns: [{name}] } | Promise
groupColumn
InfiniteTableColumn|(colInfo, toggleGroupRow) => InfiniteTableColumn
groupRenderStrategy
'single-column'|'multi-column'
headerOptions
{alwaysReserveSpaceForSortIcon: boolean}
headerOptions.alwaysReserveSpaceForSortIcon
Default: true
boolean
hideColumnWhenGrouped
Default: false
boolean
hideEmptyGroupColumns
Default: false
boolean
isRowDetailEnabled
(rowInfo: InfiniteTableRowInfo<DATA_TYPE>) => boolean
isRowDetailExpanded
(rowInfo: InfiniteTableRowInfo) => boolean
keyboardNavigation
Default: 'cell'
'cell'|'row'|false
keyboardSelection
Default: true
boolean
keyboardShortcuts
{key,handler,when}[]
loadingText
Default: 'Loading'
ReactNode
multiSortBehavior
'append'|'replace'
onActiveCellIndexChange
(activeCellIndex:[number,number])=>void
onActiveRowIndexChange
(activeRowIndex:number)=>void
onBlurWithin
(event)=> void
onCellClick
({ colIndex, rowIndex, column, columnApi, api, dataSourceApi }, event) => void
onCellDoubleClick
({ colIndex, rowIndex, column, columnApi, api, dataSourceApi }, event) => void | {preventEdit?: boolean}
onColumnOrderChange
(columnOrder: string[])=>void
onColumnSizingChange
(columnSizing)=>void
onEditAccepted
({value, initialValue, column, rowInfo, ...}) => void
onEditPersistSuccess
({value, initialValue, column, rowInfo, ...})=>void
onEditRejected
({ value, initialValue, column, rowInfo, ... }) => void
onFocusWithin
(event)=> void
onKeyDown
({ api, dataSourceApi }, event) => void | InfiniteTablePropOnKeyDownResult
onReady
({api, dataSourceApi}) => void}
onRenderRangeChange
(range)=>void
onRowDetailStateChange
(rowDetailState: RowDetailState, {expandRow, collapseRow}) => void
onScrollStop
({renderRange, viewportSize, scrollTop, scrollLeft})=>void
onScrollToBottom
()=>void
onViewportReservedWidthChange
(reserved: number) => void
persistEdit
(params) => any|Error|Promise<any|Error>
pivotGrandTotalColumnPosition
Default: false
"start"|"end"|false
pivotTotalColumnPosition
Default: "end"
"start"|"end"|false
repeatWrappedGroupRows
Default: true
boolean|(rowInfo: InfiniteTableRowInfo<DATA_TYPE>) => boolean
resizableColumns
Default: true
boolean
rowClassName
string|(params:InfiniteTableStylingFnParams) => string
rowDetailCache
boolean|number
rowDetailHeight
Default: 300
number|CSSVar|(rowInfo)=>number
rowDetailRenderer
(rowInfo: InfiniteTableRowInfo<DATA_TYPE>) => ReactNode
rowDetailState
RowDetailState
rowHeight
Default: 40
number|string
rowStyle
CSSProperties|(params:InfiniteTableStylingFnParams) => CSSProperties
scrollStopDelay
Default: 250
number
scrollTopKey
number|string
shouldAcceptEdit
(params) => boolean|Error|Promise<boolean|Error>
showColumnFilters
Default: true
boolean
sortable
boolean | ({column, columns, api, columnApi}) => boolean
viewportReservedWidth
Default: 0
number
virtualizeColumns
Default: true
boolean
wrapRowsHorizontally
Default: false
boolean