Browse Source

#6686 Prevent events for the ComboBox popup to propagate to avoid triggering shortcut events and similar

svn changeset:18044/svn branch:6.6
tags/6.7.0.beta1
Artur Signell 13 years ago
parent
commit
6b1b62c7be
1 changed files with 9 additions and 1 deletions
  1. 9
    1
      src/com/vaadin/terminal/gwt/client/ui/VFilterSelect.java

+ 9
- 1
src/com/vaadin/terminal/gwt/client/ui/VFilterSelect.java View File

@@ -1274,30 +1274,36 @@ public class VFilterSelect extends Composite implements Paintable, Field,
}

/**
* Triggered when a key was pressed in the suggestion popup
* Triggered when a key was pressed in the suggestion popup.
*
* @param event
* The KeyDownEvent of the key
*/
private void popupKeyDown(KeyDownEvent event) {
// Propagation of handled events is stopped so other handlers such as
// shortcut key handlers do not also handle the same events.
switch (event.getNativeKeyCode()) {
case KeyCodes.KEY_DOWN:
suggestionPopup.selectNextItem();
DOM.eventPreventDefault(DOM.eventGetCurrentEvent());
event.stopPropagation();
break;
case KeyCodes.KEY_UP:
suggestionPopup.selectPrevItem();
DOM.eventPreventDefault(DOM.eventGetCurrentEvent());
event.stopPropagation();
break;
case KeyCodes.KEY_PAGEDOWN:
if (hasNextPage()) {
filterOptions(currentPage + 1, lastFilter);
}
event.stopPropagation();
break;
case KeyCodes.KEY_PAGEUP:
if (currentPage > 0) {
filterOptions(currentPage - 1, lastFilter);
}
event.stopPropagation();
break;
case KeyCodes.KEY_TAB:
if (suggestionPopup.isAttached()) {
@@ -1316,6 +1322,8 @@ public class VFilterSelect extends Composite implements Paintable, Field,
.get(0));
}
suggestionPopup.menu.doSelectedItemAction();

event.stopPropagation();
break;
}


Loading…
Cancel
Save