1 OSM.HomeLocationNameGeocoder = function Endpoint(latInput, lonInput, locationNameInput) {
4 countryName: locationNameInput.val().trim()
7 let requestController = null;
9 endpoint.updateHomeLocationName = function (
11 lat = latInput.val().trim(),
12 lon = lonInput.val().trim(),
15 if (!lat || !lon || !endpoint.autofill) {
19 const geocodeUrl = "/search/nominatim_reverse_query",
20 csrf_param = $("meta[name=csrf-param]").attr("content"),
21 csrf_token = $("meta[name=csrf-token]").attr("content"),
22 params = new URLSearchParams({
27 params.set(csrf_param, csrf_token);
29 if (requestController) {
30 requestController.abort();
32 const currentRequestController = new AbortController();
33 requestController = currentRequestController;
38 signal: requestController.signal,
39 headers: { accept: "application/json" }
41 .then((response) => response.json())
43 const country = data.length ? data[0].name : "";
46 $("#home_location_name").val(country);
47 } else if (endpoint.countryName !== country) {
48 endpoint.autofill = false;
50 endpoint.countryName = country;
51 requestController = null;
58 if (currentRequestController === requestController) {
59 requestController = null;