avo-hq/avo

Add option to configure via_per_page on has_many

オープン

#2,661 opened on 2024/04/04

 (8 件のコメント) (2 件のリアクション) (1 人の担当者)Ruby (308 件のフォーク)user submission
ConfigurationEnhancementHelp wanted

Repository metrics

Stars
 (1,778 個のスター)
PR merge metrics
 (平均マージ 1d 6h) (30d で 67 merged PRs)

説明

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

コントリビューターガイド