]> git.openstreetmap.org Git - rails.git/commitdiff
Move sidebar pagination to helpers
authorAnton Khorev <tony29@yandex.ru>
Sun, 15 Oct 2023 19:59:00 +0000 (22:59 +0300)
committerAnton Khorev <tony29@yandex.ru>
Thu, 16 Nov 2023 10:36:57 +0000 (13:36 +0300)
app/helpers/browse_helper.rb
app/views/browse/_paging_nav.html.erb

index 0f533770b8042165245e0d036b066626c4b97a30..be32737a4e090e8b750c81ab333871101730e34b 100644 (file)
@@ -64,6 +64,29 @@ module BrowseHelper
     end
   end
 
+  def sidebar_classic_pagination(pages, page_param)
+    max_width_for_default_padding = 35
+
+    width = 0
+    pagination_items(pages, {}).each do |body|
+      width += 2 # padding width
+      width += body.length
+    end
+    link_classes = ["page-link", { "px-1" => width > max_width_for_default_padding }]
+
+    tag.ul :class => "pagination pagination-sm mb-1 ms-auto" do
+      pagination_items(pages, {}).each do |body, n|
+        linked = !(n.is_a? String)
+        link = if linked
+                 link_to body, url_for(page_param => n), :class => link_classes
+               else
+                 tag.span body, :class => link_classes
+               end
+        concat tag.li link, :class => ["page-item", { n => !linked }]
+      end
+    end
+  end
+
   private
 
   ICON_TAGS = %w[aeroway amenity barrier building highway historic landuse leisure man_made natural railway shop tourism waterway].freeze
index 13cf7c2834423cdb31b549dfb22b00a597680975..ed129aad0fcb97097538036a46dd829b430f7912 100644 (file)
@@ -1,30 +1,6 @@
 <div class="d-flex flex-wrap gap-2">
   <h4 class="fs-5 mb-0"><%= heading %></h4>
   <% if pages.page_count > 1 %>
-    <ul class="pagination pagination-sm mb-1 ms-auto">
-    <%
-      max_width_for_default_padding = 35
-
-      width = 0
-      pagination_items(pages, {}).each do |body, n|
-        width += 2 # padding width
-        width += body.length
-      end
-      link_classes = ["page-link", {"px-1" => width > max_width_for_default_padding}]
-
-      pagination_items(pages, {}).each do |body, n|
-        linked = !(n.is_a? String)
-    %>
-    <%= content_tag "li", :class => ["page-item", {n => !linked}] do
-          if linked
-            link_to(body, url_for(page_param => n), :class => link_classes)
-          else
-            content_tag("span", body, :class => link_classes)
-          end
-        end %>
-    <%
-      end
-    %>
-    </ul>
+    <%= sidebar_classic_pagination(pages, page_param) %>
   <% end %>
 </div>