From: Tom Hughes Date: Tue, 24 Jun 2008 16:44:45 +0000 (+0000) Subject: Improve the layout of the object browser views. X-Git-Tag: live~7738^2~2 X-Git-Url: https://git.openstreetmap.org/rails.git/commitdiff_plain/398d5fa3298b7aacea4a9cbddd0c4e5f8a9e6638?hp=0cb97bd7d96030c07d9716c3d26d39bcd4f712ff Improve the layout of the object browser views. --- diff --git a/app/models/old_node.rb b/app/models/old_node.rb index 7bafca053..76eab8427 100644 --- a/app/models/old_node.rb +++ b/app/models/old_node.rb @@ -58,4 +58,14 @@ class OldNode < ActiveRecord::Base end hash end + + # Pretend we're not in any ways + def ways + return [] + end + + # Pretend we're not in any relations + def containing_relation_members + return [] + end end diff --git a/app/models/old_relation.rb b/app/models/old_relation.rb index 6da7814c2..bac03c4d2 100644 --- a/app/models/old_relation.rb +++ b/app/models/old_relation.rb @@ -107,5 +107,20 @@ class OldRelation < ActiveRecord::Base el1 << e end return el1 - end + end + + # Temporary method to match interface to nodes + def tags_as_hash + return self.tags + end + + # Temporary method to match interface to relations + def relation_members + return self.old_members + end + + # Pretend we're not in any relations + def containing_relation_members + return [] + end end diff --git a/app/models/old_way.rb b/app/models/old_way.rb index a2b165e42..1abb23bbb 100644 --- a/app/models/old_way.rb +++ b/app/models/old_way.rb @@ -108,5 +108,20 @@ class OldWay < ActiveRecord::Base el1 << e end return el1 - end + end + + # Temporary method to match interface to nodes + def tags_as_hash + return self.tags + end + + # Temporary method to match interface to ways + def way_nodes + return self.old_nodes + end + + # Pretend we're not in any relations + def containing_relation_members + return [] + end end diff --git a/app/models/relation.rb b/app/models/relation.rb index 71ddc4a55..a1dc9f81d 100644 --- a/app/models/relation.rb +++ b/app/models/relation.rb @@ -257,4 +257,8 @@ class Relation < ActiveRecord::Base return false end + # Temporary method to match interface to nodes + def tags_as_hash + return self.tags + end end diff --git a/app/models/way.rb b/app/models/way.rb index 8ae6b4084..b042be59e 100644 --- a/app/models/way.rb +++ b/app/models/way.rb @@ -257,4 +257,9 @@ class Way < ActiveRecord::Base self.delete_with_relations_and_history(user) end + + # Temporary method to match interface to nodes + def tags_as_hash + return self.tags + end end diff --git a/app/views/browse/_common.rhtml b/app/views/browse/_common.rhtml deleted file mode 100644 index f237bfe15..000000000 --- a/app/views/browse/_common.rhtml +++ /dev/null @@ -1,13 +0,0 @@ -<% if obj.visible %> -<%= render :partial => 'map', :locals => { :type => type, :id => obj.id } %> -<% else %> -Deleted -<% end %> - -<%= render :partial => 'common_editedby', :locals => { :obj => obj } %> diff --git a/app/views/browse/_common_details.rhtml b/app/views/browse/_common_details.rhtml new file mode 100644 index 000000000..ee5f22cee --- /dev/null +++ b/app/views/browse/_common_details.rhtml @@ -0,0 +1,22 @@ + + Edited at: + <%= h(common_details.timestamp) %> + + +<% if common_details.user.data_public %> + + Edited by: + <%= link_to h(common_details.user.display_name), :controller => "user", :action => "view", :display_name => common_details.user.display_name %> + +<% end %> + +<% unless common_details.tags_as_hash.empty? %> + + Tags: + + + <%= render :partial => "tag", :collection => common_details.tags_as_hash %> +
+ + +<% end %> diff --git a/app/views/browse/_common_editedby.rhtml b/app/views/browse/_common_editedby.rhtml deleted file mode 100644 index 0f00f3e3c..000000000 --- a/app/views/browse/_common_editedby.rhtml +++ /dev/null @@ -1,4 +0,0 @@ -Last edited: <%= h(obj.timestamp) %> -<% if obj.user.data_public %> -by <%= link_to h(obj.user.display_name), :controller => 'user', :action => 'view' , :display_name => obj.user.display_name %> -<% end %> diff --git a/app/views/browse/_containing_relation.rhtml b/app/views/browse/_containing_relation.rhtml new file mode 100644 index 000000000..b33dea590 --- /dev/null +++ b/app/views/browse/_containing_relation.rhtml @@ -0,0 +1,8 @@ + + + <%= link_to "Relation " + containing_relation.id.to_s, :action => "relation", :id => containing_relation.id.to_s %> + <% unless containing_relation.member_role.blank? %> + (as <%= h(containing_relation.member_role) %>) + <% end %> + + diff --git a/app/views/browse/_map.rhtml b/app/views/browse/_map.rhtml index a0fcc06aa..9ca0a163a 100644 --- a/app/views/browse/_map.rhtml +++ b/app/views/browse/_map.rhtml @@ -1,44 +1,58 @@ <%= javascript_include_tag '/openlayers/OpenLayers.js' %> <%= javascript_include_tag '/openlayers/OpenStreetMap.js' %> <%= javascript_include_tag 'map.js' %> -
+Loading... + -Loading... - -
diff --git a/app/views/browse/_member.rhtml b/app/views/browse/_member.rhtml deleted file mode 100644 index 29a72b122..000000000 --- a/app/views/browse/_member.rhtml +++ /dev/null @@ -1,5 +0,0 @@ - - <%= link_to member.member_id.to_s, :action => member.member_type, :id => member.member_id %> - <%= h(member.member_type) %> - <%= h(member.member_role) %> - diff --git a/app/views/browse/_navigation.rhtml b/app/views/browse/_navigation.rhtml index 269184e02..57e724d42 100644 --- a/app/views/browse/_navigation.rhtml +++ b/app/views/browse/_navigation.rhtml @@ -1,13 +1,13 @@
-<% if @prev %> -< -<%= link_to @prev.id.to_s, :action => type, :id => @prev.id %> -<% end %> -<% if @prev and @next %> -| -<% end %> -<% if @next %> -<%= link_to @next.id.to_s, :action => type, :id => @next.id %> -> -<% end %> + <% if @prev %> + < + <%= link_to @prev.id.to_s, :id => @prev.id %> + <% end %> + <% if @prev and @next %> + | + <% end %> + <% if @next %> + <%= link_to @next.id.to_s, :id => @next.id %> + > + <% end %>
diff --git a/app/views/browse/_node_details.rhtml b/app/views/browse/_node_details.rhtml new file mode 100644 index 000000000..e3d11e0fe --- /dev/null +++ b/app/views/browse/_node_details.rhtml @@ -0,0 +1,19 @@ + + + <%= render :partial => "common_details", :object => node_details %> + + <% unless node_details.ways.empty? and node_details.containing_relation_members.empty? %> + + + + + <% end %> + +
Part of: + + <% node_details.ways.each do |way| %> + + <% end %> + <%= render :partial => "containing_relation", :collection => node_details.containing_relation_members %> +
<%= link_to "Way " + way.id.to_s, :action => "way", :id => way.id.to_s %>
+
diff --git a/app/views/browse/_relation_details.rhtml b/app/views/browse/_relation_details.rhtml new file mode 100644 index 000000000..b8874d9ce --- /dev/null +++ b/app/views/browse/_relation_details.rhtml @@ -0,0 +1,27 @@ + + + <%= render :partial => "common_details", :object => relation_details %> + + <% unless relation_details.relation_members.empty? %> + + + + + <% end %> + + <% unless relation_details.containing_relation_members.empty? %> + + + + + <% end %> + +
Members: + + <%= render :partial => "relation_member", :collection => relation_details.relation_members %> +
+
Part of: + + <%= render :partial => "containing_relation", :collection => relation_details.containing_relation_members %> +
+
diff --git a/app/views/browse/_relation_member.rhtml b/app/views/browse/_relation_member.rhtml new file mode 100644 index 000000000..516d9e37f --- /dev/null +++ b/app/views/browse/_relation_member.rhtml @@ -0,0 +1,10 @@ + + + <%= h(relation_member.member_type.capitalize) %> + <%= link_to relation_member.member_id.to_s, :action => relation_member.member_type, :id => relation_member.member_id %> + <% unless relation_member.member_role.blank? %> + as + <%= h(relation_member.member_role) %> + <% end %> + + diff --git a/app/views/browse/_relation_members.rhtml b/app/views/browse/_relation_members.rhtml deleted file mode 100644 index ebe20ba7e..000000000 --- a/app/views/browse/_relation_members.rhtml +++ /dev/null @@ -1,11 +0,0 @@ -<% if members.length != 0 %> -

