Composant JobProgress — sgcHTML | eSeGeCe

JobProgress

TsgcHTMLComponent_JobProgress — affichez une liste en direct de barres de progression de tâches en arrière-plan avec badges d'état, boutons d'annulation et mises à jour de fragments hors-bande, en Delphi, C++ Builder et .NET.

TsgcHTMLComponent_JobProgress

Enregistrez des tâches avec AddJob, faites-les avancer avec UpdateJob, puis lisez HTML pour le rendu initial ou poussez une seule ligne avec GetJobFragmentHTML.

Classe du composant

TsgcHTMLComponent_JobProgress

Produit

Une liste de barres de progression Bootstrap 5 + CSS dédié

Langages

Delphi, C++ Builder, .NET

Ajoutez une tâche, mettez-la à jour, poussez le changement

Appelez AddJob pour enregistrer une tâche, affichez le HTML initial, puis à chaque avancée appelez UpdateJob et diffusez GetJobFragmentHTML pour rafraîchir uniquement cette ligne.

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

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

Les membres que vous utilisez le plus souvent.

AddJob

AddJob(aId, aName, aDescription) enregistre une tâche et renvoie son TsgcHTMLJobItem (Id, Name, Description, Percent, Status, StatusText, StartedAt).

UpdateJob

UpdateJob(aId, aPercent, aStatus, aStatusText) met à jour une tâche par id, en limitant Percent entre 0 et 100.

État

TsgcHTMLJobStatus (jsQueued, jsRunning, jsCompleted, jsFailed, jsCancelled) détermine le badge et la couleur de la barre de progression, rayée et animée pendant l'exécution.

Fragments en direct

GetJobFragmentHTML/GetJobAppendFragmentHTML renvoient des fragments de remplacement hors-bande pour PushFragment/BroadcastFragment, de sorte qu'une avancée met à jour une seule ligne au lieu de toute la page.

Visibilité

ShowCompleted masque les tâches terminées de la liste ; AutoRemoveCompleted les retire complètement de Jobs une fois terminées.

Bouton d'annulation

ShowCancelButton, CancelCaption et CancelAction contrôlent le formulaire d'annulation par ligne, soumis via le même mécanisme que Grid et Chat.

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.