]> git.openstreetmap.org Git - rails.git/commitdiff
Start to refactor updatelinks
authorTom MacWright <tom@macwright.org>
Mon, 10 Jun 2013 20:58:15 +0000 (13:58 -0700)
committerJohn Firebaugh <john.firebaugh@gmail.com>
Thu, 18 Jul 2013 17:36:08 +0000 (10:36 -0700)
app/assets/javascripts/application.js
app/assets/javascripts/browse.js
app/assets/javascripts/index.js
app/views/site/_potlatch2.html.erb
app/views/site/id.html.erb

index 2ea37878784efde0dd05ac4645c9ebb35fa46c1c..7e9584d090bfff8e71ea7919d94fad77be6ed0ae 100644 (file)
@@ -31,12 +31,12 @@ 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,object) {
+function updatelinks(loc, zoom, layers, minlon, minlat, maxlon, maxlat, object) {
   var toPrecision = zoomPrecision(zoom);
   var node;
 
-  lat = toPrecision(lat);
-  lon = toPrecision(lon);
+  var lat = toPrecision(loc.lat),
+      lon = toPrecision(loc.lon || loc.lng);
 
   if (minlon) {
     minlon = toPrecision(minlon);
@@ -74,18 +74,22 @@ function updatelinks(lon,lat,zoom,layers,minlon,minlat,maxlon,maxlat,object) {
         $(link).off("click.minzoom");
 
         if (zoom >= minzoom) {
-          $(link).attr("title", I18n.t("javascripts.site." + name + "_tooltip"));
-          $(link).removeClass("disabled");
+          $(link).attr("title", I18n.t("javascripts.site." + name + "_tooltip"))
+              .removeClass("disabled");
         } else {
-          $(link).on("click.minzoom", function () { alert(I18n.t("javascripts.site." + name + "_zoom_alert")); return false; });
-          $(link).attr("title", I18n.t("javascripts.site." + name + "_disabled_tooltip"));
-          $(link).addClass("disabled");
+          $(link).on("click.minzoom", minZoomAlert)
+              .attr("title", I18n.t("javascripts.site." + name + "_disabled_tooltip"))
+              .addClass("disabled");
         }
     }
 
     link.href = setArgs(link.href, args);
   }
 
+  function minZoomAlert() {
+      alert(I18n.t("javascripts.site." + name + "_zoom_alert")); return false;
+  }
+
   function setShortlink() {
     var args = getArgs(this.href);
     var code = makeShortCode(lat, lon, zoom);
index 0b60778d63493666ab4a63b8e7f493b06e735d91..c459b77a5a1b2532c6421d7d1167ad29d48e0e11 100644 (file)
@@ -53,8 +53,7 @@ $(document).ready(function () {
       return remoteEditHandler(bbox);
     });
 
-    var centre = bbox.getCenter();
-    updatelinks(centre.lng, centre.lat, 16, null, params.minlon, params.minlat, params.maxlon, params.maxlat);
+    updatelinks(map.getCenter(), 16, null, params.minlon, params.minlat, params.maxlon, params.maxlat);
   } else if (params.type == "note") {
     var object = {type: params.type, id: params.id};
 
@@ -71,7 +70,7 @@ $(document).ready(function () {
       return remoteEditHandler(bbox);
     });
 
-    updatelinks(params.lon, params.lat, 16, null,
+    updatelinks(params, 16, null,
                 bbox.getWest(), bbox.getSouth(),
                 bbox.getEast(), bbox.getNorth(),
                 object);
@@ -103,9 +102,7 @@ $(document).ready(function () {
           $("#object_larger_map").show();
           $("#object_edit").show();
 
-          var centre = extent.getCenter();
-          updatelinks(centre.lng,
-                      centre.lat,
+          updatelinks(map.getCenter(),
                       16, null,
                       extent.getWest(),
                       extent.getSouth(),
index ba2aa26444ab8cc065537d124bd76fb8a4b44e4e..e4dbb84d02b141d0ff15eee918f040b96c09a292 100644 (file)
@@ -114,8 +114,7 @@ $(document).ready(function () {
     var layers = getMapLayers();
     var extents = map.getBounds().wrap();
 
-    updatelinks(center.lng,
-                center.lat,
+    updatelinks(center,
                 zoom,
                 layers,
                 extents.getWest(),
index f77f67f520b3f009935d8f0839d7fe01a632f5e8..a7fa1bac673a1606427f037caf723adeaf7e8432 100644 (file)
@@ -64,7 +64,7 @@
     // 700,600 for fixed size, 100%,100% for resizable
 
     if (lat && lon) {
-      updatelinks(lon, lat, zoom);
+      updatelinks({ lon: lon, lat: lat }, zoom);
     }
   }
 
@@ -86,6 +86,6 @@
   });
 
   function mapMoved(lon, lat, zoom, minlon, minlat, maxlon, maxlat) {
-    updatelinks(lon, lat, zoom, null, minlon, minlat, maxlon, maxlat);
+    updatelinks({ lon: lon, lat: lat }, zoom, null, minlon, minlat, maxlon, maxlat);
   }
 </script>
index aaa3927a9ecdf8fc5567a1f566a6fd90569c48b4..3db8b80bedd2eedf9a834ab70a4786afd040b91e 100644 (file)
           zoom = ~~id.map().zoom(),
           center = id.map().center();
 
-      parent.updatelinks(
-        center[0],
-        center[1],
+      parent.updatelinks({
+          lon: center[0],
+          lat: center[1]
+        },
         zoom,
         null,
         extent[0][0],