]> git.openstreetmap.org Git - rails.git/blobdiff - app/views/site/_key.html.erb
Eliminate interpolation in key JS
[rails.git] / app / views / site / _key.html.erb
index 15f64275c5e1960d220b6ff367d1a1ddcadbcf7a..1129f69d2d3438ddae387ca32c05ea87fcce1fa6 100644 (file)
@@ -1,31 +1,32 @@
 <script type="text/javascript">
 $(document).ready(function () {
-  var updateMapKey = function () {
-    $("#sidebar_content").load("<%= url_for :action => :key %>", {
-      layer: map.baseLayer.keyid,
-      zoom: map.getZoom()
-    });
-  }
+  $("#open_map_key").click(function (e) {
+    var url = $(this).attr('href'),
+        title = $(this).text();
 
-  var closeMapKey = function () {
-    map.events.unregister("zoomend", map, updateMapKey);
-    map.events.unregister("changelayer", map, updateMapKey);
-  }
+    function updateMapKey() {
+      $("#sidebar_content").load(url, {
+        layer: map.baseLayer.keyid,
+        zoom: map.getZoom()
+      });
+    }
 
-  $("#open_map_key").click(function () {
     updateMapKey();
+    openSidebar({ title: title });
 
-    openSidebar({ 
-      title: "<%= t('site.key.map_key') %>",
-      onclose: closeMapKey
+    $("#sidebar").one("closed", function () {
+      map.events.unregister("zoomend", map, updateMapKey);
+      map.events.unregister("changelayer", map, updateMapKey);
     });
 
     map.events.register("zoomend", map, updateMapKey);
     map.events.register("changelayer", map, updateMapKey);
+
+    e.preventDefault();
   });
 });
 </script>
 
 <% content_for :left_menu do %>
-  <li><%= link_to t("site.key.map_key"), "#", :id => "open_map_key", :title => t("site.key.map_key_tooltip") %></li>
+  <li><%= link_to t("site.key.map_key"), {:action => :key}, :id => "open_map_key", :title => t("site.key.map_key_tooltip") %></li>
 <% end %>