Shorten padding on page items if they are too wide
This commit is contained in:
parent
de793fb01d
commit
cfa1ce8617
1 changed files with 26 additions and 12 deletions
|
@ -2,18 +2,32 @@
|
|||
<h4 class="fs-5 mb-0"><%= heading %></h4>
|
||||
<% if pages.page_count > 1 %>
|
||||
<ul class="pagination pagination-sm mb-1 ms-auto">
|
||||
<% pagination_items(pages, {}).each do |body, n| %>
|
||||
<% linked = !(n.is_a? String)
|
||||
classes = ["page-item"]
|
||||
classes.push(n) unless linked %>
|
||||
<%= content_tag "li", :class => classes do
|
||||
if linked
|
||||
link_to(body, url_for(page_param => n), :class => "page-link")
|
||||
else
|
||||
content_tag("span", body, :class => "page-link")
|
||||
end
|
||||
end %>
|
||||
<% end %>
|
||||
<%
|
||||
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"]
|
||||
link_classes.push("px-1") if width > max_width_for_default_padding
|
||||
|
||||
pagination_items(pages, {}).each do |body, n|
|
||||
linked = !(n.is_a? String)
|
||||
item_classes = ["page-item"]
|
||||
item_classes.push(n) unless linked
|
||||
%>
|
||||
<%= content_tag "li", :class => item_classes 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>
|
||||
<% end %>
|
||||
</div>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue