2013-07-05 17:08:09 +01:00
|
|
|
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}
|
2013-07-05 17:08:09 +01:00
|
|
|
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!(
|
|
|
|
{
|
2014-11-13 00:17:22 +00:00
|
|
|
per_page: params[:per_page].to_i > 0 ? params[:per_page] : 20,
|
2014-10-30 14:19:55 +00:00
|
|
|
total_items: 'total_items',
|
|
|
|
page: 'page',
|
|
|
|
select_page: "goToPage(page)"
|
|
|
|
}
|
|
|
|
)
|
2013-08-05 13:34:01 +01:00
|
|
|
|
2014-10-30 14:19:55 +00:00
|
|
|
render 'shared/angularjs_paginate', options
|
2014-06-24 10:03:08 +01:00
|
|
|
end
|
2013-07-05 17:08:09 +01:00
|
|
|
end
|