Lior Vernia has uploaded a new change for review. Change subject: webadmin: Update list box upon arrow key press ......................................................................
webadmin: Update list box upon arrow key press ValueChangeEvent is only triggered currently when a selection changes using the moust or when the user focuses out of the widget. This patch causes an event to fire when the selection changes using the keyboard. Change-Id: I4cc9ac7e82c6d1c86886907cecd6eb5b83ac8444 Bug-Url: https://bugzilla.redhat.com/987916 Signed-off-by: Lior Vernia <lver...@redhat.com> --- M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/editor/ListModelListBox.java 1 file changed, 25 insertions(+), 0 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/65/22465/1 diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/editor/ListModelListBox.java b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/editor/ListModelListBox.java index aed192c..b2dcce4 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/editor/ListModelListBox.java +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/editor/ListModelListBox.java @@ -1,7 +1,13 @@ package org.ovirt.engine.ui.common.widget.editor; +import com.google.gwt.core.client.Scheduler; +import com.google.gwt.core.client.Scheduler.ScheduledCommand; +import com.google.gwt.dom.client.Document; import com.google.gwt.editor.client.adapters.TakesValueEditor; +import com.google.gwt.event.dom.client.DomEvent; +import com.google.gwt.event.dom.client.KeyCodes; import com.google.gwt.event.dom.client.KeyDownHandler; +import com.google.gwt.event.dom.client.KeyPressEvent; import com.google.gwt.event.dom.client.KeyPressHandler; import com.google.gwt.event.dom.client.KeyUpHandler; import com.google.gwt.event.shared.HandlerRegistration; @@ -27,6 +33,25 @@ */ public ListModelListBox(Renderer<T> renderer) { super(renderer); + addKeyPressHandler(new KeyPressHandler() { + + @Override + public void onKeyPress(KeyPressEvent event) { + int keyCode = event.getNativeEvent().getKeyCode(); + if (keyCode == KeyCodes.KEY_DOWN || keyCode == KeyCodes.KEY_UP + || keyCode == KeyCodes.KEY_RIGHT || keyCode == KeyCodes.KEY_LEFT) { + + // deferring is required to allow the ListBox's selected index to update first + Scheduler.get().scheduleDeferred(new ScheduledCommand() { + + @Override + public void execute() { + DomEvent.fireNativeEvent(Document.get().createChangeEvent(), asListBox()); + } + }); + } + } + }); } @Override -- To view, visit http://gerrit.ovirt.org/22465 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I4cc9ac7e82c6d1c86886907cecd6eb5b83ac8444 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: ovirt-engine-3.3 Gerrit-Owner: Lior Vernia <lver...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches