Rearrange changeset list page to put the map beside the list

This commit is contained in:
Tom Hughes 2011-05-02 00:53:37 +01:00
parent 1635c16560
commit e098d52424
6 changed files with 47 additions and 65 deletions

View file

@ -11,20 +11,22 @@
</td>
<td class="date">
<% if changeset.closed_at > DateTime.now %> <%= t'changeset.changeset.still_editing' %>
<% else %><%= l changeset.closed_at, :format => :long %><% end %>
</td>
<span class="date">
<% if changeset.closed_at > DateTime.now %> <%= t'changeset.changeset.still_editing' %>
<% else %><%= l changeset.closed_at, :format => :long %><% end %>
</span>
<%if showusername %>
<td class="user">
<% if changeset.user.data_public? %>
<%= link_to h(changeset.user.display_name), :controller => "changeset", :action => "list", :display_name => changeset.user.display_name %>
<% else %>
<i><%= t'changeset.changeset.anonymous' %></i>
<%if showusername %>
<br />
<span class="user">
<% if changeset.user.data_public? %>
<%= link_to h(changeset.user.display_name), :controller => "changeset", :action => "list", :display_name => changeset.user.display_name %>
<% else %>
<i><%= t'changeset.changeset.anonymous' %></i>
<% end %>
</span>
<% end %>
</td>
<% end %>
</td>
<td class="comment">
<% if changeset.tags['comment'].to_s != '' %>
@ -33,24 +35,6 @@
<%= t'changeset.changeset.no_comment' %>
<% end %>
</td>
<td class="area">
<% if changeset.min_lat.nil? %>
<%= t'changeset.changeset.no_edits' %>
<% else %>
<%
minlon = changeset.min_lon/GeoRecord::SCALE.to_f
minlat = changeset.min_lat/GeoRecord::SCALE.to_f
maxlon = changeset.max_lon/GeoRecord::SCALE.to_f
maxlat = changeset.max_lat/GeoRecord::SCALE.to_f
%>
<a href='/?minlon=<%= minlon %>&minlat=<%= minlat %>&maxlon=<%= maxlon %>&maxlat=<%= maxlat %>&box=yes' title='<%= t'changeset.changeset.show_area_box' %>'><%= format("%0.3f",minlon) -%>,<%= format("%0.3f",minlat) -%>,<%= format("%0.3f",maxlon) -%>,<%= format("%0.3f",maxlat) -%></a>
<!--<%=changeset.area%>-->
<% if changeset.area > 1500000000000 %>
<%= t'changeset.changeset.big_area' %>
<% end %>
<% end %>
</td>
</tr>
<script type="text/javascript">

View file

@ -1,13 +1,4 @@
<% showusername = true if showusername.nil? %>
<table id="changeset_list" cellpadding="3">
<tr>
<th><%= t'changeset.changesets.id' %></th>
<th><%= t'changeset.changesets.saved_at' %></th>
<% if showusername %>
<th><%= t'changeset.changesets.user' %></th>
<% end %>
<th><%= t'changeset.changesets.comment' %></th>
<th><%= t'changeset.changesets.area' %></th>
</tr>
<table id="changeset_list">
<%= render :partial => 'changeset', :locals => {:showusername => showusername}, :collection => @edits unless @edits.nil? %>
</table>

View file

@ -2,10 +2,7 @@
<%= javascript_include_tag '/openlayers/OpenStreetMap.js' %>
<%= javascript_include_tag 'map.js' %>
<div id="browse_map_changeset">
<div id="small_map">
</div>
<span id="loading"><%= t 'browse.map.loading' %></span>
<div id="changeset_list_map">
</div>
<script type="text/javascript">
@ -30,7 +27,7 @@
}
function init() {
var map = createMap("small_map", {
var map = createMap("changeset_list_map", {
controls: [
new OpenLayers.Control.Navigation(),
new OpenLayers.Control.PanZoom(),
@ -72,8 +69,6 @@
<% else %>
setMapExtent(bounds);
<% end %>
$("loading").innerHTML = "";
}
Event.observe(window, "load", init);

View file

@ -1,9 +1,13 @@
<h1><%= @heading %></h1>
<p><%= @description %></p>
<%= render :partial => 'map' %>
<%= render :partial => 'changeset_paging_nav' %>
<%= render :partial => 'changesets', :locals => { :showusername => !params.has_key?(:display_name) } %>
<div id="changeset_list_container">
<%= render :partial => 'map' %>
<%= render :partial => 'changesets', :locals => { :showusername => !params.has_key?(:display_name) } %>
</div>
<%= render :partial => 'changeset_paging_nav' %>
<%= atom_link_to params.merge({ :page => nil, :format => :atom }) %>

View file

@ -591,12 +591,23 @@ hr {
/* Rules for the changeset list shown by the history tab etc */
#changeset_list, #keyvalue {
width: 100%;
#changeset_list_container {
position: relative;
}
#changeset_list {
width: 50%;
font-size: small;
text-align: left;
border-collapse: collapse;
border-width: 0px;
margin-top: 1px;
margin-bottom: 1px;
}
#changeset_list td {
vertical-align: top;
padding: 3px;
}
#changeset_list .date {
@ -615,6 +626,16 @@ hr {
background-color: #ffff55;
}
#changeset_list_map {
float: right;
position: absolute;
top: 0px;
bottom: 0px;
right: 0px;
width: 49%;
border: solid 1px black;
}
/* Rules for the data browser */
#browse_navigation {
@ -637,19 +658,6 @@ hr {
border: solid 1px black;
}
#browse_map_changeset {
float: right;
width: 100%;
text-align: right;
margin-left: 10px;
}
#browse_map_changeset #small_map {
width: 100%;
height: 315px;
border: solid 1px black;
}
/* Rules for the trace list shown by the traces tab etc */
#trace_list {

View file

@ -1650,7 +1650,7 @@ EOF
assert_template "list"
# Now check that all 20 (or however many were returned) changesets are in the html
assert_select "h1", :text => "Changesets", :count => 1
assert_select "table[id='changeset_list'] tr", :count => changesets.size + 1
assert_select "table[id='changeset_list'] tr", :count => changesets.size
changesets.each do |changeset|
# FIXME this test needs rewriting - test for table contents
end