From 74df0fadeb7d6c2a6e15b4716602d6ab7ffb54b1 Mon Sep 17 00:00:00 2001 From: Teemu Suo-Anttila Date: Tue, 6 Sep 2016 15:07:37 +0300 Subject: Add StyleGenerators for Grid and Columns Change-Id: I5eedce6ac24381d657357ff07ca1ccedd804158d --- .../client/connectors/grid/GridConnector.java | 23 ++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'client') diff --git a/client/src/main/java/com/vaadin/client/connectors/grid/GridConnector.java b/client/src/main/java/com/vaadin/client/connectors/grid/GridConnector.java index ab0f6037f1..880de07d55 100644 --- a/client/src/main/java/com/vaadin/client/connectors/grid/GridConnector.java +++ b/client/src/main/java/com/vaadin/client/connectors/grid/GridConnector.java @@ -76,6 +76,29 @@ public class GridConnector // Default selection style is space key. spaceSelectHandler = new SpaceSelectHandler(getWidget()); getWidget().addSortHandler(this::handleSortEvent); + getWidget().setRowStyleGenerator(rowRef -> { + JsonObject json = rowRef.getRow(); + return json.hasKey(GridState.JSONKEY_ROWSTYLE) + ? json.getString(GridState.JSONKEY_ROWSTYLE) : null; + }); + getWidget().setCellStyleGenerator(cellRef -> { + JsonObject row = cellRef.getRow(); + if (!row.hasKey(GridState.JSONKEY_CELLSTYLES)) { + return null; + } + + Column column = cellRef.getColumn(); + if (columnToIdMap.containsKey(column)) { + String id = columnToIdMap.get(column); + JsonObject cellStyles = row + .getObject(GridState.JSONKEY_CELLSTYLES); + if (cellStyles.hasKey(id)) { + return cellStyles.getString(id); + } + } + + return null; + }); layout(); } -- cgit v1.2.3