Current section

Files

Jump to
ash_pyro lib ash_pyro helpers.ex
Raw

lib/ash_pyro/helpers.ex

defmodule AshPyro.Helpers do
@moduledoc """
Shared helpers used to implement your own AshPyro components.
"""
@doc """
AshPyro DSL allows component classes to be functions accepting `assigns`. This helper function simplifies handling that case in components:
```elixir
<:col
:for={col <- display_columns(@config.columns, @display)}
class={ash_class(col.class, col)}>
```
"""
def ash_class(fun, assigns) when is_function(fun, 1), do: fun.(assigns)
def ash_class(class, _assigns), do: class
end