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.

BackButtonTest.java 3.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. package com.vaadin.tests.components.uitest;
  2. import com.vaadin.data.Property.ValueChangeEvent;
  3. import com.vaadin.data.Property.ValueChangeListener;
  4. import com.vaadin.server.Page.UriFragmentChangedEvent;
  5. import com.vaadin.server.Page.UriFragmentChangedListener;
  6. import com.vaadin.server.VaadinRequest;
  7. import com.vaadin.tests.components.AbstractTestUI;
  8. import com.vaadin.ui.Button;
  9. import com.vaadin.ui.Button.ClickEvent;
  10. import com.vaadin.ui.Label;
  11. import com.vaadin.ui.TextField;
  12. import com.vaadin.ui.VerticalLayout;
  13. public class BackButtonTest extends AbstractTestUI {
  14. private VerticalLayout layout;
  15. private String value = "Hello";
  16. private Page1 p1;
  17. private Page2 p2;
  18. @Override
  19. public void setup(VaadinRequest request) {
  20. getPage().setUriFragment("page1");
  21. layout = new VerticalLayout();
  22. addComponent(layout);
  23. p1 = new Page1();
  24. addComponent(p1);
  25. p2 = new Page2();
  26. getPage().addUriFragmentChangedListener(
  27. new UriFragmentChangedListener() {
  28. @Override
  29. public void uriFragmentChanged(UriFragmentChangedEvent event) {
  30. String f = event.getUriFragment();
  31. if ("page2".equals(f)) {
  32. showPage2();
  33. }
  34. if ("page1".equals(f)) {
  35. showPage1();
  36. }
  37. }
  38. });
  39. }
  40. class Page1 extends VerticalLayout {
  41. Label l = new Label();
  42. public Page1() {
  43. setSizeFull();
  44. l.setCaption("Data from Page 1 : " + value);
  45. addComponent(l);
  46. Button b = new Button("Go to Page 2", new Button.ClickListener() {
  47. public void buttonClick(ClickEvent event) {
  48. l.setCaption("Data from Page 1 : " + value);
  49. getPage().setUriFragment("page2");
  50. }
  51. });
  52. addComponent(b);
  53. }
  54. }
  55. private void showPage2() {
  56. removeComponent(p1);
  57. p2.f.setValue("");
  58. addComponent(p2);
  59. }
  60. private void showPage1() {
  61. removeComponent(p2);
  62. addComponent(p1);
  63. }
  64. class Page2 extends VerticalLayout {
  65. private final TextField f = new TextField();
  66. public Page2() {
  67. setSizeFull();
  68. addComponent(f);
  69. f.addValueChangeListener(new ValueChangeListener() {
  70. public void valueChange(ValueChangeEvent event) {
  71. value = f.getValue();
  72. p1.l.setCaption("Data from Page 2 : " + value);
  73. }
  74. });
  75. Button b = new Button("Go Back", new Button.ClickListener() {
  76. public void buttonClick(ClickEvent event) {
  77. getPage().setUriFragment("page1");
  78. }
  79. });
  80. addComponent(b);
  81. addComponent(new Label(
  82. "Go back with the back button without creating a blur event on the text field. Text should transfer to page1 label."));
  83. }
  84. }
  85. @Override
  86. protected Integer getTicketNumber() {
  87. return 9949;
  88. }
  89. @Override
  90. protected String getTestDescription() {
  91. // TODO Auto-generated method stub
  92. return null;
  93. }
  94. }