# ash_phoenix v2.3.22 - Table of Contents

Utilities for integrating Ash and Phoenix

## Pages

- [Home](readme.md)

- Tutorials
  - [Get Started with Ash and Phoenix](getting-started-with-ash-and-phoenix.md)

- Topics
  - [Union Forms](union-forms.md)
  - [Nested Forms](nested-forms.md)
  - [Forms For Relationships Between Existing Records](forms-for-relationships-between-existing-records.md)

- About AshPhoenix
  - [Change Log](changelog.md)

- Reference
  - [AshPhoenix](dsl-ashphoenix.md)

## Modules

- [AshPhoenix](AshPhoenix.md): An extension to add form builders to the code interface.
- [AshPhoenix.AshEnum](AshPhoenix.AshEnum.md): Utilities for using [`Ash.Type.Enum`](https://hexdocs.pm/ash/Ash.Type.Enum.html)
with Phoenix.

- [AshPhoenix.FormDefinition](AshPhoenix.FormDefinition.md): A customized form code interface
- [AshPhoenix.Inertia.Error](AshPhoenix.Inertia.Error.md): Provides a mapping from an Ash Error type to a plain map that can be used with the `Inertia.Controller.assign_errors/2` function.
- [AshPhoenix.Info](AshPhoenix.Info.md): Introspection helpers for the `AshPhoenix` DSL extension
- [AshPhoenix.Plug.CheckCodegenStatus](AshPhoenix.Plug.CheckCodegenStatus.md): A plug that checks if there are pending codegen tasks for your application.

- Phoenix Helpers
  - [AshPhoenix.LiveView](AshPhoenix.LiveView.md): Utilities for keeping Ash query results up to date in a LiveView.

  - [AshPhoenix.LiveView.SubdomainHook](AshPhoenix.LiveView.SubdomainHook.md): This is a basic hook that loads the current tenant assign from a given
value set on subdomain.
  - [AshPhoenix.SubdomainPlug](AshPhoenix.SubdomainPlug.md): This is a basic plug that loads the current tenant assign from a given
value set on subdomain.

- Forms
  - [AshPhoenix.Form](AshPhoenix.Form.md): A module to allow you to fluidly use resources with Phoenix forms.
  - [AshPhoenix.Form.Auto](AshPhoenix.Form.Auto.md): A tool to automatically generate available nested forms based on a resource and action.
  - [AshPhoenix.Form.WrappedValue](AshPhoenix.Form.WrappedValue.md): A sentinal value used when editing a union that has non-map values
  - [AshPhoenix.FormData.Error](AshPhoenix.FormData.Error.md): A protocol for allowing errors to be rendered into a form.

- FilterForm
  - [AshPhoenix.FilterForm](AshPhoenix.FilterForm.md): A module to help you create complex forms that generate Ash filters.
  - [AshPhoenix.FilterForm.Arguments](AshPhoenix.FilterForm.Arguments.md): Represents the arguments to a calculation being filtered on
  - [AshPhoenix.FilterForm.Predicate](AshPhoenix.FilterForm.Predicate.md): Represents an individual predicate appearing in a filter form.

- Errors
  - [AshPhoenix.Form.InvalidPath](AshPhoenix.Form.InvalidPath.md): Raised when an invalid path is used to find, update or remove a form
  - [AshPhoenix.Form.NoActionConfigured](AshPhoenix.Form.NoActionConfigured.md): Raised when a form action should happen but no action of the appropriate type has been configured
  - [AshPhoenix.Form.NoDataLoaded](AshPhoenix.Form.NoDataLoaded.md): Raised when a data needed to be used but the required data was not loaded
  - [AshPhoenix.Form.NoFormConfigured](AshPhoenix.Form.NoFormConfigured.md): Raised when attempting to refer to a form but no nested form with that name was configured.
  - [AshPhoenix.Form.NoResourceConfigured](AshPhoenix.Form.NoResourceConfigured.md): Raised when a form needed to be constructed but the resource for that form could not be determined

## Mix Tasks

- [mix ash_phoenix.install](Mix.Tasks.AshPhoenix.Install.md): Installs AshPhoenix into a project. Should be called with `mix igniter.install ash_phoenix`

- Generators
  - [mix ash_phoenix.gen.html](Mix.Tasks.AshPhoenix.Gen.Html.md): This task renders .ex and .heex templates and copies them to specified directories.
  - [mix ash_phoenix.gen.live](Mix.Tasks.AshPhoenix.Gen.Live.md): Generates liveviews for a given domain and resource.

