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) {