Tidy up the data browser javascript

This commit is contained in:
Tom Hughes 2011-04-03 14:59:43 +01:00
parent 59dcc8b253
commit 5777c5e925
3 changed files with 19 additions and 11 deletions

View file

@ -4,6 +4,8 @@
<a id="browse_select_view" href="#"><%= t'browse.start.view_data' %></a> <a id="browse_select_view" href="#"><%= t'browse.start.view_data' %></a>
<br /> <br />
<a id="browse_select_box" href="#"><%= t'browse.start.manually_select' %></a> <a id="browse_select_box" href="#"><%= t'browse.start.manually_select' %></a>
<br />
<a id="browse_hide_areas_box" href="#"><%= t'browse.start.hide_areas' %></a>
</p> </p>
</div> </div>
<div id="browse_status" style="text-align: center; display: none"> <div id="browse_status" style="text-align: center; display: none">

View file

@ -34,6 +34,7 @@ page << <<EOJ
map.events.register("moveend", map, showData); map.events.register("moveend", map, showData);
map.events.triggerEvent("moveend"); map.events.triggerEvent("moveend");
$("browse_hide_areas_box").innerHTML = "#{I18n.t('browse.start_rjs.hide_areas')}"; $("browse_hide_areas_box").innerHTML = "#{I18n.t('browse.start_rjs.hide_areas')}";
$("browse_hide_areas_box").style.display = "inline"; $("browse_hide_areas_box").style.display = "inline";
$("browse_hide_areas_box").onclick = hideAreas; $("browse_hide_areas_box").onclick = hideAreas;
@ -60,7 +61,7 @@ page << <<EOJ
if (browseBoxControl) { if (browseBoxControl) {
browseBoxControl.destroy(); browseBoxControl.destroy();
browseBoxControl = null; browseBoxControl = null;
} }
if (browseActiveFeature) { if (browseActiveFeature) {
@ -116,7 +117,9 @@ page << <<EOJ
$("browse_hide_areas_box").innerHTML = "#{I18n.t('browse.start_rjs.show_areas')}"; $("browse_hide_areas_box").innerHTML = "#{I18n.t('browse.start_rjs.show_areas')}";
$("browse_hide_areas_box").style.display = "inline"; $("browse_hide_areas_box").style.display = "inline";
$("browse_hide_areas_box").onclick = showAreas; $("browse_hide_areas_box").onclick = showAreas;
areasHidden = true; areasHidden = true;
useMap(true); useMap(true);
} }
@ -124,7 +127,9 @@ page << <<EOJ
$("browse_hide_areas_box").innerHTML = "#{I18n.t('browse.start_rjs.hide_areas')}"; $("browse_hide_areas_box").innerHTML = "#{I18n.t('browse.start_rjs.hide_areas')}";
$("browse_hide_areas_box").style.display = "inline"; $("browse_hide_areas_box").style.display = "inline";
$("browse_hide_areas_box").onclick = hideAreas; $("browse_hide_areas_box").onclick = hideAreas;
areasHidden = false;
areasHidden = false;
useMap(true); useMap(true);
} }
@ -142,7 +147,6 @@ page << <<EOJ
$("browse_select_box").innerHTML = "#{I18n.t('browse.start_rjs.manually_select')}"; $("browse_select_box").innerHTML = "#{I18n.t('browse.start_rjs.manually_select')}";
$("browse_select_view").style.display = "inline"; $("browse_select_view").style.display = "inline";
} }
function displayFeatureWarning() { function displayFeatureWarning() {
@ -202,7 +206,7 @@ page << <<EOJ
} }
} }
function getData(bounds,reload) { function getData(bounds, reload) {
var projected = bounds.clone().transform(new OpenLayers.Projection("EPSG:900913"), new OpenLayers.Projection("EPSG:4326")); var projected = bounds.clone().transform(new OpenLayers.Projection("EPSG:900913"), new OpenLayers.Projection("EPSG:4326"));
var size = projected.getWidth() * projected.getHeight(); var size = projected.getWidth() * projected.getHeight();
@ -213,15 +217,16 @@ page << <<EOJ
} }
} }
function loadGML(url,reload) { function loadGML(url, reload) {
setStatus("#{I18n.t('browse.start_rjs.loading')}"); setStatus("#{I18n.t('browse.start_rjs.loading')}");
$("browse_content").innerHTML = ""; $("browse_content").innerHTML = "";
fOptions = { var formatOptions = {
checkTags: true, checkTags: true,
interestingTagsExclude: ['source','source_ref','source:ref','history','attribution','created_by','tiger:county','tiger:tlid','tiger:upload_uuid'] interestingTagsExclude: ['source','source_ref','source:ref','history','attribution','created_by','tiger:county','tiger:tlid','tiger:upload_uuid']
}; };
if (areasHidden) fOptions.areaTags = [];
if (areasHidden) formatOptions.areaTags = [];
if (!browseDataLayer || reload) { if (!browseDataLayer || reload) {
var style = new OpenLayers.Style(); var style = new OpenLayers.Style();
@ -238,7 +243,7 @@ page << <<EOJ
browseDataLayer = new OpenLayers.Layer.GML("Data", url, { browseDataLayer = new OpenLayers.Layer.GML("Data", url, {
format: OpenLayers.Format.OSM, format: OpenLayers.Format.OSM,
formatOptions: fOptions, formatOptions: formatOptions,
maxFeatures: 100, maxFeatures: 100,
requestSuccess: customDataLoader, requestSuccess: customDataLoader,
displayInLayerSwitcher: false, displayInLayerSwitcher: false,
@ -248,7 +253,6 @@ page << <<EOJ
}) })
}); });
browseDataLayer.events.register("loadend", browseDataLayer, dataLoaded ); browseDataLayer.events.register("loadend", browseDataLayer, dataLoaded );
map.addLayer(browseDataLayer); map.addLayer(browseDataLayer);
browseSelectControl = new OpenLayers.Control.SelectFeature(browseDataLayer, { onSelect: onFeatureSelect }); browseSelectControl = new OpenLayers.Control.SelectFeature(browseDataLayer, { onSelect: onFeatureSelect });
@ -258,7 +262,7 @@ page << <<EOJ
browseSelectControl.activate(); browseSelectControl.activate();
} else { } else {
browseDataLayer.destroyFeatures(); browseDataLayer.destroyFeatures();
browseDataLayer.format(fOptions); browseDataLayer.format(formatOptions);
browseDataLayer.setUrl(url); browseDataLayer.setUrl(url);
} }

