Directory

← Back

InfiniteGrid

InfiniteGrid is a Grid like component that allows arbitrary amount of scrolling in both horizontal and vertical directions

Author

Rating

Popularity

<100

Data for cells are fetched lazily on demand from server. InfiniteGrid is not extending or using Vaadin Grid and does not share features like resizable columns or row selection. It is aimed to provide a way to have an arbitrary number of columns without a performance penalty having elements outside visible scope. In practice the max scrollable area depends on browser limitations.

Sample code

InfiniteGrid infiniteGrid = new InfiniteGrid();
infiniteGrid.setCellSize(200, 40);
infiniteGrid.setItemCount(100000, 100000);
infiniteGrid.setTextOnly(true);
infiniteGrid.setHtmlGenerator((x,y)-> String.format("%d, %d", x,y));
InfiniteGrid infiniteGrid = new InfiniteGrid();
infiniteGrid.setCellSize(200, 40);
infiniteGrid.setItemCount(100000, 100000);
infiniteGrid.setComponentGenerator((x, y) ->
        new Button(
            String.format("%d, %d", x, y),
            e -> Notification.show(String.format("clicked (%d, %d)", x, y))
        ));

Compatibility

(Loading compatibility data...)

Was this helpful? Need more help?
Leave a comment or a question below. You can also join the chat on Discord or ask questions on StackOverflow.

Version

Exclude flow-build-info.json from build in order to avoid addon polluting the application using it

Released
2023-04-05
Maturity
BETA
License
Apache License 2.0

Compatibility

Framework
Vaadin 24+
Polymer 3.0+ in 0.7
Polymer 2.0+ in 0.7
Vaadin 10+ in 0.7
Browser
Firefox
Safari
Google Chrome
iOS Browser
Android Browser
Microsoft Edge

InfiniteGrid - Vaadin Add-on Directory

InfiniteGrid is a Grid like component that allows arbitrary amount of scrolling in both horizontal and vertical directions InfiniteGrid - Vaadin Add-on Directory
Data for cells are fetched lazily on demand from server. InfiniteGrid is not extending or using Vaadin Grid and does not share features like resizable columns or row selection. It is aimed to provide a way to have an arbitrary number of columns without a performance penalty having elements outside visible scope. In practice the max scrollable area depends on browser limitations.
View on GitHub
Issue tracker
Online Demo
Example application source code

InfiniteGrid version 0.1
Initial release where basic html/text and component rendering is supported.

InfiniteGrid version 0.2
Added support for Vaadin 14+ npm mode

InfiniteGrid version 0.3
Added support for static polymer templates

InfiniteGrid version 0.4
Added support for column and row headers

InfiniteGrid version 0.5
Fixed bug where component renderer was missing rows while scrolling fast. Optimize client - server traffic while scrolling very fast

InfiniteGrid version 0.6
Workaround for https://github.com/vaadin/flow/issues/6336

InfiniteGrid version 0.7
Added support for changing dimensions in runtime. Added support for programmatically refresh.

InfiniteGrid version 1.0.0
Vaadin 24+ support. This removes support for old Polymer 1 & 2 and adds support for Lit templates instead.

InfiniteGrid version 1.0.1
Built in production mode

InfiniteGrid version 1.0.2
Exclude flow-build-info.json from build in order to avoid addon polluting the application using it

Online