From: Anton Khorev Date: Sun, 11 Aug 2024 03:47:38 +0000 (+0300) Subject: Rename geocodeCallback to changeCallback, call it from latlon setValue X-Git-Tag: live~489^2 X-Git-Url: https://git.openstreetmap.org./rails.git/commitdiff_plain/ec6789920cdb3548155ff676af893ee277ee7bfa Rename geocodeCallback to changeCallback, call it from latlon setValue endpoint.setValue always calls changeCallback on its successful completion, with geocoding or without. This allows to decide when to call getRoute entirely from callbacks and event listeners. --- diff --git a/app/assets/javascripts/index/directions-endpoint.js b/app/assets/javascripts/index/directions-endpoint.js index 14c91a4fb..24042081d 100644 --- a/app/assets/javascripts/index/directions-endpoint.js +++ b/app/assets/javascripts/index/directions-endpoint.js @@ -1,4 +1,4 @@ -OSM.DirectionsEndpoint = function Endpoint(map, input, iconUrl, dragCallback, geocodeCallback) { +OSM.DirectionsEndpoint = function Endpoint(map, input, iconUrl, dragCallback, changeCallback) { var endpoint = {}; endpoint.marker = L.marker([0, 0], { @@ -42,6 +42,7 @@ OSM.DirectionsEndpoint = function Endpoint(map, input, iconUrl, dragCallback, ge if (latlng) { setLatLng(latlng); setInputValueFromLatLng(latlng); + changeCallback(); } else { endpoint.getGeocode(); } @@ -71,7 +72,7 @@ OSM.DirectionsEndpoint = function Endpoint(map, input, iconUrl, dragCallback, ge input.val(json[0].display_name); - geocodeCallback(); + changeCallback(); }); }; diff --git a/app/assets/javascripts/index/directions.js b/app/assets/javascripts/index/directions.js index 974a40e85..b34f18ed1 100644 --- a/app/assets/javascripts/index/directions.js +++ b/app/assets/javascripts/index/directions.js @@ -28,13 +28,13 @@ OSM.Directions = function (map) { getRoute(false, !dragging); }; - var endpointGeocodeCallback = function () { + var endpointChangeCallback = function () { getRoute(true, true); }; var endpoints = [ - OSM.DirectionsEndpoint(map, $("input[name='route_from']"), OSM.MARKER_GREEN, endpointDragCallback, endpointGeocodeCallback), - OSM.DirectionsEndpoint(map, $("input[name='route_to']"), OSM.MARKER_RED, endpointDragCallback, endpointGeocodeCallback) + OSM.DirectionsEndpoint(map, $("input[name='route_from']"), OSM.MARKER_GREEN, endpointDragCallback, endpointChangeCallback), + OSM.DirectionsEndpoint(map, $("input[name='route_to']"), OSM.MARKER_RED, endpointDragCallback, endpointChangeCallback) ]; var expiry = new Date(); @@ -303,7 +303,6 @@ OSM.Directions = function (map) { var precision = OSM.zoomPrecision(map.getZoom()); var value = ll.lat.toFixed(precision) + ", " + ll.lng.toFixed(precision); endpoints[type === "from" ? 0 : 1].setValue(value, ll); - getRoute(true, true); }); var params = Qs.parse(location.search.substring(1)), @@ -323,8 +322,6 @@ OSM.Directions = function (map) { endpoints[1].setValue(params.to || "", to); map.setSidebarOverlaid(!from || !to); - - getRoute(true, true); }; page.load = function () {