rosa-build/app/helpers/paginate_helper.rb

35 lines
1.1 KiB
Ruby
Raw Normal View History

module PaginateHelper
def paginate_params
per_page = params[:per_page].to_i
per_page = 20 if per_page < 1
per_page = 100 if per_page >100
page = params[:page].to_i
page = nil if page == 0
2014-01-21 04:51:49 +00:00
{page: page, per_page: per_page}
end
2014-10-27 20:28:50 +00:00
def will_paginate(collection_or_options = nil, options = {})
if collection_or_options.is_a? Hash
options, collection_or_options = collection_or_options, nil
end
options.merge!(renderer: BootstrapLinkRenderer) unless options[:renderer]
options.merge!(next_label: I18n.t('datatables.next_label')) unless options[:next_label]
options.merge!(previous_label: I18n.t('datatables.previous_label')) unless options[:previous_label]
super *[collection_or_options, options].compact
end
2014-10-30 14:19:55 +00:00
def angularjs_paginate(options = {})
options.reverse_merge!(
{
per_page: params[:per_page].to_i > 0 ? params[:per_page] : 25,
2014-10-30 14:19:55 +00:00
total_items: 'total_items',
page: 'page',
select_page: "goToPage(page)"
}
)
2014-10-30 14:19:55 +00:00
render 'shared/angularjs_paginate', options
end
end