From 1118945c92f5198a63dbffbacbcaa2abe86cb024 Mon Sep 17 00:00:00 2001 From: Shi Yao Wang Date: Thu, 31 Mar 2022 14:11:34 -0400 Subject: [PATCH] Bug 27113: No autosubmit after clicking autocomplete option in advanced search This patch makes it so it doesn't automatically submit form after clicking an autocomplete option in advanced search. Also removes autocomplete options after pressing tab. --- .../js/elasticsearch/autocomplete.js | 17 +++++++++++++++-- .../js/opac-elasticsearch/opac-autocomplete.js | 17 +++++++++++++++-- 2 files changed, 30 insertions(+), 4 deletions(-) diff --git a/koha-tmpl/intranet-tmpl/js/elasticsearch/autocomplete.js b/koha-tmpl/intranet-tmpl/js/elasticsearch/autocomplete.js index 0f689a7b38..e0d80ded89 100644 --- a/koha-tmpl/intranet-tmpl/js/elasticsearch/autocomplete.js +++ b/koha-tmpl/intranet-tmpl/js/elasticsearch/autocomplete.js @@ -213,6 +213,10 @@ function autocomplete(inp, nb, left, right) { /* press Esc clear all autocomplete */ else if (e.keyCode == 8) { closeAllLists(); + } + /* press Tab clear all autocomplete */ + else if (e.keyCode == 9) { + closeAllLists(); }; }); function addActive(x) { @@ -255,8 +259,17 @@ function autocomplete(inp, nb, left, right) { /* normalyzer hightlight without tags */ //inp.value = (inp.value.replace(/<\/?[^>]+(>|$)/g, "")).trim(); inp.value = this.innerText; - /* Submit form click mouse in div */ - this.closest("form").submit(); + + var autocommit = 1; + const inputs = document.querySelectorAll("#advanced-search input[type='text']"); + for (var i = 0; i < inputs.length && autocommit; i++) { + var input = inputs[i]; + if (input === inp) { + autocommit = 0; + } + } + //Submit form click mouse in div if not in advanced search + if (autocommit) this.closest("form").submit(); }); return b; }; diff --git a/koha-tmpl/opac-tmpl/bootstrap/js/opac-elasticsearch/opac-autocomplete.js b/koha-tmpl/opac-tmpl/bootstrap/js/opac-elasticsearch/opac-autocomplete.js index 01d6332caa..000a58e811 100644 --- a/koha-tmpl/opac-tmpl/bootstrap/js/opac-elasticsearch/opac-autocomplete.js +++ b/koha-tmpl/opac-tmpl/bootstrap/js/opac-elasticsearch/opac-autocomplete.js @@ -209,6 +209,10 @@ function autocomplete(inp, nb, left, right) { /* press Esc clear all autocomplete */ else if (e.keyCode == 8) { closeAllLists(); + } + /* press Tab clear all autocomplete */ + else if (e.keyCode == 9) { + closeAllLists(); }; }); function addActive(x) { @@ -251,8 +255,17 @@ function autocomplete(inp, nb, left, right) { /* normalyzer hightlight without tags */ //inp.value = (inp.value.replace(/<\/?[^>]+(>|$)/g, "")).trim(); inp.value = this.innerText; - /* Submit form click mouse in div */ - this.closest("form").submit(); + + var autocommit = 1; + const inputs = document.querySelectorAll("#booleansearch input[type='text']"); + for (var i = 0; i < inputs.length && autocommit; i++) { + var input = inputs[i]; + if (input === inp) { + autocommit = 0; + } + } + //Submit form click mouse in div if not in advanced search + if (autocommit) this.closest("form").submit(); }); return b; }; -- 2.25.1