UNPKG

@tanstack/table-core

Version:

Headless UI for building powerful tables & datagrids for TS/JS.

44 lines (42 loc) 2.24 kB
import { assignTableAPIs, makeStateUpdater } from "../../utils.js"; import { getDefaultPaginationState, table_autoResetPageIndex, table_firstPage, table_getCanNextPage, table_getCanPreviousPage, table_getPageCount, table_getPageOptions, table_getRowCount, table_lastPage, table_nextPage, table_previousPage, table_resetPageIndex, table_resetPageSize, table_resetPagination, table_setPageIndex, table_setPageSize, table_setPagination } from "./rowPaginationFeature.utils.js"; //#region src/features/row-pagination/rowPaginationFeature.ts /** * Feature that adds pagination state and table APIs for page navigation. */ const rowPaginationFeature = { getInitialState: (initialState) => { return { ...initialState, pagination: { ...getDefaultPaginationState(), ...initialState.pagination } }; }, getDefaultTableOptions: (table) => { return { onPaginationChange: makeStateUpdater("pagination", table) }; }, constructTableAPIs: (table) => { assignTableAPIs("rowPaginationFeature", table, { table_autoResetPageIndex: { fn: () => table_autoResetPageIndex(table) }, table_setPagination: { fn: (updater) => table_setPagination(table, updater) }, table_resetPagination: { fn: (defaultState) => table_resetPagination(table, defaultState) }, table_setPageIndex: { fn: (updater) => table_setPageIndex(table, updater) }, table_resetPageIndex: { fn: (defaultState) => table_resetPageIndex(table, defaultState) }, table_setPageSize: { fn: (updater) => table_setPageSize(table, updater) }, table_getPageCount: { fn: () => table_getPageCount(table) }, table_resetPageSize: { fn: (defaultState) => table_resetPageSize(table, defaultState) }, table_getPageOptions: { fn: () => table_getPageOptions(table) }, table_getCanPreviousPage: { fn: () => table_getCanPreviousPage(table) }, table_getCanNextPage: { fn: () => table_getCanNextPage(table) }, table_previousPage: { fn: () => table_previousPage(table) }, table_nextPage: { fn: () => table_nextPage(table) }, table_firstPage: { fn: () => table_firstPage(table) }, table_lastPage: { fn: () => table_lastPage(table) }, table_getRowCount: { fn: () => table_getRowCount(table) } }); } }; //#endregion export { rowPaginationFeature };