From 9e2841ad446ef333178c6b4f695fc927669ff643 Mon Sep 17 00:00:00 2001 From: Sarah Hoffmann Date: Mon, 11 May 2020 00:15:30 +0200 Subject: [PATCH] search UI: hide unused query parameters Only send query parameters relevant for the current query type (simple/structured), hide the other input fields. This is quite a bit of CSS state changing, so move the intial setup of the input field states into Javascript. --- lib/template/search-html.php | 40 ++++++++++++++---------------------- website/js/nominatim-ui.js | 10 +++++++++ 2 files changed, 25 insertions(+), 25 deletions(-) diff --git a/lib/template/search-html.php b/lib/template/search-html.php index 5090a6fa..404c007a 100644 --- a/lib/template/search-html.php +++ b/lib/template/search-html.php @@ -14,40 +14,21 @@ - +
- > +
- > +
-
> +
-
> +
@@ -140,7 +121,16 @@ ); echo 'var nominatim_map_init = ' . json_encode($aNominatimMapInit, JSON_PRETTY_PRINT) . ';'; - echo 'var nominatim_results = ' . json_encode($aSearchResults, JSON_PRETTY_PRINT) . ';'; + echo 'var nominatim_results = ' . json_encode($aSearchResults, JSON_PRETTY_PRINT) . ';'; + $sStructuredQuery = (empty($aMoreParams['q']) + && !(empty($aMoreParams['street']) + && empty($aMoreParams['city']) + && empty($aMoreParams['county']) + && empty($aMoreParams['state']) + && empty($aMoreParams['country']) + && empty($aMoreParams['postalcode']))) + ? 'true' : 'false'; + echo 'var nominatim_structured_query = '.$sStructuredQuery.';'; ?> diff --git a/website/js/nominatim-ui.js b/website/js/nominatim-ui.js index 9c8dee55..72c1b3b0 100644 --- a/website/js/nominatim-ui.js +++ b/website/js/nominatim-ui.js @@ -31,14 +31,24 @@ jQuery(document).ready(function(){ if (query_val == "simple") { $("div.form-group-structured").hide(); $("div.form-group-simple").show(); + $("div.form-group-structured .form-control").prop('disabled', true); + $("div.form-group-simple .form-control").prop('disabled', false); $('.form-group-structured').find('input:text').val(''); } else if (query_val == "structured") { $("div.form-group-simple").hide(); $("div.form-group-structured").show(); + $("div.form-group-structured .form-control").prop('disabled', false); + $("div.form-group-simple .form-control").prop('disabled', true); $('.form-group-simple').find('input:text').val(''); } }); + + if (nominatim_structured_query) { + $('input#structured').prop('checked', true).trigger('click'); + } else { + $('input#simple').prop('checked', true).trigger('click'); + } }); map = new L.map('map', { -- 2.39.5