View file

@ -219,6 +219,8 @@ en:
zoom_or_select: "Zoom in or select an area of the map to view" zoom_or_select: "Zoom in or select an area of the map to view"
drag_a_box: "Drag a box on the map to select an area" drag_a_box: "Drag a box on the map to select an area"
manually_select: "Manually select a different area" manually_select: "Manually select a different area"
hide_areas: "Hide areas"
show_areas: "Show areas"
loaded_an_area_with_num_features: "You have loaded an area which contains [[num_features]] features. In general, some browsers may not cope well with displaying this quantity of data. Generally, browsers work best at displaying less than 100 features at a time: doing anything else may make your browser slow/unresponsive. If you are sure you want to display this data, you may do so by clicking the button below." loaded_an_area_with_num_features: "You have loaded an area which contains [[num_features]] features. In general, some browsers may not cope well with displaying this quantity of data. Generally, browsers work best at displaying less than 100 features at a time: doing anything else may make your browser slow/unresponsive. If you are sure you want to display this data, you may do so by clicking the button below."
load_data: "Load Data" load_data: "Load Data"
unable_to_load_size: "Unable to load: Bounding box size of [[bbox_size]] is too large (must be smaller than {{max_bbox_size}})" unable_to_load_size: "Unable to load: Bounding box size of [[bbox_size]] is too large (must be smaller than {{max_bbox_size}})"