CommandPalette Component — sgcHTML | eSeGeCe

CommandPalette

TsgcHTMLComponent_CommandPalette — das aus VS Code, Slack und Linear bekannte Ctrl+K / Cmd+K-Overlay, mit Substring-dann-Fuzzy-Filterung, Kategorien und serverseitig weitergeleiteten Aktionen, in Delphi, C++ Builder und .NET.

TsgcHTMLComponent_CommandPalette

Fügen Sie Einträge mit AddItem oder Items.Add hinzu und lesen Sie dann die HTML-Eigenschaft; Ctrl+K (oder Cmd+K) öffnet das Overlay, Tippen filtert es, Enter aktiviert die Auswahl.

Komponentenklasse

TsgcHTMLComponent_CommandPalette

Rendert

Verstecktes Ctrl+K-Overlay + Inline-Skript

Sprachen

Delphi, C++ Builder, .NET

Einträge hinzufügen, Ctrl+K drücken

Einträge werden serverseitig als Markup gerendert, statt clientseitig als JSON zum Filtern an den Browser gesendet zu werden, sodass jede Bezeichnung genau einmal HTML-kodiert wird.

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

Wichtige Eigenschaften & Methoden

Die Member, die Sie am häufigsten verwenden.

Items

Sammlung von TsgcHTMLCommandItem-Einträgen: Caption, Description, Icon, Href, DataAction, Shortcut (nur Anzeige), Category und Enabled.

AddItem

Komfortmethode, die einen Eintrag anhängt und zurückgibt, sodass Sie anschließend noch Icon/Description setzen können.

HotKey / HotKeyCtrl / HotKeyMeta

Ein einzelnes Zeichen plus Modifikatoren; sowohl Ctrl als auch Meta sind standardmäßig True, sodass Ctrl+K und Cmd+K das Overlay von Haus aus öffnen.

MaxResults

Standard 10; 0 zeigt jeden passenden Eintrag auf einmal an.

ShowCategories

Standard True, gruppiert die Liste unter Überschriften in der Reihenfolge ihres ersten Auftretens (nicht alphabetisch).

WSSend / Action

Das Aktivieren eines Befehls löst stets ein sgc:command-DOM-Ereignis aus und sendet über die sgcHTMX-WebSocket-Bridge oder per POST an Action, wenn eine der beiden Eigenschaften gesetzt ist.

Weiter entdecken

Online-HilfeVollständige API-Referenz und Verwendungshandbuch für diese Komponente.
Alle sgcHTML-KomponentenDurchsuchen Sie die vollständige Funktionsmatrix von über 80 Komponenten.
Kostenlose Testversion herunterladenDie 30-Tage-Testversion enthält die 60.HTML-Demoprojekte.
PreiseSingle-, Team- und Site-Lizenzen mit vollständigem Quellcode.
Bestes Preis-Leistungs-Verhältnis: All-AccessAlle eSeGeCe-Produkte, inklusive Premium-Support, ab €1,059 pro Jahr.
All-Access-Preise ansehen

Bereit loszulegen?

Laden Sie die kostenlose Testversion herunter und beginnen Sie, Web-UIs in Delphi, C++ Builder und .NET zu erstellen.