From 7925e4ce136b98e2807725ffe6ef86f3d40e69bc Mon Sep 17 00:00:00 2001 From: Teemu Suo-Anttila Date: Wed, 27 May 2015 11:07:00 +0300 Subject: [PATCH] Add class name for not editable editor cells (#18021) Change-Id: Ib9bfb1fd3fe2f3caef745aa0d8fad5913759cb9e --- client/src/com/vaadin/client/widgets/Grid.java | 3 +++ .../grid/basicfeatures/server/GridEditorTest.java | 10 +++++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/client/src/com/vaadin/client/widgets/Grid.java b/client/src/com/vaadin/client/widgets/Grid.java index f1edefc8ba..274daeacb4 100644 --- a/client/src/com/vaadin/client/widgets/Grid.java +++ b/client/src/com/vaadin/client/widgets/Grid.java @@ -1105,6 +1105,7 @@ public class Grid extends ResizeComposite implements public static final int KEYCODE_HIDE = KeyCodes.KEY_ESCAPE; private static final String ERROR_CLASS_NAME = "error"; + private static final String NOT_EDITABLE_CLASS_NAME = "not-editable"; protected enum State { INACTIVE, ACTIVATING, BINDING, ACTIVE, SAVING @@ -1488,6 +1489,8 @@ public class Grid extends ResizeComposite implements columnToWidget.put(column, editor); attachWidget(editor, cell); } + } else { + cell.addClassName(NOT_EDITABLE_CLASS_NAME); } } diff --git a/uitest/src/com/vaadin/tests/components/grid/basicfeatures/server/GridEditorTest.java b/uitest/src/com/vaadin/tests/components/grid/basicfeatures/server/GridEditorTest.java index 2d9d4018e6..5f42bd66d3 100644 --- a/uitest/src/com/vaadin/tests/components/grid/basicfeatures/server/GridEditorTest.java +++ b/uitest/src/com/vaadin/tests/components/grid/basicfeatures/server/GridEditorTest.java @@ -298,8 +298,16 @@ public class GridEditorTest extends GridBasicFeaturesTest { selectMenuPath(EDIT_ITEM_5); assertEditorOpen(); + GridEditorElement editor = getGridElement().getEditor(); assertFalse("Uneditable column should not have an editor widget", - getGridElement().getEditor().isEditable(3)); + editor.isEditable(3)); + assertEquals( + "Not editable cell did not contain correct classname", + "not-editable", + editor.findElement(By.className("v-grid-editor-cells")) + .findElements(By.xpath("./div")).get(3) + .getAttribute("class")); + } private WebElement getSaveButton() { -- 2.39.5