diff options
author | Artur <artur@vaadin.com> | 2017-01-20 10:18:46 +0200 |
---|---|---|
committer | Aleksi Hietanen <aleksi@vaadin.com> | 2017-01-20 10:18:46 +0200 |
commit | 1d01e7ff58577e98c6eed91a8a317696b56cb5dd (patch) | |
tree | 7e4778d83018e38a9006fae7c73845ff7990e780 | |
parent | ef299939b8b033e8a419afaf4032179acf591947 (diff) | |
download | vaadin-framework-1d01e7ff58577e98c6eed91a8a317696b56cb5dd.tar.gz vaadin-framework-1d01e7ff58577e98c6eed91a8a317696b56cb5dd.zip |
Flush the correct editor widget if there are hidden columns (#8276)
Fixes #8266
-rwxr-xr-x | client/src/main/java/com/vaadin/client/widgets/Grid.java | 4 | ||||
-rw-r--r-- | uitest/src/test/java/com/vaadin/tests/components/grid/basicfeatures/server/GridEditorBufferedTest.java | 23 |
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 |