aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--client/src/com/vaadin/client/ui/grid/EditorRow.java3
-rw-r--r--uitest/src/com/vaadin/tests/components/grid/basicfeatures/client/GridEditorRowTest.java7
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);
+ }
}