UNPKG

n8n-editor-ui

Version:

Workflow Editor UI for n8n

2 lines 14.4 kB
!function(){try{("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{}).SENTRY_RELEASE={id:"n8n@2.13.4"}}catch(e){}}(),System.register(["./chunk-legacy-TXBRODOR.js","./vue.runtime.esm-bundler-legacy-IafOlCW8.js","./_MapCache-legacy-DwgdC8YO.js","./src-legacy-Dwzr7bD0.js","./_plugin-vue_export-helper-legacy-DEZAmQqp.js","./users.store-legacy-OKuN0qAC.js","./constants-legacy-DNCca_FT.js","./useCanvasOperations-legacy-DHjpE9Af.js","./NodeIcon-legacy-B4uktMo3.js","./KeyboardShortcutTooltip-legacy-B39T1G4_.js"],(function(e,t){var n,o,a,r,i,s,l,c,d,u,p,g,m,f,b,_,y,h,w,x,v,k,T,N,I,E,C,$,j,B,A,S,z,W,F,M,O,L,V,R,q,G,P,H,D,U,K,X,Z,Q,Y,J,ee,te,ne;return e({n:function(){function e({key:e,action:t}){te.customActions[e]=t}function t(e){const t=e.target;if(!(t instanceof Element)||"A"!==t.tagName)return;const n=t.getAttribute("data-action");if(n&&"function"==typeof o.value[n]){e.preventDefault();const a=function(e){const t={};for(let n=0;n<e.attributes.length;n++){const o=e.attributes[n];o.name.startsWith("data-action-parameter-")&&(t[o.name.replace("data-action-parameter-","")]=o.value)}return t}(t);o.value[n](a)}}function n(){window.top?window.top.location.reload():window.location.reload()}const o=c((()=>({reload:n,...te.customActions})));return g((()=>{te.delegatedClickHandler||(te.delegatedClickHandler=t,window.addEventListener("click",t),z.on("registerGlobalLinkAction",e))})),m((()=>{window.removeEventListener("click",t),te.delegatedClickHandler=null,z.off("registerGlobalLinkAction",e)})),{registerCustomAction:e,unregisterCustomAction:function(e){const{[e]:t,...n}=te.customActions;te.customActions=n}}},r:function(){const e=W(),t=F(),n=S(),o=M(),a=$(),r=I(),i=j(),s=X(),l=w(),d=A(),u=c((()=>P(t.workflow.connections))),p=c((()=>t.workflowObject));function g(e){a.showMessage({type:"error",message:e,title:l.baseText("workflowExtraction.error.failure"),duration:15e3})}function m(e){switch(e.errorCode){case"Input Edge To Non-Root Node":return l.baseText("workflowExtraction.error.selectionGraph.inputEdgeToNonRoot",{interpolate:{node:e.node}});case"Output Edge From Non-Leaf Node":return l.baseText("workflowExtraction.error.selectionGraph.outputEdgeFromNonLeaf",{interpolate:{node:e.node}});case"Multiple Input Nodes":return l.baseText("workflowExtraction.error.selectionGraph.multipleInputNodes",{interpolate:{nodes:[...e.nodes].map((e=>`'${e}'`)).join(", ")}});case"Multiple Output Nodes":return l.baseText("workflowExtraction.error.selectionGraph.multipleOutputNodes",{interpolate:{nodes:[...e.nodes].map((e=>`'${e}'`)).join(", ")}});case"No Continuous Path From Root To Leaf In Selection":return l.baseText("workflowExtraction.error.selectionGraph.noContinuousPathFromRootToLeaf",{interpolate:{start:e.start,end:e.end}})}}function f(n){const o=n.map(t.getNodeById).filter((e=>void 0!==e)),a=o.filter((e=>M().getNodeType(e.type,e.typeVersion)?.group.includes("trigger")));if(a.length>0)return g(l.baseText("workflowExtraction.error.triggerSelected",{interpolate:{nodes:a.map((e=>`'${e.name}'`)).join(", ")}})),!1;const r=V(new Set(o.map((e=>e.name))),u.value);return!!function(e){if(Array.isArray(e))return g(l.baseText("workflowExtraction.error.selectionGraph.listHeader",{interpolate:{body:e.map(m).map((e=>`- ${e}`)).join("<br>")}})),!1;const{start:n,end:o}=e,a=(e,n)=>{const o=t.getNodeByName(e);if(!o)return!0;const a=M().getNodeType(o.type,o.typeVersion);return!a||n(p.value,o,a).filter((e=>"string"==typeof e?"main"===e:"main"===e.type)).length<=1};return n&&!a(n,G)?(g(l.baseText("workflowExtraction.error.inputNodeHasMultipleInputBranches",{interpolate:{node:n}})),!1):o&&!a(o,K)?(g(l.baseText("workflowExtraction.error.outputNodeHasMultipleOutputBranches",{interpolate:{node:o}})),!1):!Array.isArray(e)}(r)&&(e.openModalWithData({name:U,data:{subGraph:o,selection:r}}),!0)}async function b(c,d,u){const{start:g,end:m}=c,f=t.workflow.nodes.map((e=>e.name));let b="Start";const _=d.map((e=>e.name));for(;_.includes(b);)b+="_1";let y="Return";for(;_.includes(y);)y+="_1";const h=m?p.value.getChildNodes(m,"main",1).map((e=>p.value.getNode(e)?.name)).filter((e=>void 0!==e)):[],w=m?p.value.getChildNodes(m,"ALL").map((e=>p.value.getNode(e))).filter((e=>null!==e)):[],{nodes:x,variables:v}=R(d,f,b,g?[g]:void 0);let k=`Call ${u}`;for(;f.includes(k);)k+="_1";const{nodes:T,variables:N}=R(w,w.map((e=>e.name)).concat(_),k,h),I=await async function(e){try{const o=await t.createNewWorkflow(e);try{await t.publishWorkflow(o.id,{versionId:o.versionId})}catch(n){console.error("Failed to activate extracted sub-workflow:",n)}const{href:i}=r.resolve({name:D.WORKFLOW,params:{name:o.id}});return a.showMessage({title:l.baseText("workflowExtraction.success.title"),message:l.baseText("workflowExtraction.success.message",{interpolate:{url:i}}),type:"success",duration:1e4}),o}catch(o){return a.showError(o,l.baseText("workflowExtraction.error.subworkflowCreationFailed")),null}}(function(e,{start:t,end:a},r,i,s,l,c,d){const u=Object.fromEntries(Object.entries(i).filter((([e])=>r.some((t=>t.name===e)))));a&&delete u[a];const p=r.find((e=>e.name===t)),g=p??r.sort(((e,t)=>e.position[1]-t.position[1]))[0],m=[g.position[0]-C,g.position[1]],f=r.find((e=>e.name===a)),b=f??r.sort(((e,t)=>t.position[1]-e.position[1]))[0],_=[b.position[0]+C,b.position[1]],y=l.size>0,h=o.getNodeType(g.type,g.typeVersion),w=void 0!==p||h&&O(h,"main")?{[c]:{main:[[{node:g.name,type:"main",index:0}]]}}:{},x=f&&y?{[f.name]:{main:[[{node:d,type:"main",index:0}]]}}:{},v=y?[{parameters:{assignments:{assignments:[...l.entries().map((e=>({id:q(),name:e[0],value:`={{ ${e[1]} }}`,type:"string"})))]},options:{}},type:"n8n-nodes-base.set",typeVersion:3.4,position:_,id:q(),name:d}]:[],k=0===s.size?{inputSource:"passthrough"}:{workflowInputs:{values:[...s.keys().map((e=>({name:e,type:"any"})))]}},T={id:q(),typeVersion:1.1,name:c,type:H,position:m,parameters:k};return{name:e,nodes:[...r,...v,T],connections:{...u,...w,...x},settings:{executionOrder:"v1"},projectId:n?.value?.homeProject?.id,parentFolderId:n?.value?.parentFolder?.id??void 0}}(u,c,x,t.workflow.connections,v,N,b,y));if(null===I)return!1;const E=function(e){const t=e.reduce(((e,t)=>[e[0]+t.position[0],e[1]+t.position[1],e[2]+1]),[0,0,0]);return[t[0]/t[2],t[1]/t[2]]}(d);return await async function(n,o,a,r,l){i.startRecordingUndo(),e.resetLastInteractedWith();const c=(await s.addNodes([n],{...ee,forcePosition:!0}))[0];a&&s.replaceNodeConnections(a,c.id,{...ee,replaceInputs:!1}),o&&s.replaceNodeConnections(o,c.id,{...ee,replaceOutputs:!1}),s.deleteNodes(r.map((e=>e.id)),ee);for(const e of l){const n=t.workflow.nodes.find((t=>t.id===e.id));(0,J.default)(e,n)||s.replaceNodeParameters(e.id,{...n?.parameters},{...e.parameters},ee)}e.markStateDirty(),i.stopRecordingUndo()}(function(e,t,n,o){return{parameters:{workflowId:{__rl:!0,value:e,mode:"list"},workflowInputs:{mappingMode:"defineBelow",value:Object.fromEntries(o.entries().map((([e,t])=>[e,`={{ ${t} }}`]))),matchingColumns:[...o.keys()],schema:[...o.keys().map((e=>({id:e,displayName:e,required:!1,defaultMatch:!1,display:!0,canBeUsedToMatch:!0,removed:!1})))],attemptToConvertTypes:!1,convertFieldsToString:!0},options:{}},type:"n8n-nodes-base.executeWorkflow",typeVersion:1.2,position:n,name:t}}(I.id,k,E,v),d.find((e=>e.name===g))?.id,d.find((e=>e.name===m))?.id,d,T),!0}return{adjacencyList:u,extractWorkflow:function(e){const t=f(e);!function(e,t){d.track("User started nodes to sub-workflow extraction",{node_count:e,success:t})}(e.length,t)},tryExtractNodesIntoSubworkflow:f,extractNodesIntoSubworkflow:async function(e,t,n){const o=await b(e,t,n);!function(e,t){d.track("User extracted nodes to sub-workflow",{node_count:e,success:t})}(t.length,o)}}}}),{setters:[function(e){n=e.o},function(e){o=e.$,a=e.A,r=e.C,i=e.E,s=e.N,l=e.Nt,c=e.S,d=e.Sn,u=e.T,p=e.Wt,g=e.X,m=e.Z,f=e._,b=e._n,_=e.j,y=e.w,h=e.yt},function(e){w=e.bt,x=e.xt},function(e){v=e.Bi,k=e.Bt,T=e.Qi,N=e.Zi,I=e._t},function(e){E=e.t},function(e){C=e.Pn,$=e.Tr,j=e._i,B=e.d,A=e.en,S=e.ia,z=e.mn,W=e.r,F=e.s,M=e.w},function(e){O=e.Fa,L=e.Go,V=e.Mi,R=e.Ri,q=e.Uo,G=e._a,P=e.ji,H=e.jo,D=e.ms,U=e.qs,K=e.va},function(e){X=e.t},function(e){Z=e.t},function(e){Q=e.t}],execute:function(){(Y=document.createElement("style")).textContent="._component_1chpr_125{align-items:stretch;display:flex;position:relative}._split_1chpr_131 ._button_1chpr_131{height:var(--spacing--2xl);border-top-right-radius:0;border-bottom-right-radius:0;padding-top:0;padding-bottom:0}._split_1chpr_131 ._button_1chpr_131:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){padding-left:var(--spacing--xs)}._split_1chpr_131 ._button_1chpr_131:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){padding-left:var(--spacing--xs)}._split_1chpr_131 ._button_1chpr_131:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-right:var(--spacing--xs)}._split_1chpr_131 ._button_1chpr_131:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-right:var(--spacing--xs)}._divider_1chpr_139{background-color:var(--button--color--text,var(--button--color--text--primary));width:1px}._chevron_1chpr_144{width:40px;height:var(--spacing--2xl);border-top-left-radius:0;border-bottom-left-radius:0}._menu_1chpr_151 .el-dropdown{height:100%}._menuPopper_1chpr_155{max-width:none!important}._menuItem_1chpr_159{align-items:center;gap:var(--spacing--2xs);display:flex}._menuItem_1chpr_159._disabled_1chpr_165 ._menuIcon_1chpr_165{opacity:.2}._buttonContent_1chpr_169{gap:var(--spacing--5xs);flex-direction:column;display:flex;align-items:flex-start!important}._subText_1chpr_176{font-size:var(--font-size--2xs)}\n/*$vite$:1*/",document.head.appendChild(Y);try{t="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},(g=(new t.Error).stack)&&(t._sentryDebugIds=t._sentryDebugIds||{},t._sentryDebugIds[g]="f18d394d-a8c1-4efa-8822-5889d63af18d",t._sentryDebugIdIdentifier="sentry-dbid-f18d394d-a8c1-4efa-8822-5889d63af18d")}catch(t){}var t,g;J=n(L(),1),ee={trackBulk:!1,trackHistory:!0},te=l({customActions:{},delegatedClickHandler:null}),ne=s({__name:"CanvasRunWorkflowButton",props:{selectedTriggerNodeName:{},triggerNodes:{},waitingForWebhook:{type:Boolean},executing:{type:Boolean},disabled:{type:Boolean},hideTooltip:{type:Boolean},label:{},size:{},includeChatTrigger:{type:Boolean},getNodeType:{type:Function}},emits:["mouseenter","mouseleave","execute","selectTriggerNode"],setup(e,{emit:t}){const n=t,s=e,l=w(),g=c((()=>s.triggerNodes.filter((e=>!(e.disabled||!s.includeChatTrigger&&B(e)))))),m=c((()=>s.executing?s.waitingForWebhook?l.baseText("nodeView.runButtonText.waitingForTriggerEvent"):l.baseText("nodeView.runButtonText.executingWorkflow"):s.label??l.baseText("nodeView.runButtonText.executeWorkflow"))),I=c((()=>s.triggerNodes.filter((e=>!!s.includeChatTrigger||!B(e))).toSorted(((e,t)=>{const[n,o]=e.position,[a,r]=t.position;return o===r?n-a:o-r})).map((e=>({label:v(e.name,50),disabled:!!e.disabled||s.executing,id:e.name,checked:s.selectedTriggerNodeName===e.name}))))),E=c((()=>g.value.length>1&&void 0!==s.selectedTriggerNodeName));function C(e){const t=s.triggerNodes.find((t=>t.name===e));return t?s.getNodeType(t.type,t.typeVersion):null}return(t,c)=>(o(),i("div",{class:b([t.$style.component,E.value?t.$style.split:""])},[_(Q,{label:m.value,shortcut:{metaKey:!0,keys:["↵"]},disabled:e.executing||e.hideTooltip},{default:h((()=>[_(p(T),{variant:"solid",class:b(t.$style.button),loading:e.executing,iconOnly:e.executing,"aria-label":p(l).baseText("nodeView.runButtonText.executeWorkflow"),disabled:e.disabled,size:e.size??"large",icon:"flask-conical","data-test-id":"execute-workflow-button",onMouseenter:c[0]||(c[0]=e=>t.$emit("mouseenter",e)),onMouseleave:c[1]||(c[1]=e=>t.$emit("mouseleave",e)),onClick:c[2]||(c[2]=e=>n("execute"))},{default:h((()=>[r("span",{class:b(t.$style.buttonContent)},[a(d(m.value)+" ",1),E.value?(o(),y(p(N),{key:0,class:b(t.$style.subText),bold:!1},{default:h((()=>[_(p(x),{keypath:"nodeView.runButtonText.from",scope:"global"},{nodeName:h((()=>[_(p(N),{bold:"",size:"mini"},{default:h((()=>[a(d(p(v)(s.selectedTriggerNodeName??"",25)),1)])),_:1})])),_:1})])),_:1},8,["class"])):u("",!0)],2)])),_:1},8,["class","loading","iconOnly","aria-label","disabled","size"])])),_:1},8,["label","disabled"]),E.value?(o(),i(f,{key:0},[r("div",{role:"presentation",class:b(t.$style.divider)},null,2),_(p(k),{class:b(t.$style.menu),items:I.value,disabled:e.disabled,placement:"top","extra-popper-class":t.$style.menuPopper,onSelect:c[3]||(c[3]=e=>n("selectTriggerNode",e))},{activator:h((()=>[_(p(T),{variant:"solid","icon-size":"large",disabled:e.disabled,class:b(t.$style.chevron),"aria-label":"Select trigger node",icon:"chevron-down"},null,8,["disabled","class"])])),menuItem:h((e=>[r("div",{class:b([t.$style.menuItem,e.disabled?t.$style.disabled:""])},[_(Z,{class:b(t.$style.menuIcon),size:16,"node-type":C(e.id)},null,8,["class","node-type"]),r("span",null,[_(p(x),{keypath:"nodeView.runButtonText.from",scope:"global"},{nodeName:h((()=>[_(p(N),{bold:"",size:"small"},{default:h((()=>[a(d(e.label),1)])),_:2},1024)])),_:2},1024)])],2)])),_:1},8,["class","items","disabled","extra-popper-class"])],64)):u("",!0)],2))}}),e("t",E(ne,[["__cssModules",{$style:{component:"_component_1chpr_125",split:"_split_1chpr_131",button:"_button_1chpr_131",divider:"_divider_1chpr_139",chevron:"_chevron_1chpr_144",menu:"_menu_1chpr_151",menuPopper:"_menuPopper_1chpr_155",menuItem:"_menuItem_1chpr_159",disabled:"_disabled_1chpr_165",menuIcon:"_menuIcon_1chpr_165",buttonContent:"_buttonContent_1chpr_169",subText:"_subText_1chpr_176"}}]]))}}})); //# sourceMappingURL=CanvasRunWorkflowButton-legacy-CQaoLiCa.js.map