diff options
-rw-r--r-- | client/src/com/vaadin/client/ui/grid/EditorRow.java | 3 | ||||
-rw-r--r-- | uitest/src/com/vaadin/tests/components/grid/basicfeatures/client/GridEditorRowTest.java | 7 |
2 files changed, 10 insertions, 0 deletions
diff --git a/client/src/com/vaadin/client/ui/grid/EditorRow.java b/client/src/com/vaadin/client/ui/grid/EditorRow.java index 65e0eab0c1..c57ae26ff3 100644 --- a/client/src/com/vaadin/client/ui/grid/EditorRow.java +++ b/client/src/com/vaadin/client/ui/grid/EditorRow.java @@ -24,6 +24,7 @@ import com.google.gwt.dom.client.TableRowElement; import com.google.gwt.event.dom.client.KeyCodes; import com.google.gwt.user.client.DOM; import com.vaadin.client.ui.grid.Escalator.AbstractRowContainer; +import com.vaadin.client.ui.grid.ScrollbarBundle.Direction; import com.vaadin.shared.ui.grid.ScrollDestination; /** @@ -105,6 +106,7 @@ public class EditorRow<T> { "Cannot cancel edit: EditorRow is not in edit mode"); } hideOverlay(); + grid.getEscalator().setScrollLocked(Direction.VERTICAL, false); state = State.INACTIVE; } @@ -132,6 +134,7 @@ public class EditorRow<T> { protected void show() { if (state == State.ACTIVATING) { state = State.ACTIVE; + grid.getEscalator().setScrollLocked(Direction.VERTICAL, true); showOverlay(grid.getEscalator().getBody().getRowElement(rowIndex)); } } diff --git a/uitest/src/com/vaadin/tests/components/grid/basicfeatures/client/GridEditorRowTest.java b/uitest/src/com/vaadin/tests/components/grid/basicfeatures/client/GridEditorRowTest.java index 29b5ff8f1b..579d00dfd2 100644 --- a/uitest/src/com/vaadin/tests/components/grid/basicfeatures/client/GridEditorRowTest.java +++ b/uitest/src/com/vaadin/tests/components/grid/basicfeatures/client/GridEditorRowTest.java @@ -19,6 +19,7 @@ import static org.junit.Assert.assertNotNull; import org.junit.Before; import org.junit.Test; +import org.openqa.selenium.NoSuchElementException; import com.vaadin.tests.components.grid.basicfeatures.GridBasicClientFeaturesTest; @@ -41,4 +42,10 @@ public class GridEditorRowTest extends GridBasicClientFeaturesTest { selectMenuPath("Component", "State", "Editor row", "Edit row 100"); assertNotNull(getEditorRow()); } + + @Test(expected = NoSuchElementException.class) + public void testVerticalScrollLocking() throws Exception { + selectMenuPath("Component", "State", "Editor row", "Edit row 5"); + getGridElement().getCell(200, 0); + } } |