Handsontable 14.6.0: Easier styling and enhanced Undo/Redo
We’re happy to announce the release of Handsontable 14.6. This update introduces new features, styling improvements, enhanced accuracy for the undo/redo functionality, and, as always, fixes for some issues reported by the Community.
This version is backward compatible, and we recommend updating to stay current. You can read the full changelog in our documentation.
How to upgrade
- JavaScript:
npm install handsontable
- React:
npm install handsontable @handsontable/react
- Angular:
npm install handsontable @handsontable/angular
- Vue:
npm install handsontable @handsontable/vue3
- Download from NuGet
- View and clone on GitHub
- Import from public CDN: jsDelivr, UNPKG
Easier styling of odd and even rows
We’ve added even (ht__row_even
) and odd (ht__row_odd
) class names to table row (TR
) elements, making it easier to style your tables. This is especially useful when your data tables are meant for reading and analyzing data rather than editing, like a traditional spreadsheet.
Improved Undo/Redo in the Filters plugin
With Handsontable 14.6.0 we’ve enhanced the undo/redo functionality for filtering by extending the beforeFilter
hook with a second argument, previousConditionStack
. This new argument contains the filter conditions from before the new filters were applied. As a result, the undoRedo
plugin can now properly record changes to filters in your data grid and undo/redo them accurately – addressing issues that previously occurred in some cases.
New API for row and column indexes
The new API methods will help you manage visible, partially visible, and rendered row and column indices. These methods, such as getFirstRenderedVisibleRow()
and getLastFullyVisibleColumn()
, give you a clearer view of what’s currently displayed in your table.
- Renderable indexes: Correspond to rows or columns currently visible in the table’s viewport, including extra rows or columns rendered beyond the visible area, forming a buffer (a technique called virtual rendering). Methods include:
- Fully visible indexes: Correspond to rows or columns that are fully visible within the table’s viewport. Methods include:
- Partially visible indexes: Correspond to rows or columns that are at least partially visible within the table’s viewport. Methods include:
Release notes
Added
- Corrected
aria-label
,aria-checked
, andmenuitemcheckbox
roles for the read-only and alignment options in the context menu. #11091 - Enhanced the
beforeFilter
hook by adding a second argument to support proper Undo/Redo functionality. #11170 - Added even and odd class names to table row (
TR
) elements for easier styling. #11183 - Introduced a new API to get the indexes of visible, partially visible, and rendered rows and columns. #11189
Changed
- Improved focus visibility for cells with the
select
type. #11160
Removed
- Removed the
-ms
CSS fix, as it’s no longer needed. #11055
Resolved issues
- Fixed an issue where copying values from cell comments didn’t work. #11103
- Fixed submenu alignment issues after horizontal scrolling. #11106
- Fixed row misalignment caused by cells with fractional heights. #11110
- Fixed dropdown menu misalignment when opened via keyboard shortcuts. #11115
- Fixed a bug where data was saved in the wrong cell after sorting a column with an open editor. #11129
- Resolved copy/paste/cut issues when the
outsideClickDeselects
option was disabled. #11139 - Fixed an issue where merged cells broke after adding a new row. #11145
- Fixed the F2 keyboard shortcut for entering editing mode. #11151
- Fixed context and dropdown menu column widths, ensuring they adapt to their content. #11156
- Updated TypeScript typings for the
selectCell
method. #11161 - Fixed an issue where deleting content from selections containing both
checkbox
and non-checkbox
cells didn’t work properly. #11182 - Fixed an issue where the context menu container size didn’t adjust to its content. #11190
- Resolved an error that occurred with some keyboard shortcuts when no cell was
If you stumble across problems while updating, use one of the following support channels:
- Start a discussion on Developer’s Forum
- Ask a question on Stack Overflow
- Report an issue on GitHub discussions
If your commercial support plan is active, contact our Support Team at support@handsontable.com or use this contact form.