From 614457a95d24ee7a307f5317d8a26c9876728a6c Mon Sep 17 00:00:00 2001 From: Teemu Suo-Anttila Date: Fri, 12 Feb 2016 09:35:41 +0200 Subject: Fix Grid DetailsGenerator being removed on Container change (#19593) Change-Id: Ied328804260b1a7bb35093fca1d972735559cf41 --- server/src/com/vaadin/ui/Grid.java | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'server/src/com/vaadin') diff --git a/server/src/com/vaadin/ui/Grid.java b/server/src/com/vaadin/ui/Grid.java index 0774afd582..06ab8d1581 100644 --- a/server/src/com/vaadin/ui/Grid.java +++ b/server/src/com/vaadin/ui/Grid.java @@ -312,7 +312,7 @@ public class Grid extends AbstractFocusable implements SelectionNotifier, * * @see #setDetailsGenerator(DetailsGenerator) */ - private DetailsGenerator detailsGenerator = DetailsGenerator.NULL; + private DetailsGenerator detailsGenerator; /** * This map represents all details that are currently visible on the @@ -334,7 +334,13 @@ public class Grid extends AbstractFocusable implements SelectionNotifier, private final Set openDetails = new HashSet(); public DetailComponentManager(Grid grid) { + this(grid, DetailsGenerator.NULL); + } + + public DetailComponentManager(Grid grid, + DetailsGenerator detailsGenerator) { super(grid); + setDetailsGenerator(detailsGenerator); } /** @@ -4914,7 +4920,12 @@ public class Grid extends AbstractFocusable implements SelectionNotifier, } } - detailComponentManager = new DetailComponentManager(this); + if (detailComponentManager != null) { + detailComponentManager = new DetailComponentManager(this, + detailComponentManager.getDetailsGenerator()); + } else { + detailComponentManager = new DetailComponentManager(this); + } /* * selectionModel == null when the invocation comes from the -- cgit v1.2.3