X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/bb9f20710e851eb4943bfb8e63386680e359834a..d104736809d9e36b0bc955f3425c4d47a370e78b:/lib/classic_pagination/pagination_helper.rb diff --git a/lib/classic_pagination/pagination_helper.rb b/lib/classic_pagination/pagination_helper.rb index ae03b82b2..3ff7fbf4e 100644 --- a/lib/classic_pagination/pagination_helper.rb +++ b/lib/classic_pagination/pagination_helper.rb @@ -13,7 +13,7 @@ module ActionView :always_show_anchors => true, :link_to_current_page => false, :params => {} - } + }.freeze end # Creates a basic HTML link bar for the given +paginator+. Links will be created @@ -113,11 +113,11 @@ module ActionView end window_pages.each do |page| - if current_page == page && !link_to_current_page - html << page.number.to_s - else - html << yield(page.number) - end + html << if current_page == page && !link_to_current_page + page.number.to_s + else + yield(page.number) + end html << " " end @@ -130,6 +130,68 @@ module ActionView html end - end # PaginationHelper - end # Helpers -end # ActionView + + # 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 << "