Packages
ash_phoenix
2.1.25
2.3.24
2.3.23
2.3.22
2.3.21
2.3.20
2.3.19
2.3.18
2.3.17
2.3.16
2.3.15
2.3.14
2.3.13
2.3.12
2.3.11
2.3.10
2.3.9
2.3.8
2.3.7
2.3.6
2.3.5
2.3.4
2.3.3
2.3.2
2.3.1
2.3.0
2.2.0
2.1.26
2.1.25
2.1.24
2.1.23
2.1.22
2.1.21
2.1.20
2.1.19
2.1.18
2.1.17
2.1.16
2.1.15
2.1.14
2.1.13
2.1.12
2.1.11
2.1.10
2.1.9
2.1.8
2.1.7
2.1.6
2.1.5
2.1.4
2.1.3
2.1.2
2.1.1
2.1.0
2.0.4
2.0.3
2.0.2
2.0.1
2.0.0
2.0.0-rc.8
2.0.0-rc.7
2.0.0-rc.6
2.0.0-rc.5
2.0.0-rc.4
2.0.0-rc.3
2.0.0-rc.2
2.0.0-rc.1
2.0.0-rc.0
1.3.7
1.3.6
1.3.5
1.3.4
1.3.3
1.3.2
1.3.1
1.3.0
1.2.26
1.2.25
1.2.24
1.2.23
1.2.22
1.2.21
1.2.20
1.2.19
1.2.18
1.2.17
1.2.16
1.2.15
1.2.14
1.2.13
1.2.12
1.2.11
1.2.10
1.2.9
1.2.8
1.2.7
1.2.6
1.2.5
1.2.4
1.2.3
1.2.2
1.2.1
1.2.0
1.1.2
1.1.1
1.1.0
1.1.0-rc.3
1.1.0-rc.2
1.1.0-rc.1
1.1.0-rc.0
1.0.0-rc.1
1.0.0-rc.0
1.0.0-pre.2
1.0.0-pre.1
1.0.0-pre.0
0.7.7
0.7.6-rc.0
0.7.5
0.7.4
0.7.3
0.7.2-rc.2
0.7.2-rc.1
0.7.2-rc.0
0.7.1
0.7.0
0.6.0-rc.7
0.6.0-rc.6
0.6.0-rc.5
0.6.0-rc.4
0.6.0-rc.3
0.6.0-rc.2
0.6.0-rc.1
0.6.0-rc.0
0.5.19-rc.2
0.5.19-rc.1
0.5.19-rc.0
0.5.18
0.5.17
0.5.16
0.5.15
0.5.14
0.5.13
0.5.12
0.5.11
0.5.10
0.5.9
0.5.8
0.5.7
0.5.6
0.5.5
0.5.4
0.5.3
0.5.2
0.5.1
0.5.0
0.4.24
0.4.23
0.4.23-rc.1
0.4.23-rc.0
0.4.22-rc2
0.4.22-rc1
0.4.21
0.4.20
0.4.19
0.4.18
0.4.17
0.4.16
0.4.15
0.4.14
0.4.13
0.4.12
0.4.11
0.4.10
0.4.9
0.4.8
0.4.7
0.4.6
0.4.5
0.4.4
0.4.3
0.4.2
0.4.1
0.4.0
0.3.2
0.3.1
0.3.0
0.2.3
0.2.2
0.2.1
0.2.0
0.1.2
0.1.1
0.1.0
Utilities for integrating Ash and Phoenix
Current section
192 Versions
Jump to
Current section
192 Versions
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…