MishkaGervaz.Form.Dsl.DomainDefaults (MishkaGervaz v0.0.1-alpha.3)

Copy Markdown View Source

Domain-level form defaults inherited by every resource that uses MishkaGervaz.Resource under this domain.

Used by the MishkaGervaz.Domain extension. Resource-level configuration takes priority on a per-key basis; missing keys fall back to the domain defaults. The submit entity is the same one exposed at the resource level (MishkaGervaz.Form.Dsl.Submit) — both layers accept identical syntax, and submit inheritance is per-button, not whole-block.

Example

defmodule MyApp.Domain do
  use Ash.Domain, extensions: [MishkaGervaz.Domain]

  mishka_gervaz do
    form do
      actor_key :current_user
      master_check fn user -> user && user.role == :admin end
      ui_adapter MishkaGervaz.UIAdapters.Tailwind
      template MishkaGervaz.Form.Templates.Standard
      features :all

      actions do
        create {:master_create, :create}
        update {:master_update, :update}
        read   {:master_get, :read}
      end

      layout do
        responsive true
      end

      submit do
        create label: "Save"
        update label: "Save Changes"
        cancel label: "Cancel"
        position :bottom
      end
    end
  end
end

Sub-sections and entity

  • actions — same shape as the resource-level source.actions.
  • theme — default theme classes inherited by every form.
  • layout — defaults for navigation, persistence, columns, responsive.
  • submit — domain-wide default buttons. Resource buttons override per-button, not as a whole block.

Read accessors live on MishkaGervaz.Domain.Info.Form.

Summary

Functions

section()