From: Sarah Hoffmann Date: Wed, 3 Feb 2021 19:04:08 +0000 (+0100) Subject: split SearchPage into forward and reverse versions X-Git-Url: https://git.openstreetmap.org./nominatim-ui.git/commitdiff_plain/42a0664654222836b24915e2bb484c5442daab06 split SearchPage into forward and reverse versions --- diff --git a/src/App.svelte b/src/App.svelte index c9443f3..e543afd 100644 --- a/src/App.svelte +++ b/src/App.svelte @@ -8,6 +8,7 @@ import Footer from './components/Footer.svelte'; import ReportIssueModal from './components/ReportIssueModal.svelte'; import SearchPage from './pages/SearchPage.svelte'; + import ReversePage from './pages/ReversePage.svelte'; import DetailsPage from './pages/DetailsPage.svelte'; import PolygonsPage from './pages/PolygonsPage.svelte'; import DeletablePage from './pages/DeletablePage.svelte'; @@ -19,9 +20,9 @@
{#if view === 'search'} - + {:else if view === 'reverse'} - + {:else if view === 'details'} {:else if view === 'deletable'} diff --git a/src/pages/ReversePage.svelte b/src/pages/ReversePage.svelte new file mode 100644 index 0000000..3d86cdf --- /dev/null +++ b/src/pages/ReversePage.svelte @@ -0,0 +1,98 @@ + + + + +
+ +
+ +
+
+ + + diff --git a/src/pages/SearchPage.svelte b/src/pages/SearchPage.svelte index 8367817..4ac637b 100644 --- a/src/pages/SearchPage.svelte +++ b/src/pages/SearchPage.svelte @@ -11,8 +11,6 @@ import ResultsList from '../components/ResultsList.svelte'; import Map from '../components/Map.svelte'; - export let reverse_search = false; - let api_request_params; let bStructuredSearch; @@ -21,70 +19,41 @@ update_html_title(); - if (reverse_search) { - api_request_params = { - lat: search_params.get('lat'), - lon: search_params.get('lon'), - zoom: (search_params.get('zoom') > 1 - ? Number(search_params.get('zoom')) - : Number(get_config_value('Reverse_Default_Search_Zoom'))), - format: 'jsonv2' - }; - - if (api_request_params.lat || api_request_params.lat) { - - fetch_from_api('reverse', api_request_params, function (data) { - if (data && !data.error) { - current_request_latlon.set([api_request_params.lat, api_request_params.lon]); - results_store.set([data]); - } else { - results_store.set([]); - } - - update_html_title('Reverse result for ' - + api_request_params.lat - + ',' - + api_request_params.lon); - document.querySelector('input[name=lat]').focus(); - }); - } - } else { - api_request_params = { - q: search_params.get('q'), - street: search_params.get('street'), - city: search_params.get('city'), - county: search_params.get('county'), - state: search_params.get('state'), - country: search_params.get('country'), - postalcode: search_params.get('postalcode'), - polygon_geojson: get_config_value('Search_AreaPolygons', false) ? 1 : 0, - viewbox: search_params.get('viewbox'), - bounded: search_params.get('bounded'), - dedupe: search_params.get('dedupe'), - 'accept-language': search_params.get('accept-language'), - countrycodes: search_params.get('countrycodes'), - limit: search_params.get('limit'), - polygon_threshold: search_params.get('polygon_threshold'), - exclude_place_ids: search_params.get('exclude_place_ids'), - format: 'jsonv2' - }; - - let anyStructuredFieldsSet = (api_request_params.street - || api_request_params.city - || api_request_params.county - || api_request_params.state - || api_request_params.country - || api_request_params.postalcode); - - if (api_request_params.q || anyStructuredFieldsSet) { - fetch_from_api('search', api_request_params, function (data) { - results_store.set(data); - - update_html_title('Result for ' + api_request_params.q); - - document.querySelector('input[name=q]').focus(); - }); - } + api_request_params = { + q: search_params.get('q'), + street: search_params.get('street'), + city: search_params.get('city'), + county: search_params.get('county'), + state: search_params.get('state'), + country: search_params.get('country'), + postalcode: search_params.get('postalcode'), + polygon_geojson: get_config_value('Search_AreaPolygons', false) ? 1 : 0, + viewbox: search_params.get('viewbox'), + bounded: search_params.get('bounded'), + dedupe: search_params.get('dedupe'), + 'accept-language': search_params.get('accept-language'), + countrycodes: search_params.get('countrycodes'), + limit: search_params.get('limit'), + polygon_threshold: search_params.get('polygon_threshold'), + exclude_place_ids: search_params.get('exclude_place_ids'), + format: 'jsonv2' + }; + + let anyStructuredFieldsSet = (api_request_params.street + || api_request_params.city + || api_request_params.county + || api_request_params.state + || api_request_params.country + || api_request_params.postalcode); + + if (api_request_params.q || anyStructuredFieldsSet) { + fetch_from_api('search', api_request_params, function (data) { + results_store.set(data); + + update_html_title('Result for ' + api_request_params.q); + + document.querySelector('input[name=q]').focus(); + }); } } @@ -93,11 +62,11 @@ onDestroy(() => { page_subscription(); }); - +