Skip to content

xdev-software/vaadin-grid-filter

Repository files navigation

Published on Vaadin Directory Latest version Build Quality Gate Status Vaadin 24+

vaadin-grid-filter

A customizable Vaadin Flow component for filtering Grids.

demo

Features

  • Customizable and dynamic filter UI
    • Most common filters, operations and value types are supported out of the box
    • Nested filters (AND, OR, NOT)
      • depth can be limited
    • customizable operations (=,>,<,contains,is empty)
    • support for multiple value types
      • can easily be bound with Vaadin components
  • Query parameter support
  • Support for custom translations

Note

If you are looking for a simpler component you may check out our simple-grid-filter.

Usage

Here is a very simple example how the GridFilter can be used:

Grid<Person> grid = createGrid();

GridFilter<Person> filter = GridFilter.createDefault(grid)
  .withFilterableField("ID", Person::id, Integer.class)
  .withFilterableField("First Name", Person::firstName, String.class);

this.add(filter, grid);

To get started further it's recommended to have a look at the demo.
A description how to get it running can be found below.

Important

This component is designed for "in memory" filtering of small to medium sized amounts of data.

Note

Filtering multiple thousand items with complex filtering conditions can drastically impact performance and make the UI unresponsive!
In these cases it's recommended to use backend filtering solutions like database queries or search engines like ElasticSearch in combination with a customized UI search framework. If you need help in implementing these feel free to contact us.

Installation

Installation guide for the latest release

Compatibility with Vaadin

Vaadin version Grid-Filter version
Vaadin 24+ (latest) 1+

Run the Demo

  • Checkout the repo
  • Run mvn install && mvn -f vaadin-grid-filter-demo spring-boot:run
  • Open http://localhost:8080
Show example

demo

Support

If you need support as soon as possible and you can't wait for any pull request, feel free to use our support.

Contributing

See the contributing guide for detailed instructions on how to get started with our project.

Dependencies and Licenses

View the license of the current project or the summary including all dependencies