1
0
Fork 0
mirror of https://github.com/kaminari/kaminari.git synced 2022-11-09 13:44:37 -05:00

use PageProxy for current_page

This commit is contained in:
Akira Matsuda 2011-02-28 00:17:09 +09:00
parent bfb09e61ad
commit cd50d41476
15 changed files with 42 additions and 33 deletions

View file

@ -1,11 +1,11 @@
<%# Link to the "First" page <%# Link to the "First" page
- available local variables - available local variables
url: url to the first page url: url to the first page
current_page: the page number of currently displayed page current_page: a page object for the currently displayed page
num_pages: total number of pages num_pages: total number of pages
per_page: number of items to fetch per page per_page: number of items to fetch per page
remote: data-remote remote: data-remote
-%> -%>
<span class="first<%= ' disabled' if current_page == 1 %>"> <span class="first<%= ' disabled' if current_page.first? %>">
<%= link_to_unless current_page == 1, raw(t 'views.pagination.first'), url, :remote => remote %> <%= link_to_unless current_page.first?, raw(t 'views.pagination.first'), url, :remote => remote %>
</span> </span>

View file

@ -1,9 +1,9 @@
-# Link to the "First" page -# Link to the "First" page
- available local variables - available local variables
url: url to the first page url: url to the first page
current_page: the page number of currently displayed page current_page: a page object for the currently displayed page
num_pages: total number of pages num_pages: total number of pages
per_page: number of items to fetch per page per_page: number of items to fetch per page
remote: data-remote remote: data-remote
%span{:class => "first#{' disabled' if current_page == 1}"} %span{:class => "first#{' disabled' if current_page.first?}"}
= link_to_unless current_page == 1, raw(t 'views.pagination.first'), url, :remote => remote = link_to_unless current_page.first?, raw(t 'views.pagination.first'), url, :remote => remote

View file

@ -1,6 +1,6 @@
<%# Non-link tag that stands for skipped pages... <%# Non-link tag that stands for skipped pages...
- available local variables - available local variables
current_page: the page number of currently displayed page current_page: a page object for the currently displayed page
num_pages: total number of pages num_pages: total number of pages
per_page: number of items to fetch per page per_page: number of items to fetch per page
remote: data-remote remote: data-remote

View file

@ -1,6 +1,6 @@
-# Non-link tag that stands for skipped pages... -# Non-link tag that stands for skipped pages...
- available local variables - available local variables
current_page: the page number of currently displayed page current_page: a page object for the currently displayed page
num_pages: total number of pages num_pages: total number of pages
per_page: number of items to fetch per page per_page: number of items to fetch per page
remote: data-remote remote: data-remote

View file

@ -1,11 +1,11 @@
<%# Link to the "Last" page <%# Link to the "Last" page
- available local variables - available local variables
url: url to the last page url: url to the last page
current_page: the page number of currently displayed page current_page: a page object for the currently displayed page
num_pages: total number of pages num_pages: total number of pages
per_page: number of items to fetch per page per_page: number of items to fetch per page
remote: data-remote remote: data-remote
-%> -%>
<span class="last<%= ' disabled' if current_page == num_pages %>"> <span class="last<%= ' disabled' if current_page.last? %>">
<%= link_to_unless current_page == num_pages, raw(t 'views.pagination.last'), url, {:remote => remote} %> <%= link_to_unless current_page.last?, raw(t 'views.pagination.last'), url, {:remote => remote} %>
</span> </span>

View file

@ -1,9 +1,9 @@
-# Link to the "Last" page -# Link to the "Last" page
- available local variables - available local variables
url: url to the last page url: url to the last page
current_page: the page number of currently displayed page current_page: a page object for the currently displayed page
num_pages: total number of pages num_pages: total number of pages
per_page: number of items to fetch per page per_page: number of items to fetch per page
remote: data-remote remote: data-remote
%span{:class => "last#{' disabled' if current_page == num_pages}"} %span{:class => "last#{' disabled' if current_page.last?}"}
= link_to_unless current_page == num_pages, raw(t 'views.pagination.last'), url, {:remote => remote} = link_to_unless current_page.last?, raw(t 'views.pagination.last'), url, {:remote => remote}

View file

@ -1,11 +1,11 @@
<%# Link to the "Next" page <%# Link to the "Next" page
- available local variables - available local variables
url: url to the next page url: url to the next page
current_page: the page number of currently displayed page current_page: a page object for the currently displayed page
num_pages: total number of pages num_pages: total number of pages
per_page: number of items to fetch per page per_page: number of items to fetch per page
remote: data-remote remote: data-remote
-%> -%>
<span class="next<%= ' disabled' if current_page == num_pages %>"> <span class="next<%= ' disabled' if current_page.last? %>">
<%= link_to_unless current_page == num_pages, raw(t 'views.pagination.next'), url, :rel => 'next', :remote => remote %> <%= link_to_unless current_page.last?, raw(t 'views.pagination.next'), url, :rel => 'next', :remote => remote %>
</span> </span>

View file

