diff --git a/app/assets/stylesheets/common.css.scss b/app/assets/stylesheets/common.css.scss
index a2d3bb955..dc38ec6c3 100644
--- a/app/assets/stylesheets/common.css.scss
+++ b/app/assets/stylesheets/common.css.scss
@@ -1120,19 +1120,13 @@ a.donate {
h4 {
padding: 0;
+ }
+
+ .paginate {
+ float: right;
+ padding: 1px 6px;
+ border: 1px solid #eee;
border-radius: 3px;
-
- &.paginate {
- margin-top: 4px;
- padding: 1px 6px;
- border: 1px solid #eee;
- span {
- padding: 0 0 0 14px;
- float: right;
- border-left: 1px solid #eee;
- > a { padding-left: 5px; }
- }
- }
}
}
diff --git a/app/helpers/browse_helper.rb b/app/helpers/browse_helper.rb
index c4e4d425a..b3145ebce 100644
--- a/app/helpers/browse_helper.rb
+++ b/app/helpers/browse_helper.rb
@@ -1,8 +1,4 @@
module BrowseHelper
- def link_to_page(page, page_param)
- return link_to(page, page_param => page)
- end
-
def printable_name(object, version=false)
if object.id.is_a?(Array)
id = object.id[0]
@@ -61,6 +57,18 @@ module BrowseHelper
end
end
+ def type_and_paginated_count(type, pages)
+ if pages.page_count == 1
+ t "browse.changeset_details.#{type}",
+ :count => pages.item_count
+ else
+ t "browse.changeset_details.#{type}_paginated",
+ :x => pages.current_page.first_item,
+ :y => pages.current_page.last_item,
+ :count => pages.item_count
+ end
+ end
+
private
ICON_TAGS = [
diff --git a/app/views/browse/_paging_nav.html.erb b/app/views/browse/_paging_nav.html.erb
index 50e75bff8..67f1c75a3 100644
--- a/app/views/browse/_paging_nav.html.erb
+++ b/app/views/browse/_paging_nav.html.erb
@@ -1,13 +1,5 @@
-
-<% current_page = pages.current_page %>
<% if pages.page_count > 1 %>
- <%= t'browse.paging_nav.showing_page' %>
- <%= current_page.number %> (<%= current_page.first_item %><%
- if (current_page.first_item < current_page.last_item) # if more than 1 trace on page
- %>-<%= current_page.last_item %><%
- end %>
- <%= t'browse.paging_nav.of'%> <%= pages.item_count %>)
-
-<%= raw pagination_links_each(pages, {}) { |n| link_to_page(n, page_param) } %>
+
+ <%= raw pagination_links_each(pages, {}) { |n| link_to(n, page_param => n) } %>
+
<% end %>
-
diff --git a/app/views/browse/changeset.html.erb b/app/views/browse/changeset.html.erb
index 0d64ffae6..fb08987bb 100644
--- a/app/views/browse/changeset.html.erb
+++ b/app/views/browse/changeset.html.erb
@@ -1,52 +1,54 @@
-<%= t 'browse.changeset.changeset', :id => @changeset.id %>
+
+ <%= t 'browse.changeset.changeset', :id => @changeset.id %>
+
-
- <%=
- @changeset.tags['comment'].to_s.presence || t('browse.changeset_details.no_comment')
- %>
-
+
<%= @changeset.tags['comment'].to_s.presence || t('browse.changeset_details.no_comment') %>
<%= changeset_time_ago(@changeset) %>
-
-<%=
- render :partial => "tag_details", :object => @changeset.tags.except('comment')
-%>
+
+<%= render :partial => "tag_details", :object => @changeset.tags.except('comment') %>
<% unless @nodes.empty? %>
-
<%= t 'browse.changeset_details.has_nodes', :count => @node_pages.item_count %>
+
+ <%= type_and_paginated_count('node', @node_pages) %>
+ <%= render :partial => 'paging_nav', :locals => { :pages => @node_pages, :page_param => "node_page"} %>
+
<% @nodes.each do |node| %>
- <%= link_to h(printable_name(node, true)), { :action => "node", :id => node.node_id.to_s }, :class => link_class('node', node), :title => link_title(node) %>
<% end %>
- <%= render :partial => 'paging_nav', :locals => { :pages => @node_pages, :page_param => "node_page"} %>
<% end %>
<% unless @ways.empty? %>
-
<%= t 'browse.changeset_details.has_ways', :count => @way_pages.item_count %>
+
+ <%= type_and_paginated_count('way', @way_pages) %>
+ <%= render :partial => 'paging_nav', :locals => { :pages => @way_pages, :page_param => "way_page" } %>
+
<% @ways.each do |way| %>
- <%= link_to h(printable_name(way, true)), { :action => "way", :id => way.way_id.to_s }, :class => link_class('way', way), :title => link_title(way) %>
<% end %>
- <%= render :partial => 'paging_nav', :locals => { :pages => @way_pages, :page_param => "way_page" } %>
<% end %>
<% unless @relations.empty? %>
-
<%= t 'browse.changeset_details.has_relations', :count => @relation_pages.item_count %>
-
- <% @relations.each do |relation| %>
- - <%= link_to h(printable_name(relation, true)), { :action => "relation", :id => relation.relation_id.to_s }, :class => link_class('relation', relation), :title => link_title(relation) %>
- <% end %>
-
+
+ <%= type_and_paginated_count('relation', @relation_pages) %>
<%= render :partial => 'paging_nav', :locals => { :pages => @relation_pages, :page_param => "relation_page" } %>
+
+
+ <% @relations.each do |relation| %>
+ - <%= link_to h(printable_name(relation, true)), { :action => "relation", :id => relation.relation_id.to_s }, :class => link_class('relation', relation), :title => link_title(relation) %>
+ <% end %>
+
<% end %>
diff --git a/config/locales/en.yml b/config/locales/en.yml
index 127e810b1..d032c58f1 100644
--- a/config/locales/en.yml
+++ b/config/locales/en.yml
@@ -130,9 +130,12 @@ en:
created_at: "Created"
closed_at: "Closed"
belongs_to: "Author"
- has_nodes: "Nodes (%{count})"
- has_ways: "Ways (%{count})"
- has_relations: "Relations (%{count})"
+ node: "Nodes (%{count})"
+ node_paginated: "Nodes (%{x}-%{y} of %{count})"
+ way: "Ways (%{count})"
+ way_paginated: "Ways (%{x}-%{y} of %{count})"
+ relation: "Relations (%{count})"
+ relation_paginated: "Relations (%{x}-%{y} of %{count})"
no_comment: "(no comment)"
ago: "%{ago} ago"
by: "by"
@@ -189,9 +192,6 @@ en:
way: way
relation: relation
changeset: changeset
- paging_nav:
- showing_page: "page"
- of: "of"
redacted:
redaction: "Redaction %{id}"
message_html: "Version %{version} of this %{type} cannot be shown as it has been redacted. Please see %{redaction_link} for details."