n8n-editor-ui
Version:
Workflow Editor UI for n8n
2 lines • 34.6 kB
JavaScript
(function(){try{var e=typeof window<`u`?window:typeof global<`u`?global:typeof globalThis<`u`?globalThis:typeof self<`u`?self:{};e.SENTRY_RELEASE={id:`n8n@2.16.1`}}catch{}})();try{(function(){var e=typeof window<`u`?window:typeof global<`u`?global:typeof globalThis<`u`?globalThis:typeof self<`u`?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]=`826cc3bc-25d8-4196-a1d4-a06a11b2ef21`,e._sentryDebugIdIdentifier=`sentry-dbid-826cc3bc-25d8-4196-a1d4-a06a11b2ef21`)})()}catch{}import{o as e}from"./chunk-CACdhNlC.js";import{$ as t,A as n,At as r,C as i,E as a,Ft as o,Ht as s,K as c,N as l,O as u,S as d,Sn as f,T as p,U as m,W as h,Wt as g,_,_n as v,gt as ee,h as te,j as y,pt as ne,rt as b,v as re,w as x,yt as S}from"./vue.runtime.esm-bundler-C3C09Zii.js";import{B as C,at as ie}from"./core-Bz5WjPxS.js";import{Di as w,L as ae,Mi as T,Mt as E,Qi as D,St as O,Xi as k,Z as A,Zi as j,_t as oe,mt as se,ut as ce,vt as M}from"./src-XqE2yCpG.js";import{t as le}from"./get-BjzKP_3k.js";import{t as N}from"./_plugin-vue_export-helper-CIL7EULb.js";import{gr as ue,lr as de,mr as fe,s as pe}from"./users.store-xP93bV7X.js";import{a as P,d as F,r as I,t as L}from"./ParameterInputList-CnpfSyOD.js";import{Eo as R,Fa as z,Oo as me,ka as B}from"./constants-DuQbSl-q.js";import{D as he}from"./useRootStore-XEREVjMN.js";var V=e(le(),1),ge=e(me(),1),_e=e(I(),1),H=[`data-test-id`],ve={key:1},ye={class:`optional-value-item`},be={class:`optional-value-item`},U=N(l({__name:`FixedCollectionParameterLegacy`,props:{nodeValues:{},parameter:{},path:{},values:{default:()=>({})},isReadOnly:{type:Boolean,default:!1},isNested:{type:Boolean},hiddenIssuesInputs:{default:()=>[]}},emits:[`valueChanged`],setup(e,{emit:r}){let s=ie(),l=de(),u=e,m=r,h=pe(),ne=ue(),{activeNode:C}=he(ne),w=o({}),ae=o(null),E=e=>{if(B(u.parameter.options))return u.parameter.options.find(t=>t.name===e)},O=(e,t)=>`${u.path}.${e}${t===void 0?``:`[${t}]`}`,A=d(()=>!!u.parameter.typeOptions?.multipleValues),se=d(()=>!u.parameter.typeOptions?.hideEmptyMessage),le=d(()=>!!u.parameter.typeOptions?.sortable),N=d(()=>u.parameter.typeOptions?.fixedCollection?.layout),P=d(()=>s.nodeText(C.value?.type).placeholder(u.parameter,u.path)||s.baseText(`fixedCollectionParameter.choose`)),F=d(()=>new Set(Object.keys(w.value||{}))),I=d(()=>{let e=[];for(let t of F.value){let n=E(t);n&&e.push(n)}return e}),R=o(new Map),me=d(()=>B(u.parameter.options)?A.value?u.parameter.options:u.parameter.options.filter(e=>!F.value.has(e.name)):[]),U=d(()=>!!u.parameter.typeOptions?.hideOptionalFields),xe=d(()=>u.parameter.typeOptions?.addOptionalFieldButtonText?s.nodeText(C.value?.type).addOptionalFieldButtonText(u.parameter):s.baseText(`fixedCollectionParameter.addField`)),W=(e,t)=>t===void 0?e:`${e}-${t}`,G=(e,t)=>{if(!t)return!1;let n=t[e.name];return n==null||typeof n==`string`&&n===``?!1:typeof n==`object`?!(0,ge.default)(n,e.default):n!==e.default},Se=()=>{if(U.value&&B(u.parameter.options)){R.value.clear();for(let e of u.parameter.options){let t=`${u.path}.${e.name}`,n=(0,V.default)(u.nodeValues,t);if(!n)continue;let r=e.values.filter(e=>e.required!==!0&&e.type!==`notice`);if(A.value&&Array.isArray(n))n.forEach((t,n)=>{let i=W(e.name,n),a=new Set;for(let e of r)G(e,t)&&a.add(e.name);a.size>0&&R.value.set(i,a)});else if(typeof n==`object`&&!Array.isArray(n)){let t=W(e.name),i=new Set;for(let e of r)G(e,n)&&i.add(e.name);i.size>0&&R.value.set(t,i)}}}},Ce=(e,t,n)=>{let r=W(e,n);return R.value.get(r)?.has(t)??!1},we=(e,t)=>{if(!U.value)return e.values;let n=W(e.name,t),r=R.value.get(n);return e.values.filter(e=>!!(e.required===!0||e.type===`notice`||r?.has(e.name)||e.typeOptions?.showEvenWhenOptional))},K=(e,t)=>{if(!U.value)return[];let n=O(e.name,t);return e.values.filter(e=>e.required===!0||e.type===`notice`||e.typeOptions?.showEvenWhenOptional?!1:l.displayParameter(u.nodeValues,e,n,C.value))},Te=(e,t,n)=>{let r=W(e.name,n),i=R.value.get(r);i||(i=new Set,R.value.set(r,i));let a=e.values.find(e=>e.name===t);if(!a)return;let o=i.has(t);o?i.delete(t):i.add(t),R.value.set(r,i),m(`valueChanged`,{name:O(e.name,n)+`.${t}`,value:o?void 0:z(a.default)})};ee(()=>u.values,e=>{w.value=z(e)},{deep:!0}),c(()=>{w.value=z(u.values),Se()});let Ee=(e,t)=>{let n=w.value[e];if(!n||Array.isArray(n)&&n.length>1)m(`valueChanged`,{name:O(e,t),value:void 0});else if(!A.value&&u.isNested){let e=u.path.split(`.`),t=e.slice(0,-1).join(`.`),n=e[e.length-1];m(`valueChanged`,{name:t?`${t}.${n}`:n,value:void 0})}else m(`valueChanged`,{name:O(e),value:void 0})},De=e=>{if(e.typeOptions?.multipleValues!==!0)return z(e.default);if(e.type===`fixedCollection`)return{};let t=(0,V.default)(u.nodeValues,[u.path,e.name],[]),n=e.default,r=Array.isArray(n)?z(n):n!==``&&typeof n!=`object`?[z(n)]:[];return t.concat(r)},q=async e=>{let t=E(e);if(!t)return;let n=`${u.path}.${t.name}`,r=t.values.reduce((e,t)=>(e[t.name]=De(t),e),{}),i=(0,V.default)(u.nodeValues,n,[]);m(`valueChanged`,{name:n,value:A.value?[...i,r]:r}),ae.value=void 0},Oe=async e=>{await q(e),u.parameter.name===`workflowInputs`&&Y()},J=e=>{m(`valueChanged`,e),u.parameter.name===`workflowInputs`&&Ae(e)},ke=e=>{m(`valueChanged`,{name:O(e),value:w.value[e],type:`optionsOrderChanged`})},Ae=e=>{fe.track(`User changed workflow input field type`,{type:e.value,workflow_id:h.workflow.id,node_id:ne.activeNode?.id})},Y=()=>{fe.track(`User added workflow input field`,{workflow_id:h.workflow.id,node_id:ne.activeNode?.id})};function X(e,t){return t}return(r,o)=>(t(),a(`div`,{class:v(r.$style.fixedCollectionParameter),"data-test-id":`fixed-collection-${u.parameter?.name}`,onKeydown:o[2]||=te(()=>{},[`stop`])},[I.value.length===0?(t(),a(`div`,{key:0,class:v(r.$style.noItemsExist)},[se.value?(t(),x(g(k),{key:0,size:`small`},{default:S(()=>[n(f(g(s).baseText(`fixedCollectionParameter.currentlyNoItemsExist`)),1)]),_:1})):p(``,!0)],2)):p(``,!0),(t(!0),a(_,null,b(I.value,n=>(t(),a(`div`,{key:n.name,class:v(r.$style.fixedCollectionParameterProperty)},[n.displayName!==``&&e.parameter.options&&e.parameter.options.length!==1?(t(),x(g(ce),{key:0,label:g(s).nodeText(g(C)?.type).inputLabelDisplayName(n,e.path),underline:!0,size:`small`,color:`text-dark`},null,8,[`label`])):p(``,!0),A.value?(t(),a(`div`,ve,[y(g(_e.default),{modelValue:w.value[n.name],"onUpdate:modelValue":e=>w.value[n.name]=e,handle:`.drag-handle`,"item-key":X,"drag-class":r.$style.dragging,"ghost-class":r.$style.ghost,"chosen-class":r.$style.chosen,onChange:e=>ke(n.name)},{item:S(({index:o})=>[N.value===`inline`?(t(),a(`div`,{key:`inline-`+n.name+`-`+o,class:v(r.$style.inlineItem)},[y(L,{parameters:we(n,o),"node-values":e.nodeValues,path:O(n.name,o),"is-read-only":e.isReadOnly,"is-nested":e.isNested,"hide-delete":!0,layout:`inline`,"hidden-issues-inputs":e.hiddenIssuesInputs,onValueChanged:J},null,8,[`parameters`,`node-values`,`path`,`is-read-only`,`is-nested`,`hidden-issues-inputs`]),e.isReadOnly?p(``,!0):(t(),x(g(T),{key:0,icon:`x`,variant:`ghost`,size:`small`,"data-test-id":`fixed-collection-delete-inline`,onClick:e=>Ee(n.name,o)},null,8,[`onClick`]))],2)):(t(),a(`div`,{key:n.name+`-`+o,class:v(r.$style.parameterItem)},[i(`div`,{class:v([r.$style.parameterItemWrapper,{[r.$style.borderTopDashed]:o}])},[e.isReadOnly?p(``,!0):(t(),a(`div`,{key:0,class:v([r.$style.iconButton,r.$style.defaultTopPadding])},[le.value?(t(),x(g(T),{key:0,variant:`ghost`,size:`small`,icon:`grip-vertical`,title:g(s).baseText(`fixedCollectionParameter.dragItem`),class:`drag-handle`},null,8,[`title`])):p(``,!0)],2)),e.isReadOnly?p(``,!0):(t(),a(`div`,{key:1,class:v([r.$style.iconButton,r.$style.extraTopPadding])},[y(g(T),{variant:`ghost`,size:`small`,icon:`trash-2`,"data-test-id":`fixed-collection-delete`,title:g(s).baseText(`fixedCollectionParameter.deleteItem`),onClick:e=>Ee(n.name,o)},null,8,[`title`,`onClick`])],2)),(t(),x(re,null,{default:S(()=>[y(L,{parameters:we(n,o),"node-values":e.nodeValues,path:O(n.name,o),"is-read-only":e.isReadOnly,"is-nested":e.isNested,"hide-delete":!0,"hidden-issues-inputs":e.hiddenIssuesInputs,onValueChanged:J},null,8,[`parameters`,`node-values`,`path`,`is-read-only`,`is-nested`,`hidden-issues-inputs`])]),_:2},1024)),K(n,o).length>0&&!e.isReadOnly?(t(),a(`div`,{key:2,class:v(r.$style.addOption),"data-test-id":`fixed-collection-add-property`},[y(g(oe),{placeholder:xe.value,size:`small`,filterable:``,"model-value":null,"onUpdate:modelValue":e=>Te(n,e,o)},{default:S(()=>[(t(!0),a(_,null,b(K(n,o),e=>(t(),x(g(M),{key:e.name,label:e.displayName||e.name,value:e.name},{default:S(()=>[i(`div`,ye,[i(`span`,null,f(e.displayName||e.name),1),Ce(n.name,e.name,o)?(t(),x(g(D),{key:0,icon:`check`,size:`medium`})):p(``,!0)])]),_:2},1032,[`label`,`value`]))),128))]),_:2},1032,[`placeholder`,`onUpdate:modelValue`])],2)):p(``,!0)],2)],2))]),_:2},1032,[`modelValue`,`onUpdate:modelValue`,`drag-class`,`ghost-class`,`chosen-class`,`onChange`])])):N.value===`inline`?(t(),a(`div`,{key:2,class:v(r.$style.inlineItem)},[y(L,{parameters:we(n),"node-values":e.nodeValues,path:O(n.name),"is-read-only":e.isReadOnly,"is-nested":e.isNested,"hide-delete":!0,layout:`inline`,"hidden-issues-inputs":e.hiddenIssuesInputs,onValueChanged:J},null,8,[`parameters`,`node-values`,`path`,`is-read-only`,`is-nested`,`hidden-issues-inputs`])],2)):(t(),a(`div`,{key:3,class:v(r.$style.parameterItem)},[i(`div`,{class:v(r.$style.parameterItemWrapper)},[e.isReadOnly?p(``,!0):(t(),a(`div`,{key:0,class:v(r.$style.iconButton)},[y(g(T),{variant:`ghost`,size:`small`,icon:`trash-2`,"data-test-id":`fixed-collection-delete`,title:g(s).baseText(`fixedCollectionParameter.deleteItem`),onClick:e=>Ee(n.name)},null,8,[`title`,`onClick`])],2)),y(L,{parameters:we(n),"node-values":e.nodeValues,path:O(n.name),"is-read-only":e.isReadOnly,"is-nested":e.isNested,"hide-delete":!0,class:v(r.$style.parameterItem),"hidden-issues-inputs":e.hiddenIssuesInputs,onValueChanged:J},null,8,[`parameters`,`node-values`,`path`,`is-read-only`,`is-nested`,`class`,`hidden-issues-inputs`]),K(n).length>0&&!e.isReadOnly?(t(),a(`div`,{key:1,class:v(r.$style.addOption),"data-test-id":`fixed-collection-add-property`},[y(g(oe),{placeholder:xe.value,size:`small`,filterable:``,"model-value":null,"onUpdate:modelValue":e=>Te(n,e)},{default:S(()=>[(t(!0),a(_,null,b(K(n),e=>(t(),x(g(M),{key:e.name,label:e.displayName||e.name,value:e.name},{default:S(()=>[i(`div`,be,[i(`span`,null,f(e.displayName||e.name),1),Ce(n.name,e.name)?(t(),x(g(D),{key:0,icon:`check`,size:`medium`})):p(``,!0)])]),_:2},1032,[`label`,`value`]))),128))]),_:2},1032,[`placeholder`,`onUpdate:modelValue`])],2)):p(``,!0)],2)],2))],2))),128)),me.value.length>0&&!e.isReadOnly?(t(),a(`div`,{key:1,class:v(r.$style.controls)},[e.parameter.options&&e.parameter.options.length===1?(t(),x(g(j),{key:0,style:{width:`100%`},variant:`subtle`,size:`small`,"data-test-id":`fixed-collection-add`,label:P.value,onClick:o[0]||=t=>Oe(e.parameter.options[0].name)},null,8,[`label`])):(t(),a(`div`,{key:1,class:v(r.$style.addOption)},[y(g(oe),{modelValue:ae.value,"onUpdate:modelValue":[o[1]||=e=>ae.value=e,q],placeholder:P.value,size:`small`,filterable:``},{default:S(()=>[(t(!0),a(_,null,b(me.value,n=>(t(),x(g(M),{key:n.name,label:g(s).nodeText(g(C)?.type).collectionOptionDisplayName(e.parameter,n,e.path),value:n.name},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])],2))],2)):p(``,!0)],42,H))}}),[[`__cssModules`,{$style:{inlineItem:`_inlineItem_1nekp_125`,fixedCollectionParameter:`_fixedCollectionParameter_1nekp_142`,ghost:`_ghost_1nekp_145`,dragging:`_dragging_1nekp_146`,parameterItemWrapper:`_parameterItemWrapper_1nekp_158`,controls:`_controls_1nekp_161`,active:`_active_1nekp_176`,fixedCollectionParameterProperty:`_fixedCollectionParameterProperty_1nekp_180`,iconButton:`_iconButton_1nekp_185`,parameterItem:`_parameterItem_1nekp_158`,defaultTopPadding:`_defaultTopPadding_1nekp_202`,extraTopPadding:`_extraTopPadding_1nekp_205`,borderTopDashed:`_borderTopDashed_1nekp_215`,noItemsExist:`_noItemsExist_1nekp_219`,addOption:`_addOption_1nekp_223`}}]]);function xe(e,{defaultWrapperExpanded:t=!1}={}){let n=s(e),r=`n8n-fixed-collection-expanded-${n}`,i=`n8n-fixed-collection-wrapper-${n}`,a=`n8n-fixed-collection-stable-indexes-${n}`,c=o({}),l=()=>{let e=sessionStorage.getItem(a);if(!e)return{};try{return JSON.parse(e)}catch{return{}}},u=e=>{sessionStorage.setItem(a,JSON.stringify(e))},d=()=>{let e=sessionStorage.getItem(r);return e?new Set(e.split(`,`).filter(Boolean)):new Set},f=e=>{sessionStorage.setItem(r,Array.from(e).join(`,`))},p=o(d()),m=()=>{let e=sessionStorage.getItem(i);return e===null?t:e===`true`},h=e=>{sessionStorage.setItem(i,String(e))},g=o(m()),_=(e,t)=>{if(c.value[e]||(c.value[e]=[]),!c.value[e][t]){let n=l()[e]||[],r,i=!1;if(n[t]!==void 0)r=n[t];else{let t=c.value[e].map(e=>e?.stableIndex).filter(e=>e!==void 0);r=(t.length>0?Math.max(...t):-1)+1,i=!0}if(c.value[e][t]={id:R(),stableIndex:r},i){let t=l();t[e]=c.value[e].map(e=>e.stableIndex),u(t)}}return c.value[e][t].id},v=(e,t)=>(c.value[e]?.[t]||_(e,t),c.value[e][t].stableIndex);return ee(g,e=>{h(e)}),{getItemId:_,getItemStableIndex:v,getExpandedState:(e,t)=>{let n=`${e}:${v(e,t)}`;return p.value.has(n)},setExpandedState:(e,t,n)=>{let r=`${e}:${v(e,t)}`;n?p.value.add(r):p.value.delete(r),f(p.value)},initExpandedState:(e,t,n)=>{c.value[e]||(c.value[e]=[]),n&&t.forEach((t,n)=>{_(e,n)})},cleanupItem:(e,t)=>{if(c.value[e]){let n=c.value[e][t];if(c.value[e].splice(t,1),n?.stableIndex!==void 0){let t=`${e}:${n.stableIndex}`;p.value.delete(t),f(p.value)}let r=l();r[e]=c.value[e].map(e=>e.stableIndex),u(r)}},cleanupProperty:e=>{c.value[e]&&(c.value[e].map(e=>e.stableIndex).forEach(t=>{let n=`${e}:${t}`;p.value.delete(n)}),delete c.value[e]);let t=l();delete t[e],u(t),f(p.value)},trimArrays:(e,t)=>{if(c.value[e]&&c.value[e].length>t){c.value[e]=c.value[e].slice(0,t);let n=l();n[e]=c.value[e].map(e=>e.stableIndex),u(n)}},reorderItems:(e,t,n)=>{if(c.value[e]){let r=[...c.value[e]],[i]=r.splice(t,1);r.splice(n,0,i),c.value[e]=r;let a=l();a[e]=r.map(e=>e.stableIndex),u(a)}},wrapperExpanded:g}}var W=[`data-item-key`],G=N(l({__name:`FixedCollectionItem`,props:{itemId:{},property:{},itemData:{},itemIndex:{},stableIndex:{},nodeValues:{},propertyPath:{},isReadOnly:{type:Boolean},isExpanded:{type:Boolean},sortable:{type:Boolean},disableAnimation:{type:Boolean},isDragging:{type:Boolean},titleTemplate:{},visiblePropertyValues:{},pickerPropertyValues:{},isOptionalValueAdded:{type:Function},addOptionalFieldButtonText:{},layout:{}},emits:[`update:isExpanded`,`valueChanged`,`delete`,`toggleOptionalValue`],setup(e,{emit:n}){let r=ie(),{isEnabled:i}=F(),o=e,s=n,c=d(()=>o.pickerPropertyValues.length>0&&!o.isReadOnly),l=d(()=>o.pickerPropertyValues.map(e=>({id:e.name,label:e.displayName||e.name,checked:o.isOptionalValueAdded(e.name)}))),f=d(()=>`${o.property.displayName} ${o.stableIndex+1}`),{resolvedExpression:m}=P({expression:()=>o.titleTemplate??``,additionalData:()=>({$collection:{item:{value:o.itemData,index:o.stableIndex,properties:o.property.values}}})}),h=e=>!!e&&e!==`undefined`&&e!==`null`&&typeof e==`string`,_=d(()=>{if(!o.titleTemplate)return f.value;let e=m.value;return h(e)?e:f.value}),ee=e=>s(`valueChanged`,e);return(n,o)=>e.layout===`inline`?(t(),a(`div`,{key:0,class:v(n.$style.inlineItem),"data-item-key":e.itemId},[y(L,{"hide-delete":``,"is-nested":``,layout:`inline`,parameters:e.visiblePropertyValues,"node-values":e.nodeValues,path:e.propertyPath,"is-read-only":e.isReadOnly,"remove-first-parameter-margin":!0,"remove-last-parameter-margin":!0,onValueChanged:ee},null,8,[`parameters`,`node-values`,`path`,`is-read-only`]),e.isReadOnly?p(``,!0):(t(),x(g(T),{key:0,icon:`x`,variant:`ghost`,size:`small`,"data-test-id":`fixed-collection-item-delete-inline`,onClick:o[0]||=e=>s(`delete`)}))],10,W)):(t(),x(g(O),{key:e.itemId,"model-value":e.isExpanded,title:_.value,"data-item-key":e.itemId,"disable-animation":e.disableAnimation,"onUpdate:modelValue":o[3]||=e=>s(`update:isExpanded`,e)},u({default:S(()=>[y(L,{"hide-delete":``,"is-nested":``,parameters:e.visiblePropertyValues,"node-values":e.nodeValues,path:e.propertyPath,"is-read-only":e.isReadOnly,"remove-first-parameter-margin":g(i),"remove-last-parameter-margin":g(i),onValueChanged:ee},null,8,[`parameters`,`node-values`,`path`,`is-read-only`,`remove-first-parameter-margin`,`remove-last-parameter-margin`]),c.value?(t(),a(`div`,{key:0,class:v(n.$style.addOption),"data-test-id":`fixed-collection-add-property`},[y(g(E),{items:l.value,onSelect:o[2]||=e=>s(`toggleOptionalValue`,e)},{activator:S(()=>[y(g(j),{class:`n8n-button--highlightFill`,variant:`subtle`,icon:`plus`,size:`small`,label:e.addOptionalFieldButtonText},null,8,[`label`])]),_:1},8,[`items`])],2)):p(``,!0)]),_:2},[e.isReadOnly?void 0:{name:`actions`,fn:S(()=>[y(g(A),{icon:`trash-2`,label:g(r).baseText(`fixedCollectionParameter.deleteItem`),tooltip:g(r).baseText(`fixedCollectionParameter.deleteParameter`,{interpolate:{parameter:_.value}}),danger:``,"test-id":`fixed-collection-item-delete`,onClick:o[1]||=e=>s(`delete`)},null,8,[`label`,`tooltip`]),e.sortable?(t(),x(g(A),{key:0,icon:`grip-vertical`,label:g(r).baseText(`fixedCollectionParameter.dragItem`),class:v([`drag-handle`,n.$style.dragHandle,{[n.$style.dragging]:e.isDragging}]),"test-id":`fixed-collection-item-drag`},null,8,[`label`,`class`])):p(``,!0)]),key:`0`}]),1032,[`model-value`,`title`,`data-item-key`,`disable-animation`]))}}),[[`__cssModules`,{$style:{inlineItem:`_inlineItem_9ceom_125`,dragHandle:`_dragHandle_9ceom_139`,dragging:`_dragging_9ceom_143`,addOption:`_addOption_9ceom_147`}}]]),Se=400,Ce=N(l({__name:`FixedCollectionItemList`,props:{property:{},values:{},nodeValues:{},getPropertyPath:{type:Function},itemState:{},isReadOnly:{type:Boolean},sortable:{type:Boolean},titleTemplate:{},getVisiblePropertyValues:{type:Function},getPickerPropertyValues:{type:Function},isOptionalValueAdded:{type:Function},addOptionalFieldButtonText:{},layout:{}},emits:[`valueChanged`,`delete`,`dragChange`,`toggleOptionalValue`],setup(e,{emit:n}){let r=e,i=n,a=o(!1),s=C(a,d(()=>a.value?0:Se)),c=e=>r.itemState.getItemId(r.property.name,r.values.findIndex(t=>t===e)),l=e=>{a.value=e},u=e=>i(`dragChange`,r.property.name,e),f=e=>i(`valueChanged`,e),p=e=>i(`delete`,r.property.name,e),m=(e,t)=>i(`toggleOptionalValue`,r.property.name,t,e),h=e=>t=>r.isOptionalValueAdded(r.property.name,t,e);return(n,r)=>(t(),x(g(_e.default),{"model-value":e.values,"item-key":c,handle:`.drag-handle`,"drag-class":n.$style.dragging,"ghost-class":n.$style.ghost,onStart:r[0]||=e=>l(!0),onEnd:r[1]||=e=>l(!1),onChange:u},{item:S(({index:n})=>[(t(),x(G,{key:e.itemState.getItemId(e.property.name,n),"item-id":e.itemState.getItemId(e.property.name,n),property:e.property,"item-data":e.values[n],"item-index":n,"stable-index":e.itemState.getItemStableIndex(e.property.name,n),"node-values":e.nodeValues,"property-path":e.getPropertyPath(e.property.name,n),"is-read-only":e.isReadOnly,"is-expanded":e.itemState.getExpandedState(e.property.name,n),"is-dragging":a.value,sortable:e.sortable,"disable-animation":g(s),"title-template":e.titleTemplate,"visible-property-values":e.getVisiblePropertyValues(e.property,n),"picker-property-values":e.getPickerPropertyValues(e.property,n),"add-optional-field-button-text":e.addOptionalFieldButtonText,"is-optional-value-added":h(n),layout:e.layout,"onUpdate:isExpanded":t=>e.itemState.setExpandedState(e.property.name,n,t),onValueChanged:f,onDelete:e=>p(n),onToggleOptionalValue:e=>m(n,e)},null,8,[`item-id`,`property`,`item-data`,`item-index`,`stable-index`,`node-values`,`property-path`,`is-read-only`,`is-expanded`,`is-dragging`,`sortable`,`disable-animation`,`title-template`,`visible-property-values`,`picker-property-values`,`add-optional-field-button-text`,`is-optional-value-added`,`layout`,`onUpdate:isExpanded`,`onDelete`,`onToggleOptionalValue`]))]),_:1},8,[`model-value`,`drag-class`,`ghost-class`]))}}),[[`__cssModules`,{$style:{ghost:`_ghost_1t7ke_125`,dragging:`_dragging_1t7ke_126`}}]]),we=[`data-test-id`],K=N(l({__name:`FixedCollectionParameterNew`,props:{nodeValues:{},parameter:{},path:{},values:{default:()=>({})},isReadOnly:{type:Boolean,default:!1},isNested:{type:Boolean},isNewlyAdded:{type:Boolean,default:!1},canDelete:{type:Boolean,default:!1},hiddenIssuesInputs:{default:()=>[]}},emits:[`valueChanged`,`delete`],setup(e,{emit:s}){let l=ie(),m=ue(),re=pe(),C=de(),{activeNode:T}=he(m),E=e,D=s,k=o({}),oe=ne(`rootEl`),ce=o(!1),M=o(new Map),le=d(()=>`${T.value?.id??`unknown`}-${E.path}`),N=d(()=>{let e=Object.entries(E.values);if(e.length!==1)return!1;let[,t]=e[0];return Array.isArray(t)?t.length===1:Object.keys(t).length>0}),P=xe(le,{defaultWrapperExpanded:E.isNewlyAdded||N.value}),F=P.wrapperExpanded,I=e=>{if(B(E.parameter.options))return E.parameter.options.find(t=>t.name===e)},R=(e,t)=>`${E.path}.${e}${t===void 0?``:`[${t}]`}`,me=e=>Array.isArray(k.value[e]),_e=e=>{let t=k.value[e];return Array.isArray(t)?t:[]},H=d(()=>!!E.parameter.typeOptions?.multipleValues),ve=d(()=>!!E.parameter.typeOptions?.sortable),ye=d(()=>E.parameter.typeOptions?.fixedCollection?.layout),be=d(()=>new Set(Object.keys(k.value??{}))),U=d(()=>Array.from(be.value).map(I).filter(e=>e!==void 0)),W=d(()=>B(E.parameter.options)?H.value?E.parameter.options:E.parameter.options.filter(e=>!be.value.has(e.name)):[]),G=d(()=>!!E.parameter.typeOptions?.hideOptionalFields),Se=d(()=>E.parameter.typeOptions?.addOptionalFieldButtonText?l.nodeText(T.value?.type).addOptionalFieldButtonText(E.parameter):l.baseText(`fixedCollectionParameter.addField`)),K=(e,t)=>t===void 0?e:`${e}-${t}`,Te=(e,t)=>{if(!t)return!1;let n=t[e.name];return n==null||typeof n==`string`&&n===``?!1:typeof n==`object`?!(0,ge.default)(n,e.default):n!==e.default},Ee=()=>{if(G.value&&B(E.parameter.options)){M.value.clear();for(let e of E.parameter.options){let t=`${E.path}.${e.name}`,n=(0,V.default)(E.nodeValues,t);if(!n)continue;let r=e.values.filter(e=>e.required!==!0&&e.type!==`notice`);if(H.value&&Array.isArray(n))n.forEach((t,n)=>{let i=K(e.name,n),a=new Set;for(let e of r)Te(e,t)&&a.add(e.name);a.size>0&&M.value.set(i,a)});else if(typeof n==`object`&&!Array.isArray(n)){let t=K(e.name),i=new Set;for(let e of r)Te(e,n)&&i.add(e.name);i.size>0&&M.value.set(t,i)}}}},De=(e,t,n)=>{let r=K(e,n);return M.value.get(r)?.has(t)??!1},q=(e,t)=>{if(!G.value)return e.values;let n=K(e.name,t),r=M.value.get(n);return e.values.filter(e=>!!(e.required===!0||e.type===`notice`||r?.has(e.name)||e.typeOptions?.showEvenWhenOptional))},Oe=(e,t)=>{if(!G.value)return[];let n=R(e.name,t);return e.values.filter(e=>e.required===!0||e.type===`notice`||e.typeOptions?.showEvenWhenOptional?!1:C.displayParameter(E.nodeValues,e,n,T.value))},J=(e,t,n)=>{let r=K(e.name,n),i=M.value.get(r);i||(i=new Set,M.value.set(r,i));let a=e.values.find(e=>e.name===t);if(!a)return;let o=i.has(t);o?i.delete(t):i.add(t),M.value.set(r,i),D(`valueChanged`,{name:R(e.name,n)+`.${t}`,value:o?void 0:z(a.default)})},ke=(e,t,n)=>{let r=I(e);r&&J(r,t,n)},Ae=d(()=>l.nodeText(T.value?.type).inputLabelDisplayName(E.parameter,E.path)),Y=d(()=>W.value.length===0),X=d(()=>l.nodeText(T.value?.type).placeholder(E.parameter,E.path)||l.baseText(`fixedCollectionParameter.addItem`)),je=d(()=>Y.value?l.baseText(`fixedCollectionParameter.allOptionsAdded`):l.baseText(`fixedCollectionParameter.addParameter`,{interpolate:{parameter:Ae.value}})),Z=d(()=>W.value.map(e=>({label:l.nodeText(T.value?.type).collectionOptionDisplayName(E.parameter,e,E.path),value:e.name}))),Me=d(()=>!E.isNested&&E.parameter.displayName!==``),Ne=d(()=>E.isNested),Pe=d(()=>W.value.length>0&&!E.isReadOnly),Fe=d(()=>Me.value&&!E.isReadOnly),Ie=d(()=>Pe.value&&(Me.value||Ne.value&&H.value)),Le=d(()=>Ne.value&&Pe.value),Re=d(()=>Object.values(k.value).every(e=>Array.isArray(e)?e.length===0:Object.keys(e).length===0)),ze=d(()=>Z.value.length===1),Be=d(()=>Z.value.length>1),Ve=(e,t)=>{if(t!==void 0)return!1;let n=k.value[e];return!n||!Array.isArray(n)||n.length<=1},He=()=>{let e=E.path.split(`.`),t=e.at(-1)??``,n=e.slice(0,-1).join(`.`);return n?`${n}.${t}`:t},Ue=(e,t)=>t===void 0?!H.value&&E.isNested?He():R(e):R(e,t),We=(e,t)=>{t===void 0?Ve(e,t)&&P.cleanupProperty(e):P.cleanupItem(e,t),D(`valueChanged`,{name:Ue(e,t),value:void 0})},Ge=()=>{fe.track(`User added workflow input field`,{workflow_id:re.workflow.id,node_id:m.activeNode?.id})},Ke=e=>{fe.track(`User changed workflow input field type`,{type:e.value,workflow_id:re.workflow.id,node_id:m.activeNode?.id})},qe=e=>Array.isArray(e)?e:[e],Je=()=>{Object.entries(k.value).forEach(([e,t])=>P.initExpandedState(e,qe(t),H.value))};ee(()=>E.values,e=>{k.value=z(e),Object.entries(k.value).forEach(([e,t])=>P.trimArrays(e,qe(t).length)),Je()},{deep:!0}),c(()=>{if(k.value=z(E.values),Je(),Ee(),N.value){let e=U.value[0];if(e&&H.value){let t=k.value[e.name];Array.isArray(t)&&t.length>0&&P.setExpandedState(e.name,0,!0)}}});let Ye=e=>{if(e.typeOptions?.multipleValues!==!0)return z(e.default);if(e.type===`fixedCollection`)return{};let t=(0,V.default)(E.nodeValues,[E.path,e.name],[]),n=e.default,r=e=>Array.isArray(e)?z(e):e!==``&&typeof e!=`object`?[z(e)]:[];return[...t,...r(n)]},Xe=async(e,t)=>{await h();let n=P.getItemId(e,t);(oe.value?.querySelector(`[data-item-key="${n}"]`))?.scrollIntoView({behavior:`smooth`,block:`nearest`})},Q=e=>{let t=I(e);if(!t)return;let n=`${E.path}.${t.name}`,r=Object.fromEntries(t.values.map(e=>[e.name,Ye(e)])),i=(0,V.default)(E.nodeValues,n,[]);D(`valueChanged`,{name:n,value:H.value?[...i,r]:r});let a=i.length;P.setExpandedState(t.name,a,!0),H.value&&Xe(t.name,a),E.parameter.name===`workflowInputs`&&Ge()},$=e=>{D(`valueChanged`,e),E.parameter.name===`workflowInputs`&&Ke(e)},Ze=(e,t)=>{if(t.moved){P.reorderItems(e,t.moved.oldIndex,t.moved.newIndex);let n=k.value[e];if(Array.isArray(n)){let r=[...n],[i]=r.splice(t.moved.oldIndex,1);r.splice(t.moved.newIndex,0,i),k.value[e]=r}D(`valueChanged`,{name:R(e),value:k.value[e],type:`optionsOrderChanged`})}},Qe=async()=>{F.value||(F.value=!0,await h()),ze.value&&Z.value[0]&&Q(Z.value[0].value)},$e=()=>{ze.value&&Z.value[0]&&Q(Z.value[0].value)};return(o,s)=>(t(),a(`div`,{ref_key:`rootEl`,ref:oe,class:v([o.$style.fixedCollectionParameter,{[o.$style.empty]:U.value.length===0}]),"data-test-id":`fixed-collection-${E.parameter?.name}`,onKeydown:s[4]||=te(()=>{},[`stop`])},[Me.value?(t(),a(_,{key:0},[y(g(ae),{title:Ae.value,bordered:Re.value,class:v(o.$style.sectionHeader)},u({_:2},[Fe.value?{name:`actions`,fn:S(()=>[y(g(w),{disabled:!Y.value,"show-after":g(500)},{content:S(()=>[n(f(je.value),1)]),default:S(()=>[Be.value?(t(),x(g(se),{key:0,options:Z.value,disabled:Y.value,"data-test-id":`fixed-collection-add-header`,onSelect:Q},{trigger:S(()=>[y(g(A),{icon:`plus`,label:X.value,disabled:Y.value},null,8,[`label`,`disabled`])]),_:1},8,[`options`,`disabled`])):(t(),x(g(A),{key:1,icon:`plus`,label:X.value,disabled:Y.value,"data-test-id":`fixed-collection-add-header`,onClick:Qe},null,8,[`label`,`disabled`]))]),_:1},8,[`disabled`,`show-after`])]),key:`0`}:void 0]),1032,[`title`,`bordered`,`class`]),(t(!0),a(_,null,b(U.value,n=>(t(),a(`div`,{key:n.name,class:v(o.$style.propertySection)},[H.value&&me(n.name)?(t(),x(Ce,{key:0,property:n,values:_e(n.name),"node-values":e.nodeValues,"get-property-path":R,"item-state":g(P),"is-read-only":!!e.isReadOnly,sortable:ve.value,"title-template":e.parameter.typeOptions?.fixedCollection?.itemTitle,"get-visible-property-values":q,"get-picker-property-values":Oe,"is-optional-value-added":De,"add-optional-field-button-text":Se.value,layout:ye.value,onValueChanged:$,onDelete:We,onDragChange:Ze,onToggleOptionalValue:ke},null,8,[`property`,`values`,`node-values`,`item-state`,`is-read-only`,`sortable`,`title-template`,`add-optional-field-button-text`,`layout`])):(t(),x(g(O),{key:1,"model-value":g(P).getExpandedState(n.name,0),title:n.displayName,"data-item-key":n.name,"onUpdate:modelValue":e=>g(P).setExpandedState(n.name,0,e)},u({default:S(()=>[y(L,{"hide-delete":``,parameters:q(n),"node-values":e.nodeValues,path:R(n.name),"is-read-only":!!e.isReadOnly,"is-nested":!1,"remove-first-parameter-margin":!0,"remove-last-parameter-margin":!0,"hidden-issues-inputs":e.hiddenIssuesInputs,onValueChanged:$},null,8,[`parameters`,`node-values`,`path`,`is-read-only`,`hidden-issues-inputs`])]),_:2},[e.isReadOnly?void 0:{name:`actions`,fn:S(()=>[y(g(A),{icon:`trash-2`,label:g(l).baseText(`fixedCollectionParameter.deleteItem`),danger:``,onClick:e=>We(n.name)},null,8,[`label`,`onClick`])]),key:`0`}]),1032,[`model-value`,`title`,`data-item-key`,`onUpdate:modelValue`]))],2))),128)),Ie.value?(t(),a(`div`,{key:0,class:v(o.$style.controls)},[ze.value?(t(),x(g(j),{key:0,class:`n8n-button--highlightFill`,variant:`subtle`,icon:`plus`,size:`small`,"data-test-id":`fixed-collection-add-top-level-button`,label:X.value,disabled:Y.value,onClick:$e},null,8,[`label`,`disabled`])):Be.value?(t(),x(g(se),{key:1,options:Z.value,class:v(o.$style.dropdown),"data-test-id":`fixed-collection-add-top-level-dropdown`,disabled:Y.value,onSelect:Q},{trigger:S(()=>[y(g(j),{class:`n8n-button--highlightFill`,variant:`subtle`,icon:`plus`,size:`small`,label:X.value,disabled:Y.value},null,8,[`label`,`disabled`])]),_:1},8,[`options`,`class`,`disabled`])):p(``,!0)],2)):p(``,!0)],64)):Ne.value?(t(),x(g(O),{key:1,modelValue:g(F),"onUpdate:modelValue":s[3]||=e=>r(F)?F.value=e:null,title:Ae.value,"show-actions-on-hover":!ce.value},{actions:S(()=>[Le.value?(t(),x(g(w),{key:0,"show-after":g(500)},{content:S(()=>[n(f(je.value),1)]),default:S(()=>[Be.value?(t(),x(g(se),{key:0,options:Z.value,disabled:Y.value,"data-test-id":`fixed-collection-add-header`,onSelect:Q,"onUpdate:open":s[0]||=e=>ce.value=e},{trigger:S(()=>[y(g(A),{icon:`plus`,label:X.value,disabled:Y.value},null,8,[`label`,`disabled`])]),_:1},8,[`options`,`disabled`])):(t(),x(g(A),{key:1,icon:`plus`,label:X.value,disabled:Y.value,"data-test-id":`fixed-collection-add-header-nested`,onClick:Qe},null,8,[`label`,`disabled`]))]),_:1},8,[`show-after`])):p(``,!0),e.canDelete&&!e.isReadOnly?(t(),x(g(A),{key:1,icon:`trash-2`,label:g(l).baseText(`fixedCollectionParameter.deleteItem`),danger:``,"data-test-id":`fixed-collection-delete-nested`,onClick:s[1]||=e=>D(`delete`)},null,8,[`label`])):p(``,!0)]),default:S(()=>[i(`div`,null,[H.value?(t(),a(_,{key:0},[(t(!0),a(_,null,b(U.value,n=>(t(),a(`div`,{key:n.name,class:v(o.$style.propertySection)},[k.value[n.name]?(t(),x(Ce,{key:0,property:n,values:k.value[n.name],"node-values":e.nodeValues,"get-property-path":R,"item-state":g(P),"is-read-only":!!e.isReadOnly,sortable:ve.value,"title-template":e.parameter.typeOptions?.fixedCollection?.itemTitle,"get-visible-property-values":q,"get-picker-property-values":Oe,"is-optional-value-added":De,"add-optional-field-button-text":Se.value,layout:ye.value,onValueChanged:$,onDelete:We,onDragChange:Ze,onToggleOptionalValue:s[2]||=(e,t,n)=>J(I(e),t,n)},null,8,[`property`,`values`,`node-values`,`item-state`,`is-read-only`,`sortable`,`title-template`,`add-optional-field-button-text`,`layout`])):p(``,!0)],2))),128)),Ie.value?(t(),a(`div`,{key:0,class:v(o.$style.controls)},[ze.value?(t(),x(g(j),{key:0,class:`n8n-button--highlightFill`,variant:`subtle`,icon:`plus`,size:`small`,"data-test-id":`fixed-collection-add-nested-button`,label:X.value,onClick:$e},null,8,[`label`])):Be.value?(t(),x(g(se),{key:1,options:Z.value,class:v(o.$style.dropdown),"data-test-id":`fixed-collection-add-nested-dropdown`,onSelect:Q},{trigger:S(()=>[y(g(j),{class:`n8n-button--highlightFill`,variant:`subtle`,icon:`plus`,size:`small`,label:X.value},null,8,[`label`])]),_:1},8,[`options`,`class`])):p(``,!0)],2)):p(``,!0)],64)):(t(!0),a(_,{key:1},b(U.value,n=>(t(),a(`div`,{key:n.name,class:v(o.$style.propertySection)},[y(L,{"hide-delete":``,parameters:q(n),"node-values":e.nodeValues,path:R(n.name),"is-read-only":!!e.isReadOnly,"is-nested":!0,"remove-first-parameter-margin":!0,"remove-last-parameter-margin":!0,"hidden-issues-inputs":e.hiddenIssuesInputs,onValueChanged:$},null,8,[`parameters`,`node-values`,`path`,`is-read-only`,`hidden-issues-inputs`])],2))),128))])]),_:1},8,[`modelValue`,`title`,`show-actions-on-hover`])):(t(!0),a(_,{key:2},b(U.value,n=>(t(),a(`div`,{key:n.name,class:v(o.$style.propertySection)},[H.value&&me(n.name)?(t(),x(Ce,{key:0,property:n,values:_e(n.name),"node-values":e.nodeValues,"get-property-path":R,"item-state":g(P),"is-read-only":!!e.isReadOnly,sortable:ve.value,"title-template":e.parameter.typeOptions?.fixedCollection?.itemTitle,"get-visible-property-values":q,"get-picker-property-values":Oe,"is-optional-value-added":De,"add-optional-field-button-text":Se.value,layout:ye.value,onValueChanged:$,onDelete:We,onDragChange:Ze,onToggleOptionalValue:ke},null,8,[`property`,`values`,`node-values`,`item-state`,`is-read-only`,`sortable`,`title-template`,`add-optional-field-button-text`,`layout`])):(t(),x(g(O),{key:1,"model-value":g(P).getExpandedState(n.name,0),title:n.displayName,"data-item-key":n.name,"onUpdate:modelValue":e=>g(P).setExpandedState(n.name,0,e)},u({default:S(()=>[y(L,{"hide-delete":``,parameters:q(n),"node-values":e.nodeValues,path:R(n.name),"is-read-only":!!e.isReadOnly,"is-nested":!1,"remove-first-parameter-margin":!0,"remove-last-parameter-margin":!0,"hidden-issues-inputs":e.hiddenIssuesInputs,onValueChanged:$},null,8,[`parameters`,`node-values`,`path`,`is-read-only`,`hidden-issues-inputs`])]),_:2},[e.isReadOnly?void 0:{name:`actions`,fn:S(()=>[y(g(A),{icon:`trash-2`,label:g(l).baseText(`fixedCollectionParameter.deleteItem`),danger:``,onClick:e=>We(n.name)},null,8,[`label`,`onClick`])]),key:`0`}]),1032,[`model-value`,`title`,`data-item-key`,`onUpdate:modelValue`]))],2))),128))],42,we))}}),[[`__cssModules`,{$style:{fixedCollectionParameter:`_fixedCollectionParameter_du7gp_125`,propertySection:`_propertySection_du7gp_129`,sectionHeader:`_sectionHeader_du7gp_140`,controls:`_controls_du7gp_144`,dropdown:`_dropdown_du7gp_148`}}]]),Te=l({__name:`FixedCollectionParameter`,props:{nodeValues:{},parameter:{},path:{},values:{default:void 0},isReadOnly:{type:Boolean},isNested:{type:Boolean},isNewlyAdded:{type:Boolean},canDelete:{type:Boolean},hiddenIssuesInputs:{default:()=>[]}},emits:[`valueChanged`,`delete`],setup(e,{emit:n}){let{isEnabled:r}=F(),i=n;return(e,n)=>g(r)?(t(),x(K,m({key:1},e.$props,{onValueChanged:n[1]||=e=>i(`valueChanged`,e),onDelete:n[2]||=e=>i(`delete`)}),null,16)):(t(),x(U,m({key:0},e.$props,{onValueChanged:n[0]||=e=>i(`valueChanged`,e)}),null,16))}});export{Te as default};
//# sourceMappingURL=FixedCollectionParameter-BTUx5G00.js.map