X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/13289d404188bd397ee72852f66c415a2bb87066..fe5cbadf3dd0a5cd397645e8476b54da8e57597e:/app/assets/javascripts/site.js diff --git a/app/assets/javascripts/site.js b/app/assets/javascripts/site.js index ea7585a44..9a43be0d6 100644 --- a/app/assets/javascripts/site.js +++ b/app/assets/javascripts/site.js @@ -45,12 +45,13 @@ function updatelinks(lon,lat,zoom,layers,minlon,minlat,maxlon,maxlat,objtype,obj var minzoom = match[1]; var name = link.id.replace(/anchor$/, ""); + $(link).off("click.minzoom"); + if (zoom >= minzoom) { - $(link).off("click"); $(link).attr("title", i18n("javascripts.site." + name + "_tooltip")); $(link).removeClass("disabled"); } else { - $(link).click(function () { alert(i18n("javascripts.site." + name + "_zoom_alert")); return false; }); + $(link).on("click.minzoom", function () { alert(i18n("javascripts.site." + name + "_zoom_alert")); return false; }); $(link).attr("title", i18n("javascripts.site." + name + "_disabled_tooltip")); $(link).addClass("disabled"); } @@ -72,17 +73,17 @@ function updatelinks(lon,lat,zoom,layers,minlon,minlat,maxlon,maxlat,objtype,obj // This is a hack to omit the default mapnik layer from the shortlink. if (layers && layers != "M") { - args["layers"] = layers; + args.layers = layers; } else { - delete args["layers"]; + delete args.layers; } // Here we're assuming that all parameters but ?layers= and // ?{node,way,relation}= can be safely omitted from the shortlink // which encodes lat/lon/zoom. If new URL parameters are added to // the main slippy map this needs to be changed. - if (args["layers"] || args[objtype]) { + if (args.layers || args[objtype]) { this.href = setArgs(prefix + "/go/" + code, args); } else { this.href = prefix + "/go/" + code; @@ -105,7 +106,7 @@ function shortlinkPrefix() { * Called to get the arguments from a URL as a hash. */ function getArgs(url) { - var args = new Object(); + var args = {}; var querystart = url.indexOf("?"); if (querystart >= 0) { @@ -116,7 +117,7 @@ function getArgs(url) { if (match = queryitems[i].match(/^(.*)=(.*)$/)) { args[unescape(match[1])] = unescape(match[2]); } else { - args[unescape(queryitems[i])] = null + args[unescape(queryitems[i])] = null; } } } @@ -128,10 +129,9 @@ function getArgs(url) { * Called to set the arguments on a URL from the given hash. */ function setArgs(url, args) { - var queryitems = new Array(); + var queryitems = []; - for (arg in args) - { + for (arg in args) { if (args[arg] == null) { queryitems.push(escape(arg)); } else { @@ -142,23 +142,6 @@ function setArgs(url, args) { return url.replace(/\?.*$/, "") + "?" + queryitems.join("&"); } -/* - * Called to get a CSS property for an element. - */ -function getStyle(el, property) { - var style; - - if (el.currentStyle) { - style = el.currentStyle[property]; - } else if( window.getComputedStyle ) { - style = document.defaultView.getComputedStyle(el,null).getPropertyValue(property); - } else { - style = el.style[property]; - } - - return style; -} - /* * Called to interpolate JavaScript variables in strings using a * similar syntax to rails I18n string interpolation - the only @@ -167,7 +150,7 @@ function getStyle(el, property) { * rails and then later by javascript. */ function i18n(string, keys) { - string = i18n_strings[string] || string + string = i18n_strings[string] || string; for (var key in keys) { var re_key = '\\[\\[' + key + '\\]\\]';