aboutsummaryrefslogtreecommitdiffstats
path: root/uitest/src/main/java/com/vaadin/tests/components/table/LabelEmbeddedClickThroughForTable.java
blob: 6e7d6177acf318bbb7b07827dd6d489aa8dc1ddc (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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
package com.vaadin.tests.components.table;

import com.vaadin.server.ThemeResource;
import com.vaadin.server.VaadinRequest;
import com.vaadin.tests.components.AbstractReindeerTestUI;
import com.vaadin.ui.Component;
import com.vaadin.ui.Embedded;
import com.vaadin.v7.data.Item;
import com.vaadin.v7.shared.ui.label.ContentMode;
import com.vaadin.v7.ui.Label;
import com.vaadin.v7.ui.Table;

public class LabelEmbeddedClickThroughForTable extends AbstractReindeerTestUI {

    @Override
    protected String getTestDescription() {
        return "Clicking on a Label or Embedded inside a Table should select the row in the same way that clicking on a text selects the row.";
    }

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

    @SuppressWarnings("unchecked")
    @Override
    protected void setup(VaadinRequest request) {
        Table table = new Table();
        table.setHeight("500px");
        table.setSelectable(true);
        table.addContainerProperty("Column 1", String.class, "");
        table.addContainerProperty("Column 2", Component.class, "");
        table.addContainerProperty("Column 3", Component.class, "");
        table.addContainerProperty("Column 4", Component.class, "");

        Item item = table.addItem("Item 1 (row 1)");
        item.getItemProperty("Column 1").setValue("String A");
        item.getItemProperty("Column 2").setValue(new Label("Label A"));
        item.getItemProperty("Column 3")
                .setValue(new Label("<b>Label A</b>", ContentMode.HTML));
        item.getItemProperty("Column 4")
                .setValue(new Embedded("An embedded image",
                        new ThemeResource("../runo/icons/32/ok.png")));

        item = table.addItem("Item 2 (row 2)");
        item.getItemProperty("Column 1").setValue("String B");
        item.getItemProperty("Column 2").setValue(new Label("Label B"));
        item.getItemProperty("Column 3").setValue(new Label(
                "<a style=\"color: blue\" href=\"javascript:false\">Label B</a>",
                ContentMode.HTML));
        item.getItemProperty("Column 4").setValue(new Embedded("",
                new ThemeResource("../runo/icons/32/cancel.png")));

        table.addItemClickListener(event -> System.out
                .println("Clickevent on item " + event.getItemId()
                        + ", column: " + event.getPropertyId()));
        addComponent(table);
    }

}