JobProgress
TsgcHTMLComponent_JobProgress — Delphi, C++ Builder 및 .NET에서 상태 배지, 취소 버튼 및 out-of-band 프래그먼트 업데이트를 갖춘, 백그라운드 작업 진행률 표시줄의 실시간 목록을 렌더링합니다.
TsgcHTMLComponent_JobProgress — Delphi, C++ Builder 및 .NET에서 상태 배지, 취소 버튼 및 out-of-band 프래그먼트 업데이트를 갖춘, 백그라운드 작업 진행률 표시줄의 실시간 목록을 렌더링합니다.
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(aId, aName, aDescription)은 작업을 등록하고 그 TsgcHTMLJobItem(Id, Name, Description, Percent, Status, StatusText, StartedAt)을 반환합니다.
UpdateJob(aId, aPercent, aStatus, aStatusText)는 id로 작업을 업데이트하며, Percent를 0–100 범위로 제한합니다.
TsgcHTMLJobStatus(jsQueued, jsRunning, jsCompleted, jsFailed, jsCancelled)는 배지와 진행률 표시줄 색상을 결정하며, 실행 중에는 줄무늬와 애니메이션이 적용됩니다.
GetJobFragmentHTML/GetJobAppendFragmentHTML은 PushFragment/BroadcastFragment용 out-of-band 스왑 프래그먼트를 반환하므로, 한 번의 갱신이 전체 페이지 대신 한 행만 업데이트합니다.
ShowCompleted는 완료된 작업을 목록에서 숨깁니다. AutoRemoveCompleted는 완료되면 Jobs에서 완전히 제거합니다.
ShowCancelButton, CancelCaption 및 CancelAction은 Grid 및 Chat과 동일한 메커니즘으로 전송되는 행별 취소 폼을 제어합니다.