Komponent ActivityFeed — sgcHTML | eSeGeCe

ActivityFeed

TsgcHTMLComponent_ActivityFeed — renderuje aktualizowany na żywo strumień aktywności (od najnowszych) ze znacznikami czasu względnego i wypychaniem danych WebSocket poza pasmem (out-of-band), w Delphi, C++ Builder i .NET.

TsgcHTMLComponent_ActivityFeed

Dodawaj aktywności za pomocą AddActivity, odczytaj HTML dla pierwszego renderowania, a następnie wypychaj nowe elementy na żywo za pomocą fragmentu WebSocket.

Klasa komponentu

TsgcHTMLComponent_ActivityFeed

Renderuje

Lista Bootstrap 5 + dedykowany CSS + skrypt czasu względnego na żywo

Rodzina

Dane i tabele

Języki

Delphi, C++ Builder, .NET

Dodaj aktywności, wyrenderuj, wypychaj nowe na żywo

Wywołaj AddActivity dla każdego wpisu, odczytaj HTML dla strony początkowej, a następnie wypchnij nowy element jako fragment poza pasmem (out-of-band) przez WebSockets za pomocą 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());

Kluczowe właściwości i metody

Składniki, po które sięgasz najczęściej.

Items / AddActivity

AddActivity(aActor, aAction, aTarget, aColor, aIcon, aActorAvatarURL) dodaje jeden wpis i zwraca TsgcHTMLActivityItem.

Bufor cykliczny

MaxItems ogranicza liczbę przechowywanych wpisów; najstarszy element jest automatycznie usuwany po osiągnięciu limitu.

Czas względny

ShowRelativeTime renderuje znaczniki czasu w stylu „3 min temu”, aktualizowane na żywo po stronie klienta; TimeFormat jest wartością zastępczą, gdy ta opcja jest wyłączona.

Wypychanie na żywo

GetItemFragmentHTML / GetLastItemFragmentHTML tworzą fragment htmx poza pasmem (out-of-band) dla PushFragment / BroadcastFragment, dzięki czemu nowa aktywność pojawia się bez przeładowania strony.

Stan pusty

EmptyText to tekst zastępczy wyświetlany, gdy Items jest puste; GetEmptyFragmentHTML renderuje go ponownie jako fragment do wypchnięcia.

Układ

Title opisuje strumień, Compact zmniejsza odstępy między wierszami, a HTML zwraca strumień wraz z dedykowanym CSS i skryptem.

Poznawaj dalej

Pomoc onlinePełna dokumentacja API i przewodnik użytkowania tego komponentu.
Wszystkie komponenty sgcHTMLPrzejrzyj pełną matrycę funkcji 80+ komponentów.
Pobierz bezpłatną wersję próbną30-dniowa wersja próbna zawiera projekty demonstracyjne 60.HTML.
CennikLicencje Single, Team i Site z pełnym kodem źródłowym.

Gotowy, aby zacząć?

Pobierz bezpłatną wersję próbną i zacznij budować interfejsy webowe w Delphi, C++ Builder i .NET.