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"
endUsage 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
endSee AshSDUI.Resource.Info for the introspection API used by generated views.