Componente CommandPalette — sgcHTML | eSeGeCe

CommandPalette

TsgcHTMLComponent_CommandPalette — el lanzador superpuesto Ctrl+K / Cmd+K, familiar de VS Code, Slack y Linear, con filtrado por subcadena y luego difuso, categorías y acciones enrutadas al servidor, en Delphi, C++ Builder y .NET.

TsgcHTMLComponent_CommandPalette

Añade entradas con AddItem o Items.Add, y luego lee la propiedad HTML; Ctrl+K (o Cmd+K) abre la superposición, escribir la filtra, y Enter activa la selección.

Clase del componente

TsgcHTMLComponent_CommandPalette

Genera

Superposición oculta Ctrl+K + script en línea

Lenguajes

Delphi, C++ Builder, .NET

Añade entradas, pulsa Ctrl+K

Las entradas se renderizan como marcado en el servidor, no se envían al navegador como JSON para filtrarlas en el cliente, de modo que cada título se codifica en HTML exactamente una 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

Propiedades y métodos clave

Los miembros que más vas a usar.

Items

Colección de entradas TsgcHTMLCommandItem: Caption, Description, Icon, Href, DataAction, Shortcut (solo visual), Category y Enabled.

AddItem

Método de conveniencia que añade una entrada y la devuelve, para que aún puedas definir Icon/Description después.

HotKey / HotKeyCtrl / HotKeyMeta

Un solo carácter más modificadores; tanto Ctrl como Meta son True por defecto, así que tanto Ctrl+K como Cmd+K la abren sin configuración adicional.

MaxResults

Por defecto 10; 0 muestra todas las entradas coincidentes a la vez.

ShowCategories

Por defecto True, agrupa la lista bajo encabezados en el orden de primera aparición (no alfabético).

WSSend / Action

Activar un comando siempre despacha un evento DOM sgc:command, y se envía a través del puente WebSocket sgcHTMX o mediante POST a Action cuando se define cualquiera de los dos.

Sigue explorando

Ayuda en líneaReferencia completa de la API y guía de uso para este componente.
Todos los componentes de sgcHTMLExplora la matriz completa de más de 80 componentes.
Descargar prueba gratuitaLa prueba de 30 días incluye los proyectos de demostración 60.HTML.
PreciosLicencias Single, Team y Site con código fuente completo.
La mejor opción: All-AccessTodos los productos de eSeGeCe, con Premium Support incluido, desde €1,059 al año.
Ver precios de All-Access

¿Listo para empezar?

Descarga la prueba gratuita y añade una paleta de comandos Ctrl+K a tu aplicación web en Delphi, C++ Builder o .NET.