package com.vaadin.tests.components.datefield; import java.time.LocalDate; import java.util.Locale; import java.util.stream.Stream; import com.vaadin.server.VaadinRequest; import com.vaadin.shared.ui.datefield.DateResolution; import com.vaadin.tests.components.AbstractReindeerTestUI; import com.vaadin.ui.Button; import com.vaadin.ui.DateField; @SuppressWarnings("serial") public class PopupDateFieldExtendedRange extends AbstractReindeerTestUI { @Override protected void setup(VaadinRequest request) { getLayout().setSpacing(true); final DateField[] fields = new DateField[3]; fields[0] = makeDateField(); fields[0].setLocale(new Locale("fi", "FI")); fields[0].setCaption("Finnish locale"); fields[1] = makeDateField(); fields[1].setLocale(new Locale("en", "US")); fields[1].setCaption("US English locale"); fields[2] = makeDateField(); fields[2].setLocale(new Locale("fi", "FI")); fields[2].setShowISOWeekNumbers(true); fields[2].setCaption("Finnish locale with week numbers"); for (DateField f : fields) { addComponent(f); } addComponent(new Button("Change date", event -> Stream.of(fields) .forEach(field -> field.setValue(LocalDate.of(2010, 2, 16))))); } @Override protected String getTestDescription() { return "Show a few days of the preceding and following months in the datefield popup"; } @Override protected Integer getTicketNumber() { return 6718; } private DateField makeDateField() { DateField pdf = new DateField(); pdf.setResolution(DateResolution.DAY); pdf.setValue(LocalDate.of(2011, 1, 1)); return pdf; } }