Module: BootstrapAdmin::PaginatorHelper
- Defined in:
- app/helpers/bootstrap_admin/paginator_helper.rb
Instance Method Summary collapse
-
#paginator_next(paginator) ⇒ Object
.
-
#paginator_page(num, css_class = nil) ⇒ Object
.
-
#paginator_pages(paginator) ⇒ Object
.
-
#paginator_previous(paginator) ⇒ Object
.
-
#paginator_range(current_page, range) ⇒ Object
.
-
#render_paginator(paginator) ⇒ Object
.
-
#render_searchbox ⇒ Object
.
Instance Method Details
#paginator_next(paginator) ⇒ Object
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'app/helpers/bootstrap_admin/paginator_helper.rb', line 33 def paginator_next(paginator) if paginator[:current_page] == paginator[:pages] url = "#" css_class = "next disabled" else url = url_for(params.merge(:page => paginator[:current_page]+1)) css_class = "next" end content_tag(:li, :class=>css_class) do if "#" == url content_tag(:span, "#{t(:next)} →".html_safe) else link_to "#{t(:next)} →".html_safe, url end end.html_safe end |
#paginator_page(num, css_class = nil) ⇒ Object
99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 |
# File 'app/helpers/bootstrap_admin/paginator_helper.rb', line 99 def paginator_page(num, css_class = nil) if num.to_i > 0 url = url_for(params.merge :page => num) else url = "#" end content_tag(:li, :class=>css_class) do if '#' == url content_tag(:span, num) else link_to num, url end end.html_safe end |
#paginator_pages(paginator) ⇒ Object
52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 |
# File 'app/helpers/bootstrap_admin/paginator_helper.rb', line 52 def paginator_pages(paginator) if paginator[:pages] <= 5 [ paginator_range(paginator[:current_page], 1..paginator[:pages]) ] elsif paginator[:current_page] <= 3 [ paginator_range(paginator[:current_page], 1..4), paginator_page("...", "disabled"), paginator_page(paginator[:pages]) ] elsif paginator[:current_page] >= paginator[:pages] - 2 [ paginator_page(1), paginator_page("...", "disabled"), paginator_range(paginator[:current_page], (paginator[:pages]-3)..paginator[:pages]) ] else [ paginator_page(1), paginator_page("...", "disabled"), paginator_range(paginator[:current_page], (paginator[:current_page]-1)..(paginator[:current_page]+1)), paginator_page("...", "disabled"), paginator_page(paginator[:pages]) ] end.join.html_safe end |
#paginator_previous(paginator) ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'app/helpers/bootstrap_admin/paginator_helper.rb', line 14 def paginator_previous(paginator) if paginator[:current_page] == 1 url = "#" css_class = "prev disabled" else url = url_for(params.merge(:page => paginator[:current_page]-1)) css_class = "prev" end content_tag(:li, :class=>css_class) do if "#" == url content_tag(:span, "← #{t(:previous)}".html_safe) else link_to "← #{t(:previous)}".html_safe, url end end.html_safe end |
#paginator_range(current_page, range) ⇒ Object
84 85 86 87 88 89 90 91 92 93 94 95 96 |
# File 'app/helpers/bootstrap_admin/paginator_helper.rb', line 84 def paginator_range(current_page, range) contents = range.map do |page| content_tag(:li, :class => (page==current_page ? "active" : "")) do if page==current_page content_tag(:span, page) else link_to page, url_for(params.merge(:page => page)) end end end contents.join.html_safe end |
#render_paginator(paginator) ⇒ Object
4 5 6 |
# File 'app/helpers/bootstrap_admin/paginator_helper.rb', line 4 def render_paginator(paginator) render "paginator", :paginator => paginator end |
#render_searchbox ⇒ Object
9 10 11 |
# File 'app/helpers/bootstrap_admin/paginator_helper.rb', line 9 def render_searchbox render "search_box" end |