ActivityFeed Bileşeni — sgcHTML | eSeGeCe

ActivityFeed

TsgcHTMLComponent_ActivityFeed — Delphi, C++ Builder ve .NET'te göreli zaman damgaları ve bant dışı WebSocket push'u içeren, en yeniden eskiye canlı bir etkinlik akışı işleyin.

TsgcHTMLComponent_ActivityFeed

AddActivity ile etkinlikler ekleyin, ilk işleme için HTML'i okuyun, ardından bir WebSocket parçasıyla yeni öğeleri canlı olarak gönderin.

Bileşen sınıfı

TsgcHTMLComponent_ActivityFeed

İşler

Bootstrap 5 listesi + kapsamlı CSS + canlı göreli zaman betiği

Diller

Delphi, C++ Builder, .NET

Etkinlik ekleyin, işleyin, yenilerini canlı gönderin

Her girdi için AddActivity'yi çağırın, ilk sayfa için HTML'i okuyun, ardından GetLastItemFragmentHTML ile WebSocket üzerinden yeni bir öğeyi bant dışı bir parça olarak gönderin.

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());

Temel özellikler & yöntemler

En sık başvurduğunuz üyeler.

Öğeler / AddActivity

AddActivity(aActor, aAction, aTarget, aColor, aIcon, aActorAvatarURL), bir girdi ekler ve TsgcHTMLActivityItem'ı döndürür.

Halka arabellek

MaxItems, kaç girdinin tutulacağını sınırlar; sınıra ulaşıldığında en eski öğe otomatik olarak kaldırılır.

Göreli zaman

ShowRelativeTime, istemci tarafında canlı tutulan "3 dakika önce" tarzı zaman damgaları işler; kapalıyken TimeFormat yedek olarak kullanılır.

Canlı gönderim

GetItemFragmentHTML / GetLastItemFragmentHTML, PushFragment / BroadcastFragment için bant dışı bir htmx parçası oluşturur; böylece yeni bir etkinlik sayfa yenilenmeden görünür.

Boş durum

EmptyText, Items boşken gösterilen yer tutucudur; GetEmptyFragmentHTML onu bir push parçası olarak yeniden işler.

Düzen

Title, akışı etiketler, Compact satır aralığını sıkılaştırır ve HTML, akışı, kapsamlı CSS'sini ve betiğini döndürür.

Keşfetmeye devam edin

Çevrimiçi yardımBu bileşen için tam API referansı ve kullanım kılavuzu.
Tüm sgcHTML Bileşenleri80'den fazla bileşenin tam özellik matrisine göz atın.
Ücretsiz Deneme Sürümünü İndirin30 günlük deneme, 60.HTML demo projeleriyle birlikte gelir.
FiyatlandırmaTam kaynak kodlu Single, Team ve Site lisansları.

Başlamaya Hazır mısınız?

Ücretsiz deneme sürümünü indirin ve Delphi, C++ Builder ve .NET'te web arayüzleri oluşturmaya başlayın.