24 lines
699 B
Ruby
24 lines
699 B
Ruby
module Collections::ColumnsScoped
|
|
extend ActiveSupport::Concern
|
|
|
|
included do
|
|
include FilterScoped
|
|
end
|
|
|
|
def page_and_filter_for(filter, per_page: nil)
|
|
cards = block_given? ? yield(filter.cards) : filter.cards
|
|
|
|
OpenStruct.new \
|
|
page: GearedPagination::Recordset.new(cards, per_page:).page(1),
|
|
filter: filter
|
|
end
|
|
|
|
def page_and_filter_for_closed_cards
|
|
if @filter.indexed_by.stalled?
|
|
page_and_filter_for(@filter, per_page: CardsController::PAGE_SIZE) { |cards| cards.recently_closed_first }
|
|
else
|
|
page_and_filter_for(@filter.with(indexed_by: "closed"), per_page: CardsController::PAGE_SIZE) { |cards| cards.recently_closed_first }
|
|
end
|
|
end
|
|
end
|