Releases: schrodinger/fixed-data-table-2
v2.0.7
Update dependencies to fix security vulnerabilities:
- Bump @babel/traverse from 7.17.3 to 7.23.2 by @dependabot in #699
- Bump browserify-sign from 4.2.1 to 4.2.2 by @dependabot in #702
- Bump follow-redirects from 1.14.9 to 1.15.4 by @dependabot in #713
v2.0.6
v2.0.5
Fetch and Cache previous row heights (#701) (Fixes #700)
Added new table prop isVerticalScrollExact
(defaulted as false
), which can be turned on to make vertical scrolls accurate.
This is done by making FDT fetch the row heights for ALL rows in the table.
There's also an internal cache so that FDT won't request keep requesting all rows on every render.
Incase the cached row height needs to be reset, the new public API updateRowHeights(rowIndex)
can be used to reset the row heights starting from rowIndex
until the end of the table.
v2.0.4
v2.0.3
v2.0.2
v2.0.0
v2 Release
Plugin Support
With the introduction of "Public API" (more below), we have improved support for plugins that can be built on top of FDT!
The existing reordering and resizing functionality has been migrated as plugins with better customization (eg: reordering/resizing for column groups).
Check out docs for the new ResizeCell and ReorderCell plugins.
🌟 Do you have an idea for a new plugin? PR submissions or even requests are welcome!
Public API
"Public API" refers to a set of APIs that exposes a simple and abstract view over FDT's state and methods.
This enables users to create clean and powerful plugins over FDT without actually having to bake code into the FDT codebase.
Checkout out the docs to get started!
As requests for new functionality come in, we intend to address them by exposing the proper hooks in the API, and allowing things to be built on top of FDT, rather than extending FDT directly.
🌟 The current set of Public APIs are minimal, following the idea that we'll only expose more based on requests.
Breaking Changes/Migration from v1
There are no breaking changes intended for the v2 release, so your app should work just the same post upgrade.
However, if this is not the case, please file the issue on our GitHub repo, and we'll immediately take a look!
Code/Architecture changes (for devs):
- We've migrated from vanilla redux to redux-toolkit to make the code easier to use for devs.
- The build system has been cleaned up, and the library is now done bundled through rollup.
- Resizing and reorder functionality has been refactored
- These were previously baked into the main codebase making it difficult to customize.
- These are now migrated outside as individual cell renderers, exposed as the ResizeCell and ReorderCell plugins respectively.
- Internally these use FDT's Public API for interaction/communication with the table.
- Legacy code syntax has been cleaned up using codemods.