diff options
2 files changed, 13 insertions, 2 deletions
diff --git a/compatibility-client/src/main/java/com/vaadin/v7/client/ui/VFilterSelect.java b/compatibility-client/src/main/java/com/vaadin/v7/client/ui/VFilterSelect.java index 0b7724f3d0..29e4aa006f 100644 --- a/compatibility-client/src/main/java/com/vaadin/v7/client/ui/VFilterSelect.java +++ b/compatibility-client/src/main/java/com/vaadin/v7/client/ui/VFilterSelect.java @@ -2381,6 +2381,9 @@ public class VFilterSelect extends Composite focused = false; if (!readonly) { + if (textInputEnabled && allowNewItem) { + suggestionPopup.menu.doSelectedItemAction(); + } if (selectedOptionKey == null) { if (explicitSelectedCaption != null) { setPromptingOff(explicitSelectedCaption); diff --git a/uitest/src/test/java/com/vaadin/tests/components/combobox/ComboBoxSelectingWithNewItemsAllowedTest.java b/uitest/src/test/java/com/vaadin/tests/components/combobox/ComboBoxSelectingWithNewItemsAllowedTest.java index b568ecf912..c16a80856b 100644 --- a/uitest/src/test/java/com/vaadin/tests/components/combobox/ComboBoxSelectingWithNewItemsAllowedTest.java +++ b/uitest/src/test/java/com/vaadin/tests/components/combobox/ComboBoxSelectingWithNewItemsAllowedTest.java @@ -65,6 +65,14 @@ public class ComboBoxSelectingWithNewItemsAllowedTest extends MultiBrowserTest { } @Test + public void itemIsAddedWhenClickingOutside() { + clearInputAndType("foo"); + findElement(By.tagName("body")).click(); + assertOneMoreThanInitial(); + assertThatSelectedValueIs("foo"); + } + + @Test public void matchingSuggestionIsSelectedWithEnter() { typeInputAndHitEnter("a0"); @@ -122,14 +130,14 @@ public class ComboBoxSelectingWithNewItemsAllowedTest extends MultiBrowserTest { } @Test - public void noSelectionAfterMouseOut() { + public void selectionOnMouseOut() { typeInputAndHitEnter("a20"); comboBoxElement.sendKeys(Keys.ARROW_DOWN, Keys.ARROW_DOWN); findElement(By.className("v-app")).click(); assertInitialItemCount(); - assertThatSelectedValueIs("a20"); + assertThatSelectedValueIs("a21"); } @Test |