X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/6362f60a54689aec51b2741b4c0da460c7f4fa03..e20bb507f122f73d18021bf93efe85fc2e189dfb:/app/assets/javascripts/index/browse.js?ds=sidebyside diff --git a/app/assets/javascripts/index/browse.js b/app/assets/javascripts/index/browse.js index 2fa38bca1..28a830858 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,19 +26,6 @@ function initializeBrowse(map) { onSelect(e.layer); }); - dataLayer.on('statechange', function (e) { - if (e.checked) { - if (e.disabled) { - var size = map.getBounds().getSize(); - $('#browse_status').html( - $("
") - .text(I18n.t("browse.start_rjs.unable_to_load_size", { max_bbox_size: OSM.MAX_REQUEST_AREA, bbox_size: size.toFixed(2) }))); - } else { - $('#browse_status').empty(); - } - } - }); - map.on('layeradd', function (e) { if (e.layer === dataLayer) { map.on("moveend", updateData); @@ -60,14 +47,17 @@ function initializeBrowse(map) { } } - function displayFeatureWarning(count, limit, callback) { + 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))); + .click(add))); } var dataLoader; @@ -104,16 +94,20 @@ function initializeBrowse(map) { function addFeatures() { $('#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; } }); } @@ -133,4 +127,4 @@ function initializeBrowse(map) { // Stash the currently drawn feature selectedLayer = layer; } -} +};