Skip to content

Conversation

@Tyoneb
Copy link

@Tyoneb Tyoneb commented Aug 20, 2025

Fixes #4723

This PR fixes the issue #4723 (which I opened myself a few months back).

Disclaimer: this is my first contribution to this repository.

Root cause analysis

The issue occurs in the case of non-rendered rows for which the row initialized state is false. In that case, during the execution of the method Row.updateData, the call to Row.getCell triggers Row.generateCells using the row which has already been updated with the new data.

In most cases, the current behavior is not an issue because the generated cells immediately get the updated value and everything looks fine. However, if there are callbacks registered on the cells update events, they do not get triggered. That's the case for mutators.

Fix proposal

My proposal is to compute the list of cells to update prior to updating the row data, which results in cells being generated with the initial row values, and then to update the row data followed by the processing of the computed cells.

I ran all existing tests locally and they all passed. I initially wanted to update the unit tests but there doesn't seem to be tests for the Row class.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Mutators are not run on rows not loaded in the virtual DOM

1 participant