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:58:28 UTC

[wicket] branch wicket-8.x 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 wicket-8.x
in repository https://gitbox.apache.org/repos/asf/wicket.git


The following commit(s) were added to refs/heads/wicket-8.x by this push:
     new 56ba547  WICKET-6865 check element count before UP or DOWN
56ba547 is described below

commit 56ba54740808694b7765f0564d82ba4793b61fd2
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 26f4b8d..c038d3d 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,35 +116,40 @@
 			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);
 
 						if (Wicket.Browser.isSafari()) {
 							return jqEvent.stopPropagation();
 						}
 						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();
+							}
 						}
+
 						if (Wicket.Browser.isSafari()) {
 							return jqEvent.stopPropagation();
 						}