From 8a248879e3c9cb8fdfc74edd54145c7bb9ee1c78 Mon Sep 17 00:00:00 2001 From: Bruce Zu Date: Mon, 6 May 2013 17:26:48 +0800 Subject: [PATCH] OnEditEnabler can disable the widget OnEditEnabler now can disable the widget if the value is changed back to the original state. Change-Id: Ic3fc7614c714a94738f3883d7a9a3cf5565ed7eb --- .../com/google/gerrit/client/ui/OnEditEnabler.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/OnEditEnabler.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/OnEditEnabler.java index b574db1b39..a7d49a4c30 100644 --- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/OnEditEnabler.java +++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/OnEditEnabler.java @@ -33,6 +33,7 @@ import com.google.gwt.user.client.ui.CheckBox; import com.google.gwt.user.client.ui.FocusWidget; import com.google.gwt.user.client.ui.ListBox; import com.google.gwt.user.client.ui.TextBoxBase; +import com.google.gwt.user.client.ui.ValueBoxBase; import java.util.HashMap; import java.util.Map; @@ -139,6 +140,17 @@ public class OnEditEnabler implements KeyPressHandler, KeyDownHandler, if (widget.isEnabled() || ! (e.getSource() instanceof FocusWidget) || ! ((FocusWidget) e.getSource()).isEnabled() ) { + if (e.getSource() instanceof ValueBoxBase) { + final TextBoxBase box = ((TextBoxBase) e.getSource()); + Scheduler.get().scheduleDeferred(new ScheduledCommand() { + @Override + public void execute() { + if (box.getValue().trim().length() == 0) { + widget.setEnabled(false); + } + } + }); + } return; }