From 07220bbe089e1dd703459dcb05a9dffc883ccba2 Mon Sep 17 00:00:00 2001 From: Artur Date: Wed, 22 Mar 2017 16:12:31 +0200 Subject: Set column captions when reading grid from a design file (#8770) Fixes #8752 --- server/src/main/java/com/vaadin/ui/Grid.java | 12 ++++++++++++ .../tests/server/component/grid/GridDeclarativeTest.java | 6 ++---- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/server/src/main/java/com/vaadin/ui/Grid.java b/server/src/main/java/com/vaadin/ui/Grid.java index 5e13075ebe..a945543ee3 100644 --- a/server/src/main/java/com/vaadin/ui/Grid.java +++ b/server/src/main/java/com/vaadin/ui/Grid.java @@ -87,6 +87,7 @@ import com.vaadin.shared.ui.grid.GridConstants; import com.vaadin.shared.ui.grid.GridConstants.Section; import com.vaadin.shared.ui.grid.GridServerRpc; import com.vaadin.shared.ui.grid.GridState; +import com.vaadin.shared.ui.grid.GridStaticCellType; import com.vaadin.shared.ui.grid.HeightMode; import com.vaadin.shared.ui.grid.ScrollDestination; import com.vaadin.shared.ui.grid.SectionState; @@ -102,6 +103,7 @@ import com.vaadin.ui.components.grid.FooterRow; import com.vaadin.ui.components.grid.GridSelectionModel; import com.vaadin.ui.components.grid.Header; import com.vaadin.ui.components.grid.Header.Row; +import com.vaadin.ui.components.grid.HeaderCell; import com.vaadin.ui.components.grid.HeaderRow; import com.vaadin.ui.components.grid.ItemClickListener; import com.vaadin.ui.components.grid.MultiSelectionModel; @@ -3817,6 +3819,16 @@ public class Grid extends AbstractListing implements HasComponents, getFooter().readDesign(child, context); } } + + // Sync default header captions to column captions + if (getDefaultHeaderRow() != null) { + for (Column c : getColumns()) { + HeaderCell headerCell = getDefaultHeaderRow().getCell(c); + if (headerCell.getCellType() == GridStaticCellType.TEXT) { + c.setCaption(headerCell.getText()); + } + } + } } private void readData(Element body, diff --git a/server/src/test/java/com/vaadin/tests/server/component/grid/GridDeclarativeTest.java b/server/src/test/java/com/vaadin/tests/server/component/grid/GridDeclarativeTest.java index a905b1d900..52af306ec5 100644 --- a/server/src/test/java/com/vaadin/tests/server/component/grid/GridDeclarativeTest.java +++ b/server/src/test/java/com/vaadin/tests/server/component/grid/GridDeclarativeTest.java @@ -802,11 +802,9 @@ public class GridDeclarativeTest extends AbstractListingDeclarativeTest { // Property mapping Assert.assertEquals(expectedColumn.getId(), column.getId()); - // Not tested because of - // https://github.com/vaadin/framework/issues/8752 // Header caption - // Assert.assertEquals(expectedColumn.getCaption(), - // column.getCaption()); + Assert.assertEquals(expectedColumn.getCaption(), + column.getCaption()); // Value providers are not stored in the declarative file // so this only works for bean properties -- cgit v1.2.3