Is there a performant way to use this kind of JS files without loading the full database table into the frontend? I couldn't find anything in the documentation.
There is: give the list a fixed height and a scrollbar to display more. Load the first two or so pages immediately and render them, then request more right away (or as the user scrolls, if they scroll faster than you can load them). As the user scrolls, remove dom elements that are more than a page above or below the visible area to keep the number of nodes small. Obviously, cache the data (and the removed nodes) so that when the user scrolls back to the same spot you can load them again quickly.
If performance is important and you have a lot of data, this is an enormously tricky thing to get right, and perhaps impossible in a general case.
Note that fast scrolling of lots of data is a little-noticed but extremely optimized operation in the OS X and iPhone UI, and has undoubtedly received multiple man-years of attention.
I have optimized the script so that only 200 items are visible by default (change with options = { maxVisibleItemsCount: int }) this makes it possible to add large amounts (100 000+) items into the list without problems (except for sorting, thats sloooow if you have large amout of items).
But I am working on a solution for auto-loading data from callbacks or showing more items in list on the fly. But the problem is that most solutions are dependent on how the HTML/CSS around the list is implemented, which is something I want to avoid. Im thinking a lot about it, though.
Is there a performant way to use this kind of JS files without loading the full database table into the frontend? I couldn't find anything in the documentation.