JavaScript data grid with a spreadsheet look & feel. Works with React, Angular, and Vue. Supported by the Handsontable team ⚡
import { registerAllEditors, registerAllRenderers, registerAllValidators, registerAllCellTypes, registerAllPlugins } from 'handsontable/registry'
. #8816
locale
option, to properly handle locale-based data. #8897
populateFromArray()
method works with its method
argument set to shift_down
or shift_right
. #888 (Breaking change)./handsontable
. #8759
populateFromArray()
method with its method
argument set to shift_right
. #6929
beforeOnCellMouseDown
and afterOnCellMouseDown
hooks using wrong coordinates. #8498
TypeError
thrown when calling the updateSettings()
method in Handsontable's modularized version. #8830
canonicalUrl
entries. #8886
date
cell. #8894
controller
, for selection manipulation in the beforeOnCellMouseDown
and beforeOnCellMouseOver
hooks. #4996 (Breaking change)beforeRender
and afterRender
hooks are, and when they are triggered. Added two new hooks: beforeViewRender
and afterViewRender
. #6303 (Breaking change)Formulas
plugin users. #8502 (Breaking change)rowsLimit
and columnsLimit
options of the CopyPaste
plugin. #8660 (Breaking change)autoWrapRow
and autoWrapCol
options` default values from true
to false
. #8662 (Breaking change)getCellMeta()
method. #6303
selectOptions
option. #8488
NestedRows
plugin, occurring with the Formulas
plugin enabled. #8048
Formulas
plugin if a provided sheet name contained a dash character. #8057
Formulas
plugin. #8078
beforeChange
hook when the Formulas
plugin was enabled #8107
NestedRows
plugin won't be corrupted by some actions. #8180
dataMap
, to prevent potential circular references. #8704
updateSettings
calls containing columns
. #7689
parseTable
utility. #8041
nestedRows
plugin enabled crashed the table. #8171
hot-formula-parser
dependency for the sake of an optional one, hyperformula
. #6466
afterAutofill
and beforeAutofill
hooks' signatures. #7987
eslint
and eslint-related modules. #7531
fit
& fdescribe
to restricted globals in test files. #8088
afterCreateCol
hooks being triggered after undoing a removal of a column. #8076
AVARAGE
formula being updated incorrectly. #4675IF
formulas not working properly. #5870clear
method broke the formulas in the table. #6248beforeAutofillInsidePopulate
hook. It will be removed in the next major release. #8095
separated
attribute for the label options (the label
DOM element may wrap input
or be placed next to it). #3172
modifyAutoColumnSizeSeed
hook to let developers overwrite the default behaviour of the AutoColumnSize sampling. #3339
UndoRedo
plugin and introduced new hooks. #6948
checkbox
-typed cells and an issue with empty cells not being displayed properly. #4047
readOnly
cells was not performed properly. #4754
fragmentSelection
option enabled. #6083
numericFormat
's type definition. #7420
trimWhitespace
tests on Firefox. #7593
postbuild
and examples:install
scripts on Windows. #7680
package.json
. #7723
disableVisualSelection
for cells/columns. #5082
current
option of the disableVisualSelection
setting. #5869
header
option of the disableVisualSelection
setting. #6025
updateSettings
method in the body of some callbacks would break the table. #7231
maxRows
and maxCols
options interfered with hidden index calculations. #7350
window
was a scrollable container. #7356
AutoRowSize
plugin would break the table when placed in an iframe. #7424
HOME
and END
keys with hidden rows/columns enabled. #7454
trimWhitespace
option not working properly. #7458
colWidths
and rowHeights
options. #7507
cellTypes
module paths in the exports
entry of the package.json
file. #7597
handsontable
, @handsontable/angular
, @handsontable/react
, and @handsontable/vue
will all be developed in the same repo - handsontable
. #7380
import
or re-exporting. #7473
Introduced a new feature that allows postponing the table render and internal data cache update. The table rendering time can be reduced several-fold times by batching (using the batch
method), multi-line API calls, or manually suspending rendering using the suspendRender
and resumeRender
methods. #7274
Introduced a possibility to import:
as separate modules, along with the Handsontable base. This change allows utilizing only the parts of Handsontable the end application is actually using, without the overhead of the full bundle. #7403
Added a new workflow for managing and generating changelogs. #7405
skipRowOnPaste
option in the TypeScript definition file. #7394
LinkedPhysicalIndexToValueMap
. #7276
DOMPurify
, to add HTML sanitization that should minimize the risk of inserting insecure code using Handsontable built-in functionalities. #7292
htmlToGridSettings
helper threw an error if a <table>
with no rows was passed. #7311
text/html
mime-type. #7369