hezamu / github-release-watcher

A Scala.js app to display Github releases
0 stars 0 forks source link

Table pagination/infinity scrolling #4

Open gilberto-torrezan opened 7 years ago

gilberto-torrezan commented 7 years ago

Currently all releases are loaded in one batch, which makes the initialization pretty slow.

I want to be able to paginate the results (infinity scroll would be fancier), making the first batch smaller, and the initialization faster.

hezamu commented 7 years ago

I'm not sure I understand. Do you want to load the releases for only certain repos before rendering?

The grid is using a lazy loading data source already.

gilberto-torrezan commented 7 years ago

By looking at the console I see that the data is loaded in multiple calls, but the overall feeling is that the table is only shown when all the data is loaded.

By infinite scroll I mean: load the first n records (let's say, 30), and then only load more records after everything else is loaded and the user scrolls down the page.

hezamu commented 7 years ago

That's exactly how the vaadin-grid data provider works, once it has loaded all data from Github API.

The delay at the start happens because it waits for 30+ API requests to resolve before adding anything to the grid. Those requests take a bit over than a second to resolve.

One idea would be to store the release list to local storage, and showing it immediately while the requests are running.