Current section

192 Versions

Jump to

Compare versions

6 files changed
+38 additions
-21 deletions
  @@ -5,6 +5,15 @@ See [Conventional Commits](Https://conventionalcommits.org) for commit guideline
5 5
6 6 <!-- changelog -->
7 7
8 + ## [v2.1.25](https://github.com/ash-project/ash_phoenix/compare/v2.1.24...v2.1.25) (2025-03-27)
9 +
10 +
11 +
12 +
13 + ### Improvements:
14 +
15 + * add error impl for Ash.Error.Action.InvalidArgument (#336)
16 +
8 17 ## [v2.1.24](https://github.com/ash-project/ash_phoenix/compare/v2.1.23...v2.1.24) (2025-03-25)
  @@ -15,7 +15,7 @@ Welcome! This is the package for integrating [Phoenix Framework](https://www.pho
15 15 Add `ash_phoenix` to your list of dependencies in `mix.exs`:
16 16
17 17 ```elixir
18 - {:ash_phoenix, "~> 2.1.24"}
18 + {:ash_phoenix, "~> 2.1.25"}
19 19 ```
20 20
21 21 ## Whats in the box?
  @@ -1,7 +1,7 @@
1 1 {<<"links">>,
2 2 [{<<"GitHub">>,<<"https://github.com/ash-project/ash_phoenix">>}]}.
3 3 {<<"name">>,<<"ash_phoenix">>}.
4 - {<<"version">>,<<"2.1.24">>}.
4 + {<<"version">>,<<"2.1.25">>}.
5 5 {<<"description">>,<<"Utilities for integrating Ash and Phoenix">>}.
6 6 {<<"elixir">>,<<"~> 1.11">>}.
7 7 {<<"files">>,
  @@ -48,6 +48,12 @@ defimpl AshPhoenix.FormData.Error, for: Ash.Error.Query.InvalidArgument do
48 48 end
49 49 end
50 50
51 + defimpl AshPhoenix.FormData.Error, for: Ash.Error.Action.InvalidArgument do
52 + def to_form_error(error) do
53 + {error.field, error.message, error.vars}
54 + end
55 + end
56 +
51 57 defimpl AshPhoenix.FormData.Error, for: Ash.Error.Query.InvalidCalculationArgument do
52 58 def to_form_error(error) do
53 59 {error.field, error.message, error.vars}
  @@ -231,14 +231,14 @@ defmodule AshPhoenix.LiveView do
231 231
232 232 ## Examples
233 233
234 - iex> AshPhoenix.LiveView.page_from_params(%{"offset" => "10", "limit" => "10"}, 20, true)
235 - [count: true, limit: 10, offset: 10]
234 + iex> AshPhoenix.LiveView.page_from_params(%{"offset" => "10", "limit" => "10"}, 20, true)
235 + [count: true, limit: 10, offset: 10]
236 236
237 - iex> AshPhoenix.LiveView.page_from_params(%{"offset" => "10", "limit" => "10"}, 20)
238 - [count: false, limit: 10, offset: 10]
237 + iex> AshPhoenix.LiveView.page_from_params(%{"offset" => "10", "limit" => "10"}, 20)
238 + [count: false, limit: 10, offset: 10]
239 239
240 - iex> AshPhoenix.LiveView.page_from_params(%{"offset" => "10", "count" => "true"}, 20)
241 - [count: true, limit: 20, offset: 10]
240 + iex> AshPhoenix.LiveView.page_from_params(%{"offset" => "10", "count" => "true"}, 20)
241 + [count: true, limit: 20, offset: 10]
242 242 """
243 243 @spec page_from_params(page_params(), pos_integer(), boolean()) :: Keyword.t()
244 244 def page_from_params(params, default_limit, count? \\ false) do
  @@ -299,11 +299,11 @@ defmodule AshPhoenix.LiveView do
299 299
300 300 ### Examples
301 301
302 - iex> AshPhoenix.LiveView.prev_page?(%Ash.Page.Offset{offset: 10, limit: 10})
303 - true
302 + iex> AshPhoenix.LiveView.prev_page?(%Ash.Page.Offset{offset: 10, limit: 10})
303 + true
304 304
305 - iex> AshPhoenix.LiveView.prev_page?(%{offset: 0, limit: 10})
306 - false
305 + iex> AshPhoenix.LiveView.prev_page?(%{offset: 0, limit: 10})
306 + false
307 307 """
308 308 @spec prev_page?(Ash.Page.page()) :: boolean()
309 309 def prev_page?(page) do
  @@ -315,11 +315,11 @@ defmodule AshPhoenix.LiveView do
315 315
316 316 ### Examples
317 317
318 - iex> AshPhoenix.LiveView.next_page?(%Ash.Page.Offset{offset: 10, limit: 10, more?: true})
319 - true
318 + iex> AshPhoenix.LiveView.next_page?(%Ash.Page.Offset{offset: 10, limit: 10, more?: true})
319 + true
320 320
321 - iex> AshPhoenix.LiveView.next_page?(%{offset: 0, limit: 10, more?: false})
322 - false
321 + iex> AshPhoenix.LiveView.next_page?(%{offset: 0, limit: 10, more?: false})
322 + false
323 323 """
324 324 @spec next_page?(Ash.Page.page()) :: boolean()
325 325 def next_page?(page) do
  @@ -330,9 +330,11 @@ defmodule AshPhoenix.LiveView do
330 330 Converts Ash.Page.Offset to query link params
331 331
332 332 Options:
333 - "first" - first page
334 - "prev" - prev page
335 - "next" - next page
333 +
334 + * "first" - first page
335 + * "prev" - prev page
336 + * "next" - next page
337 + * "last" - last page (if the page is loaded with `count: true`)
336 338
337 339 Returns `:invalid` or a list of query link params.
338 340 """
  @@ -442,7 +444,7 @@ defmodule AshPhoenix.LiveView do
442 444 on the payload like so:
443 445
444 446 ```
445 - @impl true
447 + @impl true
446 448 def handle_info(%{topic: topic, payload: %Ash.Notifier.Notification{}}, socket) do
447 449 {:noreply, handle_live(socket, topic, [:query1, :query2, :query3])}
448 450 end
Loading more files…