MishkaGervaz.Form.Web.State.Presentation (MishkaGervaz v0.0.1-alpha.3)

Copy Markdown View Source

Resolves UI adapter, template, and presentation options for forms.

Overridable Functions

  • resolve_ui_adapter/1 - Resolve UI adapter module from config
  • get_ui_adapter_opts/1 - Get UI adapter options
  • resolve_template/1 - Resolve template module from config
  • get_theme/1 - Get theme configuration

User Override

defmodule MyApp.Form.Presentation do
  use MishkaGervaz.Form.Web.State.Presentation

  def resolve_ui_adapter(config) do
    case Map.get(config, :theme) do
      :dark -> MyApp.DarkFormUIAdapter
      _ -> super(config)
    end
  end
end

See MishkaGervaz.Form.Web.State, MishkaGervaz.Form.Behaviours.Template, MishkaGervaz.Behaviours.UIAdapter, and the sibling builders FieldBuilder, GroupBuilder, StepBuilder, Access.