bug4210 Adjusted handler registration logic of fallback date and time

input widget
This commit is contained in:
Benjamin Barth committed 2017-11-20 12:49:32 +01:00
1 parent 100ed32229
commit ebb5656108
1 file changed
+8 -1
@@ -1,6 +1,8 @@
package com.sap.sailing.gwt.common.client.datetime;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import com.google.gwt.event.logical.shared.ValueChangeEvent;
import com.google.gwt.event.logical.shared.ValueChangeHandler;
@@ -50,7 +52,12 @@ public class DateAndTimeInput extends Composite implements DateTimeInput {
@Override
public HandlerRegistration addValueChangeHandler(ValueChangeHandler<Date> handler) {
return addHandler(handler, ValueChangeEvent.getType());
final ValueChangeHandler<Date> internalHandler = event -> ValueChangeEvent.fire(this, getValue());
final List<HandlerRegistration> handlerRegistrations = new ArrayList<>(3);
handlerRegistrations.add(dateInput.addValueChangeHandler(internalHandler));
handlerRegistrations.add(timeInput.addValueChangeHandler(internalHandler));
handlerRegistrations.add(addHandler(handler, ValueChangeEvent.getType()));
return () -> handlerRegistrations.forEach(HandlerRegistration::removeHandler);
}
@Override