3 ms·
A first step would be to make virtualization part of HTML, that thing is a nightmare.
by nick-keller 3y ago
A first step would be to make virtualization part of HTML, that thing is a nightmare.
- tacone 3y agoAgreed. Virtualization with a table layout, sticky header, native scrolling, and inline content (aka no iframe) it's quite challenging, especially if business-value-wise it's seen as some kind of commodity. Factor in variable height and you're in for big trouble. Refer to this POC (read: uncompleted unuseful app) to understand what I mean (save for the variable height): https://csv.riiway.com/ https://csv.riiway.com/
- c-smile 3y agoAgree about virtualization in principle. Not that nightmarish though. My Sciter supports built-in virtualization out of the box. But I shall admit that this is second approach to the problem. Currently Sciter's behavior:virtual-list supports as fixed-height items (that's easy) as variable-height items like messages [1] in chats. API is relatively simple [2]: single event "contentrequired" that virtual-list sends to JS. In response JS shall either append or prepend requested number of DOM elements to the container (a.k.a. sliding window scroller). Example, grid showing 20000 records: https://gitlab.com/sciter-engine/sciter-js-sdk/-/blob/main/samples.sciter/virtual-list/test-basic.htm https://gitlab.com/sciter-engine/sciter-js-sdk/-/blob/main/s... And needless to say that this supports animated (a.k.a. kinetic) scroll. [1] https://sciter.com/behaviorvirtual-list-for-sciter-and-sciter-js https://sciter.com/behaviorvirtual-list-for-sciter-and-scite... [2] https://docs.sciter.com/docs/behaviors/behavior-virtual-list https://docs.sciter.com/docs/behaviors/behavior-virtual-list