aboutsummaryrefslogtreecommitdiffstats
path: root/client
diff options
context:
space:
mode:
authorArtur Signell <artur@vaadin.com>2015-06-01 22:17:10 +0300
committerArtur Signell <artur@vaadin.com>2015-06-05 11:25:50 +0000
commit96e0e2ed125a05d58373e1a6c11d8bfe39659e89 (patch)
tree2bae6e7b9de2859b6c8de9fe270389f19194df55 /client
parent27f574154b5e27407370b6e072e5fa13d1d97797 (diff)
downloadvaadin-framework-96e0e2ed125a05d58373e1a6c11d8bfe39659e89.tar.gz
vaadin-framework-96e0e2ed125a05d58373e1a6c11d8bfe39659e89.zip
Only set height when at least one header cell is shown (#18000)
Change-Id: I252a8223804b5ba45abb20061c3d65d0b80603dc
Diffstat (limited to 'client')
-rw-r--r--client/src/com/vaadin/client/widgets/Grid.java33
1 files changed, 14 insertions, 19 deletions
diff --git a/client/src/com/vaadin/client/widgets/Grid.java b/client/src/com/vaadin/client/widgets/Grid.java
index 079207a999..67220b6e07 100644
--- a/client/src/com/vaadin/client/widgets/Grid.java
+++ b/client/src/com/vaadin/client/widgets/Grid.java
@@ -3238,27 +3238,22 @@ public class Grid<T> extends ResizeComposite implements
}
private void setHeightToHeaderCellHeight() {
- try {
- double height = WidgetUtil
- .getRequiredHeightBoundingClientRectDouble(grid.escalator
- .getHeader().getRowElement(0)
- .getFirstChildElement())
- - (WidgetUtil.measureVerticalBorder(getElement()) / 2);
- openCloseButton.setHeight(height + "px");
- } catch (NullPointerException npe) {
- getLogger()
- .warning(
- "Got null header first row or first row cell when calculating sidebar button height");
- openCloseButton.setHeight(grid.escalator.getHeader()
- .getDefaultRowHeight() + "px");
- } catch (IndexOutOfBoundsException ioobe) {
- // happens when escalator doesn't have any headers rendered yet.
+ RowContainer header = grid.escalator.getHeader();
+ if (header.getRowCount() == 0
+ || !header.getRowElement(0).hasChildNodes()) {
getLogger()
- .warning(
- "No header cell available when calculating sidebar button height");
- openCloseButton.setHeight(grid.escalator.getHeader()
- .getDefaultRowHeight() + "px");
+ .info("No header cell available when calculating sidebar button height");
+ openCloseButton.setHeight(header.getDefaultRowHeight() + "px");
+
+ return;
}
+
+ Element firstHeaderCell = header.getRowElement(0)
+ .getFirstChildElement();
+ double height = WidgetUtil
+ .getRequiredHeightBoundingClientRectDouble(firstHeaderCell)
+ - (WidgetUtil.measureVerticalBorder(getElement()) / 2);
+ openCloseButton.setHeight(height + "px");
}
private void updateVisibility() {