X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/0be576a272b817c50e91fafa47d15b6ce6a1bb3b..95e1aff23493b3725d5259bcca7bcc79d7d3bc26:/app/assets/javascripts/user.js diff --git a/app/assets/javascripts/user.js b/app/assets/javascripts/user.js index 3a739e83a..681ec3ace 100644 --- a/app/assets/javascripts/user.js +++ b/app/assets/javascripts/user.js @@ -1,5 +1,11 @@ //= require leaflet.locatecontrol/src/L.Control.Locate +(function () { + $(document).on("change", "#user_all", function () { + $("#user_list input[type=checkbox]").prop("checked", $("#user_all").prop("checked")); + }); +}()); + $(document).ready(function () { var defaultHomeZoom = 12; var map, marker, deleted_lat, deleted_lon; @@ -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();