Members

- - - - - - - <%= render :partial => 'member', :collection => members %> -
IDTypeRole
-<% end %> diff --git a/app/views/browse/_tag.rhtml b/app/views/browse/_tag.rhtml index 009d39e79..8a57387bf 100644 --- a/app/views/browse/_tag.rhtml +++ b/app/views/browse/_tag.rhtml @@ -1,4 +1,3 @@ - <%= h(tag[0]) %><%= h(tag[1]) %> + <%= h(tag[0]) %> = <%= h(tag[1]) %> - diff --git a/app/views/browse/_tag_table.rhtml b/app/views/browse/_tag_table.rhtml deleted file mode 100644 index dca1c0ab1..000000000 --- a/app/views/browse/_tag_table.rhtml +++ /dev/null @@ -1,10 +0,0 @@ -<% if tags.length != 0 %> -

Tags

- - - - - - <%= render :partial => 'tag', :collection => tags %> -
KeyValue
-<% end %> diff --git a/app/views/browse/_way_details.rhtml b/app/views/browse/_way_details.rhtml new file mode 100644 index 000000000..99b8e1d16 --- /dev/null +++ b/app/views/browse/_way_details.rhtml @@ -0,0 +1,27 @@ + + + <%= render :partial => "common_details", :object => way_details %> + + + + + + + <% unless way_details.containing_relation_members.empty? %> + + + + + <% end %> + +
Nodes: + + <% way_details.way_nodes.each do |wn| %> + + <% end %> +
<%= link_to "Node " + wn.node_id.to_s, :action => "node", :id => wn.node_id.to_s %>
+
Part of: + + <%= render :partial => "containing_relation", :collection => way_details.containing_relation_members %> +
+
diff --git a/app/views/browse/node.rhtml b/app/views/browse/node.rhtml index c050cf002..075c1917f 100644 --- a/app/views/browse/node.rhtml +++ b/app/views/browse/node.rhtml @@ -1,15 +1,26 @@ -<%= render :partial => 'navigation', :locals => { :type => "node" } %> -

