This is a simple Table component backed by DataProvider. The data provider populates the Table with data from the beans. The component has minimal API and ultra simple design. The purpose of this component is to be a little sibling to Grid. Thus there are many features intentionally left out. This component does not support lazy loading of the data, thus it is purposed for the small data sets only. In other words this is designed for use cases where Grid is too heavy, overkill, etc.
BeanTable's cells can be populated by text, html or components.
Currently only minimal styling included, no scrolling, etc. provided.
The component has css class name "bean-table" and custom css can be applied with it.
- Added menu for column visibility selection
- Added API to control column visibility
- Added row index variant
- Added theme variants for stripes, bordering, padding and wrapping
- Added cell focus behaviors, which are useful with A11y. By default no focus behavior.
- Did some small improvements in A11y behaviors by testing the component with NVDA
- Added getPage / setPage
- Fixed issue page not being adjusted when filtering
- Fix NPE in paged mode
- Add A11y support
- Added tooltip support
- Added width API for column
- Added column alignment API
- Added getters for Column and List
- Fix issue with missing initial data reset using in-memory data, hence data not shown
- Add support for components in headers, Column#setHeader(Component)
- First release with support for DataView API introduced in Vaadin 17
JavaScript modules can either be published as an NPM package or be kept as local
files in your project. The local JavaScript modules should be put in
src/main/resources/META-INF/frontend
so that they are automatically found and
used in the using application.
If the modules are published then the package should be noted in the component
using the @NpmPackage
annotation in addition to using @JsModule
annotation.
Starting the test/demo server:
- Run
mvn jetty:run
. - Open http://localhost:8080 in the browser.
You can create the zip package needed for Vaadin Directory using
mvn versions:set -DnewVersion=1.0.0 # You cannot publish snapshot versions
mvn install -Pdirectory
The package is created as target/beantable-1.0.0.zip
For more information or to upload the package, visit https://vaadin.com/directory/my-components?uploadNewComponent