listItem.appendChild(listCell);
}
private void appendExpiringDatebox(final Listitem listItem,
final CalendarData version) {
Datebox datebox = new Datebox();
final LocalDate expiringDate = version.getExpiringDate();
if (expiringDate != null) {
datebox.setDisabled(false);
} else {
datebox.setDisabled(true);
}
Util.bind(datebox, new Util.Getter<Date>() {
@Override
public Date get() {
LocalDate expiringDate = version.getExpiringDate();
if (expiringDate != null) {
return expiringDate.minusDays(1)
.toDateTimeAtStartOfDay().toDate();
}
return null;
}
}, new Util.Setter<Date>() {
@Override
public void set(Date value) {
LocalDate expiringDate = null;
if (value != null) {
expiringDate = new LocalDate(value).plusDays(1);
}
version.setExpiringDate(expiringDate);
}
});
datebox.addEventListener(Events.ON_CHANGE, new EventListener() {
@Override
public void onEvent(Event event) throws Exception {
reloadWorkWeeksList();
}
});
datebox.setConstraint(new Constraint() {
@Override
public void validate(Component comp, Object value)
throws WrongValueException {
Date date = ((Date) value);
try {