Add pagination via kaminari

This commit is contained in:
Andreas Haller 2015-04-27 23:14:48 +02:00
parent f71c083722
commit 40eeac2021
13 changed files with 57 additions and 5 deletions

View file

@ -2,10 +2,9 @@ class SearchController < ApplicationController
def index
@show_search_result = params[:q].present?
@papers = if @show_search_result
# TODO: Add pagination
Paper.search(params[:q]).records
Paper.search(params[:q]).page(params[:page]).results
else
Paper.last(30)
Paper.order(published_at: :desc).page(params[:page])
end
end
end

View file

@ -0,0 +1,3 @@
li
= link_to_unless(current_page.first?,
raw(t 'views.pagination.first'), url, :remote => remote)

View file

@ -0,0 +1,2 @@
li.unavailable
= link_to raw(t 'views.pagination.truncate'), '#'

View file

@ -0,0 +1,3 @@
li
= link_to_unless(current_page.last?,
raw(t 'views.pagination.last'), url, { :remote => remote })

View file

@ -0,0 +1,4 @@
li
= link_to_unless(current_page.last?,
raw(t 'views.pagination.next'),
url, :rel => 'next', :remote => remote)

View file

@ -0,0 +1,4 @@
li{class="#{'current' if page.current?}"}
= link_to(page, page.current? ? '#' : url,
{ :remote => remote,
:rel => page.next? ? 'next' : page.prev? ? 'prev' : nil })

View file

@ -0,0 +1,12 @@
= paginator.render do
.pagination-centered
ul.pagination
= first_page_tag unless current_page.first?
= prev_page_tag unless current_page.first?
- each_page do |page|
- if page.left_outer? || page.right_outer? || page.inside_window?
= page_tag page
- elsif !page.was_truncated?
= gap_tag
= next_page_tag unless current_page.last?
= last_page_tag unless current_page.last?

View file

@ -0,0 +1,4 @@
li
= link_to_unless(current_page.first?,
raw(t 'views.pagination.previous'),
url, :rel => 'prev', :remote => remote)

View file

@ -4,7 +4,7 @@ div
.clearfix
- if @show_search_result
.left
| #{@papers.size} Treffer
| #{@papers.total} Treffer
.right
button.button. TODO: Suche Abbonieren
div
@ -18,3 +18,6 @@ div
small = doc.published_at
= link_to doc.url, target: '_blank' do
div = doc.name
div
= paginate @papers