diff options
author | Teemu Suo-Anttila <teemusa@vaadin.com> | 2016-01-19 20:46:05 +0200 |
---|---|---|
committer | Teemu Suo-Anttila <teemusa@vaadin.com> | 2016-02-15 17:11:20 +0200 |
commit | e1126078e1b1215ecc26117db5730b618484e994 (patch) | |
tree | 514d5cc33c68fca791389af9921fa485b62576a7 | |
parent | 04a99893d18a3d4ee64beeaa6cab74b4678d4bad (diff) | |
download | vaadin-framework-e1126078e1b1215ecc26117db5730b618484e994.tar.gz vaadin-framework-e1126078e1b1215ecc26117db5730b618484e994.zip |
Fix Editor overlay position when footer is displayed on top (#19491)
Change-Id: I6ad09f0d69073042e76bb208b951824333cba230
-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:")); + } + } |