Shape
getTableActions: (tableType: string) = ( list: async (params) = // params: filters, advancedFilters, limit, orderBy, page (1-based), search return
Guide
Wire CRUD actions to the table via provider callbacks
getTableActions: (tableType: string) = ( list: async (params) = // params: filters, advancedFilters, limit, orderBy, page (1-based), search return
The list method must return: data: T[]; meta?: pageCount?: number; totalCount?: number
aggregate is used by footer calculations to compute values on the full filtered dataset (not only the current page). results: Record< string,
What this page covers
The original MDX source has been condensed into CMS-native cards so the page can be edited and republished from the control plane.
getTableActions: (tableType: string) = ( list: async (params) = // params: filters, advancedFilters, limit, orderBy, page (1-based), search return
The list method must return: data: T[]; meta?: pageCount?: number; totalCount?: number
aggregate is used by footer calculations to compute values on the full filtered dataset (not only the current page). results: Record< string,
DataTable will use these by default if you don't provide explicit callbacks: onBulkEdit → update onBulkDelete → delete onBulkCopy → duplicate
Inline cell editing depends on the provider update(id, data) action. No extra API route is used. When inlineEdit is enabled on the table or columns, each cell commit calls update(id, [field]: value ). If update is not c...
Implementation notes
Shared QueryClient architecture, invalidation, and refetch behavior
$ getTableActions: (tableType: string) => ({
$ list: async (params) => {
$ return {
$ data: [],
$ meta: { pageCount: 1, totalCount: 0 },