aboutsummaryrefslogtreecommitdiffstats
path: root/uitest/src/main/java/com/vaadin/tests/components/combobox/ComboBoxSelectingWithNewItemsAllowed.java
blob: ac123d160f53c318ee26cf97e7c2452de7ca26aa (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
package com.vaadin.tests.components.combobox;

import com.vaadin.data.provider.Query;
import com.vaadin.server.VaadinRequest;
import com.vaadin.ui.Label;

public class ComboBoxSelectingWithNewItemsAllowed extends ComboBoxSelecting {

    @Override
    protected void setup(VaadinRequest request) {
        super.setup(request);
        final Label label = new Label(String.valueOf(items.size()));
        label.setCaption("Item count:");
        label.setId("count");

        comboBox.setNewItemHandler(text -> {
            items.add(text);
            comboBox.setItems(items);
            comboBox.setValue(text);
            label.setValue(String.valueOf(items.size()));
        });

        comboBox.addValueChangeListener(event -> label.setValue(
                String.valueOf(comboBox.getDataProvider().size(new Query()))));
        addComponent(label);
    }

    @Override
    protected String getTestDescription() {
        return "ComboBox should select value on TAB also when new items are allowed.";
    }

    @Override
    protected Integer getTicketNumber() {
        return 9369;
    }
}