ActivityFeed-component — sgcHTML | eSeGeCe

ActivityFeed

TsgcHTMLComponent_ActivityFeed — render een live activiteitenfeed, nieuwste eerst, met relatieve tijdstempels en out-of-band WebSocket-push, in Delphi, C++ Builder en .NET.

TsgcHTMLComponent_ActivityFeed

Voeg activiteiten toe met AddActivity, lees HTML voor de eerste render, en push daarna nieuwe items live met een WebSocket-fragment.

Componentklasse

TsgcHTMLComponent_ActivityFeed

Rendert

Bootstrap 5-lijst + scoped CSS + live relatieve-tijd-script

Talen

Delphi, C++ Builder, .NET

Voeg activiteiten toe, render het, push nieuwe items live

Roep AddActivity aan voor elke vermelding, lees HTML voor de initiële pagina, en push daarna een nieuw item als out-of-band fragment via WebSockets met 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());

Belangrijkste eigenschappen en methoden

De members die je het vaakst gebruikt.

Items / AddActivity

AddActivity(aActor, aAction, aTarget, aColor, aIcon, aActorAvatarURL) voegt één vermelding toe en retourneert de TsgcHTMLActivityItem.

Ringbuffer

MaxItems begrenst hoeveel items worden bewaard; het oudste item wordt automatisch verwijderd zodra de limiet is bereikt.

Relatieve tijd

ShowRelativeTime rendert tijdstempels in de stijl "3 min geleden" die client-side live blijven; TimeFormat is de terugval wanneer dit uit staat.

Live push

GetItemFragmentHTML / GetLastItemFragmentHTML bouwen een out-of-band htmx-fragment voor PushFragment / BroadcastFragment, zodat een nieuwe activiteit verschijnt zonder herladen.

Lege status

EmptyText is de placeholder die getoond wordt zolang Items leeg is; GetEmptyFragmentHTML rendert die opnieuw als push-fragment.

Layout

Title labelt de feed, Compact verkleint de rij-afstand, en HTML retourneert de feed plus de bijbehorende scoped CSS en script.

Blijf ontdekken

Online helpVolledige API-referentie en gebruikshandleiding voor dit onderdeel.
Alle sgcHTML-componentenBlader door de volledige functiematrix van 80+ componenten.
Download gratis proefversieDe proefversie van 30 dagen bevat de 60.HTML-demoprojecten.
PrijzenSingle-, Team- en Site-licenties met volledige broncode.

Klaar om te beginnen?

Download de gratis proefversie en begin met het bouwen van live activiteitenfeeds in Delphi, C++ Builder en .NET.