summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLeif Åstrand <leif@vaadin.com>2014-12-31 11:42:18 +0200
committerTeemu Suo-Anttila <teemusa@vaadin.com>2014-12-31 10:41:34 +0000
commit68e3c8586655f19d1ff0054f4d70d0f57e4ca30c (patch)
tree40713eea45f58326b51dc3886322dd001d1a5f63
parent68e50ff6371bbe68e19d9145e7dfa787a7f18e89 (diff)
downloadvaadin-framework-68e3c8586655f19d1ff0054f4d70d0f57e4ca30c.tar.gz
vaadin-framework-68e3c8586655f19d1ff0054f4d70d0f57e4ca30c.zip
Ignore selection col for server-side cell style generator (#15486)
Change-Id: Ia66ee24da787ca99d16705e699e46729d9aaaca6
-rw-r--r--client/src/com/vaadin/client/connectors/GridConnector.java8
-rw-r--r--uitest/src/com/vaadin/tests/components/grid/basicfeatures/server/GridCellStyleGeneratorTest.java15
2 files changed, 22 insertions, 1 deletions
diff --git a/client/src/com/vaadin/client/connectors/GridConnector.java b/client/src/com/vaadin/client/connectors/GridConnector.java
index d3954f2366..44aa276382 100644
--- a/client/src/com/vaadin/client/connectors/GridConnector.java
+++ b/client/src/com/vaadin/client/connectors/GridConnector.java
@@ -57,6 +57,7 @@ import com.vaadin.client.widget.grid.sort.SortEvent;
import com.vaadin.client.widget.grid.sort.SortHandler;
import com.vaadin.client.widget.grid.sort.SortOrder;
import com.vaadin.client.widgets.Grid;
+import com.vaadin.client.widgets.Grid.Column;
import com.vaadin.client.widgets.Grid.FooterCell;
import com.vaadin.client.widgets.Grid.FooterRow;
import com.vaadin.client.widgets.Grid.HeaderCell;
@@ -102,7 +103,12 @@ public class GridConnector extends AbstractHasComponentsConnector implements
return null;
}
- CustomGridColumn c = (CustomGridColumn) cellReference.getColumn();
+ Column<?, JsonObject> column = cellReference.getColumn();
+ if (!(column instanceof CustomGridColumn)) {
+ // Selection checkbox column
+ return null;
+ }
+ CustomGridColumn c = (CustomGridColumn) column;
JsonObject cellStylesObject = row
.getObject(GridState.JSONKEY_CELLSTYLES);
diff --git a/uitest/src/com/vaadin/tests/components/grid/basicfeatures/server/GridCellStyleGeneratorTest.java b/uitest/src/com/vaadin/tests/components/grid/basicfeatures/server/GridCellStyleGeneratorTest.java
index fc44d5aaf5..643c61d90a 100644
--- a/uitest/src/com/vaadin/tests/components/grid/basicfeatures/server/GridCellStyleGeneratorTest.java
+++ b/uitest/src/com/vaadin/tests/components/grid/basicfeatures/server/GridCellStyleGeneratorTest.java
@@ -15,11 +15,14 @@
*/
package com.vaadin.tests.components.grid.basicfeatures.server;
+import static org.junit.Assert.assertFalse;
+
import org.junit.Assert;
import org.junit.Test;
import com.vaadin.testbench.elements.GridElement.GridCellElement;
import com.vaadin.testbench.elements.GridElement.GridRowElement;
+import com.vaadin.testbench.elements.NotificationElement;
import com.vaadin.tests.components.grid.basicfeatures.GridBasicFeatures;
import com.vaadin.tests.components.grid.basicfeatures.GridBasicFeaturesTest;
@@ -96,6 +99,18 @@ public class GridCellStyleGeneratorTest extends GridBasicFeaturesTest {
Assert.assertTrue(hasCssClass(cell3_2, "Column-2"));
}
+ @Test
+ public void testCellStyleGeneratorWithSelectionColumn() {
+ setDebug(true);
+ openTestURL();
+ selectMenuPath("Component", "State", "Selection mode", "multi");
+
+ selectCellStyleNameGenerator(GridBasicFeatures.CELL_STYLE_GENERATOR_SPECIAL);
+
+ assertFalse("Error notification was present",
+ isElementPresent(NotificationElement.class));
+ }
+
private void selectRowStyleNameGenerator(String name) {
selectMenuPath("Component", "State", "Row style generator", name);
}