improvement: when returning a page, choose keyset if before or after was supplied

This allows for better pagination experiences because you clearly expect
an `Ash.Page.Keyset` if you are using `before/after`
This commit is contained in:
Zach Daniel 2022-10-21 08:24:51 -04:00
parent d439ac9cbc
commit 87877e7f87

View file

@ -601,6 +601,9 @@ defmodule Ash.Actions.Read do
end
else
cond do
action.pagination.keyset? && (page_opts[:after] || page_opts[:before]) ->
Ash.Page.Keyset.new(data, count, sort, original_query, more?, opts)
action.pagination.offset? && action.pagination.keyset? ->
Ash.Page.Offset.new(data, count, original_query, more?, opts)