1(globalThis.webpackChunkPlesk||=[]).push([["views/admin/task-manager/index"],{2511(e,t,n){"use strict";n.r(t),n.d(t,{default:()=>c});var a=n(342),i=n(341),s=n(782),r=n.n(s),o=n(95);const l=({isOpen:e,onClose:t,onCreate:n,onError:s})=>{const[r,l]=(0,i.useState)(!1),[c,d]=(0,i.useState)(null),[u,m]=(0,i.useState)(!1);(0,i.useEffect)(()=>{e&&m(!1)},[e]);const k=e=>{const t={};return Object.keys(e).forEach(n=>{e[n]&&""!==e[n].trim()||(t[n]={empty:"Field is required"})}),d(t),!Object.keys(t).length};return(0,i.useEffect)(()=>{e&&d(null)},[e]),(0,i.jsxs)(a.Dialog,{isOpen:e,title:"Create task",size:"md",onClose:t,form:{onSubmit:async({cmd:e,concurrencyRules:t,stdin:a,description:i,env:r,timeout:c})=>{if(d(null),k({cmd:e,description:i})){l(!0);try{const{status:l,formMessages:m,msg:k,redirect:p}=await o.api.post("/admin/task-manager/create",{cmd:e,concurrencyRules:t,stdin:a,description:i,env:r,...u?{timeout:c}:null});if(p)return void(0,o.redirect)(p);"success"===l?n():m?Object.keys(m).forEach(e=>d(t=>({...t,[e]:m[e]}))):s(k||"Failed to create task")}catch{s("Failed to create task")}finally{l(!1)}}},submitButton:{children:"Create",state:r?"loading":null},errors:c},children:[(0,i.jsx)(a.FormFieldText,{name:"cmd",label:"Command",multiline:!0,size:"fill",required:!0}),(0,i.jsx)(a.FormFieldText,{name:"concurrencyRules",label:"Concurrency Rules",size:"fill"}),(0,i.jsx)(a.FormFieldText,{name:"stdin",label:"STDIN",multiline:!0,size:"fill"}),(0,i.jsx)(a.FormFieldText,{name:"description",label:"Description",size:"fill",required:!0}),(0,i.jsx)(a.FormFieldText,{name:"env",label:"Env Variables",multiline:!0,size:"fill",placeholder:"env1=val1\nenv2=val2\nenv3=val3"}),(0,i.jsx)(a.FormField,{name:"timeout",label:"Timeout",children:({setValue:e})=>(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(a.Switch,{onChange:m})," ",(0,i.jsx)(a.InputNumber,{min:1,disabled:!u,onChange:e})]})})]})};l.propTypes={isOpen:r().bool.isRequired,onClose:r().func.isRequired,onCreate:r().func.isRequired,onError:r().func.isRequired};const c=l},2509(e,t,n){"use strict";n.r(t),n.d(t,{default:()=>u});var a=n(342),i=n(341),s=n(2510),r=n(95),o=n(782),l=n.n(o);const c=r.Locale.getTranslate("components.lists.tasks.processes"),d=({processes:e,task:t,requestTasks:n,onError:o})=>{const[l,d]=(0,i.useState)(!1),[u,m]=(0,i.useState)(""),[k,p]=(0,i.useState)(""),[x,h]=(0,i.useState)(null),j=async(e,t)=>{const n=await fetch(`/admin/task-manager/${e}/?id=${t}`,{method:"GET"});200===n.status?(m(await n.text()),d(!0),p(`${e.toUpperCase()}`)):o((0,i.jsx)(c,{content:"dataLoadFailed"}))};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(a.Dialog,{isOpen:l,title:k,size:"lg",onClose:()=>d(!1),children:(0,i.jsx)(a.ConsoleOutput,{children:u})}),(({cmd:e})=>(0,i.jsx)(a.Alert,{children:(0,i.jsxs)(a.Columns,{children:[(0,i.jsx)(a.Column,{fill:!0,children:e.join(" ")}),(0,i.jsx)(a.Column,{width:30,children:(0,i.jsx)(a.Button,{ghost:!0,icon:"copy",tooltip:(0,i.jsx)(c,{content:"copyToClipboard"}),onClick:()=>(async(e,t)=>{try{const{commandLine:n}=await r.api.post("/admin/task-manager/command-line",{cmd:e});t(n)}catch{o((0,i.jsx)(c,{content:"commandLineLoadFailed"}))}})(e,a.copyToClipboard)})})]})}))(t),(({id:e,timeout:t,concurrencyRules:n,requestorId:r,created:o,updated:l,env:d})=>(0,i.jsx)(a.Cuttable,{maxHeight:0,children:(0,i.jsxs)(a.Section,{children:[(0,i.jsx)(a.SectionItem,{title:(0,i.jsx)(c,{content:"concurrency"}),children:n?n.map(e=>(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(a.Label,{intent:"inactive",children:e})," "]},e)):"-"}),(0,i.jsx)(a.SectionItem,{title:(0,i.jsx)(c,{content:"taskIdSection"}),children:e}),(0,i.jsx)(a.SectionItem,{title:(0,i.jsx)(c,{content:"requestorIdSection"}),children:r||"-"}),(0,i.jsx)(a.SectionItem,{title:(0,i.jsx)(c,{content:"timeoutSection"}),children:t||"-"}),(0,i.jsx)(a.SectionItem,{title:(0,i.jsx)(c,{content:"createdSection"}),children:(0,s.formatDate)(o)}),(0,i.jsx)(a.SectionItem,{title:(0,i.jsx)(c,{content:"updatedSection"}),children:(0,s.formatDate)(l)}),(0,i.jsx)(a.SectionItem,{title:(0,i.jsx)(c,{content:"environmentSection"}),children:(0,i.jsx)(a.ConsoleOutput,{children:d?d.map(({key:e,value:t})=>`${e}=${t}`).join("\n"):""})})]})}))(t),void 0===e?(0,i.jsx)(a.ContentLoader,{}):(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(a.Dialog,{isOpen:!!x,title:(0,i.jsx)(c,{content:"stopProcess"}),size:"sm",onClose:()=>h(null),form:{submitButton:{children:(0,i.jsx)(c,{content:"buttonStopConfirm"})},onSubmit:async()=>{h(null);try{const{status:e,msg:t}
1=await r.api.post("/admin/task-manager/proc-stop/",{id:x});"error"===e?o(t||(0,i.jsx)(c,{content:"stopProcessFailed"})):await n()}catch{o((0,i.jsx)(c,{content:"stopProcessFailed"}))}}},children:(0,i.jsx)(c,{content:"stopProcessConfirm"})}),(0,i.jsx)(a.List,{rowKey:"id",columns:[{title:(0,i.jsx)(c,{content:"idTitle"}),key:"id"},{title:(0,i.jsx)(c,{content:"statusTitle"}),key:"status",align:"center",render:({status:e})=>(0,i.jsx)(a.Label,{intent:(0,s.mapStatusIntent)(e),children:e})},{title:(0,i.jsx)(c,{content:"startedTitle"}),key:"started",render:({started:e})=>(0,s.formatDate)(e)},{title:(0,i.jsx)(c,{content:"completedTitle"}),key:"completed",render:({completed:e})=>(0,s.formatDate)(e)},{title:(0,i.jsx)(c,{content:"pidTitle"}),align:"center",key:"pid"},{title:(0,i.jsx)(c,{content:"exitCodeTitle"}),key:"exitCode",align:"center"},{key:"actions",type:"actions",render:({status:e,id:t})=>(0,i.jsxs)(a.ListActions,{children:[(0,i.jsx)(a.ListAction,{primary:!0,icon:"arrow-down-in",onClick:()=>j("stdin",t),children:"Stdin"}),(0,i.jsx)(a.ListAction,{primary:!0,icon:"arrow-up-tray",onClick:()=>j("stdout",t),children:"Stdout"}),(0,i.jsx)(a.ListAction,{primary:!0,icon:"bug",onClick:()=>j("stderr",t),children:"Stderr"}),["STARTED","PROCESSING"].includes(e)?(0,i.jsx)(a.ListAction,{primary:!0,icon:"stop-circle",onClick:()=>h(t),children:(0,i.jsx)(c,{content:"stopProcess"})}):null]})}],data:e})]})]})};d.propTypes={task:l().object.isRequired,processes:l().array.isRequired,requestTasks:l().func.isRequired,onError:l().func.isRequired};const u=d},2508(e,t,n){"use strict";n.r(t),n.d(t,{default:()=>f});var a=n(341),i=n(342),s=n(785),r=n(95),o=n(909),l=n(718),c=n(2509),d=n(2511),u=n(2510),m=n(2512),k=n.n(m),p=n(903);const x=r.Locale.getTranslate("components.lists.tasks"),h=r.Locale.getSection("components.lists.tasks"),j=[10,20,30],g=[1,2,3,10],f=(0,o.withPageLayout)(()=>{const{data:{tasks:{list:e=[],summary:t=[],total:n}={},config:{taskManager:{allowCreate:o}={}}={}}={},loading:m,refetch:f}=(0,s.useQuery)(k(),{variables:{page:1,itemsPerPage:j[0]}}),[S,v]=(0,a.useState)(1),[y,b]=(0,a.useState)(j[0]),[T,C]=(0,a.useState)(!1),[F,N]=(0,a.useState)(""),E=(0,p.useDebounce)(F,300),[w,P]=(0,a.useState)(0),[I,D]=(0,a.useState)(0),[L,R]=(0,a.useState)([]),[A,O]=(0,a.useState)(null),[$,q]=(0,a.useState)(null),[M,V]=(0,a.useState)({}),B=(0,a.useRef)(!0),z=(0,i.useTranslate)("components.lists.tasks"),G=(0,a.useCallback)(()=>{const e={page:S,itemsPerPage:y,search:E,statusFilter:$?.toUpperCase()};f(e)},[y,S,f,E,$]);(0,a.useEffect)(()=>{B.current?B.current=!1:G()},[G]);const U=Math.ceil(n/y),H=(0,a.useCallback)(()=>{C(!1),G(),(0,l.addToast)({intent:"success",message:(0,a.jsx)(x,{content:"taskCreated"})})},[G]),W=(0,a.useCallback)(e=>{v(1),b(e)},[]),_=(0,a.useCallback)(e=>Z((0,a.jsxs)(a.Fragment,{children:[e,(0,a.jsx)("br",{}),(0,a.jsx)(x,{content:"moreDetails"})]})),[]),K=(0,a.useCallback)(e=>async()=>{try{const{status:t,msg:n}=await r.api.post("/admin/task-manager/retry/",{id:e});"error"===t?_(n||(0,a.jsx)(x,{content:"retryTaskFailed"})):await G()}catch{_((0,a.jsx)(x,{content:"retryTaskFailed"}))}},[_,G]),Q=(0,a.useCallback)(e=>{v(1),N(e)},[]),Y=(0,a.useRef)(),J=(0,a.useCallback)(e=>{D(e)},[]);(0,a.useEffect)(()=>(I>0&&(P(I),Y.current=setInterval(()=>{P(e=>0===e?(G(),I):--e)},1e3)),()=>clearInterval(Y.current)),[G,I]);const X=(0,a.useMemo)(()=>(0,a.jsxs)(i.Menu,{children:[(0,a.jsx)(i.MenuItem,{active:0===I,onClick:()=>J(0),children:(0,a.jsx)(x,{content:"pollingOff"})}),g.map(e=>(0,a.jsx)(i.MenuItem,{active:e===I,onClick:()=>J(e),children:(0,a.jsx)(x,{content:"pollingDelay",params:{delay:e}})},e))]}),[J,I]),Z=e=>(0,l.addToast)({message:[(0,a.jsx)("span",{children:e},e)],intent:"danger"});(0,a.useEffect)(()=>{m||ee()},[L,m]);const ee=()=>{e.forEach(e=>{-1===L.indexOf(e.id)||M[e.id]||(async({id:e})=>{try{const{processes:t,status:n,statusMessages:i}=await r.api.get("/admin/task-manager/processes",{id:e});if("error"===n)return void(i.length?i.forEach(({content:e})=>Z(e)):_((0,a.jsx)(x,{content:"processedLoadFailed"})));V(n=>({...n,[e]:t}))}catch{_((0,a.jsx)(x,{content:"processedLoadFailed"}))}})(e)})},te=t.filter(({count:e})=>e>0);return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(d.default,{isOpen:T,onClose:()=>C(!1),onCreate:H,onError:_}),(0,a.jsxs)(i.Toolbar,{children:[(0,a.jsx)(i.ToolbarGroup,{title:z("search"),style:{width:"100%"},children:(0,a.jsx)(i.SearchBar,{inputProps:{placeHolder:h.lmsg("searchPlaceholder")},maxWidth:-1,onTyping:Q,"data-id":"search-input"})}),(0,a.jsxs)(i.ToolbarGroup,{title:z("refresh"),children:[(0,a.jsxs)(i.Button,{icon:"refresh",tooltip:(0,a.jsx)(x,{content:"refreshDescription"}),onClick:()=>G(),disabled:m||!!I,"data-id":"refresh",children:[(0,a.jsx)(x,{content:"refresh"})," ",I&&w?w:null]}),(0,a.jsx)(i.Dropdown,{tooltip:"TimerList",menu:X,"data-id":"timer-dropdown"})]}),o?(0,a.jsx)(i.ToolbarGroup,{title:z("createTask"),children:(0,a.jsx)(i.Button,{icon:"plus",tooltip:(0,a.jsx)(x,{content:"createTask"}),onClick:()=>C(!0),"data-id":"create-new-task",children:(0,a.jsx)(x,{content:"createTask"})})}):null,(0,a.jsx)(i.ToolbarGroup,{title:(0,a.jsx)(x,{content:"openSwagger"}),children:(0,a.jsx)(i.Button,{icon:"net",tooltip:(0,a.jsx)(x,{content:"openSwagger"}),onClick:()=>window.open("/admin/task-manager/swagger-ui","_blank"),children:(0,a.jsx)(x,{content:"openSwagger"})})})]}),te.map(({status:e,count:t})=>(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(i.Button,{onClick:()=>(e=>{q(e!==$?e:null),v(1)})(e),state:e===$?"active":"",intent:(0,u.mapStatusIntent)(e),children:`${e} ${t}`})," "]},e)),(0,a.jsx)(i.Dialog,{isOpen:!!A,title:(0,a.jsx)(x,{content:"stopTask"}),size:"sm",onClose:()=>O(null),form:{submitButton:{children:(0,a.jsx)(x,{content:"buttonStopConfirm"})},onSubmit:async()=>{O(null);try{const{status:e,msg:t}=await r.api.post("/admin/task-manager/stop/",{id:A});"error"===e?_(t||(0,a.jsx)(x,{content:"stopTaskError"})):await G()}catch{_((0,a.jsx)(x,{content:"stopTaskError"}))}}},children:(0,a.jsx)(x,{content:"stopTaskConfirm"})}),(0,a.jsx)(i.List,{rowKey:"id",loading:m,columns:[{key:"status",title:(0,a.jsx)(x,{content:"statusTitle"}),render:({status:e})=>({children:(0,a.jsx)(i.Label,{intent:(0,u.mapStatusIntent)(e),children:e}),"data-field":"status"}
1),align:"center"},{key:"created",title:(0,a.jsx)(x,{content:"createdTitle"}),render:({created:e})=>({children:(0,u.formatDate)(e),className:"nowrap","data-field":"created"})},{key:"description",title:(0,a.jsx)(x,{content:"descriptionTitle"}),type:"title",truncate:!0,render:({description:e})=>({children:e,"data-field":"description"})},{key:"actions",type:"actions",render:({status:e,id:t})=>(0,a.jsxs)(i.ListActions,{children:[["FAILURE","RETRIABLE_FAILURE"].includes(e)?(0,a.jsx)(i.ListAction,{primary:!0,icon:"reload",onClick:K(t),children:(0,a.jsx)(x,{content:"retryTask"})}):null,["PROCESSING","NEW","CLAIMED"].includes(e)?(0,a.jsx)(i.ListAction,{primary:!0,icon:"stop-circle",onClick:()=>O(t),children:(0,a.jsx)(x,{content:"stopTask"})}):null]})}],data:e,renderRowBody:e=>(0,a.jsx)(c.default,{processes:M[e.id],task:e,requestTasks:G,onError:_}),onExpandedRowsChange:R,totalRows:n,pagination:(0,a.jsx)(i.Pagination,{current:S,total:U,onSelect:v,itemsPerPage:y,itemsPerPageOptions:j,onItemsPerPageChange:W})})]})})},2510(e,t,n){"use strict";n.r(t),n.d(t,{formatDate:()=>a,mapStatusIntent:()=>i});const a=e=>{if(!e)return"N/A";const t=new Date(e.substr(0,19)),n=[t.getFullYear(),t.getMonth()+1,t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds()].map(e=>4===`${e}`.length?e:`0${e}`.substr(-2));return`${n[0]}-${n[1]}-${n[2]} ${n[3]}:${n[4]}:${n[5]}`},i=e=>{switch(e.toUpperCase()){case"NEW":case"CLAIMED":default:return"inactive";case"SUCCESS":return"success";case"STARTED":case"PROCESSING":return"primary";case"FAILURE":case"RETRIABLE_FAILURE":case"TIMEOUT":case"STOPPED":return"danger"}}},2507(e,t,n){"use strict";n.r(t),n.d(t,{default:()=>a.default});var a=n(2508)},2512(e){var t={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"query",name:{kind:"Name",value:"TaskManagerPage"},variableDefinitions:[{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"itemsPerPage"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"Int"}}}},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"page"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"Int"}}}},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"search"}},type:{kind:"NamedType",name:{kind:"Name",value:"String"}}}
1,{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"statusFilter"}},type:{kind:"NamedType",name:{kind:"Name",value:"TaskStatusEnum"}}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"config"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"taskManager"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"allowCreate"}}]}}]}},{kind:"Field",name:{kind:"Name",value:"tasks"},arguments:[{kind:"Argument",name:{kind:"Name",value:"itemsPerPage"},value:{kind:"Variable",name:{kind:"Name",value:"itemsPerPage"}}},{kind:"Argument",name:{kind:"Name",value:"page"},value:{kind:"Variable",name:{kind:"Name",value:"page"}}},{kind:"Argument",name:{kind:"Name",value:"search"},value:{kind:"Variable",name:{kind:"Name",value:"search"}}},{kind:"Argument",name:{kind:"Name",value:"statusFilter"},value:{kind:"Variable",name:{kind:"Name",value:"statusFilter"}}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"list"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"requestorId"}},{kind:"Field",name:{kind:"Name",value:"concurrencyRules"}},{kind:"Field",name:{kind:"Name",value:"cmd"}},{kind:"Field",name:{kind:"Name",value:"description"}},{kind:"Field",name:{kind:"Name",value:"status"}},{kind:"Field",name:{kind:"Name",value:"timeout"}},{kind:"Field",name:{kind:"Name",value:"updated"}},{kind:"Field",name:{kind:"Name",value:"created"}},{kind:"Field",name:{kind:"Name",value:"env"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"key"}},{kind:"Field",name:{kind:"Name",value:"value"}}]}}]}},{kind:"Field",name:{kind:"Name",value:"total"}},{kind:"Field",name:{kind:"Name",value:"summary"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"status"}},{kind:"Field",name:{kind:"Name",value:"count"}}]}}]}}]}}],loc:{start:0,end:654}};t.loc.source={body:"query TaskManagerPage($itemsPerPage: Int!, $page: Int!, $search: String, $statusFilter: TaskStatusEnum) {\n config {\n taskManager {\n allowCreate\n }\n }\n tasks(itemsPerPage: $itemsPerPage, page: $page, search: $search, statusFilter: $statusFilter) {\n list {\n id\n requestorId\n concurrencyRules\n cmd\n description\n status\n timeout\n updated\n created\n env {\n key\n value\n }\n }\n total\n summary {\n status\n count\n }\n }\n}\n",name:"GraphQL request",locationOffset:{line:1,column:1}};function n(e,t){if("FragmentSpread"===e.kind)t.add(e.name.value);else if("VariableDefinition"===e.kind){var a=e.type;"NamedType"===a.kind&&t.add(a.name.value)}e.selectionSet&&e.selectionSet.selections.forEach(function(e){n(e,t)}),e.variableDefinitions&&e.variableDefinitions.forEach(function(e){n(e,t)}),e.definitions&&e.definitions.forEach(function(e){n(e,t)})}var a={};function i(e,t){for(var n=0;n<e.definitions.length;n++){var a=e.definitions[n];if(a.name&&a.name.value==t)return a}}t.definitions.forEach(function(e){if(e.name){var t=new Set;n(e,t),a[e.name.value]=t}}),e.exports=t,e.exports.TaskManagerPage=function(e,t){var n={kind:e.kind,definitions:[i(e,t)]};e.hasOwnProperty("loc")&&(n.loc=e.loc);var s=a[t]||new Set,r=new Set,o=new Set;for(s.forEach(function(e){o.add(e)});o.size>0;){var l=o;o=new Set,l.forEach(function(e){r.has(e)||(r.add(e),(a[e]||new Set).forEach(function(e){o.add(e)}))})}return r.forEach(function(t){var a=i(e,t);a&&n.definitions.push(a)}),n}(t,"TaskManagerPage")}}]); 2//# sourceMappingURL=index.js.map?46ecb69531df78fe3ad0
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.