All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
6.0.0 - 2026-02-24
- updated dependencies
- 💥 changed to own reactstrap fork with react 19 support
5.15.0 - 2026-01-20
- added the
usePersistentReactDataTableStatehook which saves it's own state into the local storage - added
initialAfterSearchFilterproperty to give the possebility, to set a different initial after filter search (fall back is stillinitialColumnFilters)
- migrated to eslint 9 flat config
- removed obsolete storybook
5.14.0 - 2025-12-15
- pagination skeleton on data loading and fetching.
5.13.1 - 2025-11-10
-
Virtualization height computation. This is a well know issue on Tanstack virtualizer package. When using virtualization, assign to your table the following css
:root { --your-pseudo-height--variable: 0px; } table::after { content: ""; display: block; height: var(--your-pseudo-height--variable); } ```css and use the `onPseudoHeightChange` to set it on your side ```tsx <ReactDataTable<T> ... onPseudoHeightChange={(height) => document.documentElement.style.setProperty("--your-pseudo-height--variable", `${height}px`)} />
5.13.0 - 2025-10-08
- Updated
react-pattern-uifrom 3.4.0 to 5.3.0
virtualizationfeatures.pagingNavigationComponentsproperty to customize the paging navigation components
5.12.0 - 2025-09-15
- option
subRowComponentto pass a render-function for a subrow. This will be rendered additionally to the subrows and if not wanted, make sure the subrows are passed as empty arrayd [], following an example:
const { table } = useReactDataTable<T>({
data,
columns,
reactTableOptions: {
enableExpanding: true,
getSubRows: (_) => [],
getRowCanExpand: (row) => row.shouldRenderSubRow,
},
});5.11.0 - 2025-06-03
- added a flag
isStripedto theReactDataTablecomponent to enable/disable striped rows - added a flag
showClearSearchButtonto theReactDataTablecomponent to show/hide the clear search button
5.10.0 - 2025-04-29
tableascustomFilterparameter.- export for
getModelFromColumnFilterandgetColumnFilterFromModelutility functions.
5.9.1 - 2024-12-19
meta dropdownFilterin order to be controlled.
5.9.0 - 2024-12-17
columnPinningfeature. Allows the pinning of columns.
5.8.0 - 2024-12-02
- option
hideHeaderFiltersadded to the column meta to hide the header filter (needs to be set to true for all columns) - option
headerFilterStyleadded to the column meta to be able to style the header filter - option
customFilterNameadded to the column meta to be able to use different mappings than theaccessorof the column description
pkg.pr.newworkflow in order to prevent caching issues
5.7.0 - 2024-10-04
- property
onRowClickinReactDataTablein order to define a custom function to execute the row is clicked - property
enableRowClickinReactDataTablein order to define if a row should be clickable or not
5.6.0 - 2024-10-02
- property
fullRowSelectablein thereactTableOptionsto manually disable the selection onceenableRowSelectionis enabled and the row is anywhere clicked
5.5.0 - 2024-09-25
- added missing col span property for
grouped columnsfeature
5.4.1 - 2024-07-05
- added missing optional
rowSelectionstate in Fully controlled hook
5.4.0 - 2024-06-14
expandedfeature
5.3.0 - 2024-06-03
- possibility to override the default
noEntriesmessage in a singular case
5.2.0 - 2024-05-01
rowSelectionfeature
- the
wikidocumentation is now linked in the readme
5.1.0 - 2024-04-05
- endless loop on
paginationstate when paginating client-side
- auto
pageIndex resetwhen paginating server side
5.0.1 - 2024-03-27
sortingandcolumnFilterscan be possibly undefined for notuseReactDataTablehook
5.0.0 - 2024-03-27
- the
reset iconwill now reset the table to the initialState if provided, otherwise to the first value of the state - 💥 the
sortingaccepts now a strongly typed object instead of a list - 💥 the
columnFilterscan be used only defining afilter typeto datatable hooks
- 💥 utilities
getColumnFilterFromModelandgetModelFromColumnFilterare not exposed anymore
4.2.0 - 2024-03-22
- option
dragAndDropOptionsto enable drag-and-drop rows via@dnd-kitpackage.
- option
cellClassNameadded to the column meta to add class names to every cell of a column - option
headerClassNameadded to the column meta to add class names to every header of a column - option
footerStyleadded to the column meta to add styles to every footer of a column - option
footerClassNameadded to the column meta to add class names to every footer of a column
4.1.0 - 2024-03-13
- option
hidePageSizeChangeadded to hide the possibility to change the page size
4.0.0 - 2024-03-06
- Skeletons for when the data is loading
-
💥 Fundamentally changed how this package works. The state is now managed by the consumer of this package. This means that the consumer has to provide the data and the functions to update the data. The package only provides the UI components to display the data. This change was necessary to make the package more flexible and to allow the consumer to use the package in a wider range of use cases. Behind the scenes, the package uses the
useTablehook from the@tanstack/react-tablepackage. The consumer can use theuseTablehook directly if he wants to. TheReactDataTablecomponent is just a wrapper around theuseTablehook. TheReactDataTablecomponent is still the recommended way to use this package. -
💥 renamed
possiblePageItemCountstopageSizes. -
💥
columnsis now of typeColumnDef<TData, TValue>from the@tanstack/react-tablepackage. Please refer to the documentation of the@tanstack/react-tablepackage for more information: https://tanstack.com/table/v8/docs/api/core/table#columns (there are additional custom fields in the column.meta object defined by us:src/react-table.d.ts)
- 💥 removed
rowHighlight. UserowStyleinstead. - 💥 removed
enablePredefinedSortprop. UseinitialState.sortinginstead. Orstate.sortingif you want to manage the state yourself. - 💥 removed
predefinedFilterprop. UseinitialState. - 💥 removed
ascprop. UseinitialState.sortinginstead. Orstate.sortingif you want to manage the state yourself. - 💥 removed
predefinedItemsPerPageprop. UseinitialState.pagination.pageSizeinstead. Orstate.pagination.pageSizeif you want to manage the state yourself. - 💥 removed
orderByprop. UseinitialState.sortinginstead. Orstate.sortingif you want to manage the state yourself. - 💥 removed
clientprop. Usedataprop instead and manage the state of the data yourself. - 💥 removed
queryprop. Usedataprop instead and manage the state of the data yourself. - 💥 removed
handlersprop. Since the state is now managed by the user, the user is responsible for updating the data. - 💥 removed
actionsprops. You can easily define whatever actions you would like to have in thecolumnsprop. This is an example of how you could configure the actions column:
import { createColumnHelper } from "@tanstack/react-table";
const columnHelper = createColumnHelper<YourData>();
columnHelper.display({
id: "edit",
header: () => <span>Aktionen</span>,
cell: (props) => (
<>
<Link href={{ pathname: "/addresses/[addressId]", query: { addressId: props.row.getValue("addressId") } }}>
<FontAwesomeIcon icon={faEye} style={{ marginRight: "5px" }} />
</Link>
<FontAwesomeIcon
icon={faTrash}
style={{ marginRight: "5px" }}
onClick={async () => {
// do something
}}
/>
</>
),
}),3.8.0 - 2023-11-20
- Changed
DeleteActionto exposecancelButtonTextanddeleteButtonTextprops for translations
3.7.0 - 2023-11-16
- Added property
withoutHeadersto draw the table without any header row (title + filters)
3.6.0 - 2023-10-26
- Updated react-pattern-ui from 2.4.0 to 2.9.0
3.5.0 - 2023-10-05
- Added function
getFilterStateto get current status of filters - Added function
updateFiltersto update filters and refresh dataTable
3.4.0 - 2023-10-03
- Added nullable
disabledprop toEnumValuetype
3.3.0 - 2023-08-07
- Updated react-pattern-ui to 2.4.0
3.2.0 - 2023-08-04
- Added support to "react" version "^18.0.0" in peerDependencies
- Added support to "react-dom" version "^18.0.0" in peerDependencies
- Added support to "reactstrap" version "^9.0.0" in peerDependencies
- Added support to "@fortawesome/react-fontawesome" version "^0.2.0" in peerDependencies
- Fixed export for CommonJS
3.1.0 - 2023-08-03
- Updated react-pattern-ui to 2.3.0
3.0.0 - 2023-07-26
- 💥
viewdefault Action does not nest an<a>tag anymore.
2.7.3 - 2023-06-29
orderByproperty ofQueryFunctiontype can be string or undefined.
2.7.2 - 2023-06-29
- Excluded test code from the package and made sure the paths are pointing to the correct
.d.tsfiles
2.7.1 - 2023-06-16
- update types file location in package.json
2.7.0 - 2023-06-16
- update
@neolution-ch/react-pattern-uito the latest version (2.2.1)
2.6.1 - 2023-06-13
- Moved
@neolution-ch/react-pattern-uito the dependencies, so it gets correctly detected by rollup as an external dependency
2.6.0 - 2023-06-12
- Changed from
microbundletorollupfor building the package - Updated all the dependencies to the latest possible version
- Display predefined filter in filter row
2.5.0 - 2023-05-25
- the prop
enablePredefinedSortto all tables. Set boolean condition for which the orderBy option should be ignored. Set asfalseby default if not specified.
2.4.0 - 2023-05-17
- the prop
rowHighlightto all tables. CheckRowHighlightInterfacefor prop definition. Set condition for which a row should be highlighted. Possibility to set custom style for highlights
2.3.2 - 2023-03-08
- the style 'white-space:no-wrap' to default 'ActionCell' to have icons on the same line
2.3.1 - 2023-03-07
- depandabot: Bump ejs from 3.1.6 to 3.1.8
2.3.0 - 2023-03-06
- the prop
iconto theDataTablePredefinedActionLinkinterface to specify the view action column icon. Possible values are allIconProp. The default value is the eye iconfaEye
2.2.0 - 2023-02-22
- the prop
actionsPositionto theDataTablecomponent to specify the position of the actions column. Possible values areleftandright. The default value isleft.
2.1.2 - 2022-06-20
- Added asc prop to specify the arrow icon sorting direction
- Added orderBy prop to specify the sorting key value
2.1.1 - 2022-05-04
- Moved storybook to github pages
2.1.0 - 2022-05-02
- Dynamic table handler to reload the data from an external source.
- Added new story to reload data with sample code.
- Implemented className and style properties to the table and the actions.
- Added reload tests.
- Changed max-lines allowed in DataTableInterfaces.ts.
- Changed max-lines allowed in DataTableRouted.tsx.
2.0.3 - 2022-04-19
- Story book
2.0.2 - 2022-04-14
- Upgraded @neolution-ch/react-pattern-ui dependency to 2.0.2
2.0.1 - 2022-04-14
- Fix added for missing react import aftger microbundling
2.0.0 - 2022-04-12
- created package 🎉