X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/a4f37de7e9d3ff9416995375b3f2a1e33762ca72..bf9dd8f350ca1b54afb79dda79506d980ccb5738:/app/assets/javascripts/welcome.js diff --git a/app/assets/javascripts/welcome.js b/app/assets/javascripts/welcome.js index 60648383a..35a1fdc4b 100644 --- a/app/assets/javascripts/welcome.js +++ b/app/assets/javascripts/welcome.js @@ -1,4 +1,4 @@ -$(document).ready(function() { +$(document).ready(function () { var params = OSM.params(); if (params.lat && params.lon) { @@ -6,42 +6,41 @@ $(document).ready(function() { params.lon = parseFloat(params.lon); params.zoom = params.zoom || 17; - var url = '/edit'; + var url = "/edit"; if (params.editor) { - url += '?editor=' + params.editor; + url += "?editor=" + params.editor; } url += OSM.formatHash(params); - $('.start-mapping').attr('href', url); - - } else if (navigator.geolocation) { - function geoSuccess(position) { - window.location = '/edit' + OSM.formatHash({ + $(".start-mapping").attr("href", url); + } else { + var geoSuccess = function (position) { + window.location = "/edit" + OSM.formatHash({ zoom: 17, lat: position.coords.latitude, lon: position.coords.longitude }); - } - - function geoError() { - $('.start-mapping') - .removeClass('loading') - .addClass('error'); - } + }; - $('.start-mapping').on('click', function(e) { + $(".start-mapping").on("click", function (e) { e.preventDefault(); + $(".start-mapping").addClass("loading"); - $('.start-mapping') - .addClass('loading'); + if (navigator.geolocation) { + // handle firefox's weird implementation + // https://bugzilla.mozilla.org/show_bug.cgi?id=675533 + window.setTimeout(manualEdit, 4000); - // handle firefox's weird implementation - // https://bugzilla.mozilla.org/show_bug.cgi?id=675533 - window.setTimeout(geoError, 4000); - - navigator.geolocation.getCurrentPosition(geoSuccess, geoError); + navigator.geolocation.getCurrentPosition(geoSuccess, manualEdit); + } else { + manualEdit(); + } }); } + + function manualEdit() { + window.location = "/?edit_help=1"; + } });