diaspora/config/initializers/will_paginate.rb
2012-03-16 18:58:01 +01:00

36 lines
1.2 KiB
Ruby

require 'will_paginate/array'
# Optional for Bootstrap :renderer => WillPaginate::ActionView::BootstrapLinkRenderer
# https://github.com/yrgoldteeth/bootstrap-will_paginate
module WillPaginate
module ActionView
def will_paginate(collection = nil, options = {} )
options, collection = collection, nil if collection.is_a? Hash
# Taken from original will_paginate code to handle if the helper is not passed a collection object.
collection ||= infer_collection_from_controller
options[:renderer] ||= WillPaginate::ActionView::LinkRenderer
super.try :html_safe
end
class BootstrapLinkRenderer < LinkRenderer
protected
def html_container(html)
tag :div, tag(:ul, html), container_attributes
end
def page_number(page)
tag :li, link(page, page, :rel => rel_value(page)), :class => ('active' if page == current_page)
end
def gap
tag :li, link(super, '#'), :class => 'disabled'
end
def previous_or_next_page(page, text, classname)
tag :li, link(text, page || '#'), :class => [classname[0..3], classname, ('disabled' unless page)].join(' ')
end
end
end
end