AshSDUI.Resource (ash_sdui v0.2.0)

Copy Markdown View Source

Spark DSL extension for annotating Ash resources with compact UI metadata.

Usage as an Ash extension

use Ash.Resource, extensions: [AshSDUI.Resource]

sdui do
  default_component "Player.Card@v1"
  view :index, recipe: :collection, read_action: :read
  ui_intent :create, style: :primary, target: {:navigate, "/players/new"}
  ui_field :name, label: "Player Name"
end

Usage as a standalone UI metadata module

defmodule MyApp.UI.Resources.PlayerUI do
  use AshSDUI.Resource.Standalone

  sdui do
    for_resource MyApp.Player
    default_component "Player.Card@v1"
    view :index, recipe: :collection, read_action: :read
    ui_intent :create, style: :primary, target: {:navigate, "/players/new"}
    ui_field :name, label: "Player Name"
  end
end

See AshSDUI.Resource.Info for the introspection API used by generated views.

Summary

Functions

sdui(body)

(macro)