X-Git-Url: https://git.openstreetmap.org./nominatim-ui.git/blobdiff_plain/f3a77b08006768e90b0e2d6f7797a610630f5cfd..44f6dce2dcac82048e460bb1f2a8fec6fb58b539:/dist/assets/js/nominatim-ui.js diff --git a/dist/assets/js/nominatim-ui.js b/dist/assets/js/nominatim-ui.js index 4101705..d61aac5 100644 --- a/dist/assets/js/nominatim-ui.js +++ b/dist/assets/js/nominatim-ui.js @@ -61,15 +61,13 @@ function map_viewbox_as_string() { // ********************************************************* function fetch_from_api(endpoint_name, params, callback) { - // `&a=&b=&c=1` => '&c=' - // fetch_from_api + // `&a=&b=&c=1` => '&c=1' - // var c = ; - var keys = Object.keys(params); - for (var i = 0; i < keys.length; i += 1) { - var val = params[keys[i]]; + var param_names = Object.keys(params); + for (var i = 0; i < param_names.length; i += 1) { + var val = param_names[i]; if (typeof (val) === 'undefined' || val === '' || val === null) { - delete params[keys[i]]; + delete param_names[i]; } } @@ -410,8 +408,19 @@ function init_map_on_search_page(is_reverse_search, nominatim_results, request_l update_viewbox_field(); }); - - + $("input[name='query-selector']").click(function () { + var query_val = $("input[name='query-selector']:checked").val(); + if (query_val === 'simple') { + $('div.form-group-simple').removeClass('hidden'); + $('div.form-group-structured').addClass('hidden'); + $('.form-group-structured').find('input:text').val(''); + } else if (query_val === 'structured') { + console.log('here'); + $('div.form-group-simple').addClass('hidden'); + $('div.form-group-structured').removeClass('hidden'); + $('.form-group-simple').find('input:text').val(''); + } + }); function get_result_element(position) { return $('.result').eq(position); @@ -536,9 +545,6 @@ function init_map_on_search_page(is_reverse_search, nominatim_results, request_l - - - jQuery(document).ready(function () { // if (!$('#search-page,#reverse-page').length) { return; } @@ -621,25 +627,56 @@ jQuery(document).ready(function () { } 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: search_params.get('polygon_geojson') ? 1 : 0, viewbox: search_params.get('viewbox'), + exclude_place_ids: search_params.get('exclude_place_ids'), format: 'jsonv2' }; context = { - // aSearchResults: aResults, sQuery: api_request_params.q, sViewBox: search_params.get('viewbox'), - env: Nominatim_Config, - sMoreURL: '' + env: Nominatim_Config }; - if (api_request_params.q) { + if (api_request_params.street || api_request_params.city || api_request_params.county + || api_request_params.state || api_request_params.country || api_request_params.postalcode) { + context.hStructured = { + street: api_request_params.street, + city: api_request_params.city, + county: api_request_params.county, + state: api_request_params.state, + country: api_request_params.country, + postalcode: api_request_params.postalcode + }; + } + + if (api_request_params.q || context.hStructured) { fetch_from_api('search', api_request_params, function (aResults) { context.aSearchResults = aResults; + if (aResults.length >= 10) { + var aExcludePlaceIds = []; + if (search_params.has('exclude_place_ids')) { + aExcludePlaceIds.search_params.get('exclude_place_ids').split(','); + } + for (var i = 0; i < aResults.length; i += 1) { + aExcludePlaceIds.push(aResults[i].place_id); + } + + var parsed_url = new URLSearchParams(window.location.search); + parsed_url.set('exclude_place_ids', aExcludePlaceIds.join(',')); + context.sMoreURL = '?' + parsed_url.toString(); + } + render_template($('main'), 'searchpage-template', context); update_html_title('Result for ' + api_request_params.q); @@ -668,3 +705,43 @@ jQuery(document).ready(function () { } } }); +// ********************************************************* +// DELETABLE PAGE +// ********************************************************* + +jQuery(document).ready(function () { + if (!$('#deletable-page').length) { return; } + + var api_request_params = { + format: 'json' + }; + + fetch_from_api('deletable', api_request_params, function (aPolygons) { + var context = { aPolygons: aPolygons }; + + render_template($('main'), 'deletable-template', context); + update_html_title('Deletable objects'); + + update_data_date(); + }); +}); +// ********************************************************* +// BROKEN POLYGON PAGE +// ********************************************************* + +jQuery(document).ready(function () { + if (!$('#polygons-page').length) { return; } + + var api_request_params = { + format: 'json' + }; + + fetch_from_api('polygons', api_request_params, function (aPolygons) { + var context = { aPolygons: aPolygons }; + + render_template($('main'), 'polygons-template', context); + update_html_title('Broken polygons'); + + update_data_date(); + }); +});