From: Tom Hughes Date: Fri, 5 Oct 2012 15:02:26 +0000 (+0100) Subject: Refactor updatelinks to avoid exceptions in updateLocation X-Git-Tag: live~5334 X-Git-Url: https://git.openstreetmap.org/rails.git/commitdiff_plain/824a474d933a3f5010717dd41097e65a25f8130c Refactor updatelinks to avoid exceptions in updateLocation --- diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js index 785862ccc..b608a1cd0 100644 --- a/app/assets/javascripts/application.js +++ b/app/assets/javascripts/application.js @@ -25,7 +25,7 @@ function zoomPrecision(zoom) { * Called as the user scrolls/zooms around to aniplate hrefs of the * view tab and various other links */ -function updatelinks(lon,lat,zoom,layers,minlon,minlat,maxlon,maxlat,objtype,objid) { +function updatelinks(lon,lat,zoom,layers,minlon,minlat,maxlon,maxlat,object) { var toPrecision = zoomPrecision(zoom); var node; @@ -54,8 +54,8 @@ function updatelinks(lon,lat,zoom,layers,minlon,minlat,maxlon,maxlat,objtype,obj args.layers = layers; } - if (objtype && $(link).hasClass("object")) { - args[objtype] = objid; + if (object && $(link).hasClass("object")) { + args[object.type] = object.id; } var minzoom = $(link).data("minzoom"); @@ -83,8 +83,8 @@ function updatelinks(lon,lat,zoom,layers,minlon,minlat,maxlon,maxlat,objtype,obj var prefix = shortlinkPrefix(); // Add ?{node,way,relation}=id to the arguments - if (objtype && objid) { - args[objtype] = objid; + if (object) { + args[object.type] = object.id; } // This is a hack to omit the default mapnik layer from the shortlink. @@ -99,7 +99,7 @@ function updatelinks(lon,lat,zoom,layers,minlon,minlat,maxlon,maxlat,objtype,obj // ?{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[object.type]) { this.href = setArgs(prefix + "/go/" + code, args); } else { this.href = prefix + "/go/" + code; diff --git a/app/assets/javascripts/browse.js b/app/assets/javascripts/browse.js index e98aa2ed6..9858db091 100644 --- a/app/assets/javascripts/browse.js +++ b/app/assets/javascripts/browse.js @@ -71,7 +71,7 @@ $(document).ready(function () { $("#object_larger_map").show(); $("#object_edit").show(); - updatelinks(centre.lon, centre.lat, 16, null, extent.left, extent.bottom, extent.right, extent.top, params.type, params.id); + updatelinks(centre.lon, centre.lat, 16, null, extent.left, extent.bottom, extent.right, extent.top, object); } else { $("#small_map").hide(); } diff --git a/app/assets/javascripts/index.js b/app/assets/javascripts/index.js index 21d5366f3..616402811 100644 --- a/app/assets/javascripts/index.js +++ b/app/assets/javascripts/index.js @@ -73,7 +73,7 @@ $(document).ready(function () { var extents = unproj(map.getExtent()); var expiry = new Date(); - updatelinks(lonlat.lon, lonlat.lat, zoom, layers, extents.left, extents.bottom, extents.right, extents.top, params.object.type, params.object.id); + updatelinks(lonlat.lon, lonlat.lat, zoom, layers, extents.left, extents.bottom, extents.right, extents.top, params.object); expiry.setYear(expiry.getFullYear() + 10); $.cookie("_osm_location", [lonlat.lon, lonlat.lat, zoom, layers].join("|"), {expires: expiry});