Composant ActivityFeed — sgcHTML | eSeGeCe

ActivityFeed

TsgcHTMLComponent_ActivityFeed — affichez un flux d'activité en direct, du plus récent au plus ancien, avec horodatages relatifs et envoi WebSocket hors-bande, en Delphi, C++ Builder et .NET.

TsgcHTMLComponent_ActivityFeed

Ajoutez des activités avec AddActivity, lisez HTML pour le premier affichage, puis poussez de nouveaux éléments en direct avec un fragment WebSocket.

Classe du composant

TsgcHTMLComponent_ActivityFeed

Produit

Une liste Bootstrap 5 + CSS dédié + script de temps relatif en direct

Langages

Delphi, C++ Builder, .NET

Ajoutez des activités, affichez-le, poussez-en de nouvelles en direct

Appelez AddActivity pour chaque entrée, lisez HTML pour la page initiale, puis poussez un nouvel élément en tant que fragment hors-bande via WebSockets avec GetLastItemFragmentHTML.

uses
  sgcHTML_Enums, sgcHTML_Component_ActivityFeed;

var
  oFeed: TsgcHTMLComponent_ActivityFeed;
begin
  oFeed := TsgcHTMLComponent_ActivityFeed.Create(nil);
  try
    oFeed.FeedID := 'timeline';
    oFeed.Title := 'Recent Activity';
    oFeed.MaxItems := 30;

    oFeed.AddActivity('Ana', 'closed', 'ticket #482', hcSuccess, 'bi bi-check-circle');
    oFeed.AddActivity('Marc', 'commented on', 'invoice #1190', hcPrimary);

    WebModule.Response := oFeed.HTML;   // feed list + scoped CSS + live relative-time script
  finally
    oFeed.Free;
  end;
end;

// Push a new item live to connected clients (out-of-band htmx fragment):
oFeed.AddActivity('Ana', 'approved', 'purchase order #77', hcSuccess);
Engine.BroadcastFragment(oFeed.GetLastItemFragmentHTML);
// includes: sgcHTML_Enums.hpp, sgcHTML_Component_ActivityFeed.hpp

TsgcHTMLComponent_ActivityFeed *oFeed = new TsgcHTMLComponent_ActivityFeed(NULL);
try
{
  oFeed->FeedID = "timeline";
  oFeed->Title = "Recent Activity";
  oFeed->MaxItems = 30;

  oFeed->AddActivity("Ana", "closed", "ticket #482", hcSuccess, "bi bi-check-circle");
  oFeed->AddActivity("Marc", "commented on", "invoice #1190", hcPrimary);

  String html = oFeed->HTML;   // feed list + scoped CSS + live relative-time script
}
__finally
{
  delete oFeed;
}
using esegece.sgcWebSockets;

var feed = new TsgcHTMLComponent_ActivityFeed();
feed.FeedID = "timeline";
feed.Title = "Recent Activity";
feed.MaxItems = 30;

feed.AddActivity("Ana", "closed", "ticket #482", TsgcHTMLColor.hcSuccess, "bi bi-check-circle");
feed.AddActivity("Marc", "commented on", "invoice #1190", TsgcHTMLColor.hcPrimary);

string html = feed.HTML;   // feed list + scoped CSS + live relative-time script

// Push a new item live to connected clients (out-of-band htmx fragment):
feed.AddActivity("Ana", "approved", "purchase order #77", TsgcHTMLColor.hcSuccess);
engine.BroadcastFragment(feed.GetLastItemFragmentHTML());

Propriétés & méthodes clés

Les membres que vous utilisez le plus souvent.

Items / AddActivity

AddActivity(aActor, aAction, aTarget, aColor, aIcon, aActorAvatarURL) ajoute une entrée et renvoie le TsgcHTMLActivityItem.

Tampon circulaire

MaxItems plafonne le nombre d'entrées conservées ; l'élément le plus ancien est supprimé automatiquement une fois la limite atteinte.

Temps relatif

ShowRelativeTime affiche des horodatages de style « il y a 3 min » maintenus en direct côté client ; TimeFormat sert de repli lorsque c'est désactivé.

Envoi en direct

GetItemFragmentHTML / GetLastItemFragmentHTML construisent un fragment htmx hors-bande pour PushFragment / BroadcastFragment, afin qu'une nouvelle activité apparaisse sans rechargement.

État vide

EmptyText est l'espace réservé affiché tant que Items est vide ; GetEmptyFragmentHTML le redessine en tant que fragment poussé.

Mise en page

Title libelle le flux, Compact resserre l'espacement des lignes, et HTML renvoie le flux plus son CSS dédié et son script.

Continuez l'exploration

Aide en ligneRéférence API complète et guide d’utilisation pour ce composant.
Tous les composants sgcHTMLParcourez la matrice complète des fonctionnalités de plus de 80 composants.
Télécharger la version d'essai gratuiteLa version d'essai de 30 jours fournit les projets de démonstration 60.HTML.
TarifsLicences Single, Team et Site avec code source complet.

Prêt à démarrer ?

Téléchargez la version d'essai gratuite et commencez à créer des interfaces web en Delphi, C++ Builder et .NET.