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 — 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.
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.
TsgcHTMLComponent_CommandPalette
Superposición oculta Ctrl+K + script en línea
Delphi, C++ Builder, .NET
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
Los miembros que más vas a usar.
Colección de entradas TsgcHTMLCommandItem: Caption, Description, Icon, Href, DataAction, Shortcut (solo visual), Category y Enabled.
Método de conveniencia que añade una entrada y la devuelve, para que aún puedas definir Icon/Description después.
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.
Por defecto 10; 0 muestra todas las entradas coincidentes a la vez.
Por defecto True, agrupa la lista bajo encabezados en el orden de primera aparición (no alfabético).
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.
| Ayuda en líneaReferencia completa de la API y guía de uso para este componente. | Abrir | |
| Todos los componentes de sgcHTMLExplora la matriz completa de más de 80 componentes. | Abrir | |
| Descargar prueba gratuitaLa prueba de 30 días incluye los proyectos de demostración 60.HTML. | Abrir | |
| PreciosLicencias Single, Team y Site con código fuente completo. | Abrir |