Node Browser: <%= h(@name) %>

-<%= render :partial => 'common', :locals => { :obj => @node, :type => "node" } %> -<%= render :partial => 'tag_table', :locals => { :tags => @node.tags_as_hash } %> -<% if @node.ways.length != 0 %> -
-
-

Part of:

- -
-<% end %> + + + + + + + + + +
+

Node: <%= h(@name) %>

+
+ <%= render :partial => "navigation" %> +
+ <%= render :partial => "node_details", :object => @node %> +
+ <%= link_to "Download XML", :controller => "node", :action => "read" %> + or + <%= link_to "view history", :action => "node_history" %> +
+ <% if @node.visible %> + <%= render :partial => "map", :locals => { :type => "node", :id => @node.id } %> + <% else %> + Deleted + <% end %> +
diff --git a/app/views/browse/node_history.rhtml b/app/views/browse/node_history.rhtml index ad46202b7..ffa42bef6 100644 --- a/app/views/browse/node_history.rhtml +++ b/app/views/browse/node_history.rhtml @@ -1,8 +1,22 @@

Node History: <%= h(@name) %>

-<%= render :partial => 'common', :locals => { :obj => @node, :type => "node" } %> -

Hisorical Versions

-<% @node.old_nodes.reverse.each do |node| %> -<%= render :partial => 'common_editedby', :locals => { :obj => node } %> -<%= render :partial => 'tag_table', :locals => { :tags => node.tags_as_hash } %> -
-<% end %> + + + + + + +
+ <% @node.old_nodes.reverse.each do |node| %> + <%= render :partial => "node_details", :object => node %> +
+ <% end %> + <%= link_to "Download XML", :controller => "old_node", :action => "history" %> + or + <%= link_to "view details", :action => "node" %> +
+ <% if @node.visible %> + <%= render :partial => "map", :locals => { :type => "node", :id => @node.id } %> + <% else %> + Deleted + <% end %> +
diff --git a/app/views/browse/relation.rhtml b/app/views/browse/relation.rhtml index 574a4ea2b..8d4f94bf5 100644 --- a/app/views/browse/relation.rhtml +++ b/app/views/browse/relation.rhtml @@ -1,5 +1,26 @@ -<%= render :partial => 'navigation', :locals => { :type => "relation" } %> -

Relation Browser: <%= h(@name) %>

-<%= render :partial => 'common', :locals => { :obj => @relation, :type => "relation" } %> -<%= render :partial => 'tag_table', :locals => { :tags => @relation.tags } %> -<%= render :partial => 'relation_members', :locals => { :members => @relation.relation_members } %> + + + + + + + + + +
+

Relation: <%= h(@name) %>

