Handsontable gets updated with its .updateSettings function which takes a map of settings. Previously, when any of the settings changed, .updateSettings would be called with all the settings again resulting in very slow updates when the dataset was large. (One of the settings is the actual data to display, and this would reload the data whenever any other setting changed.)
Now we only call the .updateSettings function with the settings keys that have changed -- resulting in much faster updates.
Also much of the logic for doing the update has been moved into the update-hot! function with some improvements.
Previously, we had some special cases for when we would deselect the current selection before updating the data. This was to avoid some bugs. Now we always just deselect the current selection before applying new data.
The sort-state-applicable is now used to see if we can actually use the old sort state after an update. Previously, re-applying certain sort states would have caused an error.
What does this do?
Handsontable gets updated with its
.updateSettings
function which takes a map of settings. Previously, when any of the settings changed,.updateSettings
would be called with all the settings again resulting in very slow updates when the dataset was large. (One of the settings is the actual data to display, and this would reload the data whenever any other setting changed.)Now we only call the
.updateSettings
function with the settings keys that have changed -- resulting in much faster updates.Also much of the logic for doing the update has been moved into the
update-hot!
function with some improvements.sort-state-applicable
is now used to see if we can actually use the old sort state after an update. Previously, re-applying certain sort states would have caused an error.Motivation