diff options
author | Felype Santiago Ferreira <felype@vaadin.com> | 2014-01-28 15:36:19 +0200 |
---|---|---|
committer | Artur Signell <artur@vaadin.com> | 2014-03-24 19:25:13 +0200 |
commit | d5ce54586a445550b3df5168fe83accb3945901e (patch) | |
tree | d69dcda80f85c9cb0ebea3b4d6031e00ab73cf2a /client | |
parent | 43b8ca588189e3fddf69020e46ada4c3ad170e9f (diff) | |
download | vaadin-framework-d5ce54586a445550b3df5168fe83accb3945901e.tar.gz vaadin-framework-d5ce54586a445550b3df5168fe83accb3945901e.zip |
Ignore backspace events in modal windows (#13180)
Change-Id: Idf3ec4bc80bd015c546000e99cb6ff16e79ca5a8
Diffstat (limited to 'client')
-rw-r--r-- | client/src/com/vaadin/client/ui/VWindow.java | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/client/src/com/vaadin/client/ui/VWindow.java b/client/src/com/vaadin/client/ui/VWindow.java index ad9d0eac7e..f83bc83c8d 100644 --- a/client/src/com/vaadin/client/ui/VWindow.java +++ b/client/src/com/vaadin/client/ui/VWindow.java @@ -30,6 +30,7 @@ import com.google.gwt.event.dom.client.BlurEvent; import com.google.gwt.event.dom.client.BlurHandler; import com.google.gwt.event.dom.client.FocusEvent; import com.google.gwt.event.dom.client.FocusHandler; +import com.google.gwt.event.dom.client.KeyCodes; import com.google.gwt.event.dom.client.KeyDownEvent; import com.google.gwt.event.dom.client.KeyDownHandler; import com.google.gwt.event.dom.client.ScrollEvent; @@ -144,6 +145,8 @@ public class VWindow extends VOverlay implements ShortcutActionHandlerOwner, private boolean closable = true; + private boolean hasFocus; + /** * If centered (via UIDL), the window should stay in the centered -mode * until a position is received from the server, or the user moves or @@ -1048,6 +1051,10 @@ public class VWindow extends VOverlay implements ShortcutActionHandlerOwner, @Override public void onKeyDown(KeyDownEvent event) { + if (hasFocus && event.getNativeKeyCode() == KeyCodes.KEY_BACKSPACE) { + event.preventDefault(); + } + if (shortcutHandler != null) { shortcutHandler .handleKeyboardEvent(Event.as(event.getNativeEvent())); @@ -1057,6 +1064,8 @@ public class VWindow extends VOverlay implements ShortcutActionHandlerOwner, @Override public void onBlur(BlurEvent event) { + hasFocus = false; + if (client.hasEventListeners(this, EventId.BLUR)) { client.updateVariable(id, EventId.BLUR, "", true); } @@ -1064,6 +1073,8 @@ public class VWindow extends VOverlay implements ShortcutActionHandlerOwner, @Override public void onFocus(FocusEvent event) { + hasFocus = true; + if (client.hasEventListeners(this, EventId.FOCUS)) { client.updateVariable(id, EventId.FOCUS, "", true); } |