Browse Source

Merged: Test case and fix for #3268 - ComboBox erroneus input is not always cleared

svn changeset:8880/svn branch:6.2
tags/6.7.0.beta1
Artur Signell 14 years ago
parent
commit
a8e4be75df

+ 9
- 8
src/com/vaadin/terminal/gwt/client/ui/VFilterSelect.java View File

@@ -490,16 +490,17 @@ public class VFilterSelect extends Composite implements Paintable, Field,
lastFilter.toLowerCase())) {
doItemAction(item, true);
} else {
if (currentSuggestion != null) {
// currentSuggestion has key="" for nullselection
if (currentSuggestion != null
&& !currentSuggestion.key.equals("")) {
// An item (not null) selected
String text = currentSuggestion.getReplacementString();
/*
* TODO? if (text.equals("")) {
* addStyleDependentName(CLASSNAME_PROMPT);
* tb.setText(inputPrompt); prompting = true; } else {
* tb.setText(text); prompting = false;
* removeStyleDependentName(CLASSNAME_PROMPT); }
*/
tb.setText(text);
selectedOptionKey = currentSuggestion.key;
} else {
// Null selected
tb.setText("");
selectedOptionKey = null;
}
}
suggestionPopup.hide();

+ 59
- 0
src/com/vaadin/tests/components/combobox/ComboBoxValueInput.java View File

@@ -0,0 +1,59 @@
package com.vaadin.tests.components.combobox;
import com.vaadin.tests.components.TestBase;
import com.vaadin.ui.ComboBox;
public class ComboBoxValueInput extends TestBase {
@Override
protected void setup() {
ComboBox cb = new ComboBox("A combobox without input prompt");
cb.setImmediate(true);
cb.addItem("Value 1");
cb.addItem("Value 2");
cb.addItem("Value 3");
addComponent(cb);
cb = new ComboBox("A combobox with input prompt");
cb.setInputPrompt("Please select");
cb.setImmediate(true);
cb.addItem("Value 1");
cb.addItem("Value 2");
cb.addItem("Value 3");
addComponent(cb);
cb = new ComboBox("A combobox with null item");
cb.setInputPrompt("Please select");
cb.setImmediate(true);
cb.addItem("Null item");
cb.addItem("Value 1");
cb.addItem("Value 2");
cb.addItem("Value 3");
cb.setNullSelectionItemId("Null item");
addComponent(cb);
cb = new ComboBox("A combobox with null item and input prompt");
cb.setImmediate(true);
cb.addItem("Null item");
cb.addItem("Value 1");
cb.addItem("Value 2");
cb.addItem("Value 3");
cb.setNullSelectionItemId("Null item");
addComponent(cb);
}
@Override
protected String getDescription() {
return "A combobox should always show the selected value when it is not focused. Entering a text when nothing is selected and blurring the combobox should reset the value. The same should happen when a value is selected";
}
@Override
protected Integer getTicketNumber() {
return 3268;
}
}

Loading…
Cancel
Save