diff options
author | Artur Signell <artur@vaadin.com> | 2011-11-24 10:34:30 +0200 |
---|---|---|
committer | Artur Signell <artur@vaadin.com> | 2011-11-24 10:34:30 +0200 |
commit | fbe730fa4c7b4a842161bf1576ef9e5591c73966 (patch) | |
tree | 9156724c69ec7e97a2b3f36460ab82616bd88867 | |
parent | f76503ec651cc0b55f5c1870984493085f1daa1b (diff) | |
parent | cc44f8de6e91c85f455e44ece787fff8cc05222a (diff) | |
download | vaadin-framework-fbe730fa4c7b4a842161bf1576ef9e5591c73966.tar.gz vaadin-framework-fbe730fa4c7b4a842161bf1576ef9e5591c73966.zip |
Merge remote-tracking branch 'origin/6.8'
6 files changed, 104 insertions, 10 deletions
diff --git a/src/com/vaadin/terminal/gwt/client/ui/VDragAndDropWrapperIE.java b/src/com/vaadin/terminal/gwt/client/ui/VDragAndDropWrapperIE.java index 89f063eaf9..0032b1a5dc 100644 --- a/src/com/vaadin/terminal/gwt/client/ui/VDragAndDropWrapperIE.java +++ b/src/com/vaadin/terminal/gwt/client/ui/VDragAndDropWrapperIE.java @@ -1,3 +1,7 @@ +/* +@ITMillApache2LicenseForJavaFiles@ + */ + package com.vaadin.terminal.gwt.client.ui; import com.google.gwt.dom.client.AnchorElement; diff --git a/src/com/vaadin/terminal/gwt/client/ui/VTreeTable.java b/src/com/vaadin/terminal/gwt/client/ui/VTreeTable.java index bcd87da751..fc6ec46d64 100644 --- a/src/com/vaadin/terminal/gwt/client/ui/VTreeTable.java +++ b/src/com/vaadin/terminal/gwt/client/ui/VTreeTable.java @@ -81,6 +81,7 @@ public class VTreeTable extends VScrollTable { colIndexOfHierarchy = uidl .hasAttribute(ATTRIBUTE_HIERARCHY_COLUMN_INDEX) ? uidl .getIntAttribute(ATTRIBUTE_HIERARCHY_COLUMN_INDEX) : 0; + int oldTotalRows = getTotalRows(); super.updateFromUIDL(uidl, client); if (collapseRequest) { if (collapsedRowKey != null && scrollBody != null) { @@ -96,15 +97,19 @@ public class VTreeTable extends VScrollTable { widget.setScrollPosition(scrollPosition); } - /* - * Triggers row calculations, removes cached rows etc. Basically - * cleans up state. Be careful if touching this, you will brake - * pageLength=0 if you remove this. - */ + // check which rows are needed from the server and initiate a + // deferred fetch onScroll(null); - + } + // Recalculate table size if collapse request, or if page length is zero + // (not sent by server) and row count changes (#7908). + if (collapseRequest + || (!uidl.hasAttribute("pagelength") && getTotalRows() != oldTotalRows)) { /* * Ensure that possibly removed/added scrollbars are considered. + * Triggers row calculations, removes cached rows etc. Basically + * cleans up state. Be careful if touching this, you will break + * pageLength=0 if you remove this. */ triggerLazyColumnAdjustment(true); diff --git a/tests/testbench/com/vaadin/tests/components/draganddropwrapper/DragAndDropWrapperTooltips.html b/tests/testbench/com/vaadin/tests/components/draganddropwrapper/DragAndDropWrapperTooltips.html index 13d6312cf7..03ec163e40 100644 --- a/tests/testbench/com/vaadin/tests/components/draganddropwrapper/DragAndDropWrapperTooltips.html +++ b/tests/testbench/com/vaadin/tests/components/draganddropwrapper/DragAndDropWrapperTooltips.html @@ -18,7 +18,7 @@ </tr> <tr> <td>showTooltip</td> - <td>vaadin=runcomvaadintestscomponentsdraganddropwrapperDragAndDropWrapperTooltips::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VVerticalLayout[0]/ChildComponentContainer[0]/VDragAndDropWrapper[0]/VCssLayout[0]/VCssLayout$FlowPane[0]/VDragAndDropWrapper[2]</td> + <td>vaadin=runcomvaadintestscomponentsdraganddropwrapperDragAndDropWrapperTooltips::PID_Swrapper3</td> <td>0,0</td> </tr> <tr> @@ -28,17 +28,17 @@ </tr> <tr> <td>drag</td> - <td>vaadin=runcomvaadintestscomponentsdraganddropwrapperDragAndDropWrapperTooltips::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VVerticalLayout[0]/ChildComponentContainer[0]/VDragAndDropWrapper[0]/VCssLayout[0]/VCssLayout$FlowPane[0]/VDragAndDropWrapper[3]</td> + <td>vaadin=runcomvaadintestscomponentsdraganddropwrapperDragAndDropWrapperTooltips::PID_Swrapper4</td> <td>30,41</td> </tr> <tr> <td>drop</td> - <td>vaadin=runcomvaadintestscomponentsdraganddropwrapperDragAndDropWrapperTooltips::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VVerticalLayout[0]/ChildComponentContainer[0]/VDragAndDropWrapper[0]/VCssLayout[0]/VCssLayout$FlowPane[0]/VDragAndDropWrapper[1]</td> + <td>vaadin=runcomvaadintestscomponentsdraganddropwrapperDragAndDropWrapperTooltips::PID_Swrapper2</td> <td>4,42</td> </tr> <tr> <td>showTooltip</td> - <td>vaadin=runcomvaadintestscomponentsdraganddropwrapperDragAndDropWrapperTooltips::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VVerticalLayout[0]/ChildComponentContainer[0]/VDragAndDropWrapper[0]/VCssLayout[0]/VCssLayout$FlowPane[0]/VDragAndDropWrapper[0]/VLabel[0]</td> + <td>vaadin=runcomvaadintestscomponentsdraganddropwrapperDragAndDropWrapperTooltips::PID_Swrapper1/VLabel[0]</td> <td>0,0</td> </tr> <tr> diff --git a/tests/testbench/com/vaadin/tests/components/draganddropwrapper/DragAndDropWrapperTooltips.java b/tests/testbench/com/vaadin/tests/components/draganddropwrapper/DragAndDropWrapperTooltips.java index b147392480..6b89d1392c 100644 --- a/tests/testbench/com/vaadin/tests/components/draganddropwrapper/DragAndDropWrapperTooltips.java +++ b/tests/testbench/com/vaadin/tests/components/draganddropwrapper/DragAndDropWrapperTooltips.java @@ -45,6 +45,7 @@ public class DragAndDropWrapperTooltips extends TestBase { for (int i = 1; i <= 4; i++) { WrappedLabel wl = new WrappedLabel("Block"); + wl.setDebugId("wrapper" + i); wl.addStyleName("b" + i); cssLayout.addComponent(wl); } diff --git a/tests/testbench/com/vaadin/tests/components/treetable/ChangeDataSourcePageLengthZero.html b/tests/testbench/com/vaadin/tests/components/treetable/ChangeDataSourcePageLengthZero.html new file mode 100644 index 0000000000..8391ca186d --- /dev/null +++ b/tests/testbench/com/vaadin/tests/components/treetable/ChangeDataSourcePageLengthZero.html @@ -0,0 +1,67 @@ +<?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="" /> +<title>ChangeDataSourcePageLengthZero</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> +<thead> +<tr><td rowspan="1" colspan="3">ChangeDataSourcePageLengthZero</td></tr> +</thead><tbody> +<tr> + <td>open</td> + <td>/run/com.vaadin.tests.components.treetable.ChangeDataSourcePageLengthZero?restartApplication</td> + <td></td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>initial</td> +</tr> +<tr> + <td>click</td> + <td>vaadin=runcomvaadintestscomponentstreetableChangeDataSourcePageLengthZero::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[2]/VButton[0]/domChild[0]/domChild[0]</td> + <td></td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>smallcontainer</td> +</tr> +<tr> + <td>mouseClick</td> + <td>vaadin=runcomvaadintestscomponentstreetableChangeDataSourcePageLengthZero::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VTreeTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[3]/domChild[0]/domChild[0]/domChild[0]</td> + <td>12,8</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>expanded</td> +</tr> +<tr> + <td>click</td> + <td>vaadin=runcomvaadintestscomponentstreetableChangeDataSourcePageLengthZero::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[3]/VButton[0]/domChild[0]/domChild[0]</td> + <td></td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>addeditem</td> +</tr> +<tr> + <td>click</td> + <td>vaadin=runcomvaadintestscomponentstreetableChangeDataSourcePageLengthZero::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VButton[0]/domChild[0]/domChild[0]</td> + <td></td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>bigcontainer</td> +</tr> + +</tbody></table> +</body> +</html> diff --git a/tests/testbench/com/vaadin/tests/components/treetable/ChangeDataSourcePageLengthZero.java b/tests/testbench/com/vaadin/tests/components/treetable/ChangeDataSourcePageLengthZero.java index 701c7a6a36..3d01883deb 100644 --- a/tests/testbench/com/vaadin/tests/components/treetable/ChangeDataSourcePageLengthZero.java +++ b/tests/testbench/com/vaadin/tests/components/treetable/ChangeDataSourcePageLengthZero.java @@ -31,8 +31,25 @@ public class ChangeDataSourcePageLengthZero extends TestBase { setupContainer(tt, 10);
}
});
+ Button addButton = new Button("Add item");
+ addButton.addListener(new Button.ClickListener() {
+ private int i = 1;
+
+ public void buttonClick(ClickEvent event) {
+ HierarchicalContainer container = (HierarchicalContainer) tt
+ .getContainerDataSource();
+ Object itemId = container.addItem();
+ container.getContainerProperty(itemId, "i").setValue(i++);
+ container.getContainerProperty(itemId, "link").setValue(
+ new Link(String.valueOf(i + 1), new ExternalResource(
+ "http://www.google.fi")));
+ container.setChildrenAllowed(itemId, false);
+ container.setParent(itemId, null);
+ }
+ });
addComponent(page1);
addComponent(page2);
+ addComponent(addButton);
}
private static void setupContainer(TreeTable tt, int num) {
|