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