2 lines
7.3 KiB
Java
2 lines
7.3 KiB
Java
import{U as j}from"./NodeContainer-D9PNfjwh-CawrgSrv.js";import{C as _,T as M}from"./NodeStyle-Bo2gmgjj-CM4kHPNz.js";import{z as q}from"./useSettings-CFG4Ykt4-CKCQ4yAA.js";import D from"./VarPicker-9W32Uooa-DMh8f3Tk.js";import L from"./VarListPicker-Ti3Our0Z-DHskgdGU.js";import $ from"./VarListEditor-BoMa9D60-DGzXmc1T.js";import"./index-X7Y8jykP.js";import{s as z}from"./_plugin-vue_export-helper-CHgC5LLL-lGy7RumW.js";import{T as K}from"./index-J2mOtM3w.js";import{e as Q,h as N,C as x,z as O,Q as i,y as J,f as l,A as v,E as y,u as o,v as E,c as C}from"./vue-vendor-DNhG1Cve.js";import{E as X}from"./RadioButton-DRBix2Fq.js";import{e as Y}from"./Group-DBzJABA_.js";import Z from"./index-DklMb9Qc.js";import{b as ee}from"./index-CeNCCWzL.js";import te from"./index-saD4h7VJ.js";import"./runStore-Oe6fP2qb-CrdxkpS7.js";import"./index-C4wWpZeQ.js";import"./emoji-mart-vue-fast-R0uJEDq-.js";import"./NodeIcon-BiVm3xLp-DYMLCJV5.js";import"./index-Crt100Db-CDbHzweT.js";import"./index-CfNJyBRj.js";import"./dropdown-jkliuVyN.js";import"./_commonjsHelpers-B52_cu2H-BG14nIm9.js";import"./propStore-Cl0CojEU-BjnqDV4W.js";import"./throttle-De_jAmBh.js";import"./LoopBodyNode-wLHHxX8A-D3_JcFF8.js";import"./LoopIcon-BnGR9e2Y-QnRawAik.js";import"./NodeIcon-ClJ5GSWn-CY3EfdQ2.js";import"./useNode-DryF6TH6-6dWLb65C.js";import"./difference-CGvbIcA7.js";import"./fromPairs-Dx9PT-t0.js";import"./uniqBy--vsL0WVB.js";import"./UpOutlined-B1UMbtrP.js";import"./index-B9aO0c-2-CpOxyGeC.js";import"./index-BDvqZ5j4.js";import"./BasicModal-xH56XuRZ.js";import"./ModalHeader-Sr8KwhJJ.js";import"./useTimeout-D5AmIBZw.js";import"./index-BzChaRPg.js";import"./useWindowSizeFn-C-0M9_Ul.js";import"./index-ByCwbQDV.js";import"./index-Upeu4GGa.js";import"./index-M9QP6cvf.js";import"./Skeleton-CimgOdM7.js";import"./useScrollTo-0FPEw5-K.js";import"./useIntersectionObserver-BGOgyKyu.js";import"./useAppInject-DPZGPcR3.js";import"./index-CuWaQdlK.js";import"./index-DO7ZhK45.js";import"./BasicForm-ClUSoD_-.js";import"./helper-DcLcf4v6.js";import"./BasicForm.vue_vue_type_style_index_0_lang-B29PWQy0.js";import"./useBreakpoint-DXhPW7nV.js";import"./useEventListener-BRXjwk7A.js";import"./breakpointEnum-BhAg6bcX.js";import"./useForm-D61zovon.js";import"./useModal-DaJ3Bflg.js";import"./Checkbox-Dbxs4we4.js";var ae=(r=>(r.ID="ID",r.WHEN="WHEN",r.THEN="THEN",r.SWITCH="SWITCH",r.IF="IF",r.GROUP="GROUP",r.BREAK="BREAK",r.CONTINUE="CONTINUE",r.OR="OR",r.AND="AND",r.NOT="NOT",r))(ae||{}),P=(r=>(r.CATCH="CATCH",r.LOGIC="LOGIC",r.CONFIG="CONFIG",r.FOR="FOR",r.WHILE="WHILE",r.ITERATOR="ITERATOR",r))(P||{});const re={class:"loop-setting"},oe={class:"setting-item"},ie={key:0,class:"setting-item"},le={key:2,class:"setting-item"},se={class:"label flex-space-between"},pe={class:"setting-item"},ne={class:"label flex-space-between"},me={class:"loop-var-section"},de={class:"setting-item"},ue=1e3,ve=Q({__name:"LoopSetting",props:{type:{type:String,required:!0},node:{type:Object,required:!0},properties:{type:Object,required:!0},isSilentMode:{type:Boolean,required:!0},setProperties:{type:Function,required:!0}},setup(r){const b=r,V={};Object.values(_).forEach(a=>V[a.field]={});const{lfRef:w,outputParams:I,prevVariables:B,createOptionRef:g,isReadOnly:m}=q(b),n=g("type"),c=g("maxLoopTimes"),d=g("loopParams"),R=g("loopItemsParam"),U=C(()=>n.value==="array"?_:[_[0]]),W=C(()=>{const a=[];if(!w.value)return a;const e=w.value.graphModel,{node:t}=b,u=t.id+M,T=e.getNodeModelById(u);return T&&T.children.forEach(A=>{const p=e.getNodeModelById(A);if(p){const f=p.type;let s=p.properties.outputParams;if(f===j.START&&(s=p.properties.inputParams),!Array.isArray(s)||s.length===0)return;a.push(...s.map(h=>({nodeId:p.id,nodeName:p.properties.text,field:h.field,name:h.name,type:h.type})))}}),a}),F=C(()=>{const{node:a}=b,e=(Array.isArray(d.value)?d.value:[]).filter(t=>t==null?void 0:t.name).filter(t=>(t==null?void 0:t.nodeId)&&(t==null?void 0:t.field)||(t==null?void 0:t.customValue)||(t==null?void 0:t.customValue)==="").map(t=>{var u;return t.customValue||t.customValue===""?{nodeId:a.id,field:t.name,name:t.name,nodeName:"循环变量",type:t.type||"string"}:{nodeId:t.nodeId,field:t.field,name:t.name,nodeName:(u=t.nodeName)!=null?u:"未知"}});return e.push(...W.value),e.unshift({nodeId:a.id,nodeName:"循环变量",field:"currentLoopTimes",name:"已循环次数",type:"number"}),e});N(n,a=>{const e=a!=null?a:"counted";a||(n.value=e),b.setProperties({groupType:P.WHILE})},{immediate:!0}),N(c,a=>{(typeof a!="number"||!Number.isInteger(a)||a<=0)&&(c.value=1)},{immediate:!0}),S(d),N(I,()=>{},{deep:!0,immediate:!0});function S(a){return N(a,e=>{Array.isArray(e)||(a.value=[])},{immediate:!0})}const H=["string[]","number[]","object[]"],k=C(()=>R.value||{});function G(a){if(!m.value){if(a&&!H.includes(a.type)){R.value={};return}R.value=a||{}}}return(a,e)=>{const t=X,u=Y,T=Z,A=ee,p=K,f=te;return O(),x("div",re,[i("div",oe,[e[7]||(e[7]=i("div",{class:"label"},"循环类型",-1)),l(u,{value:o(n),"onUpdate:value":e[0]||(e[0]=s=>E(n)?n.value=s:null),"button-style":"solid",disabled:o(m)},{default:v(()=>[l(t,{value:"counted"},{default:v(()=>[...e[4]||(e[4]=[y("次数循环",-1)])]),_:1}),l(t,{value:"infinite"},{default:v(()=>[...e[5]||(e[5]=[y("无限循环",-1)])]),_:1}),l(t,{value:"array"},{default:v(()=>[...e[6]||(e[6]=[y("迭代循环",-1)])]),_:1})]),_:1},8,["value","disabled"])]),o(n)==="counted"?(O(),x("div",ie,[e[8]||(e[8]=i("div",{class:"label"},"循环次数",-1)),l(T,{value:o(c),"onUpdate:value":e[1]||(e[1]=s=>E(c)?c.value=s:null),min:1,max:ue,precision:0,style:{width:"100%"},disabled:o(m)},null,8,["value","disabled"]),e[9]||(e[9]=i("p",{class:"p-tip"},"按照设定次数执行循环,随后自动退出。",-1))])):o(n)==="infinite"?(O(),J(A,{key:1,class:"setting-alert",type:"warning","show-icon":"",message:"最大循环次数为1000"})):(O(),x("div",le,[i("div",se,[e[11]||(e[11]=i("span",null,"迭代数组",-1)),l(p,{color:"blue"},{default:v(()=>[...e[10]||(e[10]=[y("数组类型",-1)])]),_:1})]),l(o(D),{item:k.value,vars:o(B),allowedTypes:H,readonly:o(m),onChange:G},null,8,["item","vars","readonly"]),e[12]||(e[12]=i("p",{class:"p-tip"},"仅可选择数组类型的变量,执行时按元素顺序遍历,遵循最大循环次数上限。",-1))])),l(f,{style:{margin:"12px 0"}}),i("div",pe,[i("div",ne,[e[14]||(e[14]=i("span",null,"循环变量",-1)),l(p,{color:"blue"},{default:v(()=>[...e[13]||(e[13]=[y("循环内可见",-1)])]),_:1})]),e[15]||(e[15]=i("div",{class:"p-tip"},"可引用已有变量或自定义新的循环变量,循环外无法访问。",-1)),i("div",me,[l(o($),{vars:U.value,fixedVars:V,allowAdd:!1,readonly:o(m)},null,8,["vars","readonly"]),l(o(L),{vars:o(d),"onUpdate:vars":e[2]||(e[2]=s=>E(d)?d.value=s:null),node:r.node,prevVariables:o(B),allowEditValue:"",readonly:o(m)},null,8,["vars","node","prevVariables","readonly"])])]),l(f,{style:{margin:"12px 0"}}),i("div",de,[e[16]||(e[16]=i("div",{class:"label"},"输出变量",-1)),e[17]||(e[17]=i("p",{class:"p-tip"},"循环结束后输出的变量,仅支持引用循环体中节点的输出变量。",-1)),l(o(L),{vars:o(I),"onUpdate:vars":e[3]||(e[3]=s=>E(I)?I.value=s:null),readonly:o(m),prevVariables:F.value},null,8,["vars","readonly","prevVariables"])]),l(f,{style:{margin:"12px 0"}})])}}}),ce=z(ve,[["__scopeId","data-v-77dad9b2"]]),gt=Object.freeze(Object.defineProperty({__proto__:null,default:ce},Symbol.toStringTag,{value:"Module"}));export{ae as E,P as G,ce as L,gt as a};
|