@knoflows/engine 0.1.0-beta.16 → 0.1.0-beta.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/dist/engine.js +19 -19
  2. package/package.json +3 -3
  3. package/static/assets/i18n/en.json +1 -0
  4. package/static/assets/i18n/es.json +1 -0
  5. package/static/chunk--WRMKpmO.js +5 -0
  6. package/static/{chunk-iE460Kz5.js → chunk-5xJXPFlv.js} +1 -1
  7. package/static/{chunk-DfcFBVF4.js → chunk-7NTQwN96.js} +1 -1
  8. package/static/{chunk-Edaw7VGW.js → chunk-BCHj6l85.js} +1 -1
  9. package/static/{chunk-B2Xol2Un.js → chunk-BIL86kgf.js} +1 -1
  10. package/static/{chunk-C0HCwfa5.js → chunk-BIdwV0jx.js} +1 -1
  11. package/static/{chunk-B0kZCuEt.js → chunk-BRZ5T52h.js} +1 -1
  12. package/static/{chunk-Th9whP36.js → chunk-B_R_vsLt.js} +1 -1
  13. package/static/{chunk-DtQtDE8q.js → chunk-BaYdwXIA.js} +1 -1
  14. package/static/{chunk-HUIPNwd9.js → chunk-BcQQgpKh.js} +1 -1
  15. package/static/{chunk-Bgl02GNl.js → chunk-BrP_q6LZ.js} +1 -1
  16. package/static/{chunk-Fwpw-z7T.js → chunk-Bv1r1Ly-.js} +1 -1
  17. package/static/chunk-C3Xml1YG.js +1 -0
  18. package/static/{chunk-DYzSLsNo.js → chunk-C9PkSfMb.js} +1 -1
  19. package/static/{chunk-Cg2E0vnT.js → chunk-CLM-K-Vg.js} +1 -1
  20. package/static/{chunk-NZ-CPWJ2.js → chunk-CPNxRF7A.js} +1 -1
  21. package/static/{chunk-BhF-m2HP.js → chunk-CRGkNzel.js} +1 -1
  22. package/static/{chunk-9U0WIegY.js → chunk-CV-FUe_H.js} +1 -1
  23. package/static/{chunk-CeywzbyD.js → chunk-CZoPJsBm.js} +1 -1
  24. package/static/{chunk-yoe_30RI.js → chunk-CuwZV6XG.js} +1 -1
  25. package/static/{chunk-CenXuPs5.js → chunk-Cvoe3MtC.js} +1 -1
  26. package/static/{chunk-C2BVYtVN.js → chunk-D3JZ8ur5.js} +2 -2
  27. package/static/{chunk-BhTujCrk.js → chunk-DAONFRT8.js} +1 -1
  28. package/static/{chunk-CsQ_HDGC.js → chunk-DDhSFoAE.js} +1 -1
  29. package/static/{chunk-DZJZYEZl.js → chunk-DEF7Ge5B.js} +1 -1
  30. package/static/{chunk-bCuvpgQS.js → chunk-DHC_yfIa.js} +1 -1
  31. package/static/{chunk-z2vvQAle.js → chunk-DSgUAlqN.js} +1 -1
  32. package/static/{chunk-FOJfn_t9.js → chunk-DVJ9L-aC.js} +1 -1
  33. package/static/{chunk-Bu6_39Nh.js → chunk-DaO-gpzS.js} +1 -1
  34. package/static/{chunk-CRv0PDB7.js → chunk-Dg-4XevL.js} +1 -1
  35. package/static/{chunk-CRdEWPUM.js → chunk-DvWh-Q5D.js} +1 -1
  36. package/static/{chunk-B7WkIFy0.js → chunk-Dx92ksvP.js} +1 -1
  37. package/static/{chunk-CecXf-CU.js → chunk-DyiDg8XX.js} +1 -1
  38. package/static/{chunk-DGC4TkAL.js → chunk-VXZaUyyE.js} +1 -1
  39. package/static/{chunk-Dp4H7MY0.js → chunk-Ysn4Fbgj.js} +1 -1
  40. package/static/{chunk-BW9BdLk-.js → chunk-ZqQUQSE8.js} +1 -1
  41. package/static/{chunk-C7h8oMzu.js → chunk-hpn_m1ZC.js} +1 -1
  42. package/static/{chunk-DUkiyf7y.js → chunk-pi-mtheN.js} +1 -1
  43. package/static/{chunk-Dv5GyY6h.js → chunk-xeQj_hSF.js} +1 -1
  44. package/static/index.html +1 -1
  45. package/static/{main-CHQMTVIP.js → main-SI5AKDMC.js} +1 -1
  46. package/static/chunk-DixyYfV_.js +0 -1
  47. package/static/chunk-p6dftaf8.js +0 -5
