FrappeUIPhx.Components.CommandPalette (frappe_ui_phx v0.3.1)

Copy Markdown View Source

Paleta de comandos (Ctrl/⌘ + K): busca, grupos e navegação por teclado. Abre como o Dialog (mesmo hook nativo: foco preso, Esc, backdrop) e o hook próprio só filtra a lista, move a seleção com ↑/↓ e aciona o item com Enter. O que cada item faz é decidido pelo servidor (click) ou por navegação.

Experimental.

Summary

Functions

Agrupa os itens preservando a ordem do primeiro aparecimento: [{grupo | nil, [item]}].

Texto minúsculo pesquisável do item (rótulo, grupo e palavras-chave).

Functions

command_palette(assigns)

Attributes

  • id (:string) (required)
  • placeholder (:string) - Defaults to nil.
  • empty_text (:string) - Defaults to nil.
  • shortcut (:boolean) - liga Ctrl/⌘ + K para abrir. Defaults to true.
  • class (:any) - Defaults to nil.
  • Global attributes are accepted.

Slots

  • item (required) - Accepts attributes:
    • label (:string) (required)
    • group (:string)
    • icon (:string)
    • keywords (:string)
    • shortcut (:list)
    • click (:any)
    • navigate (:string)
    • patch (:string)
    • href (:string)

group_items(items)

@spec group_items([map()]) :: [{String.t() | nil, [map()]}]

Agrupa os itens preservando a ordem do primeiro aparecimento: [{grupo | nil, [item]}].

search_text(item)

@spec search_text(map()) :: String.t()

Texto minúsculo pesquisável do item (rótulo, grupo e palavras-chave).