aboutsummaryrefslogtreecommitdiffstats
path: root/uitest/src/main/java/com/vaadin/tests/components/grid/GridMultiSelectionOnInit.java
blob: 3e1fe8b3b2107c74c07e77675071aef8b04491f5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
package com.vaadin.tests.components.grid;

import java.util.Arrays;

import com.vaadin.server.VaadinRequest;
import com.vaadin.tests.components.AbstractTestUI;
import com.vaadin.ui.Button;
import com.vaadin.ui.Grid;
import com.vaadin.ui.Grid.SelectionMode;
import com.vaadin.ui.RadioButtonGroup;
import com.vaadin.ui.components.grid.MultiSelectionModel.SelectAllCheckBoxVisibility;
import com.vaadin.ui.components.grid.MultiSelectionModelImpl;

public class GridMultiSelectionOnInit extends AbstractTestUI {

    @Override
    protected void setup(VaadinRequest request) {
        final Grid<String> grid = new Grid<>();
        grid.setItems("Foo 1", "Foo 2");
        grid.addColumn(item -> item);
        MultiSelectionModelImpl<String> selectionModel = (MultiSelectionModelImpl<String>) grid
                .setSelectionMode(SelectionMode.MULTI);

        addComponent(grid);

        addComponent(new Button("Select rows",
                event -> grid.getSelectionModel().select("Foo 1")));
        if (request.getParameter("initialSelection") != null) {
            grid.getSelectionModel().select("Foo 2");
        }

        RadioButtonGroup<SelectAllCheckBoxVisibility> rbg = new RadioButtonGroup<>(
                "Select All Visible",
                Arrays.asList(SelectAllCheckBoxVisibility.VISIBLE,
                        SelectAllCheckBoxVisibility.HIDDEN,
                        SelectAllCheckBoxVisibility.DEFAULT));
        rbg.setValue(selectionModel.getSelectAllCheckBoxVisibility());
        rbg.addValueChangeListener(event -> selectionModel
                .setSelectAllCheckBoxVisibility(event.getValue()));
        addComponent(rbg);
    }
}