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.

DateFieldWhenChangingValueAndEnablingParent.java 2.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. package com.vaadin.tests.components.datefield;
  2. import java.time.LocalDate;
  3. import com.vaadin.server.VaadinRequest;
  4. import com.vaadin.tests.components.AbstractReindeerTestUI;
  5. import com.vaadin.tests.components.TestDateField;
  6. import com.vaadin.ui.AbstractLocalDateField;
  7. import com.vaadin.ui.CheckBox;
  8. import com.vaadin.ui.DateField;
  9. import com.vaadin.ui.VerticalLayout;
  10. public class DateFieldWhenChangingValueAndEnablingParent
  11. extends AbstractReindeerTestUI {
  12. @Override
  13. protected void setup(VaadinRequest request) {
  14. final VerticalLayout main = new VerticalLayout();
  15. final VerticalLayout sub = new VerticalLayout();
  16. final CheckBox chk = new CheckBox("Parent layout enabled");
  17. main.setMargin(true);
  18. setContent(main);
  19. final AbstractLocalDateField df1 = createDateField(true);
  20. final AbstractLocalDateField df2 = createDateField(false);
  21. final DateField pdf1 = createPopupDateField(true, true);
  22. final DateField pdf2 = createPopupDateField(true, false);
  23. final DateField pdf3 = createPopupDateField(false, true);
  24. final DateField pdf4 = createPopupDateField(false, false);
  25. sub.addComponent(df1);
  26. sub.addComponent(df2);
  27. sub.addComponent(pdf1);
  28. sub.addComponent(pdf2);
  29. sub.addComponent(pdf3);
  30. sub.addComponent(pdf4);
  31. sub.setEnabled(false);
  32. main.addComponent(chk);
  33. main.addComponent(sub);
  34. chk.addValueChangeListener(event -> {
  35. df1.setValue(LocalDate.now());
  36. df2.setValue(LocalDate.now());
  37. pdf1.setValue(LocalDate.now());
  38. pdf2.setValue(LocalDate.now());
  39. pdf3.setValue(LocalDate.now());
  40. pdf4.setValue(LocalDate.now());
  41. sub.setEnabled(chk.getValue());
  42. });
  43. }
  44. private AbstractLocalDateField createDateField(boolean enabled) {
  45. AbstractLocalDateField df = new TestDateField(
  46. "DateField, " + (enabled ? "enabled" : "disabled"));
  47. df.setEnabled(enabled);
  48. df.setId("DATEFIELD_" + (enabled ? "ENABLED" : "DISABLED"));
  49. return df;
  50. }
  51. private DateField createPopupDateField(boolean enabled,
  52. boolean textInputEnabled) {
  53. DateField df = new DateField("PopupDateField, "
  54. + (enabled ? "enabled" : "disabled") + ", text input "
  55. + (textInputEnabled ? "enabled" : "disabled"));
  56. df.setEnabled(enabled);
  57. df.setTextFieldEnabled(textInputEnabled);
  58. df.setId("DATEFIELD_" + (enabled ? "ENABLED" : "DISABLED") + "_"
  59. + (textInputEnabled ? "ENABLED" : "DISABLED"));
  60. return df;
  61. }
  62. }