summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--client/src/main/java/com/vaadin/client/ui/combobox/ComboBoxConnector.java9
-rw-r--r--server/src/main/java/com/vaadin/ui/ComboBox.java12
-rw-r--r--shared/src/main/java/com/vaadin/shared/ui/combobox/ComboBoxState.java7
3 files changed, 11 insertions, 17 deletions
diff --git a/client/src/main/java/com/vaadin/client/ui/combobox/ComboBoxConnector.java b/client/src/main/java/com/vaadin/client/ui/combobox/ComboBoxConnector.java
index c0d96fa32a..a5edf00812 100644
--- a/client/src/main/java/com/vaadin/client/ui/combobox/ComboBoxConnector.java
+++ b/client/src/main/java/com/vaadin/client/ui/combobox/ComboBoxConnector.java
@@ -74,6 +74,8 @@ public class ComboBoxConnector extends AbstractFieldConnector implements
getWidget().filteringmode = getState().filteringMode;
+ getWidget().suggestionPopupWidth = getState().suggestionPopupWidth;
+
Profiler.leave("ComboBoxConnector.onStateChanged update content");
}
@@ -99,13 +101,6 @@ public class ComboBoxConnector extends AbstractFieldConnector implements
getWidget().currentPage = uidl.getIntVariable("page");
- if (uidl.hasAttribute("suggestionPopupWidth")) {
- getWidget().suggestionPopupWidth = uidl
- .getStringAttribute("suggestionPopupWidth");
- } else {
- getWidget().suggestionPopupWidth = null;
- }
-
getWidget().suggestionPopup.updateStyleNames(getState());
getWidget().allowNewItem = uidl.hasAttribute("allownewitem");
diff --git a/server/src/main/java/com/vaadin/ui/ComboBox.java b/server/src/main/java/com/vaadin/ui/ComboBox.java
index 364b7a3d07..4ee180e6d8 100644
--- a/server/src/main/java/com/vaadin/ui/ComboBox.java
+++ b/server/src/main/java/com/vaadin/ui/ComboBox.java
@@ -162,8 +162,6 @@ public class ComboBox extends AbstractSelect implements
*/
private boolean scrollToSelectedItem = true;
- private String suggestionPopupWidth = null;
-
/**
* If text input is not allowed, the ComboBox behaves like a pretty
* NativeSelect - the user can not enter any text and clicking the text
@@ -279,11 +277,6 @@ public class ComboBox extends AbstractSelect implements
String[] selectedKeys = new String[(getValue() == null
&& getNullSelectionItemId() == null ? 0 : 1)];
- if (suggestionPopupWidth != null) {
- target.addAttribute("suggestionPopupWidth",
- suggestionPopupWidth);
- }
-
// Paints the options and create array of selected id keys
int keyIndex = 0;
@@ -887,7 +880,7 @@ public class ComboBox extends AbstractSelect implements
* @since 7.7
*/
public String getPopupWidth() {
- return suggestionPopupWidth;
+ return getState(false).suggestionPopupWidth;
}
/**
@@ -912,8 +905,7 @@ public class ComboBox extends AbstractSelect implements
* the width
*/
public void setPopupWidth(String width) {
- suggestionPopupWidth = width;
- markAsDirty();
+ getState().suggestionPopupWidth = width;
}
/**
diff --git a/shared/src/main/java/com/vaadin/shared/ui/combobox/ComboBoxState.java b/shared/src/main/java/com/vaadin/shared/ui/combobox/ComboBoxState.java
index 6eae3fc46e..95e624779a 100644
--- a/shared/src/main/java/com/vaadin/shared/ui/combobox/ComboBoxState.java
+++ b/shared/src/main/java/com/vaadin/shared/ui/combobox/ComboBoxState.java
@@ -55,4 +55,11 @@ public class ComboBoxState extends AbstractSelectState {
*/
public FilteringMode filteringMode = FilteringMode.STARTSWITH;
+ /**
+ * Suggestion pop-up's width as a CSS string. By using relative units (e.g.
+ * "50%") it's possible to set the popup's width relative to the ComboBox
+ * itself.
+ */
+ public String suggestionPopupWidth = null;
+
}