From 212ec0a83d316258ef7aa1f006c9570f7ddaaa9f Mon Sep 17 00:00:00 2001 From: Petter Holmström Date: Mon, 4 Sep 2017 14:56:41 +0300 Subject: Position caption correctly in GridLayout (#9909) Position caption correctly when using different vertical alignment than TOP in GridLayout. Fixes #7895 --- client/src/main/java/com/vaadin/client/ui/layout/VLayoutSlot.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'client') diff --git a/client/src/main/java/com/vaadin/client/ui/layout/VLayoutSlot.java b/client/src/main/java/com/vaadin/client/ui/layout/VLayoutSlot.java index 1494900e62..4546d7c5d9 100644 --- a/client/src/main/java/com/vaadin/client/ui/layout/VLayoutSlot.java +++ b/client/src/main/java/com/vaadin/client/ui/layout/VLayoutSlot.java @@ -168,6 +168,7 @@ public abstract class VLayoutSlot { int captionHeight; VCaption caption = getCaption(); + Style captionStyle = caption == null ? null : caption.getElement().getStyle(); if (caption == null || caption.shouldBePlacedAfterComponent()) { style.clearPaddingTop(); captionHeight = 0; @@ -215,10 +216,15 @@ public abstract class VLayoutSlot { padding += captionHeight; widget.getElement().getStyle().setTop(padding, Unit.PX); + if (captionStyle != null) { + captionStyle.setTop(padding - captionHeight, Unit.PX); + } } else { // Reset top when changing back to align top widget.getElement().getStyle().clearTop(); - + if (captionStyle != null) { + captionStyle.setTop(0, Unit.PX); + } } } -- cgit v1.2.3