Skip to main content

InterfaceDataTableProps

Admin Docs


Type Alias: InterfaceDataTableProps<T>

InterfaceDataTableProps<T> = object

Defined in: src/types/shared-components/DataTable/props.ts:101

Complete props for the DataTable component.

Extends base configuration with pagination, filtering, searching, selection, and bulk actions. Supports both client-side and server-side data handling.

Type Parameters​

T​

T

The type of data for each row in the table

Properties​

actionableRows?​

optional actionableRows: ReadonlySet<Key>

Defined in: src/types/shared-components/DataTable/props.ts:182


ariaLabel?​

optional ariaLabel: string

Defined in: src/types/shared-components/DataTable/props.ts:139

ARIA label for the table element


bulkActions?​

optional bulkActions: ReadonlyArray<IBulkAction<T>>

Defined in: src/types/shared-components/DataTable/props.ts:181


className?​

optional className: string

Defined in: src/types/shared-components/DataTable/props.ts:115

CSS class to apply to the table element


columnFilter?​

optional columnFilter: Record<string, unknown>

Defined in: src/types/shared-components/DataTable/props.ts:159


columnFilters?​

optional columnFilters: Record<string, unknown>

Defined in: src/types/shared-components/DataTable/props.ts:160


columns​

columns: IColumnDef<T, unknown>[]

Defined in: src/types/shared-components/DataTable/props.ts:103

Array of column definitions specifying how to render each column


currentPage?​

optional currentPage: number

Defined in: src/types/shared-components/DataTable/props.ts:167


data​

data: T[]

Defined in: src/types/shared-components/DataTable/props.ts:125

For backward compatibility: use rows instead


disableSort?​

optional disableSort: boolean

Defined in: src/types/shared-components/DataTable/props.ts:185


emptyMessage?​

optional emptyMessage: string

Defined in: src/types/shared-components/DataTable/props.ts:135

Message to display when table is empty


error?​

optional error: Error | null

Defined in: src/types/shared-components/DataTable/props.ts:131

Error from the last data fetch operation


globalSearch?​

optional globalSearch: string

Defined in: src/types/shared-components/DataTable/props.ts:157


initialGlobalSearch?​

optional initialGlobalSearch: string

Defined in: src/types/shared-components/DataTable/props.ts:156

Initial global search value


initialSelectedKeys?​

optional initialSelectedKeys: ReadonlySet<Key>

Defined in: src/types/shared-components/DataTable/props.ts:179


initialSortBy?​

optional initialSortBy: string

Defined in: src/types/shared-components/DataTable/props.ts:149

Initial sort property


initialSortDirection?​

optional initialSortDirection: SortDirection

Defined in: src/types/shared-components/DataTable/props.ts:150


keysToShowRows?​

optional keysToShowRows: ReadonlySet<Key>

Defined in: src/types/shared-components/DataTable/props.ts:107

Set of row keys to display; if provided, only these rows are shown


loading?​

optional loading: boolean

Defined in: src/types/shared-components/DataTable/props.ts:127

Whether the table is loading initial data


loadingMore?​

optional loadingMore: boolean

Defined in: src/types/shared-components/DataTable/props.ts:129

Whether additional data is currently loading


loadingOverlay?​

optional loadingOverlay: boolean

Defined in: src/types/shared-components/DataTable/props.ts:145

Whether to show a loading overlay during pagination


noHeader?​

optional noHeader: boolean

Defined in: src/types/shared-components/DataTable/props.ts:111

Whether to hide the header row


onColumnFilterChange()?​

optional onColumnFilterChange: (filters) => void

Defined in: src/types/shared-components/DataTable/props.ts:161

Parameters​

filters​

Record<string, unknown>

Returns​

void


onColumnFiltersChange()?​

optional onColumnFiltersChange: (filters) => void

Defined in: src/types/shared-components/DataTable/props.ts:162

Parameters​

filters​

Record<string, unknown>

Returns​

void


onGlobalSearchChange()?​

optional onGlobalSearchChange: (q) => void

Defined in: src/types/shared-components/DataTable/props.ts:158

Parameters​

q​

string

Returns​

void


onLoadMore()?​

optional onLoadMore: () => void

Defined in: src/types/shared-components/DataTable/props.ts:171

Returns​

void


onPageChange()?​

optional onPageChange: (page) => void

Defined in: src/types/shared-components/DataTable/props.ts:168

Parameters​

page​

number

Returns​

void


onSelectedRowsChange()?​

optional onSelectedRowsChange: (next) => void

Defined in: src/types/shared-components/DataTable/props.ts:178

