FrappeUIPhx.Components.OptionList (frappe_ui_phx v0.3.1)

Copy Markdown View Source

Base de Combobox e MultiSelect: gatilho + painel (Popover API) com busca e opções que são <input type=radio|checkbox> nativos — então a seleção já é valor de formulário e dispara o phx-change sem nenhum JS de negócio.

O hook colocated só filtra a lista pelo que foi digitado (estado de UI efêmero) e fecha o painel na escolha única. Com on_search, a busca vira evento para o servidor (lista grande/remota) e o filtro local é desligado.

Summary

Functions

Normaliza uma opção em {rótulo, valor} (ambos texto).

Functions

normalize(value)

@spec normalize(String.t() | {term(), term()}) :: {String.t(), String.t()}

Normaliza uma opção em {rótulo, valor} (ambos texto).

option_list(assigns)

Attributes

  • id (:string) (required)
  • name (:string) (required)
  • options (:list) (required) - strings ou {rótulo, valor}.
  • selected (:list) - valores selecionados (strings). Defaults to [].
  • multiple (:boolean) - Defaults to false.
  • placeholder (:string) - Defaults to nil.
  • search_placeholder (:string) - Defaults to nil.
  • empty_text (:string) - Defaults to nil.
  • on_search (:string) - Defaults to nil.
  • errors (:list) - Defaults to [].
  • disabled (:boolean) - Defaults to false.
  • form (:string) - Defaults to nil.
  • required (:boolean) - só vale na escolha única. Defaults to false.
  • class (:any) - Defaults to nil.
  • Global attributes are accepted.