@ -1,9 +1,9 @@
-# Link to the "Next" page -# Link to the "Next" page
- available local variables - available local variables
url: url to the next page url: url to the next page
current_page: the page number of currently displayed page current_page: a page object for the currently displayed page
num_pages: total number of pages num_pages: total number of pages
per_page: number of items to fetch per page per_page: number of items to fetch per page
remote: data-remote remote: data-remote
%span{:class => "next#{' disabled' if current_page == num_pages}"} %span{:class => "next#{' disabled' if current_page.last?}"}
= link_to_unless current_page == num_pages, raw(t 'views.pagination.next'), url, :rel => 'next', :remote => remote = link_to_unless current_page.last?, raw(t 'views.pagination.next'), url, :rel => 'next', :remote => remote

View file

@ -1,8 +1,8 @@
<%# Link showing page number <%# Link showing page number
- available local variables - available local variables
page: the PageProxy for the current page page: a page object for "this" page
url: url to this page url: url to this page
current_page: the page number of currently displayed page current_page: a page object for the currently displayed page
num_pages: total number of pages num_pages: total number of pages
per_page: number of items to fetch per page per_page: number of items to fetch per page
remote: data-remote remote: data-remote

View file

@ -1,8 +1,8 @@
-# Link showing page number -# Link showing page number
- available local variables - available local variables
page: the PageProxy for the current page page: a page object for "this" page
url: url to this page url: url to this page
current_page: the page number of currently displayed page current_page: a page object for the currently displayed page
num_pages: total number of pages num_pages: total number of pages
per_page: number of items to fetch per page per_page: number of items to fetch per page
remote: data-remote remote: data-remote

View file

@ -1,6 +1,6 @@
<%# The container tag <%# The container tag
- available local variables - available local variables
current_page: the page number of currently displayed page current_page: a page object for the currently displayed page
num_pages: total number of pages num_pages: total number of pages
per_page: number of items to fetch per page per_page: number of items to fetch per page
remote: data-remote remote: data-remote

View file

@ -1,6 +1,6 @@
-# The container tag -# The container tag
- available local variables - available local variables
current_page: the page number of currently displayed page current_page: a page object for the currently displayed page
num_pages: total number of pages num_pages: total number of pages
per_page: number of items to fetch per page per_page: number of items to fetch per page
remote: data-remote remote: data-remote

View file

@ -1,11 +1,11 @@
<%# Link to the "Previous" page <%# Link to the "Previous" page
- available local variables - available local variables
url: url to the previous page url: url to the previous page
current_page: the page number of currently displayed page current_page: a page object for the currently displayed page
num_pages: total number of pages num_pages: total number of pages
per_page: number of items to fetch per page per_page: number of items to fetch per page
remote: data-remote remote: data-remote
-%> -%>
<span class="prev<%= ' disabled' if current_page == 1 %>"> <span class="prev<%= ' disabled' if current_page.first? %>">
<%= link_to_unless current_page == 1, raw(t 'views.pagination.previous'), url, :rel => 'prev', :remote => remote %> <%= link_to_unless current_page.first?, raw(t 'views.pagination.previous'), url, :rel => 'prev', :remote => remote %>
</span> </span>

View file

@ -1,9 +1,9 @@
-# Link to the "Previous" page -# Link to the "Previous" page
- available local variables - available local variables
url: url to the previous page url: url to the previous page
current_page: the page number of currently displayed page current_page: a page object for the currently displayed page
num_pages: total number of pages num_pages: total number of pages
per_page: number of items to fetch per page per_page: number of items to fetch per page
remote: data-remote remote: data-remote
%span{:class => "prev#{' disabled' if current_page == 1}"} %span{:class => "prev#{' disabled' if current_page.first?}"}
= link_to_unless current_page == 1, raw(t 'views.pagination.previous'), url, :rel => 'prev', :remote => remote = link_to_unless current_page.first?, raw(t 'views.pagination.previous'), url, :rel => 'prev', :remote => remote

View file

@ -12,6 +12,7 @@ module Kaminari
h[:right] = options.delete(:right) || outer_window || 0 h[:right] = options.delete(:right) || outer_window || 0
end end
@template, @options = template, options @template, @options = template, options
@options[:current_page] = PageProxy.new @window_options.merge(@options), @options[:current_page], nil
# so that this instance can actually "render". Black magic? # so that this instance can actually "render". Black magic?
@output_buffer = ActionView::OutputBuffer.new @output_buffer = ActionView::OutputBuffer.new
end end
@ -117,7 +118,7 @@ module Kaminari
# inside the inner window or not # inside the inner window or not
def inside_window? def inside_window?
(@page - @options[:current_page]).abs <= @options[:window] (@options[:current_page] - @page).abs <= @options[:window]
end end
# The last rendered tag was "truncated" or not # The last rendered tag was "truncated" or not
@ -133,6 +134,14 @@ module Kaminari
number.to_s number.to_s
end end
def +(other)
to_i + other.to_i
end
def -(other)
to_i - other.to_i
end
def <=>(other) def <=>(other)
to_i <=> other.to_i to_i <=> other.to_i
end end