package com.vaadin.tests.components.datefield; import java.time.LocalDate; import com.vaadin.server.VaadinRequest; import com.vaadin.shared.ui.datefield.DateResolution; import com.vaadin.tests.components.AbstractTestUI; import com.vaadin.ui.Button; import com.vaadin.ui.DateField; public class DateFieldMonthResolutionStatusChange extends AbstractTestUI { @Override protected void setup(VaadinRequest request) { DateField dateField = new DateField(); dateField.setResolution(DateResolution.MONTH); dateField.setValue(LocalDate.of(2019, 1, 1)); dateField.setReadOnly(true); Button dateReadOnlySwitch = new Button("Toggle read-only"); dateReadOnlySwitch.setId("readOnly"); dateReadOnlySwitch.addClickListener(event -> { dateField.setReadOnly(!dateField.isReadOnly()); }); Button addRangeButton = new Button("Add range"); addRangeButton.setId("addRange"); addRangeButton.addClickListener(event -> { dateField.setRangeStart(LocalDate.of(2018, 1, 1)); dateField.setRangeEnd(LocalDate.of(2020, 1, 1)); }); addComponent(dateField); addComponent(dateReadOnlySwitch); addComponent(addRangeButton); } @Override protected String getTestDescription() { return "Changing any field status (e.g. read-only or range) before " + "the DateField popup has been opened should not change " + "the date to current."; } @Override protected Integer getTicketNumber() { return 11864; } }