summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArtur <artur@vaadin.com>2017-01-20 10:18:46 +0200
committerAleksi Hietanen <aleksi@vaadin.com>2017-01-20 10:18:46 +0200
commit1d01e7ff58577e98c6eed91a8a317696b56cb5dd (patch)
tree7e4778d83018e38a9006fae7c73845ff7990e780
parentef299939b8b033e8a419afaf4032179acf591947 (diff)
downloadvaadin-framework-1d01e7ff58577e98c6eed91a8a317696b56cb5dd.tar.gz
vaadin-framework-1d01e7ff58577e98c6eed91a8a317696b56cb5dd.zip
Flush the correct editor widget if there are hidden columns (#8276)
Fixes #8266
-rwxr-xr-xclient/src/main/java/com/vaadin/client/widgets/Grid.java4
-rw-r--r--uitest/src/test/java/com/vaadin/tests/components/grid/basicfeatures/server/GridEditorBufferedTest.java23
2 files changed, 22 insertions, 5 deletions
diff --git a/client/src/main/java/com/vaadin/client/widgets/Grid.java b/client/src/main/java/com/vaadin/client/widgets/Grid.java
index 69801fb0ff..f796529aa7 100755
--- a/client/src/main/java/com/vaadin/client/widgets/Grid.java
+++ b/client/src/main/java/com/vaadin/client/widgets/Grid.java
@@ -7456,8 +7456,8 @@ public class Grid<T> extends ResizeComposite implements HasSelectionHandlers<T>,
if (editor.focusedColumnIndexDOM < 0) {
widget = null;
} else {
- widget = editor
- .getWidget(getColumn(editor.focusedColumnIndexDOM));
+ widget = editor.getWidget(
+ getVisibleColumn(editor.focusedColumnIndexDOM));
}
EditorDomEvent<T> editorEvent = new EditorDomEvent<T>(
diff --git a/uitest/src/test/java/com/vaadin/tests/components/grid/basicfeatures/server/GridEditorBufferedTest.java b/uitest/src/test/java/com/vaadin/tests/components/grid/basicfeatures/server/GridEditorBufferedTest.java
index 34d46eae78..34e9b053d1 100644
--- a/uitest/src/test/java/com/vaadin/tests/components/grid/basicfeatures/server/GridEditorBufferedTest.java
+++ b/uitest/src/test/java/com/vaadin/tests/components/grid/basicfeatures/server/GridEditorBufferedTest.java
@@ -45,8 +45,25 @@ public class GridEditorBufferedTest extends GridEditorTest {
@Test
public void testKeyboardSave() {
selectMenuPath(EDIT_ITEM_100);
-
WebElement textField = getEditorWidgets().get(0);
+ textField.click();
+ // without this, the click in the middle of the field might not be after
+ // the old text on some browsers
+ new Actions(getDriver()).sendKeys(Keys.END).perform();
+ textField.sendKeys(" changed");
+ // Save from keyboard
+ new Actions(getDriver()).sendKeys(Keys.ENTER).perform();
+ assertEditorClosed();
+ assertEquals("(100, 0) changed",
+ getGridElement().getCell(100, 0).getText());
+ }
+
+ @Test
+ public void testKeyboardSaveWithHiddenColumn() {
+ selectMenuPath("Component", "Columns", "Column 0", "Hidden");
+ selectMenuPath(EDIT_ITEM_100);
+
+ WebElement textField = getEditorWidgets().get(1);
textField.click();
// without this, the click in the middle of the field might not be after
@@ -59,8 +76,8 @@ public class GridEditorBufferedTest extends GridEditorTest {
new Actions(getDriver()).sendKeys(Keys.ENTER).perform();
assertEditorClosed();
- assertEquals("(100, 0) changed",
- getGridElement().getCell(100, 0).getText());
+ assertEquals("(100, 2) changed",
+ getGridElement().getCell(100, 1).getText());
}
@Test