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-05 14:32:09 +0000 |
commit | 9a7798e6393152027f7ac88ca449959a6bd71ce0 (patch) | |
tree | cdcea13976ba24c40b3fe57e290e4cbccf1e424f | |
parent | c5083844600c49e7e25e3947f53c50c6284fb5f5 (diff) | |
download | vaadin-framework-9a7798e6393152027f7ac88ca449959a6bd71ce0.tar.gz vaadin-framework-9a7798e6393152027f7ac88ca449959a6bd71ce0.zip |
Fix Editor overlay position when footer is displayed on top (#19491)
Change-Id: Ifffe66c8a872fe3625cf8c60115b172610b6e9b5
-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:")); + } + } |