UNPKG

@bull-board/ui

Version:

A Dashboard UI built on top of bull or bullmq.

1 lines 5.19 kB
"use strict";(self.webpackChunk_bull_board_ui=self.webpackChunk_bull_board_ui||[]).push([["10012"],{70787(e,s,a){a.d(s,{JobPage:()=>q});var l=a(31085),t=a(54357),n=a(14041),r=a(42348),i=a(86090),o=a(33664),d=a(19414),c=a(66832),u=a(64771),m=a(71529),h=a(96587),p=a(46973),j=a(79921),b=a(27384),N=a(20297),x=a(18127),g=a(85865),f=a(20050),w=a(36784),J=a(26347),v=a(40783);let y=(0,g.vt)(e=>({flow:null,loading:!0,error:null,updateFlow:s=>e(()=>({flow:s,loading:!1}))})),C="stateDefault-EaXrtU";var F=a(81367),_=a(51529);let A=e=>{let{progress:s}=e;return(0,l.jsx)("div",{className:"progressBar-HnXJw9",children:(0,l.jsx)("div",{className:"progressFill-_0rszU",style:{width:`${s}%`}})})},D=e=>{let{node:s,jobId:a,queueName:n,selectedStatuses:r}=e,i=s.id===a,d=function(e){if("number"==typeof e&&Number.isFinite(e))return e;if("object"==typeof e&&null!==e&&"progress"in e){let s=e.progress;if("number"==typeof s&&Number.isFinite(s))return s}return null}(s.progress);return(0,l.jsxs)("li",{className:"nodeWrapper-XhiHsk",children:[(0,l.jsx)(o.N_,{to:N.y.jobPage(n,String(s.id),r),className:(0,t.A)("nodeCard-F2e6fs",{completed:"stateCompleted-I8Ksq8",failed:"stateFailed-CrXGqF",delayed:"stateDelayed-OdrXw9",active:"stateActive-B8FXld",waiting:"stateWaiting-gHocVQ","waiting-children":"stateWaitingChildren-iUS_O3",paused:"statePaused-Hvm6H5",prioritized:"statePrioritized-DjDX5Y",unknown:C}[s.state]||C,i&&"highlighted-KIboOF"),children:(0,l.jsxs)("div",{className:"nodeInfo-XUUjz9",children:[(0,l.jsxs)("div",{className:"nodeHeader-Z5a8HZ",children:[(0,l.jsxs)("div",{className:"nodeName-zbm3am",children:[(0,l.jsx)("h4",{className:"jobName-ebOKgp",children:s.name??s.id}),(0,l.jsxs)("span",{className:"jobId-CFAXeY",children:["(",String(s.id).slice(0,8),"...)"]})]}),(0,l.jsx)("span",{className:"stateBadge-DQ_psX",children:s.state})]}),(0,l.jsxs)("div",{className:"nodeFooter-klA8zl",children:[(0,l.jsx)("span",{className:"queueLabel-KyHgPP",children:s.queueName}),null!==d&&(0,l.jsxs)("div",{className:"progressGroup-gXqNnN",children:[(0,l.jsx)(A,{progress:d}),(0,l.jsxs)("span",{className:"progressText-yh5fXa",children:[d,"%"]})]})]})]})}),!!s.children&&s.children.length>0&&(0,l.jsx)("ul",{className:"childrenWrapper-QNJ52n",children:s.children.map(e=>(0,l.jsx)(D,{node:e,jobId:a,queueName:e.queueName,selectedStatuses:r},e.id))})]})},O=()=>{let{flow:e,loading:s,error:a}=function(){let e=(0,w.g)(),s=(0,f._)(),a=(0,b.W)(),{pollingInterval:l}=(0,v.C)(e=>{let{pollingInterval:s}=e;return{pollingInterval:s}}),{flow:t,loading:n,error:r,updateFlow:i}=y(e=>e);return(0,J.$)(()=>e.getJobFlow(s,a).then(e=>i(e)),l>0?1e3*l:null,[s,a]),{flow:t,loading:n,error:r}}(),n=(0,b.W)(),r=(0,j.z)();return s?(0,l.jsx)("div",{className:"loadingContainer-h_pKR1",children:(0,l.jsxs)("div",{className:"loadingContent-aGf5AY",children:[(0,l.jsx)("div",{className:"spinner-M2mtPn"}),(0,l.jsx)("p",{className:"loadingText-iV0nLX",children:"Loading flow tree..."})]})}):a?(0,l.jsxs)("div",{className:"errorContainer-ITGUK7",children:[(0,l.jsx)("h3",{className:"errorTitle-C7_btI",children:"Error loading flow tree"}),(0,l.jsx)("p",{className:"errorMessage-PTbl6j",children:a})]}):e&&e.isFlowNode&&e.flowRoot?(0,l.jsxs)(F.Z,{className:(0,t.A)(_.A.card,"jobFlowCard-Y7apDE"),children:[(0,l.jsx)("div",{className:_.A.header,children:(0,l.jsx)("div",{className:_.A.titleWithLink,children:(0,l.jsx)("h4",{children:"Job Flow"})})}),(0,l.jsx)("div",{className:"content-VEkWB4",children:(0,l.jsx)("div",{className:"treeContainer-g3cKYC",children:(0,l.jsx)("ul",{className:"treeRoot-wCwzlC",children:(0,l.jsx)(D,{node:e.flowRoot,jobId:n,queueName:e.flowRoot.queueName,selectedStatuses:r})})})})]}):null},X=n.lazy(()=>Promise.all([a.e("51125"),a.e("30556")]).then(a.bind(a,42308)).then(e=>{let{AddJobModal:s}=e;return{default:s}})),P=n.lazy(()=>Promise.all([a.e("51125"),a.e("11153")]).then(a.bind(a,22536)).then(e=>{let{UpdateJobDataModal:s}=e;return{default:s}})),q=()=>{let{t:e}=(0,r.Bd)(),s=(0,i.W6)(),a=(0,m.h)(),{job:g,status:f,actions:w}=(0,h.J)(),J=(0,j.z)(),v=(0,p.h)(),y=(0,b.W)();if((0,n.useEffect)(()=>{y&&w.getJob()},[y]),w.pollJob(),!a)return(0,l.jsx)("section",{children:e("QUEUE.NOT_FOUND")});if(!g)return(0,l.jsx)("section",{children:e("JOB.NOT_FOUND")});let C=async()=>{await w.cleanJob(a.name)(g)(),s.replace(N.y.queuePage(a.name,J))};return(0,l.jsxs)("section",{children:[(0,l.jsx)(u.V,{actions:(0,l.jsxs)(o.N_,{className:(0,t.A)(x.A.button,x.A.default),to:N.y.queuePage(a.name,J),style:{display:"inline-flex",alignItems:"center",gap:"0.4em"},children:[(0,l.jsx)(d.A,{}),a.name]})}),(0,l.jsx)(c.o,{job:g,status:f,actions:{cleanJob:C,promoteJob:w.promoteJob(a.name)(g),retryJob:w.retryJob(a.name)(g),getJobLogs:w.getJobLogs(a.name)(g),updateJobData:()=>v.open("updateJobData"),duplicateJob:()=>v.open("addJob")},readOnlyMode:a.readOnlyMode,allowRetries:(g.isFailed||a.allowCompletedRetries)&&a.allowRetries},g.id),(0,l.jsx)(O,{}),(0,l.jsxs)(n.Suspense,{fallback:null,children:[v.isMounted("addJob")&&(0,l.jsx)(X,{open:v.isOpen("addJob"),onClose:v.close("addJob"),job:g}),v.isMounted("updateJobData")&&(0,l.jsx)(P,{open:v.isOpen("updateJobData"),onClose:v.close("updateJobData"),job:g})]})]})}}}]);