You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by mg...@apache.org on 2021/06/24 13:37:53 UTC
[wicket] branch wicket-8.x updated: WICKET-6896
AutoCompleteTextField re-opens dropdown item list after item has been
selected
This is an automated email from the ASF dual-hosted git repository.
mgrigorov 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 97d0730 WICKET-6896 AutoCompleteTextField re-opens dropdown item list after item has been selected
97d0730 is described below
commit 97d07303d4e02dab436866ff7c45e63e9b3850c3
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
AuthorDate: Thu Jun 24 16:36:07 2021 +0300
WICKET-6896 AutoCompleteTextField re-opens dropdown item list after item has been selected
(cherry picked from commit 45f0333f99da5f5eb21e7b9f659959c527780084)
---
.../markup/html/autocomplete/wicket-autocomplete.js | 18 +++++++++++++++---
1 file changed, 15 insertions(+), 3 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 8d90aa9..e9624de 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
@@ -77,6 +77,12 @@
// timeout handler that cancels the hiding of the menu if the focus is still on menu items
var hideAutoCompleteTimer;
+ // A flag indicating whether the 'change' event has been triggered manually after selection
+ // from the menu.
+ // In this case we don't want to render the menu.
+ // It is usually rendered on successful Ajax response
+ var isTriggeredChange = false;
+
function initialize(){
var isShowing = false;
// Remove the autocompletion menu if still present from
@@ -456,9 +462,10 @@
}
if (triggerChangeOnHide) {
- var input = Wicket.$(ajaxAttributes.c);
- jQuery(input).triggerHandler('change');
triggerChangeOnHide = false;
+ var input = Wicket.$(ajaxAttributes.c);
+ isTriggeredChange = true;
+ jQuery(input).trigger('change');
}
}
@@ -683,7 +690,12 @@
}
setSelected(selectedIndex);
}
- showAutoComplete();
+
+ if (isTriggeredChange) {
+ isTriggeredChange = false;
+ } else {
+ showAutoComplete();
+ }
} else {
hideAutoComplete();
}