diff options
author | Artur Signell <artur@vaadin.com> | 2015-06-23 23:20:59 +0300 |
---|---|---|
committer | Vaadin Code Review <review@vaadin.com> | 2015-06-24 06:28:20 +0000 |
commit | d505fc70ac3bbf13e868c227b58d82966abf2254 (patch) | |
tree | 92d452807434f1fd941c34f2384e84a3a3e32302 /server/src | |
parent | 3c70a219865914dfaed4e712c5642e085c905123 (diff) | |
download | vaadin-framework-d505fc70ac3bbf13e868c227b58d82966abf2254.tar.gz vaadin-framework-d505fc70ac3bbf13e868c227b58d82966abf2254.zip |
Handle nested GridLayouts in declarative format correctly (#18312)
Change-Id: Id7f204c170981f4395e789333b89cd8207fe4002
Diffstat (limited to 'server/src')
-rw-r--r-- | server/src/com/vaadin/ui/GridLayout.java | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/server/src/com/vaadin/ui/GridLayout.java b/server/src/com/vaadin/ui/GridLayout.java index 6ccb272704..792ad72dcc 100644 --- a/server/src/com/vaadin/ui/GridLayout.java +++ b/server/src/com/vaadin/ui/GridLayout.java @@ -1319,11 +1319,15 @@ public class GridLayout extends AbstractLayout implements setMargin(readMargin(design, getMargin(), designContext)); - // Prepare a 2D map for reading column contents - Elements rowElements = design.getElementsByTag("row"); + List<Element> rowElements = new ArrayList<Element>(); List<Map<Integer, Component>> rows = new ArrayList<Map<Integer, Component>>(); - for (int i = 0; i < rowElements.size(); ++i) { - rows.add(new HashMap<Integer, Component>()); + // Prepare a 2D map for reading column contents + for (Element e : design.children()) { + if (e.tagName().equalsIgnoreCase("row")) { + rowElements.add(e); + rows.add(new HashMap<Integer, Component>()); + + } } setRows(Math.max(rows.size(), 1)); |