Submit / cancel button block — the singleton entity that owns the
three button sub-entities (create, update, cancel), the ui
styling sub-entity, and the position field (:top, :bottom, or
:both).
When no submit block is declared on a resource, all three buttons
fall back to the domain defaults (see
MishkaGervaz.Form.Dsl.DomainDefaults). When a submit block exists
but defines no buttons, no buttons render — declaring an empty submit
is a deliberate "render nothing" signal. Partial blocks inherit
per-button: missing buttons fall back to the domain, present ones
override.
Example
submit do
create label: "Create Post"
update label: "Save Post"
cancel label: "Discard"
position :bottom
ui do
submit_class "bg-blue-600 text-white"
cancel_class "bg-gray-200"
wrapper_class "flex gap-4"
end
endSee MishkaGervaz.Form.Dsl.Submit for the DSL entity declaration,
MishkaGervaz.Form.Entities.Submit.Button for per-button options,
and MishkaGervaz.Form.Entities.Submit.Ui for shared button styling.
Summary
Functions
Transform the submit after DSL compilation.
Types
@type t() :: %MishkaGervaz.Form.Entities.Submit{ __spark_metadata__: map() | nil, cancel: MishkaGervaz.Form.Entities.Submit.Button.t() | nil, create: MishkaGervaz.Form.Entities.Submit.Button.t() | nil, position: :top | :bottom | :both, ui: MishkaGervaz.Form.Entities.Submit.Ui.t() | nil, update: MishkaGervaz.Form.Entities.Submit.Button.t() | nil }