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]
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 = [
-<h4 class="paginate">
-<% 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 %>)
-
-<span><%= raw pagination_links_each(pages, {}) { |n| link_to_page(n, page_param) } %></span>
+ <span class="paginate">
+ <%= raw pagination_links_each(pages, {}) { |n| link_to(n, page_param => n) } %>
+ </span>
<% end %>
-</h4>
-<h2><%= t 'browse.changeset.changeset', :id => @changeset.id %>
+<h2>
+ <%= t 'browse.changeset.changeset', :id => @changeset.id %>
<a class="geolink" href="<%= root_path %>"><span class="icon close"></span></a>
</h2>
+
<div class="browse-section">
- <p>
- <%=
- @changeset.tags['comment'].to_s.presence || t('browse.changeset_details.no_comment')
- %>
- </p>
+ <p><%= @changeset.tags['comment'].to_s.presence || t('browse.changeset_details.no_comment') %></p>
<span><%= changeset_time_ago(@changeset) %></span>
</div>
-
-<%=
- render :partial => "tag_details", :object => @changeset.tags.except('comment')
-%>
+
+<%= render :partial => "tag_details", :object => @changeset.tags.except('comment') %>
<% unless @nodes.empty? %>
<div class='browse-section paginate'>
- <h4><%= t 'browse.changeset_details.has_nodes', :count => @node_pages.item_count %></h4>
+ <h4>
+ <%= type_and_paginated_count('node', @node_pages) %>
+ <%= render :partial => 'paging_nav', :locals => { :pages => @node_pages, :page_param => "node_page"} %>
+ </h4>
<ul>
<% @nodes.each do |node| %>
<li><%= link_to h(printable_name(node, true)), { :action => "node", :id => node.node_id.to_s }, :class => link_class('node', node), :title => link_title(node) %></li>
<% end %>
</ul>
- <%= render :partial => 'paging_nav', :locals => { :pages => @node_pages, :page_param => "node_page"} %>
</div>
<% end %>
<% unless @ways.empty? %>
<div class='browse-section paginate'>
- <h4><%= t 'browse.changeset_details.has_ways', :count => @way_pages.item_count %></h4>
+ <h4>
+ <%= type_and_paginated_count('way', @way_pages) %>
+ <%= render :partial => 'paging_nav', :locals => { :pages => @way_pages, :page_param => "way_page" } %>
+ </h4>
<ul>
<% @ways.each do |way| %>
<li><%= link_to h(printable_name(way, true)), { :action => "way", :id => way.way_id.to_s }, :class => link_class('way', way), :title => link_title(way) %></li>
<% end %>
</ul>
- <%= render :partial => 'paging_nav', :locals => { :pages => @way_pages, :page_param => "way_page" } %>
</div>
<% end %>
<% unless @relations.empty? %>
<div class='browse-section paginate'>
- <h4><%= t 'browse.changeset_details.has_relations', :count => @relation_pages.item_count %></h4>
- <ul>
- <% @relations.each do |relation| %>
- <li><%= link_to h(printable_name(relation, true)), { :action => "relation", :id => relation.relation_id.to_s }, :class => link_class('relation', relation), :title => link_title(relation) %></li>
- <% end %>
- </ul>
+ <h4>
+ <%= type_and_paginated_count('relation', @relation_pages) %>
<%= render :partial => 'paging_nav', :locals => { :pages => @relation_pages, :page_param => "relation_page" } %>
+ </h4>
+ <ul>
+ <% @relations.each do |relation| %>
+ <li><%= link_to h(printable_name(relation, true)), { :action => "relation", :id => relation.relation_id.to_s }, :class => link_class('relation', relation), :title => link_title(relation) %></li>
+ <% end %>
+ </ul>
</div>
<% end %>
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"
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."