HTMX Fragment & Router

TsgcHTMX_Fragment / TsgcHTMX_Router — construye payloads de intercambio htmx fuera de banda para actualizaciones DOM dirigidas y enruta patrones de URL a procedimientos manejadores de Delphi.

TsgcHTMX_Fragment & TsgcHTMX_Router

TsgcHTMX_Fragment construye la cadena de intercambio htmx fuera de banda correctamente formada para un id de elemento DOM y una estrategia de intercambio dados. TsgcHTMX_Router despacha las peticiones HTTP entrantes a métodos manejadores de Delphi registrados, eliminando el análisis manual de URLs.

Clases del componente

TsgcHTMX_Fragment, TsgcHTMX_Router

Rol

Intercambios OOB y enrutamiento de peticiones

Lenguajes

Delphi, C++ Builder, .NET

Construir un fragmento, enrutar una petición

Usa TsgcHTMX_Fragment para construir una cadena de intercambio htmx fuera de banda dirigida a un id de elemento DOM específico. Usa TsgcHTMX_Router para despachar las peticiones HTTP entrantes a métodos manejadores registrados sin escribir cadenas de 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);

Propiedades y métodos clave

Los miembros que usarás con más frecuencia.

TsgcHTMX_Fragment.TargetID

id del elemento DOM a reemplazar; corresponde al destino hx-swap-oob de htmx.

TsgcHTMX_Fragment.SwapMethod

Estrategia de intercambio de htmx: innerHTML, outerHTML, beforebegin, afterend, etc.

TsgcHTMX_Fragment.Content

El nuevo HTML a inyectar en el destino; puede ser una cadena simple o la salida de cualquier componente sgcHTML.

TsgcHTMX_Fragment.Fragment

Solo lectura; devuelve la cadena de intercambio OOB completamente formada, lista para pasar a BroadcastFragment o devolver como cuerpo de respuesta HTTP.

TsgcHTMX_Router.AddRoute

Registra una combinación de patrón de URL y método HTTP con un procedimiento o método manejador de Delphi.

TsgcHTMX_Router.HandleRequest

Comprueba la petición entrante contra todas las rutas registradas y llama al manejador coincidente; devuelve False si ninguna ruta coincide.

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 60 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.

¿Listo para empezar?

Descarga la prueba gratuita y empieza a crear interfaces web en Delphi, C++ Builder y .NET.