Make permalinks draggable

Move the div containing the permalinks outside the map div so that
they aren't affected by the OpenLayers event handlers and hence get
the normal drag handling for links. Closes #3251.
This commit is contained in:
Tom Hughes 2010-10-11 08:39:05 +01:00
parent 59e86dc07a
commit 1a80a11c4c
2 changed files with 23 additions and 22 deletions

View file

@ -17,11 +17,12 @@
</noscript> </noscript>
<div id="map"> <div id="map">
<div id="permalink"> </div>
<a href="/" id="permalinkanchor"><%= t 'site.index.permalink' %></a><br/>
<a href="/" id="shortlinkanchor"><%= t 'site.index.shortlink' %></a> <div id="permalink">
</div> <a href="/" id="permalinkanchor"><%= t 'site.index.permalink' %></a><br/>
</div> <a href="/" id="shortlinkanchor"><%= t 'site.index.shortlink' %></a>
</div>
<div id="attribution"> <div id="attribution">
<table width="100%"> <table width="100%">
@ -40,7 +41,7 @@
</div> </div>
<% <%
if params['mlon'] and params['mlat'] if params['mlon'] and params['mlat']
marker = true marker = true
mlon = h(params['mlon']) mlon = h(params['mlon'])
mlat = h(params['mlat']) mlat = h(params['mlat'])
@ -68,7 +69,7 @@ if params['minlon'] and params['minlat'] and params['maxlon'] and params['maxlat
minlat = h(params['minlat']) minlat = h(params['minlat'])
maxlon = h(params['maxlon']) maxlon = h(params['maxlon'])
maxlat = h(params['maxlat']) maxlat = h(params['maxlat'])
box = true if params['box']=="yes" box = true if params['box']=="yes"
object_zoom = false object_zoom = false
end end
@ -80,14 +81,14 @@ if params['lon'] and params['lat']
layers = h(params['layers']) layers = h(params['layers'])
object_zoom = false object_zoom = false
elsif params['mlon'] and params['mlat'] elsif params['mlon'] and params['mlat']
lon = h(params['mlon']) lon = h(params['mlon'])
lat = h(params['mlat']) lat = h(params['mlat'])
zoom = h(params['zoom'] || '12') zoom = h(params['zoom'] || '12')
layers = h(params['layers']) layers = h(params['layers'])
object_zoom = false object_zoom = false
elsif cookies.key?("_osm_location") elsif cookies.key?("_osm_location")
lon,lat,zoom,layers = cookies["_osm_location"].split("|") lon,lat,zoom,layers = cookies["_osm_location"].split("|")
elsif @user and !@user.home_lon.nil? and !@user.home_lat.nil? elsif @user and !@user.home_lon.nil? and !@user.home_lat.nil?
lon = @user.home_lon lon = @user.home_lon
lat = @user.home_lat lat = @user.home_lat
zoom = '10' zoom = '10'
@ -101,12 +102,12 @@ else
maxlon = session[:location][:maxlon] maxlon = session[:location][:maxlon]
maxlat = session[:location][:maxlat] maxlat = session[:location][:maxlat]
else else
lon = '-0.1' lon = '-0.1'
lat = '51.5' lat = '51.5'
zoom = h(params['zoom'] || '5') zoom = h(params['zoom'] || '5')
end end
layers = h(params['layers']) layers = h(params['layers'])
end end
%> %>
@ -229,7 +230,7 @@ end
updatelinks(lonlat.lon, lonlat.lat, zoom, layers, extents.left, extents.bottom, extents.right, extents.top, objtype, objid); updatelinks(lonlat.lon, lonlat.lat, zoom, layers, extents.left, extents.bottom, extents.right, extents.top, objtype, objid);
expiry.setYear(expiry.getFullYear() + 10); expiry.setYear(expiry.getFullYear() + 10);
document.cookie = "_osm_location=" + lonlat.lon + "|" + lonlat.lat + "|" + zoom + "|" + layers + "; expires=" + expiry.toGMTString(); document.cookie = "_osm_location=" + lonlat.lon + "|" + lonlat.lat + "|" + zoom + "|" + layers + "; expires=" + expiry.toGMTString();
} }
@ -241,7 +242,7 @@ end
content.style.width = document.documentElement.clientWidth - content.offsetLeft - rightMargin; content.style.width = document.documentElement.clientWidth - content.offsetLeft - rightMargin;
content.style.height = document.documentElement.clientHeight - content.offsetTop - bottomMargin; content.style.height = document.documentElement.clientHeight - content.offsetTop - bottomMargin;
} }
function resizeMap() { function resizeMap() {
var centre = map.getCenter(); var centre = map.getCenter();
var zoom = map.getZoom(); var zoom = map.getZoom();
@ -265,7 +266,7 @@ end
resizeMap(); resizeMap();
} }
mapInit(); mapInit();
window.onload = handleResize; window.onload = handleResize;

View file

@ -335,12 +335,12 @@ hr {
display: none !important; display: none !important;
} }
#map #permalink { #permalink {
z-index:10000; z-index: 10000;
position:absolute; position: absolute;
bottom:15px; bottom: 15px;
right:15px; right: 15px;
font-size:smaller; font-size: smaller;
text-align: right; text-align: right;
} }