JobProgress 컴포넌트 — sgcHTML | eSeGeCe

JobProgress

TsgcHTMLComponent_JobProgress — Delphi, C++ Builder 및 .NET에서 상태 배지, 취소 버튼 및 out-of-band 프래그먼트 업데이트를 갖춘, 백그라운드 작업 진행률 표시줄의 실시간 목록을 렌더링합니다.

TsgcHTMLComponent_JobProgress

AddJob으로 작업을 등록하고, UpdateJob으로 진행시킨 다음, 초기 렌더링에는 HTML을 읽거나 GetJobFragmentHTML로 단일 행을 전송합니다.

컴포넌트 클래스

TsgcHTMLComponent_JobProgress

렌더링

Bootstrap 5 진행률 표시줄 목록 + 범위 지정 CSS

언어

Delphi, C++ Builder, .NET

작업을 추가하고, 업데이트하고, 변경 사항을 전송하기

AddJob을 호출하여 작업을 등록하고, 초기 HTML을 렌더링한 다음, 진행률이 갱신될 때마다 UpdateJob을 호출하고 GetJobFragmentHTML을 브로드캐스트하여 해당 행만 새로 고칩니다.

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

주요 속성 및 메서드

가장 자주 사용하게 되는 멤버.

AddJob

AddJob(aId, aName, aDescription)은 작업을 등록하고 그 TsgcHTMLJobItem(Id, Name, Description, Percent, Status, StatusText, StartedAt)을 반환합니다.

UpdateJob

UpdateJob(aId, aPercent, aStatus, aStatusText)는 id로 작업을 업데이트하며, Percent를 0–100 범위로 제한합니다.

상태

TsgcHTMLJobStatus(jsQueued, jsRunning, jsCompleted, jsFailed, jsCancelled)는 배지와 진행률 표시줄 색상을 결정하며, 실행 중에는 줄무늬와 애니메이션이 적용됩니다.

실시간 프래그먼트

GetJobFragmentHTML/GetJobAppendFragmentHTMLPushFragment/BroadcastFragment용 out-of-band 스왑 프래그먼트를 반환하므로, 한 번의 갱신이 전체 페이지 대신 한 행만 업데이트합니다.

표시 여부

ShowCompleted는 완료된 작업을 목록에서 숨깁니다. AutoRemoveCompleted는 완료되면 Jobs에서 완전히 제거합니다.

취소 버튼

ShowCancelButton, CancelCaptionCancelAction은 Grid 및 Chat과 동일한 메커니즘으로 전송되는 행별 취소 폼을 제어합니다.

계속 살펴보기

온라인 도움말이 찱포넌트의 전체 API 참조 및 사용 가이드입니다.
모든 sgcHTML 컴포넌트80개 이상의 컴포넌트 전체 기능 매트릭스를 둘러보십시오.
무료 체험판 다운로드30일 체험판에는 60.HTML 데모 프로젝트가 포함됩니다.
가격전체 소스 코드가 포함된 Single, Team 및 Site 라이선스.

시작할 준비가 되셨습니까?

무료 체험판을 다운로드하고 Delphi, C++ Builder 및 .NET에서 웹 UI를 구축하기 시작하십시오.