Skip to content

Commit b94f1b0

Browse files
committed
better handling on key down/up event.
1 parent d0e40b3 commit b94f1b0

File tree

1 file changed

+13
-17
lines changed

1 file changed

+13
-17
lines changed

gwt-material/src/main/java/gwt/material/design/client/ui/MaterialSearch.java

Lines changed: 13 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -212,25 +212,21 @@ public void onKeyUp(KeyUpEvent event) {
212212

213213
// Selection logic using key down event to navigate the search results
214214
int totalItems = searchResultPanel.getWidgetCount();
215-
if (event.getNativeEvent().getKeyCode() == KeyCodes.KEY_DOWN) {
216-
if (curSel >= totalItems) {
217-
setCurSel(getCurSel());
218-
applyHighlightedItem((MaterialLink) searchResultPanel.getWidget(curSel - 1));
219-
} else {
220-
setCurSel(getCurSel() + 1);
221-
applyHighlightedItem((MaterialLink) searchResultPanel.getWidget(curSel));
215+
if (totalItems > 0) {
216+
if (event.getNativeEvent().getKeyCode() == KeyCodes.KEY_DOWN) {
217+
if (++curSel >= totalItems)
218+
curSel = 0;
219+
220+
applyHighlightedItem((MaterialLink) searchResultPanel.getWidget(curSel));
222221
}
223-
}
224222

225-
// Selection logic using key up event to navigate the search results
226-
if (event.getNativeEvent().getKeyCode() == KeyCodes.KEY_UP) {
227-
if (curSel <= -1) {
228-
setCurSel(-1);
229-
applyHighlightedItem((MaterialLink) searchResultPanel.getWidget(curSel));
230-
} else {
231-
setCurSel(getCurSel() - 1);
232-
applyHighlightedItem((MaterialLink) searchResultPanel.getWidget(curSel));
233-
}
223+
// Selection logic using key up event to navigate the search results
224+
if (event.getNativeEvent().getKeyCode() == KeyCodes.KEY_UP) {
225+
if (--curSel < 0)
226+
curSel = totalItems - 1;
227+
228+
applyHighlightedItem((MaterialLink) searchResultPanel.getWidget(curSel));
229+
}
234230
}
235231
}
236232

0 commit comments

Comments
 (0)