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.

DateFieldMonthResolutionClick.java 2.1KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. package com.vaadin.tests.components.datefield;
  2. import com.vaadin.annotations.Widgetset;
  3. import com.vaadin.server.VaadinRequest;
  4. import com.vaadin.shared.ui.datefield.DateResolution;
  5. import com.vaadin.tests.components.AbstractTestUIWithLog;
  6. import com.vaadin.ui.DateField;
  7. import com.vaadin.ui.Button;
  8. import java.time.LocalDate;
  9. import java.time.ZoneId;
  10. @Widgetset("com.vaadin.DefaultWidgetSet")
  11. public class DateFieldMonthResolutionClick extends AbstractTestUIWithLog {
  12. @Override
  13. protected void setup(VaadinRequest request) {
  14. DateField dyf = new DateField();
  15. dyf.setDateFormat("yyyy");
  16. dyf.setRangeStart(LocalDate.of(2012, 01, 31));
  17. dyf.setZoneId(ZoneId.of("Europe/Paris"));
  18. dyf.setResolution(DateResolution.YEAR);
  19. dyf.setCaption("Resolution : year");
  20. dyf.setId("yearResolutionDF");
  21. dyf.addValueChangeListener(event -> {
  22. log("Current value for the 1.st DF: " + event.getValue()
  23. + " isUserOriginated: " + event.isUserOriginated());
  24. });
  25. addComponent(dyf);
  26. DateField dmf = new DateField();
  27. dmf.setDateFormat("M/yyyy");
  28. dmf.setCaption("Resolution : month");
  29. dmf.setResolution(DateResolution.MONTH);
  30. dmf.setId("monthResolutionDF");
  31. dmf.setRangeStart(LocalDate.now());
  32. dmf.addValueChangeListener(event -> {
  33. log("Current value for the 2.st DF: " + event.getValue()
  34. + " isUserOriginated: " + event.isUserOriginated());
  35. });
  36. addComponent(dmf);
  37. DateField dyDay = new DateField(
  38. "Header is not clickable, when resolution in less than MONTH");
  39. dyDay.setResolution(DateResolution.DAY);
  40. dyDay.setId("resolutionDayDF");
  41. addComponent(dyDay);
  42. Button button = new Button("Change Resolution", e -> {
  43. if (dyDay.getResolution().equals(DateResolution.DAY)) {
  44. dyDay.setResolution(DateResolution.YEAR);
  45. } else {
  46. dyDay.setResolution(DateResolution.DAY);
  47. }
  48. });
  49. button.setId("buttonChangeResolution");
  50. addComponent(button);
  51. }
  52. }