AshFormBuilder.FormRenderer (AshFormBuilder v0.2.0)

View Source

Phoenix function components that render form entities.

Structural rendering (entity iteration, nested inputs_for loops, add/remove buttons) lives here. Per-field widget rendering is delegated to the configured theme module via AshFormBuilder.Theme.

Theme configuration

config :ash_form_builder, :theme, MyApp.MyFormTheme

Default: AshFormBuilder.Themes.Default.

Theme Callbacks

The theme module implements:

Summary

Functions

Renders all entities (fields and nested forms) for a form.

Renders a nested relationship form block with add/remove buttons.

Functions

form_fields(assigns)

Renders all entities (fields and nested forms) for a form.

Required assigns:

  • :formPhoenix.HTML.Form
  • :entities — list of Field and NestedForm structs
  • :target — LiveComponent target (@myself)
  • :wrapper_class — CSS class for the wrapper div

Attributes

  • form (Phoenix.HTML.Form) (required)
  • entities (:list) (required)
  • target (:any) - Defaults to nil.
  • wrapper_class (:string) - Defaults to "space-y-4".
  • theme_opts (:list) - Defaults to [].

nested_form(assigns)

Renders a nested relationship form block with add/remove buttons.

Attributes

  • form (Phoenix.HTML.Form) (required)
  • nested (:any) (required)
  • target (:any) - Defaults to nil.
  • theme_opts (:list) - Defaults to [].