UNPKG

n8n-editor-ui

Version:

Workflow Editor UI for n8n

2 lines 41 kB
!function(){try{("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{}).SENTRY_RELEASE={id:"n8n@2.16.1"}}catch(e){}}(),System.register(["./chunk-legacy-Dz3fjYb5.js","./vue.runtime.esm-bundler-legacy-BW6xDdqj.js","./core-legacy-VD8c7QJ-.js","./src-legacy-B67uuxhB.js","./_plugin-vue_export-helper-legacy-DFdC_I5Z.js","./users.store-legacy-azRUgFdP.js","./ParameterInputList-legacy-BQq1pmzT.js","./constants-legacy-2_ytuuS3.js","./useClipboard-legacy-DnQV92ly.js","./useCanvasOperations-legacy-B8cM-OAy.js","./nodeTransforms-legacy-BzsOh7r-.js","./NodeIcon-legacy-CCBkNBDS.js","./VirtualSchema-legacy-CUc7u758.js","./KeyboardShortcutTooltip-legacy-Dj9i12D0.js","./useExpressionResolveCtx-legacy-DqYbcufM.js"],(function(e,t){var n,a,o,s,r,i,l,d,c,u,p,g,m,f,y,v,b,h,_,w,k,T,x,C,N,I,z,S,j,$,O,M,P,A,E,B,V,W,D,L,q,H,U,F,R,G,K,Q,X,Z,Y,J,ee,te,ne,ae,oe,se,re,ie,le,de,ce,ue,pe,ge,me,fe,ye,ve,be,he,_e,we,ke,Te,xe,Ce,Ne,Ie,ze,Se,je,$e,Oe,Me,Pe,Ae,Ee,Be,Ve,We,De,Le,qe,He,Ue,Fe,Re,Ge,Ke;function Qe(e,t){const n=new Set,a=Pe(e,t);for(const s of a)n.add(s.name);const o=t.issues?.credentials??{};for(const s of Object.keys(o))n.add(s);if(t.credentials)for(const s of Object.keys(t.credentials))n.add(s);return Array.from(n)}function Xe(e,t){const n=e.getNodeType(t.type,t.typeVersion);if(!n)return{};const a={...t.parameters};for(const l of n.properties)l.name in a||void 0===l.default||(a[l.name]=l.default);const o={...t,parameters:a},s=be(n.properties,o,n)?.parameters??{},r=new Map;for(const l of n.properties){const e=r.get(l.name);e?e.push(l):r.set(l.name,[l])}const i={};for(const[l,d]of Object.entries(s)){const e=r.get(l);e&&e.some((e=>"hidden"!==e.type&&!(e.displayOptions&&!pe(a,e,o,n))))&&(i[l]=d)}return i}function Ze(e,t){if(e.credentialType){if(!e.selectedCredentialId||(e.issues?.length??0)>0)return!1;if(t.isCredentialTestedOk&&e.selectedCredentialId&&!t.isCredentialTestedOk(e.selectedCredentialId))return!1}return!(Object.keys(e.parameterIssues).length>0||t.hasUnfilledTemplateParams(e.node)||e.isTrigger&&e.node.name===t.firstTriggerName&&!t.hasTriggerExecuted(e.node.name))}function Ye(e,t,n,a){return{node:e,isComplete:t.every((e=>{const t=n.find((t=>t.credentialType===e));return!t||!!t.selectedCredentialId&&0===t.issues.length}))&&a}}function Je(e){if(e.nodeGroup){const{parentState:t,subnodeCards:n}=e.nodeGroup;return(!t||t.isComplete)&&n.every((e=>e.isComplete))}return e.state.isComplete}function et(e,t,n){const a=new Set,o=t.get(e);if(!o)return a;for(const s of o){if(n.has(s))continue;n.add(s),a.add(s);const e=et(s,t,n);for(const t of e)a.add(t)}return a}function tt(e,t,n,a){const o=function(e,t){const n=new Map;for(const a of e){const e=t[a.name];if(!e)continue;const o=new Set;for(const t of Object.keys(e))if(t!==we.Main)for(const n of e[t]??[])for(const e of n??[])o.add(e.node);o.size>0&&n.set(a.name,o)}return n}(t,n);if(0===o.size)return e;const s=new Set;for(const p of o.values())for(const e of p)s.add(e);const r=[];for(const p of o.keys())s.has(p)||r.push(p);if(0===r.length)return e;const i=new Set,l=new Map,d=[...r].sort(((e,t)=>a.indexOf(e)-a.indexOf(t)));for(const p of d){const n=t.find((e=>e.name===p));if(!n)continue;const a=et(p,o,new Set);for(const e of[...a])i.has(e)&&a.delete(e);const s=[];let r;for(const t of e){if(!t.state)continue;const e=t.state.node.name;a.has(e)&&!i.has(e)&&s.push(t.state),e!==p||i.has(e)||(r=t.state)}if(0!==s.length){for(const e of s)i.add(e.node.name);r&&i.add(n.name),l.set(p,{parentNode:n,parentState:r,subnodeCards:s})}}if(0===l.size)return e;const c=[],u=new Set;for(const p of e){const e=p.state.node.name;if(i.has(e)){const t=l.get(e);if(t&&!u.has(e)&&(c.push({nodeGroup:t}),u.add(e)),!t)for(const[n,a]of l)if(!u.has(n)&&(a.subnodeCards.some((t=>t.node.name===e))||a.parentState?.node.name===e)){c.push({nodeGroup:a}),u.add(n);break}}else c.push(p)}return c}return e({a:function(e){const t=de(),n=R(),a=p((()=>l(e))),o=p((()=>a.value?t.getNodeType(a.value.type,a.value.typeVersion):null)),s=p((()=>o.value?.webhooks?o.value.webhooks.filter((e=>!0!==e.restartWebhook)):[]));async function r(e,t,a){const o=e[t];if("string"==typeof o)try{return!!(await n.getWebhookExpressionValue(e,t,!0,a))}catch{return!1}return!!o}async function i(e,t){let a=!e.ndvHideMethod,o="";try{const s=await n.getWebhookExpressionValue(e,"httpMethod",!1,t);Array.isArray(s)&&1!==s.length?a=!1:(o=Array.isArray(s)?s[0]:s,"string"==typeof e.ndvHideMethod&&(a=!(await r(e,"ndvHideMethod",t))))}catch{}return{httpMethod:o,isMethodVisible:a}}return{webhookUrls:S((async()=>{const e=a.value;if(!e||0===s.value.length)return[];if("@n8n/n8n-nodes-langchain.chatTrigger"===o.value?.name)return[];e.parameters;const t=[];for(const a of s.value){const o=e.name;if(await r(a,"ndvHideUrl",o))continue;const s=await n.getWebhookUrl(a,e,"test"),{httpMethod:l,isMethodVisible:d}=await i(a,o);t.push({url:s,httpMethod:l,isMethodVisible:d})}return t}),[])}},c:Je,i:function(e){const t=de(),n=p((()=>t.getNodeType(e.value.parentNode.type,e.value.parentNode.typeVersion))),a=p((()=>e.value.subnodeCards)),o=p((()=>{const t=[];return e.value.parentState&&t.push(e.value.parentState),t.push(...a.value),t})),s=c({});function r(e){return s[e]||(s[e]=[]),s[e]}const l=c({});!function(){for(const t of o.value)t.node.id in l||(l[t.node.id]=!1);const e=o.value.find((e=>!e.isComplete));e&&(l[e.node.id]=!0)}();const d=new Map;_(o,(e=>{for(const t of e){const n=d.get(t.node.id)??!1;if(t.isComplete&&!n&&!Ge(t)){l[t.node.id]=!1;const n=e.find((e=>!e.isComplete&&e.node.id!==t.node.id));n&&(l[n.node.id]=!0)}}d.clear();for(const t of e)d.set(t.node.id,t.isComplete)}),{deep:!0});const u=i(null);return{parentNodeType:n,subnodeSections:a,allSections:o,getStickyParameters:r,addStickyParameters:function(e,t){r(e).push(...t)},expandedSections:l,toggleSection:function(e){l[e]=!l[e]},hoveredSection:u,onSectionMouseEnter:function(e){u.value=e},onSectionMouseLeave:function(){u.value=null},getSectionNodeType:function(e){return t.getNodeType(e.node.type,e.node.typeVersion)}}},l:function(e){return!!e.nodeGroup},m:function(){const e=se(),t=le(),n=K(),a=de(),o=H(),s=B(),r=q(),i=Me(),l=I(),d=Z(),c=p((()=>Ne(n?.value?.connectionsBySourceNode??{}))),u=p((()=>t.workflowObject));function g(e){o.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 a=n.map(t.getNodeById).filter((e=>void 0!==e)),o=a.filter((e=>de().getNodeType(e.type,e.typeVersion)?.group.includes("trigger")));if(o.length>0)return g(l.baseText("workflowExtraction.error.triggerSelected",{interpolate:{nodes:o.map((e=>`'${e.name}'`)).join(", ")}})),!1;const s=ke(new Set(a.map((e=>e.name))),c.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:a}=e,o=(e,n)=>{const a=t.getNodeByName(e);if(!a)return!0;const o=de().getNodeType(a.type,a.typeVersion);return!o||n(u.value,a,o).filter((e=>"string"==typeof e?"main"===e:"main"===e.type)).length<=1};return n&&!o(n,Ie)?(g(l.baseText("workflowExtraction.error.inputNodeHasMultipleInputBranches",{interpolate:{node:n}})),!1):a&&!o(a,Se)?(g(l.baseText("workflowExtraction.error.outputNodeHasMultipleOutputBranches",{interpolate:{node:a}})),!1):!Array.isArray(e)}(s)&&(e.openModalWithData({name:fe,data:{subGraph:a,selection:s}}),!0)}async function y(d,c,p){const{start:g,end:m}=d,f=t.workflow.nodes.map((e=>e.name));let y="Start";const v=c.map((e=>e.name));for(;v.includes(y);)y+="_1";let b="Return";for(;v.includes(b);)b+="_1";const h=m?u.value.getChildNodes(m,"main",1).map((e=>u.value.getNode(e)?.name)).filter((e=>void 0!==e)):[],_=m?u.value.getChildNodes(m,"ALL").map((e=>u.value.getNode(e))).filter((e=>null!==e)):[],{nodes:w,variables:k}=ge(c,f,y,g?[g]:void 0);let T=`Call ${p}`;for(;f.includes(T);)T+="_1";const{nodes:x,variables:C}=ge(_,_.map((e=>e.name)).concat(v),T,h),N=await async function(e){try{const a=await t.createNewWorkflow(e);try{await t.publishWorkflow(a.id,{versionId:a.versionId})}catch(n){console.error("Failed to activate extracted sub-workflow:",n)}const{href:r}=s.resolve({name:ve.WORKFLOW,params:{name:a.id}});return o.showMessage({title:l.baseText("workflowExtraction.success.title"),message:l.baseText("workflowExtraction.success.message",{interpolate:{url:r}}),type:"success",duration:1e4}),a}catch(a){return o.showError(a,l.baseText("workflowExtraction.error.subworkflowCreationFailed")),null}}(function(e,{start:t,end:o},s,r,i,l,d,c){const u=Object.fromEntries(Object.entries(r).filter((([e])=>s.some((t=>t.name===e)))));o&&delete u[o];const p=s.find((e=>e.name===t)),g=p??s.sort(((e,t)=>e.position[1]-t.position[1]))[0],m=[g.position[0]-F,g.position[1]],f=s.find((e=>e.name===o)),y=f??s.sort(((e,t)=>t.position[1]-e.position[1]))[0],v=[y.position[0]+F,y.position[1]],b=l.size>0,h=a.getNodeType(g.type,g.typeVersion),_=void 0!==p||h&&he(h,"main")?{[d]:{main:[[{node:g.name,type:"main",index:0}]]}}:{},w=f&&b?{[f.name]:{main:[[{node:c,type:"main",index:0}]]}}:{},k=b?[{parameters:{assignments:{assignments:[...l.entries().map((e=>({id:me(),name:e[0],value:`={{ ${e[1]} }}`,type:"string"})))]},options:{}},type:"n8n-nodes-base.set",typeVersion:3.4,position:v,id:me(),name:c}]:[],T=0===i.size?{inputSource:"passthrough"}:{workflowInputs:{values:[...i.keys().map((e=>({name:e,type:"any"})))]}},x={id:me(),typeVersion:1.1,name:d,type:Te,position:m,parameters:T};return{name:e,nodes:[...s,...k,x],connections:{...u,..._,...w},settings:{executionOrder:"v1"},projectId:n?.value?.homeProject?.id,parentFolderId:n?.value?.parentFolder?.id??void 0}}(p,d,w,n?.value?.connectionsBySourceNode??{},k,C,y,b));if(null===N)return!1;const I=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]]}(c);return await async function(n,a,o,s,l){r.startRecordingUndo(),e.resetLastInteractedWith();const d=(await i.addNodes([n],{...Le,forcePosition:!0}))[0];o&&i.replaceNodeConnections(o,d.id,{...Le,replaceInputs:!1}),a&&i.replaceNodeConnections(a,d.id,{...Le,replaceOutputs:!1}),i.deleteNodes(s.map((e=>e.id)),Le);for(const e of l){const n=t.workflow.nodes.find((t=>t.id===e.id));(0,De.default)(e,n)||i.replaceNodeParameters(e.id,{...n?.parameters},{...e.parameters},Le)}e.markStateDirty(),r.stopRecordingUndo()}(function(e,t,n,a){return{parameters:{workflowId:{__rl:!0,value:e,mode:"list"},workflowInputs:{mappingMode:"defineBelow",value:Object.fromEntries(a.entries().map((([e,t])=>[e,`={{ ${t} }}`]))),matchingColumns:[...a.keys()],schema:[...a.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}}(N.id,T,I,k),c.find((e=>e.name===g))?.id,c.find((e=>e.name===m))?.id,c,x),!0}return{adjacencyList:c,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 a=await y(e,t,n);!function(e,t){d.track("User extracted nodes to sub-workflow",{node_count:e,success:t})}(t.length,a)}}},o:function(e,t){const n=I(),a=de(),o=le(),s=Oe(),{isExecuting:r,isListening:i,isListeningForWorkflowEvents:d,buttonLabel:c,buttonIcon:u,disabledReason:g,hasIssues:m,execute:f}=Ee(e,t),y=p((()=>l(e))),v=p((()=>y.value?a.getNodeType(y.value.type,y.value.typeVersion):null)),b=p((()=>!(!i.value&&!d.value)||"@n8n/n8n-nodes-langchain.chatTrigger"===v.value?.name&&s.isOpen&&o.chatPartialExecutionDestinationNode===y.value?.name)),h=p((()=>{if(!b.value||!v.value)return"";if(v.value.eventTriggerDescription)return v.value.eventTriggerDescription;const e=ae(v.value);return n.baseText("setupPanel.trigger.listeningHint",{interpolate:{service:e}})})),_=p((()=>b.value?n.baseText("ndv.execute.stopListening"):c.value)),w=p((()=>!!y.value&&o.workflowObject.getParentNodes(y.value.name,"ALL").some((e=>{const t=o.getNodeByName(e);return t?.issues?.parameters||t?.issues?.credentials}))));return{isExecuting:r,isButtonDisabled:p((()=>r.value||m.value||w.value||!!g.value)),label:_,buttonIcon:u,tooltipItems:p((()=>{if(!m.value&&!w.value)return g.value?[g.value]:[];const e=[],t=y.value?.issues;return t&&e.push(...Object.values(t.credentials??{}).flat(),...Object.values(t.parameters??{}).flat()),w.value&&e.push(n.baseText("ndv.execute.upstreamNodeHasIssues")),e.length>0?e:[n.baseText("ndv.execute.requiredFieldsMissing")]})),execute:f,isInListeningState:b,listeningHint:h}},p:function(){function e({key:e,action:t}){qe.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 a.value[n]){e.preventDefault();const o=function(e){const t={};for(let n=0;n<e.attributes.length;n++){const a=e.attributes[n];a.name.startsWith("data-action-parameter-")&&(t[a.name.replace("data-action-parameter-","")]=a.value)}return t}(t);a.value[n](o)}}function n(){window.top?window.top.location.reload():window.location.reload()}const a=p((()=>({reload:n,...qe.customActions})));return y((()=>{qe.delegatedClickHandler||(qe.delegatedClickHandler=t,window.addEventListener("click",t),U.on("registerGlobalLinkAction",e))})),v((()=>{window.removeEventListener("click",t),qe.delegatedClickHandler=null,U.off("registerGlobalLinkAction",e)})),{registerCustomAction:e,unregisterCustomAction:function(e){const{[e]:t,...n}=qe.customActions;qe.customActions=n}}}}),{setters:[function(e){n=e.o},function(e){a=e.$,o=e.A,s=e.C,r=e.E,i=e.Ft,l=e.Ht,d=e.N,c=e.Nt,u=e.O,p=e.S,g=e.Sn,m=e.T,f=e.Wt,y=e.X,v=e.Z,b=e._,h=e._n,_=e.gt,w=e.it,k=e.j,T=e.rt,x=e.tt,C=e.w,N=e.yt},function(e){I=e.at,z=e.ot,S=e.t},function(e){j=e.Di,$=e.Ii,O=e.Kt,M=e.Mt,P=e.Qi,A=e.Xi,E=e.Zi,B=e.lt,V=e.tt},function(e){W=e.t},function(e){D=e.Et,L=e.Hn,q=e.Hr,H=e.Pn,U=e.Pt,F=e.Qt,R=e.Tt,G=e.Vn,K=e.aa,Q=e.cr,X=e.d,Z=e.fr,Y=e.gr,J=e.ir,ee=e.it,te=e.lr,ne=e.oa,ae=e.qi,oe=e.qt,se=e.r,re=e.ra,ie=e.rt,le=e.s,de=e.w},function(e){ce=e.O,ue=e.t},function(e){pe=e.$i,ge=e.Ci,me=e.Eo,fe=e.Ms,ye=e.Oo,e.Pt,ve=e.Qo,be=e.aa,he=e.ba,_e=e.bc,we=e.eo,ke=e.hi,Te=e.ho,xe=e.j,Ce=e.ja,e.ln,Ne=e.mi,Ie=e.na,ze=e.no,Se=e.ra,e.un,je=e.xn},function(e){$e=e.t},function(e){Oe=e.r,Me=e.t},function(e){Pe=e.i},function(e){Ae=e.t},function(e){Ee=e.r},function(e){Be=e.t},function(e){Ve=e.t}],execute:function(){(We=document.createElement("style")).textContent="._tooltipItem_jpymr_125{margin:0;padding:0}._tooltipItem_jpymr_125+._tooltipItem_jpymr_125{margin-top:var(--spacing--5xs)}._container_1w8i0_125{padding:0 var(--spacing--xs)}._header_1w8i0_129{align-items:center;gap:var(--spacing--4xs);cursor:pointer;user-select:none;display:flex}._chevron-icon_1w8i0_137{font-size:var(--font-size--xs);transition:transform .2s}._expanded_1w8i0_141 ._chevron-icon_1w8i0_137{transform:rotate(90deg)}._header-label_1w8i0_145{font-size:var(--font-size--2xs)}._url-list_1w8i0_149{gap:var(--spacing--4xs);margin-top:var(--spacing--4xs);margin-left:var(--spacing--sm);flex-direction:column;display:flex}._url-row_1w8i0_157{align-items:center;gap:var(--spacing--2xs);background-color:var(--color--foreground--tint-2);border-radius:var(--radius--sm);padding:var(--spacing--4xs) var(--spacing--2xs);cursor:pointer;display:flex}._method-badge_1w8i0_167{background-color:var(--color--foreground--shade-2);color:var(--color--foreground--tint-2);font-size:var(--font-size--2xs);font-weight:var(--font-weight--bold);border-radius:var(--radius--sm);padding:0 var(--spacing--4xs);line-height:var(--spacing--sm);text-align:center;flex-shrink:0}._url-text_1w8i0_179{font-size:var(--font-size--2xs);color:var(--color--text--shade-1);word-break:break-all;line-height:var(--line-height--xl);flex:1}._body_flk4k_125{gap:var(--spacing--2xs);flex-direction:column;display:flex}._credentialContainer_flk4k_131{flex-direction:column;display:flex}._credentialContainer_flk4k_131 .node-credentials{margin-top:0}._nodesHint_flk4k_139{font-size:var(--font-size--2xs);color:var(--color--text--tint-1);cursor:default}._component_bmdz8_125{align-items:stretch;display:flex;position:relative}._split_bmdz8_131 ._button_bmdz8_131{height:var(--height--xl);border-top-right-radius:0;border-bottom-right-radius:0;padding-top:0;padding-bottom:0}._split_bmdz8_131 ._button_bmdz8_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_bmdz8_131 ._button_bmdz8_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_bmdz8_131 ._button_bmdz8_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_bmdz8_131 ._button_bmdz8_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)}._split_bmdz8_131 ._button_bmdz8_131[data-icon-only]{width:var(--height--xl)}._split_bmdz8_131 ._button_bmdz8_131[data-icon-only]: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:0}._split_bmdz8_131 ._button_bmdz8_131[data-icon-only]: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:0}._split_bmdz8_131 ._button_bmdz8_131[data-icon-only]:-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:0}._split_bmdz8_131 ._button_bmdz8_131[data-icon-only]: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:0}._divider_bmdz8_143{background-color:var(--button--color--text,var(--button--color--text--primary));width:1px}._chevron_bmdz8_148{width:40px;height:var(--height--xl);border-top-left-radius:0;border-bottom-left-radius:0}._menu_bmdz8_155 .el-dropdown{height:100%}._menuPopper_bmdz8_159{max-width:none!important}._menuItem_bmdz8_163{align-items:center;gap:var(--spacing--2xs);display:flex}._menuItem_bmdz8_163._disabled_bmdz8_169 ._menuIcon_bmdz8_169{opacity:.2}._buttonContent_bmdz8_173{gap:var(--spacing--5xs);flex-direction:column;display:flex;align-items:flex-start!important}._subText_bmdz8_180{font-size:var(--font-size--2xs)}\n/*$vite$:1*/",document.head.appendChild(We);try{t="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},(l=(new t.Error).stack)&&(t._sentryDebugIds=t._sentryDebugIds||{},t._sentryDebugIds[l]="5ee19359-9761-4e58-ba88-eb35532e2a89",t._sentryDebugIdIdentifier="sentry-dbid-5ee19359-9761-4e58-ba88-eb35532e2a89")}catch(t){}var t,l;De=n(ye(),1),Le={trackBulk:!1,trackHistory:!0},qe=c({customActions:{},delegatedClickHandler:null}),He=d({__name:"TriggerExecuteButton",props:{label:{},icon:{},disabled:{type:Boolean},loading:{type:Boolean},tooltipItems:{}},emits:["click"],setup(e,{emit:t}){const n=e,o=t,s=p((()=>n.tooltipItems.length>0)),i=async()=>{o("click")};return(t,n)=>(a(),C(f(j),{disabled:!s.value,placement:"top"},{content:N((()=>[(a(!0),r(b,null,T(e.tooltipItems,((e,n)=>(a(),r("p",{key:n,class:h(t.$style.tooltipItem)},g(e),3)))),128))])),default:N((()=>[k(f(E),{"data-test-id":"trigger-execute-button",label:e.label,disabled:e.disabled,loading:e.loading,icon:e.icon,size:"small",onClick:i},null,8,["label","disabled","loading","icon"])])),_:1},8,["disabled"]))}}),e("f",W(He,[["__cssModules",{$style:{tooltipItem:"_tooltipItem_jpymr_125"}}]])),Ue=["onClick"],e("d",W(d({__name:"WebhookUrlPreview",props:{urls:{}},setup(e){const t=I(),n=$e(),o=H(),l=i(!1);return(i,d)=>(a(),r("div",{"data-test-id":"webhook-url-preview",class:h(i.$style.container)},[s("div",{class:h([i.$style.header,{[i.$style.expanded]:!l.value}]),onClick:d[0]||(d[0]=e=>l.value=!l.value)},[k(f(P),{icon:"chevron-right",class:h(i.$style["chevron-icon"])},null,8,["class"]),s("span",{class:h(i.$style["header-label"])},g(f(t).baseText("setupPanel.webhookUrl.title")),3)],2),k(f(O),null,{default:N((()=>[l.value?m("",!0):(a(),r("div",{key:0,class:h(i.$style["url-list"])},[(a(!0),r(b,null,T(e.urls,((e,l)=>(a(),C(f(j),{key:l,content:f(t).baseText("setupPanel.webhookUrl.clickToCopy"),placement:"top"},{default:N((()=>[s("div",{"data-test-id":"webhook-url-item",class:h(i.$style["url-row"]),onClick:a=>{return s=e.url,n.copy(s),void o.showMessage({title:t.baseText("setupPanel.webhookUrl.copied"),type:"success"});var s}},[e.isMethodVisible?(a(),r("span",{key:0,class:h(i.$style["method-badge"])},g(e.httpMethod),3)):m("",!0),s("span",{class:h(i.$style["url-text"])},g(e.url),3)],10,Ue)])),_:2},1032,["content"])))),128))],2))])),_:1})],2))}}),[["__cssModules",{$style:{container:"_container_1w8i0_125",header:"_header_1w8i0_129","chevron-icon":"_chevron-icon_1w8i0_137",expanded:"_expanded_1w8i0_141","header-label":"_header-label_1w8i0_145","url-list":"_url-list_1w8i0_149","url-row":"_url-row_1w8i0_157","method-badge":"_method-badge_1w8i0_167","url-text":"_url-text_1w8i0_179"}}]])),e("u",d({__name:"SetupCardSection",props:{state:{}},setup(e){const t=e;return x(_e,Ve(p((()=>t.state.node)))),(e,t)=>(a(),r("div",null,[w(e.$slots,"default")]))}})),Fe=e=>"n8n-nodes-base.httpRequest"===e||"n8n-nodes-base.httpRequestTool"===e,Re=d({__name:"SetupCardBody",props:{state:{},stickyParameters:{},isWizard:{type:Boolean}},emits:["credentialSelected","credentialDeselected","valueChanged","interacted","parametersDiscovered"],setup(e,{emit:t}){const n=new Set(["collection","fixedCollection","resourceMapper","filter","assignmentCollection"]),s=e,i=t,l=I(),d=de(),c=te(),y=D(),v=Y(),b=p((()=>d.getNodeType(s.state.node.type,s.state.node.typeVersion))),w=p((()=>Fe(s.state.node.type))),T=e=>n.has(e.type)||!0===e.typeOptions?.multipleValues,x=p((()=>{if(!b.value?.properties)return[];const e=Object.keys(s.state.parameterIssues),t=s.state.additionalParameterNames??[],n=new Set([...e,...t]);return b.value.properties.filter((e=>n.has(e.name)&&pe(s.state.node.parameters,e,s.state.node,b.value)))}));_(x,(e=>{if(!s.stickyParameters)return;const t=e.filter((e=>!s.stickyParameters.includes(e)));t.length>0&&i("parametersDiscovered",t)}),{immediate:!0});const z=p((()=>s.stickyParameters??x.value)),S=p((()=>z.value.filter((e=>!T(e))))),$=p((()=>z.value.filter(T).length)),O=p((()=>(s.state.allNodesUsingCredential??[]).map((e=>e.name)))),M=p((()=>O.value.join(", "))),P=()=>{v.setActiveNodeName(s.state.node.name,"other")},E=e=>{if(!s.state.credentialType)return;i("interacted");const t=e.properties.credentials?.[s.state.credentialType],n="string"==typeof t?void 0:t?.id;n?i("credentialSelected",{credentialType:s.state.credentialType,credentialId:n,nodeName:s.state.node.name}):i("credentialDeselected",{credentialType:s.state.credentialType,nodeName:s.state.node.name})},B=e=>{i("interacted");const t=s.isWizard?e.name.replace(/^parameters\./,""):e.name;y.updateNodeProperties({name:s.state.node.name,properties:{parameters:{...s.state.node.parameters,[t]:e.value}}}),c.updateNodesParameterIssues()};return(t,n)=>(a(),r("div",{class:h(t.$style.body)},[e.state.showCredentialPicker?(a(),r("div",{key:0,class:h(t.$style.credentialContainer)},[k(ce,{node:e.state.node,"override-cred-type":e.state.credentialType??"","skip-auto-select":w.value,"hide-issues":"",onCredentialSelected:E},u({_:2},[O.value.length>1?{name:"label-postfix",fn:N((()=>[k(f(j),{placement:"top"},{content:N((()=>[o(g(M.value),1)])),default:N((()=>[e.isWizard?(a(),C(f(A),{key:0,"data-test-id":"builder-setup-card-nodes-hint",size:"small",color:"text-light"},{default:N((()=>[o(g(f(l).baseText("setupPanel.usedInNodes",{interpolate:{count:String(O.value.length)}})),1)])),_:1})):(a(),r("span",{key:1,"data-test-id":"node-setup-card-nodes-hint",class:h(t.$style.nodesHint)},g(f(l).baseText("setupPanel.usedInNodes",{interpolate:{count:String(O.value.length)}})),3))])),_:1})])),key:"0"}:void 0]),1032,["node","override-cred-type","skip-auto-select"])],2)):m("",!0),S.value.length>0?(a(),C(ue,{key:1,parameters:S.value,"node-values":e.isWizard?{parameters:e.state.node.parameters}:e.state.node.parameters,"remove-first-parameter-margin":!0,"remove-last-parameter-margin":!0,node:e.state.node,"hide-delete":!0,path:e.isWizard?"parameters":void 0,"options-overrides":{hideExpressionSelector:!0,hideFocusPanelButton:!0},onValueChanged:B},null,8,["parameters","node-values","node","path"])):m("",!0),$.value>0?(a(),C(f(V),{key:2,"data-test-id":"builder-setup-card-configure-link",underline:!0,theme:"text",size:"medium",onClick:P},{default:N((()=>[o(g(f(l).baseText("aiAssistant.builder.setupWizard.configureParameters",{adjustToNumber:$.value,interpolate:{count:String($.value)}})),1)])),_:1})):m("",!0)],2))}}),e("s",W(Re,[["__cssModules",{$style:{body:"_body_flk4k_125",credentialContainer:"_credentialContainer_flk4k_131",nodesHint:"_nodesHint_flk4k_139"}}]])),e("r",Ge=e=>Object.keys(e.parameterIssues).length>0||(e.additionalParameterNames?.length??0)>0),e("n",((e,t)=>{const n=le(),a=ee(),o=de(),s=te(),r=Q(),l=oe(),d=p((()=>n.workflowId?ne(re(n.workflowId)):void 0)),c=p((()=>e?.value??d.value?.allNodes??[])),u=p((()=>{if(!d?.value?.meta?.templateId)return new Map;const e=new Map;for(const t of c.value){const n=new Set,a=o.getNodeType(t.type,t.typeVersion);if(a)for(const e of a.properties)"resourceLocator"===e.type&&n.add(e.name);const s=e=>{for(const[t,a]of Object.entries(e))Ce(a)?n.add(t):null===a||"object"!=typeof a||Array.isArray(a)||s(a)};s(t.parameters),n.size>0&&e.set(t.name,Array.from(n))}return e})),g=i(new Map),m=p((()=>{const e=new Map,n=t=>{for(const[n,a]of t){const t=e.get(n);if(t){const o=new Set([...t,...a]);e.set(n,Array.from(o))}else e.set(n,[...a])}};for(const[t,a]of u.value)e.set(t,[...a]);n(g.value),t?.additionalParametersByNode?.value&&n(t.additionalParametersByNode.value);for(const[t,a]of z.value){const n=e.get(t);if(n){const o=new Set([...n,...a]);e.set(t,Array.from(o))}else e.set(t,Array.from(a))}return e})),f=e=>(m.value.get(e)?.length??0)>0,y=e=>{const t=m.value.get(e.name);if(!t||0===t.length)return!1;const n=new Set(t),a=e=>{for(const[t,o]of Object.entries(e)){if(n.has(t))if(Ce(o)){if(!o.value||L(o.value))return!0}else{if(""===o||null==o||L(o))return!0;if("object"==typeof o&&null!==o&&G(o).length>0)return!0}if(null!==o&&"object"==typeof o&&!Array.isArray(o)&&a(o))return!0}return!1};return a(e.parameters)};!async function(){const e=d?.value?.meta?.templateId;if(e)try{const t=l.getFullTemplateById(e)??await l.fetchTemplateById(e);if(!t?.workflow?.nodes)return;const n=new Map;for(const e of t.workflow.nodes){const t=Xe(o,e),a=Object.keys(t);a.length>0&&n.set(e.name,a)}g.value=n}catch{}}();const v=e=>a.getCredentialTypeByName(e)?.displayName??e,b=e=>!!a.getCredentialTypeByName(e)?.test||a.getNodesWithAccess(e).some((t=>t.credentials?.some((t=>t.name===e&&t.testedBy)))),h=e=>o.isTriggerNode(e.type),w=e=>{const t=n.getWorkflowResultDataByNodeName(e);return null!==t&&t.length>0},k=i(new Set),T=(e,t)=>{try{const a=n.workflowObject.expression.getParameterValue(e,null,0,0,t,[],"manual",{$execution:{id:xe,mode:"test",resumeUrl:xe,resumeFormUrl:xe},$vars:r.variablesAsObject});return"string"==typeof a?a:null}catch{return null}},x=i(new Set),C=i(new Set),N=i(new Set),I=i(new Set),z=i(new Map),S=p((()=>{const e=c.value.filter((e=>!e.disabled)).map((e=>({node:e,credentialTypes:Qe(o,e),parameterIssues:Xe(o,e),isTrigger:h(e)}))).filter((({credentialTypes:e,isTrigger:t,parameterIssues:n,node:a})=>x.value.has(a.id)||e.length>0||t||Object.keys(n).length>0||f(a.name))),t={};for(const n of c.value)t[n.name]=n.type;return J(e,d.value?.connectionsBySourceNode??{},d.value?.connectionsByDestinationNode??{},t)}));_(S,(e=>{for(const{node:t,parameterIssues:n}of e){x.value.add(t.id);const e=Object.keys(n);if(e.length>0){const n=z.value.get(t.name);if(n)for(const t of e)n.add(t);else z.value.set(t.name,new Set(e))}}}),{immediate:!0});const j=p((()=>S.value.find((({isTrigger:e})=>e))?.node.name??null)),$=p((()=>S.value.filter((({credentialTypes:e})=>e.length>0)))),O=p((()=>S.value.filter((({parameterIssues:e,node:t})=>C.value.has(t.id)||Object.keys(e).length>0||f(t.name)))));_(O,(e=>{for(const{node:t}of e)C.value.add(t.id)}),{immediate:!0});const M=p((()=>{const e=new Set(I.value);for(const{credentialTypes:t,parameterIssues:n,node:a}of S.value)if(Object.keys(n).length>0||f(a.name))for(const o of t)e.add(o);return e}));_(M,(e=>{for(const t of e)I.value.add(t)}),{immediate:!0});const P=e=>({firstTriggerName:j.value,hasTriggerExecuted:w,isTriggerNode:e=>o.isTriggerNode(e),isCredentialTestedOk:e&&b(e)?a.isCredentialTestedOk:void 0,hasUnfilledTemplateParams:y}),A=p((()=>function(e,t,n){const a=new Map;for(const{node:o,credentialTypes:s}of e)for(const e of s){const s=Fe(o.type),r=o.parameters.url;let i;if(s)if(ze(r)){const t=n?.(r,o.name)??null;i=null!==t?`${e}:http:${t}`:`${e}:http:${o.name}`}else i=`${e}:http:${String(r??"")}`;else i=e;const l=a.get(i);if(l){l.nodes.push(o);const t=o.issues?.credentials?.[e];if(t){const e=[t].flat();for(const t of e)l.issues.includes(t)||l.issues.push(t)}if(!l.selectedCredentialId){const t=o.credentials?.[e];"string"!=typeof t&&t?.id&&(l.selectedCredentialId=t.id)}}else{const n=o.credentials?.[e],s="string"==typeof n?void 0:n?.id??void 0,r=[(o.issues?.credentials??{})[e]??[]].flat();a.set(i,{credentialType:e,credentialDisplayName:t(e),selectedCredentialId:s,issues:r,nodes:[o],isComplete:!1})}}for(const o of a.values())o.isComplete=!!o.selectedCredentialId&&0===o.issues.length;return Array.from(a.values())}($.value.filter((({credentialTypes:e})=>!e.some((e=>M.value.has(e))))).map((({node:e,credentialTypes:t})=>({node:e,credentialTypes:t}))),v,T).map((e=>{const t=!!e.selectedCredentialId&&k.value.has(e.selectedCredentialId);return{...e,isComplete:(n=e,a=P(e.credentialType),!(!n.selectedCredentialId||0!==n.issues.length)&&!(a.isCredentialTestedOk&&n.selectedCredentialId&&!a.isCredentialTestedOk(n.selectedCredentialId))&&n.nodes.filter((e=>a.isTriggerNode(e.type)&&e.name===a.firstTriggerName)).every((e=>a.hasTriggerExecuted(e.name)))),isAutoApplied:t};var n,a})))),E=p((()=>{if(!j.value)return[];const e=S.value.find((({isTrigger:e,node:t})=>e&&t.name===j.value));if(!e)return[];if(A.value.some((e=>e.nodes.some((e=>h(e)&&e.name===j.value)))))return[];const{credentialTypes:t,parameterIssues:n,node:a}=e,s=Object.keys(n).length>0||f(a.name);if(t.length>0&&t.some((e=>M.value.has(e)))||s)return[];const r=o.getNodeType(a.type,a.typeVersion);return r?.webhooks?.length||r?.polling||r?.triggerPanel?[Ye(a,t,A.value,w(a.name))]:[]})),B=p((()=>{const e=[];for(const o of O.value){if(o.credentialTypes.length>0)continue;const{node:t,parameterIssues:n,isTrigger:a}=o,s={node:t,parameterIssues:n,additionalParameterNames:m.value.get(t.name),isTrigger:a,isComplete:!1};s.isComplete=Ze(s,P()),e.push(s)}const t=new Map,n=new Map;for(const o of S.value){const{node:e,credentialTypes:a,parameterIssues:s}=o;if(0!==a.length)for(const r of a){if(!M.value.has(r))continue;t.has(r)||t.set(r,[]),t.get(r).some((t=>t.id===e.id))||t.get(r).push(e);const a=`${r}:${e.id}`,i=Object.keys(s).length>0,l=f(e.name),d=N.value.has(a);(i||l||d)&&(n.has(r)||n.set(r,[]),n.get(r).push(o))}}const a=new Set;for(const[o,s]of n){let n=!0;const r=t.get(o)??[];for(const t of s){const{node:s,parameterIssues:i,isTrigger:l}=t,d=`${o}:${s.id}`;if(a.has(d))continue;a.add(d);const c=s.credentials?.[o],u="string"==typeof c?void 0:c?.id??void 0,p=[(s.issues?.credentials??{})[o]??[]].flat(),g=!!u&&k.value.has(u),f={node:s,credentialType:o,credentialDisplayName:v(o),selectedCredentialId:u,issues:p,parameterIssues:i,additionalParameterNames:m.value.get(s.name),isTrigger:l,showCredentialPicker:n,isComplete:!1,allNodesUsingCredential:r,isAutoApplied:g};f.isComplete=Ze(f,P(o)),e.push(f),n=!1}}return e}));_(B,(e=>{for(const t of e)t.credentialType&&N.value.add(`${t.credentialType}:${t.node.id}`)}),{immediate:!0});const V=p((()=>{const e=[...A.value.map((e=>({node:e.nodes[0],credentialType:e.credentialType,credentialDisplayName:e.credentialDisplayName,selectedCredentialId:e.selectedCredentialId,issues:e.issues,parameterIssues:{},isTrigger:h(e.nodes[0]),showCredentialPicker:!0,isComplete:e.isComplete,isAutoApplied:e.isAutoApplied,allNodesUsingCredential:e.nodes}))),...E.value.map((e=>({node:e.node,parameterIssues:{},isTrigger:!0,isComplete:e.isComplete}))),...B.value].filter((e=>e.node.type!==je)).map((e=>({state:e}))),t=S.value.map((({node:e})=>e.name));return e.sort(((e,n)=>t.indexOf(e.state.node.name)-t.indexOf(n.state.node.name))),tt(e,c.value,n.connectionsByDestinationNode,t)})),W=p((()=>A.value.filter((e=>!e.isComplete)).length)),D=p((()=>V.value.length)),q=p((()=>V.value.length>0&&V.value.every((e=>Je(e)))));async function H(e,t,n){if(b(n)&&!a.isCredentialTestedOk(e)&&!a.isCredentialTestPending(e))try{const o=await a.getCredentialData({id:e});if(!o?.data||"string"==typeof o.data)return;if(a.isCredentialTestedOk(e)||a.isCredentialTestPending(e))return;const{ownedBy:s,sharedWithProjects:r,oauthTokenData:i,...l}=o.data;if(i)return void a.credentialTestResults.set(e,"success");await a.testCredential({id:e,name:t,type:n,data:l})}catch{}}const U=(e,t)=>{const n=A.value,a=t?n.find((n=>n.credentialType===e&&n.nodes.some((e=>e.name===t)))):n.find((t=>t.credentialType===e));if(a)return a.nodes.map((e=>e.name));if(!t)return[];const o=B.value.find((n=>n.credentialType===e&&n.node.name===t));return o?.allNodesUsingCredential?o.allNodesUsingCredential.map((e=>e.name)):[t]},F=(e,t,n,o=!1)=>{const r=a.getCredentialById(t);if(!r)return;const i={id:t,name:r.name};H(t,r.name,e);for(const a of U(e,n)){const t=d?.value?.getNodeByName(a);if(!t)continue;if(o&&Fe(t.type))continue;const n=t.credentials?.[e],s="string"==typeof n?void 0:n?.id;s&&k.value.delete(s),d?.value?.updateNodeProperties({name:a,properties:{credentials:{...t.credentials,[e]:i}}})}s.updateNodesCredentialsIssues(),se().markStateDirty()},R=(e,t)=>{for(const n of U(e,t)){const t=d?.value?.getNodeByName(n);if(!t)continue;const a={...t.credentials};delete a[e],d?.value?.updateNodeProperties({name:n,properties:{credentials:a}})}s.updateNodesCredentialsIssues(),se().markStateDirty()},K=(e,t)=>{const n=a.getCredentialsByType(e);if(0===n.length)return;const o=n.reduce(((e,t)=>e.updatedAt>t.updatedAt?e:t),n[0]);k.value.add(o.id),F(e,o.id,t,!0)},X=i(!1);let Z=!1;return _(S,(e=>{if(Z||0===e.length)return;Z=!0,(()=>{const e=[...A.value],t=[...B.value];for(const n of e)n.selectedCredentialId||K(n.credentialType);for(const n of t)n.credentialType&&!n.selectedCredentialId&&K(n.credentialType,n.node.name)})();const t=new Map;for(const{node:o,credentialTypes:s}of e)for(const e of s){const n=o.credentials?.[e],s="string"==typeof n?void 0:n?.id;if(!s||t.has(s))continue;const r=a.getCredentialById(s);r&&t.set(s,{name:r.name,type:e})}const n=[];for(const[a,{name:o,type:s}]of t)n.push(H(a,o,s));0===n.length?X.value=!0:Promise.allSettled(n).then((()=>{X.value=!0}))}),{immediate:!0}),ie({store:a,onCredentialDeleted:e=>{for(const{node:t,credentialTypes:n}of S.value)for(const a of n){const n=t.credentials?.[a];("string"==typeof n?void 0:n?.id)===e&&R(a)}}}),{setupCards:V,credentialTypeStates:A,triggerStates:E,nodeStates:B,firstTriggerName:j,totalCredentialsMissing:W,totalCardsRequiringSetup:D,isAllComplete:q,isInitialCredentialTestingDone:X,nodesWithMissingParameters:O,autoAppliedCredentialIds:k,setCredential:F,unsetCredential:R}})),Ke=d({__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,i=e,l=I(),d=p((()=>i.triggerNodes.filter((e=>!(e.disabled||!i.includeChatTrigger&&X(e)))))),c=p((()=>i.executing?i.waitingForWebhook?l.baseText("nodeView.runButtonText.waitingForTriggerEvent"):l.baseText("nodeView.runButtonText.executingWorkflow"):i.label??l.baseText("nodeView.runButtonText.executeWorkflow"))),u=p((()=>i.triggerNodes.filter((e=>!!i.includeChatTrigger||!X(e))).toSorted(((e,t)=>{const[n,a]=e.position,[o,s]=t.position;return a===s?n-o:a-s})).map((e=>({label:$(e.name,50),disabled:!!e.disabled||i.executing,id:e.name,checked:i.selectedTriggerNodeName===e.name}))))),y=p((()=>d.value.length>1&&void 0!==i.selectedTriggerNodeName));function v(e){const t=i.triggerNodes.find((t=>t.name===e));return t?i.getNodeType(t.type,t.typeVersion):null}return(t,d)=>(a(),r("div",{class:h([t.$style.component,y.value?t.$style.split:""])},[k(Be,{label:c.value,shortcut:{metaKey:!0,keys:["↵"]},disabled:e.executing||e.hideTooltip},{default:N((()=>[k(f(E),{variant:"solid",class:h(t.$style.button),loading:e.executing,iconOnly:e.executing,"aria-label":f(l).baseText("nodeView.runButtonText.executeWorkflow"),disabled:e.disabled,size:e.size??"large",icon:"flask-conical","data-test-id":"execute-workflow-button",onMouseenter:d[0]||(d[0]=e=>t.$emit("mouseenter",e)),onMouseleave:d[1]||(d[1]=e=>t.$emit("mouseleave",e)),onClick:d[2]||(d[2]=e=>n("execute"))},{default:N((()=>[s("span",{class:h(t.$style.buttonContent)},[o(g(c.value)+" ",1),y.value?(a(),C(f(A),{key:0,class:h(t.$style.subText),bold:!1},{default:N((()=>[k(f(z),{keypath:"nodeView.runButtonText.from",scope:"global"},{nodeName:N((()=>[k(f(A),{bold:"",size:"mini"},{default:N((()=>[o(g(f($)(i.selectedTriggerNodeName??"",25)),1)])),_:1})])),_:1})])),_:1},8,["class"])):m("",!0)],2)])),_:1},8,["class","loading","iconOnly","aria-label","disabled","size"])])),_:1},8,["label","disabled"]),y.value?(a(),r(b,{key:0},[s("div",{role:"presentation",class:h(t.$style.divider)},null,2),k(f(M),{class:h(t.$style.menu),items:u.value,disabled:e.disabled,placement:"top","extra-popper-class":t.$style.menuPopper,onSelect:d[3]||(d[3]=e=>n("selectTriggerNode",e))},{activator:N((()=>[k(f(E),{variant:"solid","icon-size":"large",disabled:e.disabled,class:h(t.$style.chevron),"aria-label":"Select trigger node",icon:"chevron-down"},null,8,["disabled","class"])])),menuItem:N((e=>[s("div",{class:h([t.$style.menuItem,e.disabled?t.$style.disabled:""])},[k(Ae,{class:h(t.$style.menuIcon),size:16,"node-type":v(e.id)},null,8,["class","node-type"]),s("span",null,[k(f(z),{keypath:"nodeView.runButtonText.from",scope:"global"},{nodeName:N((()=>[k(f(A),{bold:"",size:"small"},{default:N((()=>[o(g(e.label),1)])),_:2},1024)])),_:2},1024)])],2)])),_:1},8,["class","items","disabled","extra-popper-class"])],64)):m("",!0)],2))}}),e("t",W(Ke,[["__cssModules",{$style:{component:"_component_bmdz8_125",split:"_split_bmdz8_131",button:"_button_bmdz8_131",divider:"_divider_bmdz8_143",chevron:"_chevron_bmdz8_148",menu:"_menu_bmdz8_155",menuPopper:"_menuPopper_bmdz8_159",menuItem:"_menuItem_bmdz8_163",disabled:"_disabled_bmdz8_169",menuIcon:"_menuIcon_bmdz8_169",buttonContent:"_buttonContent_bmdz8_173",subText:"_subText_bmdz8_180"}}]]))}}})); //# sourceMappingURL=CanvasRunWorkflowButton-legacy-BcDUvuIf.js.map