X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/944f3ebb67098f68d8524b4b993dbff9f308c0d9..5bd59e19368d8761a7dbaa5db0e8833174c11f36:/app/assets/javascripts/index/browse.js diff --git a/app/assets/javascripts/index/browse.js b/app/assets/javascripts/index/browse.js index 47d8418b1..630944411 100644 --- a/app/assets/javascripts/index/browse.js +++ b/app/assets/javascripts/index/browse.js @@ -1,4 +1,4 @@ -function initializeBrowse(map) { +OSM.initializeBrowse = function (map) { var browseBounds; var selectedLayer; var dataLayer = map.dataLayer; @@ -26,17 +26,17 @@ function initializeBrowse(map) { onSelect(e.layer); }); - map.on('layeradd', function (e) { + map.on("layeradd", function (e) { if (e.layer === dataLayer) { map.on("moveend", updateData); updateData(); } }); - map.on('layerremove', function (e) { + map.on("layerremove", function (e) { if (e.layer === dataLayer) { map.off("moveend", updateData); - $('#browse_status').empty(); + $("#browse_status").empty(); } }); @@ -47,14 +47,17 @@ function initializeBrowse(map) { } } - function displayFeatureWarning(count, limit, callback) { - $('#browse_status').html( + function displayFeatureWarning(count, limit, add, cancel) { + $("#browse_status").html( $("

") .text(I18n.t("browse.start_rjs.feature_warning", { num_features: count, max_features: limit })) + .prepend( + $("") + .click(cancel)) .append( $("") - .val(I18n.t('browse.start_rjs.load_data')) - .click(callback))); + .val(I18n.t("browse.start_rjs.load_data")) + .click(add))); } var dataLoader; @@ -89,18 +92,22 @@ function initializeBrowse(map) { var features = dataLayer.buildFeatures(xml); function addFeatures() { - $('#browse_status').empty(); + $("#browse_status").empty(); dataLayer.addData(features); + browseBounds = bounds; + } + + function cancelAddFeatures() { + $("#browse_status").empty(); } if (features.length < maxFeatures) { addFeatures(); } else { - displayFeatureWarning(features.length, maxFeatures, addFeatures); + displayFeatureWarning(features.length, maxFeatures, addFeatures, cancelAddFeatures); } dataLoader = null; - browseBounds = bounds; } }); } @@ -113,11 +120,11 @@ function initializeBrowse(map) { // Redraw in selected style layer.originalStyle = layer.options; - layer.setStyle({color: '#0000ff', weight: 8}); + layer.setStyle({ color: "#0000ff", weight: 8 }); - OSM.router.route('/' + layer.feature.type + '/' + layer.feature.id); + OSM.router.route("/" + layer.feature.type + "/" + layer.feature.id); // Stash the currently drawn feature selectedLayer = layer; } -} +};