From 87d42aa3e160b69796b01c794ff101008473b5c7 Mon Sep 17 00:00:00 2001 From: vlad Date: Mon, 29 Apr 2013 13:39:23 +0300 Subject: [PATCH] pagination improvements --- views/bootstrap_classic_safe.haml | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/views/bootstrap_classic_safe.haml b/views/bootstrap_classic_safe.haml index b5501f0..1c83dc5 100644 --- a/views/bootstrap_classic_safe.haml +++ b/views/bootstrap_classic_safe.haml @@ -8,13 +8,26 @@ %li =link_to "«".html_safe, url(controller, action, params.merge("page" => previous_page)), :class => :prev_next - - (1..total_pages).each do |page| + - if current_page > 2 + - pages = (current_page + 5 >= total_pages) ? ((current_page - 2)..total_pages) : ((current_page - 2)..(current_page + 5)) + - else + - pages = (1..(total_pages > 5 ? 5 : total_pages)) + + - if current_page > 3 + %li + %span.current='...' + + - pages.each do |page| %li - if page == current_page %span.current=page - else =link_to page.to_s.html_safe, url(controller, action, params.merge("page" => page)) + - if current_page + 5 < total_pages + %li + %span.current='...' + - if next_page %li =link_to "»".html_safe, url(controller, action, params.merge("page" => next_page)), :class => :prev_next