From f7cc72df9b6fb54be95a02b9977e9df264037135 Mon Sep 17 00:00:00 2001 From: Henri Sara Date: Wed, 3 Jul 2013 16:33:50 +0300 Subject: Close only combobox on escape, not the window (#12163) Change-Id: I356e115b5cd96ba0a598178a15215654f2fd16bb --- .../combobox/EscapeClosesComboboxNotWindow.java | 43 ++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 uitest/src/com/vaadin/tests/components/combobox/EscapeClosesComboboxNotWindow.java (limited to 'uitest') diff --git a/uitest/src/com/vaadin/tests/components/combobox/EscapeClosesComboboxNotWindow.java b/uitest/src/com/vaadin/tests/components/combobox/EscapeClosesComboboxNotWindow.java new file mode 100644 index 0000000000..dcd19f6b2a --- /dev/null +++ b/uitest/src/com/vaadin/tests/components/combobox/EscapeClosesComboboxNotWindow.java @@ -0,0 +1,43 @@ +package com.vaadin.tests.components.combobox; + +import com.vaadin.event.ShortcutAction.KeyCode; +import com.vaadin.server.VaadinRequest; +import com.vaadin.ui.Button; +import com.vaadin.ui.Button.ClickEvent; +import com.vaadin.ui.ComboBox; +import com.vaadin.ui.FormLayout; +import com.vaadin.ui.UI; +import com.vaadin.ui.VerticalLayout; +import com.vaadin.ui.Window; + +/** + * Ticket #12163: when a combo box popup is open in a subwindow, escape should + * only close it and not the window, also on Safari 6. + */ +public class EscapeClosesComboboxNotWindow extends UI { + final Window window = new Window("Window"); + + @Override + protected void init(VaadinRequest request) { + final VerticalLayout layout = new VerticalLayout(); + layout.setMargin(true); + setContent(layout); + + Button button = new Button("Click Me"); + button.addClickListener(new Button.ClickListener() { + @Override + public void buttonClick(ClickEvent event) { + final FormLayout content = new FormLayout(); + ComboBox cb = new ComboBox(); + cb.addItem("foo"); + cb.addItem("bar"); + content.addComponent(cb); + window.setContent(content); + window.setCloseShortcut(KeyCode.ESCAPE); + UI.getCurrent().addWindow(window); + } + }); + layout.addComponent(button); + } + +} \ No newline at end of file -- cgit v1.2.3