Search in sources :

Example 6 with Query

use of com.vaadin.flow.data.provider.Query in project vaadin-app-layout by appreciated.

the class SearchView method furtherConfiguration.

@Override
public void furtherConfiguration(AppLayoutBuilder builder) {
    ListDataProvider<TestSearchResult> dataProvider = new ListDataProvider<>(Arrays.asList(new TestSearchResult("Header1", "Description1"), new TestSearchResult("Header2", "Description2"), new TestSearchResult("Header3", "Description3"), new TestSearchResult("Header4", "Description4"), new TestSearchResult("Header5", "Description5"), new TestSearchResult("Header6", "Description6"), new TestSearchResult("Header7", "Description7"), new TestSearchResult("Header8", "Description8"), new TestSearchResult("Header9", "Description9"), new TestSearchResult("Header10", "Description10")));
    SearchOverlayButton<TestSearchResult, SerializablePredicate<TestSearchResult>> button = new SearchOverlayButtonBuilder<TestSearchResult, SerializablePredicate<TestSearchResult>>().withDataProvider(dataProvider).withQueryProvider(s -> new Query<TestSearchResult, SerializablePredicate<TestSearchResult>>(testEntity -> !s.equals("") && testEntity.getHeader().startsWith(s))).withDataViewProvider(result -> {
        RippleClickableCard card = new RippleClickableCard(new Item(result.getHeader(), result.getDescription()));
        card.setWidthFull();
        card.setBackground("var(--lumo-base-color)");
        return card;
    }).withQueryResultListener(testSearchResult -> Notification.show(testSearchResult.header + " clicked")).build();
    button.setId("it-test-search-button");
    button.getSearchView().getSearchField().setId("it-test-search-field");
    button.getSearchView().getCloseButton().setId("it-test-search-close");
    builder.withAppBar(button);
}
Also used : ListDataProvider(com.vaadin.flow.data.provider.ListDataProvider) SearchOverlayButtonBuilder(com.github.appreciated.app.layout.addons.search.overlay.SearchOverlayButtonBuilder) LeftLayouts(com.github.appreciated.app.layout.component.applayout.LeftLayouts) Arrays(java.util.Arrays) SearchOverlayButton(com.github.appreciated.app.layout.addons.search.overlay.SearchOverlayButton) Query(com.vaadin.flow.data.provider.Query) AppLayoutBuilder(com.github.appreciated.app.layout.component.builder.AppLayoutBuilder) Component(com.vaadin.flow.component.Component) com.github.appreciated.app.layout.test.addon.search.view(com.github.appreciated.app.layout.test.addon.search.view) RoutePrefix(com.vaadin.flow.router.RoutePrefix) RippleClickableCard(com.github.appreciated.card.RippleClickableCard) AppLayout(com.github.appreciated.app.layout.component.applayout.AppLayout) AbstractLeftBehaviorBasicView(com.github.appreciated.app.layout.test.base.AbstractLeftBehaviorBasicView) Item(com.github.appreciated.card.content.Item) SerializablePredicate(com.vaadin.flow.function.SerializablePredicate) Notification(com.vaadin.flow.component.notification.Notification) ListDataProvider(com.vaadin.flow.data.provider.ListDataProvider) Item(com.github.appreciated.card.content.Item) Query(com.vaadin.flow.data.provider.Query) RippleClickableCard(com.github.appreciated.card.RippleClickableCard) SerializablePredicate(com.vaadin.flow.function.SerializablePredicate)

Aggregations

Query (com.vaadin.flow.data.provider.Query)6 SearchOverlayButton (com.github.appreciated.app.layout.addons.search.overlay.SearchOverlayButton)3 SearchOverlayButtonBuilder (com.github.appreciated.app.layout.addons.search.overlay.SearchOverlayButtonBuilder)3 LeftLayouts (com.github.appreciated.app.layout.component.applayout.LeftLayouts)3 AppLayoutBuilder (com.github.appreciated.app.layout.component.builder.AppLayoutBuilder)3 RippleClickableCard (com.github.appreciated.card.RippleClickableCard)3 Item (com.github.appreciated.card.content.Item)3 Notification (com.vaadin.flow.component.notification.Notification)3 ListDataProvider (com.vaadin.flow.data.provider.ListDataProvider)3 SerializablePredicate (com.vaadin.flow.function.SerializablePredicate)3 Arrays (java.util.Arrays)3 SearchButton (com.github.appreciated.app.layout.addons.search.SearchButton)2 AppBarBuilder (com.github.appreciated.app.layout.component.appbar.AppBarBuilder)2 AppLayout (com.github.appreciated.app.layout.component.applayout.AppLayout)2 LeftAppMenuBuilder (com.github.appreciated.app.layout.component.menu.left.builder.LeftAppMenuBuilder)2 LeftClickableItem (com.github.appreciated.app.layout.component.menu.left.items.LeftClickableItem)2 LeftHeaderItem (com.github.appreciated.app.layout.component.menu.left.items.LeftHeaderItem)2 LeftNavigationItem (com.github.appreciated.app.layout.component.menu.left.items.LeftNavigationItem)2 AppLayoutRouterLayout (com.github.appreciated.app.layout.component.router.AppLayoutRouterLayout)2 FOOTER (com.github.appreciated.app.layout.entity.Section.FOOTER)2