From b97933d14782612788726e04a71e529ff8c1be84 Mon Sep 17 00:00:00 2001 From: Ben Busby <33362396+benbusby@users.noreply.github.com> Date: Sun, 24 May 2020 13:27:36 -0600 Subject: [PATCH] Modified opensearch template and autocomplete route - Changed opensearch suggestions to use POST request - Added generic data fallback for autocomplete requests - Moved auto form submit to only occur when clicking on specific result --- app/routes.py | 6 ++++-- app/static/js/autocomplete.js | 2 +- app/templates/opensearch.xml | 4 +++- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/app/routes.py b/app/routes.py index bc6e01c..7a4f4d2 100644 --- a/app/routes.py +++ b/app/routes.py @@ -93,8 +93,10 @@ def autocomplete(): request_params = request.args if request.method == 'GET' else request.form q = request_params.get('q') - if not q: - return jsonify({'results': []}) + if not q and not request.data: + return jsonify({'?': []}) + elif request.data: + q = urlparse.unquote_plus(request.data.decode('utf-8').replace('q=', '')) return jsonify([q, g.user_request.autocomplete(q)]) diff --git a/app/static/js/autocomplete.js b/app/static/js/autocomplete.js index c5e2774..1a55649 100644 --- a/app/static/js/autocomplete.js +++ b/app/static/js/autocomplete.js @@ -42,6 +42,7 @@ const autocomplete = (searchInput, autocompleteResults) => { autocompleteItem.addEventListener("click", function () { searchInput.value = this.getElementsByTagName("input")[0].value; closeAllLists(); + document.getElementById("search-form").submit(); }); autocompleteList.appendChild(autocompleteItem); } @@ -93,6 +94,5 @@ const autocomplete = (searchInput, autocompleteResults) => { // Close lists and search when user selects a suggestion document.addEventListener("click", function (e) { closeAllLists(e.target); - document.getElementById("search-form").submit(); }); }; \ No newline at end of file diff --git a/app/templates/opensearch.xml b/app/templates/opensearch.xml index 5f2e15b..b737be7 100644 --- a/app/templates/opensearch.xml +++ b/app/templates/opensearch.xml @@ -7,7 +7,9 @@ - + + + {{ main_url }}/search