diff options
-rw-r--r-- | client/src/com/vaadin/client/widgets/Grid.java | 8 | ||||
-rw-r--r-- | uitest/src/com/vaadin/tests/fieldgroup/BasicCrudGridEditorRowTest.java | 21 |
2 files changed, 26 insertions, 3 deletions
diff --git a/client/src/com/vaadin/client/widgets/Grid.java b/client/src/com/vaadin/client/widgets/Grid.java index 0de5e7a239..252bcfed3c 100644 --- a/client/src/com/vaadin/client/widgets/Grid.java +++ b/client/src/com/vaadin/client/widgets/Grid.java @@ -1817,9 +1817,7 @@ public class Grid<T> extends ResizeComposite implements @Override public void onScroll(ScrollEvent event) { updateHorizontalScrollPosition(); - if (!isBuffered()) { - updateVerticalScrollPosition(); - } + updateVerticalScrollPosition(); } }); @@ -2109,6 +2107,10 @@ public class Grid<T> extends ResizeComposite implements * row container if the edited row is scrolled out of the visible area. */ private void updateVerticalScrollPosition() { + if (isBuffered()) { + return; + } + double newScrollTop = grid.getScrollTop(); int gridTop = grid.getElement().getAbsoluteTop(); diff --git a/uitest/src/com/vaadin/tests/fieldgroup/BasicCrudGridEditorRowTest.java b/uitest/src/com/vaadin/tests/fieldgroup/BasicCrudGridEditorRowTest.java index 769fa52323..df250357d8 100644 --- a/uitest/src/com/vaadin/tests/fieldgroup/BasicCrudGridEditorRowTest.java +++ b/uitest/src/com/vaadin/tests/fieldgroup/BasicCrudGridEditorRowTest.java @@ -15,6 +15,8 @@ */ package com.vaadin.tests.fieldgroup; +import static org.junit.Assert.assertFalse; + import org.junit.Assert; import org.junit.Before; import org.junit.Test; @@ -89,4 +91,23 @@ public class BasicCrudGridEditorRowTest extends MultiBrowserTest { Assert.assertNotEquals("Checkbox value did not change", value, cb.getValue()); } + + @Test + public void testNoTopStyleSetOnEditorOpenWithFooterOnTop() { + GridCellElement cell = grid.getCell(2, 3); + // Open editor row + new Actions(getDriver()).doubleClick(cell).perform(); + + // Close editor + new Actions(getDriver()).sendKeys(Keys.ESCAPE).perform(); + + cell = grid.getCell(14, 3); + + // Open editor row + new Actions(getDriver()).doubleClick(cell).perform(); + + String attribute = grid.getEditor().getAttribute("style").toLowerCase(); + assertFalse("Style should not contain top.", attribute.contains("top:")); + } + } |