HTMX Fragment & Router

TsgcHTMX_Fragment / TsgcHTMX_Router — constroem payloads htmx out-of-band para atualizações direcionadas do DOM e encaminham padrões de URL para procedimentos manipuladores no Delphi.

TsgcHTMX_Fragment & TsgcHTMX_Router

TsgcHTMX_Fragment constrói a string de troca htmx out-of-band corretamente formada para um id de elemento DOM e estratégia de troca específicos. TsgcHTMX_Router despacha as requisições HTTP recebidas para métodos manipuladores registrados no Delphi, eliminando a análise manual de URLs.

Classes do componente

TsgcHTMX_Fragment, TsgcHTMX_Router

Função

Trocas OOB & roteamento de requisições

Linguagens

Delphi, C++ Builder, .NET

Construa um fragmento e encaminhe uma requisição

Use TsgcHTMX_Fragment para construir uma string htmx out-of-band direcionada a um id de elemento DOM específico. Use TsgcHTMX_Router para despachar as requisições HTTP recebidas para métodos manipuladores registrados sem escrever cadeias if/else.

uses
  sgcHTMX_Fragment, sgcHTMX_Router;

// Build and broadcast an OOB fragment:
var
  oFrag: TsgcHTMX_Fragment;
begin
  oFrag := TsgcHTMX_Fragment.Create(nil);
  try
    oFrag.TargetID   := 'kpi-revenue';
    oFrag.SwapMethod := 'innerHTML';
    oFrag.Content    := FormatFloat('#,##0', FRevenue);
    oHTMX.BroadcastFragment(oFrag.Fragment);
  finally
    oFrag.Free;
  end;
end;

// Route requests with TsgcHTMX_Router:
var
  oRouter: TsgcHTMX_Router;
begin
  oRouter := TsgcHTMX_Router.Create(nil);
  oRouter.AddRoute('GET',  '/customers',     HandleCustomers);
  oRouter.AddRoute('POST', '/customer/save', HandleCustomerSave);
  oRouter.HandleRequest(AContext, ARequest, AResponse);
end;
TsgcHTMX_Fragment *oFrag = new TsgcHTMX_Fragment(NULL);
try
{
  oFrag->TargetID   = "kpi-revenue";
  oFrag->SwapMethod = "innerHTML";
  oFrag->Content    = FormatFloat("#,##0", FRevenue);
  oHTMX->BroadcastFragment(oFrag->Fragment);
}
__finally { delete oFrag; }

TsgcHTMX_Router *oRouter = new TsgcHTMX_Router(NULL);
oRouter->AddRoute("GET",  "/customers",     HandleCustomers);
oRouter->AddRoute("POST", "/customer/save", HandleCustomerSave);
oRouter->HandleRequest(AContext, ARequest, AResponse);
var frag = new TsgcHTMX_Fragment();
frag.TargetID   = "kpi-revenue";
frag.SwapMethod = "innerHTML";
frag.Content    = revenue.ToString("N0");
htmxEngine.BroadcastFragment(frag.Fragment);

var router = new TsgcHTMX_Router();
router.AddRoute("GET",  "/customers",     HandleCustomers);
router.AddRoute("POST", "/customer/save", HandleCustomerSave);
router.HandleRequest(context, request, response);

Propriedades e métodos principais

Os membros usados com mais frequência.

TsgcHTMX_Fragment.TargetID

id do elemento DOM a ser substituído; corresponde ao alvo hx-swap-oob do htmx.

TsgcHTMX_Fragment.SwapMethod

Estratégia de troca htmx: innerHTML, outerHTML, beforebegin, afterend, etc.

TsgcHTMX_Fragment.Content

O novo HTML a ser injetado no alvo; pode ser uma string simples ou a saída de qualquer componente sgcHTML.

TsgcHTMX_Fragment.Fragment

Somente leitura; retorna a string de troca OOB totalmente formada, pronta para ser passada a BroadcastFragment ou retornada como corpo de resposta HTTP.

TsgcHTMX_Router.AddRoute

Registra uma combinação de padrão de URL e método HTTP com um procedimento ou método manipulador no Delphi.

TsgcHTMX_Router.HandleRequest

Verifica a requisição recebida em relação a todas as rotas registradas e chama o manipulador correspondente; retorna False se nenhuma rota corresponder.

Continue explorando

Ajuda onlineReferência completa da API e guia de uso para este componente.
Todos os componentes sgcHTMLNavegue pela matriz completa de 60+ componentes.
Baixar versão de avaliação gratuitaA versão de 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.

Pronto para começar?

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