Move changeset JS to page-specific script file
This commit is contained in:
parent
7ef803f86d
commit
898bc32f48
4 changed files with 80 additions and 79 deletions
75
app/assets/javascripts/changeset.js
Normal file
75
app/assets/javascripts/changeset.js
Normal file
|
@ -0,0 +1,75 @@
|
||||||
|
var highlight;
|
||||||
|
|
||||||
|
function highlightChangeset(id) {
|
||||||
|
var feature = vectors.getFeatureByFid(id);
|
||||||
|
var bounds = feature.geometry.getBounds();
|
||||||
|
|
||||||
|
if (bounds.containsBounds(map.getExtent())) {
|
||||||
|
bounds = map.getExtent().scale(1.1);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (highlight) vectors.removeFeatures(highlight);
|
||||||
|
|
||||||
|
highlight = new OpenLayers.Feature.Vector(bounds.toGeometry(), {}, {
|
||||||
|
strokeWidth: 2,
|
||||||
|
strokeColor: "#ee9900",
|
||||||
|
fillColor: "#ffff55",
|
||||||
|
fillOpacity: 0.5
|
||||||
|
});
|
||||||
|
|
||||||
|
vectors.addFeatures(highlight);
|
||||||
|
|
||||||
|
$("#tr-changeset-" + id).addClass("selected");
|
||||||
|
}
|
||||||
|
|
||||||
|
function unHighlightChangeset(id) {
|
||||||
|
vectors.removeFeatures(highlight);
|
||||||
|
|
||||||
|
$("#tr-changeset-" + id).removeClass("selected");
|
||||||
|
}
|
||||||
|
|
||||||
|
$(document).ready(function () {
|
||||||
|
var map = createMap("changeset_list_map", {
|
||||||
|
controls: [
|
||||||
|
new OpenLayers.Control.Navigation(),
|
||||||
|
new OpenLayers.Control.Zoom(),
|
||||||
|
new OpenLayers.Control.SimplePanZoom()
|
||||||
|
]
|
||||||
|
});
|
||||||
|
|
||||||
|
var bounds = new OpenLayers.Bounds();
|
||||||
|
|
||||||
|
$("[data-changeset]").each(function () {
|
||||||
|
var changeset = $(this).data('changeset');
|
||||||
|
if (changeset.bbox) {
|
||||||
|
var bbox = new OpenLayers.Bounds(changeset.bbox.minlon, changeset.bbox.minlat, changeset.bbox.maxlon, changeset.bbox.maxlat);
|
||||||
|
|
||||||
|
bounds.extend(bbox);
|
||||||
|
|
||||||
|
addBoxToMap(bbox, changeset.id, true);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
vectors.events.on({
|
||||||
|
"featureselected": function(feature) {
|
||||||
|
highlightChangeset(feature.feature.fid);
|
||||||
|
},
|
||||||
|
"featureunselected": function(feature) {
|
||||||
|
unHighlightChangeset(feature.feature.fid);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
var selectControl = new OpenLayers.Control.SelectFeature(vectors, {
|
||||||
|
multiple: false,
|
||||||
|
hover: true
|
||||||
|
});
|
||||||
|
map.addControl(selectControl);
|
||||||
|
selectControl.activate();
|
||||||
|
|
||||||
|
var params = OSM.mapParams();
|
||||||
|
if (params.bbox) {
|
||||||
|
map.zoomToExtent(proj(new OpenLayers.Bounds(params.minlon, params.minlat, params.maxlon, params.maxlat)));
|
||||||
|
} else {
|
||||||
|
map.zoomToExtent(proj(bounds));
|
||||||
|
}
|
||||||
|
});
|
|
@ -1,80 +1,2 @@
|
||||||
<div id="changeset_list_map">
|
<div id="changeset_list_map">
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script type="text/javascript">
|
|
||||||
var highlight;
|
|
||||||
|
|
||||||
function highlightChangeset(id) {
|
|
||||||
var feature = vectors.getFeatureByFid(id);
|
|
||||||
var bounds = feature.geometry.getBounds();
|
|
||||||
|
|
||||||
if (bounds.containsBounds(map.getExtent())) {
|
|
||||||
bounds = map.getExtent().scale(1.1);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (highlight) vectors.removeFeatures(highlight);
|
|
||||||
|
|
||||||
highlight = new OpenLayers.Feature.Vector(bounds.toGeometry(), {}, {
|
|
||||||
strokeWidth: 2,
|
|
||||||
strokeColor: "#ee9900",
|
|
||||||
fillColor: "#ffff55",
|
|
||||||
fillOpacity: 0.5
|
|
||||||
});
|
|
||||||
|
|
||||||
vectors.addFeatures(highlight);
|
|
||||||
|
|
||||||
$("#tr-changeset-" + id).addClass("selected");
|
|
||||||
}
|
|
||||||
|
|
||||||
function unHighlightChangeset(id) {
|
|
||||||
vectors.removeFeatures(highlight);
|
|
||||||
|
|
||||||
$("#tr-changeset-" + id).removeClass("selected");
|
|
||||||
}
|
|
||||||
|
|
||||||
$(document).ready(function () {
|
|
||||||
var map = createMap("changeset_list_map", {
|
|
||||||
controls: [
|
|
||||||
new OpenLayers.Control.Navigation(),
|
|
||||||
new OpenLayers.Control.Zoom(),
|
|
||||||
new OpenLayers.Control.SimplePanZoom()
|
|
||||||
]
|
|
||||||
});
|
|
||||||
|
|
||||||
var bounds = new OpenLayers.Bounds();
|
|
||||||
|
|
||||||
$("[data-changeset]").each(function () {
|
|
||||||
var changeset = $(this).data('changeset');
|
|
||||||
if (changeset.bbox) {
|
|
||||||
var bbox = new OpenLayers.Bounds(changeset.bbox.minlon, changeset.bbox.minlat, changeset.bbox.maxlon, changeset.bbox.maxlat);
|
|
||||||
|
|
||||||
bounds.extend(bbox);
|
|
||||||
|
|
||||||
addBoxToMap(bbox, changeset.id, true);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
vectors.events.on({
|
|
||||||
"featureselected": function(feature) {
|
|
||||||
highlightChangeset(feature.feature.fid);
|
|
||||||
},
|
|
||||||
"featureunselected": function(feature) {
|
|
||||||
unHighlightChangeset(feature.feature.fid);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
var selectControl = new OpenLayers.Control.SelectFeature(vectors, {
|
|
||||||
multiple: false,
|
|
||||||
hover: true
|
|
||||||
});
|
|
||||||
map.addControl(selectControl);
|
|
||||||
selectControl.activate();
|
|
||||||
|
|
||||||
var params = OSM.mapParams();
|
|
||||||
if (params.bbox) {
|
|
||||||
map.zoomToExtent(proj(new OpenLayers.Bounds(params.minlon, params.minlat, params.maxlon, params.maxlat)));
|
|
||||||
} else {
|
|
||||||
map.zoomToExtent(proj(bounds));
|
|
||||||
}
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
<% content_for :head do -%>
|
||||||
|
<%= javascript_include_tag "changeset" %>
|
||||||
|
<% end -%>
|
||||||
|
|
||||||
<h1><%= @heading %></h1>
|
<h1><%= @heading %></h1>
|
||||||
<p><%= raw(@description) %></p>
|
<p><%= raw(@description) %></p>
|
||||||
|
|
||||||
|
|
|
@ -56,7 +56,7 @@ OpenStreetMap::Application.configure do
|
||||||
# config.action_controller.asset_host = "http://assets.example.com"
|
# config.action_controller.asset_host = "http://assets.example.com"
|
||||||
|
|
||||||
# Precompile additional assets (application.js, application.css, and all non-JS/CSS are already added)
|
# Precompile additional assets (application.js, application.css, and all non-JS/CSS are already added)
|
||||||
config.assets.precompile += %w( index.js edit.js browse.js pngfix.js swfobject.js )
|
config.assets.precompile += %w( index.js edit.js browse.js changeset.js pngfix.js swfobject.js )
|
||||||
config.assets.precompile += %w( large-ltr.css small-ltr.css print-ltr.css )
|
config.assets.precompile += %w( large-ltr.css small-ltr.css print-ltr.css )
|
||||||
config.assets.precompile += %w( large-rtl.css small-rtl.css print-rtl.css )
|
config.assets.precompile += %w( large-rtl.css small-rtl.css print-rtl.css )
|
||||||
config.assets.precompile += %w( browse.css theme/openstreetmap/style.css )
|
config.assets.precompile += %w( browse.css theme/openstreetmap/style.css )
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue