X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/87bf5e73d4eccb88aa057fa27be0f482509c8fdf..46c3c826c4c0f1987f616b287a06bf9412c184be:/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 69f6e3bc8..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;
@@ -47,29 +47,23 @@ function initializeBrowse(map) {
}
}
- function displayFeatureWarning(count, limit, callback) {
+ function displayFeatureWarning(count, limit, add, cancel) {
$('#browse_status').html(
$("<p class='warning'></p>")
- .text(I18n.t("browse.start_rjs.loaded_an_area_with_num_features", { num_features: count, max_features: limit }))
+ .text(I18n.t("browse.start_rjs.feature_warning", { num_features: count, max_features: limit }))
+ .prepend(
+ $("<span class='icon close'></span>")
+ .click(cancel))
.append(
$("<input type='submit'>")
.val(I18n.t('browse.start_rjs.load_data'))
- .click(callback)));
+ .click(add)));
}
var dataLoader;
function getData() {
var bounds = map.getBounds();
- var size = bounds.getSize();
-
- if (size > OSM.MAX_REQUEST_AREA) {
- $('#browse_status').html(
- $("<p class='warning'></p>")
- .text(I18n.t("browse.start_rjs.unable_to_load_size", { max_bbox_size: OSM.MAX_REQUEST_AREA, bbox_size: size.toFixed(2) })));
- return false;
- }
-
var url = "/api/" + OSM.API_VERSION + "/map?bbox=" + bounds.toBBoxString();
/*
@@ -100,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;
}
});
}
@@ -124,9 +122,9 @@ function initializeBrowse(map) {
layer.originalStyle = layer.options;
layer.setStyle({color: '#0000ff', weight: 8});
- OSM.route('/browse/' + layer.feature.type + '/' + layer.feature.id);
+ OSM.router.route('/' + layer.feature.type + '/' + layer.feature.id);
// Stash the currently drawn feature
selectedLayer = layer;
}
-}
+};