]> git.openstreetmap.org Git - rails.git/commitdiff
Add element list item helper
authorAnton Khorev <tony29@yandex.ru>
Sun, 18 Feb 2024 18:30:07 +0000 (21:30 +0300)
committerAnton Khorev <tony29@yandex.ru>
Mon, 19 Feb 2024 00:41:59 +0000 (03:41 +0300)
app/helpers/browse_helper.rb
app/views/browse/_relation_member.html.erb
app/views/browse/changeset.html.erb

index 07fa48daf87fa1596e3408f523b25351c9c36399..29f243cf4635c356529bc9c4e3d0aa09e83db4d4 100644 (file)
@@ -7,6 +7,12 @@ module BrowseHelper
     end
   end
 
+  def element_list_item(type, object, &block)
+    tag.li :class => element_class(type, object) do
+      element_strikethrough object, &block
+    end
+  end
+
   def printable_name(object, version: false)
     id = if object.id.is_a?(Array)
            object.id[0]
index 504b945aafbf5f1a26de1725f3d6b097ed52ca02..93c33b8a7e1e81f6a188cda68b3c5531ef91708f 100644 (file)
@@ -1,12 +1,9 @@
-<% member_class = element_class(relation_member.member_type.downcase, relation_member.member)
-   linked_name = link_to printable_name(relation_member.member), { :controller => :browse, :action => relation_member.member_type.downcase, :id => relation_member.member_id.to_s }, { :title => link_title(relation_member.member), :rel => link_follow(relation_member.member) }
+<% linked_name = link_to printable_name(relation_member.member), { :controller => :browse, :action => relation_member.member_type.downcase, :id => relation_member.member_id.to_s }, { :title => link_title(relation_member.member), :rel => link_follow(relation_member.member) }
    type_str = t ".type.#{relation_member.member_type.downcase}" %>
-<li class="<%= member_class %>">
-  <%= element_strikethrough relation_member.member do %>
-    <%= if relation_member.member_role.blank?
-          t ".entry_html", :type => type_str, :name => linked_name
-        else
-          t ".entry_role_html", :type => type_str, :name => linked_name, :role => relation_member.member_role
-        end %>
-  <% end %>
-</li>
+<%= element_list_item relation_member.member_type.downcase, relation_member.member do %>
+  <%= if relation_member.member_role.blank?
+        t ".entry_html", :type => type_str, :name => linked_name
+      else
+        t ".entry_role_html", :type => type_str, :name => linked_name, :role => relation_member.member_role
+      end %>
+<% end %>
index fcdc8f1553a0eb2a4be53d1d0df5f8475988e545..eac8bd47240083ffe2836940bfb898fc67c41635 100644 (file)
     <%= render :partial => "paging_nav", :locals => { :heading => type_and_paginated_count("way", @way_pages), :pages => @way_pages, :page_param => "way_page" } %>
     <ul class="list-unstyled">
       <% @ways.each do |way| %>
-        <li class="<%= element_class("way", way) %>">
-          <%= element_strikethrough way do %>
-            <%= link_to printable_name(way, :version => true), { :action => "way", :id => way.way_id.to_s }, { :title => link_title(way) } %>
-          <% end %>
-        </li>
+        <%= element_list_item "way", way do %>
+          <%= link_to printable_name(way, :version => true), { :action => "way", :id => way.way_id.to_s }, { :title => link_title(way) } %>
+        <% end %>
       <% end %>
     </ul>
   <% end %>
     <%= render :partial => "paging_nav", :locals => { :heading => type_and_paginated_count("relation", @relation_pages), :pages => @relation_pages, :page_param => "relation_page" } %>
     <ul class="list-unstyled">
       <% @relations.each do |relation| %>
-        <li class="<%= element_class("relation", relation) %>">
-          <%= element_strikethrough relation do %>
-            <%= link_to printable_name(relation, :version => true), { :action => "relation", :id => relation.relation_id.to_s }, { :title => link_title(relation) } %>
-          <% end %>
-        </li>
+        <%= element_list_item "relation", relation do %>
+          <%= link_to printable_name(relation, :version => true), { :action => "relation", :id => relation.relation_id.to_s }, { :title => link_title(relation) } %>
+        <% end %>
       <% end %>
     </ul>
   <% end %>
     <%= render :partial => "paging_nav", :locals => { :heading => type_and_paginated_count("node", @node_pages), :pages => @node_pages, :page_param => "node_page" } %>
     <ul class="list-unstyled">
       <% @nodes.each do |node| %>
-        <li class="<%= element_class("node", node) %>">
-          <%= element_strikethrough node do %>
-            <%= link_to printable_name(node, :version => true), { :action => "node", :id => node.node_id.to_s }, { :title => link_title(node), :rel => link_follow(node) } %>
-          <% end %>
-        </li>
+        <%= element_list_item "node", node do %>
+          <%= link_to printable_name(node, :version => true), { :action => "node", :id => node.node_id.to_s }, { :title => link_title(node), :rel => link_follow(node) } %>
+        <% end %>
       <% end %>
     </ul>
   <% end %>