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

} }


/** /**
* Triggered when a key was pressed in the suggestion popup
* Triggered when a key was pressed in the suggestion popup.
* *
* @param event * @param event
* The KeyDownEvent of the key * The KeyDownEvent of the key
*/ */
private void popupKeyDown(KeyDownEvent event) { 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()) { switch (event.getNativeKeyCode()) {
case KeyCodes.KEY_DOWN: case KeyCodes.KEY_DOWN:
suggestionPopup.selectNextItem(); suggestionPopup.selectNextItem();
DOM.eventPreventDefault(DOM.eventGetCurrentEvent()); DOM.eventPreventDefault(DOM.eventGetCurrentEvent());
event.stopPropagation();
break; break;
case KeyCodes.KEY_UP: case KeyCodes.KEY_UP:
suggestionPopup.selectPrevItem(); suggestionPopup.selectPrevItem();
DOM.eventPreventDefault(DOM.eventGetCurrentEvent()); DOM.eventPreventDefault(DOM.eventGetCurrentEvent());
event.stopPropagation();
break; break;
case KeyCodes.KEY_PAGEDOWN: case KeyCodes.KEY_PAGEDOWN:
if (hasNextPage()) { if (hasNextPage()) {
filterOptions(currentPage + 1, lastFilter); filterOptions(currentPage + 1, lastFilter);
} }
event.stopPropagation();
break; break;
case KeyCodes.KEY_PAGEUP: case KeyCodes.KEY_PAGEUP:
if (currentPage > 0) { if (currentPage > 0) {
filterOptions(currentPage - 1, lastFilter); filterOptions(currentPage - 1, lastFilter);
} }
event.stopPropagation();
break; break;
case KeyCodes.KEY_TAB: case KeyCodes.KEY_TAB:
if (suggestionPopup.isAttached()) { if (suggestionPopup.isAttached()) {
.get(0)); .get(0));
} }
suggestionPopup.menu.doSelectedItemAction(); suggestionPopup.menu.doSelectedItemAction();

event.stopPropagation();
break; break;
} }



Loading…
Cancel
Save