Browse Source

Add class name for not editable editor cells (#18021)

Change-Id: I6d5ef1a125ae1739b0e3de49eac2f68ba66afb05
tags/7.4.8
Teemu Suo-Anttila 9 years ago
parent
commit
5d33446d05

+ 3
- 0
client/src/com/vaadin/client/widgets/Grid.java View File

@@ -1050,6 +1050,7 @@ public class Grid<T> 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
@@ -1433,6 +1434,8 @@ public class Grid<T> extends ResizeComposite implements
columnToWidget.put(column, editor);
attachWidget(editor, cell);
}
} else {
cell.addClassName(NOT_EDITABLE_CLASS_NAME);
}
}


+ 9
- 1
uitest/src/com/vaadin/tests/components/grid/basicfeatures/server/GridEditorTest.java View File

@@ -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() {

Loading…
Cancel
Save