Parameters​

next​

ReadonlySet<Key>

Returns​

void


onSelectionChange()?​

optional onSelectionChange: (next) => void

Defined in: src/types/shared-components/DataTable/props.ts:177

Parameters​

next​

ReadonlySet<Key>

Returns​

void


onSortChange()?​

optional onSortChange: (event) => void

Defined in: src/types/shared-components/DataTable/props.ts:123

Callback fired when sort state changes

Parameters​

event​

ISortChangeEvent<T>

Returns​

void


page?​

optional page: number

Defined in: src/types/shared-components/DataTable/props.ts:166


pageInfo?​

optional pageInfo: InterfacePageInfo | null

Defined in: src/types/shared-components/DataTable/props.ts:170


pageSize?​

optional pageSize: number

Defined in: src/types/shared-components/DataTable/props.ts:165


paginationMode?​

optional paginationMode: "client" | "server" | "none"

Defined in: src/types/shared-components/DataTable/props.ts:164


refetch?​

optional refetch: QueryResult<unknown>["refetch"]

Defined in: src/types/shared-components/DataTable/props.ts:184


renderError()?​

optional renderError: (error) => ReactNode

Defined in: src/types/shared-components/DataTable/props.ts:137

Custom function to render error state

Parameters​

error​

Error

Returns​

ReactNode


renderRow()?​

optional renderRow: (row, index) => ReactNode

Defined in: src/types/shared-components/DataTable/props.ts:133

Custom function to render each row

Parameters​

row​

T

index​

number

Returns​

ReactNode


rowActions?​

optional rowActions: ReadonlyArray<IRowAction<T>>

Defined in: src/types/shared-components/DataTable/props.ts:180


rowKey?​

optional rowKey: keyof T | (row) => Key

Defined in: src/types/shared-components/DataTable/props.ts:113

Key or property name or function to extract unique identifier for each row


rows?​

optional rows: T[]

Defined in: src/types/shared-components/DataTable/props.ts:105

Array of row data to display in the table


searchBarProps?​

optional searchBarProps: Omit<InterfaceSearchBarProps, "value" | "onChange">

Defined in: src/types/shared-components/DataTable/props.ts:163


searchPlaceholder?​

optional searchPlaceholder: string

Defined in: src/types/shared-components/DataTable/props.ts:152

Search placeholder text


selectable?​

optional selectable: boolean

Defined in: src/types/shared-components/DataTable/props.ts:174


selectedKeys?​

optional selectedKeys: ReadonlySet<Key>

Defined in: src/types/shared-components/DataTable/props.ts:175


selectedRows?​

optional selectedRows: ReadonlySet<Key>

Defined in: src/types/shared-components/DataTable/props.ts:176


serverFilter?​

optional serverFilter: boolean

Defined in: src/types/shared-components/DataTable/props.ts:173


serverSearch?​

optional serverSearch: boolean

Defined in: src/types/shared-components/DataTable/props.ts:172


serverSort?​

optional serverSort: boolean

Defined in: src/types/shared-components/DataTable/props.ts:141

Whether sorting is handled server-side


showSearch?​

optional showSearch: boolean

Defined in: src/types/shared-components/DataTable/props.ts:154

Whether to show search bar


showViewMoreButton?​

optional showViewMoreButton: boolean

Defined in: src/types/shared-components/DataTable/props.ts:183


size?​

optional size: "sm" | "lg"

Defined in: src/types/shared-components/DataTable/props.ts:109

Bootstrap size variant: 'sm' for small or 'lg' for large


skeletonRows?​

optional skeletonRows: number

Defined in: src/types/shared-components/DataTable/props.ts:143

Number of skeleton rows to show during loading


sortable?​

optional sortable: boolean

Defined in: src/types/shared-components/DataTable/props.ts:119

Whether columns are sortable (default: true)


sortBy?​

optional sortBy: ISortState[]

Defined in: src/types/shared-components/DataTable/props.ts:147

Current sort state as array (controlled sorting)


sortState?​

optional sortState: ISortState

Defined in: src/types/shared-components/DataTable/props.ts:121

Current sort state specifying column and direction


striped?​

optional striped: boolean

Defined in: src/types/shared-components/DataTable/props.ts:117

Whether to apply striped styling to rows


tableBodyClassName?​

optional tableBodyClassName: string

Defined in: src/types/shared-components/DataTable/props.ts:186


tableClassName?​

optional tableClassName: string

Defined in: src/types/shared-components/DataTable/props.ts:187


totalItems?​

optional totalItems: number

Defined in: src/types/shared-components/DataTable/props.ts:169