X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/fe6e837cfe77e1414998c0216defe7912e34bf75..5b42c683f5e5b401a935182a9ea2e30f1a03c22e:/app/assets/javascripts/index/browse.js diff --git a/app/assets/javascripts/index/browse.js b/app/assets/javascripts/index/browse.js index 0016c7b5d..6371f559b 100644 --- a/app/assets/javascripts/index/browse.js +++ b/app/assets/javascripts/index/browse.js @@ -42,10 +42,11 @@ $(document).ready(function () { var locationFilter = new L.LocationFilter({ enableButton: false, - adjustButton: false, - onChange: getData + adjustButton: false }).addTo(map); + locationFilter.on("change", getData); + $("#sidebar_title").html(I18n.t('browse.start_rjs.data_frame_title')); $("#sidebar_content").html(sidebarHtml); @@ -77,10 +78,12 @@ $(document).ready(function () { map.removeLayer(dataLayer); map.removeLayer(locationFilter); map.off("moveend", updateData); + locationFilter.off("change", getData); }); function enableFilter() { $("#browse_filter_toggle").html(I18n.t('browse.start_rjs.view_data')); + locationFilter.setBounds(map.getBounds().pad(-0.2)); locationFilter.enable(); getData(); } @@ -159,28 +162,36 @@ $(document).ready(function () { dataLayer.clearLayers(); selectedLayer = null; - dataLayer.addData(xml); + var features = dataLayer.buildFeatures(xml); + + function addFeatures() { + dataLayer.addData(features); - layersById = {}; - var features = []; + layersById = {}; - dataLayer.eachLayer(function (layer) { - var feature = layer.feature; - layersById[feature.id] = layer; - features.push({ - typeName: featureTypeName(feature), - url: "/browse/" + feature.type + "/" + feature.id, - name: featureName(feature), - id: feature.id + dataLayer.eachLayer(function (layer) { + var feature = layer.feature; + layersById[feature.id] = layer; + $.extend(feature, { + typeName: featureTypeName(feature), + url: "/browse/" + feature.type + "/" + feature.id, + name: featureName(feature) + }); }); - }); - browseObjectList = $(JST["templates/browse/feature_list"]({ - features: features, - url: url - }))[0]; + browseObjectList = $(JST["templates/browse/feature_list"]({ + features: features, + url: url + }))[0]; - loadObjectList(); + loadObjectList(); + } + + if (features.length < maxFeatures) { + addFeatures(); + } else { + displayFeatureWarning(features.length, maxFeatures, addFeatures); + } } }); }