]> git.openstreetmap.org Git - rails.git/commitdiff
Merge remote-tracking branch 'osmlab/map-ui'
authorTom Hughes <tom@compton.nu>
Tue, 6 Aug 2013 08:05:59 +0000 (09:05 +0100)
committerTom Hughes <tom@compton.nu>
Tue, 6 Aug 2013 08:05:59 +0000 (09:05 +0100)
1  2 
app/assets/javascripts/application.js
app/assets/javascripts/index.js

index b257f7fedfd575f65a881dc213a9d88112cb8786,fc7cdb51c548e829702714e9e119cfccd6ba01ec..225ddaf44503ee78aaa2ec81455121df795c6e36
@@@ -44,21 -44,12 +44,21 @@@ function remoteEditHandler(bbox, select
        };
  
    if (select) query.select = select;
 -  $("#linkloader")
 +
 +  var iframe = $('<iframe>')
 +    .hide()
 +    .appendTo('body')
      .attr("src", "http://127.0.0.1:8111/load_and_zoom?" + querystring.stringify(query))
 -    .load(function() { loaded = true; });
 +    .on('load', function() {
 +      $(this).remove();
 +      loaded = true;
 +    });
  
    setTimeout(function () {
 -    if (!loaded) alert(I18n.t('site.index.remote_failed'));
 +    if (!loaded) {
 +      alert(I18n.t('site.index.remote_failed'));
 +      iframe.remove();
 +    }
    }, 1000);
  
    return false;
@@@ -122,6 -113,19 +122,19 @@@ function cookieContent(map) 
    return [center.lng, center.lat, map.getZoom(), map.getLayersCode()].join('|');
  }
  
+ function escapeHTML(string) {
+   var htmlEscapes = {
+     '&': '&amp;',
+     '<': '&lt;',
+     '>': '&gt;',
+     '"': '&quot;',
+     "'": '&#x27;'
+   };
+   return string == null ? '' : (string + '').replace(/[&<>"']/g, function(match) {
+       return htmlEscapes[match];
+   });
+ }
  /*
   * Forms which have been cached by rails may have the wrong
   * authenticity token, so patch up any forms with the correct
index 15acc64124f69d19d3343fda9b4349d05552c844,4724351ce614ab6bc03545880863d7afb62ba862..bae80cac5069480ff60a9fe3ab4cf3e857a77ac8
@@@ -48,7 -48,12 +48,12 @@@ $(document).ready(function () 
      })
    ];
  
-   layers[0].addTo(map);
+   for (var i = layers.length - 1; i >= 0; i--) {
+     if (i === 0 || params.layers.indexOf(layers[i].options.code) >= 0) {
+       map.addLayer(layers[i]);
+       break;
+     }
+   }
  
    map.noteLayer = new L.LayerGroup();
    map.noteLayer.options = {code: 'N'};
      }).addTo(map);
    }
  
-   if (params.layers) {
-     var foundLayer = false;
-     for (var i = 0; i < layers.length; i++) {
-       if (params.layers.indexOf(layers[i].options.code) >= 0) {
-         map.addLayer(layers[i]);
-         foundLayer = true;
-       } else {
-         map.removeLayer(layers[i]);
-       }
-     }
-     if (!foundLayer) {
-       map.addLayer(layers[0]);
-     }
-   }
    if (params.marker) {
      L.marker([params.mlat, params.mlon], {icon: getUserIcon()}).addTo(map.markerLayer);
    }
  
    if (params.object) {
-     addObjectToMap(params.object, map, { zoom: params.object_zoom });
+     map.addObject(params.object, { zoom: params.object_zoom });
    }
  
    $("body").on("click", "a.set_position", setPositionLink(map));
@@@ -195,7 -185,7 +185,7 @@@ function setPositionLink(map) 
        }
  
        if (data.type && data.id) {
-         addObjectToMap(data, map, { zoom: false, style: { opacity: 0.2, fill: false } });
 -        map.addObject(data, { zoom: true, style: { opacity: 0.2, fill: false } });
++        map.addObject(data, { zoom: false, style: { opacity: 0.2, fill: false } });
        }
  
        map.markerLayer.clearLayers();