X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/0be576a272b817c50e91fafa47d15b6ce6a1bb3b..7e7ede890e8e948236d3dbc48e24aca00cd01f62:/app/assets/javascripts/user.js?ds=sidebyside diff --git a/app/assets/javascripts/user.js b/app/assets/javascripts/user.js index 3a739e83a..b94db8b55 100644 --- a/app/assets/javascripts/user.js +++ b/app/assets/javascripts/user.js @@ -1,4 +1,10 @@ -//= require leaflet.locatecontrol/src/L.Control.Locate +//= require leaflet.locatecontrol/dist/L.Control.Locate.umd + +(function () { + $(document).on("change", "#user_all", function () { + $("#user_list input[type=checkbox]").prop("checked", $("#user_all").prop("checked")); + }); +}()); $(document).ready(function () { var defaultHomeZoom = 12; @@ -69,8 +75,8 @@ $(document).ready(function () { deleted_lon = null; respondToHomeUpdate(); }).on("moveend", function () { - var lat = $("#home_lat").val(), - lon = $("#home_lon").val(), + var lat = $("#home_lat").val().trim(), + lon = $("#home_lon").val().trim(), location; try { @@ -121,22 +127,26 @@ $(document).ready(function () { var user = $(this).data("user"); if (user.lon && user.lat) { L.marker([user.lat, user.lon], { icon: OSM.getUserIcon(user.icon) }).addTo(map) - .bindPopup(user.description); + .bindPopup(user.description, { minWidth: 200 }); } }); } } function respondToHomeUpdate() { - var lat = $("#home_lat").val(), - lon = $("#home_lon").val(), + var lat = $("#home_lat").val().trim(), + lon = $("#home_lon").val().trim(), location; try { if (lat && lon) { location = L.latLng(lat, lon); } - } catch (error) {} + $("#home_lat, #home_lon").removeClass("is-invalid"); + } catch (error) { + if (lat && isNaN(lat)) $("#home_lat").addClass("is-invalid"); + if (lon && isNaN(lon)) $("#home_lon").addClass("is-invalid"); + } $("#home_message").toggleClass("invisible", Boolean(location)); $("#home_show").prop("hidden", !location); @@ -196,10 +206,6 @@ $(document).ready(function () { enableAuth(); } - $("#user_all").change(function () { - $("#user_list input[type=checkbox]").prop("checked", $("#user_all").prop("checked")); - }); - $("#content.user_confirm").each(function () { $(this).hide(); $(this).find("#confirm").submit();