Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Accessing large data collections from the frontend (v1) #353

Open
vlukashov opened this issue Dec 20, 2018 · 2 comments
Open

Accessing large data collections from the frontend (v1) #353

vlukashov opened this issue Dec 20, 2018 · 2 comments
Labels
enhancement New feature or request hilla Issues related to Hilla Impact: High Severity: Minor

Comments

@vlukashov
Copy link

vlukashov commented Dec 20, 2018

When using a Vaadin Grid component in a TypeScript view I want to have an easy way of loading the data lazily so that users do not have to wait until the entire database is loaded into their browsers when they open that page.

In scope (v1)

  • An easy-to-use offset/limit-based Java backend API to expose pageable collections
  • An easy-to-use offset/limit-based JS frontend API to consume pageable collections
  • The backend is stateless (i.e. nothing is left in the server memory after a page request)
  • Support for sorting (possibly by several columns) in the Java / JS API
  • Support for filtering (possibly by several columns) in the Java / JS API
  • Support for counting items (with filters applied) in the Java / JS API
  • Counting items in the collection can be done in the same round trip with fetching a page
  • Support for sub-properties for sorting and filtering (e.g. customer.address.country)
  • Reasonable defaults (no exceptions) if the backend collection is modified between two page requests

Out of scope (v1):

  • The API browser gives a ‘nice’ view of methods returning a pageable collection
  • An easy-to-use cursor-based Java backend API to expose pageable collections
  • An easy-to-use cursor-based JS frontend API to consume pageable collections
  • Guarantees of consistency if the backend collection is modified between the two calls when using offset/limit-based pagination
@haijian-vaadin haijian-vaadin transferred this issue from vaadin/vaadin-connect Feb 20, 2020
@platosha platosha added the enhancement New feature or request label Mar 3, 2020
@vaadin-bot vaadin-bot transferred this issue from vaadin/flow Mar 4, 2022
@platosha
Copy link
Contributor

The backend API is (partially?) implemented with the Pageable support.

@tarekoraby
Copy link
Contributor

A related list of common use cases for data-intensive UIs compiled by @Artur- : https://docs.google.com/document/d/1oN0wvp2tfQQiVWin9sN4j3dqSUegQr18meNqeppGx_A/edit?usp=sharing

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request hilla Issues related to Hilla Impact: High Severity: Minor
Projects
None yet
Development

No branches or pull requests

4 participants