Componente CommandPalette — sgcHTML | eSeGeCe

CommandPalette

TsgcHTMLComponent_CommandPalette — o overlay lançador Ctrl+K / Cmd+K familiar do VS Code, Slack e Linear, com filtragem por substring seguida de fuzzy, categorias e ações roteadas pelo servidor, em Delphi, C++ Builder e .NET.

TsgcHTMLComponent_CommandPalette

Adicione entradas com AddItem ou Items.Add, depois leia a propriedade HTML; Ctrl+K (ou Cmd+K) abre o overlay, digitar filtra a lista, Enter ativa a seleção.

Classe do componente

TsgcHTMLComponent_CommandPalette

Renderiza

Overlay oculto Ctrl+K + script inline

Linguagens

Delphi, C++ Builder, .NET

Adicione entradas, pressione Ctrl+K

As entradas são renderizadas como markup no servidor, não enviadas ao navegador como JSON para filtrar no cliente, de modo que cada legenda é codificada em HTML exatamente uma vez.

uses
  sgcHTML_Component_CommandPalette;

var
  oPalette: TsgcHTMLComponent_CommandPalette;
begin
  oPalette := TsgcHTMLComponent_CommandPalette.Create(nil);
  try
    oPalette.PaletteID := 'app_commands';

    oPalette.AddItem('New Invoice', '/invoices/new', 'invoice:new', 'Create', 'Ctrl+N');
    oPalette.AddItem('Customer Search', '/customers', '', 'Navigate');
    with oPalette.Items.Add do
    begin
      Caption := 'Export Report';
      Icon := 'bi bi-download';
      DataAction := 'report:export';
      Category := 'Actions';
    end;

    WebModule.Response := oPalette.HTML;   // hidden overlay + inline script
  finally
    oPalette.Free;
  end;
end;
// includes: sgcHTML_Component_CommandPalette.hpp

TsgcHTMLComponent_CommandPalette *oPalette = new TsgcHTMLComponent_CommandPalette(NULL);
try
{
  oPalette->PaletteID = "app_commands";

  oPalette->AddItem("New Invoice", "/invoices/new", "invoice:new", "Create", "Ctrl+N");

  TsgcHTMLCommandItem *oItem = oPalette->Items->Add();
  oItem->Caption = "Export Report";
  oItem->Icon = "bi bi-download";
  oItem->DataAction = "report:export";
  oItem->Category = "Actions";

  String html = oPalette->HTML;   // hidden overlay + inline script
}
__finally
{
  delete oPalette;
}
using esegece.sgcWebSockets;

var palette = new TsgcHTMLComponent_CommandPalette();
palette.PaletteID = "app_commands";

palette.AddItem("New Invoice", "/invoices/new", "invoice:new", "Create", "Ctrl+N");

var item = palette.Items.Add();
item.Caption = "Export Report";
item.Icon = "bi bi-download";
item.DataAction = "report:export";
item.Category = "Actions";

string html = palette.HTML;   // hidden overlay + inline script

Principais propriedades & métodos

Os membros que você usa com mais frequência.

Items

Coleção de entradas TsgcHTMLCommandItem: Caption, Description, Icon, Href, DataAction, Shortcut (somente exibição), Category e Enabled.

AddItem

Método de conveniência que adiciona uma entrada e a retorna, para que você ainda possa definir Icon/Description depois.

HotKey / HotKeyCtrl / HotKeyMeta

Um único caractere mais modificadores; tanto Ctrl quanto Meta são True por padrão, então Ctrl+K e Cmd+K já abrem o palette de fábrica.

MaxResults

Padrão 10; 0 exibe todas as entradas correspondentes de uma vez.

ShowCategories

Padrão True, agrupa a lista sob títulos na ordem de primeira aparição (não alfabética).

WSSend / Action

Ativar um comando sempre dispara um evento DOM sgc:command, e envia pela ponte WebSocket sgcHTMX ou faz POST para Action quando qualquer um dos dois é definido.

Continue explorando

Ajuda onlineReferência completa da API e guia de uso para este componente.
Todos os Componentes sgcHTMLExplore a matriz completa de recursos com mais de 80 componentes.
Baixar Versão de Avaliação GratuitaA avaliação de 30 dias inclui os projetos de demonstração 60.HTML.
PreçosLicenças Single, Team e Site com código-fonte completo.
Melhor custo-benefício: All-AccessTodos os produtos da eSeGeCe, com Suporte Premium incluído, a partir de €1,059/ano.
Ver preços do All-Access

Pronto para Começar?

Baixe a versão de avaliação gratuita e comece a construir UIs web em Delphi, C++ Builder e .NET.