Skip to content

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

@Tyoneb

Description

@Tyoneb

Describe the bug
Mutators are not run on rows that have not yet been loaded in the virtual DOM.
When those rows are scrolled into view, the mutators are not run either.

Tabulator Info
Tabulator v6.3.1 (latest version at this time)

Working Example
https://jsfiddle.net/Tyoneb/txzfjqmh/

To Reproduce
The JSFiddle does the following:

  1. Build a table with 2 columns, with the second column using a mutator based on the value of the first column
  2. Waits for the table to be built
  3. Updates the 1st column of the 1st row => notice in the console that the mutator is also run and the value is updated in the table
  4. Updates the 1st column of the last row => notice in the console that the mutator is not run. Scroll to the bottom of the table and notice that the value of the second column of the last row is not updated

Expected behavior
I expect the mutator to be run for all updated rows, whether they are displayed/loaded or not.

Additional context
One could argue that for performance reasons, the mutator should only be run when the row is loaded which would be annoying in my use case because it would prevent any sort of sorting/filtering on columns using a mutator. In that case, I'd be open to any suggestion to work around the issue.

Metadata

Metadata

Assignees

No one assigned

    Labels

    BugBug awaiting resolution

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions