Refactored table layouts + Layout fix for #269 #278
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Been attempting to ensure support for all varieties of table-layouts as well as reducing the time-complexity. This PR will solve #269 as well as open the door to supporting larger datasets and faster rendering.
Previously, when layout is being calculated, for each cell in the table it would traverse all cells that had come before it. It was not able to detect rowSpans left-wards beyond the immediate left. Not sure how to express this mathematically, but the time-complexity is/was exponential.
With this refactored table layout, the time-complexity is mostly reduced to match the complexity of the table.
The first commit includes failing tests. One specifically for #269 and one generally that demonstrates an advanced implementation of rowSpan and colSpan.