Rearrange changeset list page to put the map beside the list
authorTom Hughes <tom@compton.nu>
Sun, 1 May 2011 23:53:37 +0000 (00:53 +0100)
committerTom Hughes <tom@compton.nu>
Thu, 5 May 2011 19:25:53 +0000 (20:25 +0100)
app/views/changeset/_changeset.html.erb
app/views/changeset/_changesets.html.erb
app/views/changeset/_map.html.erb
app/views/changeset/list.html.erb
public/stylesheets/common.css
test/functional/changeset_controller_test.rb

index b06dd05..e388d65 100644 (file)
   </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 != '' %>
       <%= 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">
index e177f66..2bd40da 100644 (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>
index 605eacf..fe934bb 100644 (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);
index 4ec450c..22a798f 100644 (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 }) %>
index 38cfec4..a6a71de 100644 (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 {
index 01600c2..bb6d2f5 100644 (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