@@ -1 +1 @@
1
- import {b}from'./chunk-B7WkIFy0.js';import {L as Lt$1}from'./chunk-CecXf-CU.js';import'./chunk-C2BVYtVN.js';import'./chunk-iE460Kz5.js';import {L as Lt,u as ut,D as Di,m as mn}from'./chunk-BhTujCrk.js';import'./chunk-Cg2E0vnT.js';import {C,$,a as C1,V as Ve,b as at,q as qo,U as Uw,u as ue$1,s,r as r$1,c as bi,Z as ZE,d as $8,e as al,f as rl,g as $i,v as v3,h as ex,F as Fm,A as Am,K as Kt,j as _i,I as Iw,P as Pw,J as Jc,m as mh,k as iE,l as _D,n as uh,x as xD,N as ND,o as gI,L as Lh,p as Fw,w as lh,y as aE,z as rl$1,M as MD,B as AD,H as HD,D as ch,E as Aw,G as FD,O as Fu,Q as ju}from'./main-CHQMTVIP.js';import'./chunk-9U0WIegY.js';var re=t=>["/jobs",t],oe=(t,a)=>a.id,ae=(t,a)=>a.jobId+a.stepExecutionId;function le(t,a){t&1&&(_i(0,"p",5),Iw(1),Pw(2,"transloco"),Jc()),t&2&&(gI(),Lh(Fw(2,1,"common.loading")));}function de(t,a){if(t&1&&(_i(0,"p",6),Iw(1),Jc()),t&2){let e=HD();gI(),Lh(e.queuedError());}}function pe(t,a){t&1&&(_i(0,"p",7),Iw(1),Pw(2,"transloco"),Jc()),t&2&&(gI(),rl$1(" ",Fw(2,1,"jobs.list.queuedEmpty")," "));}function ue(t,a){if(t&1&&(_i(0,"tr")(1,"td")(2,"a",25),Iw(3),Jc()(),_i(4,"td",26),Iw(5),Jc(),_i(6,"td",27),Iw(7),Jc()()),t&2){let e=a.$implicit,s=HD(2);ch("data-testid","queued-row-"+e.jobId),gI(2),lh("routerLink",Aw(6,re,e.jobId)),ch("data-testid","queued-job-link-"+e.jobId),gI(),rl$1(" ",e.jobId," "),gI(2),Lh(e.agentInstanceId),gI(2),Lh(s.queuedWaitLabel(e.enqueuedAt));}}function ce(t,a){if(t&1&&(_i(0,"table",8)(1,"thead")(2,"tr")(3,"th"),Iw(4),Pw(5,"transloco"),Jc(),_i(6,"th"),Iw(7),Pw(8,"transloco"),Jc(),_i(9,"th"),Iw(10),Pw(11,"transloco"),Jc()()(),_i(12,"tbody"),xD(13,ue,8,8,"tr",null,ae),Jc()()),t&2){let e=HD();gI(4),Lh(Fw(5,3,"jobs.table.column.id")),gI(3),Lh(Fw(8,5,"jobs.list.queuedAgent")),gI(3),Lh(Fw(11,7,"jobs.list.queuedWait")),gI(3),AD(e.queuedSteps());}}function he(t,a){if(t&1&&uh(0,"nz-option",14),t&2){let e=a.$implicit;lh("nzValue",e.id)("nzLabel",e.name+" ("+e.id+")");}}function me(t,a){t&1&&(_i(0,"p",15),Iw(1),Pw(2,"transloco"),Jc()),t&2&&(gI(),Lh(Fw(2,1,"common.loading")));}function ge(t,a){if(t&1&&(_i(0,"p",16),Iw(1),Jc()),t&2){let e=HD();gI(),Lh(e.runningError());}}function fe(t,a){t&1&&(_i(0,"p",17),Iw(1),Pw(2,"transloco"),Jc()),t&2&&(gI(),rl$1(" ",Fw(2,1,"jobs.list.runningEmpty")," "));}function be(t,a){if(t&1&&uh(0,"app-job-status-table",18),t&2){let e=HD();lh("jobs",e.runningJobs());}}function _e(t,a){if(t&1&&(uh(0,"nz-option",14),Pw(1,"transloco"),Pw(2,"transloco")),t&2){let e=a.$implicit,s=HD();lh("nzValue",e)("nzLabel",e==="all"?Fw(1,2,"jobs.list.filterAll"):Fw(2,4,s.statusKey(e)));}}function ye(t,a){if(t&1&&uh(0,"nz-option",14),t&2){let e=a.$implicit;lh("nzValue",e.id)("nzLabel",e.name+" ("+e.id+")");}}function Ce(t,a){t&1&&(_i(0,"p",22),Iw(1),Pw(2,"transloco"),Jc()),t&2&&(gI(),Lh(Fw(2,1,"common.loading")));}function xe(t,a){if(t&1&&(_i(0,"p",23),Iw(1),Jc()),t&2){let e=HD();gI(),Lh(e.historyError());}}function Me(t,a){t&1&&(_i(0,"p",24),Iw(1),Pw(2,"transloco"),Jc()),t&2&&(gI(),rl$1(" ",Fw(2,1,"jobs.list.historyEmpty")," "));}function ve(t,a){if(t&1){let e=FD();_i(0,"nz-pagination",29),mh("nzPageIndexChange",function(o){Fu(e);let m=HD(2);return ju(m.setHistoryPage(o))}),Jc();}if(t&2){let e=HD(2);lh("nzPageIndex",e.historyPageIndex())("nzPageSize",e.pageSize)("nzTotal",e.historyTotal());}}function Ie(t,a){if(t&1&&(uh(0,"app-job-status-table",18),_D(1,ve,1,3,"nz-pagination",28)),t&2){let e=HD();lh("jobs",e.historyJobs()),gI(),MD(e.historyTotal()>e.pageSize||e.historyPageIndex()>1?1:-1);}}var we=20,Se=50,Ee=3e3,se=["completed","failed","cancelled"],Qe=(()=>{class t{constructor(){this.jobsApi=C($),this.workflowsApi=C(b),this.route=C(C1),this.transloco=C(Ve),this.destroyRef=C(at),this.pageSize=we,this.historyStatusOptions=["all",...se],this.runningJobs=qo([]),this.queuedSteps=qo([]),this.historyJobs=qo([]),this.workflows=qo([]),this.runningLoading=qo(true),this.queuedLoading=qo(true),this.historyLoading=qo(true),this.runningError=qo(null),this.queuedError=qo(null),this.historyError=qo(null),this.runningWorkflowId=qo(""),this.historyWorkflowId=qo(""),this.historyStatusFilter=qo("all"),this.showChildJobs=qo(false),this.historyPageIndex=qo(1),this.polling=qo(false),this.historyTotal=Uw(()=>{let e=(this.historyPageIndex()-1)*this.pageSize,s=this.historyJobs().length;return s<this.pageSize?e+s:e+s+1}),this.pollHandle=null,this.onVisibility=()=>{if(document.hidden){this.stopPolling();return}this.loadRunning({silent:true}),this.loadQueued({silent:true}),this.loadHistory({silent:true}),this.startPolling();},this.destroyRef.onDestroy(()=>{this.stopPolling(),document.removeEventListener("visibilitychange",this.onVisibility);}),this.loadWorkflows(),this.route.queryParamMap.pipe(ue$1(this.destroyRef)).subscribe(e=>{let s=e.get("status");s&&se.includes(s)?this.historyStatusFilter.set(s):this.historyStatusFilter.set("all"),this.historyPageIndex.set(1),this.loadRunning(),this.loadQueued(),this.loadHistory();}),document.addEventListener("visibilitychange",this.onVisibility),this.startPolling();}statusKey(e){return `jobs.status.${e}`}isPolling(){return this.polling()}setHistoryStatusFilter(e){this.historyStatusFilter.set(e),this.historyPageIndex.set(1),this.loadHistory();}setRunningWorkflowId(e){this.runningWorkflowId.set(e),this.loadRunning();}setHistoryWorkflowId(e){this.historyWorkflowId.set(e),this.historyPageIndex.set(1),this.loadHistory();}setShowChildJobs(e){this.showChildJobs.set(e),this.historyPageIndex.set(1),this.loadRunning(),this.loadHistory();}setHistoryPage(e){this.historyPageIndex.set(e),this.loadHistory();}loadWorkflows(){this.workflowsApi.list().pipe(ue$1(this.destroyRef)).subscribe({next:e=>{this.workflows.set(e);},error:()=>{this.workflows.set([]);}});}loadRunning(e={}){let s$1=this.runningWorkflowId();e.silent||(this.runningLoading.set(true),this.runningError.set(null)),this.jobsApi.list(s(r$1({terminal:false,topLevelOnly:!this.showChildJobs()},s$1?{workflowId:s$1}:{}),{limit:Se,offset:0})).pipe(ue$1(this.destroyRef)).subscribe({next:o=>{this.runningJobs.set(o),this.runningLoading.set(false);},error:o=>{this.runningLoading.set(false),!e.silent&&this.runningError.set(this.errorMessage(o,this.transloco.translate("jobs.list.loadFailed")));}});}queuedWaitLabel(e){let s=Date.now()-Date.parse(e),o=Number.isFinite(s)?Math.max(0,Math.floor(s/1e3)):0;if(o<60)return `${o}s`;let m=Math.floor(o/60);return m<60?`${m}m`:`${Math.floor(m/60)}h`}loadQueued(e={}){e.silent||(this.queuedLoading.set(true),this.queuedError.set(null)),this.jobsApi.listQueued().pipe(ue$1(this.destroyRef)).subscribe({next:s=>{this.queuedSteps.set(s),this.queuedLoading.set(false);},error:s=>{this.queuedLoading.set(false),!e.silent&&this.queuedError.set(this.errorMessage(s,this.transloco.translate("jobs.list.loadFailed")));}});}loadHistory(e={}){let s$1=this.historyStatusFilter(),o=this.historyWorkflowId();e.silent||(this.historyLoading.set(true),this.historyError.set(null)),this.jobsApi.list(s(r$1(r$1({terminal:true,topLevelOnly:!this.showChildJobs()},s$1==="all"?{}:{status:s$1}),o?{workflowId:o}:{}),{limit:this.pageSize,offset:(this.historyPageIndex()-1)*this.pageSize})).pipe(ue$1(this.destroyRef)).subscribe({next:m=>{this.historyJobs.set(m),this.historyLoading.set(false);},error:m=>{this.historyLoading.set(false),!e.silent&&this.historyError.set(this.errorMessage(m,this.transloco.translate("jobs.list.loadFailed")));}});}startPolling(){this.pollHandle!=null||document.hidden||(this.pollHandle=setInterval(()=>{this.loadRunning({silent:true}),this.loadQueued({silent:true}),this.loadHistory({silent:true});},Ee),this.polling.set(true));}stopPolling(){this.pollHandle!=null&&(clearInterval(this.pollHandle),this.pollHandle=null),this.polling.set(false);}errorMessage(e,s){return e instanceof bi||e instanceof Error?e.message:s}static{this.\u0275fac=function(s){return new(s||t)};}static{this.\u0275cmp=ZE({type:t,selectors:[["app-job-list"]],decls:62,vars:37,consts:[["data-testid","jobs-list",1,"list-page"],[1,"header"],["nz-checkbox","","data-testid","show-child-jobs",1,"child-toggle",3,"ngModelChange","ngModel"],["data-testid","jobs-queued",1,"section"],[1,"section-header"],["data-testid","queued-loading"],["data-testid","queued-error",1,"error"],["data-testid","queued-empty",1,"section-empty"],["data-testid","jobs-queued-table",1,"queued-table"],["data-testid","jobs-running",1,"section"],[1,"filters"],[1,"field"],["data-testid","running-workflow-filter",3,"ngModelChange","ngModel"],["nzValue","",3,"nzLabel"],[3,"nzValue","nzLabel"],["data-testid","running-loading"],["data-testid","running-error",1,"error"],["data-testid","running-empty",1,"section-empty"],[3,"jobs"],["data-testid","jobs-history",1,"section","section-history"],["data-testid","history-status-filter",3,"ngModelChange","ngModel"],["data-testid","history-workflow-filter",3,"ngModelChange","ngModel"],["data-testid","history-loading"],["data-testid","history-error",1,"error"],["data-testid","history-empty",1,"section-empty"],[3,"routerLink"],["data-testid","queued-agent"],["data-testid","queued-wait"],["data-testid","jobs-pagination",3,"nzPageIndex","nzPageSize","nzTotal"],["data-testid","jobs-pagination",3,"nzPageIndexChange","nzPageIndex","nzPageSize","nzTotal"]],template:function(s,o){s&1&&(_i(0,"main",0)(1,"header",1)(2,"h1"),Iw(3),Pw(4,"transloco"),Jc()(),_i(5,"label",2),mh("ngModelChange",function(b){return o.setShowChildJobs(b)}),Iw(6),Pw(7,"transloco"),Jc(),iE(),_i(8,"section",3)(9,"header",4)(10,"h2"),Iw(11),Pw(12,"transloco"),Jc()(),_D(13,le,3,3,"p",5)(14,de,2,1,"p",6)(15,pe,3,3,"p",7)(16,ce,15,9,"table",8),Jc(),_i(17,"section",9)(18,"header",4)(19,"h2"),Iw(20),Pw(21,"transloco"),Jc()(),_i(22,"div",10)(23,"div",11)(24,"span"),Iw(25),Pw(26,"transloco"),Jc(),_i(27,"nz-select",12),mh("ngModelChange",function(b){return o.setRunningWorkflowId(b)}),uh(28,"nz-option",13),Pw(29,"transloco"),xD(30,he,1,2,"nz-option",14,oe),Jc(),iE(),Jc()(),_D(32,me,3,3,"p",15)(33,ge,2,1,"p",16)(34,fe,3,3,"p",17)(35,be,1,1,"app-job-status-table",18),Jc(),_i(36,"section",19)(37,"header",4)(38,"h2"),Iw(39),Pw(40,"transloco"),Jc()(),_i(41,"div",10)(42,"div",11)(43,"span"),Iw(44),Pw(45,"transloco"),Jc(),_i(46,"nz-select",20),mh("ngModelChange",function(b){return o.setHistoryStatusFilter(b)}),xD(47,_e,3,6,"nz-option",14,ND),Jc(),iE(),Jc(),_i(49,"div",11)(50,"span"),Iw(51),Pw(52,"transloco"),Jc(),_i(53,"nz-select",21),mh("ngModelChange",function(b){return o.setHistoryWorkflowId(b)}),uh(54,"nz-option",13),Pw(55,"transloco"),xD(56,ye,1,2,"nz-option",14,oe),Jc(),iE(),Jc()(),_D(58,Ce,3,3,"p",22)(59,xe,2,1,"p",23)(60,Me,3,3,"p",24)(61,Ie,2,2),Jc()()),s&2&&(gI(3),Lh(Fw(4,17,"jobs.list.title")),gI(2),lh("ngModel",o.showChildJobs()),aE(),gI(),rl$1(" ",Fw(7,19,"jobs.list.showChildJobs")," "),gI(5),Lh(Fw(12,21,"jobs.list.queued")),gI(2),MD(o.queuedLoading()?13:o.queuedError()?14:o.queuedSteps().length===0?15:16),gI(7),Lh(Fw(21,23,"jobs.list.running")),gI(5),Lh(Fw(26,25,"jobs.list.filterByWorkflow")),gI(2),lh("ngModel",o.runningWorkflowId()),aE(),gI(),lh("nzLabel",Fw(29,27,"jobs.list.filterAll")),gI(2),AD(o.workflows()),gI(2),MD(o.runningLoading()?32:o.runningError()?33:o.runningJobs().length===0?34:35),gI(7),Lh(Fw(40,29,"jobs.list.history")),gI(5),Lh(Fw(45,31,"jobs.list.filterByStatus")),gI(2),lh("ngModel",o.historyStatusFilter()),aE(),gI(),AD(o.historyStatusOptions),gI(4),Lh(Fw(52,33,"jobs.list.filterByWorkflow")),gI(2),lh("ngModel",o.historyWorkflowId()),aE(),gI(),lh("nzLabel",Fw(55,35,"jobs.list.filterAll")),gI(2),AD(o.workflows()),gI(2),MD(o.historyLoading()?58:o.historyError()?59:o.historyJobs().length===0?60:61));},dependencies:[$8,al,rl,$i,v3,Lt,ut,Di,mn,ex,Fm,Am,Lt$1,Kt],styles:[".list-page[_ngcontent-%COMP%]{padding:1.25rem 1.5rem 3rem;display:flex;flex-direction:column;gap:1rem}.header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.header[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{margin:0}.child-toggle[_ngcontent-%COMP%]{align-self:flex-start}.section[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.75rem}.section-history[_ngcontent-%COMP%]{padding-top:1.25rem;border-top:1px solid #e7e5e4}.section-header[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{margin:0;font-size:1.1rem}.filters[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:1rem 1.25rem;align-items:flex-end}.field[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.35rem;min-width:12rem;max-width:18rem}.field[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]{font-size:.85rem;color:#57534e}.section-empty[_ngcontent-%COMP%]{margin:0;color:#57534e}.queued-table[_ngcontent-%COMP%]{width:100%;border-collapse:collapse}.queued-table[_ngcontent-%COMP%] th[_ngcontent-%COMP%], .queued-table[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{text-align:left;padding:.5rem .75rem .5rem 0;border-bottom:1px solid #e7e5e4}.queued-table[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{font-size:.85rem;color:#57534e;font-weight:600}.error[_ngcontent-%COMP%]{color:#9f1239}"]});}}return t})();export{we as JOB_LIST_PAGE_SIZE,Se as JOB_RUNNING_LIMIT,Ee as JOB_RUNNING_POLL_MS,Qe as JobListComponent,se as TERMINAL_JOB_STATUSES};
1
+ import {b}from'./chunk-Dx92ksvP.js';import {L as Lt$1}from'./chunk-DyiDg8XX.js';import'./chunk-D3JZ8ur5.js';import'./chunk-5xJXPFlv.js';import {L as Lt,u as ut,D as Di,m as mn}from'./chunk-DAONFRT8.js';import'./chunk-CLM-K-Vg.js';import {C,$,a as C1,V as Ve,b as at,q as qo,U as Uw,u as ue$1,s,r as r$1,c as bi,Z as ZE,d as $8,e as al,f as rl,g as $i,v as v3,h as ex,F as Fm,A as Am,K as Kt,j as _i,I as Iw,P as Pw,J as Jc,m as mh,k as iE,l as _D,n as uh,x as xD,N as ND,o as gI,L as Lh,p as Fw,w as lh,y as aE,z as rl$1,M as MD,B as AD,H as HD,D as ch,E as Aw,G as FD,O as Fu,Q as ju}from'./main-SI5AKDMC.js';import'./chunk-CV-FUe_H.js';var re=t=>["/jobs",t],oe=(t,a)=>a.id,ae=(t,a)=>a.jobId+a.stepExecutionId;function le(t,a){t&1&&(_i(0,"p",5),Iw(1),Pw(2,"transloco"),Jc()),t&2&&(gI(),Lh(Fw(2,1,"common.loading")));}function de(t,a){if(t&1&&(_i(0,"p",6),Iw(1),Jc()),t&2){let e=HD();gI(),Lh(e.queuedError());}}function pe(t,a){t&1&&(_i(0,"p",7),Iw(1),Pw(2,"transloco"),Jc()),t&2&&(gI(),rl$1(" ",Fw(2,1,"jobs.list.queuedEmpty")," "));}function ue(t,a){if(t&1&&(_i(0,"tr")(1,"td")(2,"a",25),Iw(3),Jc()(),_i(4,"td",26),Iw(5),Jc(),_i(6,"td",27),Iw(7),Jc()()),t&2){let e=a.$implicit,s=HD(2);ch("data-testid","queued-row-"+e.jobId),gI(2),lh("routerLink",Aw(6,re,e.jobId)),ch("data-testid","queued-job-link-"+e.jobId),gI(),rl$1(" ",e.jobId," "),gI(2),Lh(e.agentInstanceId),gI(2),Lh(s.queuedWaitLabel(e.enqueuedAt));}}function ce(t,a){if(t&1&&(_i(0,"table",8)(1,"thead")(2,"tr")(3,"th"),Iw(4),Pw(5,"transloco"),Jc(),_i(6,"th"),Iw(7),Pw(8,"transloco"),Jc(),_i(9,"th"),Iw(10),Pw(11,"transloco"),Jc()()(),_i(12,"tbody"),xD(13,ue,8,8,"tr",null,ae),Jc()()),t&2){let e=HD();gI(4),Lh(Fw(5,3,"jobs.table.column.id")),gI(3),Lh(Fw(8,5,"jobs.list.queuedAgent")),gI(3),Lh(Fw(11,7,"jobs.list.queuedWait")),gI(3),AD(e.queuedSteps());}}function he(t,a){if(t&1&&uh(0,"nz-option",14),t&2){let e=a.$implicit;lh("nzValue",e.id)("nzLabel",e.name+" ("+e.id+")");}}function me(t,a){t&1&&(_i(0,"p",15),Iw(1),Pw(2,"transloco"),Jc()),t&2&&(gI(),Lh(Fw(2,1,"common.loading")));}function ge(t,a){if(t&1&&(_i(0,"p",16),Iw(1),Jc()),t&2){let e=HD();gI(),Lh(e.runningError());}}function fe(t,a){t&1&&(_i(0,"p",17),Iw(1),Pw(2,"transloco"),Jc()),t&2&&(gI(),rl$1(" ",Fw(2,1,"jobs.list.runningEmpty")," "));}function be(t,a){if(t&1&&uh(0,"app-job-status-table",18),t&2){let e=HD();lh("jobs",e.runningJobs());}}function _e(t,a){if(t&1&&(uh(0,"nz-option",14),Pw(1,"transloco"),Pw(2,"transloco")),t&2){let e=a.$implicit,s=HD();lh("nzValue",e)("nzLabel",e==="all"?Fw(1,2,"jobs.list.filterAll"):Fw(2,4,s.statusKey(e)));}}function ye(t,a){if(t&1&&uh(0,"nz-option",14),t&2){let e=a.$implicit;lh("nzValue",e.id)("nzLabel",e.name+" ("+e.id+")");}}function Ce(t,a){t&1&&(_i(0,"p",22),Iw(1),Pw(2,"transloco"),Jc()),t&2&&(gI(),Lh(Fw(2,1,"common.loading")));}function xe(t,a){if(t&1&&(_i(0,"p",23),Iw(1),Jc()),t&2){let e=HD();gI(),Lh(e.historyError());}}function Me(t,a){t&1&&(_i(0,"p",24),Iw(1),Pw(2,"transloco"),Jc()),t&2&&(gI(),rl$1(" ",Fw(2,1,"jobs.list.historyEmpty")," "));}function ve(t,a){if(t&1){let e=FD();_i(0,"nz-pagination",29),mh("nzPageIndexChange",function(o){Fu(e);let m=HD(2);return ju(m.setHistoryPage(o))}),Jc();}if(t&2){let e=HD(2);lh("nzPageIndex",e.historyPageIndex())("nzPageSize",e.pageSize)("nzTotal",e.historyTotal());}}function Ie(t,a){if(t&1&&(uh(0,"app-job-status-table",18),_D(1,ve,1,3,"nz-pagination",28)),t&2){let e=HD();lh("jobs",e.historyJobs()),gI(),MD(e.historyTotal()>e.pageSize||e.historyPageIndex()>1?1:-1);}}var we=20,Se=50,Ee=3e3,se=["completed","failed","cancelled"],Qe=(()=>{class t{constructor(){this.jobsApi=C($),this.workflowsApi=C(b),this.route=C(C1),this.transloco=C(Ve),this.destroyRef=C(at),this.pageSize=we,this.historyStatusOptions=["all",...se],this.runningJobs=qo([]),this.queuedSteps=qo([]),this.historyJobs=qo([]),this.workflows=qo([]),this.runningLoading=qo(true),this.queuedLoading=qo(true),this.historyLoading=qo(true),this.runningError=qo(null),this.queuedError=qo(null),this.historyError=qo(null),this.runningWorkflowId=qo(""),this.historyWorkflowId=qo(""),this.historyStatusFilter=qo("all"),this.showChildJobs=qo(false),this.historyPageIndex=qo(1),this.polling=qo(false),this.historyTotal=Uw(()=>{let e=(this.historyPageIndex()-1)*this.pageSize,s=this.historyJobs().length;return s<this.pageSize?e+s:e+s+1}),this.pollHandle=null,this.onVisibility=()=>{if(document.hidden){this.stopPolling();return}this.loadRunning({silent:true}),this.loadQueued({silent:true}),this.loadHistory({silent:true}),this.startPolling();},this.destroyRef.onDestroy(()=>{this.stopPolling(),document.removeEventListener("visibilitychange",this.onVisibility);}),this.loadWorkflows(),this.route.queryParamMap.pipe(ue$1(this.destroyRef)).subscribe(e=>{let s=e.get("status");s&&se.includes(s)?this.historyStatusFilter.set(s):this.historyStatusFilter.set("all"),this.historyPageIndex.set(1),this.loadRunning(),this.loadQueued(),this.loadHistory();}),document.addEventListener("visibilitychange",this.onVisibility),this.startPolling();}statusKey(e){return `jobs.status.${e}`}isPolling(){return this.polling()}setHistoryStatusFilter(e){this.historyStatusFilter.set(e),this.historyPageIndex.set(1),this.loadHistory();}setRunningWorkflowId(e){this.runningWorkflowId.set(e),this.loadRunning();}setHistoryWorkflowId(e){this.historyWorkflowId.set(e),this.historyPageIndex.set(1),this.loadHistory();}setShowChildJobs(e){this.showChildJobs.set(e),this.historyPageIndex.set(1),this.loadRunning(),this.loadHistory();}setHistoryPage(e){this.historyPageIndex.set(e),this.loadHistory();}loadWorkflows(){this.workflowsApi.list().pipe(ue$1(this.destroyRef)).subscribe({next:e=>{this.workflows.set(e);},error:()=>{this.workflows.set([]);}});}loadRunning(e={}){let s$1=this.runningWorkflowId();e.silent||(this.runningLoading.set(true),this.runningError.set(null)),this.jobsApi.list(s(r$1({terminal:false,topLevelOnly:!this.showChildJobs()},s$1?{workflowId:s$1}:{}),{limit:Se,offset:0})).pipe(ue$1(this.destroyRef)).subscribe({next:o=>{this.runningJobs.set(o),this.runningLoading.set(false);},error:o=>{this.runningLoading.set(false),!e.silent&&this.runningError.set(this.errorMessage(o,this.transloco.translate("jobs.list.loadFailed")));}});}queuedWaitLabel(e){let s=Date.now()-Date.parse(e),o=Number.isFinite(s)?Math.max(0,Math.floor(s/1e3)):0;if(o<60)return `${o}s`;let m=Math.floor(o/60);return m<60?`${m}m`:`${Math.floor(m/60)}h`}loadQueued(e={}){e.silent||(this.queuedLoading.set(true),this.queuedError.set(null)),this.jobsApi.listQueued().pipe(ue$1(this.destroyRef)).subscribe({next:s=>{this.queuedSteps.set(s),this.queuedLoading.set(false);},error:s=>{this.queuedLoading.set(false),!e.silent&&this.queuedError.set(this.errorMessage(s,this.transloco.translate("jobs.list.loadFailed")));}});}loadHistory(e={}){let s$1=this.historyStatusFilter(),o=this.historyWorkflowId();e.silent||(this.historyLoading.set(true),this.historyError.set(null)),this.jobsApi.list(s(r$1(r$1({terminal:true,topLevelOnly:!this.showChildJobs()},s$1==="all"?{}:{status:s$1}),o?{workflowId:o}:{}),{limit:this.pageSize,offset:(this.historyPageIndex()-1)*this.pageSize})).pipe(ue$1(this.destroyRef)).subscribe({next:m=>{this.historyJobs.set(m),this.historyLoading.set(false);},error:m=>{this.historyLoading.set(false),!e.silent&&this.historyError.set(this.errorMessage(m,this.transloco.translate("jobs.list.loadFailed")));}});}startPolling(){this.pollHandle!=null||document.hidden||(this.pollHandle=setInterval(()=>{this.loadRunning({silent:true}),this.loadQueued({silent:true}),this.loadHistory({silent:true});},Ee),this.polling.set(true));}stopPolling(){this.pollHandle!=null&&(clearInterval(this.pollHandle),this.pollHandle=null),this.polling.set(false);}errorMessage(e,s){return e instanceof bi||e instanceof Error?e.message:s}static{this.\u0275fac=function(s){return new(s||t)};}static{this.\u0275cmp=ZE({type:t,selectors:[["app-job-list"]],decls:62,vars:37,consts:[["data-testid","jobs-list",1,"list-page"],[1,"header"],["nz-checkbox","","data-testid","show-child-jobs",1,"child-toggle",3,"ngModelChange","ngModel"],["data-testid","jobs-queued",1,"section"],[1,"section-header"],["data-testid","queued-loading"],["data-testid","queued-error",1,"error"],["data-testid","queued-empty",1,"section-empty"],["data-testid","jobs-queued-table",1,"queued-table"],["data-testid","jobs-running",1,"section"],[1,"filters"],[1,"field"],["data-testid","running-workflow-filter",3,"ngModelChange","ngModel"],["nzValue","",3,"nzLabel"],[3,"nzValue","nzLabel"],["data-testid","running-loading"],["data-testid","running-error",1,"error"],["data-testid","running-empty",1,"section-empty"],[3,"jobs"],["data-testid","jobs-history",1,"section","section-history"],["data-testid","history-status-filter",3,"ngModelChange","ngModel"],["data-testid","history-workflow-filter",3,"ngModelChange","ngModel"],["data-testid","history-loading"],["data-testid","history-error",1,"error"],["data-testid","history-empty",1,"section-empty"],[3,"routerLink"],["data-testid","queued-agent"],["data-testid","queued-wait"],["data-testid","jobs-pagination",3,"nzPageIndex","nzPageSize","nzTotal"],["data-testid","jobs-pagination",3,"nzPageIndexChange","nzPageIndex","nzPageSize","nzTotal"]],template:function(s,o){s&1&&(_i(0,"main",0)(1,"header",1)(2,"h1"),Iw(3),Pw(4,"transloco"),Jc()(),_i(5,"label",2),mh("ngModelChange",function(b){return o.setShowChildJobs(b)}),Iw(6),Pw(7,"transloco"),Jc(),iE(),_i(8,"section",3)(9,"header",4)(10,"h2"),Iw(11),Pw(12,"transloco"),Jc()(),_D(13,le,3,3,"p",5)(14,de,2,1,"p",6)(15,pe,3,3,"p",7)(16,ce,15,9,"table",8),Jc(),_i(17,"section",9)(18,"header",4)(19,"h2"),Iw(20),Pw(21,"transloco"),Jc()(),_i(22,"div",10)(23,"div",11)(24,"span"),Iw(25),Pw(26,"transloco"),Jc(),_i(27,"nz-select",12),mh("ngModelChange",function(b){return o.setRunningWorkflowId(b)}),uh(28,"nz-option",13),Pw(29,"transloco"),xD(30,he,1,2,"nz-option",14,oe),Jc(),iE(),Jc()(),_D(32,me,3,3,"p",15)(33,ge,2,1,"p",16)(34,fe,3,3,"p",17)(35,be,1,1,"app-job-status-table",18),Jc(),_i(36,"section",19)(37,"header",4)(38,"h2"),Iw(39),Pw(40,"transloco"),Jc()(),_i(41,"div",10)(42,"div",11)(43,"span"),Iw(44),Pw(45,"transloco"),Jc(),_i(46,"nz-select",20),mh("ngModelChange",function(b){return o.setHistoryStatusFilter(b)}),xD(47,_e,3,6,"nz-option",14,ND),Jc(),iE(),Jc(),_i(49,"div",11)(50,"span"),Iw(51),Pw(52,"transloco"),Jc(),_i(53,"nz-select",21),mh("ngModelChange",function(b){return o.setHistoryWorkflowId(b)}),uh(54,"nz-option",13),Pw(55,"transloco"),xD(56,ye,1,2,"nz-option",14,oe),Jc(),iE(),Jc()(),_D(58,Ce,3,3,"p",22)(59,xe,2,1,"p",23)(60,Me,3,3,"p",24)(61,Ie,2,2),Jc()()),s&2&&(gI(3),Lh(Fw(4,17,"jobs.list.title")),gI(2),lh("ngModel",o.showChildJobs()),aE(),gI(),rl$1(" ",Fw(7,19,"jobs.list.showChildJobs")," "),gI(5),Lh(Fw(12,21,"jobs.list.queued")),gI(2),MD(o.queuedLoading()?13:o.queuedError()?14:o.queuedSteps().length===0?15:16),gI(7),Lh(Fw(21,23,"jobs.list.running")),gI(5),Lh(Fw(26,25,"jobs.list.filterByWorkflow")),gI(2),lh("ngModel",o.runningWorkflowId()),aE(),gI(),lh("nzLabel",Fw(29,27,"jobs.list.filterAll")),gI(2),AD(o.workflows()),gI(2),MD(o.runningLoading()?32:o.runningError()?33:o.runningJobs().length===0?34:35),gI(7),Lh(Fw(40,29,"jobs.list.history")),gI(5),Lh(Fw(45,31,"jobs.list.filterByStatus")),gI(2),lh("ngModel",o.historyStatusFilter()),aE(),gI(),AD(o.historyStatusOptions),gI(4),Lh(Fw(52,33,"jobs.list.filterByWorkflow")),gI(2),lh("ngModel",o.historyWorkflowId()),aE(),gI(),lh("nzLabel",Fw(55,35,"jobs.list.filterAll")),gI(2),AD(o.workflows()),gI(2),MD(o.historyLoading()?58:o.historyError()?59:o.historyJobs().length===0?60:61));},dependencies:[$8,al,rl,$i,v3,Lt,ut,Di,mn,ex,Fm,Am,Lt$1,Kt],styles:[".list-page[_ngcontent-%COMP%]{padding:1.25rem 1.5rem 3rem;display:flex;flex-direction:column;gap:1rem}.header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.header[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{margin:0}.child-toggle[_ngcontent-%COMP%]{align-self:flex-start}.section[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.75rem}.section-history[_ngcontent-%COMP%]{padding-top:1.25rem;border-top:1px solid #e7e5e4}.section-header[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{margin:0;font-size:1.1rem}.filters[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:1rem 1.25rem;align-items:flex-end}.field[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.35rem;min-width:12rem;max-width:18rem}.field[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]{font-size:.85rem;color:#57534e}.section-empty[_ngcontent-%COMP%]{margin:0;color:#57534e}.queued-table[_ngcontent-%COMP%]{width:100%;border-collapse:collapse}.queued-table[_ngcontent-%COMP%] th[_ngcontent-%COMP%], .queued-table[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{text-align:left;padding:.5rem .75rem .5rem 0;border-bottom:1px solid #e7e5e4}.queued-table[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{font-size:.85rem;color:#57534e;font-weight:600}.error[_ngcontent-%COMP%]{color:#9f1239}"]});}}return t})();export{we as JOB_LIST_PAGE_SIZE,Se as JOB_RUNNING_LIMIT,Ee as JOB_RUNNING_POLL_MS,Qe as JobListComponent,se as TERMINAL_JOB_STATUSES};
package/static/index.html CHANGED
@@ -35,5 +35,5 @@
35
35
  <style>@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url("./media/inter-latin-400-normal-55WT6UWF.woff2") format("woff2"),url("./media/inter-latin-400-normal-FR5HOXA4.woff") format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url("./media/inter-latin-500-normal-W62DVTXI.woff2") format("woff2"),url("./media/inter-latin-500-normal-ZNGIZ2YB.woff") format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url("./media/inter-latin-600-normal-R6Y2SZCR.woff2") format("woff2"),url("./media/inter-latin-600-normal-ZYHV6QZT.woff") format("woff")}html,body,app-root{height:100%;margin:0}body{font-family:Inter,sans-serif;overflow:hidden}:root{--app-chrome-height:56px}</style><link rel="stylesheet" href="styles-JGCTKGGH.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="styles-JGCTKGGH.css"></noscript></head>
36
36
  <body>
37
37
  <app-root></app-root>
38
- <script src="polyfills-YMBILSHJ.js" type="module"></script><script src="main-CHQMTVIP.js" type="module"></script></body>
38
+ <script src="polyfills-YMBILSHJ.js" type="module"></script><script src="main-SI5AKDMC.js" type="module"></script></body>
39
39
  </html>