FrappeUIPhx.Field (frappe_ui_phx v0.3.1)

Copy Markdown View Source

Costura entre Phoenix.HTML.FormField (changeset/Ecto) e os controles.

assign_field/1 deriva id, name, value e errors do field quando presente; sem field, mantém name/value/id avulsos. Erros só aparecem depois que o campo foi usado (Phoenix.Component.used_input?/1), igual ao core_components gerado pelo Phoenix.

Summary

Functions

Deriva id, name, value e errors de um Phoenix.HTML.FormField (field).

Mensagens de erro já traduzidas de um FormField, só se o campo foi usado.

Garante um id DOM válido (de id ou do field) em componentes que o usam em hooks, popovers ou seletores. Falha alto, nomeando o componente.

Functions

assign_field(assigns, opts \\ [])

@spec assign_field(map(), keyword()) :: map()

Deriva id, name, value e errors de um Phoenix.HTML.FormField (field).

Precedência quando há field (valor explícito do chamador vence o do campo, exceto onde indicado):

atributofonte
idid explícito, senão field.id
namesempre o do campo (com [] se multiple: true)
valuevalue explícito, senão field.value
errorssempre os do campo, traduzidos, só se o campo foi usado (used_input?/1)

Sem field, name/value/errors ficam como o chamador passou (ou nil/[]). Opções: multiple: true acrescenta [] ao name (MultiSelect, Select múltiplo).

errors(field)

@spec errors(Phoenix.HTML.FormField.t()) :: [String.t()]

Mensagens de erro já traduzidas de um FormField, só se o campo foi usado.

require_id!(assigns, component)

@spec require_id!(map(), String.t()) :: map()

Garante um id DOM válido (de id ou do field) em componentes que o usam em hooks, popovers ou seletores. Falha alto, nomeando o componente.