+
+ <%= render :partial => "navigation" %> +
+ <%= render :partial => "relation_details", :object => @relation %> +
+ <%= link_to "Download XML", :controller => "relation", :action => "read" %> + or + <%= link_to "view history", :action => "relation_history" %> +
+ <% if @relation.visible %> + <%= render :partial => "map", :locals => { :type => "relation", :id => @relation.id } %> + <% else %> + Deleted + <% end %> +
diff --git a/app/views/browse/relation_history.rhtml b/app/views/browse/relation_history.rhtml index f3a75cd07..f4b3e1faa 100644 --- a/app/views/browse/relation_history.rhtml +++ b/app/views/browse/relation_history.rhtml @@ -1,9 +1,22 @@

Relation History: <%= h(@name) %>

-<%= render :partial => 'common', :locals => { :obj => @relation, :type => "relation" } %> -

Hisorical Versions

-<% @relation.old_relations.reverse.each do |relation| %> -<%= render :partial => 'common_editedby', :locals => { :obj => relation } %> -<%= render :partial => 'tag_table', :locals => { :tags => relation.tags } %> -<%= render :partial => 'relation_members', :locals => { :members => relation.old_members } %> -
-<% end %> + + + + + + +
+ <% @relation.old_relations.reverse.each do |relation| %> + <%= render :partial => "relation_details", :object => relation %> +
+ <% end %> + <%= link_to "Download XML", :controller => "old_relation", :action => "history" %> + or + <%= link_to "view details", :action => "relation" %> +
+ <% if @relation.visible %> + <%= render :partial => "map", :locals => { :type => "relation", :id => @relation.id } %> + <% else %> + Deleted + <% end %> +
diff --git a/app/views/browse/way.rhtml b/app/views/browse/way.rhtml index e1c306071..75b333443 100644 --- a/app/views/browse/way.rhtml +++ b/app/views/browse/way.rhtml @@ -1,16 +1,26 @@ -<%= render :partial => 'navigation', :locals => { :type => "way" } %> -

Way Browser: <%= h(@name) %>

-<%= render :partial => 'common', :locals => { :obj => @way, :type => "way" } %> -<%= render :partial => 'tag_table', :locals => { :tags => @way.tags } %> - -<% if @way.nodes.length != 0 %> -
-
-

Parts:

- -
-<% end %> + + + + + + + + + +
+

Way: <%= h(@name) %>

+
+ <%= render :partial => "navigation" %> +
+ <%= render :partial => "way_details", :object => @way %> +
+ <%= link_to "Download XML", :controller => "way", :action => "read" %> + or + <%= link_to "view history", :action => "way_history" %> +
+ <% if @way.visible %> + <%= render :partial => "map", :locals => { :type => "way", :id => @way.id } %> + <% else %> + Deleted + <% end %> +
diff --git a/app/views/browse/way_history.rhtml b/app/views/browse/way_history.rhtml index 32aadb3ff..1eaf52ed5 100644 --- a/app/views/browse/way_history.rhtml +++ b/app/views/browse/way_history.rhtml @@ -1,8 +1,22 @@

Way History: <%= h(@name) %>

-<%= render :partial => 'common', :locals => { :obj => @way, :type => "way" } %> -

Hisorical Versions

-<% @way.old_ways.reverse.each do |way| %> -<%= render :partial => 'common_editedby', :locals => { :obj => way } %> -<%= render :partial => 'tag_table', :locals => { :tags => way.tags } %> -
-<% end %> + + + + + + +
+ <% @way.old_ways.reverse.each do |way| %> + <%= render :partial => "way_details", :object => way %> +
+ <% end %> + <%= link_to "Download XML", :controller => "old_way", :action => "history" %> + or + <%= link_to "view details", :action => "way" %> +
+ <% if @way.visible %> + <%= render :partial => "map", :locals => { :type => "way", :id => @way.id } %> + <% else %> + Deleted + <% end %> +
diff --git a/config/routes.rb b/config/routes.rb index 52636b385..854e7f003 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -58,8 +58,8 @@ ActionController::Routing::Routes.draw do |map| map.connect "api/#{API_VERSION}/swf/trackpoints", :controller =>'swf', :action =>'trackpoints' # Data browsing - map.connect '/browse/start', :controller => 'browse', :action => 'start' map.connect '/browse', :controller => 'browse', :action => 'index' + map.connect '/browse/start', :controller => 'browse', :action => 'start' map.connect '/browse/way/:id', :controller => 'browse', :action => 'way', :id => /\d+/ map.connect '/browse/way/:id/history', :controller => 'browse', :action => 'way_history', :id => /\d+/ map.connect '/browse/node/:id', :controller => 'browse', :action => 'node', :id => /\d+/