avo-hq/avo

Add option to configure via_per_page on has_many

Open

#2,661 创建于 2024年4月4日

在 GitHub 查看
 (8 评论) (2 反应) (1 负责人)Ruby (308 fork)user submission
ConfigurationEnhancementHelp wanted

仓库指标

Star
 (1,778 star)
PR 合并指标
 (平均合并 1天 6小时) (30 天内合并 67 个 PR)

描述

Feature

Currently, it seems only possible to set a global via_per_page.

It would be useful to have the ability to override that value in the resource itself.

API could be something like:

module Avo
  module Resources
    class CatalogProduct < Avo::BaseResource
      def fields
         field :certifications, as: :has_many, per_page: 72
      end
  end
end

or alternatively, we could default it per resource.

module Avo
  module Resources
    class CatalogCertification < Avo::BaseResource
      self.via_per_page = 72
      self.per_page = 24
      def fields
        # ...
      end
  end
end

This is useful because in most case, we want a smaller pagination window, but we do have a few workflows where it's useful to see a large amount of items for triggering action on a batch of records.

Current workarounds

Not aware of any

Screenshots or screen recordings

Additional context

贡献者指南