Provide Virtual Buffer for large tables
Opened this issue · 3 comments
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:
- The number of items in the viewport
Given the direction we are going with reordering of columns etc. it makes sense this should be in the 0.9.1 release.
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?
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.