You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by sv...@apache.org on 2021/02/15 09:52:23 UTC
[wicket] branch master updated: WICKET-6865 check element count
before UP or DOWN
This is an automated email from the ASF dual-hosted git repository.
svenmeier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/wicket.git
The following commit(s) were added to refs/heads/master by this push:
new b65d18d WICKET-6865 check element count before UP or DOWN
b65d18d is described below
commit b65d18d7bc9a7f443008d1a2e7789342bdc9a884
Author: Sven Meier <sv...@apache.org>
AuthorDate: Mon Feb 15 10:46:19 2021 +0100
WICKET-6865 check element count before UP or DOWN
---
.../html/autocomplete/wicket-autocomplete.js | 47 ++++++++++++----------
1 file changed, 26 insertions(+), 21 deletions(-)
diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/wicket-autocomplete.js b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/wicket-autocomplete.js
index dc140d4..09829c8 100644
--- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/wicket-autocomplete.js
+++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/wicket-autocomplete.js
@@ -116,32 +116,37 @@
Wicket.Event.add(obj, 'keydown', function (jqEvent) {
switch(Wicket.Event.keyCode(jqEvent)){
case KEY_UP:
- if (selected>-1) {
- setSelected(selected-1);
- }
-
- var searchTerm = Wicket.$(ajaxAttributes.c).value;
- if(selected === -1 && searchTerm) {
- // select the last element
- setSelected(elementCount-1);
- showAutoComplete();
+ if (elementCount > 0) {
+ if (selected>-1) {
+ setSelected(selected-1);
+ }
+
+ var searchTerm = Wicket.$(ajaxAttributes.c).value;
+ if(selected === -1 && searchTerm) {
+ // select the last element
+ setSelected(elementCount-1);
+ showAutoComplete();
+ }
+ render(true, false);
}
- render(true, false);
break;
case KEY_DOWN:
- if (selected < elementCount-1) {
- setSelected(selected+1);
- } else if (selected === elementCount-1) {
- // select the first element
- setSelected(0);
- }
- if (visible === 0) {
- updateChoices();
- } else {
- render(true, false);
- showAutoComplete();
+ if (elementCount > 0) {
+ if (selected < elementCount-1) {
+ setSelected(selected+1);
+ } else if (selected === elementCount-1) {
+ // select the first element
+ setSelected(0);
+ }
+ if (visible === 0) {
+ updateChoices();
+ } else {
+ render(true, false);
+ showAutoComplete();
+ }
}
+
break;
case KEY_ESC:
if (visible === 1) {