Skip to content
This repository has been archived by the owner on Jun 4, 2024. It is now read-only.

Virtualization #234

Closed
Marc-Andre-Rivet opened this issue Nov 8, 2018 · 4 comments · Fixed by #253
Closed

Virtualization #234

Marc-Andre-Rivet opened this issue Nov 8, 2018 · 4 comments · Fixed by #253
Assignees
Labels
dash-type-enhancement New feature or request
Projects

Comments

@Marc-Andre-Rivet
Copy link
Contributor

This is a placeholder issue for virtualization work. It may evolve into an epic or just become an enhancement.

Assumptions

  • column width is predictable, the same for all columns for any subset of the table
  • row height is predictable, the same across the whole table
  • later implementations may be able to accept more flexibility for column/row width/height
@Marc-Andre-Rivet Marc-Andre-Rivet added this to Needs triage in Dash Table via automation Nov 8, 2018
@Marc-Andre-Rivet Marc-Andre-Rivet self-assigned this Nov 8, 2018
@Marc-Andre-Rivet Marc-Andre-Rivet moved this from Needs triage to In Progress in Dash Table Nov 8, 2018
@chriddyp
Copy link
Member

chriddyp commented Nov 9, 2018

Early proof of concept:
virtualization-prototype

@Marc-Andre-Rivet
Copy link
Contributor Author

Marc-Andre-Rivet commented Nov 20, 2018

Update on virtualization progress, there's still a lot to do but the basic use cases are working with and without fixed rows/columns. Existing tests are passing.

Advance testing possible through https://github.com/plotly/dash-table/tree/3.1-issue234-virtualization

Run npm run build.watch and connect to either of:

http://localhost:8080/index.html?mode=virtualized
http://localhost:8080/index.html?mode=fixed,virtualized

for no fixed and fixed rows scenarios

There's still a lot to do for this to be final, here's a summary of what remains

  • stability testing / fixes (under certain conditions the table can hang)
  • visual testing
  • improving styling integration
  • sanity testing for various functionalities
  • cross browser support
  • virtualization-specific tests

Focusing on testing against existing functionalities and stability for now.

@cldougl
Copy link
Member

cldougl commented Nov 22, 2018

1st pass qa

  • vertical scroll too fast: freezes
  • scroll too slow: gets sticky (rescrolls over same cells)

@Marc-Andre-Rivet
Copy link
Contributor Author

Marc-Andre-Rivet commented Nov 26, 2018

Update on virtualization progress,

Completed

  • Fixed table hanging
  • Modified existing tests to execute in both virtualized and not virtualized scenarios
  • Added scrolling and selection tests specific to the virtualized table
  • Cross browser seems fine (if testing IE11, Edge) you will need to modify https://github.com/plotly/dash-table/blob/3.1-issue234-virtualization/demo/AppMode.ts manually as the Environment params are not functional in IE (only made sure the code executed, haven't polyfilled the search params)

Still to do

  • manual testing to see if all is good, what else to automate
  • improve the internal styling & the user facing styling requirements
  • slow scrolling stickiness / depending on how hard it is to pin down, could make this a bug for later

See #234 (comment) above for testing / running this locally.

Will create a WIP PR most probably tomorrow to start discussing the finer points.

Dash Table automation moved this from In Progress to Closed Dec 4, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
dash-type-enhancement New feature or request
Projects
Dash Table
  
Closed
Development

Successfully merging a pull request may close this issue.

3 participants