From: Jouni Koivuviita Date: Wed, 8 Oct 2008 08:05:27 +0000 (+0000) Subject: Min-width spacer DIV now added only once, not every time updateFromUidl gets called. X-Git-Tag: 6.7.0.beta1~4013 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=0cebf70c4a0a16123811763ed406d2a43e84ba83;p=vaadin-framework.git Min-width spacer DIV now added only once, not every time updateFromUidl gets called. svn changeset:5609/svn branch:trunk --- diff --git a/src/com/itmill/toolkit/terminal/gwt/client/ui/IFilterSelect.java b/src/com/itmill/toolkit/terminal/gwt/client/ui/IFilterSelect.java index 1a239e557f..dd2d3286d5 100644 --- a/src/com/itmill/toolkit/terminal/gwt/client/ui/IFilterSelect.java +++ b/src/com/itmill/toolkit/terminal/gwt/client/ui/IFilterSelect.java @@ -241,6 +241,7 @@ public class IFilterSelect extends Composite implements Paintable, Field, } } + @Override public void onBrowserEvent(Event event) { final Element target = DOM.eventGetTarget(event); if (DOM.compare(target, up) @@ -437,6 +438,7 @@ public class IFilterSelect extends Composite implements Paintable, Field, private final FlowPanel panel = new FlowPanel(); private final TextBox tb = new TextBox() { + @Override public void onBrowserEvent(Event event) { super.onBrowserEvent(event); if (client != null) { @@ -619,11 +621,17 @@ public class IFilterSelect extends Composite implements Paintable, Field, // Calculate minumum textarea width final int minw = minWidth(captions); - final Element spacer = DOM.createDiv(); - DOM.setStyleAttribute(spacer, "width", minw + "px"); - DOM.setStyleAttribute(spacer, "height", "0"); - DOM.setStyleAttribute(spacer, "overflow", "hidden"); - DOM.appendChild(panel.getElement(), spacer); + Element lastChild = DOM.getChild(panel.getElement(), DOM + .getChildCount(panel.getElement()) - 1); + if (DOM.getElementProperty(lastChild, "className") != null + && DOM.getElementProperty(lastChild, "className") != "") { + final Element spacer = DOM.createDiv(); + DOM.setStyleAttribute(spacer, "height", "0"); + DOM.setStyleAttribute(spacer, "overflow", "hidden"); + DOM.appendChild(panel.getElement(), spacer); + lastChild = spacer; + } + DOM.setStyleAttribute(lastChild, "width", minw + "px"); popupOpenerClicked = false;