plotly / dash-table

OBSOLETE: now part of https://github.com/plotly/dash
https://dash.plotly.com
MIT License
420 stars 72 forks source link

Issue 649 - Fix mismatched row height for fixed columns #722

Closed Marc-Andre-Rivet closed 4 years ago

Marc-Andre-Rivet commented 4 years ago

Closes #649

This PR proposes to fix the misaligned rows issue by adding invisible cells in both the fixed columns and unfixed columns sections of the table. With some tweaks, this allows both fixed and unfixed cells to calculate their size based on the entire table's content, making sure that both size have the same size/height.

Afterwards the fixed rows can be coerced into having the correct width. With some extra tweaks for Firefox.

Percy browser versions have been updated for both dash-table and dash-table-python-v0 in order for the snapshots to match local behavior.

A lot of the changes in the PR is fixing the test logic to handle the added phantom-cell.


Current implementation slows down rendering for fixed table significantly (about 2.5x slower) but is significantly better than previous attempts (about 10-20x slower). Still investigating what can be done to reduce the overhead.

Possible secondary strategies: