]> source.dussan.org Git - vaadin-framework.git/commitdiff
Don't send partial row updates for a full repaint (#7605)
authorLeif Åstrand <leif@vaadin.com>
Thu, 15 Sep 2011 13:51:21 +0000 (13:51 +0000)
committerLeif Åstrand <leif@vaadin.com>
Thu, 15 Sep 2011 13:51:21 +0000 (13:51 +0000)
svn changeset:21064/svn branch:6.7

src/com/vaadin/ui/Table.java
tests/src/com/vaadin/tests/components/treetable/TreeTableSetCollapsed.html [new file with mode: 0644]
tests/src/com/vaadin/tests/components/treetable/TreeTableSetCollapsed.java [new file with mode: 0644]

index f752519fd12d978bfd8ea9a274e8bc6f2af9c573..80c6b5820fdceceaaf2487b21cf7800dfacdc09c 100644 (file)
@@ -2358,7 +2358,7 @@ public class Table extends AbstractSelect implements Action.Container,
         paintVisibleColumnOrder(target);
 
         // Rows
-        if (isPartialRowUpdate()) {
+        if (isPartialRowUpdate() && !target.isFullRepaint()) {
             paintPartialRowUpdate(target, actionSet);
         } else if (target.isFullRepaint() || isRowCacheInvalidated()) {
             paintRows(target, cells, actionSet);
diff --git a/tests/src/com/vaadin/tests/components/treetable/TreeTableSetCollapsed.html b/tests/src/com/vaadin/tests/components/treetable/TreeTableSetCollapsed.html
new file mode 100644 (file)
index 0000000..e06068c
--- /dev/null
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head profile="http://selenium-ide.openqa.org/profiles/test-case">
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<link rel="selenium.base" href="http://localhost:8080/" />
+<title>New Test</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">New Test</td></tr>
+</thead><tbody>
+<tr>
+       <td>open</td>
+       <td>/run/com.vaadin.tests.components.treetable.TreeTableSetCollapsed?restartApplication</td>
+       <td></td>
+</tr>
+<tr>
+       <td>assertElementPresent</td>
+       <td>vaadin=runcomvaadintestscomponentstreetableTreeTableSetCollapsed::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VTreeTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[0]</td>
+       <td></td>
+</tr>
+</tbody></table>
+</body>
+</html>
diff --git a/tests/src/com/vaadin/tests/components/treetable/TreeTableSetCollapsed.java b/tests/src/com/vaadin/tests/components/treetable/TreeTableSetCollapsed.java
new file mode 100644 (file)
index 0000000..3dd0723
--- /dev/null
@@ -0,0 +1,34 @@
+package com.vaadin.tests.components.treetable;
+
+import com.vaadin.tests.components.TestBase;
+import com.vaadin.ui.TreeTable;
+
+public class TreeTableSetCollapsed extends TestBase {
+
+    @Override
+    protected void setup() {
+        TreeTable tt = new TreeTable();
+        tt.addContainerProperty("Foo", String.class, "");
+        tt.addContainerProperty("Bar", String.class, "");
+
+        Object item1 = tt.addItem(new Object[] { "Foo", "Bar" }, null);
+        Object item2 = tt.addItem(new Object[] { "Foo2", "Bar2" }, null);
+
+        tt.setParent(item2, item1);
+
+        tt.setCollapsed(item1, false);
+
+        addComponent(tt);
+    }
+
+    @Override
+    protected String getDescription() {
+        return "Using setCollapsed before the treetable has initially been rendered should not cause any problems";
+    }
+
+    @Override
+    protected Integer getTicketNumber() {
+        return Integer.valueOf(7605);
+    }
+
+}