Skip to content
aq-ui
Back to HooksHook

Use Data Grid

Open-code aq-ui React hook for Use Data Grid.

Installation

pnpm dlx aq-ui@alpha add use-data-grid

API reference

Client module

Import the parts you need, then jump to an export for its contract.

View full source

Quick start

"use client"

import { useDataGrid } from "@/hooks/use-data-grid"

DataGridController

interfaceSource L67

Type contract for DataGridController.

interface DataGridController<TData>

Members

NameType
tableTable<TData>
sortingSortingState
setSorting(updater: Updater<SortingState>) => void
columnFiltersColumnFiltersState
setColumnFilters(updater: Updater<ColumnFiltersState>) => void
columnVisibilityVisibilityState
setColumnVisibility(updater: Updater<VisibilityState>) => void
columnPinningColumnPinningState
setColumnPinning(updater: Updater<ColumnPinningState>) => void
rowSelectionRowSelectionState
setRowSelection(updater: Updater<RowSelectionState>) => void
paginationPaginationState
setPagination(updater: Updater<PaginationState>) => void
globalFilterunknown
setGlobalFilter(updater: Updater<unknown>) => void
reset() => void

useDataGrid

functionSource L86

Open-code aq-ui React hook for Use Data Grid.

function useDataGrid<TData, TValue = unknown>({ data, columns, sorting: sortingProp, defaultSorting = EMPTY_SORTING, onSortingChange, columnFilters: columnFiltersProp, defaultColumnFilters = EMPTY_FILTERS, onColumnFiltersChange, columnVisibility: columnVisibilityProp, defaultColumnVis…): DataGridController<TData>
Returns
DataGridController<TData>

Parameters

NameType
optionsUseDataGridOptions<TData, TValue>

UseDataGridOptions

interfaceSource L32

Type contract for UseDataGridOptions.

interface UseDataGridOptions<TData, TValue = unknown>

Members

NameTypeDefault
dataTData[]—
columnsColumnDef<TData, TValue>[]—
sorting?SortingState—
defaultSorting?SortingStateEMPTY_SORTING
onSortingChange?(sorting: SortingState) => void—
columnFilters?ColumnFiltersState—
defaultColumnFilters?ColumnFiltersStateEMPTY_FILTERS
onColumnFiltersChange?(filters: ColumnFiltersState) => void—
columnVisibility?VisibilityState—
defaultColumnVisibility?VisibilityStateEMPTY_VISIBILITY
onColumnVisibilityChange?(visibility: VisibilityState) => void—
columnPinning?ColumnPinningState—
defaultColumnPinning?ColumnPinningStateEMPTY_PINNING
onColumnPinningChange?(pinning: ColumnPinningState) => void—
rowSelection?RowSelectionState—
defaultRowSelection?RowSelectionStateEMPTY_SELECTION
onRowSelectionChange?(selection: RowSelectionState) => void—
pagination?PaginationState—
defaultPagination?PaginationStateDEFAULT_PAGINATION
onPaginationChange?(pagination: PaginationState) => void—
globalFilter?unknown—
defaultGlobalFilter?unknown—
onGlobalFilterChange?(filter: unknown) => void—
enableRowSelection?boolean | ((row: Row<TData>) => boolean)—
enableMultiRowSelection?boolean | ((row: Row<TData>) => boolean)—
getRowId?(originalRow: TData, index: number, parent?: Row<TData>) => string—
manualFiltering?booleanfalse
manualSorting?booleanfalse
manualPagination?booleanfalse
pageCount?number—
rowCount?number—
meta?TableMeta<TData>—

Registry dependencies

use-controllable-state

Package dependencies

@tanstack/react-table@^8.21.3

Files

  • hooks/use-data-grid.ts

Source