listcell.appendChild(percentageLabel);
listitem.appendChild(listcell);
}
private void appendDateboxDate(final Listitem listitem) {
final AdvanceMeasurement advanceMeasurement = (AdvanceMeasurement) listitem
.getValue();
final Datebox date = new Datebox();
Listcell listcell = new Listcell();
listcell.appendChild(date);
listitem.appendChild(listcell);
date.setDisabled(isReadOnlyAdvanceMeasurements()
|| manageOrderElementAdvancesModel
.hasConsolidatedAdvances(advanceMeasurement)
|| manageOrderElementAdvancesModel.isAlreadyReportedProgress(advanceMeasurement));
date.addEventListener(Events.ON_CHANGE, new EventListener() {
@Override
public void onEvent(Event event) {
if (manageOrderElementAdvancesModel
.canRemoveOrChange(advanceMeasurement)) {
validateMeasurementDate(date, date.getValue());
setCurrentDate(listitem);
} else {
throw new WrongValueException(
date,
_("Progress Measurement cannot be deleted. Progress Measurement already consolidated"));
}
}
});
Util.bind(date, new Util.Getter<Date>() {
@Override
public Date get() {
if (advanceMeasurement.getDate() == null) {
return null;
}
return advanceMeasurement.getDate()
.toDateTimeAtStartOfDay().toDate();
}
}, new Util.Setter<Date>() {
@Override
public void set(Date value) {
if (manageOrderElementAdvancesModel
.canRemoveOrChange(advanceMeasurement)) {
LocalDate oldDate = advanceMeasurement.getDate();
advanceMeasurement.setDate(new LocalDate(value));
if (manageOrderElementAdvancesModel
.hasConsolidatedAdvances(advanceMeasurement)) {
showMessagesConsolidation(new LocalDate(value));
advanceMeasurement.setDate(oldDate);
}
manageOrderElementAdvancesModel
.sortListAdvanceMeasurement();
reloadAdvances();