JavaScript data grid with a spreadsheet look & feel. Works with React, Angular, and Vue. Supported by the Handsontable team ⚡
For more information on this release, see:
copyCellsOnly()
, copyWithColumnHeaders()
, copyWithAllColumnHeaders()
, and copyColumnHeadersOnly()
. #2288
CellCoords
and CellRange
classes, which are used in the arguments of some of the APIs. #9755
beforeColumnFreeze
, afterColumnFreeze
, beforeColumnUnfreeze
, and afterColumnUnfreeze
. #9859
UndoRedo
plugin didn't work properly with preconfigured columns. #10108
updateData()
were not evaluated. #10011
type
could overwrite other custom-defined settings. #10128
beforeCreateRow
, afterCreateRow
, beforeCreateCol
, and afterCreateCol
. #10136
dropdown
editor caused the IME to disappear, resulting in wrong characters being typed. #9672
dropdown
cells weren't validated properly when using the HotColumn
component. #10065
For more information on this release, see:
alter()
method takes 4 new parameter values: insert_row_above
, insert_row_below
, insert_col_start
, and insert_col_end
. The insert_row
and insert_col
parameters are marked as deprecated. #9471
type
through setCellMeta()
didn't properly set the cell's editor
and renderer
. #9734
NestedHeaders
plugin was enabled and all rows were trimmed out. #9753
translateRowsToColumns()
. #9919
For more information on this release, see:
alter
method. #7840
trimWhitespace
option could not be used in the column and cell levels of the cascading configuration. #7387
setSourceDataAtCell
. #8599
For more information on this release, see:
For more information on this release, see:
@handsontable/angular
package failed for versions of Angular other than 9 #9622
For more information on this release, see:
getNearestNotHiddenIndex()
, a new method that finds the visual index of the nearest not-hidden row or column and works even with large numbers of hidden rows or columns. The previous method, getFirstNotHiddenIndex()
, still works, but is marked as deprecated. #9064
beforeColumnFreeze
, afterColumnFreeze
, beforeColumnUnfreeze
, and afterColumnUnfreeze
. #9248
@angular/core
dependency to peer dependencies. #9574
preventOverflow
option was set to 'horizontal'
. #3828
<form>
: pressing Enter inside another form's <input>
could open Handsontable's dropdown menu. #9295
stretchH: 'all'
option). #9496
ShortcutManager
unnecessarily handled keyup
events with no key
defined. #9562
For more information on this release, see:
autoRowSize: true
and multi-line cell values caused rows to align incorrectly. #7102
TypeError
. #8268
For more information on this release, see:
ShortcutManager
, a new API for customizing keyboard shortcuts. #8942
layoutDirection
. #8760
fixedColumnsStart
. #8760
updateSettings()
handles data updates, to improve performance and the consistency of user experience. Now, when provided with a new data object, updateSettings()
updates the data without resetting any states. #7263
updatePlugin()
reacts to updateSettings()
calls, to improve performance and the consistency of user experience. Now, calls to updateSettings()
update a plugin's state only when the options object contains a configuration option that's relevant to that particular plugin. #9021
beforeKeyDown
is properly fired before afterDocumentKeyDown
. #6236
./
), to speed up the build process: now, the npm run build
and npm run test
scripts don't build or test the Handsontable examples (./examples
). #9412
updateSettings()
caused problems for state managers. #8372
updateSettings()
caused hidden columns to reappear. #7165
updateSettings()
caused merged cells to unmerge. #3315
updateSettings()
caused the state of nested rows to reset. #8838
updateSettings()
caused problems with column sorting. #7688
setState()
within the afterFilter
hook broke filtering. #7567
updateSettings()
caused Handsontable to crash. #7546
failed
validation status got erased when editing a new row. #7541
BasePlugin
class. #9175
"exports"
field to their package.json
files. #9140
enzyme
dependency from the React wrapper. #9151
updateData()
, a new method that allows for replacing Handsontable's data
without
resetting the states of cells, rows and columns. #7263
setDataAtCell()
method. #8601
autocomplete
editor's suggestion list didn't update properly. #7570
data
wasn't defined. #8589
CollapsibleColumns
plugin's expandAll()
method didn't expand collapsed columns. #8900
valueAccordingPercent()
helper. #9006
NestedRows
plugin could throw a type error after calling the updateSettings()
method. #9018
MultiColumnSorting
plugin's sort()
method. #9067
Comments
plugin's editor disappeared after adding a comment. #9075 #6661