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:39:11 UTC
[wicket] branch master 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 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 99f3c12 WICKET-6896 AutoCompleteTextField re-opens dropdown item list after item has been selected
99f3c12 is described below
commit 99f3c12e74dcc047dea95b6b1691967bc89e18a9
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)
---
.../ajax/markup/html/autocomplete/wicket-autocomplete.js | 16 ++++++++++++++--
1 file changed, 14 insertions(+), 2 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 7d23fbe..0aa39b4 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
@@ -450,9 +456,10 @@
}
if (triggerChangeOnHide) {
+ triggerChangeOnHide = false;
var input = Wicket.$(ajaxAttributes.c);
+ isTriggeredChange = true;
jQuery(input).trigger('change');
- triggerChangeOnHide = false;
}
}
@@ -677,7 +684,12 @@
}
setSelected(selectedIndex);
}
- showAutoComplete();
+
+ if (isTriggeredChange) {
+ isTriggeredChange = false;
+ } else {
+ showAutoComplete();
+ }
} else {
hideAutoComplete();
}