Permalink
Browse files

added pagination: kaminari

  • Loading branch information...
1 parent d911c0c commit dba164d4d360654ea58b5433160df4b99f00bc41 @roberto committed Aug 17, 2012
View
@@ -26,6 +26,7 @@ gem 'bootswatch-rails'
gem 'simple_form'
gem 'rails_bootstrap_navbar'
+gem 'kaminari'
group :test, :development do
gem 'annotate'
View
@@ -76,6 +76,10 @@ GEM
railties (>= 3.2.0, < 5.0)
thor (~> 0.14)
json (1.7.4)
+ kaminari (0.13.0)
+ actionpack (>= 3.0.0)
+ activesupport (>= 3.0.0)
+ railties (>= 3.0.0)
libwebsocket (0.1.3)
addressable
listen (0.4.7)
@@ -184,6 +188,7 @@ DEPENDENCIES
guard-pow
guard-rspec
jquery-rails
+ kaminari
pg
rails (= 3.2.8)
rails_bootstrap_navbar
@@ -1,7 +1,7 @@
class ItemsController < ApplicationController
def index
- @items = Item.all
+ @items = Item.page(params[:page])
end
def new
@@ -25,4 +25,7 @@
<% end %>
</tbody>
</table>
+
+<%= paginate @items %>
+
<%= link_to 'Add item', new_item_path, :class => 'btn btn-primary' %>
@@ -0,0 +1,13 @@
+<%# Link to the "First" page
+ - available local variables
+ url: url to the first page
+ current_page: a page object for the currently displayed page
+ num_pages: total number of pages
+ per_page: number of items to fetch per page
+ remote: data-remote
+-%>
+<% unless current_page.first? %>
+<li class="first">
+ <%= link_to_unless current_page.first?, raw(t 'views.pagination.first'), url, remote: remote %>
+</li>
+<% end %>
@@ -0,0 +1,10 @@
+<%# Non-link tag that stands for skipped pages...
+ - available local variables
+ current_page: a page object for the currently displayed page
+ num_pages: total number of pages
+ per_page: number of items to fetch per page
+ remote: data-remote
+-%>
+<li class="page gap disabled">
+ <a href="#" onclick="return false;"><%= raw(t 'views.pagination.truncate') %></a>
+</li>
@@ -0,0 +1,13 @@
+<%# Link to the "Last" page
+ - available local variables
+ url: url to the last page
+ current_page: a page object for the currently displayed page
+ num_pages: total number of pages
+ per_page: number of items to fetch per page
+ remote: data-remote
+-%>
+<% unless current_page.last? %>
+<li class="last next"><%# "next" class present for border styling in twitter bootstrap %>
+ <%= link_to_unless current_page.last?, raw(t 'views.pagination.last'), url, remote: remote %>
+</li>
+<% end %>
@@ -0,0 +1,13 @@
+<%# Link to the "Next" page
+ - available local variables
+ url: url to the next page
+ current_page: a page object for the currently displayed page
+ num_pages: total number of pages
+ per_page: number of items to fetch per page
+ remote: data-remote
+-%>
+<% unless current_page.last? %>
+<li class="next_page">
+ <%= link_to_unless current_page.last?, raw(t 'views.pagination.next'), url, rel: 'next', remote: remote %>
+</li>
+<% end %>
@@ -0,0 +1,12 @@
+<%# Link showing page number
+ - available local variables
+ page: a page object for "this" page
+ url: url to this page
+ current_page: a page object for the currently displayed page
+ num_pages: total number of pages
+ per_page: number of items to fetch per page
+ remote: data-remote
+-%>
+<li class="page<%= ' active' if page.current? %>">
+ <%= link_to page, url, {remote: remote, rel: page.next? ? 'next' : page.prev? ? 'prev' : nil} %>
+</li>
@@ -0,0 +1,25 @@
+<%# The container tag
+ - available local variables
+ current_page: a page object for the currently displayed page
+ num_pages: total number of pages
+ per_page: number of items to fetch per page
+ remote: data-remote
+ paginator: the paginator that renders the pagination tags inside
+-%>
+<%= paginator.render do -%>
+ <div class="pagination">
+ <ul>
+ <%= 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 %>
+ <% end -%>
+ <% end -%>
+ <%= next_page_tag unless current_page.last? %>
+ <%= last_page_tag unless current_page.last? %>
+ </ul>
+ </div>
+<% end -%>
@@ -0,0 +1,13 @@
+<%# Link to the "Previous" page
+ - available local variables
+ url: url to the previous page
+ current_page: a page object for the currently displayed page
+ num_pages: total number of pages
+ per_page: number of items to fetch per page
+ remote: data-remote
+-%>
+<% unless current_page.first? %>
+<li class="prev">
+ <%= link_to_unless current_page.first?, raw(t 'views.pagination.previous'), url, rel: 'prev', remote: remote %>
+</li>
+<% end %>

0 comments on commit dba164d

Please sign in to comment.