specify / specify7

Specify 7
https://www.specifysoftware.org/products/specify-7/
GNU General Public License v2.0
60 stars 36 forks source link

Add a react virtual scrolling library #1761

Open maxpatiiuk opened 2 years ago

maxpatiiuk commented 2 years ago

Need to add a react virtual scrolling library to improve rendering performance.

Can be used in the following places:

Probably there are many other places where this would be applicable. Though, in some places explicit pagination would make more sense. See https://github.com/specify/specify7/issues/1398

maxpatiiuk commented 1 year ago

@CarolineDenis did research on this and faced some obstacles. Feel free to write down the things you found before we forget for future reference.

A summary from what I can remember: Virtual scrolling libraries are still not very satisfactory - they add too many constraints:

Thus, for now a better solutions are (depending on which is more applicable):

CarolineDenis commented 1 year ago

Paginator component created in this PR: https://github.com/specify/specify7/issues/1398

grantfitzsimmons commented 10 months ago

Fixed by #3195

maxpatiiuk commented 10 months ago

3195 addresses that for record sets and query results dialogs only.

  1. There are other dialogs that haven't been addressed yet (data sets, reports)
  2. There are places that need virtual scrolling library still:
    • Autocomplete results
    • Preparations list
    • Query results
    • FormTable
maxpatiiuk commented 10 months ago

i.e, when CSIRO was complaining about poor performance for large pick lists, or when @grantfitzsimmons was complaining about poor autocomplete performance when doing search with a single character - both of those could be partially solved by adding virtual scrolling library or a similar solution