From: Anton Khorev Date: Tue, 3 Oct 2023 02:00:17 +0000 (+0300) Subject: Add Bootstrap styling to changeset node/way/relation page links X-Git-Tag: live~1097^2~9 X-Git-Url: https://git.openstreetmap.org./rails.git/commitdiff_plain/8f57efe850bf9805d9bfb073d16d4cf1d06882f5?ds=inline;hp=--cc Add Bootstrap styling to changeset node/way/relation page links --- 8f57efe850bf9805d9bfb073d16d4cf1d06882f5 diff --git a/app/views/browse/_paging_nav.html.erb b/app/views/browse/_paging_nav.html.erb index e13b1a9b8..02a7aa2c8 100644 --- a/app/views/browse/_paging_nav.html.erb +++ b/app/views/browse/_paging_nav.html.erb @@ -4,11 +4,7 @@ <% if pages.page_count > 1 %>
-

- - <%= raw pagination_links_each(pages, {}) { |n| link_to(n, page_param => n) } %> - -

+ <%= raw pagination_links_bootstrap(pages, {}) { |n| url_for(page_param => n) } %>
<% end %> diff --git a/lib/classic_pagination/pagination_helper.rb b/lib/classic_pagination/pagination_helper.rb index 3ff3c3b95..ed65944bc 100644 --- a/lib/classic_pagination/pagination_helper.rb +++ b/lib/classic_pagination/pagination_helper.rb @@ -130,6 +130,62 @@ module ActionView html end + + # Same as above, but + # - with bootstrap classes + # - invoked block returns the page url + def pagination_links_bootstrap(paginator, options) + options = DEFAULT_OPTIONS.merge(options) + link_to_current_page = options[:link_to_current_page] + always_show_anchors = options[:always_show_anchors] + + current_page = paginator.current_page + window_pages = current_page.window(options[:window_size]).pages + return unless link_to_current_page || window_pages.length > 1 + + first = paginator.first + last = paginator.last + + html = "" + + html << "" + + html + end + + private + + def bootstrap_page_item(body, url = nil) + if url + content_tag "li", :class => "page-item" do + link_to body, url, :class => "page-link" + end + else + content_tag "li", :class => "page-item disabled" do + content_tag "a", body, :class => "page-link" + end + end + end end end end