You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

TextAreaEventPropagation.java 2.2KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. package com.vaadin.tests.components.ui;
  2. import com.vaadin.event.ShortcutAction.KeyCode;
  3. import com.vaadin.event.ShortcutAction.ModifierKey;
  4. import com.vaadin.server.VaadinRequest;
  5. import com.vaadin.tests.components.AbstractTestUIWithLog;
  6. import com.vaadin.ui.Button;
  7. import com.vaadin.ui.FormLayout;
  8. import com.vaadin.ui.TextField;
  9. import com.vaadin.v7.ui.TextArea;
  10. /**
  11. * UI test for TextArea behavior when ENTER has been assigned as a keyboard
  12. * shortcut.
  13. *
  14. * @author Vaadin Ltd
  15. */
  16. public class TextAreaEventPropagation extends AbstractTestUIWithLog {
  17. @Override
  18. protected void setup(VaadinRequest request) {
  19. FormLayout form = new FormLayout();
  20. TextArea textArea = new TextArea("Text input");
  21. TextField textField = new TextField("Text field input");
  22. Button enterButton = new Button("Enter");
  23. enterButton.setClickShortcut(KeyCode.ENTER);
  24. enterButton.addClickListener(event -> log("Enter button pressed"));
  25. Button shiftEnterButton = new Button("Shift-Enter");
  26. shiftEnterButton.setClickShortcut(KeyCode.ENTER, ModifierKey.SHIFT);
  27. shiftEnterButton
  28. .addClickListener(event -> log("Shift-Enter button pressed"));
  29. Button ctrlEnterButton = new Button("Ctrl-Enter");
  30. ctrlEnterButton.setClickShortcut(KeyCode.ENTER, ModifierKey.CTRL);
  31. ctrlEnterButton
  32. .addClickListener(event -> log("Ctrl-Enter button pressed"));
  33. Button escapeButton = new Button("Escape");
  34. escapeButton.setClickShortcut(KeyCode.ESCAPE);
  35. escapeButton.addClickListener(event -> log("Escape button pressed"));
  36. form.addComponent(textArea);
  37. form.addComponent(textField);
  38. form.addComponent(enterButton);
  39. form.addComponent(escapeButton);
  40. form.addComponent(shiftEnterButton);
  41. form.addComponent(ctrlEnterButton);
  42. addComponent(form);
  43. }
  44. @Override
  45. protected String getTestDescription() {
  46. return "Enter as s shortcut in a TextArea should not trigger shortcuts as enter is handled internally. Enter + modifier key should trigger shortcut.";
  47. }
  48. @Override
  49. protected Integer getTicketNumber() {
  50. return Integer.valueOf(12424);
  51. }
  52. }