diff options
Diffstat (limited to 'uitest/src/com/vaadin/tests/tickets/Ticket2126.java')
-rw-r--r-- | uitest/src/com/vaadin/tests/tickets/Ticket2126.java | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/uitest/src/com/vaadin/tests/tickets/Ticket2126.java b/uitest/src/com/vaadin/tests/tickets/Ticket2126.java new file mode 100644 index 0000000000..d49c73ea5f --- /dev/null +++ b/uitest/src/com/vaadin/tests/tickets/Ticket2126.java @@ -0,0 +1,63 @@ +package com.vaadin.tests.tickets; + +import com.vaadin.data.Item; +import com.vaadin.data.util.IndexedContainer; +import com.vaadin.ui.Button; +import com.vaadin.ui.Component; +import com.vaadin.ui.Label; +import com.vaadin.ui.UI.LegacyWindow; +import com.vaadin.ui.Table; + +/** + * + * Toggling container with an empty one may result duplicate header cell in + * client. + * + */ +public class Ticket2126 extends com.vaadin.Application.LegacyApplication { + + LegacyWindow main = new LegacyWindow(); + Table table = new Table(); + + @Override + public void init() { + setMainWindow(main); + + final IndexedContainer container1 = new IndexedContainer(); + container1.addContainerProperty("text", Component.class, null); + final IndexedContainer container2 = new IndexedContainer(); + + // Case #2 Try to comment the following line for another type of strange + // behaviour + container2.addContainerProperty("text", Component.class, null); + + for (int i = 0; i < 100; i++) { + Item item = container1.addItem(i); + item.getItemProperty("text").setValue(new Label("Test " + i)); + } + + table.setContainerDataSource(container1); + + // workaround for case #2 + // table.setWidth("300px"); + // table.setHeight("300px"); + + Button refreshTable = new Button("Switch table container"); + refreshTable.addListener(new Button.ClickListener() { + boolean full = true; + + @Override + public void buttonClick(Button.ClickEvent e) { + if (full) { + table.setContainerDataSource(container2); + } else { + table.setContainerDataSource(container1); + } + full = !full; + } + }); + + main.addComponent(table); + main.addComponent(refreshTable); + } +}
\ No newline at end of file |