diff options
author | Anna Koskinen <Ansku@users.noreply.github.com> | 2018-02-06 16:51:25 +0200 |
---|---|---|
committer | Ilia Motornyi <elmot@vaadin.com> | 2018-02-06 16:51:25 +0200 |
commit | 5df70b4594691f2048bd329daed8998f36b3a141 (patch) | |
tree | 4e239ca5f5053675aa1bdee81b56a74db401092c /client | |
parent | d9dd40d0e444224b734dccb98d6075aef4dd6b3e (diff) | |
download | vaadin-framework-5df70b4594691f2048bd329daed8998f36b3a141.tar.gz vaadin-framework-5df70b4594691f2048bd329daed8998f36b3a141.zip |
Fix GridLayout spacing if first row/column empty and set to be hidden (#10593)
Diffstat (limited to 'client')
-rw-r--r-- | client/src/main/java/com/vaadin/client/ui/VGridLayout.java | 28 |
1 files changed, 22 insertions, 6 deletions
diff --git a/client/src/main/java/com/vaadin/client/ui/VGridLayout.java b/client/src/main/java/com/vaadin/client/ui/VGridLayout.java index b7adf70c2c..d85a0bd0d3 100644 --- a/client/src/main/java/com/vaadin/client/ui/VGridLayout.java +++ b/client/src/main/java/com/vaadin/client/ui/VGridLayout.java @@ -228,11 +228,19 @@ public class VGridLayout extends ComplexPanel { } private int calcRowUsedSpace() { - int usedSpace = minRowHeights[0]; + int usedSpace = 0; int verticalSpacing = getVerticalSpacing(); - for (int i = 1; i < minRowHeights.length; i++) { + boolean visibleFound = false; + for (int i = 0; i < minRowHeights.length; i++) { if (minRowHeights[i] > 0 || !hiddenEmptyRow(i)) { - usedSpace += verticalSpacing + minRowHeights[i]; + if (visibleFound) { + // only include spacing if there already is a visible row + // before this one + usedSpace += verticalSpacing + minRowHeights[i]; + } else { + usedSpace += minRowHeights[i]; + visibleFound = true; + } } } return usedSpace; @@ -289,11 +297,19 @@ public class VGridLayout extends ComplexPanel { * Calculates column used space */ private int calcColumnUsedSpace() { - int usedSpace = minColumnWidths[0]; + int usedSpace = 0; int horizontalSpacing = getHorizontalSpacing(); - for (int i = 1; i < minColumnWidths.length; i++) { + boolean visibleFound = false; + for (int i = 0; i < minColumnWidths.length; i++) { if (minColumnWidths[i] > 0 || !hiddenEmptyColumn(i)) { - usedSpace += horizontalSpacing + minColumnWidths[i]; + if (visibleFound) { + // only include spacing if there already is a visible column + // before this one + usedSpace += horizontalSpacing + minColumnWidths[i]; + } else { + usedSpace += minColumnWidths[i]; + visibleFound = true; + } } } return usedSpace; |