2018-12-05 23:21:45 +05:30
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2017-09-10 17:25:29 +05:30
|
|
|
module PaginationHelper
|
2021-01-03 14:25:43 +05:30
|
|
|
# total_pages will be inferred from the collection if nil. It is ignored if
|
|
|
|
# the collection is a Kaminari::PaginatableWithoutCount
|
|
|
|
def paginate_collection(collection, remote: nil, total_pages: nil)
|
2017-09-10 17:25:29 +05:30
|
|
|
if collection.is_a?(Kaminari::PaginatableWithoutCount)
|
|
|
|
paginate_without_count(collection)
|
|
|
|
elsif collection.respond_to?(:total_pages)
|
2021-01-03 14:25:43 +05:30
|
|
|
paginate_with_count(collection, remote: remote, total_pages: total_pages)
|
2017-09-10 17:25:29 +05:30
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
def paginate_without_count(collection)
|
|
|
|
render(
|
|
|
|
'kaminari/gitlab/without_count',
|
|
|
|
previous_path: path_to_prev_page(collection),
|
|
|
|
next_path: path_to_next_page(collection)
|
|
|
|
)
|
|
|
|
end
|
|
|
|
|
2021-01-03 14:25:43 +05:30
|
|
|
def paginate_with_count(collection, remote: nil, total_pages: nil)
|
|
|
|
paginate(collection, remote: remote, theme: 'gitlab', total_pages: total_pages)
|
2017-09-10 17:25:29 +05:30
|
|
|
end
|
|
|
|
end
|