JobProgress Component — sgcHTML | eSeGeCe

JobProgress

TsgcHTMLComponent_JobProgress — erzeugen Sie eine Live-Liste von Fortschrittsbalken für Hintergrundjobs mit Status-Abzeichen, Abbrechen-Schaltflächen und Out-of-Band-Fragment-Updates, in Delphi, C++ Builder und .NET.

TsgcHTMLComponent_JobProgress

Registrieren Sie Jobs mit AddJob, führen Sie sie mit UpdateJob weiter, und lesen Sie dann HTML für das erste Rendern oder senden Sie eine einzelne Zeile mit GetJobFragmentHTML.

Komponentenklasse

TsgcHTMLComponent_JobProgress

Rendert

Bootstrap-5-Fortschrittsbalken-Liste + scoped CSS

Sprachen

Delphi, C++ Builder, .NET

Job hinzufügen, aktualisieren, Änderung senden

Rufen Sie AddJob auf, um einen Job zu registrieren, rendern Sie das erste HTML, und rufen Sie bei jedem Fortschrittsschritt UpdateJob auf und broadcasten Sie GetJobFragmentHTML, um nur diese Zeile zu aktualisieren.

uses
  sgcHTML_Enums, sgcHTML_Component_JobProgress;

var
  oJobs: TsgcHTMLComponent_JobProgress;
begin
  oJobs := TsgcHTMLComponent_JobProgress.Create(nil);
  try
    oJobs.JobsID := 'exports';
    oJobs.Title := 'Background Exports';
    oJobs.ShowCompleted := False;

    oJobs.AddJob('exp-42', 'Export customers.csv', 'Generating CSV export');

    WebModule.Response := oJobs.HTML;   // card + progress rows + cancel-form script
  finally
    oJobs.Free;
  end;
end;

// On a later progress tick, push just that row over the WebSocket:
oJobs.UpdateJob('exp-42', 65, jsRunning);
Engine.BroadcastFragment(oJobs.GetJobFragmentHTML('exp-42'));
// includes: sgcHTML_Enums.hpp, sgcHTML_Component_JobProgress.hpp

TsgcHTMLComponent_JobProgress *oJobs = new TsgcHTMLComponent_JobProgress(NULL);
try
{
  oJobs->JobsID = "exports";
  oJobs->Title = "Background Exports";
  oJobs->ShowCompleted = false;

  oJobs->AddJob("exp-42", "Export customers.csv", "Generating CSV export");

  String html = oJobs->HTML;   // card + progress rows + cancel-form script
}
__finally
{
  delete oJobs;
}

// On a later progress tick, push just that row over the WebSocket:
oJobs->UpdateJob("exp-42", 65, jsRunning, "");
Engine->BroadcastFragment(oJobs->GetJobFragmentHTML("exp-42"));
using esegece.sgcWebSockets;

var jobs = new TsgcHTMLComponent_JobProgress();
jobs.JobsID = "exports";
jobs.Title = "Background Exports";
jobs.ShowCompleted = false;

jobs.AddJob("exp-42", "Export customers.csv", "Generating CSV export");

string html = jobs.HTML;   // card + progress rows + cancel-form script

// On a later progress tick, push just that row over the WebSocket:
jobs.UpdateJob("exp-42", 65, TsgcHTMLJobStatus.jsRunning, "");
engine.BroadcastFragment(jobs.GetJobFragmentHTML("exp-42"));

Wichtige Eigenschaften & Methoden

Die Member, die Sie am häufigsten verwenden.

AddJob

AddJob(aId, aName, aDescription) registriert einen Job und gibt sein TsgcHTMLJobItem zurück (Id, Name, Description, Percent, Status, StatusText, StartedAt).

UpdateJob

UpdateJob(aId, aPercent, aStatus, aStatusText) aktualisiert einen Job anhand seiner ID und begrenzt Percent auf 0–100.

Status

TsgcHTMLJobStatus (jsQueued, jsRunning, jsCompleted, jsFailed, jsCancelled) steuert die Farbe von Abzeichen und Fortschrittsbalken, gestreift und animiert während der Ausführung.

Live-Fragmente

GetJobFragmentHTML/GetJobAppendFragmentHTML geben Out-of-Band-Swap-Fragmente für PushFragment/BroadcastFragment zurück, sodass ein Tick nur eine Zeile statt der gesamten Seite aktualisiert.

Sichtbarkeit

ShowCompleted blendet abgeschlossene Jobs aus der Liste aus; AutoRemoveCompleted entfernt sie nach Abschluss vollständig aus Jobs.

Abbrechen-Schaltfläche

ShowCancelButton, CancelCaption und CancelAction steuern das Abbrechen-Formular pro Zeile, gesendet über denselben Mechanismus wie bei Grid und Chat.

Weiter entdecken

Online-HilfeVollständige API-Referenz und Verwendungshandbuch für diese Komponente.
Alle sgcHTML-KomponentenDurchsuchen Sie die vollständige Funktionsmatrix von über 80 Komponenten.
Kostenlose Testversion herunterladenDie 30-Tage-Testversion enthält die 60.HTML-Demoprojekte.
PreiseSingle-, Team- und Site-Lizenzen mit vollständigem Quellcode.

Bereit loszulegen?

Laden Sie die kostenlose Testversion herunter und beginnen Sie, Web-UIs in Delphi, C++ Builder und .NET zu erstellen.