Generic intermediate representation for an Ash-backed UI view.
A view resolves resource metadata, query state, bindings, and user intents into a compact runtime model.
Summary
Functions
Resolves a resource or standalone UI module into a generic view model.
Renders a view through the existing recipe system.
Renders a view through the existing recipe system or raises.
Renders a view to a renderable tree.
Types
@type mode() :: :index | :show | :new | :edit | atom()
@type t() :: %AshSDUI.View{ action: atom() | nil, assigns: map(), bindings: [AshSDUI.Binding.t()], context: AshSDUI.Context.t(), fields: [AshSDUI.View.Field.t()], intents: [AshSDUI.Intent.t()], mode: mode(), name: atom(), nested_forms: [AshSDUI.View.NestedForm.t()], queries: [AshSDUI.Query.t()], recipe: atom(), refresh: term(), relationships: [term()], resource: module(), state: AshSDUI.View.State.t() | nil, ui: module(), workflow: term() }
Functions
Resolves a resource or standalone UI module into a generic view model.
This is the primary entry point for generated UIs.
@spec to_layout( t(), keyword() ) :: {:ok, AshSDUI.Layout.Node.t()} | {:error, term()}
Renders a view through the existing recipe system.
@spec to_layout!( t(), keyword() ) :: AshSDUI.Layout.Node.t()
Renders a view through the existing recipe system or raises.
Renders a view to a renderable tree.