]> git.openstreetmap.org Git - rails.git/blobdiff - app/views/browse/_way.html.erb
Merge remote-tracking branch 'upstream/pull/5408'
[rails.git] / app / views / browse / _way.html.erb
index 489b9cf0756f92e69ee78bf6fbf733fe3f9d0276..9181a3e0804d7f5e5e198bfba4c27fca7b30bdf4 100644 (file)
@@ -1,35 +1,44 @@
-<% if way.redacted? %>
-  <div class='browse-section browse-redacted'>
-    <%= t 'browse.redacted.message_html',
-          :type => t('browse.redacted.type.way'),
+<% if way.redacted? && !params[:show_redactions] %>
+  <div class="browse-section browse-redacted">
+    <%= t "browse.redacted.message_html",
+          :type => t("browse.redacted.type.way"),
           :version => way.version,
-          :redaction_link => link_to(t('browse.redacted.redaction',
+          :redaction_link => link_to(t("browse.redacted.redaction",
                                        :id => way.redaction.id), way.redaction) %>
   </div>
 <% else %>
-  <div class='browse-section browse-way'>
-    <%= render :partial => "common_details", :object => way %>
+  <%= tag.div :class => ["browse-section", "browse-way", { "text-body-secondary" => way.redacted? }] do %>
+    <%= render :partial => "browse/common_details", :object => way %>
 
-    <% unless way.way_nodes.empty? %>
-      <h4><%= t'browse.way.nodes' %></h4>
-      <ul>
-        <% way.way_nodes.each do |wn| %>
-          <li>
-            <%= link_to printable_name(wn.node), { :action => "node", :id => wn.node_id.to_s }, :class => link_class('node', wn.node), :title => link_title(wn.node), :rel => link_follow(wn.node) %>
-            <% related_ways = wn.node.ways.reject { |w| w.id == wn.way_id } %>
-            <% if related_ways.size > 0 then %>
-              (<%= raw t 'browse.way.also_part_of', :count => related_ways.size, :related_ways => related_ways.map { |w| link_to(printable_name(w), { :action => "way", :id => w.id.to_s }, :class => link_class('way', w), :title => link_title(w) ) }.to_sentence %>)
-            <% end %>
-          </li>
-        <% end %>
-      </ul>
+    <% unless way.containing_relation_members.empty? %>
+      <h4><%= t "browse.part_of" %></h4>
+      <details <%= "open" if way.containing_relation_members.count < 10 %>>
+        <summary><%= t "browse.part_of_relations", :count => way.containing_relation_members.uniq.count %></summary>
+        <ul class="list-unstyled browse-element-list">
+          <%= render :partial => "browse/containing_relation", :collection => way.containing_relation_members.uniq %>
+        </ul>
+      </details>
     <% end %>
 
-    <% unless way.containing_relation_members.empty? %>
-      <h4><%= t'browse.part_of' %></h4>
-      <ul>
-        <%= render :partial => "containing_relation", :collection => way.containing_relation_members.uniq %>
-      </ul>
+    <% unless way.way_nodes.empty? %>
+      <h4><%= t ".nodes" %></h4>
+      <details <%= "open" if way.way_nodes.count < 10 %>>
+        <summary><%= t ".nodes_count", :count => way.way_nodes.count %></summary>
+        <ul class="list-unstyled browse-element-list">
+          <% way.way_nodes.each do |wn| %>
+            <%= element_list_item "node", wn.node do %>
+              <%= element_single_current_link "node", wn.node %>
+              <% related_ways = wn.node.ways.reject { |w| w.id == wn.way_id } %>
+              <% icon_connector = " " %>
+              <% if related_ways.size > 0 then %>
+                (<%= t ".also_part_of_html",
+                       :count => related_ways.size,
+                       :related_ways => to_sentence(related_ways.map { |w| element_icon("way", w) + icon_connector + element_single_current_link("way", w) }) %>)
+              <% end %>
+            <% end %>
+          <% end %>
+        </ul>
+      </details>
     <% end %>
-  </div>
+  <% end %>
 <% end %>