44 lines
925 B
Ruby
44 lines
925 B
Ruby
class Array
|
|
def html_safe
|
|
self
|
|
end
|
|
end
|
|
|
|
|
|
class AngularjsLinkRenderer < WillPaginate::ActionView::LinkRenderer
|
|
|
|
def to_html
|
|
pagination.map do |item|
|
|
item.is_a?(Fixnum) ? page_number(item) : send(item)
|
|
end
|
|
end
|
|
|
|
protected
|
|
|
|
def page_number(page)
|
|
unless page == current_page
|
|
{:active => true, :number => page, :type => :page}
|
|
else
|
|
{:active => false, :number => page, :type => :first}
|
|
end
|
|
end
|
|
|
|
def gap
|
|
nil
|
|
end
|
|
|
|
def next_page
|
|
num = @collection.current_page < @collection.total_pages && @collection.current_page + 1
|
|
previous_or_next_page(num, @options[:next_label], :next_page)
|
|
end
|
|
|
|
def previous_or_next_page(page, text, classname)
|
|
if page
|
|
{:active => true, :number => page, :type => classname}
|
|
else
|
|
{:active => false, :number => page, :type => classname}
|
|
end
|
|
end
|
|
|
|
end
|