AshSDUI.Layout.Builder (ash_sdui v0.2.0)

Copy Markdown View Source

Small helpers for building and registering code-defined layouts.

The goal is to keep layout authoring declarative without hand-building %AshSDUI.Layout.Node{} structs for every leaf.

Summary

Functions

Builds a generic layout node.

Registers a layout and returns its name.

Builds a node from an annotated resource or standalone UI module.

Builds one node per record using the resource's default component.

Converts a layout node into a renderable %AshSDUI.Renderer.TreeNode{}.

Functions

node(component, opts \\ [])

Builds a generic layout node.

register(name, root)

Registers a layout and returns its name.

resource(resource_or_ui, opts \\ [])

Builds a node from an annotated resource or standalone UI module.

Uses the resource's default_component unless :component is provided.

resources(resource_or_ui, records, opts \\ [])

Builds one node per record using the resource's default component.

to_tree(node)

Converts a layout node into a renderable %AshSDUI.Renderer.TreeNode{}.