X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/e5ca823f30e4bf0e705ce71b88711e05413d97c0..2b4f8e92c969a5508b73ae7af45811a118fda6b1:/app/assets/javascripts/index/browse.js diff --git a/app/assets/javascripts/index/browse.js b/app/assets/javascripts/index/browse.js index 772690ba3..752c84fec 100644 --- a/app/assets/javascripts/index/browse.js +++ b/app/assets/javascripts/index/browse.js @@ -36,52 +36,40 @@ function initializeBrowse(map) { map.on('layerremove', function (e) { if (e.layer === dataLayer) { map.off("moveend", updateData); + $('#browse_status').empty(); } }); function updateData() { - if (map.getZoom() >= 15) { - var bounds = map.getBounds(); - if (!browseBounds || !browseBounds.contains(bounds)) { - browseBounds = bounds; - getData(); - } - } else { - setStatus(I18n.t('browse.start_rjs.zoom_or_select')); - } + var bounds = map.getBounds(); + getData(!browseBounds || !browseBounds.contains(bounds)); + browseBounds = bounds; } function displayFeatureWarning(count, limit, callback) { - clearStatus(); - - var div = document.createElement("div"); - - var p = document.createElement("p"); - p.appendChild(document.createTextNode(I18n.t("browse.start_rjs.loaded_an_area_with_num_features", { num_features: count, max_features: limit }))); - div.appendChild(p); - - var input = document.createElement("input"); - input.type = "submit"; - input.value = I18n.t('browse.start_rjs.load_data'); - input.onclick = callback; - div.appendChild(input); - - $("#browse_content").html(""); - $("#browse_content").append(div); + $('#browse_status').html( + $("

") + .text(I18n.t("browse.start_rjs.loaded_an_area_with_num_features", { num_features: count, max_features: limit })) + .append( + $("") + .val(I18n.t('browse.start_rjs.load_data')) + .click(callback))); } var dataLoader; - function getData() { + function getData(inPrevious) { var bounds = map.getBounds(); var size = bounds.getSize(); if (size > OSM.MAX_REQUEST_AREA) { - setStatus(I18n.t("browse.start_rjs.unable_to_load_size", { max_bbox_size: OSM.MAX_REQUEST_AREA, bbox_size: size })); + $('#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) }))); return; } - setStatus(I18n.t('browse.start_rjs.loading')); + if (inPrevious) return; var url = "/api/" + OSM.API_VERSION + "/map?bbox=" + bounds.toBBoxString(); @@ -105,14 +93,13 @@ function initializeBrowse(map) { dataLoader = $.ajax({ url: url, success: function (xml) { - clearStatus(); - dataLayer.clearLayers(); selectedLayer = null; var features = dataLayer.buildFeatures(xml); function addFeatures() { + $('#browse_status').empty(); dataLayer.addData(features); } @@ -142,10 +129,4 @@ function initializeBrowse(map) { // Stash the currently drawn feature selectedLayer = layer; } - - function setStatus(status) { - } - - function clearStatus() { - } }