table icon indicating copy to clipboard operation
table copied to clipboard

fix(table-core): Do not select subrows if enableSubRowSelection is set to false

Open jpedroh opened this issue 1 year ago • 0 comments

Fixes #5116.

There are two cases here that were not being covered by the current code:

  • If enableSubRowSelection is a boolean and is set to true, then only the first level of rows should be selected. We can easily achieve this by iterating over rows instead of flatRows.
  • The more complicated case is when enableSubRowSelection is a function. In this scenario we must run the check recursively for all subrows. The easiest way I've found to solve this was to just iterate over rows using the mutateRowIsSelected helper function.

In order to not losing the performance improvement that was already implemented, I've kept the old flow and just in case enableRowSeleciton is a function, we will reach the slower path (which might not be very common anyway)

jpedroh avatar Jan 14 '24 06:01 jpedroh