Popover
TsgcHTMLComponent_Popover — adjunta un popover de Bootstrap 5 con título y cuerpo a cualquier elemento disparador, con colocación, activación y comportamiento de cierre configurables, en Delphi, C++ Builder y .NET.
TsgcHTMLComponent_Popover — adjunta un popover de Bootstrap 5 con título y cuerpo a cualquier elemento disparador, con colocación, activación y comportamiento de cierre configurables, en Delphi, C++ Builder y .NET.
Un componente de popover que envuelve un elemento disparador con los atributos de datos popover de Bootstrap 5 y un script de auto-inicialización. Define el contenido, el título y el cuerpo y luego lee la propiedad HTML — o llama al método estático Build para hacerlo en una sola línea.
TsgcHTMLComponent_Popover
Marcado popover de Bootstrap 5
Delphi, C++ Builder, .NET
Llama a BuildButton(text, title, body, style, placement) para un botón con popover, o crea el componente, define Placement y Trigger y luego lee HTML.
uses
sgcHTML_Enums, sgcHTML_Component_Popover;
// One-line static helper (primary form):
var
vHTML: string;
begin
vHTML := TsgcHTMLComponent_Popover.BuildButton('More info',
'Pricing', 'All licenses include full source code.',
bsPrimary, plTop);
WebModule.Response := vHTML;
end;
// Or configure it fully:
var
oPop: TsgcHTMLComponent_Popover;
begin
oPop := TsgcHTMLComponent_Popover.Create(nil);
try
oPop.Content := '<a href="#" class="btn btn-info">Details</a>';
oPop.Title := 'Shipping';
oPop.Body := 'Free delivery on orders over 50.';
oPop.Placement := plRight;
oPop.Trigger := ptHover;
oPop.Dismissible := True;
WebModule.Response := oPop.HTML; // trigger + popover init script
finally
oPop.Free;
end;
end;
// includes: sgcHTML_Enums.hpp, sgcHTML_Component_Popover.hpp
// One-line static helper (primary form):
String html = TsgcHTMLComponent_Popover::BuildButton("More info",
"Pricing", "All licenses include full source code.",
bsPrimary, plTop);
// Or configure it fully:
TsgcHTMLComponent_Popover *oPop = new TsgcHTMLComponent_Popover(NULL);
try
{
oPop->Content = "<a href=\"#\" class=\"btn btn-info\">Details</a>";
oPop->Title = "Shipping";
oPop->Body = "Free delivery on orders over 50.";
oPop->Placement = plRight;
oPop->Trigger = ptHover;
oPop->Dismissible = true;
String html = oPop->HTML; // trigger + popover init script
}
__finally
{
delete oPop;
}
using esegece.sgcWebSockets;
// One-line static helper (primary form):
string html = TsgcHTMLComponent_Popover.BuildButton("More info",
"Pricing", "All licenses include full source code.",
TsgcHTMLButtonStyle.bsPrimary, TsgcHTMLPlacement.plTop);
// Or configure it fully:
var pop = new TsgcHTMLComponent_Popover();
pop.Content = "<a href=\"#\" class=\"btn btn-info\">Details</a>";
pop.Title = "Shipping";
pop.Body = "Free delivery on orders over 50.";
pop.Placement = TsgcHTMLPlacement.plRight;
pop.Trigger = TsgcHTMLPopoverTrigger.ptHover;
pop.Dismissible = true;
string html = pop.HTML; // trigger + popover init script
Los miembros que más vas a usar.
Content es el HTML interno del elemento disparador; cuando está vacío, se usa en su lugar un botón con estilo construido a partir de Title y ContentStyle.
Title define el encabezado del popover y Body su texto (el data-bs-content de Bootstrap).
Placement posiciona el popover con plTop, plBottom, plLeft o plRight mediante TsgcHTMLPlacement.
Trigger selecciona ptClick, ptHover, ptFocus o ptManual; Dismissible lo cierra con el siguiente clic fuera.
AutoInit añade un script que llama a new bootstrap.Popover para cada popover; sobrescribe el script mediante InitScript.
Build(content, title, body, placement, trigger) y BuildButton(text, title, body, style, placement) devuelven marcado listo; HTML emite el disparador más su script de inicialización.