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
This commit is contained in:
parent
351a584fee
commit
b97933d147
|
@ -93,8 +93,10 @@ def autocomplete():
|
||||||
request_params = request.args if request.method == 'GET' else request.form
|
request_params = request.args if request.method == 'GET' else request.form
|
||||||
q = request_params.get('q')
|
q = request_params.get('q')
|
||||||
|
|
||||||
if not q:
|
if not q and not request.data:
|
||||||
return jsonify({'results': []})
|
return jsonify({'?': []})
|
||||||
|
elif request.data:
|
||||||
|
q = urlparse.unquote_plus(request.data.decode('utf-8').replace('q=', ''))
|
||||||
|
|
||||||
return jsonify([q, g.user_request.autocomplete(q)])
|
return jsonify([q, g.user_request.autocomplete(q)])
|
||||||
|
|
||||||
|
|
|
@ -42,6 +42,7 @@ const autocomplete = (searchInput, autocompleteResults) => {
|
||||||
autocompleteItem.addEventListener("click", function () {
|
autocompleteItem.addEventListener("click", function () {
|
||||||
searchInput.value = this.getElementsByTagName("input")[0].value;
|
searchInput.value = this.getElementsByTagName("input")[0].value;
|
||||||
closeAllLists();
|
closeAllLists();
|
||||||
|
document.getElementById("search-form").submit();
|
||||||
});
|
});
|
||||||
autocompleteList.appendChild(autocompleteItem);
|
autocompleteList.appendChild(autocompleteItem);
|
||||||
}
|
}
|
||||||
|
@ -93,6 +94,5 @@ const autocomplete = (searchInput, autocompleteResults) => {
|
||||||
// Close lists and search when user selects a suggestion
|
// Close lists and search when user selects a suggestion
|
||||||
document.addEventListener("click", function (e) {
|
document.addEventListener("click", function (e) {
|
||||||
closeAllLists(e.target);
|
closeAllLists(e.target);
|
||||||
document.getElementById("search-form").submit();
|
|
||||||
});
|
});
|
||||||
};
|
};
|
|
@ -7,7 +7,9 @@
|
||||||
<Url type="text/html" method="{{ request_type }}" template="{{ main_url }}/search">
|
<Url type="text/html" method="{{ request_type }}" template="{{ main_url }}/search">
|
||||||
<Param name="q" value="{searchTerms}"/>
|
<Param name="q" value="{searchTerms}"/>
|
||||||
</Url>
|
</Url>
|
||||||
<Url type="application/x-suggestions+json" template="{{ main_url }}/autocomplete?q={searchTerms}"/>
|
<Url type="application/x-suggestions+json" method="{{ request_type }}" template="{{ main_url }}/autocomplete">
|
||||||
|
<Param name="q" value="{searchTerms}"/>
|
||||||
|
</Url>
|
||||||
<moz:SearchForm>{{ main_url }}/search</moz:SearchForm>
|
<moz:SearchForm>{{ main_url }}/search</moz:SearchForm>
|
||||||
</OpenSearchDescription>
|
</OpenSearchDescription>
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user