jadrake75 / ng-scrolling-table

MIT License
8 stars 2 forks source link

Provide Virtual Buffer for large tables #69

Open jadrake75 opened 10 years ago

jadrake75 commented 10 years ago

In general, tables over 500 rows should be buffered using a virtual buffer. It is proposed that the table definition should have a custom repeater that will maintain the original data list while providing a sub-list of 100 or so items to the actually ng-repeater. As well scrolling will need to be plugged in to change the cursor and change the 100 items bound.

The table should be able to be configured as a virtual table and dictate:

jadrake75 commented 9 years ago

Given the direction we are going with reordering of columns etc. it makes sense this should be in the 0.9.1 release.

Xanir commented 9 years ago

If the virtual scroller knows how to fill the viewport with data would the ability to specify the specific number of rows be needed? In the past I have see virtual scrollers specify how many rows above and below the viewport to render, what that be sufficient or event needed given the above?

jadrake75 commented 9 years ago

The 100 and 500 was merely suggesting a buffering strategy. Not a requirement. Ideally, given a number of items (say 5000) the virtual buffer should be able to cleanly and smoothly handle them. As for scrolling "accuracy" - this is a topic I know we've discussed and I think the goal has to be to "give it an estimated location" and it may be off a few rows but as long as you scroll (mouse wheel) and it brings in one row at a time, or single click the arrows that is fine. For drag placement it is an estimate.

I intend to use it to acquire up to 1000 rows from the server and then page that. But I will only display 20-30 rows at a time so I need a scrolling "pane" within that 1000.